Next: , Previous: Parser Function, Up: Interface


4.2 字句解析器関数yylex

字句解析器(lexical analyzer)関数yylexは、 入力からトークンを認識し、構文解析器に返します。 Bisonはこの関数を自動的に生成しないので、 yyparseから呼び出されるようにyylexを書く必要があります。 関数yylexは“lexical scanner”と呼ばれることもあります。

単純なプログラムでは、よく文法ファイルの最後でyylexを 定義します。yylexが別のソースファイルの中で定義する場合は、 そこでトークン型マクロ定義を使えるように準備する必要があります。 そのためには、‘-d’オプションを指定してBisonを実行してください。 すると、マクロ定義がヘッダファイルname.tab.hに 書き込まれ、それを必要とするソースファイルにインクルードできます。 See Invoking Bison