stage1_2/iec.y
changeset 96 23baa8821b58
parent 95 b119b1db0a7a
child 98 d0cdf1d00b74
equal deleted inserted replaced
95:b119b1db0a7a 96:23baa8821b58
  2647 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in input variable(s) declaration.");
  2647 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in input variable(s) declaration.");
  2648 	 /* yychar */
  2648 	 /* yychar */
  2649 	 yyerrok;
  2649 	 yyerrok;
  2650 	}
  2650 	}
  2651 /* ERROR_CHECK_END */
  2651 /* ERROR_CHECK_END */
  2652 
       
  2653 ;
  2652 ;
  2654 
  2653 
  2655 /* helper symbol for input_declarations */
  2654 /* helper symbol for input_declarations */
  2656 input_declaration_list:
  2655 input_declaration_list:
  2657   input_declaration ';'
  2656   input_declaration ';'
  2793 	{$$ = new output_declarations_c(NULL, $2, locloc(@$));}
  2792 	{$$ = new output_declarations_c(NULL, $2, locloc(@$));}
  2794 | VAR_OUTPUT RETAIN var_init_decl_list END_VAR
  2793 | VAR_OUTPUT RETAIN var_init_decl_list END_VAR
  2795 	{$$ = new output_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));}
  2794 	{$$ = new output_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));}
  2796 | VAR_OUTPUT NON_RETAIN var_init_decl_list END_VAR
  2795 | VAR_OUTPUT NON_RETAIN var_init_decl_list END_VAR
  2797 	{$$ = new output_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));}
  2796 	{$$ = new output_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));}
       
  2797 /* ERROR_CHECK_BEGIN */
       
  2798 | VAR_OUTPUT error END_VAR
       
  2799 	{$$ = NULL;
       
  2800 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in output variable(s) declaration.");
       
  2801 	 /* yychar */
       
  2802 	 yyerrok;
       
  2803 	}
       
  2804 /* ERROR_CHECK_END */
  2798 ;
  2805 ;
  2799 
  2806 
  2800 
  2807 
  2801 
  2808 
  2802 input_output_declarations:
  2809 input_output_declarations:
  2803   VAR_IN_OUT var_declaration_list END_VAR
  2810   VAR_IN_OUT var_declaration_list END_VAR
  2804 	{$$ = new input_output_declarations_c($2, locloc(@$));}
  2811 	{$$ = new input_output_declarations_c($2, locloc(@$));}
       
  2812 /* ERROR_CHECK_BEGIN */
       
  2813 | VAR_IN_OUT error END_VAR
       
  2814 	{$$ = NULL;
       
  2815 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in in_out variable(s) declaration.");
       
  2816 	 /* yychar */
       
  2817 	 yyerrok;
       
  2818 	}
       
  2819 /* ERROR_CHECK_END */
  2805 ;
  2820 ;
  2806 
  2821 
  2807 
  2822 
  2808 
  2823 
  2809 /* helper symbol for input_output_declarations */
  2824 /* helper symbol for input_output_declarations */
  2859 
  2874 
  2860 
  2875 
  2861 retentive_var_declarations:
  2876 retentive_var_declarations:
  2862   VAR RETAIN var_init_decl_list END_VAR
  2877   VAR RETAIN var_init_decl_list END_VAR
  2863 	{$$ = new retentive_var_declarations_c($3, locloc(@$));}
  2878 	{$$ = new retentive_var_declarations_c($3, locloc(@$));}
       
  2879 /* ERROR_CHECK_BEGIN */
       
  2880 | VAR RETAIN error END_VAR
       
  2881 	{$$ = NULL;
       
  2882 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in variable(s) declaration.");
       
  2883 	 /* yychar */
       
  2884 	 yyerrok;
       
  2885 	}
       
  2886 /* ERROR_CHECK_END */
  2864 ;
  2887 ;
  2865 
  2888 
  2866 
  2889 
  2867 located_var_declarations:
  2890 located_var_declarations:
  2868   VAR  located_var_decl_list END_VAR
  2891   VAR  located_var_decl_list END_VAR
  2900 external_var_declarations:
  2923 external_var_declarations:
  2901   VAR_EXTERNAL external_declaration_list END_VAR
  2924   VAR_EXTERNAL external_declaration_list END_VAR
  2902 	{$$ = new external_var_declarations_c(NULL, $2, locloc(@$));}
  2925 	{$$ = new external_var_declarations_c(NULL, $2, locloc(@$));}
  2903 | VAR_EXTERNAL CONSTANT external_declaration_list END_VAR
  2926 | VAR_EXTERNAL CONSTANT external_declaration_list END_VAR
  2904 	{$$ = new external_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));}
  2927 	{$$ = new external_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));}
       
  2928 /* ERROR_CHECK_BEGIN */
       
  2929 | VAR_EXTERNAL error END_VAR
       
  2930 	{$$ = NULL;
       
  2931 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in external variable(s) declaration.");
       
  2932 	 /* yychar */
       
  2933 	 yyerrok;
       
  2934 	}
       
  2935 /* ERROR_CHECK_END */
  2905 ;
  2936 ;
  2906 
  2937 
  2907 /* helper symbol for external_var_declarations */
  2938 /* helper symbol for external_var_declarations */
  2908 external_declaration_list:
  2939 external_declaration_list:
  2909   external_declaration ';'
  2940   external_declaration ';'
  2949 	{$$ = new global_var_declarations_c(NULL, $2, locloc(@$));}
  2980 	{$$ = new global_var_declarations_c(NULL, $2, locloc(@$));}
  2950 | VAR_GLOBAL CONSTANT global_var_decl_list END_VAR
  2981 | VAR_GLOBAL CONSTANT global_var_decl_list END_VAR
  2951 	{$$ = new global_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));}
  2982 	{$$ = new global_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));}
  2952 | VAR_GLOBAL RETAIN global_var_decl_list END_VAR
  2983 | VAR_GLOBAL RETAIN global_var_decl_list END_VAR
  2953 	{$$ = new global_var_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));}
  2984 	{$$ = new global_var_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));}
       
  2985 /* ERROR_CHECK_BEGIN */
       
  2986 | VAR_GLOBAL error END_VAR
       
  2987 	{$$ = NULL;
       
  2988 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in global variable(s) declaration.");
       
  2989 	 /* yychar */
       
  2990 	 yyerrok;
       
  2991 	}
       
  2992 /* ERROR_CHECK_END */
  2954 ;
  2993 ;
  2955 
  2994 
  2956 
  2995 
  2957 /* helper symbol for global_var_declarations */
  2996 /* helper symbol for global_var_declarations */
  2958 global_var_decl_list:
  2997 global_var_decl_list:
  3564 | non_retentive_var_decls
  3603 | non_retentive_var_decls
  3565 | external_var_declarations
  3604 | external_var_declarations
  3566 | var_declarations
  3605 | var_declarations
  3567 | retentive_var_declarations
  3606 | retentive_var_declarations
  3568 | incompl_located_var_declarations
  3607 | incompl_located_var_declarations
       
  3608 /* TODO: the following error rule is not working! Must be fixed. */
       
  3609 /* ERROR_CHECK_BEGIN */
       
  3610 | VAR error END_VAR
       
  3611 	{$$ = NULL;
       
  3612 	 print_err_msg(current_filename, locf(@1), locl(@3), "error in variable(s) declaration.");
       
  3613 	 /* yychar */
       
  3614 	 yyerrok;
       
  3615 	}
       
  3616 /* ERROR_CHECK_END */
  3569 ;
  3617 ;
  3570 
  3618 
  3571 
  3619 
  3572 temp_var_decls:
  3620 temp_var_decls:
  3573   VAR_TEMP temp_var_decls_list END_VAR
  3621   VAR_TEMP temp_var_decls_list END_VAR