我正在研究一种允许将关键字作为标识符的语法,目前的建议似乎是做以下事情:
id : 'if'|'call'|'then'|ID;
我的语言有很多关键字,所以我一直在做:
id: ~(PLUS | MINUS);
基本上任何不是非关键字令牌的令牌。
有没有办法让我的所有关键字标记都附加一些字符串和通配符匹配? e.g。
K_PLUS: '+';
K_MINUS: '-';
ID: <everything else>;
id : ID | ~(K_*);
答案 0 :(得分:0)
不,不幸的是,这是不可能的。