Ich arbeite derzeit mit Eclipse AST, um Quellcode zu generieren. Anders als in den meisten Beispielen erzeuge ich den Quellcode von Grund auf neu und in einer eigenständigen Anwendung, im Gegensatz zu einem Eclipse-Plug-In.Eclipse JDT AST: Wie generiere ich AST in Java-Datei?
Wenn Sie von einem ASTParser eingelesen haben, können Sie Änderungen durch Aufruf von recordModifications()
aktivieren, aber dies funktioniert nicht, wenn der AST von Grund auf neu erstellt wird, z. durch den Aufruf newCompilationUnit()
.
Daher ist das Schreiben der Quelle in eine Datei über Document
und TextEdit
nicht möglich - es gibt eine Ausnahme, die besagt, dass die Änderungsaufzeichnung nicht aktiviert wurde.
Irgendwelche Erfahrungen beim Erzeugen von AST von Grund auf neu und in Datei schreiben? Danke!
Viele Erfahrung pretty übersetzbar Äste für Java, aber nicht mit Eclipse. Ist Eclipse eine Voraussetzung für Ihre Frage? –
Warum möchten Sie den "generierten AST" in eine Datei schreiben?Vielleicht ist es nur die Phrasierung, aber ich habe den Eindruck, dass Sie prettyprinted Quelltext in eine Datei schreiben wollen, wo dieser Quelltext vom AST generiert wird. –
Nun, ich benutze Eclipse, weil es weit verbreitet ist, und die "Java Development Tools" (JDT) AST-Implementierung ermöglicht Round-Trip-Engineering, so dass Sie entweder Code aus einem speicherinternen AST generieren können oder vorhandene modifizieren können Quellcode durch minimale Änderungen. "Generiert" bedeutet in diesem Fall, dass der AST programmatisch in den Speicher eingebaut ist. –