問題タブ [earley-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
33 参照

grammar - Earley アルゴリズムが間違っている

文法を解析するためにEarleyのアルゴリズムを実装しようとしていますが、チャートの最初のエントリの後、残りの入力文字列を通過しないため、何か間違ったことをしたに違いありません.

私のテスト文法は次のとおりです
。bXaX
X -> aXbX | bXaX | イプシロン
S と X は非終端記号です。a と b は端子です。

文法で受け入れられるかどうかを確認したい文字列は「abba」です。

これが私のコードです:

そして、これは私が得た出力です(状態1から4の場合、5から9のエントリを取得する必要があります):
S0
S' --> .S, 0, -
S --> .aXbX, 0, PREDICTOR
S --> .bXaX , 0, 予測器

S1

S2

S3

S4