Lines Matching refs:expr
61 s_expression *expr = NULL; in read_atom() local
73 expr = new(ctx) s_float(INFINITY); in read_atom()
83 expr = new(ctx) s_float(f); in read_atom()
85 expr = new(ctx) s_int(i); in read_atom()
89 expr = new(ctx) s_symbol(symbol_buffer, n); in read_atom()
96 return expr; in read_atom()
112 s_expression *expr; in __read_expression() local
114 while ((expr = __read_expression(ctx, src, symbol_buffer)) != NULL) { in __read_expression()
115 list->subexpressions.push_tail(expr); in __read_expression()
166 foreach_in_list(s_expression, expr, &this->subexpressions) { in print()
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()
204 foreach_in_list(s_expression, expr, &list->subexpressions) { in s_match()
208 if (expr == NULL || !pattern[i].match(expr)) in s_match()