- virtual void apply(Stage &);
- const std::string &get_result() const { return formatted; }
+ const std::string &apply(Stage &, Compiler::Mode);
+ const std::string &apply(Node &n) { n.visit(*this); return formatted; }
+
private:
void append(const std::string &);
void append(char);
void set_source(unsigned, unsigned);
private:
void append(const std::string &);
void append(char);
void set_source(unsigned, unsigned);
virtual void visit(Block &);
virtual void visit(Literal &);
virtual void visit(ParenthesizedExpression &);
virtual void visit(VariableReference &);
virtual void visit(Block &);
virtual void visit(Literal &);
virtual void visit(ParenthesizedExpression &);
virtual void visit(VariableReference &);
virtual void visit(MemberAccess &);
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);
virtual void visit(MemberAccess &);
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);
virtual void visit(FunctionDeclaration &);
virtual void visit(Conditional &);
virtual void visit(Iteration &);
virtual void visit(FunctionDeclaration &);
virtual void visit(Conditional &);
virtual void visit(Iteration &);