1

Javascript字句解析器またはトークナイザーを知っている人はいますか(できればPythonで?)

基本的に、任意の Javascript ファイルを指定して、トークンを取得したいと考えています。

例えば

フー=1

次のようになります。

  1. 変数名:「foo」
  2. 空白
  3. 演算子 : 等しい
  4. 空白
  5. 整数: 1
4

1 に答える 1

2

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

于 2010-01-05T00:45:18.293 に答える