Estoy construyendo un generador de código en XTend donde ya tengo un modelo de entrada y un metamodelo. Es decir, utilizo ATL para generar el modelo de entrada para mi generador de código XTend (como parte de una secuencia de transformación para reducir gradualmente el nivel de abstracción, en lugar de hacerlo de inmediato, esta es la razón por la que no estoy usando xtext para crear la sintaxis) .Cargar instancia de EMF Model en XTend
Así que, para ser muy claros, mi modelo de entrada para el generador de código es un archivo en formato XMI y NO en la gramática del proyecto xtext (¡ni siquiera usando eso)! Y creo que esto me está causando problemas/confusión.
Creé un nuevo proyecto de XText utilizando modelos existentes, hice clic derecho en el archivo .text, ejecuté como generar artefactos y luego hice lo mismo para el archivo mwe2.
¿Cuál es el siguiente paso, lo estoy haciendo bien? ¿Cómo puedo iniciar mi generador de código? Todos los ejemplos provienen del POV que usa XText para crear una DSL. Tengo un metamodelo EMF y una instancia basada en XMI de eso. ¿Cómo procesar eso más utilizando XTend?
Cualquier sugerencia o puntero a un tutorial es útil.
Solución:
La solución era tan Sven sugirió en mi respuesta aceptada, pero también me gustaría señalar que es necesario utilizar un genmodel para generar artefactos Java a partir de su modelo de meta. Este enlace muestra cómo: http://www.vogella.com/articles/EclipseEMF/article.html, ver la sección 4. Esto puede parecer demasiado lógico, pero creo que vale la pena señalar de todos modos.
¡Muchas gracias! El XMI es una instancia de un determinado metamodelo, ¿su código lo considera (es decir, carga este metamodelo?). ¿O el formato XMI es suficientemente descriptivo y apunta al metamodelo de alguna manera? –
¿Entonces probablemente necesito las cosas genmodel correctas, y agregar ese proyecto como una dependencia a este proyecto de complemento recién creado? –
¡Genial, funciona! Hah. ¿Crees que podría ser útil poner este ejemplo en el sitio de XTend? Para mí, suena como un propósito común de XTend (es decir, usarlo como reemplazo de XP y) –