gpt4 book ai didi

java - 解析不完整的 Java 源代码

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:58 24 4
gpt4 key购买 nike

在某些问题中,我需要解析一个可能不完整的 Java 源代码片段。例如,代码可以引用此类片段中 undefined variable 。

在那种情况下,我仍然想解析这种不完整的 Java 代码,将其转换为方便的可检查表示,并能够从这种抽象表示生成源代码。

什么是正确的工具?在 this post我找到了使用 Antlr、JavaCC 或 Eclipse JDT 的建议。但是,我没有找到任何关于处理不完整的 Java 源代码片段的引用资料,因此出现了这个问题(此外,链接的问题已有两年多了,所以我想知道 map 上是否有新内容)。

例如,代码可能类似于以下表达式:

"myMethod(aVarName)"

在那种情况下,我希望能够以某种方式检测到代码中引用了变量 aVarName

最佳答案

嗯...这个问题没有任何含糊不清的简单的答案。如果您编写正确的语法并操纵解析器执行后备解析未知 token 逾越之类的事情,上述任何解析器技术都可以让您做您想做的事。

让您到达目的地的最少工作量是使用具有可恢复解析并带有相当完整的 Java 7 语法的 ANTLR,或者查看您可以从 eclipse JDT(用于用于在 eclipse IDE 中进行错误和意图标记以及语法突出显示。)

请注意,这些东西都不容易 - 您正在编写 kloc,而不仅仅是导入一个类并告诉它去。

在某个不正确/不完整的点上,所有这些策略都会失败,因为没有计算机(甚至是与此相关的人)能够辨别你的意思,除非你至少含糊地说正确。

关于java - 解析不完整的 Java 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18047022/

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