Next: , Previous: Interfacing to Flex, Up: Interfacing to Flex


4.1 FlexとC

Flexに対するCの主要なインターフェイスは、 以下に挙げるルーチンと変数によるものです。 以下の節を読む際には、 いくつかの細かな部分でFlexとLexとの間に相違点があるということを意識しておいてください。 Lexが提供していない関数がいくつかありますし、 宣言の内容が違うものもあります。 こうした相違点は、 通常大きな問題にはなりません。 というのは、 相違のある関数は一般的にはあまり使われていないからです。 相違点に関する詳細については、 Flex and LexおよびFlex and POSIXを参照してください。


Footnotes

[1] 訳注:Flex 2.5では、 ‘%pointer’と‘%array’により、 yytextの型を選択できるようになりました。 ‘%pointer’を指定した場合はchar *yytext、 ‘%array’を指定した場合はchar yytext[YYLMAX]となります。 デフォルトは‘%pointer’です。 ‘%array’を指定した場合の配列のサイズは、 YYLMAXを再定義することによって変更可能です。

[2] 訳注:Flex 2.5では、 ‘%option noyywrap’が指定されない限り、 yywrap()は関数です。 再定義をするのに、 #undefで定義解除する必要はありません。

[3] 訳注:Flex 2.5では、 ‘%array’が指定された場合は、 unput()yytextの内容を破壊しません。

[4] 訳注:Flex 2.5では、 yyinを変更した後にYY_NEW_FILEを実行する必要はなくなりました。