前言
AST
%
%%
其中的词法解析和遍历 AST 完全是重复工作,所以我们可否能够简化这两步呢?
Antlr
Antlr
GScript
Antlr tokentokentoken
要实现这些我们只需要编写词法、语法规则文件即可。
刚才的示例所对应的词法、语法规则如下:
运行:
AntlrASTAST
以这里的新增的取模运算为例:
AntlrVisitModExpr
statement
Antlr 还有其他各种优势,比如可以解决:
- 左递归。
- 二义性。
- 优先级。
等问题。
这里也推荐在 IDE 中安装 Antlr 的插件,这样就可以直观的查看 AST 语法树,可以帮我们更好的调试代码。
升级 xjson
GScriptstatementxjson
xjsonAntlrGScriptstatement
Antlr
总结
AntlrGScript
源码地址: