0

私は Flex の初心者で、Flex で同じ名前に対して複数の定義を使用できるかどうか疑問に思っていました。そのような:

/* DEFINITIONS */
FRUITS "APPLE" | "ORANGE" | "LEMON"

また、flex の正規表現の文字列定数でできることとできないことは何ですか? $や*などの記号は使用できますか? ありがとうございました!

4

1 に答える 1

1

定義の右側は通常の正規表現なので、次のように記述できます。

FRUIT APPLE|ORANGE|LEMON

多分

FRUIT (PINE)?APPLE|GRAPE(FRUIT)?|ORANGE|LEMON

後でルールセクションでそれを参照してください

{FRUIT} 

しかし、あなたが本当にそうしたいとは思えません。これは、キーワード トークンを認識する大雑把な方法です。

次の例のような定義 (マクロと考えてください) を使用することをお勧めします。

LETTER [a-zA-Z]
DIGIT [0-9]
ALPHANUMERIC [a-zA-Z0-9]
于 2012-06-28T00:08:39.777 に答える