【文件属性】:
文件名称:Caribay:基于LPeg(Label)的具有半自动错误恢复功能的PEG解析器生成器
文件大小:98KB
文件格式:ZIP
更新时间:2021-02-10 17:55:23
parser-generator gsoc-2020 Lua
卡里贝
使用LPeg(Label)构建的PEG(解析表达式语法)解析器生成器。 生成的解析器捕获通用的AST(抽象语法树)。
Caribay使解析语法符号,注释,标识符和关键字更加容易。
目录
安装
您可以使用安装 :
luarocks install caribay
用法
您需要导入该模块src.generator:
local generator = require " caribay.generator "
然后调用gen函数,将PEG作为参数传递以生成LPegLabel解析器:
local src = [[
assign <- ID '=' number
fragment number <- FLOAT / INT
INT <- %d+
FLOAT <- %d+ '.' %d+
]]
local match = generator. gen
【文件预览】:
Caribay-master
----src()
--------generator.lua(22KB)
--------Set.lua(1KB)
--------parser.lua(6KB)
--------annotator.lua(18KB)
--------Symbol.lua(621B)
----LICENSE(1KB)
----test()
--------annotator.test.lua(42KB)
--------run.sh(134B)
--------expected()
--------lua5.1-tests()
--------generator.test.lua(51KB)
--------parser.test.lua(43KB)
--------assertions.lua(2KB)
----rockspecs()
--------caribay-3.2-1.rockspec(903B)
--------caribay-2.2-1.rockspec(887B)
--------caribay-2.0.1-1.rockspec(889B)
--------caribay-3.2.2-1.rockspec(907B)
--------caribay-1.0.0-1.rockspec(769B)
--------caribay-3.0-1.rockspec(887B)
--------caribay-2.0-1.rockspec(817B)
--------caribay-2.1-1.rockspec(887B)
--------caribay-3.2.1-1.rockspec(907B)
--------caribay-1.1-1.rockspec(765B)
--------caribay-3.1-1.rockspec(887B)
----README.md(17KB)
----.gitignore(324B)