gpt4 book ai didi

java - 如何使用 Monticore 生成的 PrettyPrinter 将 AST 从 ASTEmbeddedAutomaton 打印到文本文件?

转载 作者:行者123 更新时间:2023-12-01 12:52:59 26 4
gpt4 key购买 nike

我已经使用 Configure pom.xml to generate PrettyPrinters for MontiCore Languages 中解释的选项使 MontiCore 生成 PrettyPrinter 类。 .

如何生成 MontiArcAutomaton 的格式化文本输出(类型:ASTEmbeddedAutomaton)?

最佳答案

询问 MontiCore 团队后,发现以下解决方案是一个很好的方法:我编写了一个辅助类来漂亮地打印嵌入式自动机 ASTNode(参见 list 1)。这个辅助类可以使用,例如使用以下代码行:

System.out.println(PrettyPrintFactory.getInstance().printNode(autMoore));

list 1:

import mc.ast.ASTCNode;
import mc.ast.PrettyPrinter;
import mc.helper.IndentPrinter;
import mc.maautomaton._prettyprint.MontiArcAutomatonConcretePrettyPrinter;

/**
* Prints the AST-Content to a file
**/
public class PrettyPrintFactory {

private static PrettyPrintFactory instance;
private PrettyPrinter pretty;

public static PrettyPrintFactory getInstance() {
if (instance == null) {
instance = new PrettyPrintFactory();
}
return instance;
}

private PrettyPrintFactory() {
pretty = new PrettyPrinter();
pretty.addConcretePrettyPrinter(new MontiArcAutomatonConcretePrettyPrinter());
}

/** prints the syntax of the astNode to a String */
public String printNode(ASTCNode astNode) {
IndentPrinter ip = new IndentPrinter();
pretty.prettyPrint(astNode, ip);
return ip.getContent();
}
}

关于java - 如何使用 Monticore 生成的 PrettyPrinter 将 AST 从 ASTEmbeddedAutomaton 打印到文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24079424/

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