/* ./tests/suites/toyir/tsf_ir.c -- generated by tsf_define from ./tests/suites/toyir/tsf_ir.t */ #include "tsf_ir.h" #include "tsf_define_helpers.h" #include static tsf_type_t *Operand__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Type__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *CodeOffset__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *VariableDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DebugData__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Procedure__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProcedureDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProcedureDefn__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProgramElement__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Program__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__mov__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__add__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__alloc__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__ret__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__jump__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__call__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__call__args__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *integer__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__branchZero__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProcedureDefn__variables__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *VariableDecl__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProcedureDefn__code__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Instruction__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProcedureDefn__debug__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DebugData__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *Program__globals__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *ProgramElement__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; tsf_type_t *Operand__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INTEGER); return result; } tsf_type_t *Type__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_STRING); return result; } tsf_type_t *CodeOffset__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INTEGER); return result; } tsf_type_t *VariableDecl__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(VariableDecl_t), (void(*)(void*))VariableDecl__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", Type__get_type, tsf_offsetof(VariableDecl_t, type)); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(VariableDecl_t, name)); tsf_type_set_name_aoe(&result, "VariableDecl"); return result; } tsf_type_t *Instruction__build_type(void) { tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(Instruction_t, value), tsf_offsetof(Instruction_t, u), sizeof(Instruction_t)); tsf_choice_type_append_primitive_aoe(&result, "nop", TSF_TK_VOID); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "mov", Instruction__mov__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "add", Instruction__add__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "alloc", Instruction__alloc__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "ret", Instruction__ret__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "jump", Instruction__jump__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "call", Instruction__call__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "branchZero", Instruction__branchZero__get_type); tsf_type_set_name_aoe(&result, "Instruction"); return result; } tsf_type_t *Instruction__mov__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(Instruction__mov_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", Operand__get_type, tsf_offsetof(Instruction__mov_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", Operand__get_type, tsf_offsetof(Instruction__mov_t, src)); tsf_type_set_name_aoe(&result, "Instruction__mov"); return result; } tsf_type_t *Instruction__add__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(Instruction__add_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", Operand__get_type, tsf_offsetof(Instruction__add_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", Operand__get_type, tsf_offsetof(Instruction__add_t, src)); tsf_type_set_name_aoe(&result, "Instruction__add"); return result; } tsf_type_t *Instruction__alloc__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(Instruction__alloc_t), (void(*)(void*))Instruction__alloc__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", Type__get_type, tsf_offsetof(Instruction__alloc_t, type)); tsf_type_set_name_aoe(&result, "Instruction__alloc"); return result; } tsf_type_t *Instruction__ret__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(Instruction__ret_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", Operand__get_type, tsf_offsetof(Instruction__ret_t, src)); tsf_type_set_name_aoe(&result, "Instruction__ret"); return result; } tsf_type_t *Instruction__jump__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(Instruction__jump_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", CodeOffset__get_type, tsf_offsetof(Instruction__jump_t, target)); tsf_type_set_name_aoe(&result, "Instruction__jump"); return result; } tsf_type_t *Instruction__call__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(Instruction__call_t), (void(*)(void*))Instruction__call__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", Operand__get_type, tsf_offsetof(Instruction__call_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "callee", Operand__get_type, tsf_offsetof(Instruction__call_t, callee)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "args", Instruction__call__args__get_type, tsf_offsetof(Instruction__call_t, args)); tsf_type_set_name_aoe(&result, "Instruction__call"); return result; } tsf_type_t *integer__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_create_aoe(TSF_TK_INTEGER)); return result; } tsf_type_t *Instruction__branchZero__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(Instruction__branchZero_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", Operand__get_type, tsf_offsetof(Instruction__branchZero_t, src)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", CodeOffset__get_type, tsf_offsetof(Instruction__branchZero_t, target)); tsf_type_set_name_aoe(&result, "Instruction__branchZero"); return result; } tsf_type_t *DebugData__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DebugData_t), (void(*)(void*))DebugData__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "startOffset", TSF_TK_INTEGER, tsf_offsetof(DebugData_t, startOffset)); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "spanSize", TSF_TK_INTEGER, tsf_offsetof(DebugData_t, spanSize)); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "data", TSF_TK_STRING, tsf_offsetof(DebugData_t, data)); tsf_type_set_name_aoe(&result, "DebugData"); return result; } tsf_type_t *Procedure__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(Procedure_t), (void(*)(void*))Procedure__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(Procedure_t, name)); tsf_type_set_name_aoe(&result, "Procedure"); return result; } tsf_type_t *ProcedureDecl__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(ProcedureDecl_t), (void(*)(void*))ProcedureDecl__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(ProcedureDecl_t, name)); tsf_type_set_name_aoe(&result, "ProcedureDecl"); return result; } tsf_type_t *ProcedureDefn__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(ProcedureDefn_t), (void(*)(void*))ProcedureDefn__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(ProcedureDefn_t, name)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "variables", ProcedureDefn__variables__get_type, tsf_offsetof(ProcedureDefn_t, variables)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "code", ProcedureDefn__code__get_type, tsf_offsetof(ProcedureDefn_t, code)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "debug", ProcedureDefn__debug__get_type, tsf_offsetof(ProcedureDefn_t, debug)); tsf_type_set_name_aoe(&result, "ProcedureDefn"); return result; } tsf_type_t *VariableDecl__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(VariableDecl__get_type())); return result; } tsf_type_t *Instruction__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(Instruction__get_type())); return result; } tsf_type_t *DebugData__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DebugData__get_type())); return result; } tsf_type_t *ProgramElement__build_type(void) { tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(ProgramElement_t, value), tsf_offsetof(ProgramElement_t, u), sizeof(ProgramElement_t)); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDecl", ProcedureDecl__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDefn", ProcedureDefn__get_type); tsf_type_set_name_aoe(&result, "ProgramElement"); return result; } tsf_type_t *Program__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(Program_t), (void(*)(void*))Program__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "globals", Program__globals__get_type, tsf_offsetof(Program_t, globals)); tsf_type_set_name_aoe(&result, "Program"); return result; } tsf_type_t *ProgramElement__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(ProgramElement__get_type())); return result; } tsf_type_t *Instruction__call__args__build_type(void) { tsf_type_t *result = tsf_type_dup(integer__array__get_type()); return result; } tsf_type_t *ProcedureDefn__variables__build_type(void) { tsf_type_t *result = tsf_type_dup(VariableDecl__array__get_type()); return result; } tsf_type_t *ProcedureDefn__code__build_type(void) { tsf_type_t *result = tsf_type_dup(Instruction__array__get_type()); return result; } tsf_type_t *ProcedureDefn__debug__build_type(void) { tsf_type_t *result = tsf_type_dup(DebugData__array__get_type()); return result; } tsf_type_t *Program__globals__build_type(void) { tsf_type_t *result = tsf_type_dup(ProgramElement__array__get_type()); return result; } static tsf_type_t * volatile Operand__type = NULL; static tsf_genrtr_t * volatile Operand__genrtr = NULL; static tsf_parser_t * volatile Operand__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Operand__type__oc = PTHREAD_ONCE_INIT; static void Operand__type__builder(void) { Operand__type = Operand__build_type(); } #else static void *Operand__type__builder(void) { return Operand__build_type(); } #endif tsf_type_t *Operand__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Operand__type, Operand__type__builder); #else pthread_once(&Operand__type__oc, Operand__type__builder); return Operand__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Operand__genrtr__oc = PTHREAD_ONCE_INIT; static void Operand__genrtr__builder(void) { Operand__genrtr = tsf_generator_create(Operand__get_type()); } #else static void *Operand__genrtr__builder(void) { return tsf_generator_create(Operand__get_type()); } #endif tsf_genrtr_t *Operand__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&Operand__genrtr, Operand__genrtr__builder); #else pthread_once(&Operand__genrtr__oc, Operand__genrtr__builder); return Operand__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Operand__parser__oc = PTHREAD_ONCE_INIT; static void Operand__parser__builder(void) { Operand__parser = tsf_parser_create(Operand__get_type()); } #else static void *Operand__parser__builder(void) { return tsf_parser_create(Operand__get_type()); } #endif tsf_parser_t *Operand__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&Operand__parser, Operand__parser__builder); #else pthread_once(&Operand__parser__oc, Operand__parser__builder); return Operand__parser; #endif } tsf_bool_t Operand__write(tsf_stream_file_output_t *out, Operand_t *data) { return tsf_typed_data_write(out, Operand__get_generator(), data); } Operand_t *Operand__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, Operand__get_parser()); } tsf_bool_t Operand__read_into(tsf_stream_file_input_t *in, Operand_t *result) { return tsf_typed_data_read_into(in, Operand__get_parser(), result); } static tsf_type_t * volatile Type__type = NULL; static tsf_genrtr_t * volatile Type__genrtr = NULL; static tsf_parser_t * volatile Type__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Type__type__oc = PTHREAD_ONCE_INIT; static void Type__type__builder(void) { Type__type = Type__build_type(); } #else static void *Type__type__builder(void) { return Type__build_type(); } #endif tsf_type_t *Type__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Type__type, Type__type__builder); #else pthread_once(&Type__type__oc, Type__type__builder); return Type__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Type__genrtr__oc = PTHREAD_ONCE_INIT; static void Type__genrtr__builder(void) { Type__genrtr = tsf_generator_create(Type__get_type()); } #else static void *Type__genrtr__builder(void) { return tsf_generator_create(Type__get_type()); } #endif tsf_genrtr_t *Type__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&Type__genrtr, Type__genrtr__builder); #else pthread_once(&Type__genrtr__oc, Type__genrtr__builder); return Type__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Type__parser__oc = PTHREAD_ONCE_INIT; static void Type__parser__builder(void) { Type__parser = tsf_parser_create(Type__get_type()); } #else static void *Type__parser__builder(void) { return tsf_parser_create(Type__get_type()); } #endif tsf_parser_t *Type__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&Type__parser, Type__parser__builder); #else pthread_once(&Type__parser__oc, Type__parser__builder); return Type__parser; #endif } void Type__destruct(Type_t *data) { free(*data); } tsf_bool_t Type__write(tsf_stream_file_output_t *out, Type_t *data) { return tsf_typed_data_write(out, Type__get_generator(), data); } Type_t *Type__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, Type__get_parser()); } tsf_bool_t Type__read_into(tsf_stream_file_input_t *in, Type_t *result) { return tsf_typed_data_read_into(in, Type__get_parser(), result); } static tsf_type_t * volatile CodeOffset__type = NULL; static tsf_genrtr_t * volatile CodeOffset__genrtr = NULL; static tsf_parser_t * volatile CodeOffset__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t CodeOffset__type__oc = PTHREAD_ONCE_INIT; static void CodeOffset__type__builder(void) { CodeOffset__type = CodeOffset__build_type(); } #else static void *CodeOffset__type__builder(void) { return CodeOffset__build_type(); } #endif tsf_type_t *CodeOffset__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&CodeOffset__type, CodeOffset__type__builder); #else pthread_once(&CodeOffset__type__oc, CodeOffset__type__builder); return CodeOffset__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t CodeOffset__genrtr__oc = PTHREAD_ONCE_INIT; static void CodeOffset__genrtr__builder(void) { CodeOffset__genrtr = tsf_generator_create(CodeOffset__get_type()); } #else static void *CodeOffset__genrtr__builder(void) { return tsf_generator_create(CodeOffset__get_type()); } #endif tsf_genrtr_t *CodeOffset__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&CodeOffset__genrtr, CodeOffset__genrtr__builder); #else pthread_once(&CodeOffset__genrtr__oc, CodeOffset__genrtr__builder); return CodeOffset__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t CodeOffset__parser__oc = PTHREAD_ONCE_INIT; static void CodeOffset__parser__builder(void) { CodeOffset__parser = tsf_parser_create(CodeOffset__get_type()); } #else static void *CodeOffset__parser__builder(void) { return tsf_parser_create(CodeOffset__get_type()); } #endif tsf_parser_t *CodeOffset__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&CodeOffset__parser, CodeOffset__parser__builder); #else pthread_once(&CodeOffset__parser__oc, CodeOffset__parser__builder); return CodeOffset__parser; #endif } tsf_bool_t CodeOffset__write(tsf_stream_file_output_t *out, CodeOffset_t *data) { return tsf_typed_data_write(out, CodeOffset__get_generator(), data); } CodeOffset_t *CodeOffset__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, CodeOffset__get_parser()); } tsf_bool_t CodeOffset__read_into(tsf_stream_file_input_t *in, CodeOffset_t *result) { return tsf_typed_data_read_into(in, CodeOffset__get_parser(), result); } static tsf_type_t * volatile VariableDecl__type = NULL; static tsf_genrtr_t * volatile VariableDecl__genrtr = NULL; static tsf_parser_t * volatile VariableDecl__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t VariableDecl__type__oc = PTHREAD_ONCE_INIT; static void VariableDecl__type__builder(void) { VariableDecl__type = VariableDecl__build_type(); } #else static void *VariableDecl__type__builder(void) { return VariableDecl__build_type(); } #endif tsf_type_t *VariableDecl__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&VariableDecl__type, VariableDecl__type__builder); #else pthread_once(&VariableDecl__type__oc, VariableDecl__type__builder); return VariableDecl__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t VariableDecl__genrtr__oc = PTHREAD_ONCE_INIT; static void VariableDecl__genrtr__builder(void) { VariableDecl__genrtr = tsf_generator_create(VariableDecl__get_type()); } #else static void *VariableDecl__genrtr__builder(void) { return tsf_generator_create(VariableDecl__get_type()); } #endif tsf_genrtr_t *VariableDecl__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&VariableDecl__genrtr, VariableDecl__genrtr__builder); #else pthread_once(&VariableDecl__genrtr__oc, VariableDecl__genrtr__builder); return VariableDecl__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t VariableDecl__parser__oc = PTHREAD_ONCE_INIT; static void VariableDecl__parser__builder(void) { VariableDecl__parser = tsf_parser_create(VariableDecl__get_type()); } #else static void *VariableDecl__parser__builder(void) { return tsf_parser_create(VariableDecl__get_type()); } #endif tsf_parser_t *VariableDecl__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&VariableDecl__parser, VariableDecl__parser__builder); #else pthread_once(&VariableDecl__parser__oc, VariableDecl__parser__builder); return VariableDecl__parser; #endif } void VariableDecl__destruct(VariableDecl_t *data) { Type__destruct(&data->type); free(*&data->name); } tsf_bool_t VariableDecl__write(tsf_stream_file_output_t *out, VariableDecl_t *data) { return tsf_typed_data_write(out, VariableDecl__get_generator(), data); } VariableDecl_t *VariableDecl__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, VariableDecl__get_parser()); } tsf_bool_t VariableDecl__read_into(tsf_stream_file_input_t *in, VariableDecl_t *result) { return tsf_typed_data_read_into(in, VariableDecl__get_parser(), result); } static tsf_type_t * volatile Instruction__type = NULL; static tsf_genrtr_t * volatile Instruction__genrtr = NULL; static tsf_parser_t * volatile Instruction__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__type__oc = PTHREAD_ONCE_INIT; static void Instruction__type__builder(void) { Instruction__type = Instruction__build_type(); } #else static void *Instruction__type__builder(void) { return Instruction__build_type(); } #endif tsf_type_t *Instruction__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__type, Instruction__type__builder); #else pthread_once(&Instruction__type__oc, Instruction__type__builder); return Instruction__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__genrtr__oc = PTHREAD_ONCE_INIT; static void Instruction__genrtr__builder(void) { Instruction__genrtr = tsf_generator_create(Instruction__get_type()); } #else static void *Instruction__genrtr__builder(void) { return tsf_generator_create(Instruction__get_type()); } #endif tsf_genrtr_t *Instruction__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&Instruction__genrtr, Instruction__genrtr__builder); #else pthread_once(&Instruction__genrtr__oc, Instruction__genrtr__builder); return Instruction__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__parser__oc = PTHREAD_ONCE_INIT; static void Instruction__parser__builder(void) { Instruction__parser = tsf_parser_create(Instruction__get_type()); } #else static void *Instruction__parser__builder(void) { return tsf_parser_create(Instruction__get_type()); } #endif tsf_parser_t *Instruction__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&Instruction__parser, Instruction__parser__builder); #else pthread_once(&Instruction__parser__oc, Instruction__parser__builder); return Instruction__parser; #endif } void Instruction__destruct(Instruction_t *data) { switch (data->value) { case 3: Instruction__alloc__destruct(&data->u.alloc); break; case 6: Instruction__call__destruct(&data->u.call); break; default: break; } } tsf_bool_t Instruction__write(tsf_stream_file_output_t *out, Instruction_t *data) { return tsf_typed_data_write(out, Instruction__get_generator(), data); } Instruction_t *Instruction__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, Instruction__get_parser()); } tsf_bool_t Instruction__read_into(tsf_stream_file_input_t *in, Instruction_t *result) { return tsf_typed_data_read_into(in, Instruction__get_parser(), result); } static tsf_type_t * volatile DebugData__type = NULL; static tsf_genrtr_t * volatile DebugData__genrtr = NULL; static tsf_parser_t * volatile DebugData__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DebugData__type__oc = PTHREAD_ONCE_INIT; static void DebugData__type__builder(void) { DebugData__type = DebugData__build_type(); } #else static void *DebugData__type__builder(void) { return DebugData__build_type(); } #endif tsf_type_t *DebugData__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DebugData__type, DebugData__type__builder); #else pthread_once(&DebugData__type__oc, DebugData__type__builder); return DebugData__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DebugData__genrtr__oc = PTHREAD_ONCE_INIT; static void DebugData__genrtr__builder(void) { DebugData__genrtr = tsf_generator_create(DebugData__get_type()); } #else static void *DebugData__genrtr__builder(void) { return tsf_generator_create(DebugData__get_type()); } #endif tsf_genrtr_t *DebugData__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DebugData__genrtr, DebugData__genrtr__builder); #else pthread_once(&DebugData__genrtr__oc, DebugData__genrtr__builder); return DebugData__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DebugData__parser__oc = PTHREAD_ONCE_INIT; static void DebugData__parser__builder(void) { DebugData__parser = tsf_parser_create(DebugData__get_type()); } #else static void *DebugData__parser__builder(void) { return tsf_parser_create(DebugData__get_type()); } #endif tsf_parser_t *DebugData__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DebugData__parser, DebugData__parser__builder); #else pthread_once(&DebugData__parser__oc, DebugData__parser__builder); return DebugData__parser; #endif } void DebugData__destruct(DebugData_t *data) { free(*&data->data); } tsf_bool_t DebugData__write(tsf_stream_file_output_t *out, DebugData_t *data) { return tsf_typed_data_write(out, DebugData__get_generator(), data); } DebugData_t *DebugData__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DebugData__get_parser()); } tsf_bool_t DebugData__read_into(tsf_stream_file_input_t *in, DebugData_t *result) { return tsf_typed_data_read_into(in, DebugData__get_parser(), result); } static tsf_type_t * volatile Procedure__type = NULL; static tsf_genrtr_t * volatile Procedure__genrtr = NULL; static tsf_parser_t * volatile Procedure__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Procedure__type__oc = PTHREAD_ONCE_INIT; static void Procedure__type__builder(void) { Procedure__type = Procedure__build_type(); } #else static void *Procedure__type__builder(void) { return Procedure__build_type(); } #endif tsf_type_t *Procedure__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Procedure__type, Procedure__type__builder); #else pthread_once(&Procedure__type__oc, Procedure__type__builder); return Procedure__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Procedure__genrtr__oc = PTHREAD_ONCE_INIT; static void Procedure__genrtr__builder(void) { Procedure__genrtr = tsf_generator_create(Procedure__get_type()); } #else static void *Procedure__genrtr__builder(void) { return tsf_generator_create(Procedure__get_type()); } #endif tsf_genrtr_t *Procedure__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&Procedure__genrtr, Procedure__genrtr__builder); #else pthread_once(&Procedure__genrtr__oc, Procedure__genrtr__builder); return Procedure__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Procedure__parser__oc = PTHREAD_ONCE_INIT; static void Procedure__parser__builder(void) { Procedure__parser = tsf_parser_create(Procedure__get_type()); } #else static void *Procedure__parser__builder(void) { return tsf_parser_create(Procedure__get_type()); } #endif tsf_parser_t *Procedure__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&Procedure__parser, Procedure__parser__builder); #else pthread_once(&Procedure__parser__oc, Procedure__parser__builder); return Procedure__parser; #endif } void Procedure__destruct(Procedure_t *data) { free(*&data->name); } tsf_bool_t Procedure__write(tsf_stream_file_output_t *out, Procedure_t *data) { return tsf_typed_data_write(out, Procedure__get_generator(), data); } Procedure_t *Procedure__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, Procedure__get_parser()); } tsf_bool_t Procedure__read_into(tsf_stream_file_input_t *in, Procedure_t *result) { return tsf_typed_data_read_into(in, Procedure__get_parser(), result); } static tsf_type_t * volatile ProcedureDecl__type = NULL; static tsf_genrtr_t * volatile ProcedureDecl__genrtr = NULL; static tsf_parser_t * volatile ProcedureDecl__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDecl__type__oc = PTHREAD_ONCE_INIT; static void ProcedureDecl__type__builder(void) { ProcedureDecl__type = ProcedureDecl__build_type(); } #else static void *ProcedureDecl__type__builder(void) { return ProcedureDecl__build_type(); } #endif tsf_type_t *ProcedureDecl__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProcedureDecl__type, ProcedureDecl__type__builder); #else pthread_once(&ProcedureDecl__type__oc, ProcedureDecl__type__builder); return ProcedureDecl__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDecl__genrtr__oc = PTHREAD_ONCE_INIT; static void ProcedureDecl__genrtr__builder(void) { ProcedureDecl__genrtr = tsf_generator_create(ProcedureDecl__get_type()); } #else static void *ProcedureDecl__genrtr__builder(void) { return tsf_generator_create(ProcedureDecl__get_type()); } #endif tsf_genrtr_t *ProcedureDecl__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&ProcedureDecl__genrtr, ProcedureDecl__genrtr__builder); #else pthread_once(&ProcedureDecl__genrtr__oc, ProcedureDecl__genrtr__builder); return ProcedureDecl__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDecl__parser__oc = PTHREAD_ONCE_INIT; static void ProcedureDecl__parser__builder(void) { ProcedureDecl__parser = tsf_parser_create(ProcedureDecl__get_type()); } #else static void *ProcedureDecl__parser__builder(void) { return tsf_parser_create(ProcedureDecl__get_type()); } #endif tsf_parser_t *ProcedureDecl__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&ProcedureDecl__parser, ProcedureDecl__parser__builder); #else pthread_once(&ProcedureDecl__parser__oc, ProcedureDecl__parser__builder); return ProcedureDecl__parser; #endif } void ProcedureDecl__destruct(ProcedureDecl_t *data) { free(*&data->name); } tsf_bool_t ProcedureDecl__write(tsf_stream_file_output_t *out, ProcedureDecl_t *data) { return tsf_typed_data_write(out, ProcedureDecl__get_generator(), data); } ProcedureDecl_t *ProcedureDecl__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, ProcedureDecl__get_parser()); } tsf_bool_t ProcedureDecl__read_into(tsf_stream_file_input_t *in, ProcedureDecl_t *result) { return tsf_typed_data_read_into(in, ProcedureDecl__get_parser(), result); } static tsf_type_t * volatile ProcedureDefn__type = NULL; static tsf_genrtr_t * volatile ProcedureDefn__genrtr = NULL; static tsf_parser_t * volatile ProcedureDefn__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__type__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__type__builder(void) { ProcedureDefn__type = ProcedureDefn__build_type(); } #else static void *ProcedureDefn__type__builder(void) { return ProcedureDefn__build_type(); } #endif tsf_type_t *ProcedureDefn__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProcedureDefn__type, ProcedureDefn__type__builder); #else pthread_once(&ProcedureDefn__type__oc, ProcedureDefn__type__builder); return ProcedureDefn__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__genrtr__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__genrtr__builder(void) { ProcedureDefn__genrtr = tsf_generator_create(ProcedureDefn__get_type()); } #else static void *ProcedureDefn__genrtr__builder(void) { return tsf_generator_create(ProcedureDefn__get_type()); } #endif tsf_genrtr_t *ProcedureDefn__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&ProcedureDefn__genrtr, ProcedureDefn__genrtr__builder); #else pthread_once(&ProcedureDefn__genrtr__oc, ProcedureDefn__genrtr__builder); return ProcedureDefn__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__parser__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__parser__builder(void) { ProcedureDefn__parser = tsf_parser_create(ProcedureDefn__get_type()); } #else static void *ProcedureDefn__parser__builder(void) { return tsf_parser_create(ProcedureDefn__get_type()); } #endif tsf_parser_t *ProcedureDefn__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&ProcedureDefn__parser, ProcedureDefn__parser__builder); #else pthread_once(&ProcedureDefn__parser__oc, ProcedureDefn__parser__builder); return ProcedureDefn__parser; #endif } void ProcedureDefn__destruct(ProcedureDefn_t *data) { free(*&data->name); ProcedureDefn__variables__destruct(&data->variables); ProcedureDefn__code__destruct(&data->code); ProcedureDefn__debug__destruct(&data->debug); } tsf_bool_t ProcedureDefn__write(tsf_stream_file_output_t *out, ProcedureDefn_t *data) { return tsf_typed_data_write(out, ProcedureDefn__get_generator(), data); } ProcedureDefn_t *ProcedureDefn__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, ProcedureDefn__get_parser()); } tsf_bool_t ProcedureDefn__read_into(tsf_stream_file_input_t *in, ProcedureDefn_t *result) { return tsf_typed_data_read_into(in, ProcedureDefn__get_parser(), result); } static tsf_type_t * volatile ProgramElement__type = NULL; static tsf_genrtr_t * volatile ProgramElement__genrtr = NULL; static tsf_parser_t * volatile ProgramElement__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProgramElement__type__oc = PTHREAD_ONCE_INIT; static void ProgramElement__type__builder(void) { ProgramElement__type = ProgramElement__build_type(); } #else static void *ProgramElement__type__builder(void) { return ProgramElement__build_type(); } #endif tsf_type_t *ProgramElement__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProgramElement__type, ProgramElement__type__builder); #else pthread_once(&ProgramElement__type__oc, ProgramElement__type__builder); return ProgramElement__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProgramElement__genrtr__oc = PTHREAD_ONCE_INIT; static void ProgramElement__genrtr__builder(void) { ProgramElement__genrtr = tsf_generator_create(ProgramElement__get_type()); } #else static void *ProgramElement__genrtr__builder(void) { return tsf_generator_create(ProgramElement__get_type()); } #endif tsf_genrtr_t *ProgramElement__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&ProgramElement__genrtr, ProgramElement__genrtr__builder); #else pthread_once(&ProgramElement__genrtr__oc, ProgramElement__genrtr__builder); return ProgramElement__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProgramElement__parser__oc = PTHREAD_ONCE_INIT; static void ProgramElement__parser__builder(void) { ProgramElement__parser = tsf_parser_create(ProgramElement__get_type()); } #else static void *ProgramElement__parser__builder(void) { return tsf_parser_create(ProgramElement__get_type()); } #endif tsf_parser_t *ProgramElement__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&ProgramElement__parser, ProgramElement__parser__builder); #else pthread_once(&ProgramElement__parser__oc, ProgramElement__parser__builder); return ProgramElement__parser; #endif } void ProgramElement__destruct(ProgramElement_t *data) { switch (data->value) { case 0: ProcedureDecl__destruct(&data->u.procedureDecl); break; case 1: ProcedureDefn__destruct(&data->u.procedureDefn); break; default: break; } } tsf_bool_t ProgramElement__write(tsf_stream_file_output_t *out, ProgramElement_t *data) { return tsf_typed_data_write(out, ProgramElement__get_generator(), data); } ProgramElement_t *ProgramElement__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, ProgramElement__get_parser()); } tsf_bool_t ProgramElement__read_into(tsf_stream_file_input_t *in, ProgramElement_t *result) { return tsf_typed_data_read_into(in, ProgramElement__get_parser(), result); } static tsf_type_t * volatile Program__type = NULL; static tsf_genrtr_t * volatile Program__genrtr = NULL; static tsf_parser_t * volatile Program__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Program__type__oc = PTHREAD_ONCE_INIT; static void Program__type__builder(void) { Program__type = Program__build_type(); } #else static void *Program__type__builder(void) { return Program__build_type(); } #endif tsf_type_t *Program__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Program__type, Program__type__builder); #else pthread_once(&Program__type__oc, Program__type__builder); return Program__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Program__genrtr__oc = PTHREAD_ONCE_INIT; static void Program__genrtr__builder(void) { Program__genrtr = tsf_generator_create(Program__get_type()); } #else static void *Program__genrtr__builder(void) { return tsf_generator_create(Program__get_type()); } #endif tsf_genrtr_t *Program__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&Program__genrtr, Program__genrtr__builder); #else pthread_once(&Program__genrtr__oc, Program__genrtr__builder); return Program__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Program__parser__oc = PTHREAD_ONCE_INIT; static void Program__parser__builder(void) { Program__parser = tsf_parser_create(Program__get_type()); } #else static void *Program__parser__builder(void) { return tsf_parser_create(Program__get_type()); } #endif tsf_parser_t *Program__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&Program__parser, Program__parser__builder); #else pthread_once(&Program__parser__oc, Program__parser__builder); return Program__parser; #endif } void Program__destruct(Program_t *data) { Program__globals__destruct(&data->globals); } tsf_bool_t Program__write(tsf_stream_file_output_t *out, Program_t *data) { return tsf_typed_data_write(out, Program__get_generator(), data); } Program_t *Program__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, Program__get_parser()); } tsf_bool_t Program__read_into(tsf_stream_file_input_t *in, Program_t *result) { return tsf_typed_data_read_into(in, Program__get_parser(), result); } static tsf_type_t * volatile Instruction__mov__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__mov__type__oc = PTHREAD_ONCE_INIT; static void Instruction__mov__type__builder(void) { Instruction__mov__type = Instruction__mov__build_type(); } #else static void *Instruction__mov__type__builder(void) { return Instruction__mov__build_type(); } #endif tsf_type_t *Instruction__mov__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__mov__type, Instruction__mov__type__builder); #else pthread_once(&Instruction__mov__type__oc, Instruction__mov__type__builder); return Instruction__mov__type; #endif } static tsf_type_t * volatile Instruction__add__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__add__type__oc = PTHREAD_ONCE_INIT; static void Instruction__add__type__builder(void) { Instruction__add__type = Instruction__add__build_type(); } #else static void *Instruction__add__type__builder(void) { return Instruction__add__build_type(); } #endif tsf_type_t *Instruction__add__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__add__type, Instruction__add__type__builder); #else pthread_once(&Instruction__add__type__oc, Instruction__add__type__builder); return Instruction__add__type; #endif } static tsf_type_t * volatile Instruction__alloc__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__alloc__type__oc = PTHREAD_ONCE_INIT; static void Instruction__alloc__type__builder(void) { Instruction__alloc__type = Instruction__alloc__build_type(); } #else static void *Instruction__alloc__type__builder(void) { return Instruction__alloc__build_type(); } #endif tsf_type_t *Instruction__alloc__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__alloc__type, Instruction__alloc__type__builder); #else pthread_once(&Instruction__alloc__type__oc, Instruction__alloc__type__builder); return Instruction__alloc__type; #endif } void Instruction__alloc__destruct(Instruction__alloc_t *data) { Type__destruct(&data->type); } static tsf_type_t * volatile Instruction__ret__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__ret__type__oc = PTHREAD_ONCE_INIT; static void Instruction__ret__type__builder(void) { Instruction__ret__type = Instruction__ret__build_type(); } #else static void *Instruction__ret__type__builder(void) { return Instruction__ret__build_type(); } #endif tsf_type_t *Instruction__ret__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__ret__type, Instruction__ret__type__builder); #else pthread_once(&Instruction__ret__type__oc, Instruction__ret__type__builder); return Instruction__ret__type; #endif } static tsf_type_t * volatile Instruction__jump__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__jump__type__oc = PTHREAD_ONCE_INIT; static void Instruction__jump__type__builder(void) { Instruction__jump__type = Instruction__jump__build_type(); } #else static void *Instruction__jump__type__builder(void) { return Instruction__jump__build_type(); } #endif tsf_type_t *Instruction__jump__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__jump__type, Instruction__jump__type__builder); #else pthread_once(&Instruction__jump__type__oc, Instruction__jump__type__builder); return Instruction__jump__type; #endif } static tsf_type_t * volatile Instruction__call__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__call__type__oc = PTHREAD_ONCE_INIT; static void Instruction__call__type__builder(void) { Instruction__call__type = Instruction__call__build_type(); } #else static void *Instruction__call__type__builder(void) { return Instruction__call__build_type(); } #endif tsf_type_t *Instruction__call__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__call__type, Instruction__call__type__builder); #else pthread_once(&Instruction__call__type__oc, Instruction__call__type__builder); return Instruction__call__type; #endif } void Instruction__call__destruct(Instruction__call_t *data) { Instruction__call__args__destruct(&data->args); } static tsf_type_t * volatile Instruction__call__args__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__call__args__type__oc = PTHREAD_ONCE_INIT; static void Instruction__call__args__type__builder(void) { Instruction__call__args__type = Instruction__call__args__build_type(); } #else static void *Instruction__call__args__type__builder(void) { return Instruction__call__args__build_type(); } #endif tsf_type_t *Instruction__call__args__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__call__args__type, Instruction__call__args__type__builder); #else pthread_once(&Instruction__call__args__type__oc, Instruction__call__args__type__builder); return Instruction__call__args__type; #endif } void Instruction__call__args__destruct(Instruction__call__args_t *data) { integer__array__destruct(data); } static tsf_type_t * volatile integer__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t integer__array__type__oc = PTHREAD_ONCE_INIT; static void integer__array__type__builder(void) { integer__array__type = integer__array__build_type(); } #else static void *integer__array__type__builder(void) { return integer__array__build_type(); } #endif tsf_type_t *integer__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&integer__array__type, integer__array__type__builder); #else pthread_once(&integer__array__type__oc, integer__array__type__builder); return integer__array__type; #endif } void integer__array__destruct(integer__array_t *data) { free(data->data); } static tsf_type_t * volatile Instruction__branchZero__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__branchZero__type__oc = PTHREAD_ONCE_INIT; static void Instruction__branchZero__type__builder(void) { Instruction__branchZero__type = Instruction__branchZero__build_type(); } #else static void *Instruction__branchZero__type__builder(void) { return Instruction__branchZero__build_type(); } #endif tsf_type_t *Instruction__branchZero__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__branchZero__type, Instruction__branchZero__type__builder); #else pthread_once(&Instruction__branchZero__type__oc, Instruction__branchZero__type__builder); return Instruction__branchZero__type; #endif } static tsf_type_t * volatile ProcedureDefn__variables__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__variables__type__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__variables__type__builder(void) { ProcedureDefn__variables__type = ProcedureDefn__variables__build_type(); } #else static void *ProcedureDefn__variables__type__builder(void) { return ProcedureDefn__variables__build_type(); } #endif tsf_type_t *ProcedureDefn__variables__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProcedureDefn__variables__type, ProcedureDefn__variables__type__builder); #else pthread_once(&ProcedureDefn__variables__type__oc, ProcedureDefn__variables__type__builder); return ProcedureDefn__variables__type; #endif } void ProcedureDefn__variables__destruct(ProcedureDefn__variables_t *data) { VariableDecl__array__destruct(data); } static tsf_type_t * volatile VariableDecl__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t VariableDecl__array__type__oc = PTHREAD_ONCE_INIT; static void VariableDecl__array__type__builder(void) { VariableDecl__array__type = VariableDecl__array__build_type(); } #else static void *VariableDecl__array__type__builder(void) { return VariableDecl__array__build_type(); } #endif tsf_type_t *VariableDecl__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&VariableDecl__array__type, VariableDecl__array__type__builder); #else pthread_once(&VariableDecl__array__type__oc, VariableDecl__array__type__builder); return VariableDecl__array__type; #endif } void VariableDecl__array__destruct(VariableDecl__array_t *data) { uint32_t i; for (i = data->len; i--;) VariableDecl__destruct((data->data + i)); free(data->data); } static tsf_type_t * volatile ProcedureDefn__code__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__code__type__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__code__type__builder(void) { ProcedureDefn__code__type = ProcedureDefn__code__build_type(); } #else static void *ProcedureDefn__code__type__builder(void) { return ProcedureDefn__code__build_type(); } #endif tsf_type_t *ProcedureDefn__code__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProcedureDefn__code__type, ProcedureDefn__code__type__builder); #else pthread_once(&ProcedureDefn__code__type__oc, ProcedureDefn__code__type__builder); return ProcedureDefn__code__type; #endif } void ProcedureDefn__code__destruct(ProcedureDefn__code_t *data) { Instruction__array__destruct(data); } static tsf_type_t * volatile Instruction__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Instruction__array__type__oc = PTHREAD_ONCE_INIT; static void Instruction__array__type__builder(void) { Instruction__array__type = Instruction__array__build_type(); } #else static void *Instruction__array__type__builder(void) { return Instruction__array__build_type(); } #endif tsf_type_t *Instruction__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Instruction__array__type, Instruction__array__type__builder); #else pthread_once(&Instruction__array__type__oc, Instruction__array__type__builder); return Instruction__array__type; #endif } void Instruction__array__destruct(Instruction__array_t *data) { uint32_t i; for (i = data->len; i--;) Instruction__destruct((data->data + i)); free(data->data); } static tsf_type_t * volatile ProcedureDefn__debug__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProcedureDefn__debug__type__oc = PTHREAD_ONCE_INIT; static void ProcedureDefn__debug__type__builder(void) { ProcedureDefn__debug__type = ProcedureDefn__debug__build_type(); } #else static void *ProcedureDefn__debug__type__builder(void) { return ProcedureDefn__debug__build_type(); } #endif tsf_type_t *ProcedureDefn__debug__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProcedureDefn__debug__type, ProcedureDefn__debug__type__builder); #else pthread_once(&ProcedureDefn__debug__type__oc, ProcedureDefn__debug__type__builder); return ProcedureDefn__debug__type; #endif } void ProcedureDefn__debug__destruct(ProcedureDefn__debug_t *data) { DebugData__array__destruct(data); } static tsf_type_t * volatile DebugData__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DebugData__array__type__oc = PTHREAD_ONCE_INIT; static void DebugData__array__type__builder(void) { DebugData__array__type = DebugData__array__build_type(); } #else static void *DebugData__array__type__builder(void) { return DebugData__array__build_type(); } #endif tsf_type_t *DebugData__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DebugData__array__type, DebugData__array__type__builder); #else pthread_once(&DebugData__array__type__oc, DebugData__array__type__builder); return DebugData__array__type; #endif } void DebugData__array__destruct(DebugData__array_t *data) { uint32_t i; for (i = data->len; i--;) DebugData__destruct((data->data + i)); free(data->data); } static tsf_type_t * volatile Program__globals__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t Program__globals__type__oc = PTHREAD_ONCE_INIT; static void Program__globals__type__builder(void) { Program__globals__type = Program__globals__build_type(); } #else static void *Program__globals__type__builder(void) { return Program__globals__build_type(); } #endif tsf_type_t *Program__globals__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&Program__globals__type, Program__globals__type__builder); #else pthread_once(&Program__globals__type__oc, Program__globals__type__builder); return Program__globals__type; #endif } void Program__globals__destruct(Program__globals_t *data) { ProgramElement__array__destruct(data); } static tsf_type_t * volatile ProgramElement__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t ProgramElement__array__type__oc = PTHREAD_ONCE_INIT; static void ProgramElement__array__type__builder(void) { ProgramElement__array__type = ProgramElement__array__build_type(); } #else static void *ProgramElement__array__type__builder(void) { return ProgramElement__array__build_type(); } #endif tsf_type_t *ProgramElement__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&ProgramElement__array__type, ProgramElement__array__type__builder); #else pthread_once(&ProgramElement__array__type__oc, ProgramElement__array__type__builder); return ProgramElement__array__type; #endif } void ProgramElement__array__destruct(ProgramElement__array_t *data) { uint32_t i; for (i = data->len; i--;) ProgramElement__destruct((data->data + i)); free(data->data); }