stage4/generate_c/generate_c_sfc.cc
changeset 945 477393b00f95
parent 899 a3f734a23566
child 992 aa642302fa60
equal deleted inserted replaced
943:566414d7ba1f 945:477393b00f95
    32 /***********************************************************************/
    32 /***********************************************************************/
    33 /***********************************************************************/
    33 /***********************************************************************/
    34 /***********************************************************************/
    34 /***********************************************************************/
    35 /***********************************************************************/
    35 /***********************************************************************/
    36 
    36 
    37 class generate_c_sfc_elements_c: public generate_c_base_c {
    37 class generate_c_sfc_elements_c: public generate_c_base_and_typeid_c {
    38   
    38   
    39   public:
    39   public:
    40     typedef enum {
    40     typedef enum {
    41       transitionlist_sg,
    41       transitionlist_sg,
    42       transitiontest_sg,
    42       transitiontest_sg,
    61 
    61 
    62     sfcgeneration_t wanted_sfcgeneration;
    62     sfcgeneration_t wanted_sfcgeneration;
    63     
    63     
    64   public:
    64   public:
    65     generate_c_sfc_elements_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
    65     generate_c_sfc_elements_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
    66     : generate_c_base_c(s4o_ptr) {
    66     : generate_c_base_and_typeid_c(s4o_ptr) {
    67       generate_c_il = new generate_c_il_c(s4o_ptr, name, scope, variable_prefix);
    67       generate_c_il = new generate_c_il_c(s4o_ptr, name, scope, variable_prefix);
    68       generate_c_st = new generate_c_st_c(s4o_ptr, name, scope, variable_prefix);
    68       generate_c_st = new generate_c_st_c(s4o_ptr, name, scope, variable_prefix);
    69       generate_c_code = new generate_c_SFC_IL_ST_c(s4o_ptr, name, scope, variable_prefix);
    69       generate_c_code = new generate_c_SFC_IL_ST_c(s4o_ptr, name, scope, variable_prefix);
    70       search_var_instance_decl = new search_var_instance_decl_c(scope);
    70       search_var_instance_decl = new search_var_instance_decl_c(scope);
    71       this->set_variable_prefix(variable_prefix);
    71       this->set_variable_prefix(variable_prefix);
   653 /***********************************************************************/
   653 /***********************************************************************/
   654 /***********************************************************************/
   654 /***********************************************************************/
   655 /***********************************************************************/
   655 /***********************************************************************/
   656 /***********************************************************************/
   656 /***********************************************************************/
   657 
   657 
   658 class generate_c_sfc_c: public generate_c_base_c {
   658 class generate_c_sfc_c: public generate_c_base_and_typeid_c {
   659   
   659   
   660   private:
   660   private:
   661     std::list<VARIABLE> variable_list;
   661     std::list<VARIABLE> variable_list;
   662 
   662 
   663     generate_c_sfc_elements_c *generate_c_sfc_elements;
   663     generate_c_sfc_elements_c *generate_c_sfc_elements;
   664     search_var_instance_decl_c *search_var_instance_decl;
   664     search_var_instance_decl_c *search_var_instance_decl;
   665     
   665     
   666   public:
   666   public:
   667     generate_c_sfc_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
   667     generate_c_sfc_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
   668     : generate_c_base_c(s4o_ptr) {
   668     : generate_c_base_and_typeid_c(s4o_ptr) {
   669       generate_c_sfc_elements = new generate_c_sfc_elements_c(s4o_ptr, name, scope, variable_prefix);
   669       generate_c_sfc_elements = new generate_c_sfc_elements_c(s4o_ptr, name, scope, variable_prefix);
   670       search_var_instance_decl = new search_var_instance_decl_c(scope);
   670       search_var_instance_decl = new search_var_instance_decl_c(scope);
   671       this->set_variable_prefix(variable_prefix);
   671       this->set_variable_prefix(variable_prefix);
   672     }
   672     }
   673   
   673