ANTLR4如何使否定词连词

  • 本文关键字:何使否 ANTLR4 java antlr4
  • 更新时间 :
  • 英文 :


首先,我对antlr4、DSL&EBNF,所以可能是这样的情况,我没有以正确的方式使用antlr4,但现在我还不知道我要做什么的替代方法

我想要一个规则,它应该由三个upperCases组成,但不应该允许有一个保留的String作为Result。

示例:

解析:threeUpperCase;

three UpperCase:上部-上部-上部;

鞋面:[A-Z]

我想避免三个UpperCase匹配"ABC"one_answers"DEF(允许BCA、CAB、BAC、FED、EDF等)。有办法做到这一点吗?

您不应该在解析器规则中匹配这些标记。将其作为lexer规则,并将其放在与关键字匹配的规则之后,应该会产生正确的令牌:

KEYWORD          : 'ABC' | 'DEF';
THREE_UPPER_CASE : [A-Z] [A-Z] [A-Z];

或:

K_ABC            : 'ABC';
K_DEF            : 'DEF';
THREE_UPPER_CASE : [A-Z] [A-Z] [A-Z];

相关内容

  • 没有找到相关文章

最新更新