Next: Error Reporting, Previous: Parser Delete Function, Up: Interface [Contents][Index]
yylex
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 yyparse
can
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-type macro definitions to be
available there. To do this, use the ‘-d’ option when you run
Bison, so that it will write these macro 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.
• Calling Convention: | How yyparse calls yylex .
| |
• Token Values: | How yylex must return the semantic value
of the token it has read.
| |
• Token Locations: | How yylex must return the text location
(line number, etc.) of the token, if the
actions want that.
| |
• Pure Calling: | How the calling convention differs in a pure parser (see A Pure (Reentrant) Parser). |