2013-06-18 1 views
2

J'essaie de générer du code Java à un niveau aussi élevé que possible. Idéalement, j'aimerais être capable d'instancier des objets qui représentent la grammaire du langage, tels que des objets d'expression qui prennent des valeurs et des opérateurs ou similaires. J'ai été pointé vers Janino qui semble avoir de nombreuses classes qui représentent ces concepts. Mais ils nécessitent également des emplacements de chaîne qui se réfèrent à leur position dans les fichiers. C'est parce que Janino est conçu pour lire et écrire des ensembles de fichiers Java. Ce qui m'intéresse, ce sont les programmes qui génèrent et exécutent du code en interne.Génération de code Java de haut niveau

Je ne veux pas particulièrement travailler au niveau du code octet.

Quelqu'un a-t-il des suggestions de bibliothèques ou des conseils sur l'utilisation de Janino?

+0

et votre question? –

+0

@MarcoForberg regardez la dernière ligne: "Je me demandais si quelqu'un avait des suggestions de bibliothèques ou des conseils sur l'utilisation de Janino." ;) –

+0

Oui, je réalise que ce n'est pas aussi direct que les meilleures questions SO doivent être. Mais c'était comme le meilleur moyen de demander de l'aide. Je cherche des conseils sur les raisons pour lesquelles je me trompe à propos de Janino, ou des suggestions d'autres bibliothèques qui peuvent faire la même chose. – mtrc

Répondre

0

MoDisco expédié avec un EMFJava metamodel. Vous pouvez utiliser le modèle EMF pour créer des objets Java Source à l'exécution de votre programme, puis générer du code à partir du modèle EMF modifié/créé. Pour générer une source java à partir du méta-modèle java, reportez-vous au documentation et au question I asked. Notez également que le métamodèle Java prend uniquement en charge la syntaxe Java 1.5.

+0

Cela semble extrêmement prometteur, 1,5 ou pas. Je vous remercie! – mtrc