gpt4 book ai didi

java - 将 Spoon 模型转换为其他模型

转载 作者:行者123 更新时间:2023-12-02 13:22:56 28 4
gpt4 key购买 nike

我正在尝试将 Java 代码的 Spoon 表示 转换为其他内容;假设是 JSONXML 表示形式或其他 Java 模型

我不知道如何以及从哪里开始。

  • 我是否必须为 Spoon 的每个叶子编写一个处理器元模型(这是很多处理器要写的)?
  • 我是否必须编写一个处理器分析每个并采用自上而下的方法(其中将包含大量instanceof检查)?
  • 我必须这样做吗?编写一个基于树表示的扫描器

最后一个问题:在转换元素(例如 CtIf)时,如何以独特的方式识别其父元素(CtBlock)?

假设它将输出以下内容:

[
{
type: block,
id: ???,
...,
},
...,
{
type: if,
parent: ???, (the block above)
...,
}
]

我有点迷失,需要一些帮助:)谢谢!

最佳答案

最简单的方法是实现一个自定义的 pretty-print (查看 https://github.com/INRIA/spoon/blob/master/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java )并通过覆盖它来将其传递给启动器。

关于java - 将 Spoon 模型转换为其他模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43498103/

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