問題タブ [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.
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