1682 */ |
1682 */ |
1683 /* ERROR_CHECK_BEGIN */ |
1683 /* ERROR_CHECK_BEGIN */ |
1684 | integer_type_name signed_integer |
1684 | integer_type_name signed_integer |
1685 {$$ = NULL; |
1685 {$$ = NULL; |
1686 yynerrs++; |
1686 yynerrs++; |
1687 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between integer type name and value in integer literal."); |
1687 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between integer type name and value in integer literal."); |
1688 } |
1688 } |
1689 | integer_type_name binary_integer |
1689 | integer_type_name binary_integer |
1690 {$$ = NULL; |
1690 {$$ = NULL; |
1691 yynerrs++; |
1691 yynerrs++; |
1692 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between integer type name and value in integer literal."); |
1692 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between integer type name and value in integer literal."); |
1693 } |
1693 } |
1694 | integer_type_name octal_integer |
1694 | integer_type_name octal_integer |
1695 {$$ = NULL; |
1695 {$$ = NULL; |
1696 yynerrs++; |
1696 yynerrs++; |
1697 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between integer type name and value in integer literal."); |
1697 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between integer type name and value in integer literal."); |
1698 } |
1698 } |
1699 | integer_type_name hex_integer |
1699 | integer_type_name hex_integer |
1700 {$$ = NULL; |
1700 {$$ = NULL; |
1701 yynerrs++; |
1701 yynerrs++; |
1702 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between integer type name and value in integer literal."); |
1702 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between integer type name and value in integer literal."); |
1703 } |
1703 } |
1704 | integer_type_name error signed_integer |
1704 | integer_type_name error signed_integer |
1705 {$$ = NULL; |
1705 {$$ = NULL; |
1706 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between integer type name and value in integer literal."); |
1706 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between integer type name and value in integer literal."); |
1707 yyerrok; |
1707 yyerrok; |
1708 } |
1708 } |
1709 | integer_type_name error binary_integer |
1709 | integer_type_name error binary_integer |
1710 {$$ = NULL; |
1710 {$$ = NULL; |
1711 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between integer type name and value in integer literal."); |
1711 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between integer type name and value in integer literal."); |
1712 yyerrok; |
1712 yyerrok; |
1713 } |
1713 } |
1714 | integer_type_name error octal_integer |
1714 | integer_type_name error octal_integer |
1715 {$$ = NULL; |
1715 {$$ = NULL; |
1716 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between integer type name and value in integer literal."); |
1716 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between integer type name and value in integer literal."); |
1717 yyerrok; |
1717 yyerrok; |
1718 } |
1718 } |
1719 | integer_type_name error hex_integer |
1719 | integer_type_name error hex_integer |
1720 {$$ = NULL; |
1720 {$$ = NULL; |
1721 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between integer type name and value in integer literal."); |
1721 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between integer type name and value in integer literal."); |
1722 yyerrok; |
1722 yyerrok; |
1723 } |
1723 } |
1724 | integer_type_name '#' error |
1724 | integer_type_name '#' error |
1725 {$$ = NULL; |
1725 {$$ = NULL; |
1726 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for integer literal."); |
1726 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for integer literal."); |
1727 yyerrok; |
1727 yyerrok; |
1728 } |
1728 } |
1729 /* ERROR_CHECK_END */ |
1729 /* ERROR_CHECK_END */ |
1730 ; |
1730 ; |
1731 |
1731 |
1808 */ |
1808 */ |
1809 /* ERROR_CHECK_BEGIN */ |
1809 /* ERROR_CHECK_BEGIN */ |
1810 | bit_string_type_name integer |
1810 | bit_string_type_name integer |
1811 {$$ = NULL; |
1811 {$$ = NULL; |
1812 yynerrs++; |
1812 yynerrs++; |
1813 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between bit string type name and value in bit string literal."); |
1813 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between bit string type name and value in bit string literal."); |
1814 } |
1814 } |
1815 | bit_string_type_name binary_integer |
1815 | bit_string_type_name binary_integer |
1816 {$$ = NULL; |
1816 {$$ = NULL; |
1817 yynerrs++; |
1817 yynerrs++; |
1818 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between bit string type name and value in bit string literal."); |
1818 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between bit string type name and value in bit string literal."); |
1819 } |
1819 } |
1820 | bit_string_type_name octal_integer |
1820 | bit_string_type_name octal_integer |
1821 {$$ = NULL; |
1821 {$$ = NULL; |
1822 yynerrs++; |
1822 yynerrs++; |
1823 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between bit string type name and value in bit string literal."); |
1823 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between bit string type name and value in bit string literal."); |
1824 } |
1824 } |
1825 | bit_string_type_name hex_integer |
1825 | bit_string_type_name hex_integer |
1826 {$$ = NULL; |
1826 {$$ = NULL; |
1827 yynerrs++; |
1827 yynerrs++; |
1828 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between bit string type name and value in bit string literal."); |
1828 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between bit string type name and value in bit string literal."); |
1829 } |
1829 } |
1830 | bit_string_type_name error integer |
1830 | bit_string_type_name error integer |
1831 {$$ = NULL; |
1831 {$$ = NULL; |
1832 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between bit string type name and value in bit string literal."); |
1832 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between bit string type name and value in bit string literal."); |
1833 yyerrok; |
1833 yyerrok; |
1834 } |
1834 } |
1835 | bit_string_type_name error binary_integer |
1835 | bit_string_type_name error binary_integer |
1836 {$$ = NULL; |
1836 {$$ = NULL; |
1837 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between bit string type name and value in bit string literal."); |
1837 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between bit string type name and value in bit string literal."); |
1838 yyerrok; |
1838 yyerrok; |
1839 } |
1839 } |
1840 | bit_string_type_name error octal_integer |
1840 | bit_string_type_name error octal_integer |
1841 {$$ = NULL; |
1841 {$$ = NULL; |
1842 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between bit string type name and value in bit string literal."); |
1842 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between bit string type name and value in bit string literal."); |
1843 yyerrok; |
1843 yyerrok; |
1844 } |
1844 } |
1845 | bit_string_type_name error hex_integer |
1845 | bit_string_type_name error hex_integer |
1846 {$$ = NULL; |
1846 {$$ = NULL; |
1847 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between bit string type name and value in bit string literal."); |
1847 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between bit string type name and value in bit string literal."); |
1848 yyerrok; |
1848 yyerrok; |
1849 } |
1849 } |
1850 | bit_string_type_name '#' error |
1850 | bit_string_type_name '#' error |
1851 {$$ = NULL; |
1851 {$$ = NULL; |
1852 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for bit string literal."); |
1852 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for bit string literal."); |
1853 yyerrok; |
1853 yyerrok; |
1854 } |
1854 } |
1855 /* ERROR_CHECK_END */ |
1855 /* ERROR_CHECK_END */ |
1856 ; |
1856 ; |
1857 |
1857 |
1953 {$$ = new duration_c(new neg_time_c(locloc(@$)), $3, locloc(@$));} |
1953 {$$ = new duration_c(new neg_time_c(locloc(@$)), $3, locloc(@$));} |
1954 /* ERROR_CHECK_BEGIN */ |
1954 /* ERROR_CHECK_BEGIN */ |
1955 | TIME interval |
1955 | TIME interval |
1956 {$$ = NULL; |
1956 {$$ = NULL; |
1957 yynerrs++; |
1957 yynerrs++; |
1958 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between 'TIME' and interval in duration."); |
1958 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between 'TIME' and interval in duration."); |
1959 } |
1959 } |
1960 | TIME '-' interval |
1960 | TIME '-' interval |
1961 {$$ = NULL; |
1961 {$$ = NULL; |
1962 yynerrs++; |
1962 yynerrs++; |
1963 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between 'TIME' and interval in duration."); |
1963 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between 'TIME' and interval in duration."); |
1964 } |
1964 } |
1965 | TIME error interval |
1965 | TIME error interval |
1966 {$$ = NULL; |
1966 {$$ = NULL; |
1967 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between 'TIME' and interval in duration."); |
1967 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between 'TIME' and interval in duration."); |
1968 yyerrok; |
1968 yyerrok; |
1969 } |
1969 } |
1970 | TIME error '-' interval |
1970 | TIME error '-' interval |
1971 {$$ = NULL; |
1971 {$$ = NULL; |
1972 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between 'TIME' and interval in duration."); |
1972 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between 'TIME' and interval in duration."); |
1973 yyerrok; |
1973 yyerrok; |
1974 } |
1974 } |
1975 | TIME '#' error |
1975 | TIME '#' error |
1976 {$$ = NULL; |
1976 {$$ = NULL; |
|
1977 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for duration."); |
|
1978 yyerrok; |
|
1979 } |
|
1980 | T_SHARP error |
|
1981 {$$ = NULL; |
1977 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for duration."); |
1982 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for duration."); |
1978 yyerrok; |
|
1979 } |
|
1980 | T_SHARP error |
|
1981 {$$ = NULL; |
|
1982 print_err_msg(current_filename, locf(@1), locl(@1), "invalid value for duration."); |
|
1983 yyerrok; |
1983 yyerrok; |
1984 } |
1984 } |
1985 /* ERROR_CHECK_END */ |
1985 /* ERROR_CHECK_END */ |
1986 ; |
1986 ; |
1987 |
1987 |
2151 {$$ = new daytime_c($1, $3, $5, locloc(@$));} |
2151 {$$ = new daytime_c($1, $3, $5, locloc(@$));} |
2152 /* ERROR_CHECK_BEGIN */ |
2152 /* ERROR_CHECK_BEGIN */ |
2153 | day_hour day_minute ':' day_second |
2153 | day_hour day_minute ':' day_second |
2154 {$$ = NULL; |
2154 {$$ = NULL; |
2155 yynerrs++; |
2155 yynerrs++; |
2156 print_err_msg(current_filename, locf(@1), locl(@2), "':' missing between hours and minutes in daytime."); |
2156 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between hours and minutes in daytime."); |
2157 } |
2157 } |
2158 | day_hour error day_minute ':' day_second |
2158 | day_hour error day_minute ':' day_second |
2159 {$$ = NULL; |
2159 {$$ = NULL; |
2160 print_err_msg(current_filename, locf(@1), locl(@3), "expecting ':' between hours and minutes in daytime."); |
2160 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':' between hours and minutes in daytime."); |
2161 yyerrok; |
2161 yyerrok; |
2162 } |
2162 } |
2163 | day_hour ':' ':' day_second |
2163 | day_hour ':' ':' day_second |
2164 {$$ = NULL; |
2164 {$$ = NULL; |
2165 yynerrs++; |
2165 yynerrs++; |
2166 print_err_msg(current_filename, locf(@2), locl(@3), "no minutes defined in daytime."); |
2166 print_err_msg(current_filename, locl(@2), locf(@3), "no minutes defined in daytime."); |
2167 } |
2167 } |
2168 | day_hour ':' error ':' day_second |
2168 | day_hour ':' error ':' day_second |
2169 {$$ = NULL; |
2169 {$$ = NULL; |
2170 print_err_msg(current_filename, locf(@2), locl(@4), "invalid value for minutes in daytime."); |
2170 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for minutes in daytime."); |
2171 yyerrok; |
2171 yyerrok; |
2172 } |
2172 } |
2173 | day_hour ':' day_minute day_second |
2173 | day_hour ':' day_minute day_second |
2174 {$$ = NULL; |
2174 {$$ = NULL; |
2175 yynerrs++; |
2175 yynerrs++; |
2176 print_err_msg(current_filename, locf(@3), locl(@4), "':' missing between minutes and seconds in daytime."); |
2176 print_err_msg(current_filename, locl(@3), locf(@4), "':' missing between minutes and seconds in daytime."); |
2177 } |
2177 } |
2178 | day_hour ':' day_minute error day_second |
2178 | day_hour ':' day_minute error day_second |
2179 {$$ = NULL; |
2179 {$$ = NULL; |
2180 print_err_msg(current_filename, locf(@3), locl(@5), "expecting ':' between minutes and seconds in daytime."); |
2180 print_err_msg(current_filename, locf(@4), locl(@4), "expecting ':' between minutes and seconds in daytime."); |
2181 yyerrok; |
2181 yyerrok; |
2182 } |
2182 } |
2183 | day_hour ':' day_minute ':' error |
2183 | day_hour ':' day_minute ':' error |
2184 {$$ = NULL; |
2184 {$$ = NULL; |
2185 print_err_msg(current_filename, locf(@4), locl(@4), "invalid value for seconds in daytime."); |
2185 print_err_msg(current_filename, locf(@5), locl(@5), "invalid value for seconds in daytime."); |
2186 yyerrok; |
2186 yyerrok; |
2187 } |
2187 } |
2188 /* ERROR_CHECK_END */ |
2188 /* ERROR_CHECK_END */ |
2189 ; |
2189 ; |
2190 |
2190 |
2229 {$$ = new date_literal_c($1, $3, $5, locloc(@$));} |
2229 {$$ = new date_literal_c($1, $3, $5, locloc(@$));} |
2230 /* ERROR_CHECK_BEGIN */ |
2230 /* ERROR_CHECK_BEGIN */ |
2231 | year month '-' day |
2231 | year month '-' day |
2232 {$$ = NULL; |
2232 {$$ = NULL; |
2233 yynerrs++; |
2233 yynerrs++; |
2234 print_err_msg(current_filename, locf(@1), locl(@2), "'-' missing between year and month in date literal."); |
2234 print_err_msg(current_filename, locl(@1), locf(@2), "'-' missing between year and month in date literal."); |
2235 } |
2235 } |
2236 | year error month '-' day |
2236 | year error month '-' day |
2237 {$$ = NULL; |
2237 {$$ = NULL; |
2238 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '-' between year and month in date literal."); |
2238 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '-' between year and month in date literal."); |
2239 yyerrok; |
2239 yyerrok; |
2240 } |
2240 } |
2241 | year '-' '-' day |
2241 | year '-' '-' day |
2242 {$$ = NULL; |
2242 {$$ = NULL; |
2243 yynerrs++; |
2243 yynerrs++; |
2244 print_err_msg(current_filename, locf(@2), locl(@3), "no month defined in date literal."); |
2244 print_err_msg(current_filename, locl(@2), locf(@3), "no month defined in date literal."); |
2245 } |
2245 } |
2246 | year '-' error '-' day |
2246 | year '-' error '-' day |
2247 {$$ = NULL; |
2247 {$$ = NULL; |
2248 print_err_msg(current_filename, locf(@2), locl(@4), "invalid value for month in date literal."); |
2248 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for month in date literal."); |
2249 yyerrok; |
2249 yyerrok; |
2250 } |
2250 } |
2251 | year '-' month day |
2251 | year '-' month day |
2252 {$$ = NULL; |
2252 {$$ = NULL; |
2253 yynerrs++; |
2253 yynerrs++; |
2254 print_err_msg(current_filename, locf(@3), locl(@4), "':' missing between month and day in date literal."); |
2254 print_err_msg(current_filename, locl(@3), locf(@4), "':' missing between month and day in date literal."); |
2255 } |
2255 } |
2256 | year ':' month error day |
2256 | year ':' month error day |
2257 {$$ = NULL; |
2257 {$$ = NULL; |
2258 print_err_msg(current_filename, locf(@3), locl(@5), "expecting ':' between month and day in date literal."); |
2258 print_err_msg(current_filename, locf(@4), locl(@4), "expecting ':' between month and day in date literal."); |
2259 yyerrok; |
2259 yyerrok; |
2260 } |
2260 } |
2261 | year ':' month ':' error |
2261 | year ':' month ':' error |
2262 {$$ = NULL; |
2262 {$$ = NULL; |
2263 print_err_msg(current_filename, locf(@4), locl(@4), "invalid value for day in date literal."); |
2263 print_err_msg(current_filename, locf(@5), locl(@5), "invalid value for day in date literal."); |
2264 yyerrok; |
2264 yyerrok; |
2265 } |
2265 } |
2266 /* ERROR_CHECK_END */ |
2266 /* ERROR_CHECK_END */ |
2267 ; |
2267 ; |
2268 |
2268 |
2277 {$$ = new date_and_time_c($3, $5, locloc(@$));} |
2277 {$$ = new date_and_time_c($3, $5, locloc(@$));} |
2278 /* ERROR_CHECK_BEGIN */ |
2278 /* ERROR_CHECK_BEGIN */ |
2279 | DATE_AND_TIME date_literal '-' daytime |
2279 | DATE_AND_TIME date_literal '-' daytime |
2280 {$$ = NULL; |
2280 {$$ = NULL; |
2281 yynerrs++; |
2281 yynerrs++; |
2282 print_err_msg(current_filename, locf(@1), locl(@2), "'#' missing between 'DATE_AND_TIME' and date literal in date and time."); |
2282 print_err_msg(current_filename, locl(@1), locf(@2), "'#' missing between 'DATE_AND_TIME' and date literal in date and time."); |
2283 } |
2283 } |
2284 | DATE_AND_TIME error date_literal '-' daytime |
2284 | DATE_AND_TIME error date_literal '-' daytime |
2285 {$$ = NULL; |
2285 {$$ = NULL; |
2286 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '#' between 'DATE_AND_TIME' and date literal in date and time."); |
2286 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '#' between 'DATE_AND_TIME' and date literal in date and time."); |
2287 yyerrok; |
2287 yyerrok; |
2288 } |
2288 } |
2289 | DATE_AND_TIME '#' '-' daytime |
2289 | DATE_AND_TIME '#' '-' daytime |
2290 {$$ = NULL; |
2290 {$$ = NULL; |
2291 yynerrs++; |
2291 yynerrs++; |
2292 print_err_msg(current_filename, locf(@2), locl(@2), "no value defined for date literal in date and time."); |
2292 print_err_msg(current_filename, locl(@2), locf(@3), "no value defined for date literal in date and time."); |
2293 } |
2293 } |
2294 | DATE_AND_TIME '#' error '-' daytime |
2294 | DATE_AND_TIME '#' error '-' daytime |
2295 {$$ = NULL; |
2295 {$$ = NULL; |
2296 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for date literal in date and time."); |
2296 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value for date literal in date and time."); |
2297 yyerrok; |
2297 yyerrok; |
2298 } |
2298 } |
2299 | DATE_AND_TIME '#' date_literal daytime |
2299 | DATE_AND_TIME '#' date_literal daytime |
2300 {$$ = NULL; |
2300 {$$ = NULL; |
2301 yynerrs++; |
2301 yynerrs++; |
2302 print_err_msg(current_filename, locf(@2), locl(@2), "'-' missing between date literal and daytime in date and time."); |
2302 print_err_msg(current_filename, locl(@3), locf(@4), "'-' missing between date literal and daytime in date and time."); |
2303 } |
2303 } |
2304 | DATE_AND_TIME '#' date_literal error daytime |
2304 | DATE_AND_TIME '#' date_literal error daytime |
2305 {$$ = NULL; |
2305 {$$ = NULL; |
2306 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '-' between date literal and daytime in date and time."); |
2306 print_err_msg(current_filename, locf(@4), locl(@4), "expecting '-' between date literal and daytime in date and time."); |
2307 yyerrok; |
2307 yyerrok; |
2308 } |
2308 } |
2309 | DATE_AND_TIME '#' date_literal '-' error |
2309 | DATE_AND_TIME '#' date_literal '-' error |
2310 {$$ = NULL; |
2310 {$$ = NULL; |
2311 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value for daytime in date and time."); |
2311 print_err_msg(current_filename, locf(@5), locl(@5), "invalid value for daytime in date and time."); |
2312 yyerrok; |
2312 yyerrok; |
2313 } |
2313 } |
2314 /* ERROR_CHECK_END */ |
2314 /* ERROR_CHECK_END */ |
2315 ; |
2315 ; |
2316 |
2316 |
2499 type_declaration ';' |
2499 type_declaration ';' |
2500 {$$ = new type_declaration_list_c(locloc(@$)); $$->add_element($1);} |
2500 {$$ = new type_declaration_list_c(locloc(@$)); $$->add_element($1);} |
2501 | type_declaration_list type_declaration ';' |
2501 | type_declaration_list type_declaration ';' |
2502 {$$ = $1; $$->add_element($2);} |
2502 {$$ = $1; $$->add_element($2);} |
2503 /* ERROR_CHECK_BEGIN */ |
2503 /* ERROR_CHECK_BEGIN */ |
|
2504 | error ';' |
|
2505 {$$ = new type_declaration_list_c(locloc(@$)); |
|
2506 print_err_msg(current_filename, locf(@1), locl(@1), "invalid data type declaration."); |
|
2507 yyerrok; |
|
2508 } |
2504 | type_declaration error |
2509 | type_declaration error |
2505 {$$ = NULL; |
2510 {$$ = new type_declaration_list_c(locloc(@$)); |
2506 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of data type declaration."); |
2511 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of data type declaration."); |
2507 yyerrok; |
2512 yyerrok; |
2508 } |
2513 } |
2509 | type_declaration_list type_declaration error |
2514 | type_declaration_list type_declaration error |
2510 {$$ = NULL; |
2515 {$$ = $1; |
2511 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of data type declaration."); |
2516 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of data type declaration."); |
2512 yyerrok; |
2517 yyerrok; |
2513 } |
2518 } |
2514 | type_declaration_list error ';' |
2519 | type_declaration_list error ';' |
2515 {$$ = NULL; |
2520 {$$ = $1; |
2516 print_err_msg(current_filename, locf(@3), locl(@3), "invalid data type declaration."); |
2521 print_err_msg(current_filename, locf(@2), locl(@2), "invalid data type declaration."); |
2517 yyerrok; |
2522 yyerrok; |
2518 } |
2523 } |
2519 | type_declaration_list ';' |
2524 | type_declaration_list ';' |
2520 {$$ = NULL; |
2525 {$$ = $1; |
2521 yynerrs++; |
2526 yynerrs++; |
2522 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after data type declaration."); |
2527 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after data type declaration."); |
2523 } |
2528 } |
2524 /* ERROR_CHECK_END */ |
2529 /* ERROR_CHECK_END */ |
2525 ; |
2530 ; |
2841 {$$ = new array_specification_c($3, $6, locloc(@$));} |
2846 {$$ = new array_specification_c($3, $6, locloc(@$));} |
2842 /* ERROR_CHECK_BEGIN */ |
2847 /* ERROR_CHECK_BEGIN */ |
2843 | ARRAY array_subrange_list ']' OF non_generic_type_name |
2848 | ARRAY array_subrange_list ']' OF non_generic_type_name |
2844 {$$ = NULL; |
2849 {$$ = NULL; |
2845 yynerrs++; |
2850 yynerrs++; |
2846 print_err_msg(current_filename, locf(@1), locl(@2), "'[' missing before subrange list in array specification."); |
2851 print_err_msg(current_filename, locl(@1), locf(@2), "'[' missing before subrange list in array specification."); |
2847 } |
2852 } |
2848 | ARRAY error array_subrange_list ']' OF non_generic_type_name |
2853 | ARRAY error array_subrange_list ']' OF non_generic_type_name |
2849 {$$ = NULL; |
2854 {$$ = NULL; |
2850 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '[' after 'ARRAY' in array specification."); |
2855 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '[' after 'ARRAY' in array specification."); |
2851 yyerrok; |
2856 yyerrok; |
2852 } |
2857 } |
2853 | ARRAY '[' ']' OF non_generic_type_name |
2858 | ARRAY '[' ']' OF non_generic_type_name |
2854 {$$ = NULL; |
2859 {$$ = NULL; |
2855 yynerrs++; |
2860 yynerrs++; |
2856 print_err_msg(current_filename, locf(@2), locl(@3), "no subrange list defined in array specification."); |
2861 print_err_msg(current_filename, locl(@2), locf(@3), "no subrange list defined in array specification."); |
2857 } |
2862 } |
2858 | ARRAY '[' error ']' OF non_generic_type_name |
2863 | ARRAY '[' error ']' OF non_generic_type_name |
2859 {$$ = NULL; |
2864 {$$ = NULL; |
2860 print_err_msg(current_filename, locf(@2), locl(@4), "invalid subrange list defined in array specification."); |
2865 print_err_msg(current_filename, locf(@3), locl(@3), "invalid subrange list defined in array specification."); |
2861 yyerrok; |
2866 yyerrok; |
2862 } |
2867 } |
2863 | ARRAY OF non_generic_type_name |
2868 | ARRAY OF non_generic_type_name |
2864 {$$ = NULL; |
2869 {$$ = NULL; |
2865 yynerrs++; |
2870 yynerrs++; |
2866 print_err_msg(current_filename, locf(@1), locl(@2), "no subrange list defined in array specification."); |
2871 print_err_msg(current_filename, locl(@1), locf(@2), "no subrange list defined in array specification."); |
2867 } |
2872 } |
2868 | ARRAY error OF non_generic_type_name |
2873 | ARRAY error OF non_generic_type_name |
2869 {$$ = NULL; |
2874 {$$ = NULL; |
2870 print_err_msg(current_filename, locf(@1), locl(@3), "invalid subrange list defined in array specification."); |
2875 print_err_msg(current_filename, locf(@2), locl(@2), "invalid subrange list defined in array specification."); |
2871 yyerrok; |
2876 yyerrok; |
2872 } |
2877 } |
2873 | ARRAY '[' array_subrange_list OF non_generic_type_name |
2878 | ARRAY '[' array_subrange_list OF non_generic_type_name |
2874 {$$ = NULL; |
2879 {$$ = NULL; |
2875 yynerrs++; |
2880 yynerrs++; |
2876 print_err_msg(current_filename, locf(@3), locl(@4), "']' missing after subrange list in array specification."); |
2881 print_err_msg(current_filename, locl(@3), locf(@4), "']' missing after subrange list in array specification."); |
2877 } |
2882 } |
2878 | ARRAY '[' array_subrange_list error OF non_generic_type_name |
2883 | ARRAY '[' array_subrange_list error OF non_generic_type_name |
2879 {$$ = NULL; |
2884 {$$ = NULL; |
2880 yynerrs++; |
2885 print_err_msg(current_filename, locf(@4), locl(@4), "expecting '[' after subrange list in array specification."); |
2881 print_err_msg(current_filename, locf(@3), locl(@5), "expecting '[' after subrange list in array specification."); |
2886 yyerrok; |
2882 } |
2887 } |
2883 | ARRAY '[' array_subrange_list ']' non_generic_type_name |
2888 | ARRAY '[' array_subrange_list ']' non_generic_type_name |
2884 {$$ = NULL; |
2889 {$$ = NULL; |
2885 yynerrs++; |
2890 yynerrs++; |
2886 print_err_msg(current_filename, locf(@4), locl(@5), "'OF' missing between subrange list and item type name in array specification."); |
2891 print_err_msg(current_filename, locl(@4), locf(@5), "'OF' missing between subrange list and item type name in array specification."); |
2887 } |
2892 } |
2888 | ARRAY '[' array_subrange_list ']' error non_generic_type_name |
2893 | ARRAY '[' array_subrange_list ']' error non_generic_type_name |
2889 {$$ = NULL; |
2894 {$$ = NULL; |
2890 print_err_msg(current_filename, locf(@4), locl(@6), "expecting 'OF' between subrange list and item type name in array specification."); |
2895 print_err_msg(current_filename, locf(@5), locl(@5), "expecting 'OF' between subrange list and item type name in array specification."); |
2891 yyerrok; |
2896 yyerrok; |
2892 } |
2897 } |
2893 | ARRAY '[' array_subrange_list ']' OF error |
2898 | ARRAY '[' array_subrange_list ']' OF error |
2894 {$$ = NULL; |
2899 {$$ = NULL; |
2895 print_err_msg(current_filename, locf(@1), locl(@3), "no itme data type defined in array specification."); |
2900 print_err_msg(current_filename, locf(@6), locl(@6), "no item data type defined in array specification."); |
2896 yyerrok; |
2901 yyerrok; |
2897 } |
2902 } |
2898 /* ERROR_CHECK_END */ |
2903 /* ERROR_CHECK_END */ |
2899 ; |
2904 ; |
2900 |
2905 |
3056 structure_element_declaration ';' |
3061 structure_element_declaration ';' |
3057 {$$ = new structure_element_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3062 {$$ = new structure_element_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3058 | structure_element_declaration_list structure_element_declaration ';' |
3063 | structure_element_declaration_list structure_element_declaration ';' |
3059 {$$ = $1; $$->add_element($2);} |
3064 {$$ = $1; $$->add_element($2);} |
3060 /* ERROR_CHECK_BEGIN */ |
3065 /* ERROR_CHECK_BEGIN */ |
|
3066 | error ';' |
|
3067 {$$ = new structure_element_declaration_list_c(locloc(@$)); |
|
3068 print_err_msg(current_filename, locf(@1), locl(@1), "invalid structure element declaration."); |
|
3069 yyerrok; |
|
3070 } |
3061 | structure_element_declaration error |
3071 | structure_element_declaration error |
3062 {$$ = NULL; |
3072 {$$ = new structure_element_declaration_list_c(locloc(@$)); |
3063 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of structure element declaration."); |
3073 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of structure element declaration."); |
3064 yyerrok; |
3074 yyerrok; |
3065 } |
3075 } |
3066 | structure_element_declaration_list structure_element_declaration error |
3076 | structure_element_declaration_list structure_element_declaration error |
3067 {$$ = NULL; |
3077 {$$ = $1; |
3068 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of structure element declaration."); |
3078 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of structure element declaration."); |
3069 yyerrok; |
3079 yyerrok; |
3070 } |
3080 } |
3071 | structure_element_declaration_list error ';' |
3081 | structure_element_declaration_list error ';' |
3072 {$$ = NULL; |
3082 {$$ = $1; |
3073 print_err_msg(current_filename, locf(@3), locl(@3), "invalid structure element declaration."); |
3083 print_err_msg(current_filename, locf(@2), locl(@2), "invalid structure element declaration."); |
3074 yyerrok; |
3084 yyerrok; |
3075 } |
3085 } |
3076 | structure_element_declaration_list ';' |
3086 | structure_element_declaration_list ';' |
3077 {$$ = NULL; |
3087 {$$ = $1; |
3078 yynerrs++; |
3088 yynerrs++; |
3079 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after structure element declaration."); |
3089 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after structure element declaration."); |
3080 } |
3090 } |
3081 /* ERROR_CHECK_END */ |
3091 /* ERROR_CHECK_END */ |
3082 ; |
3092 ; |
3095 {$$ = new structure_element_declaration_c($1, $3, locloc(@$));} |
3105 {$$ = new structure_element_declaration_c($1, $3, locloc(@$));} |
3096 /* ERROR_CHECK_BEGIN */ |
3106 /* ERROR_CHECK_BEGIN */ |
3097 | structure_element_name simple_spec_init |
3107 | structure_element_name simple_spec_init |
3098 {$$ = NULL; |
3108 {$$ = NULL; |
3099 yynerrs++; |
3109 yynerrs++; |
3100 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between structure element name and simple specification."); |
3110 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between structure element name and simple specification."); |
3101 } |
3111 } |
3102 | structure_element_name subrange_spec_init |
3112 | structure_element_name subrange_spec_init |
3103 {$$ = NULL; |
3113 {$$ = NULL; |
3104 yynerrs++; |
3114 yynerrs++; |
3105 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between structure element name and subrange specification."); |
3115 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between structure element name and subrange specification."); |
3106 } |
3116 } |
3107 | structure_element_name enumerated_spec_init |
3117 | structure_element_name enumerated_spec_init |
3108 {$$ = NULL; |
3118 {$$ = NULL; |
3109 yynerrs++; |
3119 yynerrs++; |
3110 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between structure element name and enumerated specification."); |
3120 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between structure element name and enumerated specification."); |
3111 } |
3121 } |
3112 | structure_element_name array_spec_init |
3122 | structure_element_name array_spec_init |
3113 {$$ = NULL; |
3123 {$$ = NULL; |
3114 yynerrs++; |
3124 yynerrs++; |
3115 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between structure element name and array specification."); |
3125 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between structure element name and array specification."); |
3116 } |
3126 } |
3117 | structure_element_name initialized_structure |
3127 | structure_element_name initialized_structure |
3118 {$$ = NULL; |
3128 {$$ = NULL; |
3119 yynerrs++; |
3129 yynerrs++; |
3120 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between structure element name and structure specification."); |
3130 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between structure element name and structure specification."); |
3121 } |
3131 } |
3122 | structure_element_name ':' identifier |
3132 | structure_element_name ':' identifier |
3123 {$$ = NULL; |
3133 {$$ = NULL; |
3124 yynerrs++; |
3134 yynerrs++; |
3125 print_err_msg(current_filename, locf(@2), locl(@2), "unknown variable type defined in structure element declaration."); |
3135 print_err_msg(current_filename, locf(@3), locl(@3), "unknown variable type defined in structure element declaration."); |
3126 } |
3136 } |
3127 | structure_element_name ':' error |
3137 | structure_element_name ':' error |
3128 {$$ = NULL; |
3138 {$$ = NULL; |
3129 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in structure element declaration."); |
3139 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in structure element declaration."); |
3130 yyerrok; |
3140 yyerrok; |
3131 } |
3141 } |
3132 /* ERROR_CHECK_END */ |
3142 /* ERROR_CHECK_END */ |
3133 ; |
3143 ; |
3134 |
3144 |
3185 {$$ = new structure_element_initialization_c($1, $3, locloc(@$));} |
3195 {$$ = new structure_element_initialization_c($1, $3, locloc(@$));} |
3186 /* ERROR_CHECK_BEGIN */ |
3196 /* ERROR_CHECK_BEGIN */ |
3187 | structure_element_name constant |
3197 | structure_element_name constant |
3188 {$$ = NULL; |
3198 {$$ = NULL; |
3189 yynerrs++; |
3199 yynerrs++; |
3190 print_err_msg(current_filename, locf(@1), locl(@2), "':=' missing in structure element initialization."); |
3200 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing in structure element initialization."); |
3191 } |
3201 } |
3192 | structure_element_name enumerated_value |
3202 | structure_element_name enumerated_value |
3193 {$$ = NULL; |
3203 {$$ = NULL; |
3194 yynerrs++; |
3204 yynerrs++; |
3195 print_err_msg(current_filename, locf(@1), locl(@2), "':=' missing in enumerated structure element initialization."); |
3205 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing in enumerated structure element initialization."); |
3196 } |
3206 } |
3197 | structure_element_name array_initialization |
3207 | structure_element_name array_initialization |
3198 {$$ = NULL; |
3208 {$$ = NULL; |
3199 yynerrs++; |
3209 yynerrs++; |
3200 print_err_msg(current_filename, locf(@1), locl(@2), "':=' missing in array structure element initialization."); |
3210 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing in array structure element initialization."); |
3201 } |
3211 } |
3202 | structure_element_name structure_initialization |
3212 | structure_element_name structure_initialization |
3203 {$$ = NULL; |
3213 {$$ = NULL; |
3204 yynerrs++; |
3214 yynerrs++; |
3205 print_err_msg(current_filename, locf(@1), locl(@2), "':=' missing in structured structure element initialization."); |
3215 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing in structured structure element initialization."); |
3206 } |
3216 } |
3207 /* ERROR_CHECK_END */ |
3217 /* ERROR_CHECK_END */ |
3208 ; |
3218 ; |
3209 |
3219 |
3210 /* NOTE: in order to remove a reduce/reduce conflict, |
3220 /* NOTE: in order to remove a reduce/reduce conflict, |
3411 {$$ = new input_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3421 {$$ = new input_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3412 /* ERROR_CHECK_BEGIN */ |
3422 /* ERROR_CHECK_BEGIN */ |
3413 | VAR_INPUT END_VAR |
3423 | VAR_INPUT END_VAR |
3414 {$$ = NULL; |
3424 {$$ = NULL; |
3415 yynerrs++; |
3425 yynerrs++; |
3416 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in input variable(s) declaration."); |
3426 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in input variable(s) declaration."); |
3417 } |
3427 } |
3418 | VAR_INPUT RETAIN END_VAR |
3428 | VAR_INPUT RETAIN END_VAR |
3419 {$$ = NULL; |
3429 {$$ = NULL; |
3420 yynerrs++; |
3430 yynerrs++; |
3421 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in retentive input variable(s) declaration."); |
3431 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in retentive input variable(s) declaration."); |
3422 } |
3432 } |
3423 | VAR_INPUT NON_RETAIN END_VAR |
3433 | VAR_INPUT NON_RETAIN END_VAR |
3424 {$$ = NULL; |
3434 {$$ = NULL; |
3425 yynerrs++; |
3435 yynerrs++; |
3426 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in non-retentive input variable(s) declaration."); |
3436 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in non-retentive input variable(s) declaration."); |
3427 } |
3437 } |
3428 | VAR_INPUT error input_declaration_list END_VAR |
3438 | VAR_INPUT error input_declaration_list END_VAR |
3429 {$$ = NULL; |
3439 {$$ = NULL; |
3430 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR_INPUT' in input variable(s) declaration."); |
3440 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR_INPUT' in input variable(s) declaration."); |
3431 yyerrok; |
3441 yyerrok; |
3432 } |
3442 } |
3433 | VAR_INPUT RETAIN error input_declaration_list END_VAR |
3443 | VAR_INPUT RETAIN error input_declaration_list END_VAR |
3434 {$$ = NULL; |
3444 {$$ = NULL; |
3435 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'RETAIN' in retentive input variable(s) declaration."); |
3445 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'RETAIN' in retentive input variable(s) declaration."); |
3436 yyerrok; |
3446 yyerrok; |
3437 } |
3447 } |
3438 | VAR_INPUT NON_RETAIN error input_declaration_list END_VAR |
3448 | VAR_INPUT NON_RETAIN error input_declaration_list END_VAR |
3439 {$$ = NULL; |
3449 {$$ = NULL; |
3440 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'NON_RETAIN' in non-retentive input variable(s) declaration."); |
3450 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'NON_RETAIN' in non-retentive input variable(s) declaration."); |
3441 yyerrok; |
3451 yyerrok; |
3442 } |
3452 } |
3443 | VAR_INPUT error END_VAR |
3453 | VAR_INPUT error END_VAR |
3444 {$$ = NULL; |
3454 {$$ = NULL; |
3445 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in input variable(s) declaration."); |
3455 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in input variable(s) declaration."); |
3446 yyerrok; |
3456 yyerrok; |
3447 } |
3457 } |
3448 | VAR_INPUT RETAIN error END_VAR |
3458 | VAR_INPUT RETAIN error END_VAR |
3449 {$$ = NULL; |
3459 {$$ = NULL; |
3450 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in retentive input variable(s) declaration."); |
3460 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in retentive input variable(s) declaration."); |
3451 yyerrok; |
3461 yyerrok; |
3452 } |
3462 } |
3453 | VAR_INPUT NON_RETAIN error END_VAR |
3463 | VAR_INPUT NON_RETAIN error END_VAR |
3454 {$$ = NULL; |
3464 {$$ = NULL; |
3455 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in non-retentive input variable(s) declaration."); |
3465 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in non-retentive input variable(s) declaration."); |
3456 yyerrok; |
3466 yyerrok; |
3457 } |
3467 } |
3458 /* ERROR_CHECK_END */ |
3468 /* ERROR_CHECK_END */ |
3459 ; |
3469 ; |
3460 |
3470 |
3463 input_declaration ';' |
3473 input_declaration ';' |
3464 {$$ = new input_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3474 {$$ = new input_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3465 | input_declaration_list input_declaration ';' |
3475 | input_declaration_list input_declaration ';' |
3466 {$$ = $1; $$->add_element($2);} |
3476 {$$ = $1; $$->add_element($2);} |
3467 /* ERROR_CHECK_BEGIN */ |
3477 /* ERROR_CHECK_BEGIN */ |
|
3478 | error ';' |
|
3479 {$$ = new input_declaration_list_c(locloc(@$)); |
|
3480 print_err_msg(current_filename, locf(@1), locl(@1), "invalid input variable(s) declaration."); |
|
3481 yyerrok; |
|
3482 } |
3468 | input_declaration error |
3483 | input_declaration error |
3469 {$$ = NULL; |
3484 {$$ = new input_declaration_list_c(locloc(@$)); |
3470 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of input variable(s) declaration."); |
3485 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of input variable(s) declaration."); |
3471 yyerrok; |
3486 yyerrok; |
3472 } |
3487 } |
3473 | input_declaration_list input_declaration error |
3488 | input_declaration_list input_declaration error |
3474 {$$ = NULL; |
3489 {$$ = $1; |
3475 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of input variable(s) declaration."); |
3490 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of input variable(s) declaration."); |
3476 yyerrok; |
3491 yyerrok; |
3477 } |
3492 } |
3478 | input_declaration_list error ';' |
3493 | input_declaration_list error ';' |
3479 {$$ = NULL; |
3494 {$$ = $1; |
3480 print_err_msg(current_filename, locf(@3), locl(@3), "invalid input variable(s) declaration."); |
3495 print_err_msg(current_filename, locf(@2), locl(@2), "invalid input variable(s) declaration."); |
3481 yyerrok; |
3496 yyerrok; |
3482 } |
3497 } |
3483 | input_declaration_list ';' |
3498 | input_declaration_list ';' |
3484 {$$ = NULL; |
3499 {$$ = $1; |
3485 yynerrs++; |
3500 yynerrs++; |
3486 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after input variable(s) declaration."); |
3501 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after input variable(s) declaration."); |
3487 } |
3502 } |
3488 /* ERROR_CHECK_END */ |
3503 /* ERROR_CHECK_END */ |
3489 ; |
3504 ; |
3502 {$$ = new edge_declaration_c(new falling_edge_option_c(locloc(@3)), $1, locloc(@$));} |
3517 {$$ = new edge_declaration_c(new falling_edge_option_c(locloc(@3)), $1, locloc(@$));} |
3503 /* ERROR_CHECK_BEGIN */ |
3518 /* ERROR_CHECK_BEGIN */ |
3504 | var1_list BOOL R_EDGE |
3519 | var1_list BOOL R_EDGE |
3505 {$$ = NULL; |
3520 {$$ = NULL; |
3506 yynerrs++; |
3521 yynerrs++; |
3507 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and specification."); |
3522 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and specification."); |
3508 } |
3523 } |
3509 | var1_list BOOL F_EDGE |
3524 | var1_list BOOL F_EDGE |
3510 {$$ = NULL; |
3525 {$$ = NULL; |
3511 yynerrs++; |
3526 yynerrs++; |
3512 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and specification."); |
3527 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and specification."); |
3513 } |
3528 } |
3514 | var1_list ':' BOOL R_EDGE F_EDGE |
3529 | var1_list ':' BOOL R_EDGE F_EDGE |
3515 {$$ = NULL; |
3530 {$$ = NULL; |
3516 yynerrs++; |
3531 yynerrs++; |
3517 print_err_msg(current_filename, locf(@4), locl(@4), "'R_EDGE' and 'F_EDGE' can't be present at the same time in edge declaration."); |
3532 print_err_msg(current_filename, locf(@5), locl(@5), "'R_EDGE' and 'F_EDGE' can't be present at the same time in edge declaration."); |
3518 } |
3533 } |
3519 | var1_list ':' R_EDGE |
3534 | var1_list ':' R_EDGE |
3520 {$$ = NULL; |
3535 {$$ = NULL; |
3521 yynerrs++; |
3536 yynerrs++; |
3522 print_err_msg(current_filename, locf(@2), locl(@2), "'BOOL' missing in edge declaration."); |
3537 print_err_msg(current_filename, locl(@2), locf(@3), "'BOOL' missing in edge declaration."); |
3523 } |
3538 } |
3524 | var1_list ':' F_EDGE |
3539 | var1_list ':' F_EDGE |
3525 {$$ = NULL; |
3540 {$$ = NULL; |
3526 yynerrs++; |
3541 yynerrs++; |
3527 print_err_msg(current_filename, locf(@2), locl(@2), "'BOOL' missing in edge declaration."); |
3542 print_err_msg(current_filename, locl(@2), locf(@3), "'BOOL' missing in edge declaration."); |
3528 } |
3543 } |
3529 /* ERROR_CHECK_END */ |
3544 /* ERROR_CHECK_END */ |
3530 ; |
3545 ; |
3531 |
3546 |
3532 |
3547 |
3550 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3565 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3551 /* ERROR_CHECK_BEGIN */ |
3566 /* ERROR_CHECK_BEGIN */ |
3552 | var1_list simple_spec_init |
3567 | var1_list simple_spec_init |
3553 {$$ = NULL; |
3568 {$$ = NULL; |
3554 yynerrs++; |
3569 yynerrs++; |
3555 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and simple specification."); |
3570 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and simple specification."); |
3556 } |
3571 } |
3557 | var1_list subrange_spec_init |
3572 | var1_list subrange_spec_init |
3558 {$$ = NULL; |
3573 {$$ = NULL; |
3559 yynerrs++; |
3574 yynerrs++; |
3560 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and subrange specification."); |
3575 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and subrange specification."); |
3561 } |
3576 } |
3562 | var1_list enumerated_spec_init |
3577 | var1_list enumerated_spec_init |
3563 {$$ = NULL; |
3578 {$$ = NULL; |
3564 yynerrs++; |
3579 yynerrs++; |
3565 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and enumerated specification."); |
3580 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and enumerated specification."); |
3566 } |
3581 } |
3567 | var1_list ':' identifier |
3582 | var1_list ':' identifier |
3568 {$$ = NULL; |
3583 {$$ = NULL; |
3569 yynerrs++; |
3584 yynerrs++; |
3570 print_err_msg(current_filename, locf(@2), locl(@2), "unknown variable type defined in variable declaration."); |
3585 print_err_msg(current_filename, locf(@3), locl(@3), "unknown variable type defined in variable declaration."); |
3571 } |
3586 } |
3572 | var1_list ':' error |
3587 | var1_list ':' error |
3573 {$$ = NULL; |
3588 {$$ = NULL; |
3574 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in variable declaration."); |
3589 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in variable declaration."); |
3575 yyerrok; |
3590 yyerrok; |
3576 } |
3591 } |
3577 /* ERROR_CHECK_END */ |
3592 /* ERROR_CHECK_END */ |
3578 ; |
3593 ; |
3579 |
3594 |
3722 {$$ = new output_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3737 {$$ = new output_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3723 /* ERROR_CHECK_BEGIN */ |
3738 /* ERROR_CHECK_BEGIN */ |
3724 | VAR_OUTPUT END_VAR |
3739 | VAR_OUTPUT END_VAR |
3725 {$$ = NULL; |
3740 {$$ = NULL; |
3726 yynerrs++; |
3741 yynerrs++; |
3727 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in output variable(s) declaration."); |
3742 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in output variable(s) declaration."); |
3728 } |
3743 } |
3729 | VAR_OUTPUT RETAIN END_VAR |
3744 | VAR_OUTPUT RETAIN END_VAR |
3730 {$$ = NULL; |
3745 {$$ = NULL; |
3731 yynerrs++; |
3746 yynerrs++; |
3732 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in retentive output variable(s) declaration."); |
3747 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in retentive output variable(s) declaration."); |
3733 } |
3748 } |
3734 | VAR_OUTPUT NON_RETAIN END_VAR |
3749 | VAR_OUTPUT NON_RETAIN END_VAR |
3735 {$$ = NULL; |
3750 {$$ = NULL; |
3736 yynerrs++; |
3751 yynerrs++; |
3737 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in non-retentive output variable(s) declaration."); |
3752 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in non-retentive output variable(s) declaration."); |
3738 } |
3753 } |
3739 | VAR_OUTPUT error var_init_decl_list END_VAR |
3754 | VAR_OUTPUT error var_init_decl_list END_VAR |
3740 {$$ = NULL; |
3755 {$$ = NULL; |
3741 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR_OUPUT' in output variable(s) declaration."); |
3756 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR_OUPUT' in output variable(s) declaration."); |
3742 yyerrok; |
3757 yyerrok; |
3743 } |
3758 } |
3744 | VAR_OUTPUT RETAIN error var_init_decl_list END_VAR |
3759 | VAR_OUTPUT RETAIN error var_init_decl_list END_VAR |
3745 {$$ = NULL; |
3760 {$$ = NULL; |
3746 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'RETAIN' in retentive output variable(s) declaration."); |
3761 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'RETAIN' in retentive output variable(s) declaration."); |
3747 yyerrok; |
3762 yyerrok; |
3748 } |
3763 } |
3749 | VAR_OUTPUT NON_RETAIN error var_init_decl_list END_VAR |
3764 | VAR_OUTPUT NON_RETAIN error var_init_decl_list END_VAR |
3750 {$$ = NULL; |
3765 {$$ = NULL; |
3751 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'NON_RETAIN' in non-retentive output variable(s) declaration."); |
3766 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'NON_RETAIN' in non-retentive output variable(s) declaration."); |
3752 yyerrok; |
3767 yyerrok; |
3753 } |
3768 } |
3754 | VAR_OUTPUT error END_VAR |
3769 | VAR_OUTPUT error END_VAR |
3755 {$$ = NULL; |
3770 {$$ = NULL; |
3756 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in output variable(s) declaration."); |
3771 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in output variable(s) declaration."); |
3757 yyerrok; |
3772 yyerrok; |
3758 } |
3773 } |
3759 | VAR_OUTPUT RETAIN error END_VAR |
3774 | VAR_OUTPUT RETAIN error END_VAR |
3760 {$$ = NULL; |
3775 {$$ = NULL; |
3761 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in retentive output variable(s) declaration."); |
3776 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in retentive output variable(s) declaration."); |
3762 yyerrok; |
3777 yyerrok; |
3763 } |
3778 } |
3764 | VAR_OUTPUT NON_RETAIN error END_VAR |
3779 | VAR_OUTPUT NON_RETAIN error END_VAR |
3765 {$$ = NULL; |
3780 {$$ = NULL; |
3766 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in non-retentive output variable(s) declaration."); |
3781 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in non-retentive output variable(s) declaration."); |
3767 yyerrok; |
3782 yyerrok; |
3768 } |
3783 } |
3769 /* ERROR_CHECK_END */ |
3784 /* ERROR_CHECK_END */ |
3770 ; |
3785 ; |
3771 |
3786 |
3795 var_declaration ';' |
3810 var_declaration ';' |
3796 {$$ = new var_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3811 {$$ = new var_declaration_list_c(locloc(@$)); $$->add_element($1);} |
3797 | var_declaration_list var_declaration ';' |
3812 | var_declaration_list var_declaration ';' |
3798 {$$ = $1; $$->add_element($2);} |
3813 {$$ = $1; $$->add_element($2);} |
3799 /* ERROR_CHECK_BEGIN */ |
3814 /* ERROR_CHECK_BEGIN */ |
|
3815 | error ';' |
|
3816 {$$ = new var_declaration_list_c(locloc(@$)); |
|
3817 print_err_msg(current_filename, locf(@1), locl(@1), "invalid variable(s) declaration."); |
|
3818 yyerrok; |
|
3819 } |
3800 | var_declaration error |
3820 | var_declaration error |
3801 {$$ = NULL; |
3821 {$$ = new var_declaration_list_c(locloc(@$)); |
3802 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of variable(s) declaration."); |
3822 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of variable(s) declaration."); |
3803 yyerrok; |
3823 yyerrok; |
3804 } |
3824 } |
3805 | var_declaration_list var_declaration error |
3825 | var_declaration_list var_declaration error |
3806 {$$ = NULL; |
3826 {$$ = $1; |
3807 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of variable(s) declaration."); |
3827 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of variable(s) declaration."); |
3808 yyerrok; |
3828 yyerrok; |
3809 } |
3829 } |
3810 | var_declaration_list error ';' |
3830 | var_declaration_list error ';' |
3811 {$$ = NULL; |
3831 {$$ = $1; |
3812 print_err_msg(current_filename, locf(@3), locl(@3), "invalid variable(s) declaration."); |
3832 print_err_msg(current_filename, locf(@2), locl(@2), "invalid variable(s) declaration."); |
3813 yyerrok; |
3833 yyerrok; |
3814 } |
3834 } |
3815 | var_declaration_list ';' |
3835 | var_declaration_list ';' |
3816 {$$ = NULL; |
3836 {$$ = $1; |
3817 yynerrs++; |
3837 yynerrs++; |
3818 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after variable(s) declaration."); |
3838 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after variable(s) declaration."); |
3819 } |
3839 } |
3820 /* ERROR_CHECK_END */ |
3840 /* ERROR_CHECK_END */ |
3821 ; |
3841 ; |
3833 | structured_var_declaration |
3853 | structured_var_declaration |
3834 | string_var_declaration |
3854 | string_var_declaration |
3835 ; |
3855 ; |
3836 |
3856 |
3837 var1_declaration: |
3857 var1_declaration: |
3838 var1_list ':' simple_specification |
3858 var1_list ':' simple_specification |
3839 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3859 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3840 | var1_list ':' subrange_specification |
3860 | var1_list ':' subrange_specification |
3841 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3861 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3842 | var1_list ':' enumerated_specification |
3862 | var1_list ':' enumerated_specification |
3843 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3863 {$$ = new var1_init_decl_c($1, $3, locloc(@$));} |
3844 /* ERROR_CHECK_BEGIN */ |
3864 /* ERROR_CHECK_BEGIN */ |
3845 | var1_list simple_specification |
3865 | var1_list simple_specification |
3846 {$$ = NULL; |
3866 {$$ = NULL; |
3847 yynerrs++; |
3867 yynerrs++; |
3848 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and simple specification."); |
3868 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and simple specification."); |
3849 } |
3869 } |
3850 | var1_list subrange_specification |
3870 | var1_list subrange_specification |
3851 {$$ = NULL; |
3871 {$$ = NULL; |
3852 yynerrs++; |
3872 yynerrs++; |
3853 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and subrange specification."); |
3873 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and subrange specification."); |
3854 } |
3874 } |
3855 | var1_list enumerated_specification |
3875 | var1_list enumerated_specification |
3856 {$$ = NULL; |
3876 {$$ = NULL; |
3857 yynerrs++; |
3877 yynerrs++; |
3858 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between variable list and enumerated specification."); |
3878 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between variable list and enumerated specification."); |
3859 } |
3879 } |
3860 /* ERROR_CHECK_END */ |
3880 /* ERROR_CHECK_END */ |
3861 ; |
3881 ; |
3862 |
3882 |
3863 |
3883 |
3899 {$$ = new var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));} |
3919 {$$ = new var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));} |
3900 /* ERROR_CHECK_BEGIN */ |
3920 /* ERROR_CHECK_BEGIN */ |
3901 | VAR END_VAR |
3921 | VAR END_VAR |
3902 {$$ = NULL; |
3922 {$$ = NULL; |
3903 yynerrs++; |
3923 yynerrs++; |
3904 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in variable(s) declaration."); |
3924 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in variable(s) declaration."); |
3905 } |
3925 } |
3906 | VAR CONSTANT END_VAR |
3926 | VAR CONSTANT END_VAR |
3907 {$$ = NULL; |
3927 {$$ = NULL; |
3908 yynerrs++; |
3928 yynerrs++; |
3909 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in constant variable(s) declaration."); |
3929 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in constant variable(s) declaration."); |
3910 } |
3930 } |
3911 | VAR error var_init_decl_list END_VAR |
3931 | VAR error var_init_decl_list END_VAR |
3912 {$$ = NULL; |
3932 {$$ = NULL; |
3913 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR' in variable(s) declaration."); |
3933 print_err_msg(current_filename, locl(@1), locf(@3), "unexpected token after 'VAR' in variable(s) declaration."); |
3914 yyerrok; |
3934 yyerrok; |
3915 } |
3935 } |
3916 | VAR CONSTANT error var_init_decl_list END_VAR |
3936 | VAR CONSTANT error var_init_decl_list END_VAR |
3917 {$$ = NULL; |
3937 {$$ = NULL; |
3918 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'CONSTANT' in constant variable(s) declaration."); |
3938 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'CONSTANT' in constant variable(s) declaration."); |
3919 yyerrok; |
3939 yyerrok; |
3920 } |
3940 } |
3921 | VAR error END_VAR |
3941 | VAR error END_VAR |
3922 {$$ = NULL; |
3942 {$$ = NULL; |
3923 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in variable(s) declaration."); |
3943 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in variable(s) declaration."); |
3924 yyerrok; |
3944 yyerrok; |
3925 } |
3945 } |
3926 | VAR CONSTANT error END_VAR |
3946 | VAR CONSTANT error END_VAR |
3927 {$$ = NULL; |
3947 {$$ = NULL; |
3928 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in constant variable(s) declaration."); |
3948 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in constant variable(s) declaration."); |
3929 yyerrok; |
3949 yyerrok; |
3930 } |
3950 } |
3931 /* ERROR_CHECK_END */ |
3951 /* ERROR_CHECK_END */ |
3932 ; |
3952 ; |
3933 |
3953 |
3966 {$$ = new located_var_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3986 {$$ = new located_var_declarations_c(new non_retain_option_c(locloc(@2)), $3, locloc(@$));} |
3967 /* ERROR_CHECK_BEGIN */ |
3987 /* ERROR_CHECK_BEGIN */ |
3968 | VAR NON_RETAIN END_VAR |
3988 | VAR NON_RETAIN END_VAR |
3969 {$$ = NULL; |
3989 {$$ = NULL; |
3970 yynerrs++; |
3990 yynerrs++; |
3971 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in non-retentive located variable(s) declaration."); |
3991 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in non-retentive located variable(s) declaration."); |
3972 } |
3992 } |
3973 | VAR error located_var_decl_list END_VAR |
3993 | VAR error located_var_decl_list END_VAR |
3974 {$$ = NULL; |
3994 {$$ = NULL; |
3975 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR' in located variable(s) declaration."); |
3995 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR' in located variable(s) declaration."); |
3976 yyerrok; |
3996 yyerrok; |
3977 } |
3997 } |
3978 | VAR CONSTANT error located_var_decl_list END_VAR |
3998 | VAR CONSTANT error located_var_decl_list END_VAR |
3979 {$$ = NULL; |
3999 {$$ = NULL; |
3980 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'CONSTANT' in constant located variable(s) declaration."); |
4000 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'CONSTANT' in constant located variable(s) declaration."); |
3981 yyerrok; |
4001 yyerrok; |
3982 } |
4002 } |
3983 | VAR RETAIN error located_var_decl_list END_VAR |
4003 | VAR RETAIN error located_var_decl_list END_VAR |
3984 {$$ = NULL; |
4004 {$$ = NULL; |
3985 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'RETAIN' in retentive located variable(s) declaration."); |
4005 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'RETAIN' in retentive located variable(s) declaration."); |
3986 yyerrok; |
4006 yyerrok; |
3987 } |
4007 } |
3988 | VAR NON_RETAIN error located_var_decl_list END_VAR |
4008 | VAR NON_RETAIN error located_var_decl_list END_VAR |
3989 {$$ = NULL; |
4009 {$$ = NULL; |
3990 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'NON_RETAIN' in non-retentive located variable(s) declaration."); |
4010 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'NON_RETAIN' in non-retentive located variable(s) declaration."); |
3991 yyerrok; |
4011 yyerrok; |
3992 } |
4012 } |
3993 | VAR NON_RETAIN error END_VAR |
4013 | VAR NON_RETAIN error END_VAR |
3994 {$$ = NULL; |
4014 {$$ = NULL; |
3995 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in non retentive variable(s) declaration."); |
4015 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in non retentive variable(s) declaration."); |
3996 yyerrok; |
4016 yyerrok; |
3997 } |
4017 } |
3998 /* ERROR_CHECK_END */ |
4018 /* ERROR_CHECK_END */ |
3999 ; |
4019 ; |
4000 |
4020 |
4004 located_var_decl ';' |
4024 located_var_decl ';' |
4005 {$$ = new located_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4025 {$$ = new located_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4006 | located_var_decl_list located_var_decl ';' |
4026 | located_var_decl_list located_var_decl ';' |
4007 {$$ = $1; $$->add_element($2);} |
4027 {$$ = $1; $$->add_element($2);} |
4008 /* ERROR_CHECK_BEGIN */ |
4028 /* ERROR_CHECK_BEGIN */ |
|
4029 | error ';' |
|
4030 {$$ = new located_var_decl_list_c(locloc(@$)); |
|
4031 print_err_msg(current_filename, locf(@1), locl(@1), "invalid located variable declaration."); |
|
4032 yyerrok; |
|
4033 } |
4009 | located_var_decl error |
4034 | located_var_decl error |
4010 {$$ = NULL; |
4035 {$$ = new located_var_decl_list_c(locloc(@$)); |
4011 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of located variable declaration."); |
4036 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of located variable declaration."); |
4012 yyerrok; |
4037 yyerrok; |
4013 } |
4038 } |
4014 | located_var_decl_list located_var_decl error |
4039 | located_var_decl_list located_var_decl error |
4015 {$$ = NULL; |
4040 {$$ = $1; |
4016 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of located variable declaration."); |
4041 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of located variable declaration."); |
4017 yyerrok; |
4042 yyerrok; |
4018 } |
4043 } |
4019 | located_var_decl_list error ';' |
4044 | located_var_decl_list error ';' |
4020 {$$ = NULL; |
4045 {$$ = $1; |
4021 print_err_msg(current_filename, locf(@3), locl(@3), "invalid located variable declaration."); |
4046 print_err_msg(current_filename, locf(@2), locl(@2), "invalid located variable declaration."); |
4022 yyerrok; |
4047 yyerrok; |
4023 } |
4048 } |
4024 | located_var_decl_list ';' |
4049 | located_var_decl_list ';' |
4025 {$$ = NULL; |
4050 {$$ = $1; |
4026 yynerrs++; |
4051 yynerrs++; |
4027 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after located variable declaration."); |
4052 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after located variable declaration."); |
4028 } |
4053 } |
4029 /* ERROR_CHECK_END */ |
4054 /* ERROR_CHECK_END */ |
4030 ; |
4055 ; |
4039 {$$ = new located_var_decl_c(NULL, $1, $3, locloc(@$));} |
4064 {$$ = new located_var_decl_c(NULL, $1, $3, locloc(@$));} |
4040 /* ERROR_CHECK_BEGIN */ |
4065 /* ERROR_CHECK_BEGIN */ |
4041 | variable_name location located_var_spec_init |
4066 | variable_name location located_var_spec_init |
4042 {$$ = NULL; |
4067 {$$ = NULL; |
4043 yynerrs++; |
4068 yynerrs++; |
4044 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between located variable location and specification."); |
4069 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between located variable location and specification."); |
4045 } |
4070 } |
4046 | location located_var_spec_init |
4071 | location located_var_spec_init |
4047 {$$ = NULL; |
4072 {$$ = NULL; |
4048 yynerrs++; |
4073 yynerrs++; |
4049 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between located variable location and specification."); |
4074 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between located variable location and specification."); |
4050 } |
4075 } |
4051 | variable_name location ':' error |
4076 | variable_name location ':' error |
4052 {$$ = NULL; |
4077 {$$ = NULL; |
4053 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in located variable declaration."); |
4078 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in located variable declaration."); |
4054 yyerrok; |
4079 yyerrok; |
4055 } |
4080 } |
4056 | location ':' error |
4081 | location ':' error |
4057 {$$ = NULL; |
4082 {$$ = NULL; |
4058 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in located variable declaration."); |
4083 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in located variable declaration."); |
4059 yyerrok; |
4084 yyerrok; |
4060 } |
4085 } |
4061 /* ERROR_CHECK_END */ |
4086 /* ERROR_CHECK_END */ |
4062 ; |
4087 ; |
4063 |
4088 |
4071 {$$ = new external_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));} |
4096 {$$ = new external_var_declarations_c(new constant_option_c(locloc(@2)), $3, locloc(@$));} |
4072 /* ERROR_CHECK_BEGIN */ |
4097 /* ERROR_CHECK_BEGIN */ |
4073 | VAR_EXTERNAL END_VAR |
4098 | VAR_EXTERNAL END_VAR |
4074 {$$ = NULL; |
4099 {$$ = NULL; |
4075 yynerrs++; |
4100 yynerrs++; |
4076 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in external variable(s) declaration."); |
4101 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in external variable(s) declaration."); |
4077 } |
4102 } |
4078 | VAR_EXTERNAL CONSTANT END_VAR |
4103 | VAR_EXTERNAL CONSTANT END_VAR |
4079 {$$ = NULL; |
4104 {$$ = NULL; |
4080 yynerrs++; |
4105 yynerrs++; |
4081 print_err_msg(current_filename, locf(@1), locl(@3), "no variable declared in constant external variable(s) declaration."); |
4106 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in constant external variable(s) declaration."); |
4082 } |
4107 } |
4083 | VAR_EXTERNAL error external_declaration_list END_VAR |
4108 | VAR_EXTERNAL error external_declaration_list END_VAR |
4084 {$$ = NULL; |
4109 {$$ = NULL; |
4085 print_err_msg(current_filename, locf(@1), locl(@4), "unexpected token after 'VAR_EXTERNAL' in external variable(s) declaration."); |
4110 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR_EXTERNAL' in external variable(s) declaration."); |
4086 yyerrok; |
4111 yyerrok; |
4087 } |
4112 } |
4088 | VAR_EXTERNAL CONSTANT error external_declaration_list END_VAR |
4113 | VAR_EXTERNAL CONSTANT error external_declaration_list END_VAR |
4089 {$$ = NULL; |
4114 {$$ = NULL; |
4090 print_err_msg(current_filename, locf(@2), locl(@5), "unexpected token after 'CONSTANT' in constant external variable(s) declaration."); |
4115 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'CONSTANT' in constant external variable(s) declaration."); |
4091 yyerrok; |
4116 yyerrok; |
4092 } |
4117 } |
4093 | VAR_EXTERNAL error END_VAR |
4118 | VAR_EXTERNAL error END_VAR |
4094 {$$ = NULL; |
4119 {$$ = NULL; |
4095 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in external variable(s) declaration."); |
4120 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in external variable(s) declaration."); |
4096 yyerrok; |
4121 yyerrok; |
4097 } |
4122 } |
4098 | VAR_EXTERNAL CONSTANT error END_VAR |
4123 | VAR_EXTERNAL CONSTANT error END_VAR |
4099 {$$ = NULL; |
4124 {$$ = NULL; |
4100 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in constant external variable(s) declaration."); |
4125 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in constant external variable(s) declaration."); |
4101 yyerrok; |
4126 yyerrok; |
4102 } |
4127 } |
4103 /* ERROR_CHECK_END */ |
4128 /* ERROR_CHECK_END */ |
4104 ; |
4129 ; |
4105 |
4130 |
4108 external_declaration ';' |
4133 external_declaration ';' |
4109 {$$ = new external_declaration_list_c(locloc(@$)); $$->add_element($1);} |
4134 {$$ = new external_declaration_list_c(locloc(@$)); $$->add_element($1);} |
4110 | external_declaration_list external_declaration ';' |
4135 | external_declaration_list external_declaration ';' |
4111 {$$ = $1; $$->add_element($2);} |
4136 {$$ = $1; $$->add_element($2);} |
4112 /* ERROR_CHECK_BEGIN */ |
4137 /* ERROR_CHECK_BEGIN */ |
|
4138 | error ';' |
|
4139 {$$ = new external_declaration_list_c(locloc(@$)); |
|
4140 print_err_msg(current_filename, locf(@1), locl(@1), "invalid external variable declaration."); |
|
4141 yyerrok; |
|
4142 } |
4113 | external_declaration error |
4143 | external_declaration error |
4114 {$$ = NULL; |
4144 {$$ = new external_declaration_list_c(locloc(@$)); |
4115 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of external variable declaration."); |
4145 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of external variable declaration."); |
4116 yyerrok; |
4146 yyerrok; |
4117 } |
4147 } |
4118 | external_declaration_list external_declaration error |
4148 | external_declaration_list external_declaration error |
4119 {$$ = NULL; |
4149 {$$ = $1; |
4120 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of external variable declaration."); |
4150 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of external variable declaration."); |
4121 yyerrok; |
4151 yyerrok; |
4122 } |
4152 } |
4123 | external_declaration_list error ';' |
4153 | external_declaration_list error ';' |
4124 {$$ = NULL; |
4154 {$$ = $1; |
4125 print_err_msg(current_filename, locf(@3), locl(@3), "invalid external variable declaration."); |
4155 print_err_msg(current_filename, locf(@2), locl(@2), "invalid external variable declaration."); |
4126 yyerrok; |
4156 yyerrok; |
4127 } |
4157 } |
4128 | external_declaration_list ';' |
4158 | external_declaration_list ';' |
4129 {$$ = NULL; |
4159 {$$ = $1; |
4130 yynerrs++; |
4160 yynerrs++; |
4131 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after external variable declaration."); |
4161 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after external variable declaration."); |
4132 } |
4162 } |
4133 /* ERROR_CHECK_END */ |
4163 /* ERROR_CHECK_END */ |
4134 ; |
4164 ; |
4161 } |
4191 } |
4162 /* ERROR_CHECK_BEGIN */ |
4192 /* ERROR_CHECK_BEGIN */ |
4163 | global_var_name simple_specification |
4193 | global_var_name simple_specification |
4164 {$$ = NULL; |
4194 {$$ = NULL; |
4165 yynerrs++; |
4195 yynerrs++; |
4166 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and simple specification."); |
4196 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and simple specification."); |
4167 } |
4197 } |
4168 | global_var_name subrange_specification |
4198 | global_var_name subrange_specification |
4169 {$$ = NULL; |
4199 {$$ = NULL; |
4170 yynerrs++; |
4200 yynerrs++; |
4171 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and subrange specification."); |
4201 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and subrange specification."); |
4172 } |
4202 } |
4173 | global_var_name enumerated_specification |
4203 | global_var_name enumerated_specification |
4174 {$$ = NULL; |
4204 {$$ = NULL; |
4175 yynerrs++; |
4205 yynerrs++; |
4176 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and enumerated specification."); |
4206 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and enumerated specification."); |
4177 } |
4207 } |
4178 | global_var_name array_specification |
4208 | global_var_name array_specification |
4179 {$$ = NULL; |
4209 {$$ = NULL; |
4180 yynerrs++; |
4210 yynerrs++; |
4181 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and array specification."); |
4211 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and array specification."); |
4182 } |
4212 } |
4183 | global_var_name prev_declared_structure_type_name |
4213 | global_var_name prev_declared_structure_type_name |
4184 {$$ = NULL; |
4214 {$$ = NULL; |
4185 yynerrs++; |
4215 yynerrs++; |
4186 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and structured specification."); |
4216 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and structured specification."); |
4187 } |
4217 } |
4188 | global_var_name function_block_type_name |
4218 | global_var_name function_block_type_name |
4189 {$$ = NULL; |
4219 {$$ = NULL; |
4190 yynerrs++; |
4220 yynerrs++; |
4191 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between external variable name and function block type specification."); |
4221 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between external variable name and function block type specification."); |
4192 } |
4222 } |
4193 | global_var_name ':' identifier |
4223 | global_var_name ':' identifier |
4194 {$$ = NULL; |
4224 {$$ = NULL; |
4195 yynerrs++; |
4225 yynerrs++; |
4196 print_err_msg(current_filename, locf(@2), locl(@2), "unknown type name in external variable declaration."); |
4226 print_err_msg(current_filename, locf(@3), locl(@3), "unknown type name in external variable declaration."); |
4197 } |
4227 } |
4198 | global_var_name ':' error |
4228 | global_var_name ':' error |
4199 {$$ = NULL; |
4229 {$$ = NULL; |
4200 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in external variable declaration."); |
4230 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in external variable declaration."); |
4201 yyerrok; |
4231 yyerrok; |
4202 } |
4232 } |
4203 /* ERROR_CHECK_END */ |
4233 /* ERROR_CHECK_END */ |
4204 ; |
4234 ; |
4205 |
4235 |
4216 {$$ = new global_var_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));} |
4246 {$$ = new global_var_declarations_c(new retain_option_c(locloc(@2)), $3, locloc(@$));} |
4217 /* ERROR_CHECK_BEGIN */ |
4247 /* ERROR_CHECK_BEGIN */ |
4218 | VAR_GLOBAL END_VAR |
4248 | VAR_GLOBAL END_VAR |
4219 {$$ = NULL; |
4249 {$$ = NULL; |
4220 yynerrs++; |
4250 yynerrs++; |
4221 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in global variable(s) declaration."); |
4251 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in global variable(s) declaration."); |
4222 } |
4252 } |
4223 | VAR_GLOBAL CONSTANT END_VAR |
4253 | VAR_GLOBAL CONSTANT END_VAR |
4224 {$$ = NULL; |
4254 {$$ = NULL; |
4225 yynerrs++; |
4255 yynerrs++; |
4226 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in constant global variable(s) declaration."); |
4256 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in constant global variable(s) declaration."); |
4227 } |
4257 } |
4228 | VAR_GLOBAL RETAIN END_VAR |
4258 | VAR_GLOBAL RETAIN END_VAR |
4229 {$$ = NULL; |
4259 {$$ = NULL; |
4230 yynerrs++; |
4260 yynerrs++; |
4231 print_err_msg(current_filename, locf(@2), locl(@3), "no variable declared in retentive global variable(s) declaration."); |
4261 print_err_msg(current_filename, locl(@2), locf(@3), "no variable declared in retentive global variable(s) declaration."); |
4232 } |
4262 } |
4233 | VAR_GLOBAL error global_var_decl_list END_VAR |
4263 | VAR_GLOBAL error global_var_decl_list END_VAR |
4234 {$$ = NULL; |
4264 {$$ = NULL; |
4235 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR_GLOBAL' in global variable(s) declaration."); |
4265 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR_GLOBAL' in global variable(s) declaration."); |
4236 yyerrok; |
4266 yyerrok; |
4237 } |
4267 } |
4238 | VAR_GLOBAL CONSTANT error global_var_decl_list END_VAR |
4268 | VAR_GLOBAL CONSTANT error global_var_decl_list END_VAR |
4239 {$$ = NULL; |
4269 {$$ = NULL; |
4240 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'CONSTANT' in constant global variable(s) declaration."); |
4270 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'CONSTANT' in constant global variable(s) declaration."); |
4241 yyerrok; |
4271 yyerrok; |
4242 } |
4272 } |
4243 | VAR_GLOBAL RETAIN error global_var_decl_list END_VAR |
4273 | VAR_GLOBAL RETAIN error global_var_decl_list END_VAR |
4244 {$$ = NULL; |
4274 {$$ = NULL; |
4245 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'RETAIN' in retentive global variable(s) declaration."); |
4275 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'RETAIN' in retentive global variable(s) declaration."); |
4246 yyerrok; |
4276 yyerrok; |
4247 } |
4277 } |
4248 | VAR_GLOBAL error END_VAR |
4278 | VAR_GLOBAL error END_VAR |
4249 {$$ = NULL; |
4279 {$$ = NULL; |
4250 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in global variable(s) declaration."); |
4280 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in global variable(s) declaration."); |
4251 yyerrok; |
4281 yyerrok; |
4252 } |
4282 } |
4253 | VAR_GLOBAL CONSTANT error END_VAR |
4283 | VAR_GLOBAL CONSTANT error END_VAR |
4254 {$$ = NULL; |
4284 {$$ = NULL; |
4255 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in constant global variable(s) declaration."); |
4285 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in constant global variable(s) declaration."); |
4256 yyerrok; |
4286 yyerrok; |
4257 } |
4287 } |
4258 | VAR_GLOBAL RETAIN error END_VAR |
4288 | VAR_GLOBAL RETAIN error END_VAR |
4259 {$$ = NULL; |
4289 {$$ = NULL; |
4260 print_err_msg(current_filename, locf(@2), locl(@4), "unknown error in constant global variable(s) declaration."); |
4290 print_err_msg(current_filename, locf(@3), locl(@3), "unknown error in constant global variable(s) declaration."); |
4261 yyerrok; |
4291 yyerrok; |
4262 } |
4292 } |
4263 /* ERROR_CHECK_END */ |
4293 /* ERROR_CHECK_END */ |
4264 ; |
4294 ; |
4265 |
4295 |
4269 global_var_decl ';' |
4299 global_var_decl ';' |
4270 {$$ = new global_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4300 {$$ = new global_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4271 | global_var_decl_list global_var_decl ';' |
4301 | global_var_decl_list global_var_decl ';' |
4272 {$$ = $1; $$->add_element($2);} |
4302 {$$ = $1; $$->add_element($2);} |
4273 /* ERROR_CHECK_BEGIN */ |
4303 /* ERROR_CHECK_BEGIN */ |
|
4304 | error ';' |
|
4305 {$$ = new global_var_decl_list_c(locloc(@$)); |
|
4306 print_err_msg(current_filename, locf(@1), locl(@1), "invalid global variable(s) declaration."); |
|
4307 yyerrok; |
|
4308 } |
4274 | global_var_decl error |
4309 | global_var_decl error |
4275 {$$ = NULL; |
4310 {$$ = new global_var_decl_list_c(locloc(@$)); |
4276 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of global variable(s) declaration."); |
4311 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of global variable(s) declaration."); |
4277 yyerrok; |
4312 yyerrok; |
4278 } |
4313 } |
4279 | global_var_decl_list global_var_decl error |
4314 | global_var_decl_list global_var_decl error |
4280 {$$ = NULL; |
4315 {$$ = $1; |
4281 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of global variable(s) declaration."); |
4316 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of global variable(s) declaration."); |
4282 yyerrok; |
4317 yyerrok; |
4283 } |
4318 } |
4284 | global_var_decl_list error ';' |
4319 | global_var_decl_list error ';' |
4285 {$$ = NULL; |
4320 {$$ = $1; |
4286 print_err_msg(current_filename, locf(@3), locl(@3), "invalid global variable(s) declaration."); |
4321 print_err_msg(current_filename, locf(@2), locl(@2), "invalid global variable(s) declaration."); |
4287 yyerrok; |
4322 yyerrok; |
4288 } |
4323 } |
4289 | global_var_decl_list ';' |
4324 | global_var_decl_list ';' |
4290 {$$ = NULL; |
4325 {$$ = $1; |
4291 yynerrs++; |
4326 yynerrs++; |
4292 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after global variable(s) declaration."); |
4327 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after global variable(s) declaration."); |
4293 } |
4328 } |
4294 /* ERROR_CHECK_END */ |
4329 /* ERROR_CHECK_END */ |
4295 ; |
4330 ; |
4306 {$$ = new global_var_decl_c($1, $3, locloc(@$));} |
4341 {$$ = new global_var_decl_c($1, $3, locloc(@$));} |
4307 /* ERROR_CHECK_BEGIN */ |
4342 /* ERROR_CHECK_BEGIN */ |
4308 | global_var_list located_var_spec_init |
4343 | global_var_list located_var_spec_init |
4309 {$$ = NULL; |
4344 {$$ = NULL; |
4310 yynerrs++; |
4345 yynerrs++; |
4311 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between global variable list and type specification."); |
4346 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between global variable list and type specification."); |
4312 } |
4347 } |
4313 | global_var_name location located_var_spec_init |
4348 | global_var_name location located_var_spec_init |
4314 {$$ = NULL; |
4349 {$$ = NULL; |
4315 yynerrs++; |
4350 yynerrs++; |
4316 print_err_msg(current_filename, locf(@3), locl(@3), "':' missing between global variable specification and type specification."); |
4351 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between global variable specification and type specification."); |
4317 } |
4352 } |
4318 | global_var_spec function_block_type_name |
4353 | global_var_spec function_block_type_name |
4319 {$$ = NULL; |
4354 {$$ = NULL; |
4320 yynerrs++; |
4355 yynerrs++; |
4321 print_err_msg(current_filename, locf(@2), locl(@2), "':' missing between global variable specification and function block type specification."); |
4356 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing between global variable specification and function block type specification."); |
4322 } |
4357 } |
4323 | global_var_spec ':' identifier |
4358 | global_var_spec ':' identifier |
4324 {$$ = NULL; |
4359 {$$ = NULL; |
4325 yynerrs++; |
4360 yynerrs++; |
4326 print_err_msg(current_filename, locf(@3), locl(@3), "unknown variable type defined in global variable declaration."); |
4361 print_err_msg(current_filename, locf(@3), locl(@3), "unknown variable type defined in global variable declaration."); |
4327 } |
4362 } |
4328 | global_var_spec ':' error |
4363 | global_var_spec ':' error |
4329 {$$ = NULL; |
4364 {$$ = NULL; |
4330 print_err_msg(current_filename, locf(@2), locl(@2), "no specification defined in global variable declaration."); |
4365 print_err_msg(current_filename, locl(@2), locf(@3), "no specification defined in global variable declaration."); |
4331 yyerrok; |
4366 yyerrok; |
4332 } |
4367 } |
4333 /* ERROR_CHECK_END */ |
4368 /* ERROR_CHECK_END */ |
4334 ; |
4369 ; |
4335 |
4370 |
4457 | STRING '[' integer ']' ASSIGN single_byte_character_string |
4492 | STRING '[' integer ']' ASSIGN single_byte_character_string |
4458 {$$ = new single_byte_string_spec_c($3, $6, locloc(@$));} |
4493 {$$ = new single_byte_string_spec_c($3, $6, locloc(@$));} |
4459 /* ERROR_CHECK_BEGIN */ |
4494 /* ERROR_CHECK_BEGIN */ |
4460 | STRING '[' error ']' |
4495 | STRING '[' error ']' |
4461 {$$ = NULL; |
4496 {$$ = NULL; |
4462 print_err_msg(current_filename, locf(@2), locl(@4), "invalid length value for limited string type specification."); |
4497 print_err_msg(current_filename, locf(@3), locl(@3), "invalid length value for limited string type specification."); |
4463 yyerrok; |
4498 yyerrok; |
4464 } |
4499 } |
4465 | STRING '[' error ']' ASSIGN single_byte_character_string |
4500 | STRING '[' error ']' ASSIGN single_byte_character_string |
4466 {$$ = NULL; |
4501 {$$ = NULL; |
4467 print_err_msg(current_filename, locf(@2), locl(@4), "invalid length value for limited string type specification."); |
4502 print_err_msg(current_filename, locf(@3), locl(@3), "invalid length value for limited string type specification."); |
4468 yyerrok; |
4503 yyerrok; |
4469 } |
4504 } |
4470 | STRING '[' ']' |
4505 | STRING '[' ']' |
4471 {$$ = NULL; |
4506 {$$ = NULL; |
4472 yynerrs++; |
4507 yynerrs++; |
4473 print_err_msg(current_filename, locf(@2), locl(@3), "missing length value for limited string type specification."); |
4508 print_err_msg(current_filename, locl(@2), locf(@3), "missing length value for limited string type specification."); |
4474 } |
4509 } |
4475 | STRING '[' ']' ASSIGN single_byte_character_string |
4510 | STRING '[' ']' ASSIGN single_byte_character_string |
4476 {$$ = NULL; |
4511 {$$ = NULL; |
4477 yynerrs++; |
4512 yynerrs++; |
4478 print_err_msg(current_filename, locf(@2), locl(@3), "missing length value for limited string type specification."); |
4513 print_err_msg(current_filename, locl(@2), locf(@3), "missing length value for limited string type specification."); |
4479 } |
4514 } |
4480 | STRING '[' integer error |
4515 | STRING '[' integer error |
4481 {$$ = NULL; |
4516 {$$ = NULL; |
4482 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ']' after length definition for limited string type specification."); |
4517 print_err_msg(current_filename, locl(@3), locf(@4), "expecting ']' after length definition for limited string type specification."); |
4483 yyerrok; |
4518 yyerrok; |
4484 } |
4519 } |
4485 | STRING '[' integer error ASSIGN single_byte_character_string |
4520 | STRING '[' integer error ASSIGN single_byte_character_string |
4486 {$$ = NULL; |
4521 {$$ = NULL; |
4487 print_err_msg(current_filename, locf(@3), locl(@5), "expecting ']' after length definition for limited string type specification."); |
4522 print_err_msg(current_filename, locf(@4), locl(@4), "expecting ']' after length definition for limited string type specification."); |
4488 yyerrok; |
4523 yyerrok; |
4489 } |
4524 } |
4490 | STRING '[' integer ']' single_byte_character_string |
4525 | STRING '[' integer ']' single_byte_character_string |
4491 {$$ = NULL; |
4526 {$$ = NULL; |
4492 yynerrs++; |
4527 yynerrs++; |
4493 print_err_msg(current_filename, locf(@4), locl(@5), "':=' missing before limited string type initialization."); |
4528 print_err_msg(current_filename, locl(@4), locf(@5), "':=' missing before limited string type initialization."); |
4494 } |
4529 } |
4495 | STRING '[' integer ']' ASSIGN error |
4530 | STRING '[' integer ']' ASSIGN error |
4496 {$$ = NULL; |
4531 {$$ = NULL; |
4497 print_err_msg(current_filename, locf(@5), locl(@5), "invalid value for limited string type initialization."); |
4532 print_err_msg(current_filename, locf(@6), locl(@6), "invalid value for limited string type initialization."); |
4498 yyerrok; |
4533 yyerrok; |
4499 } |
4534 } |
4500 /* ERROR_CHECK_END */ |
4535 /* ERROR_CHECK_END */ |
4501 ; |
4536 ; |
4502 |
4537 |
4526 | WSTRING '[' integer ']' ASSIGN double_byte_character_string |
4561 | WSTRING '[' integer ']' ASSIGN double_byte_character_string |
4527 {$$ = new double_byte_string_spec_c($3, $6, locloc(@$));} |
4562 {$$ = new double_byte_string_spec_c($3, $6, locloc(@$));} |
4528 /* ERROR_CHECK_BEGIN */ |
4563 /* ERROR_CHECK_BEGIN */ |
4529 | WSTRING '[' error ']' |
4564 | WSTRING '[' error ']' |
4530 {$$ = NULL; |
4565 {$$ = NULL; |
4531 print_err_msg(current_filename, locf(@2), locl(@4), "invalid length value for limited double byte string type specification."); |
4566 print_err_msg(current_filename, locf(@3), locl(@3), "invalid length value for limited double byte string type specification."); |
4532 yyerrok; |
4567 yyerrok; |
4533 } |
4568 } |
4534 | WSTRING '[' error ']' ASSIGN single_byte_character_string |
4569 | WSTRING '[' error ']' ASSIGN single_byte_character_string |
4535 {$$ = NULL; |
4570 {$$ = NULL; |
4536 print_err_msg(current_filename, locf(@2), locl(@4), "invalid length value for limited double byte string type specification."); |
4571 print_err_msg(current_filename, locf(@3), locl(@3), "invalid length value for limited double byte string type specification."); |
4537 yyerrok; |
4572 yyerrok; |
4538 } |
4573 } |
4539 | WSTRING '[' ']' |
4574 | WSTRING '[' ']' |
4540 {$$ = NULL; |
4575 {$$ = NULL; |
4541 yynerrs++; |
4576 yynerrs++; |
4542 print_err_msg(current_filename, locf(@2), locl(@3), "missing length value for limited double byte string type specification."); |
4577 print_err_msg(current_filename, locl(@2), locf(@3), "missing length value for limited double byte string type specification."); |
4543 } |
4578 } |
4544 | WSTRING '[' ']' ASSIGN single_byte_character_string |
4579 | WSTRING '[' ']' ASSIGN single_byte_character_string |
4545 {$$ = NULL; |
4580 {$$ = NULL; |
4546 yynerrs++; |
4581 yynerrs++; |
4547 print_err_msg(current_filename, locf(@2), locl(@3), "missing length value for limited double byte string type specification."); |
4582 print_err_msg(current_filename, locl(@2), locf(@3), "missing length value for limited double byte string type specification."); |
4548 } |
4583 } |
4549 | WSTRING '[' integer error |
4584 | WSTRING '[' integer error |
4550 {$$ = NULL; |
4585 {$$ = NULL; |
4551 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ']' after length definition for limited double byte string type specification."); |
4586 print_err_msg(current_filename, locl(@3), locf(@4), "expecting ']' after length definition for limited double byte string type specification."); |
4552 yyerrok; |
4587 yyerrok; |
4553 } |
4588 } |
4554 | WSTRING '[' integer error ASSIGN single_byte_character_string |
4589 | WSTRING '[' integer error ASSIGN single_byte_character_string |
4555 {$$ = NULL; |
4590 {$$ = NULL; |
4556 print_err_msg(current_filename, locf(@3), locl(@5), "expecting ']' after length definition for limited double byte string type specification."); |
4591 print_err_msg(current_filename, locf(@4), locl(@4), "expecting ']' after length definition for limited double byte string type specification."); |
4557 yyerrok; |
4592 yyerrok; |
4558 } |
4593 } |
4559 | WSTRING '[' integer ']' single_byte_character_string |
4594 | WSTRING '[' integer ']' single_byte_character_string |
4560 {$$ = NULL; |
4595 {$$ = NULL; |
4561 yynerrs++; |
4596 yynerrs++; |
4562 print_err_msg(current_filename, locf(@4), locl(@5), "':=' missing before limited double byte string type initialization."); |
4597 print_err_msg(current_filename, locl(@4), locf(@5), "':=' missing before limited double byte string type initialization."); |
4563 } |
4598 } |
4564 | WSTRING '[' integer ']' ASSIGN error |
4599 | WSTRING '[' integer ']' ASSIGN error |
4565 {$$ = NULL; |
4600 {$$ = NULL; |
4566 print_err_msg(current_filename, locf(@5), locl(@5), "invalid value for limited double byte string type initialization."); |
4601 print_err_msg(current_filename, locf(@6), locl(@6), "invalid value for limited double byte string type initialization."); |
4567 yyerrok; |
4602 yyerrok; |
4568 } |
4603 } |
4569 /* ERROR_CHECK_END */ |
4604 /* ERROR_CHECK_END */ |
4570 ; |
4605 ; |
4571 |
4606 |
4603 {$$ = new incompl_located_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4638 {$$ = new incompl_located_var_decl_list_c(locloc(@$)); $$->add_element($1);} |
4604 | incompl_located_var_decl_list incompl_located_var_decl ';' |
4639 | incompl_located_var_decl_list incompl_located_var_decl ';' |
4605 {$$ = $1; $$->add_element($2);} |
4640 {$$ = $1; $$->add_element($2);} |
4606 /* ERROR_CHECK_BEGIN */ |
4641 /* ERROR_CHECK_BEGIN */ |
4607 | incompl_located_var_decl error |
4642 | incompl_located_var_decl error |
4608 {$$ = NULL; |
4643 {$$ = new incompl_located_var_decl_list_c(locloc(@$)); |
4609 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of incomplete located variable declaration."); |
4644 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of incomplete located variable declaration."); |
4610 yyerrok; |
4645 yyerrok; |
4611 } |
4646 } |
4612 | incompl_located_var_decl_list incompl_located_var_decl error |
4647 | incompl_located_var_decl_list incompl_located_var_decl error |
4613 {$$ = NULL; |
4648 {$$ = $1; |
4614 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of incomplete located variable declaration."); |
4649 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of incomplete located variable declaration."); |
4615 yyerrok; |
4650 yyerrok; |
4616 } |
4651 } |
4617 | incompl_located_var_decl_list error ';' |
4652 | incompl_located_var_decl_list error ';' |
4618 {$$ = NULL; |
4653 {$$ = $1; |
4619 print_err_msg(current_filename, locf(@3), locl(@3), "invalid incomplete located variable declaration."); |
4654 print_err_msg(current_filename, locf(@2), locl(@2), "invalid incomplete located variable declaration."); |
4620 yyerrok; |
4655 yyerrok; |
4621 } |
4656 } |
4622 | incompl_located_var_decl_list ';' |
4657 | incompl_located_var_decl_list ';' |
4623 {$$ = NULL; |
4658 {$$ = $1; |
4624 yynerrs++; |
4659 yynerrs++; |
4625 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after incomplete located variable declaration."); |
4660 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after incomplete located variable declaration."); |
4626 } |
4661 } |
4627 /* ERROR_CHECK_END */ |
4662 /* ERROR_CHECK_END */ |
4628 ; |
4663 ; |
4923 } |
4958 } |
4924 /* ERROR_CHECK_BEGIN */ |
4959 /* ERROR_CHECK_BEGIN */ |
4925 | function_name_declaration elementary_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4960 | function_name_declaration elementary_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4926 {$$ = NULL; |
4961 {$$ = NULL; |
4927 yynerrs++; |
4962 yynerrs++; |
4928 print_err_msg(current_filename, locf(@1), locl(@2), "':' missing after function name in function declaration."); |
4963 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing after function name in function declaration."); |
4929 } |
4964 } |
4930 | function_name_declaration derived_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4965 | function_name_declaration derived_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4931 {$$ = NULL; |
4966 {$$ = NULL; |
4932 yynerrs++; |
4967 yynerrs++; |
4933 print_err_msg(current_filename, locf(@1), locl(@2), "':' missing after function name in function declaration."); |
4968 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing after function name in function declaration."); |
4934 } |
4969 } |
4935 | function_name_declaration error derived_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4970 | function_name_declaration error derived_type_name io_OR_function_var_declarations_list function_body END_FUNCTION |
4936 {$$ = NULL; |
4971 {$$ = NULL; |
4937 print_err_msg(current_filename, locf(@1), locl(@3), "expecting ':' after function name in function declaration."); |
4972 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':' after function name in function declaration."); |
4938 yyerrok; |
4973 yyerrok; |
4939 } |
4974 } |
4940 | function_name_declaration ':' io_OR_function_var_declarations_list function_body END_FUNCTION |
4975 | function_name_declaration ':' io_OR_function_var_declarations_list function_body END_FUNCTION |
4941 {$$ = NULL; |
4976 {$$ = NULL; |
4942 yynerrs++; |
4977 yynerrs++; |
4943 print_err_msg(current_filename, locf(@2), locl(@3), "no return type defined in function declaration."); |
4978 print_err_msg(current_filename, locl(@2), locf(@3), "no return type defined in function declaration."); |
4944 } |
4979 } |
4945 | function_name_declaration ':' error io_OR_function_var_declarations_list function_body END_FUNCTION |
4980 | function_name_declaration ':' error io_OR_function_var_declarations_list function_body END_FUNCTION |
4946 {$$ = NULL; |
4981 {$$ = NULL; |
4947 print_err_msg(current_filename, locf(@2), locl(@4), "invalid return type defined in function declaration."); |
4982 print_err_msg(current_filename, locf(@3), locl(@3), "invalid return type defined in function declaration."); |
4948 yyerrok; |
4983 yyerrok; |
4949 } |
4984 } |
4950 | function_name_declaration ':' identifier io_OR_function_var_declarations_list function_body END_FUNCTION |
4985 | function_name_declaration ':' identifier io_OR_function_var_declarations_list function_body END_FUNCTION |
4951 {$$ = NULL; |
4986 {$$ = NULL; |
4952 yynerrs++; |
4987 yynerrs++; |
4953 print_err_msg(current_filename, locf(@2), locl(@4), "unknown return type defined in function declaration."); |
4988 print_err_msg(current_filename, locf(@3), locl(@3), "unknown return type defined in function declaration."); |
4954 } |
4989 } |
4955 | function_name_declaration ':' elementary_type_name function_body END_FUNCTION |
4990 | function_name_declaration ':' elementary_type_name function_body END_FUNCTION |
4956 {$$ = NULL; |
4991 {$$ = NULL; |
4957 yynerrs++; |
4992 yynerrs++; |
4958 print_err_msg(current_filename, locf(@3), locl(@4), "no variable(s) declared in function declaration."); |
4993 print_err_msg(current_filename, locl(@3), locf(@4), "no variable(s) declared in function declaration."); |
4959 } |
4994 } |
4960 | function_name_declaration ':' derived_type_name function_body END_FUNCTION |
4995 | function_name_declaration ':' derived_type_name function_body END_FUNCTION |
4961 {$$ = NULL; |
4996 {$$ = NULL; |
4962 yynerrs++; |
4997 yynerrs++; |
4963 print_err_msg(current_filename, locf(@3), locl(@4), "no variable(s) declared in function declaration."); |
4998 print_err_msg(current_filename, locl(@3), locf(@4), "no variable(s) declared in function declaration."); |
4964 } |
4999 } |
4965 | function_name_declaration ':' elementary_type_name io_OR_function_var_declarations_list END_FUNCTION |
5000 | function_name_declaration ':' elementary_type_name io_OR_function_var_declarations_list END_FUNCTION |
4966 {$$ = NULL; |
5001 {$$ = NULL; |
4967 yynerrs++; |
5002 yynerrs++; |
4968 print_err_msg(current_filename, locf(@4), locl(@5), "no body defined in function declaration."); |
5003 print_err_msg(current_filename, locl(@4), locf(@5), "no body defined in function declaration."); |
4969 } |
5004 } |
4970 | function_name_declaration ':' derived_type_name io_OR_function_var_declarations_list END_FUNCTION |
5005 | function_name_declaration ':' derived_type_name io_OR_function_var_declarations_list END_FUNCTION |
4971 {$$ = NULL; |
5006 {$$ = NULL; |
4972 yynerrs++; |
5007 yynerrs++; |
4973 print_err_msg(current_filename, locf(@4), locl(@5), "no body defined in function declaration."); |
5008 print_err_msg(current_filename, locl(@4), locf(@5), "no body defined in function declaration."); |
4974 } |
5009 } |
4975 | function_name_declaration ':' elementary_type_name END_FUNCTION |
5010 | function_name_declaration ':' elementary_type_name END_FUNCTION |
4976 {$$ = NULL; |
5011 {$$ = NULL; |
4977 yynerrs++; |
5012 yynerrs++; |
4978 print_err_msg(current_filename, locf(@3), locl(@4), "no variable(s) declared and body defined in function declaration."); |
5013 print_err_msg(current_filename, locl(@3), locf(@4), "no variable(s) declared and body defined in function declaration."); |
4979 } |
5014 } |
4980 | function_name_declaration ':' derived_type_name END_FUNCTION |
5015 | function_name_declaration ':' derived_type_name END_FUNCTION |
4981 {$$ = NULL; |
5016 {$$ = NULL; |
4982 yynerrs++; |
5017 yynerrs++; |
4983 print_err_msg(current_filename, locf(@3), locl(@4), "no variable(s) declared and body defined in function declaration."); |
5018 print_err_msg(current_filename, locl(@3), locf(@4), "no variable(s) declared and body defined in function declaration."); |
4984 } |
5019 } |
4985 | function_name_declaration error END_FUNCTION |
5020 | function_name_declaration error END_FUNCTION |
4986 {$$ = NULL; |
5021 {$$ = NULL; |
4987 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in function declaration."); |
5022 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in function declaration."); |
4988 yyerrok; |
5023 yyerrok; |
4989 } |
5024 } |
4990 /* ERROR_CHECK_END */ |
5025 /* ERROR_CHECK_END */ |
4991 ; |
5026 ; |
4992 |
5027 |
5053 {$$ = new var_declarations_list_c(locloc(@1));$$->add_element($1);} |
5088 {$$ = new var_declarations_list_c(locloc(@1));$$->add_element($1);} |
5054 | io_OR_function_var_declarations_list io_var_declarations |
5089 | io_OR_function_var_declarations_list io_var_declarations |
5055 {$$ = $1; $$->add_element($2);} |
5090 {$$ = $1; $$->add_element($2);} |
5056 | io_OR_function_var_declarations_list function_var_decls |
5091 | io_OR_function_var_declarations_list function_var_decls |
5057 {$$ = $1; $$->add_element($2);} |
5092 {$$ = $1; $$->add_element($2);} |
|
5093 /* ERROR_CHECK_BEGIN */ |
|
5094 | io_OR_function_var_declarations_list retentive_var_declarations |
|
5095 {$$ = $1; |
|
5096 yynerrs++; |
|
5097 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected retentive variable(s) declaration in function declaration."); |
|
5098 } |
|
5099 | io_OR_function_var_declarations_list located_var_declarations |
|
5100 {$$ = $1; |
|
5101 yynerrs++; |
|
5102 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected located variable(s) declaration in function declaration."); |
|
5103 } |
|
5104 | io_OR_function_var_declarations_list external_var_declarations |
|
5105 {$$ = $1; |
|
5106 yynerrs++; |
|
5107 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected external variable(s) declaration in function declaration."); |
|
5108 } |
|
5109 | io_OR_function_var_declarations_list global_var_declarations |
|
5110 {$$ = $1; |
|
5111 yynerrs++; |
|
5112 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected global variable(s) declaration in function declaration."); |
|
5113 } |
|
5114 | io_OR_function_var_declarations_list incompl_located_var_declarations |
|
5115 {$$ = $1; |
|
5116 yynerrs++; |
|
5117 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected incomplete located variable(s) declaration in function declaration."); |
|
5118 } |
|
5119 | io_OR_function_var_declarations_list temp_var_decls |
|
5120 {$$ = $1; |
|
5121 yynerrs++; |
|
5122 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected temporary located variable(s) declaration in function declaration."); |
|
5123 } |
|
5124 | io_OR_function_var_declarations_list non_retentive_var_decls |
|
5125 {$$ = $1; |
|
5126 yynerrs++; |
|
5127 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected non-retentive variable(s) declaration in function declaration."); |
|
5128 } |
|
5129 /*| io_OR_function_var_declarations_list access_declarations |
|
5130 {$$ = $1; |
|
5131 yynerrs++; |
|
5132 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected access variable(s) declaration in function declaration."); |
|
5133 }*/ |
|
5134 | io_OR_function_var_declarations_list instance_specific_initializations |
|
5135 {$$ = $1; |
|
5136 yynerrs++; |
|
5137 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected instance specific initialization(s) in function declaration."); |
|
5138 } |
|
5139 /* ERROR_CHECK_END */ |
5058 ; |
5140 ; |
5059 |
5141 |
5060 |
5142 |
5061 io_var_declarations: |
5143 io_var_declarations: |
5062 input_declarations |
5144 input_declarations |
5090 {$$ = new var2_init_decl_list_c(locloc(@$)); $$->add_element($1);} |
5172 {$$ = new var2_init_decl_list_c(locloc(@$)); $$->add_element($1);} |
5091 | var2_init_decl_list var2_init_decl ';' |
5173 | var2_init_decl_list var2_init_decl ';' |
5092 {$$ = $1; $$->add_element($2);} |
5174 {$$ = $1; $$->add_element($2);} |
5093 /* ERROR_CHECK_BEGIN */ |
5175 /* ERROR_CHECK_BEGIN */ |
5094 | var2_init_decl error |
5176 | var2_init_decl error |
5095 {$$ = NULL; |
5177 {$$ = new var2_init_decl_list_c(locloc(@$)); |
5096 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of function variable(s) declaration."); |
5178 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of function variable(s) declaration."); |
5097 yyerrok; |
5179 yyerrok; |
5098 } |
5180 } |
5099 | var2_init_decl_list var2_init_decl error |
5181 | var2_init_decl_list var2_init_decl error |
5100 {$$ = NULL; |
5182 {$$ = $1; |
5101 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of function variable(s) declaration."); |
5183 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of function variable(s) declaration."); |
5102 yyerrok; |
5184 yyerrok; |
5103 } |
5185 } |
5104 | var2_init_decl_list error ';' |
5186 | var2_init_decl_list error ';' |
5105 {$$ = NULL; |
5187 {$$ = $1; |
5106 print_err_msg(current_filename, locf(@3), locl(@3), "invalid function variable(s) declaration."); |
5188 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function variable(s) declaration."); |
5107 yyerrok; |
5189 yyerrok; |
5108 } |
5190 } |
5109 | var2_init_decl_list ';' |
5191 | var2_init_decl_list ';' |
5110 {$$ = NULL; |
5192 {$$ = $1; |
5111 yynerrs++; |
5193 yynerrs++; |
5112 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after function variable(s) declaration."); |
5194 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after function variable(s) declaration."); |
5113 } |
5195 } |
5114 /* ERROR_CHECK_END */ |
5196 /* ERROR_CHECK_END */ |
5115 ; |
5197 ; |
5161 } |
5243 } |
5162 /* ERROR_CHECK_BEGIN */ |
5244 /* ERROR_CHECK_BEGIN */ |
5163 | FUNCTION_BLOCK io_OR_other_var_declarations_list function_block_body END_FUNCTION_BLOCK |
5245 | FUNCTION_BLOCK io_OR_other_var_declarations_list function_block_body END_FUNCTION_BLOCK |
5164 {$$ = NULL; |
5246 {$$ = NULL; |
5165 yynerrs++; |
5247 yynerrs++; |
5166 print_err_msg(current_filename, locf(@1), locl(@2), "no function block name defined in function block declaration."); |
5248 print_err_msg(current_filename, locl(@1), locf(@2), "no function block name defined in function block declaration."); |
5167 } |
5249 } |
5168 | FUNCTION_BLOCK error io_OR_other_var_declarations_list function_block_body END_FUNCTION_BLOCK |
5250 | FUNCTION_BLOCK error io_OR_other_var_declarations_list function_block_body END_FUNCTION_BLOCK |
5169 {$$ = NULL; |
5251 {$$ = NULL; |
5170 print_err_msg(current_filename, locf(@1), locl(@3), "invalid function block name in function block declaration."); |
5252 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name in function block declaration."); |
5171 yyerrok; |
5253 yyerrok; |
5172 } |
5254 } |
5173 | FUNCTION_BLOCK derived_function_block_name function_block_body END_FUNCTION_BLOCK |
5255 | FUNCTION_BLOCK derived_function_block_name function_block_body END_FUNCTION_BLOCK |
5174 {$$ = NULL; |
5256 {$$ = NULL; |
5175 yynerrs++; |
5257 yynerrs++; |
5176 print_err_msg(current_filename, locf(@2), locl(@3), "no variable(s) declared in function declaration."); |
5258 print_err_msg(current_filename, locl(@2), locf(@3), "no variable(s) declared in function declaration."); |
5177 } |
5259 } |
5178 | FUNCTION_BLOCK derived_function_block_name io_OR_other_var_declarations_list END_FUNCTION_BLOCK |
5260 | FUNCTION_BLOCK derived_function_block_name io_OR_other_var_declarations_list END_FUNCTION_BLOCK |
5179 {$$ = NULL; |
5261 {$$ = NULL; |
5180 yynerrs++; |
5262 yynerrs++; |
5181 print_err_msg(current_filename, locf(@3), locl(@4), "no body defined in function block declaration."); |
5263 print_err_msg(current_filename, locl(@3), locf(@4), "no body defined in function block declaration."); |
5182 } |
5264 } |
5183 | FUNCTION_BLOCK derived_function_block_name END_FUNCTION_BLOCK |
5265 | FUNCTION_BLOCK derived_function_block_name END_FUNCTION_BLOCK |
5184 {$$ = NULL; |
5266 {$$ = NULL; |
5185 yynerrs++; |
5267 yynerrs++; |
5186 print_err_msg(current_filename, locf(@2), locl(@3), "no variable(s) declared and body defined in function block declaration."); |
5268 print_err_msg(current_filename, locl(@2), locf(@3), "no variable(s) declared and body defined in function block declaration."); |
5187 } |
5269 } |
5188 | FUNCTION_BLOCK error END_FUNCTION_BLOCK |
5270 | FUNCTION_BLOCK error END_FUNCTION_BLOCK |
5189 {$$ = NULL; |
5271 {$$ = NULL; |
5190 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in function block declaration."); |
5272 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in function block declaration."); |
5191 yyerrok; |
5273 yyerrok; |
5192 } |
5274 } |
5193 /* ERROR_CHECK_END */ |
5275 /* ERROR_CHECK_END */ |
5194 ; |
5276 ; |
5195 |
5277 |
5260 temp_var_decl ';' |
5364 temp_var_decl ';' |
5261 {$$ = new temp_var_decls_list_c(locloc(@$)); $$->add_element($1);} |
5365 {$$ = new temp_var_decls_list_c(locloc(@$)); $$->add_element($1);} |
5262 | temp_var_decls_list temp_var_decl ';' |
5366 | temp_var_decls_list temp_var_decl ';' |
5263 {$$ = $1; $$->add_element($2);} |
5367 {$$ = $1; $$->add_element($2);} |
5264 /* ERROR_CHECK_BEGIN */ |
5368 /* ERROR_CHECK_BEGIN */ |
|
5369 | error ';' |
|
5370 {$$ = new temp_var_decls_list_c(locloc(@$)); |
|
5371 print_err_msg(current_filename, locf(@1), locl(@1), "invalid temporary variable(s) declaration."); |
|
5372 yyerrok; |
|
5373 } |
5265 | temp_var_decl error |
5374 | temp_var_decl error |
5266 {$$ = NULL; |
5375 {$$ = new temp_var_decls_list_c(locloc(@$)); |
5267 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at end of temporary variable(s) declaration."); |
5376 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at end of temporary variable(s) declaration."); |
5268 yyerrok; |
5377 yyerrok; |
5269 } |
5378 } |
5270 | temp_var_decls_list temp_var_decl error |
5379 | temp_var_decls_list temp_var_decl error |
5271 {$$ = NULL; |
5380 {$$ = $1; |
5272 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at end of temporary variable(s) declaration."); |
5381 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at end of temporary variable(s) declaration."); |
5273 yyerrok; |
5382 yyerrok; |
5274 } |
5383 } |
5275 | temp_var_decls_list error ';' |
5384 | temp_var_decls_list error ';' |
5276 {$$ = NULL; |
5385 {$$ = $1; |
5277 print_err_msg(current_filename, locf(@3), locl(@3), "invalid temporary variable(s) declaration."); |
5386 print_err_msg(current_filename, locf(@2), locl(@2), "invalid temporary variable(s) declaration."); |
5278 yyerrok; |
5387 yyerrok; |
5279 } |
5388 } |
5280 | temp_var_decls_list ';' |
5389 | temp_var_decls_list ';' |
5281 {$$ = NULL; |
5390 {$$ = $1; |
5282 yynerrs++; |
5391 yynerrs++; |
5283 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after temporary variable(s) declaration."); |
5392 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after temporary variable(s) declaration."); |
5284 } |
5393 } |
5285 /* ERROR_CHECK_END */ |
5394 /* ERROR_CHECK_END */ |
5286 ; |
5395 ; |
5333 } |
5442 } |
5334 /* ERROR_CHECK_BEGIN */ |
5443 /* ERROR_CHECK_BEGIN */ |
5335 | PROGRAM program_var_declarations_list function_block_body END_PROGRAM |
5444 | PROGRAM program_var_declarations_list function_block_body END_PROGRAM |
5336 {$$ = NULL; |
5445 {$$ = NULL; |
5337 yynerrs++; |
5446 yynerrs++; |
5338 print_err_msg(current_filename, locf(@1), locl(@2), "no program name defined in program declaration."); |
5447 print_err_msg(current_filename, locl(@1), locf(@2), "no program name defined in program declaration."); |
5339 } |
5448 } |
5340 | PROGRAM error program_var_declarations_list function_block_body END_PROGRAM |
5449 | PROGRAM error program_var_declarations_list function_block_body END_PROGRAM |
5341 {$$ = NULL; |
5450 {$$ = NULL; |
5342 print_err_msg(current_filename, locf(@1), locl(@3), "invalid program name in program declaration."); |
5451 print_err_msg(current_filename, locf(@2), locl(@2), "invalid program name in program declaration."); |
5343 yyerrok; |
5452 yyerrok; |
5344 } |
5453 } |
5345 | PROGRAM program_type_name function_block_body END_PROGRAM |
5454 | PROGRAM program_type_name function_block_body END_PROGRAM |
5346 {$$ = NULL; |
5455 {$$ = NULL; |
5347 yynerrs++; |
5456 yynerrs++; |
5348 print_err_msg(current_filename, locf(@2), locl(@3), "no variable(s) declared in program declaration."); |
5457 print_err_msg(current_filename, locl(@2), locf(@3), "no variable(s) declared in program declaration."); |
5349 } |
5458 } |
5350 | PROGRAM program_type_name program_var_declarations_list END_PROGRAM |
5459 | PROGRAM program_type_name program_var_declarations_list END_PROGRAM |
5351 {$$ = NULL; |
5460 {$$ = NULL; |
5352 yynerrs++; |
5461 yynerrs++; |
5353 print_err_msg(current_filename, locf(@3), locl(@4), "no body defined in program declaration."); |
5462 print_err_msg(current_filename, locl(@3), locf(@4), "no body defined in program declaration."); |
5354 } |
5463 } |
5355 | PROGRAM program_type_name END_PROGRAM |
5464 | PROGRAM program_type_name END_PROGRAM |
5356 {$$ = NULL; |
5465 {$$ = NULL; |
5357 yynerrs++; |
5466 yynerrs++; |
5358 print_err_msg(current_filename, locf(@2), locl(@3), "no variable(s) declared and body defined in program declaration."); |
5467 print_err_msg(current_filename, locl(@2), locf(@3), "no variable(s) declared and body defined in program declaration."); |
5359 } |
5468 } |
5360 | PROGRAM error END_PROGRAM |
5469 | PROGRAM error END_PROGRAM |
5361 {$$ = NULL; |
5470 {$$ = NULL; |
5362 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in program declaration."); |
5471 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in program declaration."); |
5363 yyerrok; |
5472 yyerrok; |
5364 } |
5473 } |
5365 /* ERROR_CHECK_END */ |
5474 /* ERROR_CHECK_END */ |
5366 ; |
5475 ; |
5367 |
5476 |
5453 yynerrs++; |
5579 yynerrs++; |
5454 print_err_msg(current_filename, locf(@1), locl(@2), "no step name defined in initial step declaration."); |
5580 print_err_msg(current_filename, locf(@1), locl(@2), "no step name defined in initial step declaration."); |
5455 } |
5581 } |
5456 | INITIAL_STEP error ':' action_association_list END_STEP |
5582 | INITIAL_STEP error ':' action_association_list END_STEP |
5457 {$$ = NULL; |
5583 {$$ = NULL; |
5458 print_err_msg(current_filename, locf(@1), locl(@3), "invalid step name defined in initial step declaration."); |
5584 print_err_msg(current_filename, locf(@2), locl(@2), "invalid step name defined in initial step declaration."); |
5459 yyerrok; |
5585 yyerrok; |
5460 } |
5586 } |
5461 | INITIAL_STEP step_name action_association_list END_STEP |
5587 | INITIAL_STEP step_name action_association_list END_STEP |
5462 {$$ = NULL; |
5588 {$$ = NULL; |
5463 yynerrs++; |
5589 yynerrs++; |
5464 print_err_msg(current_filename, locf(@2), locl(@3), "':' missing after step name in initial step declaration."); |
5590 print_err_msg(current_filename, locl(@2), locf(@3), "':' missing after step name in initial step declaration."); |
5465 } |
5591 } |
5466 | INITIAL_STEP step_name error action_association_list END_STEP |
5592 | INITIAL_STEP step_name error action_association_list END_STEP |
5467 {$$ = NULL; |
5593 {$$ = NULL; |
5468 print_err_msg(current_filename, locf(@2), locl(@4), "expecting ':' after step name in initial step declaration."); |
5594 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ':' after step name in initial step declaration."); |
5469 yyerrok; |
5595 yyerrok; |
5470 } |
5596 } |
5471 | INITIAL_STEP step_name ':' error END_STEP |
5597 | INITIAL_STEP step_name ':' error END_STEP |
5472 {$$ = NULL; |
5598 {$$ = NULL; |
5473 print_err_msg(current_filename, locf(@2), locl(@4), "invalid action association list in initial step declaration."); |
5599 print_err_msg(current_filename, locf(@4), locl(@4), "invalid action association list in initial step declaration."); |
5474 yyerrok; |
5600 yyerrok; |
5475 } |
5601 } |
5476 | INITIAL_STEP error END_STEP |
5602 | INITIAL_STEP error END_STEP |
5477 {$$ = NULL; |
5603 {$$ = NULL; |
5478 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in initial step declaration."); |
5604 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in initial step declaration."); |
5479 yyerrok; |
5605 yyerrok; |
5480 } |
5606 } |
5481 /* ERROR_CHECK_END */ |
5607 /* ERROR_CHECK_END */ |
5482 ; |
5608 ; |
5483 |
5609 |
5487 {$$ = new step_c($2, $4, locloc(@$));} |
5613 {$$ = new step_c($2, $4, locloc(@$));} |
5488 /* ERROR_CHECK_BEGIN */ |
5614 /* ERROR_CHECK_BEGIN */ |
5489 | STEP ':' action_association_list END_STEP |
5615 | STEP ':' action_association_list END_STEP |
5490 {$$ = NULL; |
5616 {$$ = NULL; |
5491 yynerrs++; |
5617 yynerrs++; |
5492 print_err_msg(current_filename, locf(@1), locl(@2), "no step name defined in step declaration."); |
5618 print_err_msg(current_filename, locl(@1), locf(@2), "no step name defined in step declaration."); |
5493 } |
5619 } |
5494 | STEP error ':' action_association_list END_STEP |
5620 | STEP error ':' action_association_list END_STEP |
5495 {$$ = NULL; |
5621 {$$ = NULL; |
5496 print_err_msg(current_filename, locf(@1), locl(@3), "invalid step name defined in step declaration."); |
5622 print_err_msg(current_filename, locf(@2), locl(@2), "invalid step name defined in step declaration."); |
5497 yyerrok; |
5623 yyerrok; |
5498 } |
5624 } |
5499 | STEP step_name action_association_list END_STEP |
5625 | STEP step_name action_association_list END_STEP |
5500 {$$ = NULL; |
5626 {$$ = NULL; |
5501 yynerrs++; |
5627 yynerrs++; |
5502 print_err_msg(current_filename, locf(@2), locl(@3), "':' missing after step name in step declaration."); |
5628 print_err_msg(current_filename, locl(@2), locf(@3), "':' missing after step name in step declaration."); |
5503 } |
5629 } |
5504 | STEP step_name error action_association_list END_STEP |
5630 | STEP step_name error action_association_list END_STEP |
5505 {$$ = NULL; |
5631 {$$ = NULL; |
5506 print_err_msg(current_filename, locf(@2), locl(@4), "expecting ':' after step name in step declaration."); |
5632 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ':' after step name in step declaration."); |
5507 yyerrok; |
5633 yyerrok; |
5508 } |
5634 } |
5509 | STEP step_name ':' error END_STEP |
5635 | STEP step_name ':' error END_STEP |
5510 {$$ = NULL; |
5636 {$$ = NULL; |
5511 print_err_msg(current_filename, locf(@2), locl(@4), "invalid action association list in step declaration."); |
5637 print_err_msg(current_filename, locf(@4), locl(@4), "invalid action association list in step declaration."); |
5512 yyerrok; |
5638 yyerrok; |
5513 } |
5639 } |
5514 | STEP error END_STEP |
5640 | STEP error END_STEP |
5515 {$$ = NULL; |
5641 {$$ = NULL; |
5516 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in step declaration."); |
5642 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in step declaration."); |
5517 yyerrok; |
5643 yyerrok; |
5518 } |
5644 } |
5519 /* ERROR_CHECK_END */ |
5645 /* ERROR_CHECK_END */ |
5520 ; |
5646 ; |
5521 |
5647 |
5684 END_TRANSITION |
5810 END_TRANSITION |
5685 {$$ = new transition_c($2, $3, $5, $7, $9, locloc(@$));} |
5811 {$$ = new transition_c($2, $3, $5, $7, $9, locloc(@$));} |
5686 /* ERROR_CHECK_BEGIN */ |
5812 /* ERROR_CHECK_BEGIN */ |
5687 | TRANSITION error transition_priority FROM steps TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5813 | TRANSITION error transition_priority FROM steps TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5688 {$$ = NULL; |
5814 {$$ = NULL; |
5689 print_err_msg(current_filename, locf(@1), locl(@3), "invalid transition name defined in transition declaration."); |
5815 print_err_msg(current_filename, locf(@2), locl(@2), "invalid transition name defined in transition declaration."); |
5690 yyerrok; |
5816 yyerrok; |
5691 } |
5817 } |
5692 | TRANSITION transition_name error FROM steps TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5818 | TRANSITION transition_name error FROM steps TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5693 {$$ = NULL; |
5819 {$$ = NULL; |
5694 print_err_msg(current_filename, locf(@1), locl(@3), "invalid transition priority defined in transition declaration."); |
5820 print_err_msg(current_filename, locf(@3), locl(@3), "invalid transition priority defined in transition declaration."); |
5695 yyerrok; |
5821 yyerrok; |
5696 } |
5822 } |
5697 | TRANSITION transition_priority FROM TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5823 | TRANSITION transition_priority FROM TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5698 {$$ = NULL; |
5824 {$$ = NULL; |
5699 yynerrs++; |
5825 yynerrs++; |
5700 print_err_msg(current_filename, locf(@3), locl(@4), "no origin step(s) defined in transition declaration."); |
5826 print_err_msg(current_filename, locl(@3), locf(@4), "no origin step(s) defined in transition declaration."); |
5701 } |
5827 } |
5702 | TRANSITION transition_name transition_priority FROM TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5828 | TRANSITION transition_name transition_priority FROM TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5703 {$$ = NULL; |
5829 {$$ = NULL; |
5704 yynerrs++; |
5830 yynerrs++; |
5705 print_err_msg(current_filename, locf(@4), locl(@5), "no origin step(s) defined in transition declaration."); |
5831 print_err_msg(current_filename, locl(@4), locf(@5), "no origin step(s) defined in transition declaration."); |
5706 } |
5832 } |
5707 | TRANSITION transition_priority FROM error TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5833 | TRANSITION transition_priority FROM error TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5708 {$$ = NULL; |
5834 {$$ = NULL; |
5709 print_err_msg(current_filename, locf(@3), locl(@5), "invalid origin step(s) defined in transition declaration."); |
5835 print_err_msg(current_filename, locf(@4), locl(@4), "invalid origin step(s) defined in transition declaration."); |
5710 yyerrok; |
5836 yyerrok; |
5711 } |
5837 } |
5712 | TRANSITION transition_name transition_priority FROM error TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5838 | TRANSITION transition_name transition_priority FROM error TO steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5713 {$$ = NULL; |
5839 {$$ = NULL; |
5714 print_err_msg(current_filename, locf(@4), locl(@6), "invalid origin step(s) defined in transition declaration."); |
5840 print_err_msg(current_filename, locf(@5), locl(@5), "invalid origin step(s) defined in transition declaration."); |
5715 yyerrok; |
5841 yyerrok; |
5716 } |
5842 } |
5717 | TRANSITION transition_priority FROM steps steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5843 | TRANSITION transition_priority FROM steps steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5718 {$$ = NULL; |
5844 {$$ = NULL; |
5719 yynerrs++; |
5845 yynerrs++; |
5720 print_err_msg(current_filename, locf(@4), locl(@5), "'TO' missing between origin step(s) and destination step(s) in transition declaration."); |
5846 print_err_msg(current_filename, locl(@4), locf(@5), "'TO' missing between origin step(s) and destination step(s) in transition declaration."); |
5721 } |
5847 } |
5722 | TRANSITION transition_name transition_priority FROM steps steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5848 | TRANSITION transition_name transition_priority FROM steps steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5723 {$$ = NULL; |
5849 {$$ = NULL; |
5724 yynerrs++; |
5850 yynerrs++; |
5725 print_err_msg(current_filename, locf(@5), locl(@6), "'TO' missing between origin step(s) and destination step(s) in transition declaration."); |
5851 print_err_msg(current_filename, locl(@5), locf(@6), "'TO' missing between origin step(s) and destination step(s) in transition declaration."); |
5726 } |
5852 } |
5727 | TRANSITION transition_priority FROM steps error steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5853 | TRANSITION transition_priority FROM steps error steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5728 {$$ = NULL; |
5854 {$$ = NULL; |
5729 print_err_msg(current_filename, locf(@4), locl(@6), "expecting 'TO' between origin step(s) and destination step(s) in transition declaration."); |
5855 print_err_msg(current_filename, locf(@5), locl(@5), "expecting 'TO' between origin step(s) and destination step(s) in transition declaration."); |
5730 yyerrok; |
5856 yyerrok; |
5731 } |
5857 } |
5732 | TRANSITION transition_name transition_priority FROM steps error steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5858 | TRANSITION transition_name transition_priority FROM steps error steps {cmd_goto_body_state();} transition_condition END_TRANSITION |
5733 {$$ = NULL; |
5859 {$$ = NULL; |
5734 print_err_msg(current_filename, locf(@5), locl(@7), "expecting 'TO' between origin step(s) and destination step(s) in transition declaration."); |
5860 print_err_msg(current_filename, locf(@6), locl(@6), "expecting 'TO' between origin step(s) and destination step(s) in transition declaration."); |
5735 yyerrok; |
5861 yyerrok; |
5736 } |
5862 } |
5737 | TRANSITION transition_priority FROM steps TO {cmd_goto_body_state();} transition_condition END_TRANSITION |
5863 | TRANSITION transition_priority FROM steps TO {cmd_goto_body_state();} transition_condition END_TRANSITION |
5738 {$$ = NULL; |
5864 {$$ = NULL; |
5739 yynerrs++; |
5865 yynerrs++; |
5740 print_err_msg(current_filename, locf(@5), locl(@7), "no destination step(s) defined in transition declaration."); |
5866 print_err_msg(current_filename, locl(@5), locf(@7), "no destination step(s) defined in transition declaration."); |
5741 } |
5867 } |
5742 | TRANSITION transition_name transition_priority FROM steps TO {cmd_goto_body_state();} transition_condition END_TRANSITION |
5868 | TRANSITION transition_name transition_priority FROM steps TO {cmd_goto_body_state();} transition_condition END_TRANSITION |
5743 {$$ = NULL; |
5869 {$$ = NULL; |
5744 yynerrs++; |
5870 yynerrs++; |
5745 print_err_msg(current_filename, locf(@6), locl(@8), "no destination step(s) defined in transition declaration."); |
5871 print_err_msg(current_filename, locl(@6), locf(@8), "no destination step(s) defined in transition declaration."); |
5746 } |
5872 } |
5747 | TRANSITION transition_priority FROM steps TO error {cmd_goto_body_state();} transition_condition END_TRANSITION |
5873 | TRANSITION transition_priority FROM steps TO error {cmd_goto_body_state();} transition_condition END_TRANSITION |
5748 {$$ = NULL; |
5874 {$$ = NULL; |
5749 print_err_msg(current_filename, locf(@5), locl(@8), "invalid destination step(s) defined in transition declaration."); |
5875 print_err_msg(current_filename, locf(@6), locl(@6), "invalid destination step(s) defined in transition declaration."); |
5750 yyerrok; |
5876 yyerrok; |
5751 } |
5877 } |
5752 | TRANSITION transition_name transition_priority FROM steps TO error {cmd_goto_body_state();} transition_condition END_TRANSITION |
5878 | TRANSITION transition_name transition_priority FROM steps TO error {cmd_goto_body_state();} transition_condition END_TRANSITION |
5753 {$$ = NULL; |
5879 {$$ = NULL; |
5754 print_err_msg(current_filename, locf(@6), locl(@9), "invalid destination step(s) defined in transition declaration."); |
5880 print_err_msg(current_filename, locf(@7), locl(@7), "invalid destination step(s) defined in transition declaration."); |
5755 yyerrok; |
5881 yyerrok; |
5756 } |
5882 } |
5757 | TRANSITION transition_priority {cmd_goto_body_state();} transition_condition END_TRANSITION |
5883 | TRANSITION transition_priority {cmd_goto_body_state();} transition_condition END_TRANSITION |
5758 {$$ = NULL; |
5884 {$$ = NULL; |
5759 yynerrs++; |
5885 yynerrs++; |
5760 print_err_msg(current_filename, locf(@2), locl(@4), "no origin and destination step(s) defined in transition declaration."); |
5886 print_err_msg(current_filename, locl(@2), locf(@4), "no origin and destination step(s) defined in transition declaration."); |
5761 } |
5887 } |
5762 | TRANSITION transition_name transition_priority {cmd_goto_body_state();} transition_condition END_TRANSITION |
5888 | TRANSITION transition_name transition_priority {cmd_goto_body_state();} transition_condition END_TRANSITION |
5763 {$$ = NULL; |
5889 {$$ = NULL; |
5764 yynerrs++; |
5890 yynerrs++; |
5765 print_err_msg(current_filename, locf(@3), locl(@5), "no origin and destination step(s) defined in transition declaration."); |
5891 print_err_msg(current_filename, locl(@3), locf(@5), "no origin and destination step(s) defined in transition declaration."); |
5766 } |
5892 } |
5767 | TRANSITION error END_TRANSITION |
5893 | TRANSITION error END_TRANSITION |
5768 {$$ = NULL; |
5894 {$$ = NULL; |
5769 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in transition declaration."); |
5895 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in transition declaration."); |
5770 yyerrok; |
5896 yyerrok; |
5771 } |
5897 } |
5772 /* ERROR_CHECK_END */ |
5898 /* ERROR_CHECK_END */ |
5773 ; |
5899 ; |
5774 |
5900 |
5775 transition_priority: |
5901 transition_priority: |
5776 /* empty */ |
5902 /* empty */ |
5777 {$$ = NULL;} |
5903 {$$ = NULL;} |
5778 | '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' |
5904 | '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' |
5779 {$$ = $6;} |
5905 {$$ = $6;} |
|
5906 /* ERROR_CHECK_BEGIN */ |
|
5907 | '(' ASSIGN integer ')' |
|
5908 {$$ = NULL; |
|
5909 yynerrs++; |
|
5910 print_err_msg(current_filename, locl(@1), locf(@2), "'PRIORITY' missing between '(' and ':=' in transition declaration with priority."); |
|
5911 } |
|
5912 | '(' error ASSIGN integer ')' |
|
5913 {$$ = NULL; |
|
5914 print_err_msg(current_filename, locf(@2), locl(@2), "expecting 'PRIORITY' between '(' and ':=' in transition declaration with priority."); |
|
5915 yyerrok; |
|
5916 } |
|
5917 //* ERROR_CHECK_END */ |
5780 ; |
5918 ; |
5781 |
5919 |
5782 |
5920 |
5783 transition_condition: |
5921 transition_condition: |
5784 ':' eol_list simple_instr_list |
5922 ':' eol_list simple_instr_list |
5787 {$$ = new transition_condition_c(NULL, $2, locloc(@$));} |
5925 {$$ = new transition_condition_c(NULL, $2, locloc(@$));} |
5788 /* ERROR_CHECK_BEGIN */ |
5926 /* ERROR_CHECK_BEGIN */ |
5789 | eol_list simple_instr_list |
5927 | eol_list simple_instr_list |
5790 {$$ = NULL; |
5928 {$$ = NULL; |
5791 yynerrs++; |
5929 yynerrs++; |
5792 print_err_msg(current_filename, locf(@1), locl(@1), "':' missing before IL condition in transition declaration."); |
5930 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing before IL condition in transition declaration."); |
5793 } |
5931 } |
5794 | ':' eol_list error |
5932 | ':' eol_list error |
5795 {$$ = NULL; |
5933 {$$ = NULL; |
5796 print_err_msg(current_filename, locf(@2), locl(@2), "no instructions defined in IL condition of transition declaration."); |
5934 print_err_msg(current_filename, locl(@2), locf(@3), "no instructions defined in IL condition of transition declaration."); |
5797 yyerrok; |
5935 yyerrok; |
5798 } |
5936 } |
5799 | ASSIGN ';' |
5937 | ASSIGN ';' |
5800 {$$ = NULL; |
5938 {$$ = NULL; |
5801 print_err_msg(current_filename, locf(@2), locl(@2), "no expression defined in ST condition of transition declaration."); |
5939 yynerrs++; |
5802 yyerrok; |
5940 print_err_msg(current_filename, locl(@1), locf(@2), "no expression defined in ST condition of transition declaration."); |
5803 } |
5941 } |
5804 | ASSIGN error ';' |
5942 | ASSIGN error ';' |
5805 {$$ = NULL; |
5943 {$$ = NULL; |
5806 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression defined in ST condition of transition declaration."); |
5944 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression defined in ST condition of transition declaration."); |
5807 yyerrok; |
5945 yyerrok; |
5808 } |
5946 } |
5809 | ASSIGN expression error |
5947 | ASSIGN expression error |
5810 {$$ = NULL; |
5948 {$$ = NULL; |
5811 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ';' after expression defined in ST condition of transition declaration."); |
5949 print_err_msg(current_filename, locl(@2), locf(@3), "expecting ';' after expression defined in ST condition of transition declaration."); |
5812 yyerrok; |
5950 yyerrok; |
5813 } |
5951 } |
5814 /* ERROR_CHECK_END */ |
5952 /* ERROR_CHECK_END */ |
5815 ; |
5953 ; |
5816 |
5954 |
5822 {$$ = new action_c($2, $5, locloc(@$));} |
5960 {$$ = new action_c($2, $5, locloc(@$));} |
5823 /* ERROR_CHECK_BEGIN */ |
5961 /* ERROR_CHECK_BEGIN */ |
5824 | ACTION ':' {cmd_goto_body_state();} function_block_body END_ACTION |
5962 | ACTION ':' {cmd_goto_body_state();} function_block_body END_ACTION |
5825 {$$ = NULL; |
5963 {$$ = NULL; |
5826 yynerrs++; |
5964 yynerrs++; |
5827 print_err_msg(current_filename, locf(@1), locl(@2), "no action name defined in action declaration."); |
5965 print_err_msg(current_filename, locl(@1), locf(@2), "no action name defined in action declaration."); |
5828 } |
5966 } |
5829 | ACTION error ':' {cmd_goto_body_state();} function_block_body END_ACTION |
5967 | ACTION error ':' {cmd_goto_body_state();} function_block_body END_ACTION |
5830 {$$ = NULL; |
5968 {$$ = NULL; |
5831 print_err_msg(current_filename, locf(@1), locl(@3), "invalid action name defined in action declaration."); |
5969 print_err_msg(current_filename, locf(@2), locl(@2), "invalid action name defined in action declaration."); |
5832 yyerrok; |
5970 yyerrok; |
5833 } |
5971 } |
5834 | ACTION action_name {cmd_goto_body_state();} function_block_body END_ACTION |
5972 | ACTION action_name {cmd_goto_body_state();} function_block_body END_ACTION |
5835 {$$ = NULL; |
5973 {$$ = NULL; |
5836 yynerrs++; |
5974 yynerrs++; |
5837 print_err_msg(current_filename, locf(@2), locl(@4), "':' missing after action name in action declaration."); |
5975 print_err_msg(current_filename, locl(@2), locf(@4), "':' missing after action name in action declaration."); |
5838 } |
5976 } |
5839 | ACTION action_name ':' END_ACTION |
5977 | ACTION action_name ':' END_ACTION |
5840 {$$ = NULL; |
5978 {$$ = NULL; |
5841 print_err_msg(current_filename, locf(@3), locl(@4), "no body defined in action declaration."); |
5979 yynerrs++; |
5842 yyerrok; |
5980 print_err_msg(current_filename, locl(@3), locf(@4), "no body defined in action declaration."); |
5843 } |
5981 } |
5844 | ACTION error END_ACTION |
5982 | ACTION error END_ACTION |
5845 {$$ = NULL; |
5983 {$$ = NULL; |
5846 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in action declaration."); |
5984 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in action declaration."); |
5847 yyerrok; |
5985 yyerrok; |
5848 } |
5986 } |
5849 /* ERROR_CHECK_END */ |
5987 /* ERROR_CHECK_END */ |
5850 ; |
5988 ; |
5851 |
5989 |
5944 optional_access_declarations |
6082 optional_access_declarations |
5945 optional_instance_specific_initializations |
6083 optional_instance_specific_initializations |
5946 END_CONFIGURATION |
6084 END_CONFIGURATION |
5947 {$$ = NULL; |
6085 {$$ = NULL; |
5948 yynerrs++; |
6086 yynerrs++; |
5949 print_err_msg(current_filename, locf(@1), locl(@2), "no configuration name defined in configuration declaration."); |
6087 print_err_msg(current_filename, locl(@1), locf(@2), "no configuration name defined in configuration declaration."); |
5950 } |
6088 } |
5951 | CONFIGURATION |
6089 | CONFIGURATION |
5952 optional_global_var_declarations |
6090 optional_global_var_declarations |
5953 resource_declaration_list |
6091 resource_declaration_list |
5954 optional_access_declarations |
6092 optional_access_declarations |
5955 optional_instance_specific_initializations |
6093 optional_instance_specific_initializations |
5956 END_CONFIGURATION |
6094 END_CONFIGURATION |
5957 {$$ = NULL; |
6095 {$$ = NULL; |
5958 yynerrs++; |
6096 yynerrs++; |
5959 print_err_msg(current_filename, locf(@1), locl(@2), "no configuration name defined in configuration declaration."); |
6097 print_err_msg(current_filename, locl(@1), locf(@2), "no configuration name defined in configuration declaration."); |
5960 } |
6098 } |
5961 | CONFIGURATION error |
6099 | CONFIGURATION error |
5962 optional_global_var_declarations |
6100 optional_global_var_declarations |
5963 single_resource_declaration |
6101 single_resource_declaration |
5964 {variable_name_symtable.pop();} |
6102 {variable_name_symtable.pop();} |
5965 optional_access_declarations |
6103 optional_access_declarations |
5966 optional_instance_specific_initializations |
6104 optional_instance_specific_initializations |
5967 END_CONFIGURATION |
6105 END_CONFIGURATION |
5968 {$$ = NULL; |
6106 {$$ = NULL; |
5969 print_err_msg(current_filename, locf(@1), locl(@3), "invalid configuration name defined in configuration declaration."); |
6107 print_err_msg(current_filename, locf(@2), locl(@2), "invalid configuration name defined in configuration declaration."); |
5970 yyerrok; |
6108 yyerrok; |
5971 } |
6109 } |
5972 | CONFIGURATION error |
6110 | CONFIGURATION error |
5973 optional_global_var_declarations |
6111 optional_global_var_declarations |
5974 resource_declaration_list |
6112 resource_declaration_list |
5975 optional_access_declarations |
6113 optional_access_declarations |
5976 optional_instance_specific_initializations |
6114 optional_instance_specific_initializations |
5977 END_CONFIGURATION |
6115 END_CONFIGURATION |
5978 {$$ = NULL; |
6116 {$$ = NULL; |
5979 print_err_msg(current_filename, locf(@1), locl(@3), "invalid configuration name defined in configuration declaration."); |
6117 print_err_msg(current_filename, locf(@2), locl(@2), "invalid configuration name defined in configuration declaration."); |
5980 yyerrok; |
6118 yyerrok; |
5981 } |
6119 } |
5982 | CONFIGURATION configuration_name |
6120 | CONFIGURATION configuration_name |
5983 optional_global_var_declarations |
6121 optional_global_var_declarations |
5984 optional_access_declarations |
6122 optional_access_declarations |
5985 optional_instance_specific_initializations |
6123 optional_instance_specific_initializations |
5986 END_CONFIGURATION |
6124 END_CONFIGURATION |
5987 {$$ = NULL; |
6125 {$$ = NULL; |
5988 print_err_msg(current_filename, locf(@1), locl(@2), "no resource(s) defined in configuration declaration."); |
6126 yynerrs++; |
5989 yyerrok; |
6127 print_err_msg(current_filename, locl(@3), locf(@4), "no resource(s) defined in configuration declaration."); |
5990 } |
6128 } |
5991 | CONFIGURATION configuration_name |
6129 | CONFIGURATION configuration_name |
5992 optional_global_var_declarations |
6130 optional_global_var_declarations |
5993 error |
6131 error |
5994 optional_access_declarations |
6132 optional_access_declarations |
5995 optional_instance_specific_initializations |
6133 optional_instance_specific_initializations |
5996 END_CONFIGURATION |
6134 END_CONFIGURATION |
5997 {$$ = NULL; |
6135 {$$ = NULL; |
5998 print_err_msg(current_filename, locf(@1), locl(@2), "invalid resource(s) defined in configuration declaration."); |
6136 print_err_msg(current_filename, locf(@4), locl(@4), "invalid resource(s) defined in configuration declaration."); |
5999 yyerrok; |
6137 yyerrok; |
6000 } |
6138 } |
6001 | CONFIGURATION error END_CONFIGURATION |
6139 | CONFIGURATION error END_CONFIGURATION |
6002 {$$ = NULL; |
6140 {$$ = NULL; |
6003 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in configuration declaration."); |
6141 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in configuration declaration."); |
6004 yyerrok; |
6142 yyerrok; |
6005 } |
6143 } |
6006 /* ERROR_CHECK_END */ |
6144 /* ERROR_CHECK_END */ |
6007 ; |
6145 ; |
6008 |
6146 |
6107 {$$ = new program_configuration_list_c(locloc(@$)); $$->add_element($1);} |
6245 {$$ = new program_configuration_list_c(locloc(@$)); $$->add_element($1);} |
6108 | program_configuration_list program_configuration ';' |
6246 | program_configuration_list program_configuration ';' |
6109 {$$ = $1; $$->add_element($2);} |
6247 {$$ = $1; $$->add_element($2);} |
6110 /* ERROR_CHECK_BEGIN */ |
6248 /* ERROR_CHECK_BEGIN */ |
6111 | program_configuration error |
6249 | program_configuration error |
6112 {$$ = NULL; |
6250 {$$ = new program_configuration_list_c(locloc(@$)); |
6113 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at the end of program configuration in resource declaration."); |
6251 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at the end of program configuration in resource declaration."); |
6114 yyerrok; |
6252 yyerrok; |
6115 } |
6253 } |
6116 | program_configuration_list program_configuration error |
6254 | program_configuration_list program_configuration error |
6117 {$$ = NULL; |
6255 {$$ = $1; |
6118 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at the end of program configuration in resource declaration."); |
6256 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at the end of program configuration in resource declaration."); |
6119 yyerrok; |
6257 yyerrok; |
6120 } |
6258 } |
6121 | program_configuration_list error ';' |
6259 | program_configuration_list error ';' |
6122 {$$ = NULL; |
6260 {$$ = $1; |
6123 print_err_msg(current_filename, locf(@3), locl(@3), "invalid program configuration in resource declaration."); |
6261 print_err_msg(current_filename, locf(@2), locl(@2), "invalid program configuration in resource declaration."); |
6124 yyerrok; |
6262 yyerrok; |
6125 } |
6263 } |
6126 | program_configuration_list ';' |
6264 | program_configuration_list ';' |
6127 {$$ = NULL; |
6265 {$$ = $1; |
6128 yynerrs++; |
6266 yynerrs++; |
6129 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after program configuration in resource declaration."); |
6267 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after program configuration in resource declaration."); |
6130 } |
6268 } |
6131 /* ERROR_CHECK_END */ |
6269 /* ERROR_CHECK_END */ |
6132 ; |
6270 ; |
6140 {$$ = NULL;} |
6278 {$$ = NULL;} |
6141 // ERROR_CHECK_BEGIN // |
6279 // ERROR_CHECK_BEGIN // |
6142 | VAR_ACCESS END_VAR |
6280 | VAR_ACCESS END_VAR |
6143 {$$ = NULL; |
6281 {$$ = NULL; |
6144 yynerrs++; |
6282 yynerrs++; |
6145 print_err_msg(current_filename, locf(@1), locl(@2), "no variable declared in access variable(s) declaration."); |
6283 print_err_msg(current_filename, locl(@1), locf(@2), "no variable declared in access variable(s) declaration."); |
6146 } |
6284 } |
6147 | VAR_ACCESS error access_declaration_list END_VAR |
6285 | VAR_ACCESS error access_declaration_list END_VAR |
6148 {$$ = NULL; |
6286 {$$ = NULL; |
6149 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'VAR_ACCESS' in access variable(s) declaration."); |
6287 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'VAR_ACCESS' in access variable(s) declaration."); |
6150 yyerrok; |
6288 yyerrok; |
6151 } |
6289 } |
6152 | VAR_ACCESS error END_VAR |
6290 | VAR_ACCESS error END_VAR |
6153 {$$ = NULL; |
6291 {$$ = NULL; |
6154 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in access variable(s) declaration."); |
6292 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in access variable(s) declaration."); |
6155 yyerrok; |
6293 yyerrok; |
6156 } |
6294 } |
6157 // ERROR_CHECK_END // |
6295 // ERROR_CHECK_END // |
6158 ; |
6296 ; |
6159 |
6297 |
6160 // helper symbol for access_declarations // |
6298 // helper symbol for access_declarations // |
6161 access_declaration_list: |
6299 access_declaration_list: |
6162 access_declaration ';' |
6300 access_declaration ';' |
6163 | access_declaration_list access_declaration ';' |
6301 | access_declaration_list access_declaration ';' |
6164 // ERROR_CHECK_BEGIN // |
6302 // ERROR_CHECK_BEGIN // |
|
6303 | error ';' |
|
6304 {$$ = // create a new list //; |
|
6305 print_err_msg(current_filename, locf(@1), locl(@1), "invalid access variable declaration."); |
|
6306 yyerrok; |
|
6307 } |
6165 | access_declaration error |
6308 | access_declaration error |
6166 {$$ = NULL; |
6309 {$$ = // create a new list //; |
6167 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at the end of access variable declaration."); |
6310 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at the end of access variable declaration."); |
6168 yyerrok; |
6311 yyerrok; |
6169 } |
6312 } |
6170 | access_declaration_list access_declaration error |
6313 | access_declaration_list access_declaration error |
6171 {$$ = NULL; |
6314 {$$ = $1; |
6172 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at the end of access variable declaration."); |
6315 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at the end of access variable declaration."); |
6173 yyerrok; |
6316 yyerrok; |
6174 } |
6317 } |
6175 | access_declaration_list error ';' |
6318 | access_declaration_list error ';' |
6176 {$$ = NULL; |
6319 {$$ = $1; |
6177 print_err_msg(current_filename, locf(@3), locl(@3), "invalid access variable declaration."); |
6320 print_err_msg(current_filename, locf(@2), locl(@2), "invalid access variable declaration."); |
6178 yyerrok; |
6321 yyerrok; |
6179 } |
6322 } |
6180 | access_declaration_list ';' |
6323 | access_declaration_list ';' |
6181 {$$ = NULL; |
6324 {$$ = $1; |
6182 yynerrs++; |
6325 yynerrs++; |
6183 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after access variable declaration."); |
6326 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after access variable declaration."); |
6184 } |
6327 } |
6185 // ERROR_CHECK_END // |
6328 // ERROR_CHECK_END // |
6186 ; |
6329 ; |
6318 {$$ = $4;} |
6461 {$$ = $4;} |
6319 /* ERROR_CHECK_BEGIN */ |
6462 /* ERROR_CHECK_BEGIN */ |
6320 | SINGLE {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6463 | SINGLE {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6321 {$$ = NULL; |
6464 {$$ = NULL; |
6322 yynerrs++; |
6465 yynerrs++; |
6323 print_err_msg(current_filename, locf(@1), locl(@3), "':=' missing after 'SINGLE' in task initialization."); |
6466 print_err_msg(current_filename, locl(@1), locf(@3), "':=' missing after 'SINGLE' in task initialization."); |
6324 } |
6467 } |
6325 | SINGLE error {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6468 | SINGLE error {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6326 {$$ = NULL; |
6469 {$$ = NULL; |
6327 print_err_msg(current_filename, locf(@1), locl(@4), "expecteing ':=' after 'SINGLE' in task initialization."); |
6470 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':=' after 'SINGLE' in task initialization."); |
6328 yyerrok; |
6471 yyerrok; |
6329 } |
6472 } |
6330 | SINGLE ASSIGN {cmd_pop_state();} ',' {cmd_goto_task_init_state();} |
6473 | SINGLE ASSIGN {cmd_pop_state();} ',' {cmd_goto_task_init_state();} |
6331 {$$ = NULL; |
6474 {$$ = NULL; |
6332 yynerrs++; |
6475 yynerrs++; |
6333 print_err_msg(current_filename, locf(@2), locl(@4), "no data source defined in 'SINGLE' statement of task initialization."); |
6476 print_err_msg(current_filename, locl(@2), locf(@4), "no data source defined in 'SINGLE' statement of task initialization."); |
6334 } |
6477 } |
6335 | SINGLE ASSIGN {cmd_pop_state();} error ',' {cmd_goto_task_init_state();} |
6478 | SINGLE ASSIGN {cmd_pop_state();} error ',' {cmd_goto_task_init_state();} |
6336 {$$ = NULL; |
6479 {$$ = NULL; |
6337 print_err_msg(current_filename, locf(@2), locl(@5), "invalid data source defined in 'SINGLE' statement of task initialization."); |
6480 print_err_msg(current_filename, locf(@4), locl(@4), "invalid data source defined in 'SINGLE' statement of task initialization."); |
6338 yyerrok; |
6481 yyerrok; |
6339 } |
6482 } |
6340 /* ERROR_CHECK_END */ |
6483 /* ERROR_CHECK_END */ |
6341 ; |
6484 ; |
6342 |
6485 |
6349 {$$ = $4;} |
6492 {$$ = $4;} |
6350 /* ERROR_CHECK_BEGIN */ |
6493 /* ERROR_CHECK_BEGIN */ |
6351 | INTERVAL {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6494 | INTERVAL {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6352 {$$ = NULL; |
6495 {$$ = NULL; |
6353 yynerrs++; |
6496 yynerrs++; |
6354 print_err_msg(current_filename, locf(@1), locl(@3), "':=' missing after 'INTERVAL' in task initialization."); |
6497 print_err_msg(current_filename, locl(@1), locf(@3), "':=' missing after 'INTERVAL' in task initialization."); |
6355 } |
6498 } |
6356 | INTERVAL error {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6499 | INTERVAL error {cmd_pop_state();} data_source ',' {cmd_goto_task_init_state();} |
6357 {$$ = NULL; |
6500 {$$ = NULL; |
6358 print_err_msg(current_filename, locf(@1), locl(@4), "expecting ':=' after 'INTERVAL' in task initialization."); |
6501 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':=' after 'INTERVAL' in task initialization."); |
6359 yyerrok; |
6502 yyerrok; |
6360 } |
6503 } |
6361 | INTERVAL ASSIGN {cmd_pop_state();} ',' {cmd_goto_task_init_state();} |
6504 | INTERVAL ASSIGN {cmd_pop_state();} ',' {cmd_goto_task_init_state();} |
6362 {$$ = NULL; |
6505 {$$ = NULL; |
6363 yynerrs++; |
6506 yynerrs++; |
6364 print_err_msg(current_filename, locf(@2), locl(@4), "no data source defined in 'INTERVAL' statement of task initialization."); |
6507 print_err_msg(current_filename, locl(@2), locf(@4), "no data source defined in 'INTERVAL' statement of task initialization."); |
6365 } |
6508 } |
6366 | INTERVAL ASSIGN {cmd_pop_state();} error ',' {cmd_goto_task_init_state();} |
6509 | INTERVAL ASSIGN {cmd_pop_state();} error ',' {cmd_goto_task_init_state();} |
6367 {$$ = NULL; |
6510 {$$ = NULL; |
6368 print_err_msg(current_filename, locf(@2), locl(@5), "invalid data source defined in 'INTERVAL' statement of task initialization."); |
6511 print_err_msg(current_filename, locf(@4), locl(@4), "invalid data source defined in 'INTERVAL' statement of task initialization."); |
6369 yyerrok; |
6512 yyerrok; |
6370 } |
6513 } |
6371 /* ERROR_CHECK_END */ |
6514 /* ERROR_CHECK_END */ |
6372 ; |
6515 ; |
6373 |
6516 |
6421 } |
6564 } |
6422 /* ERROR_CHECK_BEGIN */ |
6565 /* ERROR_CHECK_BEGIN */ |
6423 | PROGRAM program_name optional_task_name ':' identifier optional_prog_conf_elements |
6566 | PROGRAM program_name optional_task_name ':' identifier optional_prog_conf_elements |
6424 {$$ = NULL; |
6567 {$$ = NULL; |
6425 yynerrs++; |
6568 yynerrs++; |
6426 print_err_msg(current_filename, locf(@1), locl(@3), "unknown program type name after ':' in program configuration."); |
6569 print_err_msg(current_filename, locf(@5), locl(@5), "unknown program type name after ':' in program configuration."); |
6427 } |
6570 } |
6428 | PROGRAM RETAIN program_name optional_task_name ':' identifier optional_prog_conf_elements |
6571 | PROGRAM RETAIN program_name optional_task_name ':' identifier optional_prog_conf_elements |
6429 {$$ = NULL; |
6572 {$$ = NULL; |
6430 yynerrs++; |
6573 yynerrs++; |
6431 print_err_msg(current_filename, locf(@2), locl(@4), "unknown program type name after ':' in program configuration."); |
6574 print_err_msg(current_filename, locf(@6), locl(@6), "unknown program type name after ':' in program configuration."); |
6432 } |
6575 } |
6433 | PROGRAM NON_RETAIN program_name optional_task_name ':' identifier optional_prog_conf_elements |
6576 | PROGRAM NON_RETAIN program_name optional_task_name ':' identifier optional_prog_conf_elements |
6434 {$$ = NULL; |
6577 {$$ = NULL; |
6435 yynerrs++; |
6578 yynerrs++; |
6436 print_err_msg(current_filename, locf(@2), locl(@4), "unknown program type name after ':' in program configuration."); |
6579 print_err_msg(current_filename, locf(@6), locl(@6), "unknown program type name after ':' in program configuration."); |
6437 } |
6580 } |
6438 | PROGRAM error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6581 | PROGRAM error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6439 {$$ = NULL; |
6582 {$$ = NULL; |
6440 print_err_msg(current_filename, locf(@1), locl(@3), "unexpected token after 'PROGRAM' in program configuration."); |
6583 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected token after 'PROGRAM' in program configuration."); |
6441 yyerrok; |
6584 yyerrok; |
6442 } |
6585 } |
6443 | PROGRAM RETAIN error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6586 | PROGRAM RETAIN error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6444 {$$ = NULL; |
6587 {$$ = NULL; |
6445 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'RETAIN' in retentive program configuration."); |
6588 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'RETAIN' in retentive program configuration."); |
6446 yyerrok; |
6589 yyerrok; |
6447 } |
6590 } |
6448 | PROGRAM NON_RETAIN error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6591 | PROGRAM NON_RETAIN error program_name optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6449 {$$ = NULL; |
6592 {$$ = NULL; |
6450 print_err_msg(current_filename, locf(@2), locl(@4), "unexpected token after 'NON_RETAIN' in non-retentive program configuration."); |
6593 print_err_msg(current_filename, locf(@3), locl(@3), "unexpected token after 'NON_RETAIN' in non-retentive program configuration."); |
6451 yyerrok; |
6594 yyerrok; |
6452 } |
6595 } |
6453 | PROGRAM optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6596 | PROGRAM optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6454 {$$ = NULL; |
6597 {$$ = NULL; |
6455 yynerrs++; |
6598 yynerrs++; |
6456 print_err_msg(current_filename, locf(@1), locl(@2), "no program name defined in program configuration."); |
6599 print_err_msg(current_filename, locl(@1), locf(@2), "no program name defined in program configuration."); |
6457 } |
6600 } |
6458 | PROGRAM RETAIN optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6601 | PROGRAM RETAIN optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6459 {$$ = NULL; |
6602 {$$ = NULL; |
6460 yynerrs++; |
6603 yynerrs++; |
6461 print_err_msg(current_filename, locf(@2), locl(@3), "no program name defined in retentive program configuration."); |
6604 print_err_msg(current_filename, locl(@2), locf(@3), "no program name defined in retentive program configuration."); |
6462 } |
6605 } |
6463 | PROGRAM NON_RETAIN optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6606 | PROGRAM NON_RETAIN optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6464 {$$ = NULL; |
6607 {$$ = NULL; |
6465 yynerrs++; |
6608 yynerrs++; |
6466 print_err_msg(current_filename, locf(@2), locl(@3), "no program name defined in non-retentive program configuration."); |
6609 print_err_msg(current_filename, locl(@2), locf(@3), "no program name defined in non-retentive program configuration."); |
6467 } |
6610 } |
6468 | PROGRAM error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6611 | PROGRAM error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6469 {$$ = NULL; |
6612 {$$ = NULL; |
6470 print_err_msg(current_filename, locf(@1), locl(@3), "no program name defined in program configuration."); |
6613 print_err_msg(current_filename, locf(@2), locl(@2), "no program name defined in program configuration."); |
6471 yyerrok; |
6614 yyerrok; |
6472 } |
6615 } |
6473 | PROGRAM RETAIN error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6616 | PROGRAM RETAIN error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6474 {$$ = NULL; |
6617 {$$ = NULL; |
6475 print_err_msg(current_filename, locf(@2), locl(@4), "no program name defined in retentive program configuration."); |
6618 print_err_msg(current_filename, locf(@3), locl(@3), "no program name defined in retentive program configuration."); |
6476 yyerrok; |
6619 yyerrok; |
6477 } |
6620 } |
6478 | PROGRAM NON_RETAIN error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6621 | PROGRAM NON_RETAIN error optional_task_name ':' prev_declared_program_type_name optional_prog_conf_elements |
6479 {$$ = NULL; |
6622 {$$ = NULL; |
6480 print_err_msg(current_filename, locf(@2), locl(@4), "no program name defined in non-retentive program configuration."); |
6623 print_err_msg(current_filename, locf(@3), locl(@3), "no program name defined in non-retentive program configuration."); |
6481 yyerrok; |
6624 yyerrok; |
6482 } |
6625 } |
6483 | PROGRAM program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6626 | PROGRAM program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6484 {$$ = NULL; |
6627 {$$ = NULL; |
6485 yynerrs++; |
6628 yynerrs++; |
6486 print_err_msg(current_filename, locf(@3), locl(@4), "':' missing after program name or optional task name in program configuration."); |
6629 print_err_msg(current_filename, locl(@3), locf(@4), "':' missing after program name or optional task name in program configuration."); |
6487 } |
6630 } |
6488 | PROGRAM RETAIN program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6631 | PROGRAM RETAIN program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6489 {$$ = NULL; |
6632 {$$ = NULL; |
6490 yynerrs++; |
6633 yynerrs++; |
6491 print_err_msg(current_filename, locf(@4), locl(@5), "':' missing after program name or optional task name in program configuration."); |
6634 print_err_msg(current_filename, locl(@4), locf(@5), "':' missing after program name or optional task name in program configuration."); |
6492 } |
6635 } |
6493 | PROGRAM NON_RETAIN program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6636 | PROGRAM NON_RETAIN program_name optional_task_name prev_declared_program_type_name optional_prog_conf_elements |
6494 {$$ = NULL; |
6637 {$$ = NULL; |
6495 yynerrs++; |
6638 yynerrs++; |
6496 print_err_msg(current_filename, locf(@4), locl(@5), "':' missing after program name or optional task name in program configuration."); |
6639 print_err_msg(current_filename, locl(@4), locf(@5), "':' missing after program name or optional task name in program configuration."); |
6497 } |
6640 } |
6498 | PROGRAM program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6641 | PROGRAM program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6499 {$$ = NULL; |
6642 {$$ = NULL; |
6500 print_err_msg(current_filename, locf(@3), locl(@5), "expecting ':' after program name or optional task name in program configuration."); |
6643 print_err_msg(current_filename, locf(@4), locl(@4), "expecting ':' after program name or optional task name in program configuration."); |
6501 yyerrok; |
6644 yyerrok; |
6502 } |
6645 } |
6503 | PROGRAM RETAIN program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6646 | PROGRAM RETAIN program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6504 {$$ = NULL; |
6647 {$$ = NULL; |
6505 print_err_msg(current_filename, locf(@4), locl(@6), "expecting ':' after program name or optional task name in program configuration."); |
6648 print_err_msg(current_filename, locf(@5), locl(@5), "expecting ':' after program name or optional task name in program configuration."); |
6506 yyerrok; |
6649 yyerrok; |
6507 } |
6650 } |
6508 | PROGRAM NON_RETAIN program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6651 | PROGRAM NON_RETAIN program_name optional_task_name error prev_declared_program_type_name optional_prog_conf_elements |
6509 {$$ = NULL; |
6652 {$$ = NULL; |
6510 print_err_msg(current_filename, locf(@4), locl(@6), "expecting ':' after program name or optional task name in program configuration."); |
6653 print_err_msg(current_filename, locf(@5), locl(@5), "expecting ':' after program name or optional task name in program configuration."); |
6511 yyerrok; |
6654 yyerrok; |
6512 } |
6655 } |
6513 | PROGRAM program_name optional_task_name ':' optional_prog_conf_elements |
6656 | PROGRAM program_name optional_task_name ':' optional_prog_conf_elements |
6514 {$$ = NULL; |
6657 {$$ = NULL; |
6515 yynerrs++; |
6658 yynerrs++; |
6516 print_err_msg(current_filename, locf(@4), locl(@5), "no program type defined in program configuration."); |
6659 print_err_msg(current_filename, locl(@4), locf(@5), "no program type defined in program configuration."); |
6517 } |
6660 } |
6518 | PROGRAM RETAIN program_name optional_task_name ':' optional_prog_conf_elements |
6661 | PROGRAM RETAIN program_name optional_task_name ':' optional_prog_conf_elements |
6519 {$$ = NULL; |
6662 {$$ = NULL; |
6520 yynerrs++; |
6663 yynerrs++; |
6521 print_err_msg(current_filename, locf(@5), locl(@6), "no program type defined in program configuration."); |
6664 print_err_msg(current_filename, locl(@5), locf(@6), "no program type defined in program configuration."); |
6522 } |
6665 } |
6523 | PROGRAM NON_RETAIN program_name optional_task_name ':' optional_prog_conf_elements |
6666 | PROGRAM NON_RETAIN program_name optional_task_name ':' optional_prog_conf_elements |
6524 {$$ = NULL; |
6667 {$$ = NULL; |
6525 yynerrs++; |
6668 yynerrs++; |
6526 print_err_msg(current_filename, locf(@5), locl(@6), "no program type defined in program configuration."); |
6669 print_err_msg(current_filename, locl(@5), locf(@6), "no program type defined in program configuration."); |
6527 } |
6670 } |
6528 /* ERROR_CHECK_END */ |
6671 /* ERROR_CHECK_END */ |
6529 ; |
6672 ; |
6530 |
6673 |
6531 // helper symbol for program_configuration // |
6674 // helper symbol for program_configuration // |
6645 {$$ = new prog_cnxn_sendto_c($1, $3, locloc(@$));} |
6788 {$$ = new prog_cnxn_sendto_c($1, $3, locloc(@$));} |
6646 /* ERROR_CHECK_BEGIN */ |
6789 /* ERROR_CHECK_BEGIN */ |
6647 | any_symbolic_variable constant |
6790 | any_symbolic_variable constant |
6648 {$$ = NULL; |
6791 {$$ = NULL; |
6649 yynerrs++; |
6792 yynerrs++; |
6650 print_err_msg(current_filename, locf(@2), locl(@2), "':=' missing between parameter and value in program configuration element."); |
6793 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing between parameter and value in program configuration element."); |
6651 } |
6794 } |
6652 | any_symbolic_variable enumerated_value |
6795 | any_symbolic_variable enumerated_value |
6653 {$$ = NULL; |
6796 {$$ = NULL; |
6654 yynerrs++; |
6797 yynerrs++; |
6655 print_err_msg(current_filename, locf(@2), locl(@2), "':=' missing between parameter and value in program configuration element."); |
6798 print_err_msg(current_filename, locl(@1), locf(@2), "':=' missing between parameter and value in program configuration element."); |
6656 } |
6799 } |
6657 | any_symbolic_variable data_sink |
6800 | any_symbolic_variable data_sink |
6658 {$$ = NULL; |
6801 {$$ = NULL; |
6659 yynerrs++; |
6802 yynerrs++; |
6660 print_err_msg(current_filename, locf(@2), locl(@2), "':=' or '=>' missing between parameter and variable in program configuration element."); |
6803 print_err_msg(current_filename, locl(@1), locf(@2), "':=' or '=>' missing between parameter and variable in program configuration element."); |
6661 } |
6804 } |
6662 | any_symbolic_variable error prog_data_source |
6805 | any_symbolic_variable error prog_data_source |
6663 {$$ = NULL; |
6806 {$$ = NULL; |
6664 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':=' or '=>' after parameter in program configuration element."); |
6807 print_err_msg(current_filename, locl(@1), locf(@2), "expecting ':=' or '=>' after parameter in program configuration element."); |
6665 yyerrok; |
6808 yyerrok; |
6666 } |
6809 } |
6667 | any_symbolic_variable ASSIGN error |
6810 | any_symbolic_variable ASSIGN error |
6668 {$$ = NULL; |
6811 {$$ = NULL; |
6669 print_err_msg(current_filename, locf(@2), locl(@2), "invalid value or variable in program configuration assignment element."); |
6812 print_err_msg(current_filename, locf(@3), locl(@3), "invalid value or variable in program configuration assignment element."); |
6670 yyerrok; |
6813 yyerrok; |
6671 } |
6814 } |
6672 | any_symbolic_variable SENDTO error |
6815 | any_symbolic_variable SENDTO error |
6673 {$$ = NULL; |
6816 {$$ = NULL; |
6674 print_err_msg(current_filename, locf(@2), locl(@2), "invalid variable in program configuration sendto element."); |
6817 print_err_msg(current_filename, locf(@3), locl(@3), "invalid variable in program configuration sendto element."); |
6675 yyerrok; |
6818 yyerrok; |
6676 } |
6819 } |
6677 /* ERROR_CHECK_END */ |
6820 /* ERROR_CHECK_END */ |
6678 ; |
6821 ; |
6679 |
6822 |
6716 instance_specific_init ';' |
6859 instance_specific_init ';' |
6717 {$$ = new instance_specific_init_list_c(locloc(@$)); $$->add_element($1);} |
6860 {$$ = new instance_specific_init_list_c(locloc(@$)); $$->add_element($1);} |
6718 | instance_specific_init_list instance_specific_init ';' |
6861 | instance_specific_init_list instance_specific_init ';' |
6719 {$$ = $1; $$->add_element($2);} |
6862 {$$ = $1; $$->add_element($2);} |
6720 /* ERROR_CHECK_BEGIN */ |
6863 /* ERROR_CHECK_BEGIN */ |
|
6864 | error ';' |
|
6865 {$$ = new instance_specific_init_list_c(locloc(@$)); |
|
6866 print_err_msg(current_filename, locf(@1), locl(@1), "invalid configuration variable initialization."); |
|
6867 yyerrok; |
|
6868 } |
6721 | instance_specific_init error |
6869 | instance_specific_init error |
6722 {$$ = NULL; |
6870 {$$ = new instance_specific_init_list_c(locloc(@$)); |
6723 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at the end of configuration variable initialization."); |
6871 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at the end of configuration variable initialization."); |
6724 yyerrok; |
6872 yyerrok; |
6725 } |
6873 } |
6726 | instance_specific_init_list instance_specific_init error |
6874 | instance_specific_init_list instance_specific_init error |
6727 {$$ = NULL; |
6875 {$$ = $1; |
6728 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at the end of configuration variable initialization."); |
6876 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at the end of configuration variable initialization."); |
6729 yyerrok; |
6877 yyerrok; |
6730 } |
6878 } |
6731 | instance_specific_init_list error ';' |
6879 | instance_specific_init_list error ';' |
6732 {$$ = NULL; |
6880 {$$ = $1; |
6733 print_err_msg(current_filename, locf(@3), locl(@3), "invalid configuration variable initialization."); |
6881 print_err_msg(current_filename, locf(@2), locl(@2), "invalid configuration variable initialization."); |
6734 yyerrok; |
6882 yyerrok; |
6735 } |
6883 } |
6736 | instance_specific_init_list ';' |
6884 | instance_specific_init_list ';' |
6737 {$$ = NULL; |
6885 {$$ = $1; |
6738 yynerrs++; |
6886 yynerrs++; |
6739 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after configuration variable initialization."); |
6887 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after configuration variable initialization."); |
6740 } |
6888 } |
6741 /* ERROR_CHECK_END */ |
6889 /* ERROR_CHECK_END */ |
6742 ; |
6890 ; |
6821 | label ':' il_incomplete_instruction eol_list |
6969 | label ':' il_incomplete_instruction eol_list |
6822 {$$ = new il_instruction_c($1, $3, locloc(@$));} |
6970 {$$ = new il_instruction_c($1, $3, locloc(@$));} |
6823 /* ERROR_CHECK_BEGIN */ |
6971 /* ERROR_CHECK_BEGIN */ |
6824 | error eol_list |
6972 | error eol_list |
6825 {$$ = NULL; |
6973 {$$ = NULL; |
6826 print_err_msg(current_filename, locf(@2), locl(@2), "invalid IL instruction."); |
6974 print_err_msg(current_filename, locf(@1), locl(@1), "invalid IL instruction."); |
6827 yyerrok; |
6975 yyerrok; |
6828 } |
6976 } |
6829 | il_incomplete_instruction error |
6977 | il_incomplete_instruction error |
6830 {$$ = NULL; |
6978 {$$ = NULL; |
6831 print_err_msg(current_filename, locf(@1), locl(@1), "EOL missing at the end of IL instruction."); |
6979 print_err_msg(current_filename, locl(@1), locf(@2), "EOL missing at the end of IL instruction."); |
6832 yyerrok; |
6980 yyerrok; |
6833 } |
6981 } |
6834 | error ':' il_incomplete_instruction eol_list |
6982 | error ':' il_incomplete_instruction eol_list |
6835 {$$ = NULL; |
6983 {$$ = NULL; |
6836 print_err_msg(current_filename, locf(@2), locl(@2), "invalid label in IL instruction."); |
6984 print_err_msg(current_filename, locf(@1), locl(@1), "invalid label in IL instruction."); |
6837 yyerrok; |
6985 yyerrok; |
6838 } |
6986 } |
6839 | label il_incomplete_instruction eol_list |
6987 | label il_incomplete_instruction eol_list |
6840 {$$ = NULL; |
6988 {$$ = NULL; |
6841 yynerrs++; |
6989 yynerrs++; |
6842 print_err_msg(current_filename, locf(@1), locl(@2), "':' missing after label in IL instruction."); |
6990 print_err_msg(current_filename, locl(@1), locf(@2), "':' missing after label in IL instruction."); |
6843 } |
6991 } |
6844 | label error il_incomplete_instruction eol_list |
6992 | label error il_incomplete_instruction eol_list |
6845 {$$ = NULL; |
6993 {$$ = NULL; |
6846 print_err_msg(current_filename, locf(@1), locl(@3), "expecting ':' after label in IL instruction."); |
6994 print_err_msg(current_filename, locf(@2), locl(@2), "expecting ':' after label in IL instruction."); |
6847 yyerrok; |
6995 yyerrok; |
6848 } |
6996 } |
6849 | label ':' error eol_list |
6997 | label ':' error eol_list |
6850 {$$ = NULL; |
6998 {$$ = NULL; |
6851 print_err_msg(current_filename, locf(@2), locl(@4), "invalid IL instruction."); |
6999 print_err_msg(current_filename, locf(@3), locl(@3), "invalid IL instruction."); |
6852 yyerrok; |
7000 yyerrok; |
6853 } |
7001 } |
6854 | label ':' il_incomplete_instruction error |
7002 | label ':' il_incomplete_instruction error |
6855 {$$ = NULL; |
7003 {$$ = NULL; |
6856 print_err_msg(current_filename, locf(@1), locl(@1), "EOL missing at the end of IL instruction."); |
7004 print_err_msg(current_filename, locl(@3), locf(@4), "EOL missing at the end of IL instruction."); |
6857 yyerrok; |
7005 yyerrok; |
6858 } |
7006 } |
6859 /* ERROR_CHECK_END */ |
7007 /* ERROR_CHECK_END */ |
6860 ; |
7008 ; |
6861 |
7009 |
6973 | il_expr_operator_clash_eol_list simple_instr_list ')' |
7121 | il_expr_operator_clash_eol_list simple_instr_list ')' |
6974 {$$ = new il_expression_c($1, NULL, $2, locloc(@$));} |
7122 {$$ = new il_expression_c($1, NULL, $2, locloc(@$));} |
6975 /* ERROR_CHECK_BEGIN */ |
7123 /* ERROR_CHECK_BEGIN */ |
6976 | il_expr_operator_noclash '(' eol_list error |
7124 | il_expr_operator_noclash '(' eol_list error |
6977 {$$ = NULL; |
7125 {$$ = NULL; |
6978 print_err_msg(current_filename, locf(@3), locl(@3), "')' missing at the end of IL expression."); |
7126 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing at the end of IL expression."); |
6979 yyerrok; |
7127 yyerrok; |
6980 } |
7128 } |
6981 | il_expr_operator_noclash '(' il_operand eol_list error |
7129 | il_expr_operator_noclash '(' il_operand eol_list error |
6982 {$$ = NULL; |
7130 {$$ = NULL; |
6983 print_err_msg(current_filename, locf(@4), locl(@4), "')' missing at the end of IL expression."); |
7131 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of IL expression."); |
6984 yyerrok; |
7132 yyerrok; |
6985 } |
7133 } |
6986 | il_expr_operator_noclash '(' eol_list simple_instr_list error |
7134 | il_expr_operator_noclash '(' eol_list simple_instr_list error |
6987 {$$ = NULL; |
7135 {$$ = NULL; |
6988 print_err_msg(current_filename, locf(@4), locl(@4), "')' missing at the end of IL expression."); |
7136 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of IL expression."); |
6989 yyerrok; |
7137 yyerrok; |
6990 } |
7138 } |
6991 | il_expr_operator_noclash '(' il_operand eol_list simple_instr_list error |
7139 | il_expr_operator_noclash '(' il_operand eol_list simple_instr_list error |
6992 {$$ = NULL; |
7140 {$$ = NULL; |
6993 print_err_msg(current_filename, locf(@5), locl(@5), "')' missing at the end of IL expression."); |
7141 print_err_msg(current_filename, locl(@5), locf(@6), "')' missing at the end of IL expression."); |
6994 yyerrok; |
7142 yyerrok; |
6995 } |
7143 } |
6996 | il_expr_operator_clash '(' il_operand eol_list error |
7144 | il_expr_operator_clash '(' il_operand eol_list error |
6997 {$$ = NULL; |
7145 {$$ = NULL; |
6998 print_err_msg(current_filename, locf(@4), locl(@4), "')' missing at the end of IL expression."); |
7146 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of IL expression."); |
6999 yyerrok; |
7147 yyerrok; |
7000 } |
7148 } |
7001 | il_expr_operator_clash '(' il_operand eol_list simple_instr_list error |
7149 | il_expr_operator_clash '(' il_operand eol_list simple_instr_list error |
7002 {$$ = NULL; |
7150 {$$ = NULL; |
7003 print_err_msg(current_filename, locf(@5), locl(@5), "')' missing at the end of IL expression."); |
7151 print_err_msg(current_filename, locl(@5), locf(@6), "')' missing at the end of IL expression."); |
7004 yyerrok; |
7152 yyerrok; |
7005 } |
7153 } |
7006 | il_expr_operator_clash_eol_list simple_instr_list error |
7154 | il_expr_operator_clash_eol_list simple_instr_list error |
7007 {$$ = NULL; |
7155 {$$ = NULL; |
7008 print_err_msg(current_filename, locf(@2), locl(@2), "')' missing at the end of IL expression."); |
7156 print_err_msg(current_filename, locl(@2), locf(@3), "')' missing at the end of IL expression."); |
7009 yyerrok; |
7157 yyerrok; |
7010 } |
7158 } |
7011 /* ERROR_CHECK_END */ |
7159 /* ERROR_CHECK_END */ |
7012 ; |
7160 ; |
7013 |
7161 |
7038 | il_call_operator prev_declared_fb_name '(' eol_list il_param_list ')' |
7186 | il_call_operator prev_declared_fb_name '(' eol_list il_param_list ')' |
7039 {$$ = new il_fb_call_c($1, $2, NULL, $5, locloc(@$));} |
7187 {$$ = new il_fb_call_c($1, $2, NULL, $5, locloc(@$));} |
7040 /* ERROR_CHECK_BEGIN */ |
7188 /* ERROR_CHECK_BEGIN */ |
7041 | il_call_operator error |
7189 | il_call_operator error |
7042 {$$ = NULL; |
7190 {$$ = NULL; |
7043 print_err_msg(current_filename, locf(@1), locl(@1), "invalid function block name defined in IL function block call."); |
7191 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name defined in IL function block call."); |
7044 yyerrok; |
7192 yyerrok; |
7045 } |
7193 } |
7046 | il_call_operator '(' ')' |
7194 | il_call_operator '(' ')' |
7047 {$$ = NULL; |
7195 {$$ = NULL; |
7048 yynerrs++; |
7196 yynerrs++; |
7049 print_err_msg(current_filename, locf(@1), locl(@2), "no function block name defined in IL function block call."); |
7197 print_err_msg(current_filename, locl(@1), locf(@2), "no function block name defined in IL function block call."); |
7050 } |
7198 } |
7051 | il_call_operator '(' eol_list ')' |
7199 | il_call_operator '(' eol_list ')' |
7052 {$$ = NULL; |
7200 {$$ = NULL; |
7053 yynerrs++; |
7201 yynerrs++; |
7054 print_err_msg(current_filename, locf(@1), locl(@2), "no function block name defined in IL function block call."); |
7202 print_err_msg(current_filename, locl(@1), locf(@2), "no function block name defined in IL function block call."); |
7055 } |
7203 } |
7056 | il_call_operator '(' il_operand_list ')' |
7204 | il_call_operator '(' il_operand_list ')' |
7057 {$$ = NULL; |
7205 {$$ = NULL; |
7058 yynerrs++; |
7206 yynerrs++; |
7059 print_err_msg(current_filename, locf(@1), locl(@2), "no function block name defined in IL function block call."); |
7207 print_err_msg(current_filename, locl(@1), locf(@2), "no function block name defined in IL function block call."); |
7060 } |
7208 } |
7061 | il_call_operator '(' eol_list il_param_list ')' |
7209 | il_call_operator '(' eol_list il_param_list ')' |
7062 {$$ = NULL; |
7210 {$$ = NULL; |
7063 yynerrs++; |
7211 yynerrs++; |
7064 print_err_msg(current_filename, locf(@1), locl(@2), "no function block name defined in IL function block call."); |
7212 print_err_msg(current_filename, locl(@1), locf(@2), "no function block name defined in IL function block call."); |
7065 } |
7213 } |
7066 | il_call_operator error '(' ')' |
7214 | il_call_operator error '(' ')' |
7067 {$$ = NULL; |
7215 {$$ = NULL; |
7068 print_err_msg(current_filename, locf(@1), locl(@3), "invalid function block name defined in IL function block call."); |
7216 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name defined in IL function block call."); |
7069 yyerrok; |
7217 yyerrok; |
7070 } |
7218 } |
7071 | il_call_operator error '(' eol_list ')' |
7219 | il_call_operator error '(' eol_list ')' |
7072 {$$ = NULL; |
7220 {$$ = NULL; |
7073 print_err_msg(current_filename, locf(@1), locl(@3), "invalid function block name defined in IL function block call."); |
7221 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name defined in IL function block call."); |
7074 yyerrok; |
7222 yyerrok; |
7075 } |
7223 } |
7076 | il_call_operator error '(' il_operand_list ')' |
7224 | il_call_operator error '(' il_operand_list ')' |
7077 {$$ = NULL; |
7225 {$$ = NULL; |
7078 print_err_msg(current_filename, locf(@1), locl(@3), "invalid function block name defined in IL function block call."); |
7226 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name defined in IL function block call."); |
7079 yyerrok; |
7227 yyerrok; |
7080 } |
7228 } |
7081 | il_call_operator error '(' eol_list il_param_list ')' |
7229 | il_call_operator error '(' eol_list il_param_list ')' |
7082 {$$ = NULL; |
7230 {$$ = NULL; |
7083 print_err_msg(current_filename, locf(@1), locl(@3), "invalid function block name defined in IL function block call."); |
7231 print_err_msg(current_filename, locf(@2), locl(@2), "invalid function block name defined in IL function block call."); |
7084 yyerrok; |
7232 yyerrok; |
7085 } |
7233 } |
7086 | il_call_operator prev_declared_fb_name ')' |
7234 | il_call_operator prev_declared_fb_name ')' |
7087 {$$ = NULL; |
7235 {$$ = NULL; |
7088 yynerrs++; |
7236 yynerrs++; |
7089 print_err_msg(current_filename, locf(@2), locl(@3), "'(' missing after function block name defined in IL function block call."); |
7237 print_err_msg(current_filename, locl(@2), locf(@3), "'(' missing after function block name defined in IL function block call."); |
7090 } |
7238 } |
7091 | il_call_operator prev_declared_fb_name il_operand_list ')' |
7239 | il_call_operator prev_declared_fb_name il_operand_list ')' |
7092 {$$ = NULL; |
7240 {$$ = NULL; |
7093 yynerrs++; |
7241 yynerrs++; |
7094 print_err_msg(current_filename, locf(@2), locl(@3), "'(' missing after function block name defined in IL function block call."); |
7242 print_err_msg(current_filename, locl(@2), locf(@3), "'(' missing after function block name defined in IL function block call."); |
7095 } |
7243 } |
7096 | il_call_operator prev_declared_fb_name '(' error |
7244 | il_call_operator prev_declared_fb_name '(' error |
7097 {$$ = NULL; |
7245 {$$ = NULL; |
7098 print_err_msg(current_filename, locf(@1), locl(@3), "')' missing at the end of IL function block call."); |
7246 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing at the end of IL function block call."); |
7099 yyerrok; |
7247 yyerrok; |
7100 } |
7248 } |
7101 | il_call_operator prev_declared_fb_name '(' eol_list error |
7249 | il_call_operator prev_declared_fb_name '(' eol_list error |
7102 {$$ = NULL; |
7250 {$$ = NULL; |
7103 print_err_msg(current_filename, locf(@1), locl(@3), "')' missing at the end of IL function block call."); |
7251 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of IL function block call."); |
7104 yyerrok; |
7252 yyerrok; |
7105 } |
7253 } |
7106 | il_call_operator prev_declared_fb_name '(' il_operand_list error |
7254 | il_call_operator prev_declared_fb_name '(' il_operand_list error |
7107 {$$ = NULL; |
7255 {$$ = NULL; |
7108 print_err_msg(current_filename, locf(@1), locl(@3), "')' missing at the end of IL function block call."); |
7256 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of IL function block call."); |
7109 yyerrok; |
7257 yyerrok; |
7110 } |
7258 } |
7111 /* ERROR_CHECK_END */ |
7259 /* ERROR_CHECK_END */ |
7112 ; |
7260 ; |
7113 |
7261 |
7378 | il_assign_operator '(' eol_list simple_instr_list ')' |
7526 | il_assign_operator '(' eol_list simple_instr_list ')' |
7379 {$$ = new il_param_assignment_c($1, NULL, $4, locloc(@$));} |
7527 {$$ = new il_param_assignment_c($1, NULL, $4, locloc(@$));} |
7380 /* ERROR_CHECK_BEGIN */ |
7528 /* ERROR_CHECK_BEGIN */ |
7381 | error il_operand |
7529 | error il_operand |
7382 {$$ = NULL; |
7530 {$$ = NULL; |
7383 print_err_msg(current_filename, locf(@2), locl(@2), "invalid operator in parameter assignment."); |
7531 print_err_msg(current_filename, locf(@1), locl(@1), "invalid operator in parameter assignment."); |
7384 yyerrok; |
7532 yyerrok; |
7385 } |
7533 } |
7386 | error '(' eol_list simple_instr_list ')' |
7534 | error '(' eol_list simple_instr_list ')' |
7387 {$$ = NULL; |
7535 {$$ = NULL; |
7388 print_err_msg(current_filename, locf(@2), locl(@2), "invalid operator in parameter assignment."); |
7536 print_err_msg(current_filename, locf(@1), locl(@1), "invalid operator in parameter assignment."); |
7389 yyerrok; |
7537 yyerrok; |
7390 } |
7538 } |
7391 | il_assign_operator error |
7539 | il_assign_operator error |
7392 {$$ = NULL; |
7540 {$$ = NULL; |
7393 print_err_msg(current_filename, locf(@1), locl(@1), "invalid operand defined in parameter assignment."); |
7541 print_err_msg(current_filename, locl(@1), locf(@2), "invalid operand defined in parameter assignment."); |
7394 yyerrok; |
7542 yyerrok; |
7395 } |
7543 } |
7396 | il_assign_operator '(' ')' |
7544 | il_assign_operator '(' eol_list ')' |
7397 {$$ = NULL; |
7545 {$$ = NULL; |
7398 print_err_msg(current_filename, locf(@1), locl(@1), "no instruction list defined in parameter assignment."); |
7546 yynerrs++; |
7399 yyerrok; |
7547 print_err_msg(current_filename, locl(@3), locf(@4), "no instruction list defined in parameter assignment."); |
7400 } |
7548 } |
7401 | il_assign_operator '(' error ')' |
7549 | il_assign_operator '(' eol_list error ')' |
7402 {$$ = NULL; |
7550 {$$ = NULL; |
7403 print_err_msg(current_filename, locf(@1), locl(@1), "invalid instruction list defined in parameter assignment."); |
7551 print_err_msg(current_filename, locf(@4), locl(@4), "invalid instruction list defined in parameter assignment."); |
7404 yyerrok; |
7552 yyerrok; |
7405 } |
7553 } |
7406 | il_assign_operator '(' eol_list simple_instr_list error |
7554 | il_assign_operator '(' eol_list simple_instr_list error |
7407 {$$ = NULL; |
7555 {$$ = NULL; |
7408 print_err_msg(current_filename, locf(@1), locl(@1), "')' missing at the end of instruction list defined in parameter assignment."); |
7556 print_err_msg(current_filename, locl(@4), locf(@5), "')' missing at the end of instruction list defined in parameter assignment."); |
7409 yyerrok; |
7557 yyerrok; |
7410 } |
7558 } |
7411 /* ERROR_CHECK_END */ |
7559 /* ERROR_CHECK_END */ |
7412 ; |
7560 ; |
7413 |
7561 |
7715 | equ_expression OPER_GE add_expression |
7863 | equ_expression OPER_GE add_expression |
7716 {$$ = new ge_expression_c($1, $3, locloc(@$));} |
7864 {$$ = new ge_expression_c($1, $3, locloc(@$));} |
7717 /* ERROR_CHECK_BEGIN */ |
7865 /* ERROR_CHECK_BEGIN */ |
7718 | equ_expression '<' error |
7866 | equ_expression '<' error |
7719 {$$ = NULL; |
7867 {$$ = NULL; |
7720 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression after '<' in ST expression."); |
7868 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression after '<' in ST expression."); |
7721 yyerrok; |
7869 yyerrok; |
7722 } |
7870 } |
7723 | equ_expression '>' error |
7871 | equ_expression '>' error |
7724 {$$ = NULL; |
7872 {$$ = NULL; |
7725 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression after '>' in ST expression."); |
7873 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression after '>' in ST expression."); |
7726 yyerrok; |
7874 yyerrok; |
7727 } |
7875 } |
7728 | equ_expression OPER_LE error |
7876 | equ_expression OPER_LE error |
7729 {$$ = NULL; |
7877 {$$ = NULL; |
7730 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression after '<=' in ST expression."); |
7878 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression after '<=' in ST expression."); |
7731 yyerrok; |
7879 yyerrok; |
7732 } |
7880 } |
7733 | equ_expression OPER_GE error |
7881 | equ_expression OPER_GE error |
7734 {$$ = NULL; |
7882 {$$ = NULL; |
7735 print_err_msg(current_filename, locf(@2), locl(@2), "invalid expression after '>=' in ST expression."); |
7883 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression after '>=' in ST expression."); |
7736 yyerrok; |
7884 yyerrok; |
7737 } |
7885 } |
7738 /* ERROR_CHECK_END */ |
7886 /* ERROR_CHECK_END */ |
7739 ; |
7887 ; |
7740 |
7888 |
7912 {$$ = new function_invocation_c($1, $3, locloc(@$));} |
8060 {$$ = new function_invocation_c($1, $3, locloc(@$));} |
7913 /* ERROR_CHECK_BEGIN */ |
8061 /* ERROR_CHECK_BEGIN */ |
7914 | function_name_no_NOT_clashes param_assignment_formal_list ')' |
8062 | function_name_no_NOT_clashes param_assignment_formal_list ')' |
7915 {$$ = NULL; |
8063 {$$ = NULL; |
7916 yynerrs++; |
8064 yynerrs++; |
7917 print_err_msg(current_filename, locf(@1), locl(@2), "'(' missing after function name in ST expression."); |
8065 print_err_msg(current_filename, locl(@1), locf(@2), "'(' missing after function name in ST expression."); |
7918 } |
8066 } |
7919 | function_name_no_NOT_clashes error param_assignment_formal_list ')' |
8067 | function_name_no_NOT_clashes error param_assignment_formal_list ')' |
7920 {$$ = NULL; |
8068 {$$ = NULL; |
7921 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '(' after function name in ST expression."); |
8069 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '(' after function name in ST expression."); |
7922 yyerrok; |
8070 yyerrok; |
7923 } |
8071 } |
7924 | function_name_no_NOT_clashes error param_assignment_nonformal_list ')' |
8072 | function_name_no_NOT_clashes error param_assignment_nonformal_list ')' |
7925 {$$ = NULL; |
8073 {$$ = NULL; |
7926 print_err_msg(current_filename, locf(@1), locl(@3), "expecting '(' after function name in ST expression."); |
8074 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '(' after function name in ST expression."); |
7927 yyerrok; |
8075 yyerrok; |
7928 } |
8076 } |
7929 | function_name_no_NOT_clashes '(' ')' |
8077 | function_name_no_NOT_clashes '(' ')' |
7930 {$$ = NULL; |
8078 {$$ = NULL; |
7931 yynerrs++; |
8079 yynerrs++; |
7932 print_err_msg(current_filename, locf(@1), locl(@3), "no parameter defined in function invocation of ST expression."); |
8080 print_err_msg(current_filename, locl(@2), locf(@3), "no parameter defined in function invocation of ST expression."); |
7933 } |
8081 } |
7934 | function_name_no_NOT_clashes '(' error ')' |
8082 | function_name_no_NOT_clashes '(' error ')' |
7935 {$$ = NULL; |
8083 {$$ = NULL; |
7936 print_err_msg(current_filename, locf(@1), locl(@3), "invalid parameter(s) defined in function invocation of ST expression."); |
8084 print_err_msg(current_filename, locf(@3), locl(@3), "invalid parameter(s) defined in function invocation of ST expression."); |
7937 yyerrok; |
8085 yyerrok; |
7938 } |
8086 } |
7939 | function_name_no_NOT_clashes '(' param_assignment_formal_list error |
8087 | function_name_no_NOT_clashes '(' param_assignment_formal_list error |
7940 {$$ = NULL; |
8088 {$$ = NULL; |
7941 print_err_msg(current_filename, locf(@1), locl(@3), "')' missing at the end of function invocation in ST expression."); |
8089 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing at the end of function invocation in ST expression."); |
7942 yyerrok; |
8090 yyerrok; |
7943 } |
8091 } |
7944 | function_name_no_NOT_clashes '(' param_assignment_nonformal_list error |
8092 | function_name_no_NOT_clashes '(' param_assignment_nonformal_list error |
7945 {$$ = NULL; |
8093 {$$ = NULL; |
7946 print_err_msg(current_filename, locf(@1), locl(@3), "')' missing at the end of function invocation in ST expression."); |
8094 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing at the end of function invocation in ST expression."); |
7947 yyerrok; |
8095 yyerrok; |
7948 } |
8096 } |
7949 /* ERROR_CHECK_END */ |
8097 /* ERROR_CHECK_END */ |
7950 ; |
8098 ; |
7951 |
8099 |
7962 {$$ = $1; $$->add_element($2);} |
8110 {$$ = $1; $$->add_element($2);} |
7963 | statement_list pragma |
8111 | statement_list pragma |
7964 {$$ = $1; $$->add_element($2);} |
8112 {$$ = $1; $$->add_element($2);} |
7965 /* ERROR_CHECK_BEGIN */ |
8113 /* ERROR_CHECK_BEGIN */ |
7966 | statement error |
8114 | statement error |
7967 {$$ = NULL; |
8115 {$$ = new statement_list_c(locloc(@$)); |
7968 print_err_msg(current_filename, locf(@1), locl(@1), "';' missing at the end of statement in ST statement."); |
8116 print_err_msg(current_filename, locl(@1), locf(@2), "';' missing at the end of statement in ST statement."); |
7969 yyerrok; |
8117 yyerrok; |
7970 } |
8118 } |
7971 | statement_list statement error |
8119 | statement_list statement error |
7972 {$$ = NULL; |
8120 {$$ = $1; |
7973 print_err_msg(current_filename, locf(@2), locl(@2), "';' missing at the end of statement in ST statement."); |
8121 print_err_msg(current_filename, locl(@2), locf(@3), "';' missing at the end of statement in ST statement."); |
7974 yyerrok; |
8122 yyerrok; |
7975 } |
8123 } |
7976 | statement_list error ';' |
8124 | statement_list error ';' |
7977 {$$ = NULL; |
8125 {$$ = $1; |
7978 print_err_msg(current_filename, locf(@3), locl(@3), "invalid statement in ST statement."); |
8126 print_err_msg(current_filename, locf(@2), locl(@2), "invalid statement in ST statement."); |
7979 yyerrok; |
8127 yyerrok; |
7980 } |
8128 } |
7981 | statement_list ';' |
8129 | statement_list ';' |
7982 {$$ = NULL; |
8130 {$$ = $1; |
|
8131 yynerrs++; |
7983 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after statement in ST statement."); |
8132 print_err_msg(current_filename, locf(@2), locl(@2), "unexpected ';' after statement in ST statement."); |
7984 yyerrok; |
|
7985 } |
8133 } |
7986 /* ERROR_CHECK_END */ |
8134 /* ERROR_CHECK_END */ |
7987 ; |
8135 ; |
7988 |
8136 |
7989 |
8137 |
8037 {$$ = new fb_invocation_c($1, $3, locloc(@$));} |
8185 {$$ = new fb_invocation_c($1, $3, locloc(@$));} |
8038 /* ERROR_CHECK_BEGIN */ |
8186 /* ERROR_CHECK_BEGIN */ |
8039 | prev_declared_fb_name ')' |
8187 | prev_declared_fb_name ')' |
8040 {$$ = NULL; |
8188 {$$ = NULL; |
8041 yynerrs++; |
8189 yynerrs++; |
8042 print_err_msg(current_filename, locf(@1), locl(@1), "'(' missing after function block name in ST statement."); |
8190 print_err_msg(current_filename, locl(@1), locf(@2), "'(' missing after function block name in ST statement."); |
8043 } |
8191 } |
8044 | prev_declared_fb_name param_assignment_formal_list ')' |
8192 | prev_declared_fb_name param_assignment_formal_list ')' |
8045 {$$ = NULL; |
8193 {$$ = NULL; |
8046 yynerrs++; |
8194 yynerrs++; |
8047 print_err_msg(current_filename, locf(@1), locl(@1), "'(' missing after function block name in ST statement."); |
8195 print_err_msg(current_filename, locl(@1), locf(@2), "'(' missing after function block name in ST statement."); |
8048 } |
8196 } |
8049 | prev_declared_fb_name error ')' |
8197 | prev_declared_fb_name error ')' |
8050 {$$ = NULL; |
8198 {$$ = NULL; |
8051 print_err_msg(current_filename, locf(@1), locl(@1), "expecting '(' after function block name in ST statement."); |
8199 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '(' after function block name in ST statement."); |
8052 yyerrok; |
8200 yyerrok; |
8053 } |
8201 } |
8054 | prev_declared_fb_name error param_assignment_formal_list ')' |
8202 | prev_declared_fb_name error param_assignment_formal_list ')' |
8055 {$$ = NULL; |
8203 {$$ = NULL; |
8056 print_err_msg(current_filename, locf(@1), locl(@1), "expecting '(' after function block name in ST statement."); |
8204 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '(' after function block name in ST statement."); |
8057 yyerrok; |
8205 yyerrok; |
8058 } |
8206 } |
8059 | prev_declared_fb_name error param_assignment_nonformal_list ')' |
8207 | prev_declared_fb_name error param_assignment_nonformal_list ')' |
8060 {$$ = NULL; |
8208 {$$ = NULL; |
8061 print_err_msg(current_filename, locf(@1), locl(@1), "expecting '(' after function block name in ST statement."); |
8209 print_err_msg(current_filename, locf(@2), locl(@2), "expecting '(' after function block name in ST statement."); |
8062 yyerrok; |
8210 yyerrok; |
8063 } |
8211 } |
8064 | prev_declared_fb_name '(' error ')' |
8212 | prev_declared_fb_name '(' error ')' |
8065 {$$ = NULL; |
8213 {$$ = NULL; |
8066 print_err_msg(current_filename, locf(@1), locl(@1), "invalid parameter list in function block invocation in ST statement."); |
8214 print_err_msg(current_filename, locf(@3), locl(@3), "invalid parameter list in function block invocation in ST statement."); |
8067 yyerrok; |
8215 yyerrok; |
8068 } |
8216 } |
8069 | prev_declared_fb_name '(' error |
8217 | prev_declared_fb_name '(' error |
8070 {$$ = NULL; |
8218 {$$ = NULL; |
8071 print_err_msg(current_filename, locf(@1), locl(@1), "')' missing after parameter list of function block invocation in ST statement."); |
8219 print_err_msg(current_filename, locl(@2), locf(@3), "')' missing after parameter list of function block invocation in ST statement."); |
8072 yyerrok; |
8220 yyerrok; |
8073 } |
8221 } |
8074 | prev_declared_fb_name '(' param_assignment_formal_list error |
8222 | prev_declared_fb_name '(' param_assignment_formal_list error |
8075 {$$ = NULL; |
8223 {$$ = NULL; |
8076 print_err_msg(current_filename, locf(@1), locl(@1), "')' missing after parameter list of function block invocation in ST statement."); |
8224 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing after parameter list of function block invocation in ST statement."); |
8077 yyerrok; |
8225 yyerrok; |
8078 } |
8226 } |
8079 | prev_declared_fb_name '(' param_assignment_nonformal_list error |
8227 | prev_declared_fb_name '(' param_assignment_nonformal_list error |
8080 {$$ = NULL; |
8228 {$$ = NULL; |
8081 print_err_msg(current_filename, locf(@1), locl(@1), "')' missing after parameter list of function block invocation in ST statement."); |
8229 print_err_msg(current_filename, locl(@3), locf(@4), "')' missing after parameter list of function block invocation in ST statement."); |
8082 yyerrok; |
8230 yyerrok; |
8083 } |
8231 } |
8084 /* ERROR_CHECK_END */ |
8232 /* ERROR_CHECK_END */ |
8085 ; |
8233 ; |
8086 |
8234 |
8171 | NOT sendto_identifier SENDTO variable |
8319 | NOT sendto_identifier SENDTO variable |
8172 {$$ = new output_variable_param_assignment_c(new not_paramassign_c(locloc(@$)),$2, $4, locloc(@$));} |
8320 {$$ = new output_variable_param_assignment_c(new not_paramassign_c(locloc(@$)),$2, $4, locloc(@$));} |
8173 /* ERROR_CHECK_BEGIN */ |
8321 /* ERROR_CHECK_BEGIN */ |
8174 | any_identifier ASSIGN error |
8322 | any_identifier ASSIGN error |
8175 {$$ = NULL; |
8323 {$$ = NULL; |
8176 print_err_msg(current_filename, locf(@1), locl(@2), "invalid expression in ST formal parameter assignment."); |
8324 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression in ST formal parameter assignment."); |
8177 yyerrok; |
8325 yyerrok; |
8178 } |
8326 } |
8179 | sendto_identifier SENDTO error |
8327 | sendto_identifier SENDTO error |
8180 {$$ = NULL; |
8328 {$$ = NULL; |
8181 print_err_msg(current_filename, locf(@1), locl(@2), "invalid expression in ST formal parameter out assignment."); |
8329 print_err_msg(current_filename, locf(@3), locl(@3), "invalid expression in ST formal parameter out assignment."); |
8182 yyerrok; |
8330 yyerrok; |
8183 } |
8331 } |
8184 | NOT SENDTO variable |
8332 | NOT SENDTO variable |
8185 {$$ = NULL; |
8333 {$$ = NULL; |
8186 yynerrs++; |
8334 yynerrs++; |
8187 print_err_msg(current_filename, locf(@1), locl(@2), "no parameter name defined in ST formal parameter out negated assignment."); |
8335 print_err_msg(current_filename, locl(@1), locf(@2), "no parameter name defined in ST formal parameter out negated assignment."); |
8188 } |
8336 } |
8189 | NOT error SENDTO variable |
8337 | NOT error SENDTO variable |
8190 {$$ = NULL; |
8338 {$$ = NULL; |
8191 print_err_msg(current_filename, locf(@1), locl(@2), "invalid parameter name defined in ST formal parameter out negated assignment."); |
8339 print_err_msg(current_filename, locf(@2), locl(@2), "invalid parameter name defined in ST formal parameter out negated assignment."); |
8192 yyerrok; |
8340 yyerrok; |
8193 } |
8341 } |
8194 | NOT sendto_identifier SENDTO error |
8342 | NOT sendto_identifier SENDTO error |
8195 {$$ = NULL; |
8343 {$$ = NULL; |
8196 print_err_msg(current_filename, locf(@1), locl(@2), "invalid expression in ST formal parameter out negated assignment."); |
8344 print_err_msg(current_filename, locf(@4), locl(@4), "invalid expression in ST formal parameter out negated assignment."); |
8197 yyerrok; |
8345 yyerrok; |
8198 } |
8346 } |
8199 /* ERROR_CHECK_END */ |
8347 /* ERROR_CHECK_END */ |
8200 ; |
8348 ; |
8201 |
8349 |
8219 {$$ = new if_statement_c($2, $4, $5, $7, locloc(@$));} |
8367 {$$ = new if_statement_c($2, $4, $5, $7, locloc(@$));} |
8220 /* ERROR_CHECK_BEGIN */ |
8368 /* ERROR_CHECK_BEGIN */ |
8221 | IF THEN statement_list elseif_statement_list END_IF |
8369 | IF THEN statement_list elseif_statement_list END_IF |
8222 {$$ = NULL; |
8370 {$$ = NULL; |
8223 yynerrs++; |
8371 yynerrs++; |
8224 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined in ST 'IF' statement."); |
8372 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined in ST 'IF' statement."); |
8225 } |
8373 } |
8226 | IF THEN statement_list elseif_statement_list ELSE statement_list END_IF |
8374 | IF THEN statement_list elseif_statement_list ELSE statement_list END_IF |
8227 {$$ = NULL; |
8375 {$$ = NULL; |
8228 yynerrs++; |
8376 yynerrs++; |
8229 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined in ST 'IF' statement."); |
8377 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined in ST 'IF' statement."); |
8230 } |
8378 } |
8231 | IF error THEN statement_list elseif_statement_list END_IF |
8379 | IF error THEN statement_list elseif_statement_list END_IF |
8232 {$$ = NULL; |
8380 {$$ = NULL; |
8233 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for ST 'IF' statement."); |
8381 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for ST 'IF' statement."); |
8234 yyerrok; |
8382 yyerrok; |
8235 } |
8383 } |
8236 | IF error THEN statement_list elseif_statement_list ELSE statement_list END_IF |
8384 | IF error THEN statement_list elseif_statement_list ELSE statement_list END_IF |
8237 {$$ = NULL; |
8385 {$$ = NULL; |
8238 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for ST 'IF' statement."); |
8386 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for ST 'IF' statement."); |
8239 yyerrok; |
8387 yyerrok; |
8240 } |
8388 } |
8241 | IF expression error statement_list elseif_statement_list END_IF |
8389 | IF expression error statement_list elseif_statement_list END_IF |
8242 {$$ = NULL; |
8390 {$$ = NULL; |
8243 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'THEN' after test expression in ST 'IF' statement."); |
8391 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'THEN' after test expression in ST 'IF' statement."); |
8244 yyerrok; |
8392 yyerrok; |
8245 } |
8393 } |
8246 | IF expression error statement_list elseif_statement_list ELSE statement_list END_IF |
8394 | IF expression error statement_list elseif_statement_list ELSE statement_list END_IF |
8247 {$$ = NULL; |
8395 {$$ = NULL; |
8248 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'THEN' after test expression in ST 'IF' statement."); |
8396 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'THEN' after test expression in ST 'IF' statement."); |
8249 yyerrok; |
8397 yyerrok; |
8250 } |
8398 } |
8251 | IF expression THEN elseif_statement_list END_IF |
8399 | IF expression THEN elseif_statement_list END_IF |
8252 {$$ = NULL; |
8400 {$$ = NULL; |
8253 yynerrs++; |
8401 yynerrs++; |
8254 print_err_msg(current_filename, locf(@3), locl(@4), "no statement defined after 'THEN' in ST 'IF' statement."); |
8402 print_err_msg(current_filename, locl(@3), locf(@4), "no statement defined after 'THEN' in ST 'IF' statement."); |
8255 } |
8403 } |
8256 | IF expression THEN elseif_statement_list ELSE statement_list END_IF |
8404 | IF expression THEN elseif_statement_list ELSE statement_list END_IF |
8257 {$$ = NULL; |
8405 {$$ = NULL; |
8258 yynerrs++; |
8406 yynerrs++; |
8259 print_err_msg(current_filename, locf(@3), locl(@4), "no statement defined after 'THEN' in ST 'IF' statement."); |
8407 print_err_msg(current_filename, locl(@3), locf(@4), "no statement defined after 'THEN' in ST 'IF' statement."); |
8260 } |
8408 } |
8261 | IF expression THEN statement_list elseif_statement_list ELSE END_IF |
8409 | IF expression THEN statement_list elseif_statement_list ELSE END_IF |
8262 {$$ = NULL; |
8410 {$$ = NULL; |
8263 yynerrs++; |
8411 yynerrs++; |
8264 print_err_msg(current_filename, locf(@6), locl(@7), "no statement defined after 'ELSE' in ST 'IF' statement."); |
8412 print_err_msg(current_filename, locl(@6), locf(@7), "no statement defined after 'ELSE' in ST 'IF' statement."); |
8265 } |
8413 } |
8266 | IF expression THEN statement_list elseif_statement_list ELSE error END_IF |
8414 | IF expression THEN statement_list elseif_statement_list ELSE error END_IF |
8267 {$$ = NULL; |
8415 {$$ = NULL; |
8268 print_err_msg(current_filename, locf(@6), locl(@8), "invalid statement defined after 'ELSE' in ST 'IF' statement."); |
8416 print_err_msg(current_filename, locf(@7), locl(@7), "invalid statement defined after 'ELSE' in ST 'IF' statement."); |
8269 yyerrok; |
8417 yyerrok; |
8270 } |
8418 } |
8271 | IF error END_IF |
8419 | IF error END_IF |
8272 {$$ = NULL; |
8420 {$$ = NULL; |
8273 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in ST 'IF' statement."); |
8421 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in ST 'IF' statement."); |
8274 yyerrok; |
8422 yyerrok; |
8275 } |
8423 } |
8276 /* ERROR_CHECK_END */ |
8424 /* ERROR_CHECK_END */ |
8277 ; |
8425 ; |
8278 |
8426 |
8290 {$$ = new elseif_statement_c($2, $4, locloc(@$));} |
8438 {$$ = new elseif_statement_c($2, $4, locloc(@$));} |
8291 /* ERROR_CHECK_BEGIN */ |
8439 /* ERROR_CHECK_BEGIN */ |
8292 | ELSIF THEN statement_list |
8440 | ELSIF THEN statement_list |
8293 {$$ = NULL; |
8441 {$$ = NULL; |
8294 yynerrs++; |
8442 yynerrs++; |
8295 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined for 'ELSEIF' statement in ST 'IF' statement."); |
8443 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined for 'ELSEIF' statement in ST 'IF' statement."); |
8296 } |
8444 } |
8297 | ELSIF error THEN statement_list |
8445 | ELSIF error THEN statement_list |
8298 {$$ = NULL; |
8446 {$$ = NULL; |
8299 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for 'ELSEIF' statement in ST 'IF' statement."); |
8447 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for 'ELSEIF' statement in ST 'IF' statement."); |
8300 yyerrok; |
8448 yyerrok; |
8301 } |
8449 } |
8302 | ELSIF expression error statement_list |
8450 | ELSIF expression error statement_list |
8303 {$$ = NULL; |
8451 {$$ = NULL; |
8304 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'THEN' after test expression in 'ELSEIF' statement of ST 'IF' statement."); |
8452 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'THEN' after test expression in 'ELSEIF' statement of ST 'IF' statement."); |
8305 yyerrok; |
8453 yyerrok; |
8306 } |
8454 } |
8307 | ELSIF expression THEN error |
8455 | ELSIF expression THEN error |
8308 {$$ = NULL; |
8456 {$$ = NULL; |
8309 print_err_msg(current_filename, locf(@3), locl(@3), "invalid statement list in 'ELSEIF' statement of ST 'IF' statement."); |
8457 print_err_msg(current_filename, locf(@4), locl(@4), "invalid statement list in 'ELSEIF' statement of ST 'IF' statement."); |
8310 yyerrok; |
8458 yyerrok; |
8311 } |
8459 } |
8312 /* ERROR_CHECK_END */ |
8460 /* ERROR_CHECK_END */ |
8313 ; |
8461 ; |
8314 |
8462 |
8320 {$$ = new case_statement_c($2, $4, $6, locloc(@$));} |
8468 {$$ = new case_statement_c($2, $4, $6, locloc(@$));} |
8321 /* ERROR_CHECK_BEGIN */ |
8469 /* ERROR_CHECK_BEGIN */ |
8322 | CASE OF case_element_list END_CASE |
8470 | CASE OF case_element_list END_CASE |
8323 {$$ = NULL; |
8471 {$$ = NULL; |
8324 yynerrs++; |
8472 yynerrs++; |
8325 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined in ST 'CASE' statement."); |
8473 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined in ST 'CASE' statement."); |
8326 } |
8474 } |
8327 | CASE OF case_element_list ELSE statement_list END_CASE |
8475 | CASE OF case_element_list ELSE statement_list END_CASE |
8328 {$$ = NULL; |
8476 {$$ = NULL; |
8329 yynerrs++; |
8477 yynerrs++; |
8330 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined in ST 'CASE' statement."); |
8478 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined in ST 'CASE' statement."); |
8331 } |
8479 } |
8332 | CASE error OF case_element_list END_CASE |
8480 | CASE error OF case_element_list END_CASE |
8333 {$$ = NULL; |
8481 {$$ = NULL; |
8334 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for ST 'CASE' statement."); |
8482 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for ST 'CASE' statement."); |
8335 yyerrok; |
8483 yyerrok; |
8336 } |
8484 } |
8337 | CASE error OF case_element_list ELSE statement_list END_CASE |
8485 | CASE error OF case_element_list ELSE statement_list END_CASE |
8338 {$$ = NULL; |
8486 {$$ = NULL; |
8339 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for ST 'CASE' statement."); |
8487 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for ST 'CASE' statement."); |
8340 yyerrok; |
8488 yyerrok; |
8341 } |
8489 } |
8342 | CASE expression error case_element_list END_CASE |
8490 | CASE expression error case_element_list END_CASE |
8343 {$$ = NULL; |
8491 {$$ = NULL; |
8344 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'OF' after test expression in ST 'CASE' statement."); |
8492 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'OF' after test expression in ST 'CASE' statement."); |
8345 yyerrok; |
8493 yyerrok; |
8346 } |
8494 } |
8347 | CASE expression error case_element_list ELSE statement_list END_CASE |
8495 | CASE expression error case_element_list ELSE statement_list END_CASE |
8348 {$$ = NULL; |
8496 {$$ = NULL; |
8349 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'OF' after test expression in ST 'CASE' statement."); |
8497 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'OF' after test expression in ST 'CASE' statement."); |
8350 yyerrok; |
8498 yyerrok; |
8351 } |
8499 } |
8352 | CASE expression OF END_CASE |
8500 | CASE expression OF END_CASE |
8353 {$$ = NULL; |
8501 {$$ = NULL; |
8354 yynerrs++; |
8502 yynerrs++; |
8355 print_err_msg(current_filename, locf(@3), locl(@4), "no case element(s) defined after 'OF' in ST 'CASE' statement."); |
8503 print_err_msg(current_filename, locl(@3), locf(@4), "no case element(s) defined after 'OF' in ST 'CASE' statement."); |
8356 } |
8504 } |
8357 | CASE expression OF ELSE statement_list END_CASE |
8505 | CASE expression OF ELSE statement_list END_CASE |
8358 {$$ = NULL; |
8506 {$$ = NULL; |
8359 yynerrs++; |
8507 yynerrs++; |
8360 print_err_msg(current_filename, locf(@3), locl(@4), "no case element(s) defined after 'OF' in ST 'CASE' statement."); |
8508 print_err_msg(current_filename, locl(@3), locf(@4), "no case element(s) defined after 'OF' in ST 'CASE' statement."); |
8361 } |
8509 } |
8362 | CASE expression OF error END_CASE |
8510 | CASE expression OF error END_CASE |
8363 {$$ = NULL; |
8511 {$$ = NULL; |
8364 print_err_msg(current_filename, locf(@3), locl(@5), "invalid case element(s) defined after 'OF' in ST 'CASE' statement."); |
8512 print_err_msg(current_filename, locf(@4), locl(@4), "invalid case element(s) defined after 'OF' in ST 'CASE' statement."); |
8365 yyerrok; |
8513 yyerrok; |
8366 } |
8514 } |
8367 | CASE expression OF error ELSE statement_list END_CASE |
8515 | CASE expression OF error ELSE statement_list END_CASE |
8368 {$$ = NULL; |
8516 {$$ = NULL; |
8369 print_err_msg(current_filename, locf(@3), locl(@5), "invalid case element(s) defined after 'OF' in ST 'CASE' statement."); |
8517 print_err_msg(current_filename, locf(@4), locl(@4), "invalid case element(s) defined after 'OF' in ST 'CASE' statement."); |
8370 yyerrok; |
8518 yyerrok; |
8371 } |
8519 } |
8372 | CASE expression OF case_element_list ELSE END_CASE |
8520 | CASE expression OF case_element_list ELSE END_CASE |
8373 {$$ = NULL; |
8521 {$$ = NULL; |
8374 yynerrs++; |
8522 yynerrs++; |
8375 print_err_msg(current_filename, locf(@5), locl(@6), "no statement defined after 'ELSE' in ST 'CASE' statement."); |
8523 print_err_msg(current_filename, locl(@5), locf(@6), "no statement defined after 'ELSE' in ST 'CASE' statement."); |
8376 } |
8524 } |
8377 | CASE expression OF case_element_list ELSE error END_CASE |
8525 | CASE expression OF case_element_list ELSE error END_CASE |
8378 {$$ = NULL; |
8526 {$$ = NULL; |
8379 print_err_msg(current_filename, locf(@5), locl(@7), "invalid statement defined after 'ELSE' in ST 'CASE' statement."); |
8527 print_err_msg(current_filename, locf(@6), locl(@6), "invalid statement defined after 'ELSE' in ST 'CASE' statement."); |
8380 yyerrok; |
8528 yyerrok; |
8381 } |
8529 } |
8382 | CASE error END_CASE |
8530 | CASE error END_CASE |
8383 {$$ = NULL; |
8531 {$$ = NULL; |
8384 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in ST 'CASE' statement."); |
8532 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in ST 'CASE' statement."); |
8385 yyerrok; |
8533 yyerrok; |
8386 } |
8534 } |
8387 /* ERROR_CHECK_END */ |
8535 /* ERROR_CHECK_END */ |
8388 ; |
8536 ; |
8389 |
8537 |
8458 {$$ = new for_statement_c($2, $4, $6, NULL, $8, locloc(@$));} |
8606 {$$ = new for_statement_c($2, $4, $6, NULL, $8, locloc(@$));} |
8459 /* ERROR_CHECK_BEGIN */ |
8607 /* ERROR_CHECK_BEGIN */ |
8460 | FOR ASSIGN expression TO expression BY expression DO statement_list END_FOR |
8608 | FOR ASSIGN expression TO expression BY expression DO statement_list END_FOR |
8461 {$$ = NULL; |
8609 {$$ = NULL; |
8462 yynerrs++; |
8610 yynerrs++; |
8463 print_err_msg(current_filename, locf(@1), locl(@2), "no control variable defined in ST 'FOR' statement."); |
8611 print_err_msg(current_filename, locl(@1), locf(@2), "no control variable defined in ST 'FOR' statement."); |
8464 } |
8612 } |
8465 | FOR ASSIGN expression TO expression DO statement_list END_FOR |
8613 | FOR ASSIGN expression TO expression DO statement_list END_FOR |
8466 {$$ = NULL; |
8614 {$$ = NULL; |
8467 yynerrs++; |
8615 yynerrs++; |
8468 print_err_msg(current_filename, locf(@1), locl(@2), "no control variable defined in ST 'FOR' statement."); |
8616 print_err_msg(current_filename, locl(@1), locf(@2), "no control variable defined in ST 'FOR' statement."); |
8469 } |
8617 } |
8470 | FOR error ASSIGN expression TO expression BY expression DO statement_list END_FOR |
8618 | FOR error ASSIGN expression TO expression BY expression DO statement_list END_FOR |
8471 {$$ = NULL; |
8619 {$$ = NULL; |
8472 print_err_msg(current_filename, locf(@1), locl(@3), "invalid control variable defined for ST 'FOR' statement."); |
8620 print_err_msg(current_filename, locf(@2), locl(@2), "invalid control variable defined for ST 'FOR' statement."); |
8473 yyerrok; |
8621 yyerrok; |
8474 } |
8622 } |
8475 | FOR error ASSIGN expression TO expression DO statement_list END_FOR |
8623 | FOR error ASSIGN expression TO expression DO statement_list END_FOR |
8476 {$$ = NULL; |
8624 {$$ = NULL; |
8477 print_err_msg(current_filename, locf(@1), locl(@3), "invalid control variable defined for ST 'FOR' statement."); |
8625 print_err_msg(current_filename, locf(@2), locl(@2), "invalid control variable defined for ST 'FOR' statement."); |
8478 yyerrok; |
8626 yyerrok; |
8479 } |
8627 } |
8480 | FOR control_variable expression TO expression BY expression DO statement_list END_FOR |
8628 | FOR control_variable expression TO expression BY expression DO statement_list END_FOR |
8481 {$$ = NULL; |
8629 {$$ = NULL; |
8482 yynerrs++; |
8630 yynerrs++; |
8483 print_err_msg(current_filename, locf(@2), locl(@3), "':=' missing between control variable and start expression in ST 'FOR' statement."); |
8631 print_err_msg(current_filename, locl(@2), locf(@3), "':=' missing between control variable and start expression in ST 'FOR' statement."); |
8484 } |
8632 } |
8485 | FOR control_variable expression TO expression DO statement_list END_FOR |
8633 | FOR control_variable expression TO expression DO statement_list END_FOR |
8486 {$$ = NULL; |
8634 {$$ = NULL; |
8487 yynerrs++; |
8635 yynerrs++; |
8488 print_err_msg(current_filename, locf(@2), locl(@3), "':=' missing between control variable and start expression in ST 'FOR' statement."); |
8636 print_err_msg(current_filename, locl(@2), locf(@3), "':=' missing between control variable and start expression in ST 'FOR' statement."); |
8489 } |
8637 } |
8490 | FOR control_variable error expression TO expression BY expression DO statement_list END_FOR |
8638 | FOR control_variable error expression TO expression BY expression DO statement_list END_FOR |
8491 {$$ = NULL; |
8639 {$$ = NULL; |
8492 print_err_msg(current_filename, locf(@2), locl(@4), "expecting ':=' between control variable and start expression in ST 'FOR' statement."); |
8640 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ':=' between control variable and start expression in ST 'FOR' statement."); |
8493 yyerrok; |
8641 yyerrok; |
8494 } |
8642 } |
8495 | FOR control_variable error expression TO expression DO statement_list END_FOR |
8643 | FOR control_variable error expression TO expression DO statement_list END_FOR |
8496 {$$ = NULL; |
8644 {$$ = NULL; |
8497 print_err_msg(current_filename, locf(@2), locl(@4), "expecting ':=' between control variable and start expression in ST 'FOR' statement."); |
8645 print_err_msg(current_filename, locf(@3), locl(@3), "expecting ':=' between control variable and start expression in ST 'FOR' statement."); |
8498 yyerrok; |
8646 yyerrok; |
8499 } |
8647 } |
8500 | FOR control_variable ASSIGN TO expression BY expression DO statement_list END_FOR |
8648 | FOR control_variable ASSIGN TO expression BY expression DO statement_list END_FOR |
8501 {$$ = NULL; |
8649 {$$ = NULL; |
8502 yynerrs++; |
8650 yynerrs++; |
8503 print_err_msg(current_filename, locf(@3), locl(@4), "no start expression defined in ST 'FOR' statement."); |
8651 print_err_msg(current_filename, locl(@3), locf(@4), "no start expression defined in ST 'FOR' statement."); |
8504 } |
8652 } |
8505 | FOR control_variable ASSIGN TO expression DO statement_list END_FOR |
8653 | FOR control_variable ASSIGN TO expression DO statement_list END_FOR |
8506 {$$ = NULL; |
8654 {$$ = NULL; |
8507 yynerrs++; |
8655 yynerrs++; |
8508 print_err_msg(current_filename, locf(@3), locl(@4), "no start expression defined in ST 'FOR' statement."); |
8656 print_err_msg(current_filename, locl(@3), locf(@4), "no start expression defined in ST 'FOR' statement."); |
8509 } |
8657 } |
8510 | FOR control_variable ASSIGN error TO expression BY expression DO statement_list END_FOR |
8658 | FOR control_variable ASSIGN error TO expression BY expression DO statement_list END_FOR |
8511 {$$ = NULL; |
8659 {$$ = NULL; |
8512 print_err_msg(current_filename, locf(@3), locl(@5), "invalid start expression defined in ST 'FOR' statement."); |
8660 print_err_msg(current_filename, locf(@4), locl(@4), "invalid start expression defined in ST 'FOR' statement."); |
8513 yyerrok; |
8661 yyerrok; |
8514 } |
8662 } |
8515 | FOR control_variable ASSIGN error TO expression DO statement_list END_FOR |
8663 | FOR control_variable ASSIGN error TO expression DO statement_list END_FOR |
8516 {$$ = NULL; |
8664 {$$ = NULL; |
8517 print_err_msg(current_filename, locf(@3), locl(@5), "invalid start expression in ST 'FOR' statement."); |
8665 print_err_msg(current_filename, locf(@4), locl(@4), "invalid start expression in ST 'FOR' statement."); |
8518 yyerrok; |
8666 yyerrok; |
8519 } |
8667 } |
8520 | FOR control_variable ASSIGN expression error expression BY expression DO statement_list END_FOR |
8668 | FOR control_variable ASSIGN expression error expression BY expression DO statement_list END_FOR |
8521 {$$ = NULL; |
8669 {$$ = NULL; |
8522 print_err_msg(current_filename, locf(@4), locl(@6), "expecting 'TO' between start expression and end expression in ST 'FOR' statement."); |
8670 print_err_msg(current_filename, locf(@5), locl(@5), "expecting 'TO' between start expression and end expression in ST 'FOR' statement."); |
8523 yyerrok; |
8671 yyerrok; |
8524 } |
8672 } |
8525 | FOR control_variable ASSIGN expression error expression DO statement_list END_FOR |
8673 | FOR control_variable ASSIGN expression error expression DO statement_list END_FOR |
8526 {$$ = NULL; |
8674 {$$ = NULL; |
8527 print_err_msg(current_filename, locf(@4), locl(@6), "expecting 'TO' between start expression and end expression in ST 'FOR' statement."); |
8675 print_err_msg(current_filename, locf(@5), locl(@5), "expecting 'TO' between start expression and end expression in ST 'FOR' statement."); |
8528 yyerrok; |
8676 yyerrok; |
8529 } |
8677 } |
8530 | FOR control_variable ASSIGN expression TO expression error expression DO statement_list END_FOR |
8678 | FOR control_variable ASSIGN expression TO expression error expression DO statement_list END_FOR |
8531 {$$ = NULL; |
8679 {$$ = NULL; |
8532 print_err_msg(current_filename, locf(@6), locl(@8), "expecting 'BY' between end expression and step expression in ST 'FOR' statement."); |
8680 print_err_msg(current_filename, locf(@7), locl(@7), "expecting 'BY' between end expression and step expression in ST 'FOR' statement."); |
8533 yyerrok; |
8681 yyerrok; |
8534 } |
8682 } |
8535 | FOR control_variable ASSIGN expression TO expression BY expression error statement_list END_FOR |
8683 | FOR control_variable ASSIGN expression TO expression BY expression error statement_list END_FOR |
8536 {$$ = NULL; |
8684 {$$ = NULL; |
8537 print_err_msg(current_filename, locf(@8), locl(@10), "expecting 'DO' after step expression in ST 'FOR' statement."); |
8685 print_err_msg(current_filename, locf(@9), locl(@9), "expecting 'DO' after step expression in ST 'FOR' statement."); |
8538 yyerrok; |
8686 yyerrok; |
8539 } |
8687 } |
8540 | FOR control_variable ASSIGN expression TO expression error statement_list END_FOR |
8688 | FOR control_variable ASSIGN expression TO expression error statement_list END_FOR |
8541 {$$ = NULL; |
8689 {$$ = NULL; |
8542 print_err_msg(current_filename, locf(@6), locl(@8), "expecting 'DO' after end expression in ST 'FOR' statement."); |
8690 print_err_msg(current_filename, locf(@7), locl(@7), "expecting 'DO' after end expression in ST 'FOR' statement."); |
8543 yyerrok; |
8691 yyerrok; |
8544 } |
8692 } |
8545 | FOR control_variable ASSIGN expression TO expression BY expression DO END_FOR |
8693 | FOR control_variable ASSIGN expression TO expression BY expression DO END_FOR |
8546 {$$ = NULL; |
8694 {$$ = NULL; |
8547 print_err_msg(current_filename, locf(@9), locl(@10), "no statement(s) defined after 'DO' in ST 'FOR' statement."); |
8695 yynerrs++; |
8548 yyerrok; |
8696 print_err_msg(current_filename, locl(@9), locf(@10), "no statement(s) defined after 'DO' in ST 'FOR' statement."); |
8549 } |
8697 } |
8550 | FOR control_variable ASSIGN expression TO expression DO END_FOR |
8698 | FOR control_variable ASSIGN expression TO expression DO END_FOR |
8551 {$$ = NULL; |
8699 {$$ = NULL; |
8552 print_err_msg(current_filename, locf(@7), locl(@8), "no statement(s) defined after 'DO' in ST 'FOR' statement."); |
8700 yynerrs++; |
8553 yyerrok; |
8701 print_err_msg(current_filename, locl(@7), locf(@8), "no statement(s) defined after 'DO' in ST 'FOR' statement."); |
8554 } |
8702 } |
8555 | FOR control_variable ASSIGN expression TO expression BY expression DO error END_FOR |
8703 | FOR control_variable ASSIGN expression TO expression BY expression DO error END_FOR |
8556 {$$ = NULL; |
8704 {$$ = NULL; |
8557 print_err_msg(current_filename, locf(@9), locl(@11), "invalid statement(s) defined after 'DO' in ST 'FOR' statement."); |
8705 print_err_msg(current_filename, locf(@10), locl(@10), "invalid statement(s) defined after 'DO' in ST 'FOR' statement."); |
8558 yyerrok; |
8706 yyerrok; |
8559 } |
8707 } |
8560 | FOR control_variable ASSIGN expression TO expression DO error END_FOR |
8708 | FOR control_variable ASSIGN expression TO expression DO error END_FOR |
8561 {$$ = NULL; |
8709 {$$ = NULL; |
8562 print_err_msg(current_filename, locf(@7), locl(@9), "invalid statement(s) defined after 'DO' in ST 'FOR' statement."); |
8710 print_err_msg(current_filename, locf(@8), locl(@8), "invalid statement(s) defined after 'DO' in ST 'FOR' statement."); |
|
8711 yyerrok; |
|
8712 } |
|
8713 | FOR error END_FOR |
|
8714 {$$ = NULL; |
|
8715 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in ST 'FOR' statement."); |
8563 yyerrok; |
8716 yyerrok; |
8564 } |
8717 } |
8565 /* ERROR_CHECK_END */ |
8718 /* ERROR_CHECK_END */ |
8566 ; |
8719 ; |
8567 |
8720 |
8595 {$$ = new while_statement_c($2, $4, locloc(@$));} |
8748 {$$ = new while_statement_c($2, $4, locloc(@$));} |
8596 /* ERROR_CHECK_BEGIN */ |
8749 /* ERROR_CHECK_BEGIN */ |
8597 | WHILE DO statement_list END_WHILE |
8750 | WHILE DO statement_list END_WHILE |
8598 {$$ = NULL; |
8751 {$$ = NULL; |
8599 yynerrs++; |
8752 yynerrs++; |
8600 print_err_msg(current_filename, locf(@1), locl(@2), "no test expression defined in ST 'WHILE' statement."); |
8753 print_err_msg(current_filename, locl(@1), locf(@2), "no test expression defined in ST 'WHILE' statement."); |
8601 } |
8754 } |
8602 | WHILE error DO statement_list END_WHILE |
8755 | WHILE error DO statement_list END_WHILE |
8603 {$$ = NULL; |
8756 {$$ = NULL; |
8604 print_err_msg(current_filename, locf(@1), locl(@3), "invalid test expression defined for ST 'WHILE' statement."); |
8757 print_err_msg(current_filename, locf(@2), locl(@2), "invalid test expression defined for ST 'WHILE' statement."); |
8605 yyerrok; |
8758 yyerrok; |
8606 } |
8759 } |
8607 | WHILE expression error statement_list END_WHILE |
8760 | WHILE expression error statement_list END_WHILE |
8608 {$$ = NULL; |
8761 {$$ = NULL; |
8609 print_err_msg(current_filename, locf(@2), locl(@4), "expecting 'DO' after test expression in ST 'WHILE' statement."); |
8762 print_err_msg(current_filename, locf(@3), locl(@3), "expecting 'DO' after test expression in ST 'WHILE' statement."); |
8610 yyerrok; |
8763 yyerrok; |
8611 } |
8764 } |
8612 | WHILE expression DO END_WHILE |
8765 | WHILE expression DO END_WHILE |
8613 {$$ = NULL; |
8766 {$$ = NULL; |
8614 yynerrs++; |
8767 yynerrs++; |
8615 print_err_msg(current_filename, locf(@3), locl(@4), "no statement(s) defined after 'DO' in ST 'WHILE' statement."); |
8768 print_err_msg(current_filename, locl(@3), locf(@4), "no statement(s) defined after 'DO' in ST 'WHILE' statement."); |
8616 } |
8769 } |
8617 | WHILE expression DO error END_WHILE |
8770 | WHILE expression DO error END_WHILE |
8618 {$$ = NULL; |
8771 {$$ = NULL; |
8619 print_err_msg(current_filename, locf(@3), locl(@5), "invalid statement(s) defined after 'DO' in ST 'WHILE' statement."); |
8772 print_err_msg(current_filename, locf(@4), locl(@4), "invalid statement(s) defined after 'DO' in ST 'WHILE' statement."); |
8620 yyerrok; |
8773 yyerrok; |
8621 } |
8774 } |
8622 | WHILE error END_WHILE |
8775 | WHILE error END_WHILE |
8623 {$$ = NULL; |
8776 {$$ = NULL; |
8624 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in ST 'WHILE' statement."); |
8777 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in ST 'WHILE' statement."); |
8625 yyerrok; |
8778 yyerrok; |
8626 } |
8779 } |
8627 /* ERROR_CHECK_END */ |
8780 /* ERROR_CHECK_END */ |
8628 ; |
8781 ; |
8629 |
8782 |
8633 {$$ = new repeat_statement_c($2, $4, locloc(@$));} |
8786 {$$ = new repeat_statement_c($2, $4, locloc(@$));} |
8634 /* ERROR_CHECK_BEGIN */ |
8787 /* ERROR_CHECK_BEGIN */ |
8635 | REPEAT UNTIL expression END_REPEAT |
8788 | REPEAT UNTIL expression END_REPEAT |
8636 {$$ = NULL; |
8789 {$$ = NULL; |
8637 yynerrs++; |
8790 yynerrs++; |
8638 print_err_msg(current_filename, locf(@1), locl(@2), "no statement(s) defined after 'REPEAT' in ST 'REPEAT' statement."); |
8791 print_err_msg(current_filename, locl(@1), locf(@2), "no statement(s) defined after 'REPEAT' in ST 'REPEAT' statement."); |
8639 } |
8792 } |
8640 | REPEAT error UNTIL expression END_REPEAT |
8793 | REPEAT error UNTIL expression END_REPEAT |
8641 {$$ = NULL; |
8794 {$$ = NULL; |
8642 print_err_msg(current_filename, locf(@1), locl(@3), "invalid statement(s) defined after 'REPEAT' for ST 'REPEAT' statement."); |
8795 print_err_msg(current_filename, locf(@2), locl(@2), "invalid statement(s) defined after 'REPEAT' for ST 'REPEAT' statement."); |
8643 yyerrok; |
8796 yyerrok; |
8644 } |
8797 } |
8645 | REPEAT statement_list UNTIL END_REPEAT |
8798 | REPEAT statement_list UNTIL END_REPEAT |
8646 {$$ = NULL; |
8799 {$$ = NULL; |
8647 yynerrs++; |
8800 yynerrs++; |
8648 print_err_msg(current_filename, locf(@3), locl(@4), "no test expression defined after 'UNTIL' in ST 'REPEAT' statement."); |
8801 print_err_msg(current_filename, locl(@3), locf(@4), "no test expression defined after 'UNTIL' in ST 'REPEAT' statement."); |
8649 } |
8802 } |
8650 | REPEAT statement_list UNTIL error END_REPEAT |
8803 | REPEAT statement_list UNTIL error END_REPEAT |
8651 {$$ = NULL; |
8804 {$$ = NULL; |
8652 print_err_msg(current_filename, locf(@3), locl(@5), "invalid test expression defined after 'UNTIL' in ST 'REPEAT' statement."); |
8805 print_err_msg(current_filename, locf(@4), locl(@4), "invalid test expression defined after 'UNTIL' in ST 'REPEAT' statement."); |
8653 yyerrok; |
8806 yyerrok; |
8654 } |
8807 } |
8655 | REPEAT error END_REPEAT |
8808 | REPEAT error END_REPEAT |
8656 {$$ = NULL; |
8809 {$$ = NULL; |
8657 print_err_msg(current_filename, locf(@1), locl(@3), "unknown error in ST 'REPEAT' statement."); |
8810 print_err_msg(current_filename, locf(@2), locl(@2), "unknown error in ST 'REPEAT' statement."); |
8658 yyerrok; |
8811 yyerrok; |
8659 } |
8812 } |
8660 /* ERROR_CHECK_END */ |
8813 /* ERROR_CHECK_END */ |
8661 ; |
8814 ; |
8662 |
8815 |