%{
#include <stdio.h>
typedef char *CHAR_PTR;
#define YYSTYPE CHAR_PTR
%}
%token NUMBER
%token ID
%left '+' '-'
%left '*' '/'
%right '^'
%right UMINUS
%%
 lines:
        | lines line
        ;
line: '\n' {printf(" \n ************\n ");}
    | expr
    ;
expr:  expr '+' expr { printf (" + ");}

      | expr '-' expr { printf(" - ");}

      | expr '*' expr { printf (" * "); }

      | expr '/' expr { printf (" / "); }
      | expr '^' expr { printf (" ^ "); }
       | '(' expr  ')'  
       | '-' expr %prec UMINUS { printf(" UMINUS ");}
       | NUMBER { printf("%s, " , $1); }
       | ID     { printf( "%s, ", $1); }
           ;

%%
#include "lex.yy.c"
main()
{
   yyparse();
 }
/*yyerror(s)
char *s;
{ fprintf(stderr, "line no. %d \n", lineno);
}
*/
