|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
A named variable with type, value, and optional object association. More...
#include <instruct.hpp>
Public Member Functions | |
| Variable () | |
| Default constructor — VAR_NULL type with empty name and value. | |
| Variable (const std::string &name, const VarType &vtype, const Variable_Value &value) | |
| Construct a variable with the given name, type, and initial value. | |
| Variable (const Variable &v) | |
| Copy constructor. | |
| void | setExtern (std::string name, void *value) |
| Configure this variable as an external pointer reference. | |
| Variable & | operator= (const Variable &v) |
| Copy-assignment operator. | |
| std::string | toString () const |
| Convert this variable to a human-readable string. | |
Public Attributes | |
| VarType | type |
| std::string | var_name |
| Variable_Value | var_value |
| bool | is_global = false |
| std::string | obj_name |
A named variable with type, value, and optional object association.
Definition at line 292 of file instruct.hpp.
|
inline |
Default constructor — VAR_NULL type with empty name and value.
Definition at line 299 of file instruct.hpp.
References type, var_name, and var_value.
Referenced by Variable(), and operator=().
|
inline |
|
inline |
Copy constructor.
| v | Source variable to copy |
Definition at line 312 of file instruct.hpp.
References Variable(), is_global, obj_name, type, var_name, and var_value.
Copy-assignment operator.
| v | Source variable to copy |
Definition at line 333 of file instruct.hpp.
References Variable(), is_global, obj_name, type, var_name, and var_value.
|
inline |
Configure this variable as an external pointer reference.
| name | External variable name |
| value | Pointer to the external data |
Definition at line 319 of file instruct.hpp.
References type, mxvm::VAR_EXTERN, var_name, and var_value.
Referenced by mxvm::Program::add_standard().
| std::string mxvm::Variable::toString | ( | ) | const |
Convert this variable to a human-readable string.
Definition at line 90 of file instruct.cpp.
References type.
Referenced by mxvm::Program::exec_cmp().
| bool mxvm::Variable::is_global = false |
Definition at line 296 of file instruct.hpp.
Referenced by Variable(), Variable(), operator=(), mxvm::Program::sysv_analyzeRegAlloc(), and mxvm::Program::x64_analyzeRegAlloc().
| std::string mxvm::Variable::obj_name |
Definition at line 297 of file instruct.hpp.
Referenced by Variable(), mxvm::Program::getMangledName(), and operator=().
| VarType mxvm::Variable::type |
Definition at line 293 of file instruct.hpp.
Referenced by Variable(), Variable(), Variable(), mxvm::Program::addVariables(), asReadPtr(), asWritePtr(), mxvm::Program::createTempVariable(), mxvm::Program::divVariables(), mxvm::Program::exec_add(), mxvm::Program::exec_alloc(), mxvm::Program::exec_cmp(), mxvm::Program::exec_div(), mxvm::Program::exec_fcmp(), mxvm::Program::exec_free(), mxvm::Program::exec_getline(), mxvm::Program::exec_invoke(), mxvm::Program::exec_lea(), mxvm::Program::exec_load(), mxvm::Program::exec_mod(), mxvm::Program::exec_mov(), mxvm::Program::exec_mul(), mxvm::Program::exec_neg(), mxvm::Program::exec_pop(), mxvm::Program::exec_print(), mxvm::Program::exec_realloc(), mxvm::Program::exec_return(), mxvm::Program::exec_stack_load(), mxvm::Program::exec_stack_store(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::exec_sub(), mxvm::Program::exec_to_float(), mxvm::Program::exec_to_int(), mxvm::Program::gen_alloc(), mxvm::Program::gen_arth(), mxvm::Program::gen_bitop(), mxvm::Program::gen_cmp(), mxvm::Program::gen_div(), mxvm::Program::gen_free(), mxvm::Program::gen_getline(), mxvm::Program::gen_load(), mxvm::Program::gen_mod(), mxvm::Program::gen_mov(), mxvm::Program::gen_neg(), mxvm::Program::gen_not(), mxvm::Program::gen_pop(), mxvm::Program::gen_print(), mxvm::Program::gen_push(), mxvm::Program::gen_realloc(), mxvm::Program::gen_return(), mxvm::Program::gen_stack_load(), mxvm::Program::gen_stack_store(), mxvm::Program::gen_store(), mxvm::Program::gen_to_float(), mxvm::Program::gen_to_int(), mxvm::Program::generateLoadVar(), mxvm::Program::generateLoadVar(), getStringFromVar(), isStringLike(), mxvm::Program::mulVariables(), mxvm_io_fclose(), mxvm_io_feof(), mxvm_io_fopen(), mxvm_io_fprintf(), mxvm_io_fputs(), mxvm_io_fread(), mxvm_io_fseek(), mxvm_io_fsize(), mxvm_io_fwrite(), mxvm_io_mxvm_fgets(), mxvm_io_rand_number(), mxvm_sdl_create_window(), mxvm_sdl_draw_text(), mxvm_sdl_get_keyboard_state(), mxvm_sdl_get_mouse_state(), mxvm_sdl_get_relative_mouse_state(), mxvm_sdl_get_renderer_output_size(), mxvm_sdl_get_window_size(), mxvm_sdl_load_font(), mxvm_sdl_load_texture(), mxvm_sdl_load_texture_color_key(), mxvm_sdl_load_texture_color_key_rgb(), mxvm_sdl_load_wav(), mxvm_sdl_lock_texture(), mxvm_sdl_queue_audio(), mxvm_sdl_set_clipboard_text(), mxvm_sdl_set_window_icon(), mxvm_sdl_set_window_title(), mxvm_sdl_update_texture(), mxvm_std_argv(), mxvm_std_atof(), mxvm_std_atoi(), mxvm_std_ceil(), mxvm_std_cos(), mxvm_std_fabs(), mxvm_std_float_to_int(), mxvm_std_floor(), mxvm_std_int_to_float(), mxvm_std_memcmp(), mxvm_std_memcpy(), mxvm_std_memmove(), mxvm_std_memset(), mxvm_std_pow(), mxvm_std_release(), mxvm_std_set_program_args(), mxvm_std_sin(), mxvm_std_sqrt(), mxvm_std_system(), mxvm_std_tan(), mxvm_string_snprintf(), mxvm_string_strcmp(), mxvm_string_strlen(), mxvm_string_strncat(), mxvm_string_strncpy(), mxvm_string_substr(), operator=(), mxvm::Program::printFormatted(), mxvm::releaseOwnedPointer(), setExtern(), mxvm::Program::setVariableFromConstant(), mxvm::Program::setVariableFromString(), mxvm::Program::subVariables(), mxvm::Program::sysv_analyzeRegAlloc(), toString(), mxvm::Program::x64_analyzeRegAlloc(), mxvm::Program::x64_gen_alloc(), mxvm::Program::x64_gen_arth(), mxvm::Program::x64_gen_bitop(), mxvm::Program::x64_gen_cmp(), mxvm::Program::x64_gen_div(), mxvm::Program::x64_gen_free(), mxvm::Program::x64_gen_getline(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_mod(), mxvm::Program::x64_gen_mov(), mxvm::Program::x64_gen_neg(), mxvm::Program::x64_gen_not(), mxvm::Program::x64_gen_pop(), mxvm::Program::x64_gen_push(), mxvm::Program::x64_gen_realloc(), mxvm::Program::x64_gen_store(), mxvm::Program::x64_generateFunctionCall(), mxvm::Program::x64_generateLoadVar(), and mxvm::Program::x64_generateLoadVar().
| std::string mxvm::Variable::var_name |
Definition at line 294 of file instruct.hpp.
Referenced by Variable(), Variable(), Variable(), mxvm::Program::createTempVariable(), mxvm::Program::exec_return(), mxvm::Program::exec_store(), mxvm_string_strcmp(), mxvm_string_strlen(), operator=(), and setExtern().
| Variable_Value mxvm::Variable::var_value |
Definition at line 295 of file instruct.hpp.
Referenced by Variable(), Variable(), Variable(), mxvm::Program::addVariables(), asReadPtr(), asWritePtr(), mxvm::Program::createTempVariable(), mxvm::Program::divVariables(), mxvm::Program::exec_alloc(), mxvm::Program::exec_and(), mxvm::Program::exec_cmp(), mxvm::Program::exec_exit(), mxvm::Program::exec_fcmp(), mxvm::Program::exec_free(), mxvm::Program::exec_getline(), mxvm::Program::exec_invoke(), mxvm::Program::exec_lea(), mxvm::Program::exec_load(), mxvm::Program::exec_mod(), mxvm::Program::exec_mov(), mxvm::Program::exec_neg(), mxvm::Program::exec_not(), mxvm::Program::exec_or(), mxvm::Program::exec_pop(), mxvm::Program::exec_print(), mxvm::Program::exec_push(), mxvm::Program::exec_realloc(), mxvm::Program::exec_return(), mxvm::Program::exec_stack_load(), mxvm::Program::exec_stack_store(), mxvm::Program::exec_stack_sub(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::exec_to_float(), mxvm::Program::exec_to_int(), mxvm::Program::exec_xor(), mxvm::Program::gen_alloc(), mxvm::Program::gen_free(), mxvm::Program::gen_getline(), mxvm::Program::gen_lea(), mxvm::Program::gen_realloc(), mxvm::Program::gen_return(), mxvm::Program::gen_store(), getStringFromVar(), mxvm::Program::mulVariables(), mxvm_io_fclose(), mxvm_io_feof(), mxvm_io_fopen(), mxvm_io_fprintf(), mxvm_io_fputs(), mxvm_io_fread(), mxvm_io_fseek(), mxvm_io_fsize(), mxvm_io_fwrite(), mxvm_io_mxvm_fgets(), mxvm_io_rand_number(), mxvm_sdl_blit_surface(), mxvm_sdl_clear(), mxvm_sdl_create_render_target(), mxvm_sdl_create_renderer(), mxvm_sdl_create_rgb_surface(), mxvm_sdl_create_texture(), mxvm_sdl_create_window(), mxvm_sdl_delay(), mxvm_sdl_destroy_render_target(), mxvm_sdl_destroy_renderer(), mxvm_sdl_destroy_texture(), mxvm_sdl_destroy_window(), mxvm_sdl_draw_line(), mxvm_sdl_draw_point(), mxvm_sdl_draw_rect(), mxvm_sdl_draw_text(), mxvm_sdl_fill_rect(), mxvm_sdl_free_surface(), mxvm_sdl_free_wav(), mxvm_sdl_get_keyboard_state(), mxvm_sdl_get_mouse_state(), mxvm_sdl_get_relative_mouse_state(), mxvm_sdl_get_renderer_output_size(), mxvm_sdl_get_window_size(), mxvm_sdl_is_key_pressed(), mxvm_sdl_load_font(), mxvm_sdl_load_texture(), mxvm_sdl_load_texture_color_key(), mxvm_sdl_load_texture_color_key_rgb(), mxvm_sdl_load_wav(), mxvm_sdl_lock_texture(), mxvm_sdl_open_audio(), mxvm_sdl_pause_audio(), mxvm_sdl_present(), mxvm_sdl_present_scaled(), mxvm_sdl_present_stretched(), mxvm_sdl_queue_audio(), mxvm_sdl_render_texture(), mxvm_sdl_set_clipboard_text(), mxvm_sdl_set_draw_color(), mxvm_sdl_set_render_target(), mxvm_sdl_set_window_fullscreen(), mxvm_sdl_set_window_icon(), mxvm_sdl_set_window_position(), mxvm_sdl_set_window_title(), mxvm_sdl_show_cursor(), mxvm_sdl_unlock_texture(), mxvm_sdl_update_texture(), mxvm_std_abs(), mxvm_std_acos(), mxvm_std_argv(), mxvm_std_asin(), mxvm_std_atan(), mxvm_std_atan2(), mxvm_std_atof(), mxvm_std_atoi(), mxvm_std_calloc(), mxvm_std_ceil(), mxvm_std_cos(), mxvm_std_cosh(), mxvm_std_exit(), mxvm_std_exp(), mxvm_std_exp2(), mxvm_std_fabs(), mxvm_std_float_to_int(), mxvm_std_floor(), mxvm_std_fmod(), mxvm_std_hypot(), mxvm_std_int_to_float(), mxvm_std_isalpha(), mxvm_std_isdigit(), mxvm_std_isspace(), mxvm_std_log(), mxvm_std_log10(), mxvm_std_log2(), mxvm_std_malloc(), mxvm_std_memcmp(), mxvm_std_memcpy(), mxvm_std_memmove(), mxvm_std_memset(), mxvm_std_pow(), mxvm_std_release(), mxvm_std_round(), mxvm_std_set_program_args(), mxvm_std_sin(), mxvm_std_sinh(), mxvm_std_sqrt(), mxvm_std_srand(), mxvm_std_system(), mxvm_std_tan(), mxvm_std_tanh(), mxvm_std_tolower(), mxvm_std_toupper(), mxvm_std_trunc(), mxvm_string_copy(), mxvm_string_delete(), mxvm_string_insert(), mxvm_string_inttostr(), mxvm_string_snprintf(), mxvm_string_strat(), mxvm_string_strcmp(), mxvm_string_strfind(), mxvm_string_strlen(), mxvm_string_strncat(), mxvm_string_strncpy(), mxvm_string_substr(), operator=(), mxvm::Program::printFormatted(), mxvm::releaseOwnedPointer(), setExtern(), mxvm::Program::setVariableFromConstant(), mxvm::Program::setVariableFromString(), mxvm::Program::subVariables(), mxvm::Program::x64_gen_alloc(), mxvm::Program::x64_gen_free(), mxvm::Program::x64_gen_getline(), mxvm::Program::x64_gen_lea(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_mov(), mxvm::Program::x64_gen_realloc(), mxvm::Program::x64_gen_return(), and mxvm::Program::x64_gen_store().