1

我的理解是“在计算机技术中,解析器是一个程序,通常是编译器的一部分,它以顺序源程序指令、交互式在线命令、标记标签或其他一些定义的接口的形式接收输入并将它们分解分成几个部分(例如,名词(对象)、动词(方法)以及它们的属性或选项),然后可以由其他编程(例如,编译器中的其他组件)管理。解析器也可以检查以查看已提供所有必要的输入。” 这意味着解析器会分解 javascript 并形成一些树并将其解析为机器代码以运行,但是在 esprima 的情况下它是如何发生的。

4

1 回答 1

2

Esprima 只是一个解析器,一种将语言语法分解为抽象语法树 (AST) 的工具。它与使用 AST 并执行它的运行时完全不同。

使用 Esprima 的一个场景是代码质量检查。在 JS 上运行的语法检查工具使用像 Esprima 这样的库来解析 JS 代码,然后再将其交给一个库来分析它产生的 AST。

于 2016-05-06T18:39:14.547 回答