Flex - a scanner generator - YACC interface

Node: YACC interface Next: Options Prev: User variables Up: Top

Interfacing with yacc

One of the main uses of flex is as a companion to the yacc parser-generator. yacc parsers expect to call a routine named `yylex()' to find the next input token. The routine is supposed to return the type of the next token as well as putting any associated value in the global yylval . To use flex with yacc , one specifies the `-d' option to yacc to instruct it to generate the file `y.tab.h' containing definitions of all the `%tokens' appearing in the yacc input. This file is then included in the flex scanner. For example, if one of the tokens is "TOK_NUMBER", part of the scanner might look like:

	%{
	#include "y.tab.h"
	%}
	
	%%
	
	[0-9]+        yylval = atoi( yytext ); return TOK_NUMBER;


Next: Options Up: Top