#include <stdio.h>

#define  ENDFILE  0
#define  IDENT    1
#define  INTEGER  2
#define  REAL     3

int line_count = 0;
int decimal_digit = 0;
float real_num = 0;

extern int yylex(void);

extern FILE *yyin;
extern char *yytext;

int main( int argc, char *argv[] )
{ int token;

  if( argc != 2 )
    printf( "Usage: %s file_name\n", argv[0] );
  else
    { yyin = fopen( argv[1], "r" );
      if( yyin == NULL )
        printf( "Unable to open file %s\n", argv[1] );
      else
        { line_count = 0;
          do
            { token = yylex();
              printf( "Scanner token code = %d  %s\n", token, yytext );
	      if (token == 2)
		printf("Decimal Digit is: %d \n", decimal_digit );
	      if (token == 3)
		printf("Real Number is: %g \n", real_num );
            }
          while( token != ENDFILE );
          printf( "\nFile %s had %d lines\n", argv[1], line_count );
        }
    }
}
