int main(int argc, char **argv) { int i; srand(time(NULL)); for(first=first_stack; first<first_stack+PAPERS; first++) *first=malloc(STRINGSIZE); second=second_stack; for(i=0; i<PAPERS; i++) { char *paper=pop(&first); generate_postfix(&paper); push(&second, paper); } for(i=0; i<PAPERS; i++) { char *paper=pop(&second); int a; printf("(%s) = ", paper); a=parse_postfix(paper); printf("%i\n", a); sprintf(paper, "%i\n", a); push(&first, paper); } return 0; }
int main(int argc, char* argv[]) { if (argc != 1) { printf("Usage: ReversePolish\n"); return 1; } char* infix = inputStatement(CHUNK,'\n'); int i; if(!validate(infix)){ printf("invalid input\n"); } else{ generate_postfix(); for(i = 0; i <= postfix_index; i++){ printf("%s ",postfix[i].lexeme); } clear_Stack(); evaluate(); } return 0; }