0

次の入力があります。

 a: "a is {Foo foo}"

fooタイプFooです。ビジネス層は最終的に変数の値を提供します。入力を処理した後、プロパティ ファイルと Java クラスの 2 つのファイルが生成されます。

 a=a is {0}

 public static I18nMessage a( Foo foo ) {
     return new I18nMessageBuilder().id( "a" ).args( foo ).build();
 }

アイデアは、各メッセージに id を割り当て、メソッド (名前 == id) を含む Java クラスを提供し、型付きパラメーターを受け入れてメッセージを完成させるというものです。

私の質問: Xtext 文法でテキスト文字列をどのように処理すればよいですか? パラメーターの型 ( ) のコード補完がFoo必要ですが、スペースや有効な Unicode 文字を含む可能性のある残りの文字列を処理する方法がわかりません。

提案?

4

1 に答える 1

0

非常に単純な文法を提供し、他のいくつかの問題を解決するより良い解決策を見つけました。

a(Foo foo): "a is " foo;

したがって、テキスト メッセージは文字列とパラメーターのリストです。このように、コード補完は非常に簡単で、フォーマッターを追加する場合にエスケープ シーケンスは必要ありません。

a(Date d): "Date is " d( "short" );
于 2012-04-13T16:06:19.633 に答える