我有一个有趣的间接递归问题,我认为我已经解决了,但我不确定它是否正确。
开始语法:
A-> Bxy | x
B-> CD
C-> A | c
D-> d
我的解决方案是首先进行A获取:
A -> ADxy | cDxy | x
现在,有了这个,我看到我有递归的地方,我将其删除,得到:
A-> cDxyA' | xA'
A'-> DxyA' | empty
完整解决方案将是
A-> cDxyA' | xA'
A'-> DxyA' | empty
B-> CD
C-> A | c
D-> d
这个语法是否正确?