ANTLR中parsing器规则和词法分析器规则的实际区别?

我理解理论上把parsing器规则和词法分析规则分开的理论,但是ANTLR这两个陈述之间的实际区别是什么:

my_rule: ... ; MY_RULE: ... ; 

他们是否导致不同的AST树? 不同的performance? 潜在的歧义?

One Solution collect form web for “ANTLR中parsing器规则和词法分析器规则的实际区别?”

Jen写道

ANTLR中这两个陈述之间的实际区别是什么?

MY_RULE将用于标记input源。 它代表了你的语言的基本组成部分。

my_rule是从parsing器调用的,它由零个或多个其他parsing器规则或由词法分析器生成的标记组成。

这是不同的。

Jen写道

他们是否导致不同的AST树? 不同的performance? …

parsing器使用词法分析器生成的令牌来构buildAST,所以这些问题对我来说是没有意义的。 词法分析器只是将parsing器“喂”给一个1维的令牌stream。

  • Flex / Lex和Yacc / Bison有什么区别?
  • JavaScriptparsing器生成器
  • Java:从char中parsingint值
  • parsing命令行参数的最佳方法是什么?
  • java中的布尔expression式分析器
  • Python中的JavaScriptparsing器
  • 什么是上下文无关语法?
  • C ++名称parsing(和重载)规则列表
  • 我在哪里可以find一个CSV到Objective-C的NSArrayparsing器?
  • parsing一个算术expression式,并用Java构build一个树
  • 为什么C ++在声明一个variables时允许我们在括号中包含variables名?