Lines Matching refs:exp

89 stack_push(struct stack *stk, struct expr *exp)  in stack_push()  argument
93 printf(" type: %s\n", type_name[GETTYPE(exp->op)]); in stack_push()
94 printf(" flag: %s\n", type_name[GETTYPE(exp->flag)]); in stack_push()
97 stk->ptr[stk->index++] = exp; in stack_push()
100 freeexpr(exp); in stack_push()
105 return (exp); in stack_push()
240 reduce(struct expr **nexp, unsigned int n, struct expr *exp, struct stack *stk) in reduce() argument
254 exp1 = exp; in reduce()
268 exp2 = exp; in reduce()
285 exp3 = exp; in reduce()
453 struct expr *exp, *nexp, *exp_op, *ret; in plural_expr() local
496 exp = setop1(op, 0, stk, flag); in plural_expr()
497 if (!exp) in plural_expr()
499 ret = stack_push(stk, exp); in plural_expr()
517 exp = setop1(op, 0, stk, flag); in plural_expr()
518 if (!exp) in plural_expr()
520 ret = stack_push(stk, exp); in plural_expr()
537 exp = setop1(op, 0, stk, flag); in plural_expr()
538 if (!exp) in plural_expr()
540 ret = stack_push(stk, exp); in plural_expr()
558 exp = setop1(op, 0, stk, flag); in plural_expr()
559 if (!exp) in plural_expr()
561 ret = stack_push(stk, exp); in plural_expr()
588 exp = stack_pop(stk, NULL, NULL); in plural_expr()
589 if (!exp) in plural_expr()
596 ptype = GETTYPE(exp->flag); in plural_expr()
597 popnum = GETOPNUM(exp->flag); in plural_expr()
604 exp_op = stack_pop(stk, exp, NULL); in plural_expr()
611 exp->flag = tmp_flag; in plural_expr()
620 exp, stk); in plural_expr()
623 exp = nexp; in plural_expr()
627 freeexpr(exp); in plural_expr()
651 exp = setop1(op, 0, stk, flag); in plural_expr()
652 if (!exp) in plural_expr()
654 ret = stack_push(stk, exp); in plural_expr()
661 exp = setop1(op, type == T_NUM ? num : 0, stk, flag); in plural_expr()
662 if (!exp) in plural_expr()
671 exp->flag = flag; in plural_expr()
672 ret = stack_push(stk, exp); in plural_expr()
684 freeexpr(exp); in plural_expr()
710 exp->flag = flag; in plural_expr()
711 ret = stack_push(stk, exp); in plural_expr()
720 result = reduce(&nexp, UNARY, exp, stk); in plural_expr()
723 exp = nexp; in plural_expr()
738 exp, stk); in plural_expr()
741 exp = nexp; in plural_expr()
746 exp->flag = flag; in plural_expr()
747 ret = stack_push(stk, exp); in plural_expr()
759 exp->flag = flag; in plural_expr()
760 ret = stack_push(stk, exp); in plural_expr()
770 exp, stk); in plural_expr()
773 exp = nexp; in plural_expr()
778 exp->flag = flag; in plural_expr()
779 ret = stack_push(stk, exp); in plural_expr()
786 freeexpr(exp); in plural_expr()
810 exp = stack_pop(stk, NULL, NULL); in plural_expr()
811 if (!exp) in plural_expr()
814 if (GETTYPE(exp->flag) != T_INIT) { in plural_expr()
819 type_name[GETTYPE(exp->flag)]); in plural_expr()
821 freeexpr(exp); in plural_expr()
832 freeexpr(exp); in plural_expr()
837 *e = exp; in plural_expr()
844 plural_eval(struct expr *exp, unsigned int n) in plural_eval() argument
849 (void) printf("*************** plural_eval(%p, %d)\n", exp, n); in plural_eval()
850 printexpr(exp, 0); in plural_eval()
853 type = GETTYPE(exp->op); in plural_eval()
854 opnum = GETOPNUM(exp->op); in plural_eval()
859 return (exp->num); in plural_eval()
866 e1 = plural_eval(exp->nodes[0], n); in plural_eval()
869 e1 = plural_eval(exp->nodes[0], n); in plural_eval()
872 return (e1 || plural_eval(exp->nodes[1], n)); in plural_eval()
874 return (e1 && plural_eval(exp->nodes[1], n)); in plural_eval()
876 e2 = plural_eval(exp->nodes[1], n); in plural_eval()
908 e1 = plural_eval(exp->nodes[0], n); in plural_eval()
910 return (plural_eval(exp->nodes[1], n)); in plural_eval()
912 return (plural_eval(exp->nodes[2], n)); in plural_eval()