47 loop->label = strdup( label );
52 unsigned char beginForPrepareAfter[
MAX_TEMPORARY_STORAGE]; sprintf(beginForPrepareAfter,
"%sprepa", label );
54 cpu_jump( _environment, beginForPrepareAfter );
73 cpu_label( _environment, beginForFromPrepare );
95 loop->from->locked = 1;
96 loop->fromResident = fromResident;
97 loop->fromResident->locked = 1;
109 cpu_label( _environment, beginForToPrepare );
131 loop->to->locked = 1;
132 loop->toResident = toResident;
133 loop->toResident->locked = 1;
143 cpu_label( _environment, beginForStepPrepare );
178 loop->step->locked = 1;
200 loop->stepResident = stepResident;
201 loop->stepResident->locked = 1;
207 loop->step->locked = 1;
209 loop->stepResident = stepResident;
210 loop->stepResident->locked = 1;
223 cpu_label( _environment, beginForPrepareAfter );
225 cpu_call( _environment, beginForFromPrepare );
226 cpu_call( _environment, beginForToPrepare );
227 cpu_call( _environment, beginForStepPrepare );
279 cpu_jump( _environment, backwardFor );
291 cpu_jump( _environment, continueFor );
void cpu_label(Environment *_environment, char *_label)
void cpu_call(Environment *_environment, char *_label)
void cpu_jump(Environment *_environment, char *_label)
void cpu_bvneq(Environment *_environment, char *_value, char *_label)
void cpu_return(Environment *_environment)
Variable * variable_retrieve(Environment *_environment, char *_name)
void parser_array_index_symbolic(Environment *_environment, char *_index)
void parser_array_cleanup(Environment *_environment)
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _value)
void variable_move_array(Environment *_environment, char *_array, char *_value)
int variable_exists(Environment *_environment, char *_name)
Variable * variable_less_than(Environment *_environment, char *_source, char *_destination, int _equal)
Compare two variable and return the result of comparation.
Variable * variable_greater_than(Environment *_environment, char *_source, char *_destination, int _equal)
Compare two variable and return the result of comparation.
Variable * variable_array_type(Environment *_environment, char *_name, VariableType _type)
Variable * variable_move_from_array(Environment *_environment, char *_array)
Variable * variable_resident(Environment *_environment, VariableType _type, char *_meaning)
void parser_array_init(Environment *_environment)
Variable * variable_temporary(Environment *_environment, VariableType _type, char *_meaning)
Define a temporary variable.
Variable * variable_store(Environment *_environment, char *_destination, unsigned int _value)
Store a direct value to a variable.
Variable * variable_greater_than_const(Environment *_environment, char *_source, int _destination, int _equal)
void begin_for_from_assign_mt(Environment *_environment, char *_from)
void begin_for_from_prepare_mt(Environment *_environment)
void begin_for_step_assign_mt(Environment *_environment, char *_step)
void begin_for_prepare_mt(Environment *_environment, char *_index)
void begin_for_step_prepare_mt(Environment *_environment)
void begin_for_identifier_mt(Environment *_environment, char *_index)
void begin_for_to_assign_mt(Environment *_environment, char *_to)
void begin_for_to_prepare_mt(Environment *_environment)
VariableType defaultVariableType
int arrayDimensionsEach[MAX_ARRAY_DIMENSIONS]
ProtothreadConfig protothreadConfig
#define MAX_TEMPORARY_STORAGE
void loop(Environment *_environment, char *_label)
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.
#define VT_MAX_BITWIDTH_TYPE(a, b)
struct _Loop Loop
Structure of a single loop.