ceptr
|
header file for symbol and structure definition functions More...
Go to the source code of this file.
Macros | |
#define | ST(r, name, num,...) name = _r_define_structure(r,"" #name "",num,__VA_ARGS__) |
#define | SY(r, name, str) name = _r_define_symbol(r,str,"" #name "") |
#define | SP(r, code, name, intention, signature, link) name = _r_define_process(r,code,"" #name "",intention,signature,link) |
#define | t2s(t) _t2s(G_sem,t) |
#define | t2sp(t) __t2s(G_sem,t,INDENT) |
#define | _t2s(d, t) __t2s(d,t,NO_INDENT) |
#define | _d_get_def(defs, s) _t_child(defs,(s).id); |
#define | _d_get_process_code(processes, p) _d_get_def(processes,p) |
#define | _d_get_symbol_def(symbols, s) _d_get_def(symbols,s) |
#define | _d_get_structure_def(structures, s) _d_get_def(structures,s) |
#define | spec_is_sem_equal(got, expected) spec_total++; if (semeq(expected,got)){putchar('.');} else {putchar('F');sprintf(failures[spec_failures++],"%s:%d expected %s to be %d.%d.%d but was %d.%d.%d",__FUNCTION__,__LINE__,#got,(expected).context,(expected).semtype,(expected).id,(got).context,(got).semtype,(got).id);} |
Functions | |
int | semeq (SemanticID s1, SemanticID s2) |
SemanticID | _d_define (SemTable *sem, T *def, SemanticType semtype, Context c) |
void | __d_validate_symbol (SemTable *sem, Symbol s, char *n) |
void | __d_validate_structure (SemTable *sem, Structure s, char *n) |
void | __d_set_symbol_structure (T *symbols, Symbol sym, Structure s) |
SemanticAddr | _d_get_def_addr (T *def) |
Symbol | _d_define_symbol (SemTable *sem, Structure s, char *label, Context c) |
Structure | _d_define_structure (SemTable *sem, char *label, T *structure_def, Context c) |
Structure | _d_define_structure_v (SemTable *sem, char *label, Context c, int num_params,...) |
T * | _d_make_vstruc_def (SemTable *sem, char *label, int num_params, va_list params) |
Structure | __d_get_symbol_structure (T *symbols, Symbol s) |
size_t | _d_get_symbol_size (SemTable *sem, Symbol s, void *surface) |
size_t | _d_get_structure_size (SemTable *sem, Symbol s, void *surface) |
T * | _d_make_process_def (T *code, char *name, char *intention, T *signature, T *link) |
Process | _d_define_process (SemTable *sem, T *code, char *name, char *intention, T *signature, T *link, Context c) |
Protocol | _d_define_protocol (SemTable *sem, T *def, Context c) |
T * | _d_make_protocol_def (SemTable *sem, char *label,...) |
T * | _d_build_def_semtrex (SemTable *sem, Symbol s, T *parent) |
size_t | _sys_structure_size (int id, void *surface) |
SemanticID | _d_define_receptor (SemTable *sem, char *label, T *definitions, Context c) |
SemanticID | __d_define_receptor (SemTable *sem, T *def, Context c) |
Context | _d_get_receptor_context (SemTable *sem, SemanticID r) |
char * | __t2s (SemTable *sem, T *t, int indent) |
char * | _indent_line (int level, char *buf) |
char * | __t_dump (SemTable *sem, T *t, int level, char *buf) |
SemTable * | def_sys () |
void | sys_free (SemTable *sem) |
Variables | |
T * | G_cursor |
header file for symbol and structure definition functions
Definition in file def.h.