Next: Error Reporting Prev: Parser Function Up: Interface
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. Note: Invoking Bison.
- 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 (Note: A Pure (Reentrant) Parser.).
automatically generated by info2www