libmya 0.1.0
Library to parse Mya language.
Loading...
Searching...
No Matches
mir.h
Go to the documentation of this file.
1#pragma once
2
3#include "types/mir.h"
4
10void
12
18void
20
31mir_add_bitfield(mir_t* mir, const char* name, uint32_t size);
32
43mir_get_bitfield(mir_t* mir, const char* name);
44
55mir_bitfield_add_field(mir_bitfield_t* bitfield, const char* name, uint32_t size);
56
67mir_bitfield_get_field(mir_bitfield_t* bitfield, const char* name);
68
74void
76
87mir_add_register(mir_t* mir, const char* name, uint32_t size);
88
99mir_get_register(mir_t* mir, const char* name);
100
106void
108
119mir_add_instruction(mir_t* mir, const char* name, uint32_t size);
120
131mir_get_instruction(mir_t* mir, const char* name);
132
144mir_instruction_add_param(mir_inst_t* inst, const char* name, mir_type_t type, uint32_t size);
145
156mir_instruction_get_param(mir_inst_t* inst, const char* name);
157
169
180mir_instruction_get_field(mir_inst_t* inst, const char* name);
181
187void
189
208
224
235mir_bitfield_spec_get_field(mir_bitfield_spec_t* spec, const char* name);
236
242void
mir_register_t * mir_add_register(mir_t *mir, const char *name, uint32_t size)
Add a new register declaration for the specified MIR.
Definition mir.c:136
void mir_bitfield_spec_close(mir_bitfield_spec_t *spec)
Closes the given bitfield spec.
Definition mir.c:356
mir_register_t * mir_get_register(mir_t *mir, const char *name)
Get a register declaration from the specified MIR.
Definition mir.c:162
void mir_instruction_close(mir_inst_t *inst)
Closes the given instruction.
Definition mir.c:285
void mir_bitfield_close(mir_bitfield_t *bitfield)
Closes the given bitfield.
Definition mir.c:124
mir_inst_t * mir_add_instruction(mir_t *mir, const char *name, uint32_t size)
Add a new instruction declaration to MIR.
Definition mir.c:181
void mir_close(mir_t *mir)
Closes the given MIR instruction.
Definition mir.c:30
mir_bitfield_t * mir_get_bitfield(mir_t *mir, const char *name)
Get the bitfield declaration with the given name.
Definition mir.c:82
mir_bitfield_spec_t * mir_bitfield_spec_get_field(mir_bitfield_spec_t *spec, const char *name)
Get a bitfield spec's field from the given bitfield spec.
Definition mir.c:344
mir_bitfield_spec_t * mir_bitfield_spec_set_spec(mir_bitfield_spec_t *spec, const char *name, mir_bitfield_spec_type_t type)
Set the bitfield spec's sub bitfield spec.
Definition mir.c:326
mir_bitfield_spec_t * mir_bitfield_spec_add_field(mir_bitfield_spec_t *spec, const char *name, mir_bitfield_spec_type_t type)
Add a new bitfield spec's field to the given bitfield spec.
Definition mir.c:304
void mir_register_close(mir_register_t *reg)
Closes the given register.
Definition mir.c:174
mir_inst_t * mir_get_instruction(mir_t *mir, const char *name)
Get an instruction declaration.
Definition mir.c:208
void mir_init(mir_t *mir)
Initializes a MIR struct.
Definition mir.c:9
mir_bitfield_field_t * mir_bitfield_add_field(mir_bitfield_t *bitfield, const char *name, uint32_t size)
Add a new field to a bitfield declaration.
Definition mir.c:94
mir_inst_param_t * mir_instruction_add_param(mir_inst_t *inst, const char *name, mir_type_t type, uint32_t size)
Add a new parameter specification to an instruction.
Definition mir.c:220
mir_bitfield_spec_t * mir_instruction_add_field(mir_inst_t *inst, const char *name, mir_bitfield_spec_type_t type)
Add a new body field to the given instruction.
Definition mir.c:251
mir_bitfield_t * mir_add_bitfield(mir_t *mir, const char *name, uint32_t size)
Add a new bitfield declaration.
Definition mir.c:58
mir_inst_param_t * mir_instruction_get_param(mir_inst_t *inst, const char *name)
Get a parameter from an instruction declaration.
Definition mir.c:239
mir_bitfield_spec_t * mir_instruction_get_field(mir_inst_t *inst, const char *name)
Get the body field from the instruction.
Definition mir.c:273
mir_bitfield_field_t * mir_bitfield_get_field(mir_bitfield_t *bitfield, const char *name)
Get the field with the given name from the bitfield declaration.
Definition mir.c:112
Mya in-memory intermediate representation.
Definition mir.h:117
struct mir_register mir_register_t
Register declaration.
enum mir_type mir_type_t
struct mir_bitfield_field mir_bitfield_field_t
A bitfield's field declaration.
enum mir_bitfield_spec_type mir_bitfield_spec_type_t
A bitfield spec type.
struct mir_inst_param mir_inst_param_t
An instruction's parameter.
struct mir_bitfield mir_bitfield_t
A bitfield declaration.
struct mir_bitfield_spec mir_bitfield_spec_t
A bitfield or bitfield's field declaration.
struct mir_inst mir_inst_t
Instruction declaration.
struct mir mir_t
Mya in-memory intermediate representation.