Next: Error Reporting, Previous: Push Parser Interface, 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-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 section Invoking Bison.
• Calling Convention | How yyparse calls yylex .
| |
• Special Tokens | Signaling end-of-file and errors to the parser. | |
• Tokens from Literals | Finding token kinds from string aliases. | |
• 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 section A Pure (Reentrant) Parser). |