文件名称:DSL:Lua 的领域特定语言生成器
文件大小:29KB
文件格式:ZIP
更新时间:2024-06-19 03:38:07
Lua
数字用户线 Lua 的领域特定语言生成器 概述 DSL 是一种语言生成器。 给定一组描述语言的标记模式和语法规则,DSL 将生成一个解析器。 DSL 基于 LPEG(Lua Parsing Expression Grammars),因此标记和规则以 LPEG 语法进行描述。 DSL 通过添加对编写自定义语言有用的功能来扩展 LPEG,例如诊断工具、错误处理和一些可用于编写模式的新原语。 DSL特性 解析事件回调(令牌尝试、令牌匹配、规则尝试、规则匹配、规则结束、评论尝试、评论匹配) 用于抛出语法错误的语法规则模式上的错误注释 自动生成表达式运算符,例如 *、/、+ 等。 自动空白处理 代码 -> AST -> 带有漂亮打印往返的代码 输入字符串的一次性解析 新的令牌原语 'T' 作为 LPEG 'P' 模式的扩展,用于编写语法规则 编写 DSL DSL 对象用于指定 DSL 中的语言
【文件预览】:
DSL-master
----test()
--------test.json.lua(3KB)
--------test.expr.lua(5KB)
--------test.lust.json.lua(2KB)
----LICENSE(1KB)
----DSL()
--------Parser.lua(10KB)
--------template.lua(1KB)
--------walker()
--------patterns.lua(2KB)
--------datastructures.lua(1KB)
--------utilities.lua(7KB)
--------proxies.lua(3KB)
--------init.lua(3KB)
--------Nodes.lua(1KB)
----TODO.txt(34B)
----README.md(18KB)