我正在设计一个小语言的解析器 - 我的语法如下:
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规则并报告所有无关的感叹号?
由于