ANTLR在输入查询中没有可行的替代方案

时间:2017-03-20 15:06:27

标签: antlr

我正在设计一个小语言的解析器 - 我的语法如下:

module T = class end

正确代码的一个例子是:

module ! T ! = !
    class !    
    end !

当我在以下代码上运行它时:

line 1:7 extraneous input '!' expecting ID

line 1:11 extraneous input '!' expecting '='

line 1:15 no viable alternative at input '!'

我希望它能报告感叹号所在的错误。相反,我得到:

line 1:7 extraneous input '!' expecting ID

line 1:11 extraneous input '!' expecting '='

line 1:15 extraneous input '!' expecting 'class'

line 2:10 extraneous input '!' expecting {'classCode', 'end'}

line 3:6 extraneous input '!' expecting <EOF>

当我删除altClassExp规则替代时,它会报告所有错误,即

$oDatetime1  = clone($agreement->getEndDate());
$oDatetime2  = clone($agreement->getEndDate());

$entity->setStartDate($oDatetime1->modify('+1 day'));
$entity->setEndDate($oDatetime2->modify("+1 day +{$year} year"));

我需要更改哪些内容,以便保留altClassExp规则并报告所有无关的感叹号?

由于

0 个答案:

没有答案
相关问题