|
#define | NEWGEN |
|
#define | GEN_HEADER (1) |
| include <sys/stdtypes.h> More...
|
|
#define | GEN_HEADER_SIZE (sizeof(gen_chunk)*GEN_HEADER) |
|
#define | gen_chunk_undefined ((gen_chunk *)(-16)) |
|
#define | gen_chunk_undefined_p(c) ((c)==gen_chunk_undefined) |
|
#define | chunk_undefined gen_chunk_undefined |
| obsolete More...
|
|
#define | chunk_undefined_p(c) gen_chunk_undefined_p(c) |
|
#define | UNIT(x) "You don't want to take the value of a unit type, do you?" |
|
#define | BOOL(x) ((x).b) |
|
#define | CHAR(x) ((x).c) |
|
#define | INT(x) ((x).i) |
|
#define | FLOAT(x) ((x).f) |
|
#define | STRING(x) ((x).s) |
|
#define | CONSP(x) ((x).l) |
|
#define | SETP(x) ((x).t) |
|
#define | CHUNK(x) ((x).p) |
|
#define | HASH(x) ((x).h) |
|
#define | CHUNKP(x) ((x).p) |
|
#define | LIST(x) ((x).l) |
|
#define | SET(x) ((x).t) |
|
#define | VOID_STAR(x) ((x).e) |
|
#define | UNIT_TYPE "You don't want a unit type, do you?" |
| for the MAP macro to handle simple types correctly. More...
|
|
#define | BOOL_TYPE bool |
|
#define | CHAR_TYPE char |
|
#define | INT_TYPE int |
|
#define | FLOAT_TYPE float |
|
#define | STRING_TYPE string |
|
#define | VOID_STAR_TYPE void * |
|
#define | bool_TYPE bool |
|
#define | char_TYPE char |
|
#define | int_TYPE int |
|
#define | float_TYPE float |
|
#define | string_TYPE string |
|
#define | BOOL_CAST(x) BOOL(x) |
|
#define | CHAR_CAST(x) CHAR(x) |
|
#define | INT_CAST(x) INT(x) |
|
#define | FLOAT_CAST(x) FLOAT(x) |
|
#define | STRING_CAST(x) STRING(x) |
|
#define | VOID_STAR_CAST(x) VOID_STAR(x) |
|
#define | bool_CAST(x) BOOL(x) |
|
#define | char_CAST(x) CHAR(x) |
|
#define | int_CAST(x) INT(x) |
|
#define | float_CAST(x) FLOAT(x) |
|
#define | string_CAST(x) STRING(x) |
|
#define | CONSP_TYPE list |
|
#define | LIST_TYPE list |
|
#define | SETP_TYPE set |
|
#define | SET_TYPE set |
|
#define | CHUNK_TYPE gen_chunkp |
|
#define | CHUNKP_TYPE gen_chunkp |
|
#define | HASH_TYPE hash_table |
|
#define | consp_TYPE list |
|
#define | list_TYPE list |
|
#define | setp_TYPE set |
|
#define | set_TYPE set |
|
#define | chunk_TYPE gen_chunkp |
|
#define | chunkp_TYPE gen_chunkp |
|
#define | hash_TYPE hash_table |
|
#define | CONSP_CAST(x) LIST(x) |
|
#define | LIST_CAST(x) LIST(x) |
|
#define | SETP_CAST(x) SET(x) |
|
#define | SET_CAST(x) SET(x) |
|
#define | CHUNK_CAST(x) CHUNK(x) |
|
#define | CHUNKP_CAST(x) CHUNKP(x) |
|
#define | HASH_CAST(x) HASH_TABLE(x) |
|
#define | consp_CAST(x) LIST(x) |
|
#define | list_CAST(x) LIST(x) |
|
#define | setp_CAST(x) SET(x) |
|
#define | set_CAST(x) SET(x) |
|
#define | chunk_CAST(x) CHUNK(x) |
|
#define | chunkp_CAST(x) CHUNKP(x) |
|
#define | hash_CAST(x) HASH_TABLE(x) |
|
#define | BOOL_NEWGEN_DOMAIN (bool_domain) |
| utils for typed cons More...
|
|
#define | CHAR_NEWGEN_DOMAIN (char_domain) |
|
#define | INT_NEWGEN_DOMAIN (int_domain) |
|
#define | FLOAT_NEWGEN_DOMAIN (float_domain) |
|
#define | STRING_NEWGEN_DOMAIN (string_domain) |
|
#define | bool_NEWGEN_DOMAIN (bool_domain) |
|
#define | char_NEWGEN_DOMAIN (char_domain) |
|
#define | int_NEWGEN_DOMAIN (int_domain) |
|
#define | float_NEWGEN_DOMAIN (float_domain) |
|
#define | string_NEWGEN_DOMAIN (string_domain) |
|
#define | LIST_NEWGEN_DOMAIN (-1) /**means unknown type... */ |
|
#define | GEN_DBG_TRAV_LEAF 1 |
|
#define | GEN_DBG_TRAV_SIMPLE 2 |
|
#define | GEN_DBG_TRAV_OBJECT 4 |
|
#define | GEN_DBG_CHECK 8 |
|
#define | GEN_DBG_RECURSE 16 |
|
#define | GEN_DBG_TRAV (GEN_DBG_TRAV_LEAF|GEN_DBG_TRAV_SIMPLE|GEN_DBG_TRAV_OBJECT) |
|
#define | gen_get_ancestor_type(i, o) gen_get_ancestor(i,o) |
|
#define | gen_start_recurse_ancestor_tracking() /**NOPE */ |
|
#define | gen_stop_recurse_ancestor_tracking() /**NOPE */ |
|
#define | gen_recurse(start, domain_number, flt, rwt) gen_recurse((start),(domain_number),((bool (*)(void*))(flt)),((void (*)(void*))(rwt))) |
|
#define | gen_context_recurse(start, ctxt, domain_number, flt, rwt) gen_context_recurse((start),(ctxt),(domain_number),((bool (*)(void*,void*))(flt)),((void (*)(void*,void*))(rwt))) |
|
#define | MEMORY_INCLUDED |
| Since C is not-orthogonal (chunk1 == chunk2 is prohibited), this one is needed. More...
|
|
#define | gen_equal(lhs, rhs) (memcmp((lhs),(rhs))==0) |
|
#define | GEN_CHECK(e, t) (e) |
| GEN_CHECK can be used to test run-time coherence of Newgen values. More...
|
|
#define | GEN_CHECK_ALLOC 0 |
|
#define | NEWGEN_CHECK_TYPE(dom, item) |
| this macro does about the same as gen_check, but inlined and safer. More...
|
|
|
void gen_free | GEN_PROTO ((gen_chunk *)) |
| recursion and utilities More...
|
|
int gen_free_tabulated | GEN_PROTO ((int)) |
| exported type translation functions. More...
|
|
void gen_write | GEN_PROTO ((FILE *, gen_chunk *)) |
|
int gen_write_tabulated | GEN_PROTO ((FILE *, int)) |
|
void gen_read_spec | GEN_PROTO ((char *,...)) |
|
gen_chunk *gen_read | GEN_PROTO ((FILE *)) |
|
gen_chunk *gen_alloc | GEN_PROTO ((int, int, int,...)) |
|
void gen_type_translation_reset | GEN_PROTO ((void)) |
|
void gen_type_translation_read | GEN_PROTO ((string)) |
|
void gen_init_external | GEN_PROTO ((int, void *(*)(FILE *, int(*)(void)), void(*)(FILE *, void *), void(*)(void *), void *(*)(void *), int(*)(void *))) |
|
gen_chunk *gen_check | GEN_PROTO ((gen_chunk *, int)) |
|
bool gen_sharing_p | GEN_PROTO ((gen_chunk *, gen_chunk *)) |
|
bool gen_true2 | GEN_PROTO ((gen_chunk *, void *)) |
|
void gen_null | GEN_PROTO ((void *)) |
|
void gen_null2 | GEN_PROTO ((void *, void *)) |
|
void gen_multi_recurse | GEN_PROTO ((void *,...)) |
|
void gen_context_multi_recurse | GEN_PROTO ((void *, void *,...)) |
|
void | gen_recurse (void *start, int domain_number, bool(*flt)(void *), void(*rwt)(void *)) |
|
void | gen_context_recurse (void *start, void *context, int domain_number, bool(*flt)(void *, void *context), void(*rwt)(void *, void *context)) |
|
gen_chunk * | gen_get_recurse_previous_visited_object (void) |
| Get the previously visited object. More...
|
|
gen_chunk * | gen_get_recurse_current_ancestor (void) |
| Get the ancestor of the current object. More...
|
|
gen_chunk * | gen_get_recurse_ancestor (const void *) |
| Get the first ancestor object encountered during the recursion for the given object. More...
|
|
gen_chunk * | gen_get_ancestor (int, const void *) |
| return the first ancestor object found of the given type. More...
|
|
gen_chunk * | gen_get_current_object (void) |
| return the current visited object, or NULL if not in a recursion. More...
|
|
gen_chunk * | gen_get_current_ancestor (int) |
| Return current object of that type... More...
|
|
int | current_shared_obj_table_size (void) |
| for debug More...
|
|
Function interface for user applications.
Function interface for user applications.
If you set gen_debug dynamically with gdb, do not forget to set gen_debug_indent to a positive enough value to avoid problems when gen_trav_obj() moves upwards the point it was when gen_debug was set
Definition at line 69 of file genClib.c.
Referenced by do_loop_unroll_with_epilogue(), do_loop_unroll_with_prologue(), full_loop_unroll(), gen_consistent_p(), gen_trav_leaf(), gen_trav_obj(), gen_trav_simple(), init_gen_quick_recurse_tables(), initialize_DirectDomainsTable(), initialize_domain_DecisionTables(), and initialize_domain_DirectDomainsTable().