在antlr4中我想定义一个字符串,但要从中排除组合:=允许相应的单个字符。什么是定义语法的语法
EQUAL : '=';
NUMBER: DIGIT+;
DIGIT : ('0'..'9');
LITERALEQUAL: ((CHAR | NUMBER | EQUAL | OTHERS) ' '?)+;
fragment CHAR :[a-z]| [A-Z];
fragment OTHERS: '.' | '/' | ':' | '-' | '#' | '?' | '&' | '_' | '[' | ']' | '^' | ';' | '"' | '=';
答案 0 :(得分:0)
只要您不制作词法规则或隐式令牌,就像:
stmt : value ':=' something ; <-- implicit token
或
BADEquals : ':=' ; <-- explicit lexer definition
如果您的目标是允许:
和=
,则您的最终语法将不允许,但排除组合:=
。