javascript解析器esprima的python端口。
pyesprima的Python项目详细描述
javascript解析器[esprima][1]的python端口。
为什么我不能用它?
它相当慢-解析116kjs要慢两个数量级 文件。代码是从javascript半自动翻译的,它执行 很多字符串追加,这在js中很快,但在python中很慢。
我为什么要用它?
对nodejs进程进行扩展可能是使用esprima的更好方法 来自python。但是,编写进程间数据封送处理代码有一点 烦人,所以如果你想快速破解少量数据,pyesprima 是一个很好的开始工作的方法。api完全相同,所以您可以 稍后可以轻松地交换到外部节点进程的接口。
另外,由于代码是使用[js2py][2]半自动翻译的,所以 很容易跟上时代。你甚至可以自己做。别害怕 有点烂!
API
与esprima/spidermonkey的api几乎相同:
>>> import pyesprima >>> print pyesprima.tokenize("1 + 1") [{'type': 'Numeric', 'value': '1'}, {'type': 'Punctuator', 'value': '+'}, {'type': 'Numeric', 'value': '1'}] >>> pyesprima.parse("1 + 1", loc=True) {'body': [{'type': 'ExpressionStatement', 'expression': {'operator': '+', 'loc': {'start': {'column': 0, 'line': 1}, 'end': ...