QuakeForge  0.7.2.210-815cf
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
symtab.h File Reference
This graph shows which files directly or indirectly include this file:

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_tcopy_symbol (symbol_t *symbol)
 Make a copy of a symbol. More...
 
symbol_tmake_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_tnew_symbol (const char *name)
 Create a new, empty named symbol. More...
 
symbol_tnew_symbol_type (const char *name, struct type_s *type)
 Create a new, typed, named symbol. More...
 
symtab_tnew_symtab (symtab_t *parent, stab_type_e type)
 Create a new, empty symbol table. More...
 
symbol_tsymtab_addsymbol (symtab_t *symtab, symbol_t *symbol)
 Add a symbol to the symbol table. More...
 
symtab_tsymtab_flat_copy (symtab_t *symtab, symtab_t *parent)
 Create a new single symbol table from the given symbol table chain. More...
 
symbol_tsymtab_lookup (symtab_t *symtab, const char *name)
 Lookup a name in the symbol table. More...
 
symbol_tsymtab_removesymbol (symtab_t *symtab, symbol_t *symbol)
 Remove a symbol from the symbol table. More...
 
const char * symtype_str (sy_type_e type)