chomik::parser::register_parser(&the_parser);
  
    int parse(const char * filename);
    int parse_string(const std::string & code, std::ostream & error_stream);
  
    chomik::machine m;
    m.create_predefined_types();
    m.create_predefined_variables();
    m.create_predefined_streams();
  
    chomik::generic_name gn;
    gn.add_generic_name_item(std::make_shared<chomik::identifier_name_item>("the"));
    gn.add_generic_name_item(std::make_shared<chomik::identifier_name_item>("program"));
    gn.add_generic_name_item(std::make_shared<chomik::identifier_name_item>("return"));
    chomik::signature s0{gn};
  
    m.get_variable_value_integer(s0);
  
    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;
  
    void execute(machine & m, std::shared_ptr<basic_generator> father=nullptr) const;