2
私はEBNFに次の文法を変換する必要があります。BNFからEBNFへの変換 - 再帰を伴わないかっこ?
<assign> -> <id> = <expr>
<id> -> A|B|C
<expr> -> <expr> + <expr>
|<expr> * <expr>
|<expr> * <expr>
|(<expr>)
|<id>
私は現在行われてきた進歩は以下の通りです:
<assign> -> <id> = <expr>
<id> = (A | B | C)
<expr> -> <id> {(+ | *) <expr>} | ‘(‘ <expr> ‘)’
はそれがEBNFを使用している場合、すべての再帰を排除するのが最善ですか? <expr>
に<id>
だけを使用してそれを達成する方法さえありますか?
ああ、他の非端末を追加するとは思わなかった。ありがとう! – zarose
@zarose、よろしくお願いします。 –