我正在使用CUP创建一个我论文所需的解析器。我的语法中存在移进/规约冲突。我有这个产生式规则:
command ::= IDENTIFIER | IDENTIFIER LPAREN parlist RPAREN;
我有这个警告:
Warning : *** Shift/Reduce conflict found in state #3
between command ::= IDENTIFIER (*)
and command ::= IDENTIFIER (*) LPAREN parlist RPAREN
under symbol LPAREN
现在,我实际上想让它移位,所以我对此很满意,但我的教授告诉我要找到解决冲突的方法。我是盲人。我一直听说过if/else冲突,但对我来说似乎不是这种情况。你能帮帮我吗?
P.S .:IDENTIFIER,LPAREN“(”和RPAREN“)”是终端,parlist和command不是。