Enums Xtext枚举值设置

Enums Xtext枚举值设置,enums,xtext,Enums,Xtext,我有一个像这样的ecore元模型 Pattern direction:Direction patternDetail:Details Direction BOTH=0 LEFT=1 RIGHT=2 这是一种简化,但它是使用模式的图形查询语言的表示。作为方向和一些细节的模式(名称等) 在我的语法中,我想解析一些方向信息位于两个位置的输入,例如 <-[patterndetails]-> (direction = BOTH) -[patterndetails]-&g

我有一个像这样的ecore元模型

Pattern
  direction:Direction
  patternDetail:Details

Direction
  BOTH=0
  LEFT=1
  RIGHT=2
这是一种简化,但它是使用模式的图形查询语言的表示。作为方向和一些细节的模式(名称等)

在我的语法中,我想解析一些方向信息位于两个位置的输入,例如

<-[patterndetails]-> (direction = BOTH)
-[patterndetails]->  (direction = RIGHT)
<-[patterndetails]-  (direction = LEFT)
(方向=两者)
-[patterndetails]->(方向=右侧)

同一个枚举可以有多个规则

Pattern returns Pattern:
    '<-' patternDetails=PatternDetails direction=Both
    | '<-' patternDetails=PatternDetails direction=Left
    | '-' patternDetails=PatternDetails direction=Right;

enum Direction:
    BOTH |
    LEFT |
    RIGHT;

enum Both returns Direction:
    BOTH='->';

enum Right returns Direction:
    RIGHT='->';

enum Left returns Direction:
    LEFT='-';
Pattern返回模式:
'';
枚举左返回方向:
左='-';

同一个枚举可以有多个规则

Pattern returns Pattern:
    '<-' patternDetails=PatternDetails direction=Both
    | '<-' patternDetails=PatternDetails direction=Left
    | '-' patternDetails=PatternDetails direction=Right;

enum Direction:
    BOTH |
    LEFT |
    RIGHT;

enum Both returns Direction:
    BOTH='->';

enum Right returns Direction:
    RIGHT='->';

enum Left returns Direction:
    LEFT='-';
Pattern返回模式:
'';
枚举左返回方向:
左='-';

同一个枚举可以有多个规则

Pattern returns Pattern:
    '<-' patternDetails=PatternDetails direction=Both
    | '<-' patternDetails=PatternDetails direction=Left
    | '-' patternDetails=PatternDetails direction=Right;

enum Direction:
    BOTH |
    LEFT |
    RIGHT;

enum Both returns Direction:
    BOTH='->';

enum Right returns Direction:
    RIGHT='->';

enum Left returns Direction:
    LEFT='-';
Pattern返回模式:
'';
枚举左返回方向:
左='-';

同一个枚举可以有多个规则

Pattern returns Pattern:
    '<-' patternDetails=PatternDetails direction=Both
    | '<-' patternDetails=PatternDetails direction=Left
    | '-' patternDetails=PatternDetails direction=Right;

enum Direction:
    BOTH |
    LEFT |
    RIGHT;

enum Both returns Direction:
    BOTH='->';

enum Right returns Direction:
    RIGHT='->';

enum Left returns Direction:
    LEFT='-';
Pattern返回模式:
'';
枚举左返回方向:
左='-';