#flash-builder #xtext #eclipse-emf-ecore
#flash-builder #xtext #eclipse-emf-ecore
Вопрос:
Я изучаю возможность использования XText для расширения DSL на язык, который я использую ежедневно и который имеет некоторые очевидные недостатки (AS3, через FlashBuilder).
У меня работает система генерации грамматики и кода, в которой приведенное ниже объявление генерирует класс значений с конструктором, переменными уровня класса и геттерами и т. Д.
class Person (name: String, age: int)
Это нормально, но я бы хотел, чтобы типы, определенные в библиотеке Flash Player, а также типы, которые я определяю в проектах пользователей, были доступны в моем расширении DSL. В приведенном выше коде оба String
и int
исходят из собственной библиотеки flash.
Я предполагаю, что Flash Builder использует ядро EMF внутри для представления как любых включенных библиотек (swcs), так и любых типов, которые я определяю в своих проектах. Если это так, мой вопрос:
How can I access the EMF model of FLash Builder?
Если модели EMF нет, я полагаю, мне придется самому анализировать library.swc и исходный код моих проектов.
Is the Xtend language intended to preform these sort of native filesystem tasks?
Спасибо
Ответ №1:
Предположим, что Flash Builder поставляется с метамоделью на основе EMF. тогда «вещь», которую вам нужно сделать, это реализовать IResourceServiceProvider. Я писал в блоге о том, как делать то же самое для моделей uml: http://christiandietrich.wordpress.com/2011/07/17/xtext-2-0-and-uml /
и нет: xtend — это современный язык программирования, который компилируется в Java и имеет хорошую поддержку шаблонов.