Lines Matching refs:expr
60 s_expression *expr = NULL; in read_atom() local
72 expr = new(ctx) s_float(std::numeric_limits<float>::infinity()); in read_atom()
82 expr = new(ctx) s_float(f); in read_atom()
84 expr = new(ctx) s_int(i); in read_atom()
88 expr = new(ctx) s_symbol(symbol_buffer, n); in read_atom()
95 return expr; in read_atom()
111 s_expression *expr; in __read_expression() local
113 while ((expr = __read_expression(ctx, src, symbol_buffer)) != NULL) { in __read_expression()
114 list->subexpressions.push_tail(expr); in __read_expression()
166 s_expression *expr = (s_expression*) it.get(); in print() local
167 expr->print(); in print()
168 if (!expr->next->is_tail_sentinel()) in print()
177 s_pattern::match(s_expression *expr) in match() argument
181 case EXPR: *p_expr = expr; break; in match()
182 case LIST: if (expr->is_list()) *p_list = (s_list *) expr; break; in match()
183 case SYMBOL: if (expr->is_symbol()) *p_symbol = (s_symbol *) expr; break; in match()
184 case NUMBER: if (expr->is_number()) *p_number = (s_number *) expr; break; in match()
185 case INT: if (expr->is_int()) *p_int = (s_int *) expr; break; in match()
187 s_symbol *sym = SX_AS_SYMBOL(expr); in match()
193 return *p_expr == expr; in match()
208 s_expression *expr = (s_expression *) it.get(); in s_match() local
209 if (expr == NULL || !pattern[i].match(expr)) in s_match()