Lines Matching refs:stk

71 		while (stk->index > 0) \
72 freeexpr(stk->ptr[--stk->index]); \
73 free(stk->ptr); \
89 stack_push(struct stack *stk, struct expr *exp) in stack_push() argument
97 stk->ptr[stk->index++] = exp; in stack_push()
98 if (stk->index == MAX_STACK_SIZE) { in stack_push()
109 stack_pop(struct stack *stk, struct expr *exp_a, struct expr *exp_b) in stack_pop() argument
111 if (stk->index == 0) { in stack_pop()
123 type_name[GETTYPE((stk->ptr[stk->index - 1])->op)]); in stack_pop()
125 type_name[GETTYPE((stk->ptr[stk->index - 1])->flag)]); in stack_pop()
128 return (stk->ptr[--stk->index]); in stack_pop()
160 struct stack *stk, unsigned int flag) in setop1() argument
186 setop_reduce(unsigned int n, unsigned int op, struct stack *stk, in setop_reduce() argument
240 reduce(struct expr **nexp, unsigned int n, struct expr *exp, struct stack *stk) in reduce() argument
255 exp_op = stack_pop(stk, exp1, NULL); in reduce()
261 *nexp = setop_reduce(UNARY, oop, stk, exp1, NULL, NULL); in reduce()
269 exp_op = stack_pop(stk, exp2, NULL); in reduce()
272 exp1 = stack_pop(stk, exp_op, exp2); in reduce()
278 *nexp = setop_reduce(BINARY, oop, stk, exp1, exp2, NULL); in reduce()
286 exp_op = stack_pop(stk, exp3, NULL); in reduce()
290 exp2 = stack_pop(stk, exp3, NULL); in reduce()
293 exp_op = stack_pop(stk, exp2, exp3); in reduce()
306 exp1 = stack_pop(stk, exp2, exp3); in reduce()
311 *nexp = setop_reduce(TRINARY, oop, stk, exp1, exp2, exp3); in reduce()
452 struct stack *stk, stkbuf; in plural_expr() local
459 stk = &stkbuf; in plural_expr()
460 stk->index = 0; in plural_expr()
461 stk->ptr = malloc(sizeof (struct expr *) * MAX_STACK_SIZE); in plural_expr()
462 if (!stk->ptr) { in plural_expr()
496 exp = setop1(op, 0, stk, flag); in plural_expr()
499 ret = stack_push(stk, exp); in plural_expr()
517 exp = setop1(op, 0, stk, flag); in plural_expr()
520 ret = stack_push(stk, exp); in plural_expr()
537 exp = setop1(op, 0, stk, flag); in plural_expr()
540 ret = stack_push(stk, exp); in plural_expr()
558 exp = setop1(op, 0, stk, flag); in plural_expr()
561 ret = stack_push(stk, exp); in plural_expr()
588 exp = stack_pop(stk, NULL, NULL); in plural_expr()
604 exp_op = stack_pop(stk, exp, NULL); in plural_expr()
620 exp, stk); in plural_expr()
651 exp = setop1(op, 0, stk, flag); 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()
672 ret = stack_push(stk, exp); in plural_expr()
711 ret = stack_push(stk, exp); in plural_expr()
720 result = reduce(&nexp, UNARY, exp, stk); in plural_expr()
738 exp, stk); in plural_expr()
747 ret = stack_push(stk, exp); in plural_expr()
760 ret = stack_push(stk, exp); in plural_expr()
770 exp, stk); in plural_expr()
779 ret = stack_push(stk, exp); in plural_expr()
810 exp = stack_pop(stk, NULL, NULL); in plural_expr()
825 if (stk->index > 0) { in plural_expr()
830 while ((nexp = stack_pop(stk, NULL, NULL)) != NULL) in plural_expr()