gpt4 book ai didi

code-analysis - 能否自定义 PMD 以完全支持新语言?

转载 作者:行者123 更新时间:2023-12-04 06:52:51 25 4
gpt4 key购买 nike

是否可以在合理的时间内自定义 PMD 以完全支持新语言。我的意思是我知道从技术上讲几乎任何事情都可以完成,但我想知道这是否可以在合理的时间内完成?例如。 < 2 周

本页提到了如何编写 CPD 解析器 http://pmd.sourceforge.net/cpd-parser-howto.html

但这仅用于复制/粘贴检测吗?编写 CPD 解析器是否让我在 Rile 集方面完全支持 PMD?

最佳答案

我猜不是,但我不是 PMD 专家(我有自己的偏见,请查看我的简历)。

问题是:

  • 你能快速为我的语言定义一个语法吗(也许,取决于你有多好,语言有多困惑,以及 PMD 提供的解析机制的强度)
  • 您能否定义我的语言的语义,以便 PMD 提供的“语义检查”工作。你必须这样做,因为语法告诉你(和一个工具)从字面上看没有关于语法的语义。我猜想 PMD 工具“语义检查”与 Java 的精确细节密切相关;如果您的语言与 java 完美匹配,这将是零工作。但事实并非如此,否则你就不会问这个问题了。并且语言语义差异,即使是很小的差异,也会导致代码解释的不连续变化。在开始执行“严肃”语义之前,您可能必须构建一个符号表,将代码中的标识符映射到这些符号的声明(以及“语义”类型)。根据我使用的工具基础设施,对于真正的语言来说,仅这一步就需要 1-2 个月的时间。
  • 最后,您可能必须编写特定于您的语言的特殊 PMD 检查。这也需要时间和精力。

  • 我构建了通用的编译器类型的机器(解析器、流分析器、样式/错误检查器),并且一直被问到与这个问题相当的 WRT 到我们的机器。我们尝试提供大量可用的机器,尝试使新语言的集成变得容易,并且 15 多年来,我们一直致力于使这种“方便和快速”。它仍然不方便,几周后我们的工具无法做到这一点。我怀疑 PMD 更好。

    关于code-analysis - 能否自定义 PMD 以完全支持新语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2870916/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com