Jak wywołać parser / JvmModelInferrer Xtext z projektu Java
Zaimplementowałem prosty mały DSL, który generuje klasy z plików wejściowych, używając podejścia JvmModelInferrer. Próbuję dowiedzieć się, jak mogę wywołać parser i genarator kodu w kodzie zwykłego projektu java. Więc w pewnym momencie w głównej klasie mojego projektu innego niż Xtext mogę po prostu utworzyć plik, przekazać go do parsera / codeGenerator Xtext dla mojego DSL, a rezultatem będzie wygenerowanie plików klas do wybranego przeze mnie folderu ( w ramach mojego projektu java). Ta sprawa nie jest opisana w dokumentacji, więc każda pomoc byłaby bardzo mile widziana, dzięki!
AKTUALIZACJA: Mój kod wygląda jak poniżej:
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);