3

文脈自由文法で左再帰を削除することを理解しようとしています。私は特定のフォームに慣れていますが、これには少し戸惑います.

S --> S {S} S | (A) | a
A --> {S} A | epsilon

また、適切なパーサーを設計する必要がありますが、それは可能です。ただし、この左再帰 (特に最初の再帰) を理解すると、混乱します。

4

2 に答える 2

0

これを試して:

S --> a [ { S } S ]
    | ( [ A ] ) [ {S} S ]


A --> { S } [ A ]
于 2010-09-30T00:42:37.863 に答える
0

左再帰に関するウィキペディアの興味深い記事があります。また、非文脈文法の左再帰の削除に関するセクションもあります。

http://en.wikipedia.org/wiki/Left_recursion

于 2010-09-30T00:28:50.760 に答える