786 generate_cc_vardecl_c::located_vt | |
786 generate_cc_vardecl_c::located_vt | |
787 generate_cc_vardecl_c::external_vt); |
787 generate_cc_vardecl_c::external_vt); |
788 vardecl->print(symbol->var_declarations); |
788 vardecl->print(symbol->var_declarations); |
789 delete vardecl; |
789 delete vardecl; |
790 /* (A.4) Generate private internal variables for SFC */ |
790 /* (A.4) Generate private internal variables for SFC */ |
791 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::sfcdecl_sg); |
791 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::sfcdecl_sd); |
792 sfcdecl->print(symbol->function_block_body); |
792 sfcdecl->print(symbol->function_block_body); |
793 delete sfcdecl; |
793 delete sfcdecl; |
794 |
794 |
795 /* (A.5) Program data structure type name. */ |
795 /* (A.5) Program data structure type name. */ |
796 s4o.indent_left(); |
796 s4o.indent_left(); |
824 generate_cc_vardecl_c::external_vt); |
824 generate_cc_vardecl_c::external_vt); |
825 vardecl->print(symbol->var_declarations, NULL, FB_FUNCTION_PARAM"->"); |
825 vardecl->print(symbol->var_declarations, NULL, FB_FUNCTION_PARAM"->"); |
826 delete vardecl; |
826 delete vardecl; |
827 s4o.print("\n"); |
827 s4o.print("\n"); |
828 /* (B.3) Generate private internal variables for SFC */ |
828 /* (B.3) Generate private internal variables for SFC */ |
829 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::sfcinit_sg); |
829 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::sfcinit_sd); |
830 sfcdecl->print(symbol->function_block_body,FB_FUNCTION_PARAM"->"); |
830 sfcdecl->print(symbol->function_block_body,FB_FUNCTION_PARAM"->"); |
831 delete sfcdecl; |
831 delete sfcdecl; |
832 |
832 |
833 s4o.indent_left(); |
833 s4o.indent_left(); |
834 s4o.print(s4o.indent_spaces + "}\n\n"); |
834 s4o.print(s4o.indent_spaces + "}\n\n"); |
835 |
835 |
836 /* (C) Function with PROGRAM body */ |
836 /* (C) Function with PROGRAM body */ |
837 /* (C.1) Step definitions */ |
837 /* (C.1) Step definitions */ |
838 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::stepdef_sg); |
838 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::stepdef_sd); |
839 sfcdecl->print(symbol->function_block_body); |
839 sfcdecl->print(symbol->function_block_body); |
840 delete sfcdecl; |
840 delete sfcdecl; |
841 |
841 |
842 /* (C.2) Action definitions */ |
842 /* (C.2) Action definitions */ |
843 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::actiondef_sg); |
843 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::actiondef_sd); |
844 sfcdecl->print(symbol->function_block_body); |
844 sfcdecl->print(symbol->function_block_body); |
845 delete sfcdecl; |
845 delete sfcdecl; |
846 |
846 |
847 /* (C.3) Function declaration */ |
847 /* (C.3) Function declaration */ |
848 s4o.print("// Code part\n"); |
848 s4o.print("// Code part\n"); |
876 symbol->program_type_name->accept(*this); |
876 symbol->program_type_name->accept(*this); |
877 s4o.print(FB_FUNCTION_SUFFIX); |
877 s4o.print(FB_FUNCTION_SUFFIX); |
878 s4o.print(s4o.indent_spaces + "() \n\n"); |
878 s4o.print(s4o.indent_spaces + "() \n\n"); |
879 |
879 |
880 /* (C.6) Step undefinitions */ |
880 /* (C.6) Step undefinitions */ |
881 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::stepundef_sg); |
881 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::stepundef_sd); |
882 sfcdecl->print(symbol->function_block_body); |
882 sfcdecl->print(symbol->function_block_body); |
883 delete sfcdecl; |
883 delete sfcdecl; |
884 |
884 |
885 /* (C.7) Action undefinitions */ |
885 /* (C.7) Action undefinitions */ |
886 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::actionundef_sg); |
886 sfcdecl = new generate_cc_sfcdecl_c(&s4o, generate_cc_sfcdecl_c::actionundef_sd); |
887 sfcdecl->print(symbol->function_block_body); |
887 sfcdecl->print(symbol->function_block_body); |
888 delete sfcdecl; |
888 delete sfcdecl; |
889 |
889 |
890 s4o.indent_left(); |
890 s4o.indent_left(); |
891 s4o.print("\n\n\n\n"); |
891 s4o.print("\n\n\n\n"); |