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).