[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
4.6 The Lexical Analyzer Function 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 a separate header file
‘name.tab.h’ which you can include in the other source files
that need it. See section Invoking Bison.
4.6.1 Calling Convention for yylex | How yyparse calls yylex .
| |
4.6.2 Semantic Values of Tokens | How yylex must return the semantic value
of the token it has read.
| |
4.6.3 Textual Locations of Tokens | How yylex must return the text location
(line number, etc.) of the token, if the
actions want that.
| |
4.6.4 Calling Conventions for Pure Parsers | How the calling convention differs in a pure parser (see section A Pure (Reentrant) Parser). |