SeaFox根据ESTree AST格式生成AST,可用于JavaScript程序的语法分析(解析)或词法分析(标记化),在ES2015及更高版本中,JavaScript程序可以是脚本也可以是模块。
Seafox公开的解析方法接受一个可选的Options对象,该对象允许您指定是以脚本模式(默认)还是以模块模式进行解析。
{//允许使用Module作为目标符号模块进行分析?:boolean;//启用每个节点的开始和结束偏移以及行/列位置信息的标志loc:false;//禁用web兼容性disableWebCompat:false;//将原始属性附加到每个文字和标识符节点raw的标志:false;//Enabled指令指令:false;//允许在全局作用域globalReturn:false中返回的标志;//启用隐含的严格模式ImpliedStrict的标志。
从';导入{parseScript,parseModule,parse}。/SeaFox';;parseScript(';({x:[y]=0}=1)';);parseModule(';({x:[y]=0}=1)';,{指令:true,raw:true});parse(';({x:[y]=0}=1)';,{。parse(';({x:[y]=0}=1)';);
词法分析只能在解析期间完成,并且只接受函数类型作为选项。
需要为开始和结束启用loc选项。否则,此值将设置为未定义。
SeaFox是为提高性能和降低内存使用量而开发的,该解析器比所有其他javascript解析器快2倍到4倍。