blob: cc01022c03cd605800fb48321b2e42fb54f6c3d9 [file] [log] [blame]
/* ./tests/suites/toyir/tsf_ir_different.h -- generated by tsf_define from ./tests/suites/toyir/tsf_ir_different.t */
#include "tsf.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DVariableDecl
#define TSF_DEFINE_STRUCT_DECL_DVariableDecl
struct DVariableDecl_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction
#define TSF_DEFINE_STRUCT_DECL_DInstruction
struct DInstruction_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProcedure
#define TSF_DEFINE_STRUCT_DECL_DProcedure
struct DProcedure_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProcedureDecl
#define TSF_DEFINE_STRUCT_DECL_DProcedureDecl
struct DProcedureDecl_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProcedureDefn
#define TSF_DEFINE_STRUCT_DECL_DProcedureDefn
struct DProcedureDefn_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProgramElement
#define TSF_DEFINE_STRUCT_DECL_DProgramElement
struct DProgramElement_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProgram
#define TSF_DEFINE_STRUCT_DECL_DProgram
struct DProgram_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__mov
#define TSF_DEFINE_STRUCT_DECL_DInstruction__mov
struct DInstruction__mov_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__add
#define TSF_DEFINE_STRUCT_DECL_DInstruction__add
struct DInstruction__add_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__alloc
#define TSF_DEFINE_STRUCT_DECL_DInstruction__alloc
struct DInstruction__alloc_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__ret
#define TSF_DEFINE_STRUCT_DECL_DInstruction__ret
struct DInstruction__ret_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__jump
#define TSF_DEFINE_STRUCT_DECL_DInstruction__jump
struct DInstruction__jump_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__call
#define TSF_DEFINE_STRUCT_DECL_DInstruction__call
struct DInstruction__call_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_int16__array
#define TSF_DEFINE_STRUCT_DECL_int16__array
struct int16__array_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__branchZero
#define TSF_DEFINE_STRUCT_DECL_DInstruction__branchZero
struct DInstruction__branchZero_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DVariableDecl__array
#define TSF_DEFINE_STRUCT_DECL_DVariableDecl__array
struct DVariableDecl__array_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DInstruction__array
#define TSF_DEFINE_STRUCT_DECL_DInstruction__array
struct DInstruction__array_s;
#endif
#ifndef TSF_DEFINE_STRUCT_DECL_DProgramElement__array
#define TSF_DEFINE_STRUCT_DECL_DProgramElement__array
struct DProgramElement__array_s;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DVariableDecl
#define TSF_DEFINE_TYPEDEF_DVariableDecl
typedef struct DVariableDecl_s DVariableDecl_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction
#define TSF_DEFINE_TYPEDEF_DInstruction
typedef struct DInstruction_s DInstruction_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProcedure
#define TSF_DEFINE_TYPEDEF_DProcedure
typedef struct DProcedure_s DProcedure_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProcedureDecl
#define TSF_DEFINE_TYPEDEF_DProcedureDecl
typedef struct DProcedureDecl_s DProcedureDecl_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProcedureDefn
#define TSF_DEFINE_TYPEDEF_DProcedureDefn
typedef struct DProcedureDefn_s DProcedureDefn_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProgramElement
#define TSF_DEFINE_TYPEDEF_DProgramElement
typedef struct DProgramElement_s DProgramElement_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProgram
#define TSF_DEFINE_TYPEDEF_DProgram
typedef struct DProgram_s DProgram_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__mov
#define TSF_DEFINE_TYPEDEF_DInstruction__mov
typedef struct DInstruction__mov_s DInstruction__mov_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__add
#define TSF_DEFINE_TYPEDEF_DInstruction__add
typedef struct DInstruction__add_s DInstruction__add_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__alloc
#define TSF_DEFINE_TYPEDEF_DInstruction__alloc
typedef struct DInstruction__alloc_s DInstruction__alloc_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__ret
#define TSF_DEFINE_TYPEDEF_DInstruction__ret
typedef struct DInstruction__ret_s DInstruction__ret_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__jump
#define TSF_DEFINE_TYPEDEF_DInstruction__jump
typedef struct DInstruction__jump_s DInstruction__jump_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__call
#define TSF_DEFINE_TYPEDEF_DInstruction__call
typedef struct DInstruction__call_s DInstruction__call_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_int16__array
#define TSF_DEFINE_TYPEDEF_int16__array
typedef struct int16__array_s int16__array_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__branchZero
#define TSF_DEFINE_TYPEDEF_DInstruction__branchZero
typedef struct DInstruction__branchZero_s DInstruction__branchZero_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DVariableDecl__array
#define TSF_DEFINE_TYPEDEF_DVariableDecl__array
typedef struct DVariableDecl__array_s DVariableDecl__array_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__array
#define TSF_DEFINE_TYPEDEF_DInstruction__array
typedef struct DInstruction__array_s DInstruction__array_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProgramElement__array
#define TSF_DEFINE_TYPEDEF_DProgramElement__array
typedef struct DProgramElement__array_s DProgramElement__array_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DOperand
#define TSF_DEFINE_TYPEDEF_DOperand
typedef int16_t DOperand_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DType
#define TSF_DEFINE_TYPEDEF_DType
typedef char* DType_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DCodeOffset
#define TSF_DEFINE_TYPEDEF_DCodeOffset
typedef int16_t DCodeOffset_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DInstruction__call__args
#define TSF_DEFINE_TYPEDEF_DInstruction__call__args
typedef int16__array_t DInstruction__call__args_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProcedureDefn__variables
#define TSF_DEFINE_TYPEDEF_DProcedureDefn__variables
typedef DVariableDecl__array_t DProcedureDefn__variables_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProcedureDefn__code
#define TSF_DEFINE_TYPEDEF_DProcedureDefn__code
typedef DInstruction__array_t DProcedureDefn__code_t;
#endif
#ifndef TSF_DEFINE_TYPEDEF_DProgram__globals
#define TSF_DEFINE_TYPEDEF_DProgram__globals
typedef DProgramElement__array_t DProgram__globals_t;
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DVariableDecl
#define TSF_DEFINE_STRUCT_DEF_DVariableDecl
struct DVariableDecl_s {
DType_t type;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__mov
#define TSF_DEFINE_STRUCT_DEF_DInstruction__mov
struct DInstruction__mov_s {
DOperand_t dest;
DOperand_t src;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__add
#define TSF_DEFINE_STRUCT_DEF_DInstruction__add
struct DInstruction__add_s {
DOperand_t dest;
DOperand_t src;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__alloc
#define TSF_DEFINE_STRUCT_DEF_DInstruction__alloc
struct DInstruction__alloc_s {
DType_t type;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__ret
#define TSF_DEFINE_STRUCT_DEF_DInstruction__ret
struct DInstruction__ret_s {
DOperand_t src;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__jump
#define TSF_DEFINE_STRUCT_DEF_DInstruction__jump
struct DInstruction__jump_s {
DCodeOffset_t target;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_int16__array
#define TSF_DEFINE_STRUCT_DEF_int16__array
struct int16__array_s {
int16_t *data;
uint32_t len;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__call
#define TSF_DEFINE_STRUCT_DEF_DInstruction__call
struct DInstruction__call_s {
DOperand_t dest;
DOperand_t callee;
DInstruction__call__args_t args;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__branchZero
#define TSF_DEFINE_STRUCT_DEF_DInstruction__branchZero
struct DInstruction__branchZero_s {
DOperand_t src;
DCodeOffset_t target;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction
#define TSF_DEFINE_STRUCT_DEF_DInstruction
struct DInstruction_s {
tsf_choice_t value;
union {
DInstruction__mov_t mov;
DInstruction__add_t add;
DInstruction__alloc_t alloc;
DInstruction__ret_t ret;
DInstruction__jump_t jump;
DInstruction__call_t call;
DInstruction__branchZero_t branchZero;
} u;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProcedure
#define TSF_DEFINE_STRUCT_DEF_DProcedure
struct DProcedure_s {
char* name;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProcedureDecl
#define TSF_DEFINE_STRUCT_DEF_DProcedureDecl
struct DProcedureDecl_s {
char* name;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DVariableDecl__array
#define TSF_DEFINE_STRUCT_DEF_DVariableDecl__array
struct DVariableDecl__array_s {
DVariableDecl_t *data;
uint32_t len;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DInstruction__array
#define TSF_DEFINE_STRUCT_DEF_DInstruction__array
struct DInstruction__array_s {
DInstruction_t *data;
uint32_t len;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProcedureDefn
#define TSF_DEFINE_STRUCT_DEF_DProcedureDefn
struct DProcedureDefn_s {
char* name;
DProcedureDefn__variables_t variables;
DProcedureDefn__code_t code;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProgramElement
#define TSF_DEFINE_STRUCT_DEF_DProgramElement
struct DProgramElement_s {
tsf_choice_t value;
union {
DProcedureDecl_t procedureDecl;
DProcedureDefn_t procedureDefn;
} u;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProgramElement__array
#define TSF_DEFINE_STRUCT_DEF_DProgramElement__array
struct DProgramElement__array_s {
DProgramElement_t *data;
uint32_t len;
};
#endif
#ifndef TSF_DEFINE_STRUCT_DEF_DProgram
#define TSF_DEFINE_STRUCT_DEF_DProgram
struct DProgram_s {
DProgram__globals_t globals;
};
#endif
#ifndef TSF_DEFINE_CHOICE_DEFS_DInstruction
#define TSF_DEFINE_CHOICE_DEFS_DInstruction
#define DInstruction__nop 0
#define DInstruction__mov 1
#define DInstruction__add 2
#define DInstruction__alloc 3
#define DInstruction__ret 4
#define DInstruction__jump 5
#define DInstruction__call 6
#define DInstruction__branchZero 7
static TSF_inline const char *DInstruction__to_str(tsf_choice_t value) {
switch (value) {
case 0: return "nop";
case 1: return "mov";
case 2: return "add";
case 3: return "alloc";
case 4: return "ret";
case 5: return "jump";
case 6: return "call";
case 7: return "branchZero";
case UINT32_MAX: return "<unknown>";
default: abort();
}
}
#endif
#ifndef TSF_DEFINE_CHOICE_DEFS_DProgramElement
#define TSF_DEFINE_CHOICE_DEFS_DProgramElement
#define DProgramElement__procedureDecl 0
#define DProgramElement__procedureDefn 1
static TSF_inline const char *DProgramElement__to_str(tsf_choice_t value) {
switch (value) {
case 0: return "procedureDecl";
case 1: return "procedureDefn";
case UINT32_MAX: return "<unknown>";
default: abort();
}
}
#endif
#ifndef TSF_DEFINE_FUNCS_DOperand
#define TSF_DEFINE_FUNCS_DOperand
tsf_type_t *DOperand__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DOperand__destruct(DOperand_t *data) { }
tsf_genrtr_t *DOperand__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DOperand__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DOperand(tsf_type_t *type) { return tsf_type_instanceof(type, DOperand__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DOperand(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DOperand__get_type()); }
static TSF_inline tsf_buffer_t *DOperand__generate(void *data) { return tsf_generator_generate(DOperand__get_generator(), data); }
static TSF_inline tsf_buffer_t *DOperand__generate_in(void *data, void *region) { return tsf_generator_generate_in(DOperand__get_generator(), data, region); }
static TSF_inline DOperand_t *DOperand__parse(tsf_buffer_t *buf) { return (DOperand_t*)tsf_parser_parse(DOperand__get_parser(), buf); }
static TSF_inline DOperand_t *DOperand__parse_in(tsf_buffer_t *buf, void *region) { return (DOperand_t*)tsf_parser_parse_in(DOperand__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DOperand__parse_into(tsf_buffer_t *buf, DOperand_t *data, void *region) { return tsf_parser_parse_into(DOperand__get_parser(), buf, data, region); }
tsf_bool_t DOperand__write(tsf_stream_file_output_t *out, DOperand_t *data) TSF_ATTRIBUTE_NOINLINE;
DOperand_t *DOperand__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DOperand__read_into(tsf_stream_file_input_t *inp, DOperand_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DType
#define TSF_DEFINE_FUNCS_DType
tsf_type_t *DType__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DType__destruct(DType_t *data);
tsf_genrtr_t *DType__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DType__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DType(tsf_type_t *type) { return tsf_type_instanceof(type, DType__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DType(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DType__get_type()); }
static TSF_inline tsf_buffer_t *DType__generate(void *data) { return tsf_generator_generate(DType__get_generator(), data); }
static TSF_inline tsf_buffer_t *DType__generate_in(void *data, void *region) { return tsf_generator_generate_in(DType__get_generator(), data, region); }
static TSF_inline DType_t *DType__parse(tsf_buffer_t *buf) { return (DType_t*)tsf_parser_parse(DType__get_parser(), buf); }
static TSF_inline DType_t *DType__parse_in(tsf_buffer_t *buf, void *region) { return (DType_t*)tsf_parser_parse_in(DType__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DType__parse_into(tsf_buffer_t *buf, DType_t *data, void *region) { return tsf_parser_parse_into(DType__get_parser(), buf, data, region); }
tsf_bool_t DType__write(tsf_stream_file_output_t *out, DType_t *data) TSF_ATTRIBUTE_NOINLINE;
DType_t *DType__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DType__read_into(tsf_stream_file_input_t *inp, DType_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DCodeOffset
#define TSF_DEFINE_FUNCS_DCodeOffset
tsf_type_t *DCodeOffset__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DCodeOffset__destruct(DCodeOffset_t *data) { }
tsf_genrtr_t *DCodeOffset__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DCodeOffset__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DCodeOffset(tsf_type_t *type) { return tsf_type_instanceof(type, DCodeOffset__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DCodeOffset(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DCodeOffset__get_type()); }
static TSF_inline tsf_buffer_t *DCodeOffset__generate(void *data) { return tsf_generator_generate(DCodeOffset__get_generator(), data); }
static TSF_inline tsf_buffer_t *DCodeOffset__generate_in(void *data, void *region) { return tsf_generator_generate_in(DCodeOffset__get_generator(), data, region); }
static TSF_inline DCodeOffset_t *DCodeOffset__parse(tsf_buffer_t *buf) { return (DCodeOffset_t*)tsf_parser_parse(DCodeOffset__get_parser(), buf); }
static TSF_inline DCodeOffset_t *DCodeOffset__parse_in(tsf_buffer_t *buf, void *region) { return (DCodeOffset_t*)tsf_parser_parse_in(DCodeOffset__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DCodeOffset__parse_into(tsf_buffer_t *buf, DCodeOffset_t *data, void *region) { return tsf_parser_parse_into(DCodeOffset__get_parser(), buf, data, region); }
tsf_bool_t DCodeOffset__write(tsf_stream_file_output_t *out, DCodeOffset_t *data) TSF_ATTRIBUTE_NOINLINE;
DCodeOffset_t *DCodeOffset__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DCodeOffset__read_into(tsf_stream_file_input_t *inp, DCodeOffset_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DVariableDecl
#define TSF_DEFINE_FUNCS_DVariableDecl
tsf_type_t *DVariableDecl__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DVariableDecl__destruct(DVariableDecl_t *data);
tsf_genrtr_t *DVariableDecl__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DVariableDecl__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DVariableDecl(tsf_type_t *type) { return tsf_type_instanceof(type, DVariableDecl__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DVariableDecl(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DVariableDecl__get_type()); }
static TSF_inline tsf_buffer_t *DVariableDecl__generate(void *data) { return tsf_generator_generate(DVariableDecl__get_generator(), data); }
static TSF_inline tsf_buffer_t *DVariableDecl__generate_in(void *data, void *region) { return tsf_generator_generate_in(DVariableDecl__get_generator(), data, region); }
static TSF_inline DVariableDecl_t *DVariableDecl__parse(tsf_buffer_t *buf) { return (DVariableDecl_t*)tsf_parser_parse(DVariableDecl__get_parser(), buf); }
static TSF_inline DVariableDecl_t *DVariableDecl__parse_in(tsf_buffer_t *buf, void *region) { return (DVariableDecl_t*)tsf_parser_parse_in(DVariableDecl__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DVariableDecl__parse_into(tsf_buffer_t *buf, DVariableDecl_t *data, void *region) { return tsf_parser_parse_into(DVariableDecl__get_parser(), buf, data, region); }
tsf_bool_t DVariableDecl__write(tsf_stream_file_output_t *out, DVariableDecl_t *data) TSF_ATTRIBUTE_NOINLINE;
DVariableDecl_t *DVariableDecl__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DVariableDecl__read_into(tsf_stream_file_input_t *inp, DVariableDecl_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction
#define TSF_DEFINE_FUNCS_DInstruction
tsf_type_t *DInstruction__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DInstruction__destruct(DInstruction_t *data);
tsf_genrtr_t *DInstruction__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DInstruction__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DInstruction(tsf_type_t *type) { return tsf_type_instanceof(type, DInstruction__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DInstruction(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DInstruction__get_type()); }
static TSF_inline tsf_buffer_t *DInstruction__generate(void *data) { return tsf_generator_generate(DInstruction__get_generator(), data); }
static TSF_inline tsf_buffer_t *DInstruction__generate_in(void *data, void *region) { return tsf_generator_generate_in(DInstruction__get_generator(), data, region); }
static TSF_inline DInstruction_t *DInstruction__parse(tsf_buffer_t *buf) { return (DInstruction_t*)tsf_parser_parse(DInstruction__get_parser(), buf); }
static TSF_inline DInstruction_t *DInstruction__parse_in(tsf_buffer_t *buf, void *region) { return (DInstruction_t*)tsf_parser_parse_in(DInstruction__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DInstruction__parse_into(tsf_buffer_t *buf, DInstruction_t *data, void *region) { return tsf_parser_parse_into(DInstruction__get_parser(), buf, data, region); }
tsf_bool_t DInstruction__write(tsf_stream_file_output_t *out, DInstruction_t *data) TSF_ATTRIBUTE_NOINLINE;
DInstruction_t *DInstruction__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DInstruction__read_into(tsf_stream_file_input_t *inp, DInstruction_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DProcedure
#define TSF_DEFINE_FUNCS_DProcedure
tsf_type_t *DProcedure__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProcedure__destruct(DProcedure_t *data);
tsf_genrtr_t *DProcedure__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DProcedure__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DProcedure(tsf_type_t *type) { return tsf_type_instanceof(type, DProcedure__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DProcedure(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DProcedure__get_type()); }
static TSF_inline tsf_buffer_t *DProcedure__generate(void *data) { return tsf_generator_generate(DProcedure__get_generator(), data); }
static TSF_inline tsf_buffer_t *DProcedure__generate_in(void *data, void *region) { return tsf_generator_generate_in(DProcedure__get_generator(), data, region); }
static TSF_inline DProcedure_t *DProcedure__parse(tsf_buffer_t *buf) { return (DProcedure_t*)tsf_parser_parse(DProcedure__get_parser(), buf); }
static TSF_inline DProcedure_t *DProcedure__parse_in(tsf_buffer_t *buf, void *region) { return (DProcedure_t*)tsf_parser_parse_in(DProcedure__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DProcedure__parse_into(tsf_buffer_t *buf, DProcedure_t *data, void *region) { return tsf_parser_parse_into(DProcedure__get_parser(), buf, data, region); }
tsf_bool_t DProcedure__write(tsf_stream_file_output_t *out, DProcedure_t *data) TSF_ATTRIBUTE_NOINLINE;
DProcedure_t *DProcedure__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DProcedure__read_into(tsf_stream_file_input_t *inp, DProcedure_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DProcedureDecl
#define TSF_DEFINE_FUNCS_DProcedureDecl
tsf_type_t *DProcedureDecl__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProcedureDecl__destruct(DProcedureDecl_t *data);
tsf_genrtr_t *DProcedureDecl__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DProcedureDecl__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DProcedureDecl(tsf_type_t *type) { return tsf_type_instanceof(type, DProcedureDecl__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DProcedureDecl(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DProcedureDecl__get_type()); }
static TSF_inline tsf_buffer_t *DProcedureDecl__generate(void *data) { return tsf_generator_generate(DProcedureDecl__get_generator(), data); }
static TSF_inline tsf_buffer_t *DProcedureDecl__generate_in(void *data, void *region) { return tsf_generator_generate_in(DProcedureDecl__get_generator(), data, region); }
static TSF_inline DProcedureDecl_t *DProcedureDecl__parse(tsf_buffer_t *buf) { return (DProcedureDecl_t*)tsf_parser_parse(DProcedureDecl__get_parser(), buf); }
static TSF_inline DProcedureDecl_t *DProcedureDecl__parse_in(tsf_buffer_t *buf, void *region) { return (DProcedureDecl_t*)tsf_parser_parse_in(DProcedureDecl__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DProcedureDecl__parse_into(tsf_buffer_t *buf, DProcedureDecl_t *data, void *region) { return tsf_parser_parse_into(DProcedureDecl__get_parser(), buf, data, region); }
tsf_bool_t DProcedureDecl__write(tsf_stream_file_output_t *out, DProcedureDecl_t *data) TSF_ATTRIBUTE_NOINLINE;
DProcedureDecl_t *DProcedureDecl__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DProcedureDecl__read_into(tsf_stream_file_input_t *inp, DProcedureDecl_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DProcedureDefn
#define TSF_DEFINE_FUNCS_DProcedureDefn
tsf_type_t *DProcedureDefn__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProcedureDefn__destruct(DProcedureDefn_t *data);
tsf_genrtr_t *DProcedureDefn__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DProcedureDefn__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DProcedureDefn(tsf_type_t *type) { return tsf_type_instanceof(type, DProcedureDefn__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DProcedureDefn(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DProcedureDefn__get_type()); }
static TSF_inline tsf_buffer_t *DProcedureDefn__generate(void *data) { return tsf_generator_generate(DProcedureDefn__get_generator(), data); }
static TSF_inline tsf_buffer_t *DProcedureDefn__generate_in(void *data, void *region) { return tsf_generator_generate_in(DProcedureDefn__get_generator(), data, region); }
static TSF_inline DProcedureDefn_t *DProcedureDefn__parse(tsf_buffer_t *buf) { return (DProcedureDefn_t*)tsf_parser_parse(DProcedureDefn__get_parser(), buf); }
static TSF_inline DProcedureDefn_t *DProcedureDefn__parse_in(tsf_buffer_t *buf, void *region) { return (DProcedureDefn_t*)tsf_parser_parse_in(DProcedureDefn__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DProcedureDefn__parse_into(tsf_buffer_t *buf, DProcedureDefn_t *data, void *region) { return tsf_parser_parse_into(DProcedureDefn__get_parser(), buf, data, region); }
tsf_bool_t DProcedureDefn__write(tsf_stream_file_output_t *out, DProcedureDefn_t *data) TSF_ATTRIBUTE_NOINLINE;
DProcedureDefn_t *DProcedureDefn__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DProcedureDefn__read_into(tsf_stream_file_input_t *inp, DProcedureDefn_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DProgramElement
#define TSF_DEFINE_FUNCS_DProgramElement
tsf_type_t *DProgramElement__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProgramElement__destruct(DProgramElement_t *data);
tsf_genrtr_t *DProgramElement__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DProgramElement__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DProgramElement(tsf_type_t *type) { return tsf_type_instanceof(type, DProgramElement__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DProgramElement(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DProgramElement__get_type()); }
static TSF_inline tsf_buffer_t *DProgramElement__generate(void *data) { return tsf_generator_generate(DProgramElement__get_generator(), data); }
static TSF_inline tsf_buffer_t *DProgramElement__generate_in(void *data, void *region) { return tsf_generator_generate_in(DProgramElement__get_generator(), data, region); }
static TSF_inline DProgramElement_t *DProgramElement__parse(tsf_buffer_t *buf) { return (DProgramElement_t*)tsf_parser_parse(DProgramElement__get_parser(), buf); }
static TSF_inline DProgramElement_t *DProgramElement__parse_in(tsf_buffer_t *buf, void *region) { return (DProgramElement_t*)tsf_parser_parse_in(DProgramElement__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DProgramElement__parse_into(tsf_buffer_t *buf, DProgramElement_t *data, void *region) { return tsf_parser_parse_into(DProgramElement__get_parser(), buf, data, region); }
tsf_bool_t DProgramElement__write(tsf_stream_file_output_t *out, DProgramElement_t *data) TSF_ATTRIBUTE_NOINLINE;
DProgramElement_t *DProgramElement__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DProgramElement__read_into(tsf_stream_file_input_t *inp, DProgramElement_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DProgram
#define TSF_DEFINE_FUNCS_DProgram
tsf_type_t *DProgram__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProgram__destruct(DProgram_t *data);
tsf_genrtr_t *DProgram__get_generator(void) TSF_ATTRIBUTE_NOINLINE;
tsf_parser_t *DProgram__get_parser(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline tsf_bool_t instanceof__DProgram(tsf_type_t *type) { return tsf_type_instanceof(type, DProgram__get_type()); }
static TSF_inline tsf_bool_t buf_instanceof__DProgram(tsf_buffer_t *buf) { return tsf_buffer_instanceof(buf, DProgram__get_type()); }
static TSF_inline tsf_buffer_t *DProgram__generate(void *data) { return tsf_generator_generate(DProgram__get_generator(), data); }
static TSF_inline tsf_buffer_t *DProgram__generate_in(void *data, void *region) { return tsf_generator_generate_in(DProgram__get_generator(), data, region); }
static TSF_inline DProgram_t *DProgram__parse(tsf_buffer_t *buf) { return (DProgram_t*)tsf_parser_parse(DProgram__get_parser(), buf); }
static TSF_inline DProgram_t *DProgram__parse_in(tsf_buffer_t *buf, void *region) { return (DProgram_t*)tsf_parser_parse_in(DProgram__get_parser(), buf, region); }
static TSF_inline tsf_bool_t DProgram__parse_into(tsf_buffer_t *buf, DProgram_t *data, void *region) { return tsf_parser_parse_into(DProgram__get_parser(), buf, data, region); }
tsf_bool_t DProgram__write(tsf_stream_file_output_t *out, DProgram_t *data) TSF_ATTRIBUTE_NOINLINE;
DProgram_t *DProgram__read(tsf_stream_file_input_t *inp) TSF_ATTRIBUTE_NOINLINE;
tsf_bool_t DProgram__read_into(tsf_stream_file_input_t *inp, DProgram_t *result) TSF_ATTRIBUTE_NOINLINE;
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__mov
#define TSF_DEFINE_FUNCS_DInstruction__mov
tsf_type_t *DInstruction__mov__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DInstruction__mov__destruct(DInstruction__mov_t *data) { }
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__add
#define TSF_DEFINE_FUNCS_DInstruction__add
tsf_type_t *DInstruction__add__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DInstruction__add__destruct(DInstruction__add_t *data) { }
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__alloc
#define TSF_DEFINE_FUNCS_DInstruction__alloc
tsf_type_t *DInstruction__alloc__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DInstruction__alloc__destruct(DInstruction__alloc_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__ret
#define TSF_DEFINE_FUNCS_DInstruction__ret
tsf_type_t *DInstruction__ret__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DInstruction__ret__destruct(DInstruction__ret_t *data) { }
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__jump
#define TSF_DEFINE_FUNCS_DInstruction__jump
tsf_type_t *DInstruction__jump__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DInstruction__jump__destruct(DInstruction__jump_t *data) { }
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__call
#define TSF_DEFINE_FUNCS_DInstruction__call
tsf_type_t *DInstruction__call__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DInstruction__call__destruct(DInstruction__call_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__call__args
#define TSF_DEFINE_FUNCS_DInstruction__call__args
tsf_type_t *DInstruction__call__args__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DInstruction__call__args__destruct(DInstruction__call__args_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_int16__array
#define TSF_DEFINE_FUNCS_int16__array
#define int16__array__get_type int16__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__get_type
#define int16__array__destruct int16__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__destruct
tsf_type_t *int16__array__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void int16__array__destruct(int16__array_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__branchZero
#define TSF_DEFINE_FUNCS_DInstruction__branchZero
tsf_type_t *DInstruction__branchZero__get_type(void) TSF_ATTRIBUTE_NOINLINE;
static TSF_inline void DInstruction__branchZero__destruct(DInstruction__branchZero_t *data) { }
#endif
#ifndef TSF_DEFINE_FUNCS_DProcedureDefn__variables
#define TSF_DEFINE_FUNCS_DProcedureDefn__variables
tsf_type_t *DProcedureDefn__variables__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProcedureDefn__variables__destruct(DProcedureDefn__variables_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DVariableDecl__array
#define TSF_DEFINE_FUNCS_DVariableDecl__array
#define DVariableDecl__array__get_type DVariableDecl__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__get_type
#define DVariableDecl__array__destruct DVariableDecl__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__destruct
tsf_type_t *DVariableDecl__array__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DVariableDecl__array__destruct(DVariableDecl__array_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DProcedureDefn__code
#define TSF_DEFINE_FUNCS_DProcedureDefn__code
tsf_type_t *DProcedureDefn__code__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProcedureDefn__code__destruct(DProcedureDefn__code_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DInstruction__array
#define TSF_DEFINE_FUNCS_DInstruction__array
#define DInstruction__array__get_type DInstruction__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__get_type
#define DInstruction__array__destruct DInstruction__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__destruct
tsf_type_t *DInstruction__array__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DInstruction__array__destruct(DInstruction__array_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DProgram__globals
#define TSF_DEFINE_FUNCS_DProgram__globals
tsf_type_t *DProgram__globals__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProgram__globals__destruct(DProgram__globals_t *data);
#endif
#ifndef TSF_DEFINE_FUNCS_DProgramElement__array
#define TSF_DEFINE_FUNCS_DProgramElement__array
#define DProgramElement__array__get_type DProgramElement__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__get_type
#define DProgramElement__array__destruct DProgramElement__arrayW7BOAgwLepJkOpeCcB_oKK_rbSCfFq_AutXtJEqHNPImfXBNqcXz__destruct
tsf_type_t *DProgramElement__array__get_type(void) TSF_ATTRIBUTE_NOINLINE;
void DProgramElement__array__destruct(DProgramElement__array_t *data);
#endif
#ifdef __cplusplus
};
#endif