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.
#include <chomik.h>
Public Types | |
enum class | statement_type { NONE , TYPE_DEFINITION , VARIABLE_DEFINITION , ASSIGNMENT , EXECUTE , EXPAND } |
Public Member Functions | |
statement (unsigned l) | |
virtual | ~statement () |
virtual statement_type | get_statement_type () const =0 |
virtual void | report (std::ostream &s) const =0 |
virtual void | execute (machine &m, std::shared_ptr< const statement > &&i, std::shared_ptr< basic_generator > father=nullptr) const =0 |
virtual void | expand (machine &m, int depth) const |
virtual void | add_placeholders_to_generator (basic_generator &g) const =0 |
void | get_actual_code_value (const machine &m, const basic_generator &g, const replacing_policy &p, code &target) const |
virtual bool | get_is_code_assignment (machine &m) const |
virtual void | make_copy_with_replacements (const machine &m, const basic_generator &g, const replacing_policy &p, std::shared_ptr< statement > &s) const =0 |
virtual void | get_copy (std::shared_ptr< statement > &target) const =0 |
virtual const std::vector< std::shared_ptr< type_definition > > & | get_vector_of_type_definitions () const |
Protected Attributes | |
unsigned | line_number |
Static Protected Attributes | |
static const std::vector< std::shared_ptr< type_definition > > | dummy |
This class is a base class for all statements in the chomik programming language.
|
strong |
|
inline |
|
inlinevirtual |
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
Reimplemented in chomik::type_definition_statement, and chomik::variable_definition_statement.
void chomik::statement::get_actual_code_value | ( | const machine & | m, |
const basic_generator & | g, | ||
const replacing_policy & | p, | ||
code & | target ) const |
|
pure virtual |
|
inlinevirtual |
Reimplemented in chomik::assignment_statement.
|
pure virtual |
|
inlinevirtual |
Reimplemented in chomik::type_definition_statement.
|
pure virtual |
|
pure virtual |
|
staticprotected |
|
protected |