Node:Lexical, Next:Error Reporting, Previous:Parser Function, Up:Interface
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 Invoking Bison.
yyparse
calls yylex
.
yylex
must return the semantic value
of the token it has read.
yylex
must return the text position
(line number, etc.) of the token, if the
actions want that.