Variable * variable_retrieve(Environment *_environment, char *_name)
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _value)
Variable * variable_sub_const(Environment *_environment, char *_source, int _destination)
Make a differenze between a variable a constant, and return the difference of them.
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.
void add_complex_vars(Environment *_environment, char *_variable, char *_expression, char *_limit_lower, char *_limit_upper, int _clamp)
Emit code for ADD x,y,a TO b.
void cmove_direct(Environment *_environment, int _dx, int _dy)
void cmove(Environment *_environment, char *_dx, char *_dy)
Emit code for CMOVE.
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.