1

オプションで、javaccをトークンの一部に貪欲に一致させることは可能ですか?

私は次のようにエンティティを定義しようとしています:

<CURLED:     "{" (<CHAR>)+ "}">

私が欲しいのはそのシーケンスです:

a. {HELLO}
b. {HELLO} {WORLD}
c. {HELLO} {OUR} {WORLD}

は正しく解析され、javaccは中括弧内のトークンを個別に消費します。

デフォルトでは、javaccは、ケースbとcが次のように解析されるように、可能な限り最長の一致を作成しようとします。

b. HELLO} {WORLD
c. HELLO} {OUR} {WORLD

明らかな何かが欠けていますか?

4

1 に答える 1

0

OK、CURLEDトークン定義で「{」文字を使用できないようにすることで問題を解決しました。この除外は〜["{"]で行われます。

于 2013-01-31T14:41:18.223 に答える