У меня есть xtext-грамматика для языка моделирования, который имеет несколько типов переменных. В некоторых случаях я хочу выделить тип, который может иметь переменная. Текущий рабочий процесс состоит в том, чтобы просто использовать VariableQualifier (как в приведенной ниже грамматике) и использовать валидатор для разрешения только того типа, который я хочу. Затем каждый раз, когда я обращаюсь к ссылке, я должен явно ее использовать.Спецификатор переменной xtext typesafe
Есть ли лучшее решение?
VariableReference:
ref=[Variable]
;
VariableQualifier:
(namespace+=NamespaceReference '.')* element=VariableReference
;
EnumerationReference:
ref=[Enumeration]
;
EnumerationQualifier:
(namespace+=NamespaceReference '.')* element=EnumerationReference
;
NamespaceReference:
ref=[Namespace]
;