The lexical analyzer function,
yylex, recognizes tokens from
the input stream and returns them to the parser. Bison does not create
this function automatically; you must write it so that
call it. The function is sometimes referred to as a lexical scanner.
In simple programs,
yylex is often defined at the end of the Bison
grammar file. If
yylex is defined in a separate source file, you
need to arrange for the token-kind definitions to be available there. To do
this, use the -d option when you run Bison, so that it will write
these definitions into the separate parser header file,
name.tab.h, which you can include in the other source files
that need it. See Invoking Bison.