1 #ifndef AST_LLVM_GENERATOR_VISITOR_HH
2 # define AST_LLVM_GENERATOR_VISITOR_HH
6 # include <ast/browse-visitor.hh>
10 /// @defgroup Visitors
12 * @brief Generates LLVM assembly
15 class LLVMGeneratorVisitor
: public ConstBrowseVisitor
18 typedef ConstBrowseVisitor super_t
;
20 LLVMGeneratorVisitor(std::ostream
& out
);
21 virtual ~LLVMGeneratorVisitor();
23 virtual void visit(const Function
& node
);
25 virtual void visit(const VarDecl
& node
);
27 virtual void visit(const LoadVar
& node
);
28 virtual void visit(const StoreVar
& node
);
30 virtual void visit(const IdExp
& node
);
31 virtual void visit(const NumberExp
& node
);
32 virtual void visit(const TmpResultExp
& node
);
34 virtual void visit(const AssignExp
& node
);
35 virtual void visit(const AddExp
& node
);
42 #endif /* !AST_LLVM_GENERATOR_VISITOR_HH */