Я хочу спросить, возможно ли прочитать - из моего кода Python - литерал, который я определил в метамодели.Это может быть лучше всего объяснено на примере.Допустим, это моя метамодель (вдохновленная примером Entitiy):
EntityModel:
entities+=Entity
;
Entity:
EntityKeyword name=ID '{'
attributes+=Attribute
'}'
;
EntityKeyword:
'entity'
;
Теперь, если я проанализирую это, у меня будет доступ ко всем сущностям, которые были определены во входном файле.Но я также хочу иметь возможность читать литерал «entity», который определен в правиле EntityKeyword.Я пытаюсь сделать это, чтобы избежать жесткого кодирования значения («сущности») в моем собственном коде.
Мне не удалось найти способ сделать это.Возможно ли это?
Я прочитал документацию, а также пробовал встроенные объекты.У меня не было никакой удачи.
Надеюсь, я что-то понимаю.
Спасибо.
ОБНОВЛЕНИЕ:
Спасибо за ответы - и извините замой поздний ответ.
Теперь я вижу, что мой пример был плохим.Я прошу прощения за это.
Я поиграл с textX, прочитал еще несколько документов и наткнулся на этот раздел:
"textX интегрируется с системой ввода Python.textX нет возвращаемых ключевых слов. Класс, используемый для правила, будет динамически создаваться классом Python для всех несоответствующих правил. Разработчик языка может предоставить класс с помощью регистрации пользовательских классов в мета-модели. Если правило имеет значение [matchtype], чем всегда будет возвращать строку Python или некоторые базовые типы Python для унаследованных правил BASETYPES." Типы, используемые для правил
Выделенная часть звучит очень многокак то, что я пытаюсь достичь.Я постараюсь сделать это, но в противном случае очень ценю пример этого - если у вас есть время для этого.
С уважением, ДонХаугард