我使用this tool为这个LL(1)/ LR(1)语法(生成一小部分XML)生成SLR(1)解析表:
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)语法有什么关系。
答案 0 :(得分:1)
LL(1)和SLR(1)都是LR(1)的子集。他们彼此没有简单的关系。