#include #include "exprParser.h" Expr *readNum(void); Expr *readExpr() { int t; Expr *e,*ee; e = readNum(); while(currentToken == PLUS_OP || currentToken == MINUS_OP){ ee = (Expr *)malloc(sizeof(Expr)); ee->kind = currentToken; getToken(); ee->left = e; ee->right = readNum(); e = ee; } return e; } Expr *readNum() { Expr *e; if(currentToken == NUM){ e = (Expr *)malloc(sizeof(Expr)); e->kind = NUM; e->val = tokenVal; getToken(); return e; } else { fprintf(stderr,"bad expression: NUM expected\n"); exit(1); } }