2 #ifndef BDWY_CPATTERN_H
3 #define BDWY_CPATTERN_H
39 inline const string &
name()
const {
return _name; }
63 virtual void visit(Visitor * the_visitor);
64 virtual void walk(Walker & the_walker);
65 virtual Node *
change(Changer & the_changer,
bool redispatch =
false);
71 virtual void dataflow(FlowVal * v, FlowProblem & fp) {}
79 virtual void output_expr(output_context & ct, Node * par,
int prec, Assoc assoc);
130 virtual void visit(Visitor * the_visitor);
131 virtual void walk(Walker & the_walker);
132 virtual Node *
change(Changer & the_changer,
bool redispatch =
false);
138 virtual void dataflow(FlowVal * v, FlowProblem & fp) {}
146 virtual void output_stmt(output_context & ct, Node * par);
195 bool strict_toplevel,
bool strict_recursive)
203 virtual void visit(Visitor * the_visitor);
204 virtual void walk(Walker & the_walker);
205 virtual Node *
change(Changer & the_changer,
bool redispatch =
false);
215 virtual void output_type(output_context & ct, Node * par, Assoc context, Type_qualifiers q);
251 propertyAnalyzer * analyzer,
254 virtual Node *
at_expr(exprNode * the_expr, Order ord);
255 virtual Node *
at_stmt(stmtNode * the_stmt, Order ord);
256 virtual Node *
at_type(typeNode * the_type, Order ord);