1 #ifndef LLVM_CODEGEN_VISITOR_H
2 #define LLVM_CODEGEN_VISITOR_H
8 Visitor
*llvm_codegen_new();
10 void llvm_codegen_visit_program (struct _Visitor
*, struct AstNode
*);
11 void llvm_codegen_visit_programdecl (struct _Visitor
*, struct AstNode
*);
12 void llvm_codegen_visit_procfunc_list (struct _Visitor
*, struct AstNode
*);
13 void llvm_codegen_visit_procfunc (struct _Visitor
*, struct AstNode
*);
14 void llvm_codegen_visit_vardecl_list (struct _Visitor
*, struct AstNode
*);
15 void llvm_codegen_visit_vardecl (struct _Visitor
*, struct AstNode
*);
16 void llvm_codegen_visit_identifier_list (struct _Visitor
*, struct AstNode
*);
17 void llvm_codegen_visit_param_list (struct _Visitor
*, struct AstNode
*);
18 void llvm_codegen_visit_parameter (struct _Visitor
*, struct AstNode
*);
19 void llvm_codegen_visit_statement_list(struct _Visitor
*, struct AstNode
*);
20 void llvm_codegen_visit_printint_stmt (struct _Visitor
*, struct AstNode
*);
21 void llvm_codegen_visit_printchar_stmt (struct _Visitor
*, struct AstNode
*);
22 void llvm_codegen_visit_printbool_stmt (struct _Visitor
*, struct AstNode
*);
23 void llvm_codegen_visit_printline_stmt (struct _Visitor
*, struct AstNode
*);
24 void llvm_codegen_visit_assignment_stmt (struct _Visitor
*, struct AstNode
*);
25 void llvm_codegen_visit_if_stmt (struct _Visitor
*, struct AstNode
*);
26 void llvm_codegen_visit_while_stmt (struct _Visitor
*, struct AstNode
*);
27 void llvm_codegen_visit_for_stmt (struct _Visitor
*, struct AstNode
*);
28 void llvm_codegen_visit_binary_expr (struct _Visitor
*, struct AstNode
*);
29 void llvm_codegen_visit_notfactor (struct _Visitor
*, struct AstNode
*);
30 void llvm_codegen_visit_call (struct _Visitor
*, struct AstNode
*);
31 void llvm_codegen_visit_callparam_list (struct _Visitor
*, struct AstNode
*);
32 void llvm_codegen_visit_identifier (struct _Visitor
*, struct AstNode
*);
33 void llvm_codegen_visit_literal (struct _Visitor
*, struct AstNode
*);
34 void llvm_codegen_visit_binary_op (struct _Visitor
*, struct AstNode
*);
35 void llvm_codegen_visit_not_op (struct _Visitor
*, struct AstNode
*);
37 #endif // LLVM_CODEGEN_VISITOR_H