Data Structures | |
struct | symbol_s |
struct | symtab_s |
Typedefs | |
typedef struct symbol_s | symbol_t |
typedef struct symtab_s | symtab_t |
typedef enum vis_e | vis_t |
Enumerations | |
enum | stab_type_e { stab_global, stab_local, stab_struct, stab_union, stab_enum } |
enum | sy_type_e { sy_var, sy_const, sy_type, sy_expr, sy_func, sy_class } |
enum | vis_e { vis_public, vis_protected, vis_private } |
Functions | |
symbol_t * | copy_symbol (symbol_t *symbol) |
Make a copy of a symbol. More... | |
symbol_t * | make_symbol (const char *name, struct type_s *type, struct defspace_s *space, enum storage_class_e storage) |
Create a global symbol and allocate space for a variable. More... | |
symbol_t * | new_symbol (const char *name) |
Create a new, empty named symbol. More... | |
symbol_t * | new_symbol_type (const char *name, struct type_s *type) |
Create a new, typed, named symbol. More... | |
symtab_t * | new_symtab (symtab_t *parent, stab_type_e type) |
Create a new, empty symbol table. More... | |
symbol_t * | symtab_addsymbol (symtab_t *symtab, symbol_t *symbol) |
Add a symbol to the symbol table. More... | |
symtab_t * | symtab_flat_copy (symtab_t *symtab, symtab_t *parent) |
Create a new single symbol table from the given symbol table chain. More... | |
symbol_t * | symtab_lookup (symtab_t *symtab, const char *name) |
Lookup a name in the symbol table. More... | |
symbol_t * | symtab_removesymbol (symtab_t *symtab, symbol_t *symbol) |
Remove a symbol from the symbol table. More... | |
const char * | symtype_str (sy_type_e type) |