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