Xtext: построение карты типов при разборе - PullRequest
0 голосов
/ 22 февраля 2011

В Xtext , как я могу построить карту типов (то есть карту Java) из объявлений типов в моем файле модели? Скажем, мой файл модели выглядит так:

type String { ...some definitions... }
type Foo { ...some definitions... }

и моя грамматика Xtext говорит:

DataType: 'type' name=ID '{' ... '}';

Как я могу построить карту <String,DataType> во время работы анализатора или до оценки шаблона? Как я могу получить доступ к карте позже из шаблона Xpand?

Примечание. Сейчас 2011 год. Пожалуйста, избегайте глобальных переменных (static).

1 Ответ

1 голос
/ 22 февраля 2011

Эй, Аарон, я не уверен, что ты пытаешься сделать.Но давайте предположим, что ваши типы данных являются частью модели, например,

Model: "myfile" datatypes+=DataType;
DataType: "type" name=ID ...;

, вы можете пройти их с помощью Xpand, как это

«FOREACH model.datatypes AS d»
«d.name», «d.someDefinitions»
«ENDFOREACH»
...