" _lf _"的解释和" _lfno _" ANTLR4

时间:2016-10-26 17:33:38

标签: java parsing antlr grammar antlr4

我正在使用Java8.g8语法和ANTLR4构建的识别器。这个语法将一些规则拆分为具有_lf_和有时_lfno_连接后缀的子规则 - 这是一个更简单的例子:

fieldAccess
    :   primary '.' Identifier
    |   'super' '.' Identifier
    |   typeName '.' 'super' '.' Identifier
    ;

fieldAccess_lf_primary
    :   '.' Identifier
    ;

fieldAccess_lfno_primary
    :   'super' '.' Identifier
    |   typeName '.' 'super' '.' Identifier
    ;

......这条规则最可怕:primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary

为了处理java文件,我在与规则匹配的侦听器函数中进行转换,并且做正确的事情,我需要理解规则,这也意味着能够发声。

  1. 有谁知道这些_lf__lfno_段代表什么,或者它们是什么的缩写以及我如何能够大声朗读它们?

  2. 任何人都可以了解他们想要做什么,以及为什么有必要这样做?

  3. (我最好的猜测是他们在形成解析树的方式上强制转换 - fieldAccess示例的两种方式,primary...规则的八种方式 - 但除此之外,我很神秘。对ANTLR4参考的扫描并没有立即提出任何答案,而grep只能在Java8.g8找到这种模式而不是任何其他{{3} }}。)

    非常感谢任何帮助。欢呼声。

0 个答案:

没有答案