antlr4语法与否定选项

时间:2017-07-08 21:39:32

标签: antlr4

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

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

1 个答案:

答案 0 :(得分:0)

只要您不制作词法规则或隐式令牌,就像:

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

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

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