Contents | < Browse | Browse >
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. Invocation
* Menu:
* Calling Convention How `yyparse' calls `yylex'.
* Token Values How `yylex' must return the semantic value
of the token it has read.
* Token Positions How `yylex' must return the text position
(line number, etc.) of the token, if the
actions want that.
* Pure Calling How the calling convention differs
in a pure parser (Pure Decl).