在 SonarQube 插件中使用基于 ANTLR 语法的解析器来创建新的语言支持
Using ANTLR grammar based parser in SonarQube plugin to create new language support
我们计划通过创建 SonarQube Fortran 插件为 SonarQube 添加 Fortran 语言支持。
我们已经有了一个现有的 ANTLR 语法和为 Fortran 语言生成的解析器。我们可以使用它作为插件的解析器并构建一个规则引擎来解析 ANTLR 生成的 AST 吗?官方支持的解决方案似乎是使用 SonarSouce 的 SSLR 进行解析。我可以找到一些建立在 ANTLR 语法之上的旧项目 (Delphi support and Checkstyle),但它们都已弃用,所以我想知道是否仍支持使用 ANTLR。
在我们开始更详细地计划之前先确定一下。
您不需要使用 SSLR 为 SonarQube 创建语言插件:SonarQube API 独立于任何解析技术。
SonarQube CheckStyle plugin 仍然受支持,即使它的很多规则在 SonarQube Java 插件中被重写。
我觉得这有点过时了,如果你想用 antlr 开发插件,现在 sonar-groovy 插件是一个更好的方法恕我直言:https://github.com/SonarSource/sonar-groovy
我们计划通过创建 SonarQube Fortran 插件为 SonarQube 添加 Fortran 语言支持。
我们已经有了一个现有的 ANTLR 语法和为 Fortran 语言生成的解析器。我们可以使用它作为插件的解析器并构建一个规则引擎来解析 ANTLR 生成的 AST 吗?官方支持的解决方案似乎是使用 SonarSouce 的 SSLR 进行解析。我可以找到一些建立在 ANTLR 语法之上的旧项目 (Delphi support and Checkstyle),但它们都已弃用,所以我想知道是否仍支持使用 ANTLR。
在我们开始更详细地计划之前先确定一下。
您不需要使用 SSLR 为 SonarQube 创建语言插件:SonarQube API 独立于任何解析技术。
SonarQube CheckStyle plugin 仍然受支持,即使它的很多规则在 SonarQube Java 插件中被重写。
我觉得这有点过时了,如果你想用 antlr 开发插件,现在 sonar-groovy 插件是一个更好的方法恕我直言:https://github.com/SonarSource/sonar-groovy