Typecheck pronto. Gerando grafos melhores.
[toypasc.git] / graphprinter_visitor.h
blob3e50b79d14e91b09267cc6d242d843e0acdc7cc2
1 #ifndef GRAPHPRINTER_VISITOR_H
2 #define GRAPHPRINTER_VISITOR_H
4 #include "ast.h"
6 #define COLOR_FILL_GLOBAL "\"#EEEEEE\""
7 #define COLOR_FILL_LOCAL "\"#CAE7FF\""
8 #define COLOR_FILL_COMMON "\"#EEFFEE\""
9 #define COLOR_FILL_LITERAL "\"#FFFFCC\""
10 #define COLOR_FILL_SYMBOL "\"#CCFF99\""
11 #define COLOR_FILL_ERROR "\"#FFEEEE\""
13 #define COLOR_EDGE_GROUP "\"#22DDAA\""
14 #define COLOR_EDGE_FUNCT "\"#EEEEFF\""
15 #define COLOR_EDGE_ERROR "\"#FF0000\""
17 Visitor *graphprinter_new();
19 void graphprinter_visit_program (struct _Visitor *, struct AstNode *);
20 void graphprinter_visit_programdecl (struct _Visitor *, struct AstNode *);
21 void graphprinter_visit_vardecl_list (struct _Visitor *, struct AstNode *);
22 void graphprinter_visit_identifier_list (struct _Visitor *, struct AstNode *);
23 void graphprinter_visit_procfunc_list (struct _Visitor *, struct AstNode *);
24 void graphprinter_visit_procfunc (struct _Visitor *, struct AstNode *);
25 void graphprinter_visit_param_list (struct _Visitor *, struct AstNode *);
26 void graphprinter_visit_parameter (struct _Visitor *, struct AstNode *);
27 void graphprinter_visit_statement_list (struct _Visitor *, struct AstNode *);
28 void graphprinter_visit_binary_expr (struct _Visitor *, struct AstNode *);
29 void graphprinter_visit_call (struct _Visitor *, struct AstNode *);
30 void graphprinter_visit_callparam_list (struct _Visitor *, struct AstNode *);
31 void graphprinter_visit_callparam (struct _Visitor *, struct AstNode *);
32 void graphprinter_visit_identifier (struct _Visitor *, struct AstNode *);
33 void graphprinter_visit_literal (struct _Visitor *, struct AstNode *);
35 void graphprinter_visit_simplenode (struct _Visitor *, struct AstNode *);
37 #endif // GRAPHPRINTER_VISITOR_H