Aufrufen von Xtext Parser / JvmModelInferrer aus einem Java-Projekt
Ich habe ein einfaches kleines DSL implementiert, das mithilfe des JvmModelInferrer-Ansatzes Klassen aus Eingabedateien generiert. Ich versuche herauszufinden, wie ich den Parser und den Code-Generator innerhalb des Codes eines regulären Java-Projekts aufrufen kann. Irgendwann in der Hauptklasse meines Nicht-Xtext-Projekts kann ich einfach eine Datei erstellen, diese an den Xtext-Parser / CodeGenerator für mein DSL übergeben und das Ergebnis ist, dass Klassendateien in einem Ordner meiner Wahl generiert werden ( in meinem Java-Projekt). Dieser Fall wird in der Dokumentation nicht behandelt. Wir würden uns über jede Hilfe sehr freuen. Danke!
UPDATE: Mein Code sieht bisher so aus:
private static IGenerator generator;
/**
* @param args
*/
public static void main(String[] args) {
// this line registers the EMF for our DSL
Injector injector = new HyRuleStandaloneSetup().createInjectorAndDoEMFRegistration();
ResourceSet rs = new ResourceSetImpl();
File file = new File(
"C:/Documents and Settings/chmamat2/runtime-EclipseXtext/hyrule.project/src/hyrule/project/main.hrule");
Resource resource = rs.getResource(URI.createURI(file.toURI().toString()), true);
//setup the generator
generator = injector.getInstance(IGenerator.class);
//setup the file system access
final EclipseResourceFileSystemAccess2 fsa = new EclipseResourceFileSystemAccess2();
generator.doGenerate(resource, fsa);