4

GLR パーサーがいくつかのテキストを 2 つ以上の方法で同じ非終端記号に縮小すると、解析サブツリーがマージされます。Rekers はこれに「シンボル ノード」を使用します。

これは、各非端末がマージを引き起こす可能性があるわけではありません。どの非終端記号がマージされないかを事前に知っておくと、解析ツリーの構築が大幅に簡素化されます。

たとえば、Elkhound Technical Report では、著者は GLR パーサー用に C++ 文法を実装しました。彼はそれを次のように説明しています。

現在、文法には 37 の shift/reduce 競合、47 の reduce/reduce 競合、および8 つのあいまいな非終端があります。

特定の CFG のあいまいな非ターミナルと明確な非ターミナルを分離するにはどうすればよいですか? これについてどこで読むことができますか?

4

1 に答える 1