Go forward to Error Reporting.
Go backward to Parser Function.
Go up to 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. See Invoking Bison: 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 (see A Pure (Reentrant) Parser: Pure Decl.).