- 締切済み
Pythonで構文解析する高速なライブラリを探しています
Pythonで、数式(Pythonの式ではない。二項演算・関数呼び出し・タプルなどがある)を解析し、構文木を作ろうとしています。 いままでSimpleParse・PLYを試しましたが処理が遅く、もっと速い方法を探しています。 SimpleParse・PLY・spark以外の構文解析ライブラリをご存知のかたは教えてください。 また、SimpleParseやPLYで高速に解析する方法があれば教えてください。 なお、yaccを使ってCで実装するのは最後の手段と言うことで
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hqvw45y3165qb
- ベストアンサー率0% (0/0)
たしかにPLY遅いですね。 なので、わたしもPythonパーサの比較記事を探したことがあります。(PLYは載ってませんが、、、) http://www.python.org/community/sigs/retired/parser-sig/towards-standard/ YAPPSというのは、Sparkの10倍くらい速いみたいです。 BisonGenというのは、さらにその5倍くらい速いみたいです。が、これはCでPython Extensionを作るツールみたいです。(最後の手段ですね) ちなみに、PLYで100Mbyteのファイルをスキャンすると5分以上かかります。 同等の処理をflex+bison+Cで行うと10秒以内でした。 PLYのレクサー部分が遅いみたいです。 スクリプト言語で1文字ループして、それを遅い正規表現エンジンに喰わせて、、、なのでしかたないですね。
- sakusaker7
- ベストアンサー率62% (800/1280)
>数式(Pythonの式ではない。二項演算・関数呼び出し・タプルなどがある)を解析し、構文木を作ろうとしています。 この程度なら手書きで書き起こすのも難しくはないと思いますが。 高速高速っていろんな質問ででますけど、具体的にどのくらい 高速化しなければならないのか書かれてないものばかりですよね。