Lines Matching refs:exp
66 validate_expr(struct expression *exp, int val1_is_set, int op_is_set, int val2_is_set, in validate_expr() argument
82 if (exp == NULL) { in validate_expr()
90 switch(exp->type) { in validate_expr()
110 if (exp->next == NULL) { in validate_expr()
114 if ((exp->next->type == TYPE_OP_PLUS) || in validate_expr()
115 (exp->next->type == TYPE_OP_MINUS) || in validate_expr()
116 (exp->next->type == TYPE_OP_DIVIDE) || in validate_expr()
117 (exp->next->type == TYPE_OP_MULT)) { in validate_expr()
132 if (validate_expr(exp->next, 0, 0, 0, op_cnt) == 0) { in validate_expr()
138 return(validate_expr(exp->next, 0, 0, 0, op_cnt)); in validate_expr()
163 printf("unknown type %d\n", exp->type); in validate_expr()
167 return(validate_expr(exp->next, val1, op, val2, op_cnt)); in validate_expr()
171 print_exp(struct expression *exp) in print_exp() argument
173 if (exp == NULL) { in print_exp()
177 switch(exp->type) { in print_exp()
197 printf("%f", exp->value); in print_exp()
200 printf("%s", exp->name); in print_exp()
203 printf("Unknown op %d\n", exp->type); in print_exp()
206 print_exp(exp->next); in print_exp()
352 set_math_precidence(struct expression **beg, struct expression *exp, struct expression **stopped) in set_math_precidence() argument
361 start = at = exp; in set_math_precidence()
428 struct expression *exp=NULL, *last=NULL, *at; in parse_expression() local
473 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
476 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
485 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
488 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
491 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
494 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
498 at = alloc_and_hook_expr(&exp, &last); in parse_expression()
536 if (validate_expr(exp, 0, 0, 0, &op_cnt)) { in parse_expression()
540 set_math_precidence(&exp, exp, NULL); in parse_expression()
541 return (exp); in parse_expression()
547 gather_exp_to_paren_close(struct expression *exp, double *val_fill) in gather_exp_to_paren_close() argument
560 if (exp->type == TYPE_PARN_OPEN) { in gather_exp_to_paren_close()
561 lastproc = gather_exp_to_paren_close(exp->next, &val); in gather_exp_to_paren_close()
564 *val_fill = run_expr(exp, 0, &lastproc); in gather_exp_to_paren_close()
571 run_expr(struct expression *exp, int initial_call, struct expression **lastone) in run_expr() argument
584 if (exp->type == TYPE_PARN_OPEN) { in run_expr()
585 op = gather_exp_to_paren_close(exp->next, &val1); in run_expr()
586 } else if(exp->type == TYPE_VALUE_CON) { in run_expr()
587 val1 = exp->value; in run_expr()
588 op = exp->next; in run_expr()
589 } else if (exp->type == TYPE_VALUE_PMC) { in run_expr()
590 val1 = exp->value; in run_expr()
591 op = exp->next; in run_expr()
672 calc_expr(struct expression *exp) in calc_expr() argument
678 for(at = exp; at != NULL; at = at->next) { in calc_expr()
684 for(at = exp; at != NULL; at = at->next) { in calc_expr()
695 print_exp(exp); in calc_expr()
696 xx = run_expr(exp, 1, NULL); in calc_expr()
705 struct expression *exp; in main() local
710 exp = parse_expression(argv[1]); in main()
712 calc_expr(exp); in main()