Javascript字句解析器またはトークナイザーを知っている人はいますか(できればPythonで?)
基本的に、任意の Javascript ファイルを指定して、トークンを取得したいと考えています。
例えば
フー=1
次のようになります。
- 変数名:「foo」
- 空白
- 演算子 : 等しい
- 空白
- 整数: 1
Javascript字句解析器またはトークナイザーを知っている人はいますか(できればPythonで?)
基本的に、任意の Javascript ファイルを指定して、トークンを取得したいと考えています。
例えば
フー=1
次のようになります。
http://code.google.com/p/pynarcissus/には 1 つがあります。
また、私は1つを作成しましたが、自動セミコロン挿入をサポートしていないため、制御できないjavascriptにはほとんど役に立ちません(ほとんどすべての実際のjavascriptプログラムには少なくとも1つのセミコロンがないため):)これが私のものです:
http://bitbucket.org/santagada/jaspyon/src/tip/jaspyon/
文法は jsgrammar.txt にあり、PyPy 解析ライブラリ (pypy ソースからダウンロードして抽出する必要があります) によって解析され、astbuilder.py 上を歩く解析ツリーを構築します。
しかし、ライセンスの問題がなければ、pynarcissus を使用します。コードを見るための直接リンクを次に示します (narcissus から移植):
http://code.google.com/p/pynarcissus/source/browse/trunk/jsparser.py