ANTLR中parsing器规则和词法分析器规则的实际区别?
我理解理论上把parsing器规则和词法分析规则分开的理论,但是ANTLR这两个陈述之间的实际区别是什么:
my_rule: ... ; MY_RULE: ... ;
他们是否导致不同的AST树? 不同的performance? 潜在的歧义?
Jen写道 :
ANTLR中这两个陈述之间的实际区别是什么?
MY_RULE
将用于标记input源。 它代表了你的语言的基本组成部分。
my_rule
是从parsing器调用的,它由零个或多个其他parsing器规则或由词法分析器生成的标记组成。
这是不同的。
Jen写道 :
他们是否导致不同的AST树? 不同的performance? …
parsing器使用词法分析器生成的令牌来构buildAST,所以这些问题对我来说是没有意义的。 词法分析器只是将parsing器“喂”给一个1维的令牌stream。