带有否定选项的 ANTLR4 语法



在antlr4中,我想定义一个字符串,但从中排除允许各自单个字符的组合:=。什么是定义语法的语法

EQUAL : '=';
NUMBER: DIGIT+;
DIGIT   :   ('0'..'9');
LITERALEQUAL: ((CHAR | NUMBER | EQUAL | OTHERS) ' '?)+;
fragment CHAR   :[a-z]| [A-Z];
fragment OTHERS:  '.' | '/' | ':' | '-' | '#' | '?' | '&' | '_' | '[' | ']' | '^' | ';' | '"' | '=';

只要你不制定词法分析器规则或隐式标记,例如:

stmt : value ':=' something ;  <-- implicit token

BADEquals : ':=' ; <-- explicit lexer definition

如果您的目标是允许:=但排除组合:=,则您的最终语法将不允许它。

相关内容

  • 没有找到相关文章

最新更新