Adicionando codegen_visitor.h e c
[toypasc.git] / symbol_table.h
blob4354962ce0c8ecf4394fc4a21b561bed874b1fe7
1 #ifndef SYMBOL_TABLE_H
2 #define SYMBOL_TABLE_H
4 #include "base.h"
6 typedef struct _symbol {
7 char *name;
8 Type type;
9 Value value;
10 int decl_linenum;
11 int params;
12 Type *param_types;
13 struct _symbol *next;
14 } Symbol;
16 static Symbol *global_symbol_table;
18 Symbol *symbol_new(char const * name);
19 Symbol *symbol_lookup(Symbol *symtab, char const *name);
20 Symbol *symbol_insert(Symbol *symtab, Symbol *symbol);
22 void symbol_table_destroy(Symbol *table);
23 void symbol_table_dump(Symbol *table);
24 void symbol_print(Symbol *symbol);
26 #endif // SYMBOL_TABLE_H