用于python中多用途分析的ecmascript解析基础结构
esprima的Python项目详细描述
esprima(esprima.org,bsd许可证)是 高性能,符合标准 ECMAScript 用ECMAScript(也称为 JavaScript)并移植到 Python。esprima由Ariya Hidayat在many contributors的帮助下创建和维护。
python端口是一个逐行手动翻译,它是创建的 由German Mendez Bravo (Kronuz)维护。
功能
- 完全支持ECMAScript 2017(ECMA-262 8th Edition)
- 合理的 由ESTree project 标准化
- 对JSX,a的实验支持 React 的语法扩展
- 语法节点位置的可选跟踪(基于索引和 行列)
- Heavily tested(~1500unit tests) 带full code coverage)
安装
pip install esprima
API
esprima可用于执行lexical analysis (标记化)或syntactic analysis(解析)的 javascript程序。
一个简单的例子:
>>>importesprima>>>program='const answer = 42'>>>esprima.tokenize(program)[{type:"Keyword",value:"const"},{type:"Identifier",value:"answer"},{type:"Punctuator",value:"="},{type:"Numeric",value:"42"}]>>>esprima.parseScript(program){body:[{kind:"const",declarations:[{init:{raw:"42",type:"Literal",value:42},type:"VariableDeclarator",id:{type:"Identifier",name:"answer"}}],type:"VariableDeclaration"}],type:"Program",sourceType:"script"}
有关详细信息,请阅读complete documentation。