(flex.info)Yacc


Next: Scanner Options Prev: User Values Up: Top
Enter node , (file) or (file)node

15 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;


automatically generated by info2www version 1.2.2.9