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