私は次のように解析します文法を作成しようとしています:のXtextリストまたは一つだけのアイテム
つまりreference: java.util.String
が、同様に
reference: {java.util.String, java.lang.Integer}
、私はそれがしたいです修飾された名前のリストと、1つの項目(この場合は '{'でマークされていない項目)の両方を解析します。
私が試したことは、このされています。しかし、私はエラーを取得しています
Reference:
'reference' ':' ('{' values+=QualifiedName (',' values+=QualifiedName)* '}') | (values+=QualifiedName);
:「{」 'Javaので、参照の最初の形式を使用している場合({なし)欠落しています。何を試してみるべきですか?
編集:また
Reference:
'reference' ':' ('{' values+=QualifiedName (',' values+=QualifiedName)* '}') | ((!'{')values+=QualifiedName);
を試みたが、入力時に何も実行可能な代替案を取得していません '!'文法定義の誤り。
EDIT2:「コンマ区切りリスト」に問題はありません。私はこれを別々に試してみましたが、うまくいきました。私の唯一の問題は、ルールの2つの部分を '{'文字に基づいて区別することです。
偉大な、私は今どこに間違って行ったそれを得る:) – Deelazee