c_parser_context read_c_parser_context(FILE *f)
void write_c_parser_context(FILE *f, c_parser_context p)
c_parser_context check_c_parser_context(c_parser_context p)
bool c_parser_context_consistent_p(c_parser_context p)
c_parser_context make_c_parser_context(string a1, type a2, storage a3, list a4, bool a5, bool a6)
list gen_c_parser_context_cons(c_parser_context p, list l)
void c_parser_context_non_recursive_free(c_parser_context p)
c_parser_context copy_c_parser_context(c_parser_context p)
C_PARSER_CONTEXT.
void free_c_parser_context(c_parser_context p)
void c_parser_context_assign_contents(c_parser_context r, c_parser_context v)
bool c_parser_context_defined_p(c_parser_context p)
#define C_PARSER_CONTEXT_NEWGEN_DOMAIN
#define c_parser_context_domain
newgen_qualifier_domain_defined
void gen_free(gen_chunk *obj)
version without shared_pointers.
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
int gen_defined_p(gen_chunk *obj)
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
gen_chunk * gen_copy_tree(gen_chunk *obj)
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
#define message_assert(msg, ex)
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
The structure used to build lists in NewGen.
A gen_chunk is used to store every object.