我使用this tool为这个LL(1)/LR(1)文法生成SLR(1)解析表(它生成一个小的XML子集):
document ::= element EOF
element ::= < elementPrefix
elementPrefix ::= NAME attribute elementSuffix
attribute ::= NAME = STRING attribute
attribute ::= EPSILON
elementSuffix ::= > elementOrData endTag
elementSuffix ::= />
elementOrData ::= < elementPrefix elementOrData
elementOrData ::= DATA elementOrData
elementOrData ::= EPSILON
endTag ::= </ NAME >该工具正确地生成表和相关的自动机,这表明语法是SLR(1)。真的是这样吗?我知道每个LR(0)文法也是SLR(1),但我不确定这与LL(1)/LR(1)文法有什么关系。
发布于 2016-10-30 08:11:26
LL(1)和SLR(1)都是LR(1)的子集。他们彼此之间并不是简单的关系。
https://stackoverflow.com/questions/40324828
复制相似问题