我所理解的是,“在计算机技术中,解析器是一个程序,通常是编译器的一部分,它以顺序源程序指令、交互式在线命令、标记标记或其他定义的接口的形式接收输入,并将它们分解为各个部分(例如,名词(对象)、动词(方法)及其属性或选项),然后由其他编程(例如编译器中的其他组件)来管理。解析器还可能检查是否提供了所有必需的输入。”这意味着解析器会分解javascript并形成一棵树,并将其解析为机器代码来运行,但是在esprima情况下是如何发生的呢?
发布于 2016-05-06 18:39:14
Esprima只是一个解析器,它将语言语法分解为抽象语法树(AST)。它与使用AST并执行它的运行时完全不同。
使用Esprima的场景是代码质量检查。在JS上运行的语法检查工具使用像Esprima这样的库来解析JS代码,然后将它交给分析它生成的AST的库。
https://stackoverflow.com/questions/37079196
复制相似问题