区分乘法和注释

时间:2018-12-17 22:06:02

标签: parsing sas antlr antlr4

我正在为SAS编写ANTLR语法,遇到一个问题,即词法分析器无法区分单行注释和乘法运算。

遗憾的是,SAS的注释语法为:

*message;
or
/*message*/

我写了一个简单的测试语法来说明问题:

grammar TEST;

prog: expr* EOF;

expr
: VAR           #base
| expr '*' expr #mult
; 

VAR: ALPHA+;

fragment ALPHA : [a-zA-Z]+ ;

COMMENT: '*' ~[\r\n];

WS: [ \t\r\n] -> skip;

我不确定如何才能使词法分析器有资格区分这两种情况。我是ANTLR初学者,所以我可能想念一些明显的东西。

0 个答案:

没有答案