我收到以下错误:
Warning : *** Shift/Reduce conflict found in state #2
between ExitLoopStatement ::= EXITLOOP (*)
and VarAccess ::= (*) DOLLAR IDENTIFIER
under symbol DOLLAR
这是我使用的语法。目前我有分配和中断(每个中断语句都可以指定要退出的循环级别数)。
start with StatementList;
StatementList
::= Statement
|
StatementList Statement
;
Statement
::= AssignmentStatement
|
ExitLoopStatement
;
AssignmentStatement
::= VarAccess EQ_OP VarAccess
;
VarAccess
::= DOLLAR IDENTIFIER
;
ExitLoopStatement
::= EXITLOOP
|
EXITLOOP VarAccess
;
据我了解,问题是在我遇到 EXITLOOP 之后,下一个标记可能是分配的开始或要退出的级别数。
有没有办法解决这个问题?
谢谢!