生成された lex プログラムへのコードの引き渡し

lex コマンドは、以下の状況では、C コードを無変換で字句解析プログラムへ渡します。

  • 定義セクション内、 または規則セクションの最初の規則より前の先頭部分にある、 ブランクまたはタブで始まる行は、字句解析プログラム内へコピーされます。 項目が定義セクション内にある場合、その項目は lex.yy.c ファイルの外部宣言領域にコピーされます。 項目が規則セクションの先頭にある場合、その項目は lex.yy.c ファイルの yylex サブルーチンのローカル宣言領域にコピーされます。
  • 定義セクション内、または規則セクションの最初の規則より前の先頭部分にあり、 区切り行 (%{ (パーセント記号、左中括弧) と %} (パーセント記号、右中括弧) だけが使われた行) にはさまれた行は、 ブランクまたはタブで始まる行と同じように字句解析プログラム内へコピーされます。
  • 2 番目の %% (パーセント記号、パーセント記号) 区切り文字より後に発生するすべての行は、 フォーマットの制限なしに字句解析プログラムにコピーされます。