2010-01-04 83 views
1

没有人知道一个Javascript词法分析器或标记生成器(优选在Python?)的Javascript词法分析器/标记生成器(在Python?)

基本上,给定任意的Javascript文件,我想要抓住该令牌。

例如

富= 1

变得类似:

  1. 变量名: “foo” 的
  2. 空白
  3. 操作者:等于
  4. 空白
  5. 整数:1
+0

喜欢这个? http://www.mozilla.org/js/language/js20-2002-04/core/lexer.html还是有些不同? – 2010-01-04 20:30:40

+0

这看起来只是描述了语言的规则,我正在寻找一个可以提供任意代码的应用程序,并且它会像上面那样标记它们 – Jay 2010-01-04 23:01:13

回答

2

http://code.google.com/p/pynarcissus/有一个。

此外,我做了一个,但它不支持自动分号插入,所以它是非常无用的JavaScript,你无法控制(因为几乎所有的真实生活JavaScript程序缺少至少一个分号):)这是我的:

http://bitbucket.org/santagada/jaspyon/src/tip/jaspyon/

语法在jsgrammar.txt,它是由PyPy解析LIB(你必须下载并从pypy源中提取),并建立一个解析树,我走在astbuilder解析.py

但是,如果您没有授权问题,我会使用pynarcis SUS。继承人直接链接到看(从水仙移植)的代码:

http://code.google.com/p/pynarcissus/source/browse/trunk/jsparser.py

相关问题