gpt4 book ai didi

antlr - Antlr3 中的所有语法选项在哪里?

转载 作者:行者123 更新时间:2023-12-01 07:35:04 26 4
gpt4 key购买 nike

在 Antlr2 中有许多可以设置的语法选项 ( reference )。现在在 Antlr3 中,我们有大约 1/3 的选项数量 (reference)。

所以我有两个问题:

  1. 有谁知道为什么删除了这么多选项,并且其中有任何选项会返回吗?
  2. 即使没有所有这些选项,Antlr3 是否有能力完成 Antlr2 可以做的事情?

关于我的第二个问题,更具体地说,我希望能够做一些事情。首先,我想更改生成的词法分析器和解析器类的可见性(即 Antlr2 选项“classHeaderPrefix”)。

其次,我希望能够忽略在某些关键字中找到的任何空白标记,例如“&keyword&”和“& k ey w o rd &”都匹配(我认为是 Antlr2 选项“ignore”?)。

最后,我想让某些关键字不区分大小写(即 Antlr2 选项“caseSensitive”)。

最佳答案

BluePlateSpecial wrote:

To be more specific on my second question, I want to be able to do a few things. First, I want to change the visibility of the generated lexer and parser classes (i.e. Antlr2 option "classHeaderPrefix").

在 v3 中没有办法做到这一点。

BluePlateSpecial wrote:

Secondly, I want to be able to ignore any whitespace tokens found within certain keywords, like having "&keyword&" and "& k ey w o rd &" both match (i.e. Antlr2 option "ignore", I think?).

该选项可能已被删除,因为词法分析器中的 LL(*) 算法比 v2 中使用的算法强大得多。现在,不需要这样的选项,因为这样就可以了:

FOO
: '&' (' ' | 'a'..'z')+ '&'
;

BluePlateSpecial wrote:

Finally, I want to make certain keywords case insensitive (i.e. Antlr2 option "caseSensitive").

这在 v3 中也是不可能的,除非以“硬”方式进行:

BAR
: ('b' | 'B') ('a' | 'A') ('r' | 'R')
;

关于antlr - Antlr3 中的所有语法选项在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com