Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AstExpression;
- class AstCall;
- class AstBinaryExpression;
- class AstUnaryExpression;
- class AstValueFloat;
- class AstValueInt;
- class AstVariable;
- struct VisitorAst
- {
- virtual ~VisitorAst();
- virtual void visit(AstExpression&) = 0;
- virtual void visit(AstCall&) = 0;
- virtual void visit(AstBinaryExpression&) = 0;
- virtual void visit(AstUnaryExpression&) = 0;
- virtual void visit(AstValueFloat&) = 0;
- virtual void visit(AstValueInt&) = 0;
- virtual void visit(AstVariable&) = 0;
- };
- struct StringifyAst:
- public VisitorAst
- {
- std::string str;
- void visit(AstExpression&) override {}
- void visit(AstCall&) override {}
- void visit(AstBinaryExpression&) override;
- void visit(AstUnaryExpression&) override;
- void visit(AstValueFloat&) override;
- void visit(AstValueInt&) override;
- void visit(AstVariable&) override;
- };
Advertisement
Add Comment
Please, Sign In to add comment