112 |
112 |
113 |
113 |
114 /***************************/ |
114 /***************************/ |
115 /* B 0 - Programming Model */ |
115 /* B 0 - Programming Model */ |
116 /***************************/ |
116 /***************************/ |
117 SYM_LIST(library_c) |
117 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
118 SYM_LIST(library_c, enumvalue_symtable_t enumvalue_symtable;) |
118 |
119 |
119 |
120 |
120 /*************************/ |
121 /*************************/ |
121 /* B.1 - Common elements */ |
122 /* B.1 - Common elements */ |
122 /*************************/ |
123 /*************************/ |
699 /* B.1.5 - Program organization units */ |
700 /* B.1.5 - Program organization units */ |
700 /**************************************/ |
701 /**************************************/ |
701 /***********************/ |
702 /***********************/ |
702 /* B 1.5.1 - Functions */ |
703 /* B 1.5.1 - Functions */ |
703 /***********************/ |
704 /***********************/ |
704 SYM_REF4(function_declaration_c, derived_function_name, type_name, var_declarations_list, function_body) |
705 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
706 SYM_REF4(function_declaration_c, derived_function_name, type_name, var_declarations_list, function_body, enumvalue_symtable_t enumvalue_symtable;) |
705 |
707 |
706 /* intermediate helper symbol for |
708 /* intermediate helper symbol for |
707 * - function_declaration |
709 * - function_declaration |
708 * - function_block_declaration |
710 * - function_block_declaration |
709 * - program_declaration |
711 * - program_declaration |
719 |
721 |
720 /*****************************/ |
722 /*****************************/ |
721 /* B 1.5.2 - Function Blocks */ |
723 /* B 1.5.2 - Function Blocks */ |
722 /*****************************/ |
724 /*****************************/ |
723 /* FUNCTION_BLOCK derived_function_block_name io_OR_other_var_declarations function_block_body END_FUNCTION_BLOCK */ |
725 /* FUNCTION_BLOCK derived_function_block_name io_OR_other_var_declarations function_block_body END_FUNCTION_BLOCK */ |
724 SYM_REF3(function_block_declaration_c, fblock_name, var_declarations, fblock_body) |
726 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
727 SYM_REF3(function_block_declaration_c, fblock_name, var_declarations, fblock_body, enumvalue_symtable_t enumvalue_symtable;) |
725 |
728 |
726 /* intermediate helper symbol for function_declaration */ |
729 /* intermediate helper symbol for function_declaration */ |
727 /* { io_var_declarations | other_var_declarations } */ |
730 /* { io_var_declarations | other_var_declarations } */ |
728 /* |
731 /* |
729 * NOTE: we re-use the var_declarations_list_c |
732 * NOTE: we re-use the var_declarations_list_c |
741 |
744 |
742 /**********************/ |
745 /**********************/ |
743 /* B 1.5.3 - Programs */ |
746 /* B 1.5.3 - Programs */ |
744 /**********************/ |
747 /**********************/ |
745 /* PROGRAM program_type_name program_var_declarations_list function_block_body END_PROGRAM */ |
748 /* PROGRAM program_type_name program_var_declarations_list function_block_body END_PROGRAM */ |
746 SYM_REF3(program_declaration_c, program_type_name, var_declarations, function_block_body) |
749 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
750 SYM_REF3(program_declaration_c, program_type_name, var_declarations, function_block_body, enumvalue_symtable_t enumvalue_symtable;) |
747 |
751 |
748 /* intermediate helper symbol for program_declaration_c */ |
752 /* intermediate helper symbol for program_declaration_c */ |
749 /* { io_var_declarations | other_var_declarations } */ |
753 /* { io_var_declarations | other_var_declarations } */ |
750 /* |
754 /* |
751 * NOTE: we re-use the var_declarations_list_c |
755 * NOTE: we re-use the var_declarations_list_c |
824 (resource_declaration_list | single_resource_declaration) |
828 (resource_declaration_list | single_resource_declaration) |
825 optional_access_declarations |
829 optional_access_declarations |
826 optional_instance_specific_initializations |
830 optional_instance_specific_initializations |
827 END_CONFIGURATION |
831 END_CONFIGURATION |
828 */ |
832 */ |
829 SYM_REF5(configuration_declaration_c, configuration_name, global_var_declarations, resource_declarations, access_declarations, instance_specific_initializations) |
833 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
834 SYM_REF5(configuration_declaration_c, configuration_name, global_var_declarations, resource_declarations, access_declarations, instance_specific_initializations, enumvalue_symtable_t enumvalue_symtable;) |
830 |
835 |
831 /* helper symbol for configuration_declaration */ |
836 /* helper symbol for configuration_declaration */ |
832 SYM_LIST(resource_declaration_list_c) |
837 SYM_LIST(resource_declaration_list_c) |
833 |
838 |
834 /* |
839 /* |
835 RESOURCE resource_name ON resource_type_name |
840 RESOURCE resource_name ON resource_type_name |
836 optional_global_var_declarations |
841 optional_global_var_declarations |
837 single_resource_declaration |
842 single_resource_declaration |
838 END_RESOURCE |
843 END_RESOURCE |
839 */ |
844 */ |
840 SYM_REF4(resource_declaration_c, resource_name, resource_type_name, global_var_declarations, resource_declaration) |
845 /* enumvalue_symtable is filled in by enum_declaration_check_c, during stage3 semantic verification, with a list of all enumerated constants declared inside this POU */ |
|
846 SYM_REF4(resource_declaration_c, resource_name, resource_type_name, global_var_declarations, resource_declaration, enumvalue_symtable_t enumvalue_symtable;) |
841 |
847 |
842 /* task_configuration_list program_configuration_list */ |
848 /* task_configuration_list program_configuration_list */ |
843 SYM_REF2(single_resource_declaration_c, task_configuration_list, program_configuration_list) |
849 SYM_REF2(single_resource_declaration_c, task_configuration_list, program_configuration_list) |
844 |
850 |
845 /* helper symbol for single_resource_declaration */ |
851 /* helper symbol for single_resource_declaration */ |