【问题标题】:Javascript lexer / tokenizer (in Python?)Javascript 词法分析器/标记器(在 Python 中?)
【发布时间】:2010-01-04 19:57:30
【问题描述】:

有人知道 Javascript 词法分析器或分词器(最好是 Python 吗?)

基本上,给定一个任意 Javascript 文件,我想获取令牌。

例如

foo = 1

变成这样:

  1. 变量名:“foo”
  2. 空格
  3. 运算符:等于
  4. 空格
  5. 整数:1

【问题讨论】:

标签: javascript python yacc lex tokenize


【解决方案1】:

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

我也做了一个,但它不支持自动分号插入,所以它对于你无法控制的 javascript 来说毫无用处(因为几乎所有现实生活中的 javascript 程序都至少缺少一个分号):) 这是我的:

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

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多