Avaliacao de expressoes e Atribuicao quase prontas.
[toypasc.git] / c_codegen_visitor.h
blob41cfe92e80e9837c8e30ca8d231b5c0622fb6b95
1 #ifndef C_CODEGEN_VISITOR_H
2 #define C_CODEGEN_VISITOR_H
4 #include "ast.h"
6 #define TAB " "
8 Visitor *c_codegen_new();
10 void c_codegen_visit_program (struct _Visitor *, struct AstNode *);
11 void c_codegen_visit_programdecl (struct _Visitor *, struct AstNode *);
12 void c_codegen_visit_procfunc_list (struct _Visitor *, struct AstNode *);
13 void c_codegen_visit_procfunc (struct _Visitor *, struct AstNode *);
14 void c_codegen_visit_vardecl_list (struct _Visitor *, struct AstNode *);
15 void c_codegen_visit_vardecl (struct _Visitor *, struct AstNode *);
16 void c_codegen_visit_identifier_list (struct _Visitor *, struct AstNode *);
17 void c_codegen_visit_param_list (struct _Visitor *, struct AstNode *);
18 void c_codegen_visit_parameter (struct _Visitor *, struct AstNode *);
19 void c_codegen_visit_statement_list(struct _Visitor *, struct AstNode *);
20 void c_codegen_visit_printint_stmt (struct _Visitor *, struct AstNode *);
21 void c_codegen_visit_printchar_stmt (struct _Visitor *, struct AstNode *);
22 void c_codegen_visit_printbool_stmt (struct _Visitor *, struct AstNode *);
23 void c_codegen_visit_printline_stmt (struct _Visitor *, struct AstNode *);
24 void c_codegen_visit_assignment_stmt (struct _Visitor *, struct AstNode *);
25 void c_codegen_visit_if_stmt (struct _Visitor *, struct AstNode *);
26 void c_codegen_visit_while_stmt (struct _Visitor *, struct AstNode *);
27 void c_codegen_visit_for_stmt (struct _Visitor *, struct AstNode *);
28 void c_codegen_visit_binary_expr (struct _Visitor *, struct AstNode *);
29 void c_codegen_visit_notfactor (struct _Visitor *, struct AstNode *);
30 void c_codegen_visit_call (struct _Visitor *, struct AstNode *);
31 void c_codegen_visit_callparam_list (struct _Visitor *, struct AstNode *);
32 void c_codegen_visit_identifier (struct _Visitor *, struct AstNode *);
33 void c_codegen_visit_literal (struct _Visitor *, struct AstNode *);
34 void c_codegen_visit_binary_op (struct _Visitor *, struct AstNode *);
35 void c_codegen_visit_not_op (struct _Visitor *, struct AstNode *);
37 #endif // C_CODEGEN_VISITOR_H