Lines Matching refs:val
33 struct val { struct
43 struct val *result; argument
45 void assert_to_integer(struct val *);
50 int compare_vals(struct val *, struct val *);
51 void free_value(struct val *);
53 int is_string(struct val *);
54 int is_zero_or_null(struct val *);
55 struct val *make_integer(intmax_t);
56 struct val *make_str(const char *);
57 struct val *op_and(struct val *, struct val *);
58 struct val *op_colon(struct val *, struct val *);
59 struct val *op_div(struct val *, struct val *);
60 struct val *op_eq(struct val *, struct val *);
61 struct val *op_ge(struct val *, struct val *);
62 struct val *op_gt(struct val *, struct val *);
63 struct val *op_le(struct val *, struct val *);
64 struct val *op_lt(struct val *, struct val *);
65 struct val *op_minus(struct val *, struct val *);
66 struct val *op_ne(struct val *, struct val *);
67 struct val *op_or(struct val *, struct val *);
68 struct val *op_plus(struct val *, struct val *);
69 struct val *op_rem(struct val *, struct val *);
70 struct val *op_times(struct val *, struct val *);
71 int to_integer(struct val *);
72 void to_string(struct val *);
80 struct val *val; member
83 %left <val> '|'
84 %left <val> '&'
85 %left <val> '=' '>' '<' GE LE NE
86 %left <val> '+' '-'
87 %left <val> '*' '/' '%'
88 %left <val> ':'
90 %token <val> TOKEN
91 %type <val> start expr
117 struct val *
120 struct val *vp;
122 vp = (struct val *)malloc(sizeof(*vp));
131 struct val *
134 struct val *vp; in make_str()
136 vp = (struct val *)malloc(sizeof(*vp)); in make_str()
149 free_value(struct val *vp) in free_value()
156 to_integer(struct val *vp) in to_integer()
175 assert_to_integer(struct val *vp) in assert_to_integer()
184 to_string(struct val *vp) in to_string()
225 is_string(struct val *vp) in is_string()
252 yylval.val = make_str(p); in yylex()
257 is_zero_or_null(struct val *vp) in is_zero_or_null()
305 struct val *
306 op_or(struct val *a, struct val *b) in op_or()
319 struct val *
320 op_and(struct val *a, struct val *b) in op_and()
333 compare_vals(struct val *a, struct val *b) in compare_vals()
357 struct val *
358 op_eq(struct val *a, struct val *b) in op_eq()
363 struct val *
364 op_gt(struct val *a, struct val *b) in op_gt()
369 struct val *
370 op_lt(struct val *a, struct val *b) in op_lt()
375 struct val *
376 op_ge(struct val *a, struct val *b) in op_ge()
381 struct val *
382 op_le(struct val *a, struct val *b) in op_le()
387 struct val *
388 op_ne(struct val *a, struct val *b) in op_ne()
405 struct val *
406 op_plus(struct val *a, struct val *b) in op_plus()
408 struct val *r; in op_plus()
428 struct val *
429 op_minus(struct val *a, struct val *b) in op_minus()
431 struct val *r; in op_minus()
466 struct val *
467 op_times(struct val *a, struct val *b) in op_times()
469 struct val *r; in op_times()
491 struct val *
492 op_div(struct val *a, struct val *b) in op_div()
494 struct val *r; in op_div()
507 struct val *
508 op_rem(struct val *a, struct val *b) in op_rem()
510 struct val *r; in op_rem()
523 struct val *
524 op_colon(struct val *a, struct val *b) in op_colon()
530 struct val *v; in op_colon()