高贵向日葵

文章
2
资源
0
加入时间
3年0月9天

【ANTLR学习笔记】4:语法导入和访问者(Visitor)模式

这节以四则运算语句的解析为例学习语法导入和Visitor模式。相比笔记1,这里的语法更通用,允许加减乘除、圆括号、整数出现,并且允许赋值表达式。1 四则运算解析1.1 语法规则文件从下面的文件中可以看到,整体是要匹配若干条语句,每条语句都是以NEWLINE换行符结束的。然后语句可以是表达式语句、赋值语句、空语句。表达式的语法规则定义比较自然,因为这里没有手动消除左递归,ANTLR4可以自己消除直接左递归(文件中13/14行分支expr左侧直接调用自身),这是相比其它工具的一大优势,让语法编写更简