У меня есть Ecore метамодель как этотXText перечисление значение настройки
Pattern
direction:Direction
patternDetail:Details
Direction
BOTH=0
LEFT=1
RIGHT=2
это упрощение, но это представление языка графа запросов, которые используют шаблоны. Узор как направление и некоторые детали (имя, что угодно)
В моих грамматиках я хочу разобрать некоторые материалы, где информация направления находится на 2-х местах, например
<-[patterndetails]-> (direction = BOTH)
-[patterndetails]-> (direction = RIGHT)
<-[patterndetails]- (direction = LEFT)
Так что я создал это правило
Pattern returns Pattern:
'<-'patternDetails=PatternDetails'->'
|'<-'patternDetails=PatternDetails'-'
|'-'patternDetails=PatternDetails'->'
;
Но я не могу понять, как я могу установить связанное направление. Я пытаюсь добавить direction=Direction.BOTH
в конце первой строки, но это невозможно. Это кажется странным, потому что можно влиять на значение для атрибута EString, например, но не для перечислений.
Я пропустил что-то в доступе enum или я делаю это неправильно?
спасибо! Я не знал, как это сделать – zelus