プログラミング言語の構文解析にCKYチャート解析アルゴリズムを使用することをお勧めします(自然言語の構文解析に主に使用されていることがわかっています)。プログラミング言語の構文解析用のCKY
1
A
答えて
3
CKYは任意のコンテキストフリー言語を解析できますが、時間の複雑さは代替案に比べてあまり大きくありません。 CKYでは、文法のサイズを爆破させてランニングタイムを傷つける可能性があるChomsky Normal Formに文法が必要です。素早く汚れたパーサーにとっては大丈夫ですが、大きな入力や複雑な文法にスケールアップしようとすると問題に遭遇します。
比較的簡単に実装できる理解可能な構文解析アルゴリズムを探している場合は、構文解析文法(PEG)をご覧ください。彼らは、文脈自由言語の大きなサブセットと、限られた文脈感度を有するいくつかの言語を認識することができる。動作しているPEGパーサーがあれば、memoizationを追加するのは簡単です。これは、線形時間で実行されるPackrat Parserを提供します。左回帰文法を可能にするためのPEGs、Packrat、およびthis extensionの学術論文はすべて理解可能です。
関連する問題
- 1. 方言と構文解析のベストイントロ?
- 2. プログラミング言語の文法
- 3. ログ解析用のLinux言語/ツール
- 4. 自然言語処理/テキスト構造解析の開始点
- 5. 空の文字列D言語でプログラミング
- 6. プログラミング言語の文化的問題
- 7. Java言語の構文
- 8. Go言語の構文Confusion
- 9. スキームのプログラミング言語
- 10. Jプログラミング言語での配列言語
- 11. Goプログラミング言語用PostgreSQLドライバ
- 12. 自動車用プログラミング言語
- 13. Valaは、C++に比べて構文解析に賢明な言語ですか?
- 14. C言語の意味解析
- 15. プログラミング言語
- 16. NesCプログラミング言語
- 17. Vala - 構文解析
- 18. JSsonの構文解析エラー
- 19. TLSハンドシェイクメッセージの構文解析
- 20. 構文解析の引数
- 21. javaバイナリメッセージの構文解析
- 22. Pythonの構文解析
- 23. MS Roslynの構文解析
- 24. テキストファイルの構文解析
- 25. JSONの構文解析
- 26. XMLの構文解析、ios5
- 27. matchesKeyInQueryの構文解析バグ
- 28. Cの構文解析エラー
- 29. RSSフィードの構文解析
- 30. 構文解析のヒント