absyntax/absyntax.def
changeset 738 e47cc8c954db
parent 690 6156ee2b4e32
child 805 b737cfc92614
equal deleted inserted replaced
737:f6bc5230aadd 738:e47cc8c954db
   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 */