私は最初の Xtext プロジェクトを開始しましたが、相互参照で問題が発生しました (これがおそらく問題だと思います)。DatType、InterfaceDescription ルール、および Enumeration があります。私がやりたいことは、ユーザーが列挙型からデータ型を選択するか、新しいデータ型を定義できるようにすることで、インターフェイスを記述することです。
Enum は問題なく動作しますが、「datatype test1」で新しいデータ型を定義し、それを InterfaceDescription 内で使用すると、次のエラーが発生します: 'XtextReconcilerJob' で問題が発生しました。「XtextReconcileJon」中に内部エラーが発生しました。そして、それがエラー スタックです: http://pastebin.com/evFki2mB
    DataType:
        'datatype' name=ID ('mapto' mappedType = JAVAID)?
    ;
    Interface:
        interfaceType=InterfaceType name=ID datatype=([DataType]| DataTypeEnum)
    ;
enum InterfaceType:
    INLET = 'inlet' |
    OUTLET = 'outlet'
;
    DataTypeEnum:
        INT8 = 'int8' | INT16 = 'int16' | INT32 = 'int32' |
        DOUBLE = 'double' | SINGLE = 'single' | REAL = 'real' |
        BOOLEAN = 'boolean' | CHAR = 'char'
    ;
別のルールで DataType Cross-Reference を使用すると、次のように機能します。
ParamList:
    'param:' datatype=[DataType] name=ID
;
誰が問題を知っていますか?