Come generare AST usando xtext e xtend?
Domanda
Quindi ho l'esempio predefinito di una grammatica Xtext.
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model:
greetings+=Greeting*;
Greeting:
'Hello' name=ID '!';
Vorrei visualizzare l'albero di sintassi astratto - in particolare vorrei il file Xtend corrispondente, che sembra
package org.xtext.example.mydsl.generator
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.IGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
class MyDslGenerator implements IGenerator {
override void doGenerate(Resource resource, IFileSystemAccess fsa) {
//TODO implement me
}
}
Per stampare una versione testuale dell'AST ogni volta che viene chiamato Dogenerato. Ho hackerato questo per circa due giorni e mi manca chiaramente qualcosa di fondamentale: qualcuno ha pietà di me? Cosa andrebbe nella funzione dogenerata?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow