私の DSL には、次のようなものがあります。
x = 14
y = $x + 1
そのため、要素はその名前だけで定義されますが、参照する場合は何らかのシジルを追加する必要があります。要素を参照する場合、記号と名前の間の空白は禁止されています。
これらの要素間の相互参照を許可しながら、Xtext でこれを行うにはどうすればよいですか?
これには2つの異なる端末を使用する必要があるように思われるため、1つは一致x
し、もう1つは一致し$x
ますが、相互参照メカニズムはどのようにそれらを関連付けますか? あるいは、次のように定義した場合:
ElementRef: '$' [Element|ELEMENT_NAME];
その場合、Xtext はシジルと名前の間に空白を許可しますが、これは私の DSL では違法です。「この時点で空白を受け入れない」などのオプションは素晴らしいと思いますが、そのようなことについての Xtext ドキュメントには何も見つかりませんでした。