78 loop->label = strdup( label );
82 loop->index->locked = 1;
83 loop->step = stepResident;
84 loop->step->locked = 1;
85 loop->to = toResident;
88 loop->zero->locked = 1;
103 cpu_jump( _environment, backwardFor );
109 cpu_jump( _environment, continueFor );
void cpu_label(Environment *_environment, char *_label)
void cpu_jump(Environment *_environment, char *_label)
void cpu_bvneq(Environment *_environment, char *_value, char *_label)
Variable * variable_retrieve(Environment *_environment, char *_name)
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _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_move(Environment *_environment, char *_source, char *_destination)
Store the value of a variable inside another variable by converting it.
Variable * variable_move_naked(Environment *_environment, char *_source, char *_destination)
Store the value of a variable inside another variable without conversion.
Variable * variable_resident(Environment *_environment, VariableType _type, char *_meaning)
Variable * variable_store(Environment *_environment, char *_destination, unsigned int _value)
Store a direct value to a variable.
void begin_for_step(Environment *_environment, char *_index, char *_from, char *_to, char *_step)
Emit ASM code for FOR ... STEP ... NEXT.
#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.
struct _Loop Loop
Structure of a single loop.