equal
deleted
inserted
replaced
659 arrayname_im, |
659 arrayname_im, |
660 arraydeclaration_im |
660 arraydeclaration_im |
661 } inlinearray_mode_t; |
661 } inlinearray_mode_t; |
662 |
662 |
663 private: |
663 private: |
664 stage4out_c *s4o_ptr; |
|
665 std::map<std::string, int> inline_array_defined; |
664 std::map<std::string, int> inline_array_defined; |
666 std::string current_array_name; |
665 std::string current_array_name; |
667 inlinearray_mode_t current_mode; |
666 inlinearray_mode_t current_mode; |
668 |
667 |
669 public: |
668 public: |
670 generate_c_datatypes_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
669 generate_c_datatypes_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
671 : generate_c_typedecl_c(s4o_ptr, s4o_incl_ptr) { |
670 : generate_c_typedecl_c(s4o_incl_ptr) { |
672 generate_c_datatypes_c::s4o_ptr = s4o_ptr; |
|
673 current_mode = none_im; |
671 current_mode = none_im; |
674 }; |
672 }; |
675 virtual ~generate_c_datatypes_c(void) { |
673 virtual ~generate_c_datatypes_c(void) { |
676 while (!inline_array_defined.empty()) { |
674 while (!inline_array_defined.empty()) { |
677 inline_array_defined.erase(inline_array_defined.begin()); |
675 inline_array_defined.erase(inline_array_defined.begin()); |
1093 /***********************************************************************/ |
1091 /***********************************************************************/ |
1094 /***********************************************************************/ |
1092 /***********************************************************************/ |
1095 /***********************************************************************/ |
1093 /***********************************************************************/ |
1096 |
1094 |
1097 |
1095 |
1098 class generate_c_pous_c: public generate_c_typedecl_c { |
1096 class generate_c_pous_c: public generate_c_base_c { |
1099 private: |
1097 private: |
1100 stage4out_c *s4o_ptr; |
1098 stage4out_c &s4o_incl; |
1101 |
1099 |
1102 public: |
1100 public: |
1103 generate_c_pous_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
1101 generate_c_pous_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
1104 : generate_c_typedecl_c(s4o_ptr, s4o_incl_ptr) { |
1102 : generate_c_base_c(s4o_ptr), s4o_incl(*s4o_incl_ptr) { |
1105 generate_c_pous_c::s4o_ptr = s4o_ptr; |
|
1106 }; |
1103 }; |
1107 virtual ~generate_c_pous_c(void) {} |
1104 virtual ~generate_c_pous_c(void) {} |
1108 |
1105 |
1109 private: |
1106 private: |
1110 void print_end_of_block_label(void) { |
1107 void print_end_of_block_label(void) { |
1134 |
1131 |
1135 public: |
1132 public: |
1136 /********************/ |
1133 /********************/ |
1137 /* 2.1.6 - Pragmas */ |
1134 /* 2.1.6 - Pragmas */ |
1138 /********************/ |
1135 /********************/ |
1139 void *visit(enable_code_generation_pragma_c * symbol) {s4o_ptr->enable_output(); return NULL;} |
1136 void *visit(enable_code_generation_pragma_c * symbol) {s4o.enable_output(); return NULL;} |
1140 void *visit(disable_code_generation_pragma_c * symbol) {s4o_ptr->disable_output(); return NULL;} |
1137 void *visit(disable_code_generation_pragma_c * symbol) {s4o.disable_output(); return NULL;} |
1141 |
1138 |
1142 /*************************/ |
1139 /*************************/ |
1143 /* B.1 - Common elements */ |
1140 /* B.1 - Common elements */ |
1144 /*************************/ |
1141 /*************************/ |
1145 /*******************************************/ |
1142 /*******************************************/ |
1697 /***********************************************************************/ |
1694 /***********************************************************************/ |
1698 /***********************************************************************/ |
1695 /***********************************************************************/ |
1699 /***********************************************************************/ |
1696 /***********************************************************************/ |
1700 /***********************************************************************/ |
1697 /***********************************************************************/ |
1701 |
1698 |
1702 class generate_c_config_c: public generate_c_typedecl_c { |
1699 class generate_c_config_c: public generate_c_base_c { |
1703 private: |
1700 private: |
1704 stage4out_c *s4o_ptr; |
1701 stage4out_c &s4o_incl; |
1705 stage4out_c *s4o_incl_ptr; |
|
1706 |
1702 |
1707 public: |
1703 public: |
1708 generate_c_config_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
1704 generate_c_config_c(stage4out_c *s4o_ptr, stage4out_c *s4o_incl_ptr) |
1709 : generate_c_typedecl_c(s4o_ptr, s4o_incl_ptr) { |
1705 : generate_c_base_c(s4o_ptr), s4o_incl(*s4o_incl_ptr) { |
1710 generate_c_config_c::s4o_ptr = s4o_ptr; |
|
1711 generate_c_config_c::s4o_incl_ptr = s4o_incl_ptr; |
|
1712 }; |
1706 }; |
1713 |
1707 |
1714 virtual ~generate_c_config_c(void) {} |
1708 virtual ~generate_c_config_c(void) {} |
1715 |
1709 |
1716 typedef enum { |
1710 typedef enum { |
1726 public: |
1720 public: |
1727 /********************/ |
1721 /********************/ |
1728 /* 2.1.6 - Pragmas */ |
1722 /* 2.1.6 - Pragmas */ |
1729 /********************/ |
1723 /********************/ |
1730 void *visit(enable_code_generation_pragma_c * symbol) { |
1724 void *visit(enable_code_generation_pragma_c * symbol) { |
1731 s4o_ptr->enable_output(); |
1725 s4o.enable_output(); |
1732 s4o_incl_ptr->enable_output(); |
1726 s4o_incl.enable_output(); |
1733 return NULL; |
1727 return NULL; |
1734 } |
1728 } |
1735 |
1729 |
1736 void *visit(disable_code_generation_pragma_c * symbol) { |
1730 void *visit(disable_code_generation_pragma_c * symbol) { |
1737 s4o_ptr->disable_output(); |
1731 s4o.disable_output(); |
1738 s4o_incl_ptr->disable_output(); |
1732 s4o_incl.disable_output(); |
1739 return NULL; |
1733 return NULL; |
1740 } |
1734 } |
1741 |
1735 |
1742 |
1736 |
1743 /********************************/ |
1737 /********************************/ |