chomik 0.2.1
experimental and minimalistic programming language

My name is Pawel Biernacki.
I am a software engineer.
This site is my hobby project.

Loading...
Searching...
No Matches
sdl_chomik::machine Class Reference

#include <sdl_chomik.h>

Inheritance diagram for sdl_chomik::machine:
Collaboration diagram for sdl_chomik::machine:

Public Member Functions

 machine (int w, int h)
 
virtual ~machine ()
 
void clear_renderer ()
 
void present_renderer ()
 
SDL_Renderer * get_renderer ()
 
void add_image (std::unique_ptr< image > &&i)
 
void add_font (std::unique_ptr< font > &&f)
 
virtual void create_predefined_variables () override
 
virtual bool get_is_user_defined_executable (const chomik::signature &s) const override
 
virtual void execute_user_defined_executable (const chomik::signature &s) override
 
int get_last_created_image_index () const
 
int get_last_created_font_index () const
 
- Public Member Functions inherited from chomik::machine
int get_amount_of_variables_in_the_memory () const
 
int get_amount_of_items_in_the_memory_variables_signature (int i) const
 
std::string get_signature_item_representation (int var_index, int item_index) const
 
std::string get_signature_item_type_name (int var_index, int item_index) const
 
virtual bool get_can_create_files () const
 
int get_max_enum_type_index (const std::string &tn) const
 
std::string get_enum_type_item (const std::string &tn, int i) const
 
const std::vector< std::unique_ptr< assignment_event > > & get_vector_of_assignment_events () const
 
void add_signature_regular_expression (std::unique_ptr< signature_regular_expression > &&e)
 
void add_stream (std::unique_ptr< generic_stream > &&s)
 
void add_assignment_event (std::unique_ptr< assignment_event > &&e)
 
void add_type_definition_statement (std::shared_ptr< const statement > &&s)
 
void add_variable_definition_statement (std::shared_ptr< const statement > &&s)
 
bool get_type_instance_is_known (const std::string &type_name) const
 
type_instanceget_type_instance (const std::string &type_name) const
 
void get_first_and_last_iterators_for_enum_type (const std::string &type_name, std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator &f, std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator &l) const
 
void get_first_and_last_iterators_for_range_type (const std::string &type_name, int &f, int &l) const
 
void get_first_and_last_iterators_for_ad_hoc_range_type (const std::string &type_name, int &f, int &l) const
 
void add_type_instance (std::shared_ptr< type_instance > &&i)
 
void create_auxilliary_variables_for_type_instance (type_instance &ti)
 
void add_variable_with_value (std::shared_ptr< variable_with_value > &&vv)
 
void expand (int i)
 
void report (std::ostream &s) const
 
bool get_variable_is_represented_in_memory (const signature &vn) const
 
const variable_with_valueget_variable_with_value (const signature &vn) const
 
variable_with_valueget_variable_with_value (const signature &vn)
 
variable_with_valueget_variable_with_value_by_index (int index)
 
variable_with_value::actual_memory_representation_type get_actual_memory_representation_type_of_the_variable (const signature &vn) const
 
std::string get_actual_text_representation_of_a_variable (const signature &vn) const
 
std::string get_variable_value_enum (const signature &vn) const
 
std::string get_variable_value_string (const signature &vn) const
 
int get_variable_value_integer (const signature &vn) const
 
double get_variable_value_float (const signature &vn) const
 
void get_variable_value_code (const signature &vn, code &target) const
 
virtual void create_predefined_streams ()
 
virtual void create_predefined_types ()
 
int get_last_created_stream_index () const
 
int get_last_created_signature_regular_expression_index () const
 
int get_amount_of_streams () const
 
int get_amount_of_signature_regular_expressions () const
 
generic_streamget_stream (int i)
 
signature_regular_expressionget_signature_regular_expression (int i)
 
type_instancecreate_an_ad_hoc_type (const generic_type &t, generator &g, const std::string &tn)
 
void add_ad_hoc_type (std::shared_ptr< type_instance_ad_hoc_range > &&t)
 
void destroy_ad_hoc_type_instances_above (int amount)
 
int get_amount_of_ad_hoc_type_instances () const
 

Additional Inherited Members

- Static Public Attributes inherited from chomik::machine
static std::ostream * current_compilation_error_stream
 
static std::ostream * current_runtime_warning_stream
 
- Protected Attributes inherited from chomik::machine
std::vector< std::shared_ptr< const statement > > vector_of_type_definiton_statements
 
std::vector< std::shared_ptr< const statement > > vector_of_variable_definition_statements
 
std::vector< std::shared_ptr< type_instance > > vector_of_type_instances
 
std::vector< std::shared_ptr< type_instance > > vector_of_ad_hoc_type_instances
 
std::map< std::string, std::shared_ptr< type_instance > > map_type_name_to_type_instance
 
std::vector< std::shared_ptr< family_of_variables > > vector_of_variable_families
 
std::vector< std::unique_ptr< assignment_event > > vector_of_assignment_events
 
std::vector< std::shared_ptr< variable_with_value > > memory
 
std::map< std::string, std::shared_ptr< variable_with_value > > map_signature_string_representation_to_variable_with_value
 
std::vector< std::unique_ptr< generic_stream > > vector_of_streams
 
std::vector< std::unique_ptr< signature_regular_expression > > vector_of_signature_regular_expressions
 

Constructor & Destructor Documentation

◆ machine()

sdl_chomik::machine::machine ( int w,
int h )

◆ ~machine()

virtual sdl_chomik::machine::~machine ( )
virtual

Member Function Documentation

◆ add_font()

void sdl_chomik::machine::add_font ( std::unique_ptr< font > && f)
inline

◆ add_image()

void sdl_chomik::machine::add_image ( std::unique_ptr< image > && i)
inline

◆ clear_renderer()

void sdl_chomik::machine::clear_renderer ( )

◆ create_predefined_variables()

virtual void sdl_chomik::machine::create_predefined_variables ( )
overridevirtual

Reimplemented from chomik::machine.

◆ execute_user_defined_executable()

virtual void sdl_chomik::machine::execute_user_defined_executable ( const chomik::signature & s)
overridevirtual

Reimplemented from chomik::machine.

◆ get_is_user_defined_executable()

virtual bool sdl_chomik::machine::get_is_user_defined_executable ( const chomik::signature & s) const
overridevirtual

Reimplemented from chomik::machine.

◆ get_last_created_font_index()

int sdl_chomik::machine::get_last_created_font_index ( ) const
inline

◆ get_last_created_image_index()

int sdl_chomik::machine::get_last_created_image_index ( ) const
inline

◆ get_renderer()

SDL_Renderer * sdl_chomik::machine::get_renderer ( )
inline

◆ present_renderer()

void sdl_chomik::machine::present_renderer ( )

The documentation for this class was generated from the following file:

copyright by Pawel Biernacki

Vantaa 2022