javascript代码分析、抽象语法树和;东西

javascript代码分析、抽象语法树和;东西,javascript,static-analysis,abstract-syntax-tree,Javascript,Static Analysis,Abstract Syntax Tree,我需要制作一个脚本来分析javascript文件中的特定错误 最早设想的方法之一是构建文件的抽象语法树。这在nodejs或任何其他工具上都可行吗?(最好是脚本语言,或者更好的是javascript本身,或者python) 或者有没有更好的方法可以用来分析javascript代码 编辑:正如在一些回答中指出的,JSLint和JSHint不是我正在寻找的工具。当然,我也会使用它们,但它们对于我的要求不够具体。一个更好的方法是使用一些预先编写的工具,而不是试图重新发明轮子。有人已经在另一个stacko

我需要制作一个脚本来分析javascript文件中的特定错误

最早设想的方法之一是构建文件的抽象语法树。这在nodejs或任何其他工具上都可行吗?(最好是脚本语言,或者更好的是javascript本身,或者python)

或者有没有更好的方法可以用来分析javascript代码


编辑:正如在一些回答中指出的,JSLint和JSHint不是我正在寻找的工具。当然,我也会使用它们,但它们对于我的要求不够具体。

一个更好的方法是使用一些预先编写的工具,而不是试图重新发明轮子。

有人已经在另一个stackoverflow页面上提出了这个问题


看起来像esprima——而解析器API正是我想要的:)

你建议使用什么工具?我以一种合适的方式重新发明了Javascript/Typescript/node中不存在的轮子。可以通过npm i@jlguenego/syntax analysis访问该库。该库允许使用大多数已知方法进行解析:LL(k)、LR0、LR1、LALR、SLR等。我将继续通过添加其他方法(GLR、Earley、LR(k)等)来维护该库。但是,@jlguenego/syntax analysis不提供任何语言的上下文无关语法(用于测试简单语法的json除外)。如果你想专门使用Javascript语法,我认为Babel是最适合的。或者Monaco(用于编辑代码的VSCode实用程序),我实际上并不是在寻找JSLint或JSHint(我已经使用过了),因为我的需求远比它们所能提供的更为具体。