为什么我的小语法中有3个解析冲突?
//complete
start ::= template.
//template
template ::= template_elements.
template ::= template template_elements.
template ::= .
//template elements
template_elements(res) ::= COMMENT.
template_elements(res) ::= tag(t).
//tag
tag(res) ::= LDEL exp(e) RDEL.
//exp
exp(res) ::= value(v).
exp(res) ::= exp(e1) OP(o) exp(e2).
//value
value(res) ::= variable(v).
//variable
variable(res) ::= DOLLAR ID(i).
谁知道冲突的位置?
UPDATE
如果我删除exp(res) ::= exp(e1) OP(o) exp(e2).
,那将只有两个冲突,但我不知道为什么这会导致冲突......
UPDATE2
为什么这里没问题:
template ::= template_elements.
template ::= template template_elements.
template ::= .
没有找到相关结果
已邀请:
1 个回复
念炯
规则应该是
因为
可以为空,所以你不需要
的情况。 进行这些更改后,您会得到什么错误?