Changeset a1e67dd for src/Parser
- Timestamp:
- Oct 26, 2016, 11:03:01 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 77971f6
- Parents:
- f0121d7 (diff), fe7b281 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src/Parser
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/Parser/lex.cc ¶
rf0121d7 ra1e67dd 1469 1469 * Created On : Sat Sep 22 08:58:10 2001 1470 1470 * Last Modified By : Peter A. Buhr 1471 * Last Modified On : Wed Aug 24 13:27:0420161472 * Update Count : 48 71471 * Last Modified On : Tue Oct 18 22:19:37 2016 1472 * Update Count : 488 1473 1473 */ 1474 1474 #line 20 "lex.ll" … … 1517 1517 1518 1518 // identifier, GCC: $ in identifier 1519 // quoted identifier1520 1519 // attribute identifier, GCC: $ in identifier 1521 1520 // numeric constants, CFA: '_' in constant … … 1532 1531 1533 1532 1534 #line 153 5"Parser/lex.cc"1533 #line 1534 "Parser/lex.cc" 1535 1534 1536 1535 #define INITIAL 0 … … 1724 1723 register int yy_act; 1725 1724 1726 #line 13 9"lex.ll"1725 #line 136 "lex.ll" 1727 1726 1728 1727 /* line directives */ 1729 #line 17 30"Parser/lex.cc"1728 #line 1729 "Parser/lex.cc" 1730 1729 1731 1730 if ( !(yy_init) ) … … 1824 1823 /* rule 1 can match eol */ 1825 1824 YY_RULE_SETUP 1826 #line 1 41"lex.ll"1825 #line 138 "lex.ll" 1827 1826 { 1828 1827 /* " stop highlighting */ … … 1850 1849 /* rule 2 can match eol */ 1851 1850 YY_RULE_SETUP 1852 #line 16 3"lex.ll"1851 #line 160 "lex.ll" 1853 1852 ; 1854 1853 YY_BREAK … … 1856 1855 case 3: 1857 1856 YY_RULE_SETUP 1858 #line 16 6"lex.ll"1857 #line 163 "lex.ll" 1859 1858 { BEGIN COMMENT; } 1860 1859 YY_BREAK … … 1862 1861 /* rule 4 can match eol */ 1863 1862 YY_RULE_SETUP 1864 #line 16 7"lex.ll"1863 #line 164 "lex.ll" 1865 1864 ; 1866 1865 YY_BREAK 1867 1866 case 5: 1868 1867 YY_RULE_SETUP 1869 #line 16 8"lex.ll"1868 #line 165 "lex.ll" 1870 1869 { BEGIN 0; } 1871 1870 YY_BREAK … … 1874 1873 /* rule 6 can match eol */ 1875 1874 YY_RULE_SETUP 1876 #line 1 71"lex.ll"1875 #line 168 "lex.ll" 1877 1876 ; 1878 1877 YY_BREAK … … 1880 1879 case 7: 1881 1880 YY_RULE_SETUP 1882 #line 17 4"lex.ll"1881 #line 171 "lex.ll" 1883 1882 { WHITE_RETURN(' '); } 1884 1883 YY_BREAK 1885 1884 case 8: 1886 1885 YY_RULE_SETUP 1887 #line 17 5"lex.ll"1886 #line 172 "lex.ll" 1888 1887 { WHITE_RETURN(' '); } 1889 1888 YY_BREAK … … 1891 1890 /* rule 9 can match eol */ 1892 1891 YY_RULE_SETUP 1893 #line 17 6"lex.ll"1892 #line 173 "lex.ll" 1894 1893 { NEWLINE_RETURN(); } 1895 1894 YY_BREAK … … 1897 1896 case 10: 1898 1897 YY_RULE_SETUP 1898 #line 176 "lex.ll" 1899 { KEYWORD_RETURN(ALIGNAS); } // C11 1900 YY_BREAK 1901 case 11: 1902 YY_RULE_SETUP 1903 #line 177 "lex.ll" 1904 { KEYWORD_RETURN(ALIGNOF); } // C11 1905 YY_BREAK 1906 case 12: 1907 YY_RULE_SETUP 1908 #line 178 "lex.ll" 1909 { KEYWORD_RETURN(ALIGNOF); } // GCC 1910 YY_BREAK 1911 case 13: 1912 YY_RULE_SETUP 1899 1913 #line 179 "lex.ll" 1900 { KEYWORD_RETURN(ALIGN AS); } // C111901 YY_BREAK 1902 case 1 1:1914 { KEYWORD_RETURN(ALIGNOF); } // GCC 1915 YY_BREAK 1916 case 14: 1903 1917 YY_RULE_SETUP 1904 1918 #line 180 "lex.ll" 1905 { KEYWORD_RETURN(A LIGNOF); } // C111906 YY_BREAK 1907 case 1 2:1919 { KEYWORD_RETURN(ASM); } 1920 YY_BREAK 1921 case 15: 1908 1922 YY_RULE_SETUP 1909 1923 #line 181 "lex.ll" 1910 { KEYWORD_RETURN(A LIGNOF); }// GCC1911 YY_BREAK 1912 case 1 3:1924 { KEYWORD_RETURN(ASM); } // GCC 1925 YY_BREAK 1926 case 16: 1913 1927 YY_RULE_SETUP 1914 1928 #line 182 "lex.ll" 1915 { KEYWORD_RETURN(A LIGNOF); }// GCC1916 YY_BREAK 1917 case 1 4:1929 { KEYWORD_RETURN(ASM); } // GCC 1930 YY_BREAK 1931 case 17: 1918 1932 YY_RULE_SETUP 1919 1933 #line 183 "lex.ll" 1920 { KEYWORD_RETURN(A SM); }1921 YY_BREAK 1922 case 1 5:1934 { KEYWORD_RETURN(AT); } // CFA 1935 YY_BREAK 1936 case 18: 1923 1937 YY_RULE_SETUP 1924 1938 #line 184 "lex.ll" 1925 { KEYWORD_RETURN(A SM); } // GCC1926 YY_BREAK 1927 case 1 6:1939 { KEYWORD_RETURN(ATOMIC); } // C11 1940 YY_BREAK 1941 case 19: 1928 1942 YY_RULE_SETUP 1929 1943 #line 185 "lex.ll" 1930 { KEYWORD_RETURN(A SM); }// GCC1931 YY_BREAK 1932 case 17:1944 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1945 YY_BREAK 1946 case 20: 1933 1947 YY_RULE_SETUP 1934 1948 #line 186 "lex.ll" 1935 { KEYWORD_RETURN(AT ); } // CFA1936 YY_BREAK 1937 case 18:1949 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1950 YY_BREAK 1951 case 21: 1938 1952 YY_RULE_SETUP 1939 1953 #line 187 "lex.ll" 1940 { KEYWORD_RETURN(A TOMIC); } // C111941 YY_BREAK 1942 case 19:1954 { KEYWORD_RETURN(AUTO); } 1955 YY_BREAK 1956 case 22: 1943 1957 YY_RULE_SETUP 1944 1958 #line 188 "lex.ll" 1945 { KEYWORD_RETURN( ATTRIBUTE); } // GCC1946 YY_BREAK 1947 case 2 0:1959 { KEYWORD_RETURN(BOOL); } // C99 1960 YY_BREAK 1961 case 23: 1948 1962 YY_RULE_SETUP 1949 1963 #line 189 "lex.ll" 1950 { KEYWORD_RETURN( ATTRIBUTE); } // GCC1951 YY_BREAK 1952 case 2 1:1964 { KEYWORD_RETURN(BREAK); } 1965 YY_BREAK 1966 case 24: 1953 1967 YY_RULE_SETUP 1954 1968 #line 190 "lex.ll" 1955 { KEYWORD_RETURN( AUTO); }1956 YY_BREAK 1957 case 2 2:1969 { KEYWORD_RETURN(CASE); } 1970 YY_BREAK 1971 case 25: 1958 1972 YY_RULE_SETUP 1959 1973 #line 191 "lex.ll" 1960 { KEYWORD_RETURN( BOOL); } // C991961 YY_BREAK 1962 case 2 3:1974 { KEYWORD_RETURN(CATCH); } // CFA 1975 YY_BREAK 1976 case 26: 1963 1977 YY_RULE_SETUP 1964 1978 #line 192 "lex.ll" 1965 { KEYWORD_RETURN( BREAK); }1966 YY_BREAK 1967 case 2 4:1979 { KEYWORD_RETURN(CATCHRESUME); } // CFA 1980 YY_BREAK 1981 case 27: 1968 1982 YY_RULE_SETUP 1969 1983 #line 193 "lex.ll" 1970 { KEYWORD_RETURN(C ASE); }1971 YY_BREAK 1972 case 2 5:1984 { KEYWORD_RETURN(CHAR); } 1985 YY_BREAK 1986 case 28: 1973 1987 YY_RULE_SETUP 1974 1988 #line 194 "lex.ll" 1975 { KEYWORD_RETURN(C ATCH); } // CFA1976 YY_BREAK 1977 case 2 6:1989 { KEYWORD_RETURN(CHOOSE); } // CFA 1990 YY_BREAK 1991 case 29: 1978 1992 YY_RULE_SETUP 1979 1993 #line 195 "lex.ll" 1980 { KEYWORD_RETURN(C ATCHRESUME); } // CFA1981 YY_BREAK 1982 case 27:1994 { KEYWORD_RETURN(COMPLEX); } // C99 1995 YY_BREAK 1996 case 30: 1983 1997 YY_RULE_SETUP 1984 1998 #line 196 "lex.ll" 1985 { KEYWORD_RETURN(C HAR); }1986 YY_BREAK 1987 case 28:1999 { KEYWORD_RETURN(COMPLEX); } // GCC 2000 YY_BREAK 2001 case 31: 1988 2002 YY_RULE_SETUP 1989 2003 #line 197 "lex.ll" 1990 { KEYWORD_RETURN(C HOOSE); } // CFA1991 YY_BREAK 1992 case 29:2004 { KEYWORD_RETURN(COMPLEX); } // GCC 2005 YY_BREAK 2006 case 32: 1993 2007 YY_RULE_SETUP 1994 2008 #line 198 "lex.ll" 1995 { KEYWORD_RETURN(CO MPLEX); } // C991996 YY_BREAK 1997 case 3 0:2009 { KEYWORD_RETURN(CONST); } 2010 YY_BREAK 2011 case 33: 1998 2012 YY_RULE_SETUP 1999 2013 #line 199 "lex.ll" 2000 { KEYWORD_RETURN(CO MPLEX); }// GCC2001 YY_BREAK 2002 case 3 1:2014 { KEYWORD_RETURN(CONST); } // GCC 2015 YY_BREAK 2016 case 34: 2003 2017 YY_RULE_SETUP 2004 2018 #line 200 "lex.ll" 2005 { KEYWORD_RETURN(CO MPLEX); }// GCC2006 YY_BREAK 2007 case 3 2:2019 { KEYWORD_RETURN(CONST); } // GCC 2020 YY_BREAK 2021 case 35: 2008 2022 YY_RULE_SETUP 2009 2023 #line 201 "lex.ll" 2010 { KEYWORD_RETURN(CON ST); }2011 YY_BREAK 2012 case 3 3:2024 { KEYWORD_RETURN(CONTINUE); } 2025 YY_BREAK 2026 case 36: 2013 2027 YY_RULE_SETUP 2014 2028 #line 202 "lex.ll" 2015 { KEYWORD_RETURN( CONST); } // GCC2016 YY_BREAK 2017 case 3 4:2029 { KEYWORD_RETURN(DEFAULT); } 2030 YY_BREAK 2031 case 37: 2018 2032 YY_RULE_SETUP 2019 2033 #line 203 "lex.ll" 2020 { KEYWORD_RETURN( CONST); } // GCC2021 YY_BREAK 2022 case 3 5:2034 { KEYWORD_RETURN(DISABLE); } // CFA 2035 YY_BREAK 2036 case 38: 2023 2037 YY_RULE_SETUP 2024 2038 #line 204 "lex.ll" 2025 { KEYWORD_RETURN( CONTINUE); }2026 YY_BREAK 2027 case 3 6:2039 { KEYWORD_RETURN(DO); } 2040 YY_BREAK 2041 case 39: 2028 2042 YY_RULE_SETUP 2029 2043 #line 205 "lex.ll" 2030 { KEYWORD_RETURN(D EFAULT); }2031 YY_BREAK 2032 case 37:2044 { KEYWORD_RETURN(DOUBLE); } 2045 YY_BREAK 2046 case 40: 2033 2047 YY_RULE_SETUP 2034 2048 #line 206 "lex.ll" 2035 { KEYWORD_RETURN(D ISABLE); }// CFA2036 YY_BREAK 2037 case 38:2049 { KEYWORD_RETURN(DTYPE); } // CFA 2050 YY_BREAK 2051 case 41: 2038 2052 YY_RULE_SETUP 2039 2053 #line 207 "lex.ll" 2040 { KEYWORD_RETURN( DO); }2041 YY_BREAK 2042 case 39:2054 { KEYWORD_RETURN(ELSE); } 2055 YY_BREAK 2056 case 42: 2043 2057 YY_RULE_SETUP 2044 2058 #line 208 "lex.ll" 2045 { KEYWORD_RETURN( DOUBLE); }2046 YY_BREAK 2047 case 4 0:2059 { KEYWORD_RETURN(ENABLE); } // CFA 2060 YY_BREAK 2061 case 43: 2048 2062 YY_RULE_SETUP 2049 2063 #line 209 "lex.ll" 2050 { KEYWORD_RETURN( DTYPE); } // CFA2051 YY_BREAK 2052 case 4 1:2064 { KEYWORD_RETURN(ENUM); } 2065 YY_BREAK 2066 case 44: 2053 2067 YY_RULE_SETUP 2054 2068 #line 210 "lex.ll" 2055 { KEYWORD_RETURN(E LSE); }2056 YY_BREAK 2057 case 4 2:2069 { KEYWORD_RETURN(EXTENSION); } // GCC 2070 YY_BREAK 2071 case 45: 2058 2072 YY_RULE_SETUP 2059 2073 #line 211 "lex.ll" 2060 { KEYWORD_RETURN(E NABLE); } // CFA2061 YY_BREAK 2062 case 4 3:2074 { KEYWORD_RETURN(EXTERN); } 2075 YY_BREAK 2076 case 46: 2063 2077 YY_RULE_SETUP 2064 2078 #line 212 "lex.ll" 2065 { KEYWORD_RETURN( ENUM); }2066 YY_BREAK 2067 case 4 4:2079 { KEYWORD_RETURN(FALLTHRU); } // CFA 2080 YY_BREAK 2081 case 47: 2068 2082 YY_RULE_SETUP 2069 2083 #line 213 "lex.ll" 2070 { KEYWORD_RETURN( EXTENSION); } // GCC2071 YY_BREAK 2072 case 4 5:2084 { KEYWORD_RETURN(FALLTHRU); } // CFA 2085 YY_BREAK 2086 case 48: 2073 2087 YY_RULE_SETUP 2074 2088 #line 214 "lex.ll" 2075 { KEYWORD_RETURN( EXTERN); }2076 YY_BREAK 2077 case 4 6:2089 { KEYWORD_RETURN(FINALLY); } // CFA 2090 YY_BREAK 2091 case 49: 2078 2092 YY_RULE_SETUP 2079 2093 #line 215 "lex.ll" 2080 { KEYWORD_RETURN(F ALLTHRU); } // CFA2081 YY_BREAK 2082 case 47:2094 { KEYWORD_RETURN(FLOAT); } 2095 YY_BREAK 2096 case 50: 2083 2097 YY_RULE_SETUP 2084 2098 #line 216 "lex.ll" 2085 { KEYWORD_RETURN(F ALLTHRU); } // CFA2086 YY_BREAK 2087 case 48:2099 { KEYWORD_RETURN(FLOAT); } // GCC 2100 YY_BREAK 2101 case 51: 2088 2102 YY_RULE_SETUP 2089 2103 #line 217 "lex.ll" 2090 { KEYWORD_RETURN(F INALLY); } // CFA2091 YY_BREAK 2092 case 49:2104 { KEYWORD_RETURN(FOR); } 2105 YY_BREAK 2106 case 52: 2093 2107 YY_RULE_SETUP 2094 2108 #line 218 "lex.ll" 2095 { KEYWORD_RETURN(F LOAT); }2096 YY_BREAK 2097 case 5 0:2109 { KEYWORD_RETURN(FORALL); } // CFA 2110 YY_BREAK 2111 case 53: 2098 2112 YY_RULE_SETUP 2099 2113 #line 219 "lex.ll" 2100 { KEYWORD_RETURN(F LOAT); } // GCC2101 YY_BREAK 2102 case 5 1:2114 { KEYWORD_RETURN(FORTRAN); } 2115 YY_BREAK 2116 case 54: 2103 2117 YY_RULE_SETUP 2104 2118 #line 220 "lex.ll" 2105 { KEYWORD_RETURN(F OR); }2106 YY_BREAK 2107 case 5 2:2119 { KEYWORD_RETURN(FTYPE); } // CFA 2120 YY_BREAK 2121 case 55: 2108 2122 YY_RULE_SETUP 2109 2123 #line 221 "lex.ll" 2110 { KEYWORD_RETURN( FORALL); } // CFA2111 YY_BREAK 2112 case 5 3:2124 { KEYWORD_RETURN(GENERIC); } // C11 2125 YY_BREAK 2126 case 56: 2113 2127 YY_RULE_SETUP 2114 2128 #line 222 "lex.ll" 2115 { KEYWORD_RETURN( FORTRAN); }2116 YY_BREAK 2117 case 5 4:2129 { KEYWORD_RETURN(GOTO); } 2130 YY_BREAK 2131 case 57: 2118 2132 YY_RULE_SETUP 2119 2133 #line 223 "lex.ll" 2120 { KEYWORD_RETURN( FTYPE); } // CFA2121 YY_BREAK 2122 case 5 5:2134 { KEYWORD_RETURN(IF); } 2135 YY_BREAK 2136 case 58: 2123 2137 YY_RULE_SETUP 2124 2138 #line 224 "lex.ll" 2125 { KEYWORD_RETURN( GENERIC); } // C112126 YY_BREAK 2127 case 5 6:2139 { KEYWORD_RETURN(IMAGINARY); } // C99 2140 YY_BREAK 2141 case 59: 2128 2142 YY_RULE_SETUP 2129 2143 #line 225 "lex.ll" 2130 { KEYWORD_RETURN( GOTO); }2131 YY_BREAK 2132 case 57:2144 { KEYWORD_RETURN(IMAGINARY); } // GCC 2145 YY_BREAK 2146 case 60: 2133 2147 YY_RULE_SETUP 2134 2148 #line 226 "lex.ll" 2135 { KEYWORD_RETURN(I F); }2136 YY_BREAK 2137 case 58:2149 { KEYWORD_RETURN(IMAGINARY); } // GCC 2150 YY_BREAK 2151 case 61: 2138 2152 YY_RULE_SETUP 2139 2153 #line 227 "lex.ll" 2140 { KEYWORD_RETURN(I MAGINARY); }// C992141 YY_BREAK 2142 case 59:2154 { KEYWORD_RETURN(INLINE); } // C99 2155 YY_BREAK 2156 case 62: 2143 2157 YY_RULE_SETUP 2144 2158 #line 228 "lex.ll" 2145 { KEYWORD_RETURN(I MAGINARY); }// GCC2146 YY_BREAK 2147 case 6 0:2159 { KEYWORD_RETURN(INLINE); } // GCC 2160 YY_BREAK 2161 case 63: 2148 2162 YY_RULE_SETUP 2149 2163 #line 229 "lex.ll" 2150 { KEYWORD_RETURN(I MAGINARY); }// GCC2151 YY_BREAK 2152 case 6 1:2164 { KEYWORD_RETURN(INLINE); } // GCC 2165 YY_BREAK 2166 case 64: 2153 2167 YY_RULE_SETUP 2154 2168 #line 230 "lex.ll" 2155 { KEYWORD_RETURN(IN LINE); } // C992156 YY_BREAK 2157 case 6 2:2169 { KEYWORD_RETURN(INT); } 2170 YY_BREAK 2171 case 65: 2158 2172 YY_RULE_SETUP 2159 2173 #line 231 "lex.ll" 2160 { KEYWORD_RETURN(IN LINE); } // GCC2161 YY_BREAK 2162 case 6 3:2174 { KEYWORD_RETURN(INT); } // GCC 2175 YY_BREAK 2176 case 66: 2163 2177 YY_RULE_SETUP 2164 2178 #line 232 "lex.ll" 2165 { KEYWORD_RETURN( INLINE); } // GCC2166 YY_BREAK 2167 case 6 4:2179 { KEYWORD_RETURN(LABEL); } // GCC 2180 YY_BREAK 2181 case 67: 2168 2182 YY_RULE_SETUP 2169 2183 #line 233 "lex.ll" 2170 { KEYWORD_RETURN( INT); }2171 YY_BREAK 2172 case 6 5:2184 { KEYWORD_RETURN(LONG); } 2185 YY_BREAK 2186 case 68: 2173 2187 YY_RULE_SETUP 2174 2188 #line 234 "lex.ll" 2175 { KEYWORD_RETURN( INT); } // GCC2176 YY_BREAK 2177 case 6 6:2189 { KEYWORD_RETURN(LVALUE); } // CFA 2190 YY_BREAK 2191 case 69: 2178 2192 YY_RULE_SETUP 2179 2193 #line 235 "lex.ll" 2180 { KEYWORD_RETURN( LABEL); } // GCC2181 YY_BREAK 2182 case 67:2194 { KEYWORD_RETURN(NORETURN); } // C11 2195 YY_BREAK 2196 case 70: 2183 2197 YY_RULE_SETUP 2184 2198 #line 236 "lex.ll" 2185 { KEYWORD_RETURN( LONG); }2186 YY_BREAK 2187 case 68:2199 { KEYWORD_RETURN(OFFSETOF); } // GCC 2200 YY_BREAK 2201 case 71: 2188 2202 YY_RULE_SETUP 2189 2203 #line 237 "lex.ll" 2190 { KEYWORD_RETURN( LVALUE); } // CFA2191 YY_BREAK 2192 case 69:2204 { KEYWORD_RETURN(OTYPE); } // CFA 2205 YY_BREAK 2206 case 72: 2193 2207 YY_RULE_SETUP 2194 2208 #line 238 "lex.ll" 2195 { KEYWORD_RETURN( NORETURN); } // C112196 YY_BREAK 2197 case 7 0:2209 { KEYWORD_RETURN(REGISTER); } 2210 YY_BREAK 2211 case 73: 2198 2212 YY_RULE_SETUP 2199 2213 #line 239 "lex.ll" 2200 { KEYWORD_RETURN( OFFSETOF); } // GCC2201 YY_BREAK 2202 case 7 1:2214 { KEYWORD_RETURN(RESTRICT); } // C99 2215 YY_BREAK 2216 case 74: 2203 2217 YY_RULE_SETUP 2204 2218 #line 240 "lex.ll" 2205 { KEYWORD_RETURN( OTYPE); } // CFA2206 YY_BREAK 2207 case 7 2:2219 { KEYWORD_RETURN(RESTRICT); } // GCC 2220 YY_BREAK 2221 case 75: 2208 2222 YY_RULE_SETUP 2209 2223 #line 241 "lex.ll" 2210 { KEYWORD_RETURN(RE GISTER); }2211 YY_BREAK 2212 case 7 3:2224 { KEYWORD_RETURN(RESTRICT); } // GCC 2225 YY_BREAK 2226 case 76: 2213 2227 YY_RULE_SETUP 2214 2228 #line 242 "lex.ll" 2215 { KEYWORD_RETURN(RE STRICT); } // C992216 YY_BREAK 2217 case 7 4:2229 { KEYWORD_RETURN(RETURN); } 2230 YY_BREAK 2231 case 77: 2218 2232 YY_RULE_SETUP 2219 2233 #line 243 "lex.ll" 2220 { KEYWORD_RETURN( RESTRICT); } // GCC2221 YY_BREAK 2222 case 7 5:2234 { KEYWORD_RETURN(SHORT); } 2235 YY_BREAK 2236 case 78: 2223 2237 YY_RULE_SETUP 2224 2238 #line 244 "lex.ll" 2225 { KEYWORD_RETURN( RESTRICT); } // GCC2226 YY_BREAK 2227 case 7 6:2239 { KEYWORD_RETURN(SIGNED); } 2240 YY_BREAK 2241 case 79: 2228 2242 YY_RULE_SETUP 2229 2243 #line 245 "lex.ll" 2230 { KEYWORD_RETURN( RETURN); }2231 YY_BREAK 2232 case 77:2244 { KEYWORD_RETURN(SIGNED); } // GCC 2245 YY_BREAK 2246 case 80: 2233 2247 YY_RULE_SETUP 2234 2248 #line 246 "lex.ll" 2235 { KEYWORD_RETURN(S HORT); }2236 YY_BREAK 2237 case 78:2249 { KEYWORD_RETURN(SIGNED); } // GCC 2250 YY_BREAK 2251 case 81: 2238 2252 YY_RULE_SETUP 2239 2253 #line 247 "lex.ll" 2240 { KEYWORD_RETURN(SI GNED); }2241 YY_BREAK 2242 case 79:2254 { KEYWORD_RETURN(SIZEOF); } 2255 YY_BREAK 2256 case 82: 2243 2257 YY_RULE_SETUP 2244 2258 #line 248 "lex.ll" 2245 { KEYWORD_RETURN(S IGNED); } // GCC2246 YY_BREAK 2247 case 8 0:2259 { KEYWORD_RETURN(STATIC); } 2260 YY_BREAK 2261 case 83: 2248 2262 YY_RULE_SETUP 2249 2263 #line 249 "lex.ll" 2250 { KEYWORD_RETURN(S IGNED); } // GCC2251 YY_BREAK 2252 case 8 1:2264 { KEYWORD_RETURN(STATICASSERT); } // C11 2265 YY_BREAK 2266 case 84: 2253 2267 YY_RULE_SETUP 2254 2268 #line 250 "lex.ll" 2255 { KEYWORD_RETURN(S IZEOF); }2256 YY_BREAK 2257 case 8 2:2269 { KEYWORD_RETURN(STRUCT); } 2270 YY_BREAK 2271 case 85: 2258 2272 YY_RULE_SETUP 2259 2273 #line 251 "lex.ll" 2260 { KEYWORD_RETURN(S TATIC); }2261 YY_BREAK 2262 case 8 3:2274 { KEYWORD_RETURN(SWITCH); } 2275 YY_BREAK 2276 case 86: 2263 2277 YY_RULE_SETUP 2264 2278 #line 252 "lex.ll" 2265 { KEYWORD_RETURN( STATICASSERT); } // C112266 YY_BREAK 2267 case 8 4:2279 { KEYWORD_RETURN(THREADLOCAL); } // C11 2280 YY_BREAK 2281 case 87: 2268 2282 YY_RULE_SETUP 2269 2283 #line 253 "lex.ll" 2270 { KEYWORD_RETURN( STRUCT); }2271 YY_BREAK 2272 case 8 5:2284 { KEYWORD_RETURN(THROW); } // CFA 2285 YY_BREAK 2286 case 88: 2273 2287 YY_RULE_SETUP 2274 2288 #line 254 "lex.ll" 2275 { KEYWORD_RETURN( SWITCH); }2276 YY_BREAK 2277 case 8 6:2289 { KEYWORD_RETURN(THROWRESUME); } // CFA 2290 YY_BREAK 2291 case 89: 2278 2292 YY_RULE_SETUP 2279 2293 #line 255 "lex.ll" 2280 { KEYWORD_RETURN(T HREADLOCAL); } // C112281 YY_BREAK 2282 case 87:2294 { KEYWORD_RETURN(TRAIT); } // CFA 2295 YY_BREAK 2296 case 90: 2283 2297 YY_RULE_SETUP 2284 2298 #line 256 "lex.ll" 2285 { KEYWORD_RETURN(T HROW); } // CFA2286 YY_BREAK 2287 case 88:2299 { KEYWORD_RETURN(TRY); } // CFA 2300 YY_BREAK 2301 case 91: 2288 2302 YY_RULE_SETUP 2289 2303 #line 257 "lex.ll" 2290 { KEYWORD_RETURN(T HROWRESUME); } // CFA2291 YY_BREAK 2292 case 89:2304 { KEYWORD_RETURN(TYPEDEF); } 2305 YY_BREAK 2306 case 92: 2293 2307 YY_RULE_SETUP 2294 2308 #line 258 "lex.ll" 2295 { KEYWORD_RETURN(T RAIT); } // CFA2296 YY_BREAK 2297 case 9 0:2309 { KEYWORD_RETURN(TYPEOF); } // GCC 2310 YY_BREAK 2311 case 93: 2298 2312 YY_RULE_SETUP 2299 2313 #line 259 "lex.ll" 2300 { KEYWORD_RETURN(T RY); } // CFA2301 YY_BREAK 2302 case 9 1:2314 { KEYWORD_RETURN(TYPEOF); } // GCC 2315 YY_BREAK 2316 case 94: 2303 2317 YY_RULE_SETUP 2304 2318 #line 260 "lex.ll" 2305 { KEYWORD_RETURN(TYPE DEF); }2306 YY_BREAK 2307 case 9 2:2319 { KEYWORD_RETURN(TYPEOF); } // GCC 2320 YY_BREAK 2321 case 95: 2308 2322 YY_RULE_SETUP 2309 2323 #line 261 "lex.ll" 2310 { KEYWORD_RETURN( TYPEOF); } // GCC2311 YY_BREAK 2312 case 9 3:2324 { KEYWORD_RETURN(UNION); } 2325 YY_BREAK 2326 case 96: 2313 2327 YY_RULE_SETUP 2314 2328 #line 262 "lex.ll" 2315 { KEYWORD_RETURN( TYPEOF); } // GCC2316 YY_BREAK 2317 case 9 4:2329 { KEYWORD_RETURN(UNSIGNED); } 2330 YY_BREAK 2331 case 97: 2318 2332 YY_RULE_SETUP 2319 2333 #line 263 "lex.ll" 2320 { KEYWORD_RETURN( TYPEOF); }// GCC2321 YY_BREAK 2322 case 9 5:2334 { KEYWORD_RETURN(VALIST); } // GCC 2335 YY_BREAK 2336 case 98: 2323 2337 YY_RULE_SETUP 2324 2338 #line 264 "lex.ll" 2325 { KEYWORD_RETURN( UNION); }2326 YY_BREAK 2327 case 9 6:2339 { KEYWORD_RETURN(VOID); } 2340 YY_BREAK 2341 case 99: 2328 2342 YY_RULE_SETUP 2329 2343 #line 265 "lex.ll" 2330 { KEYWORD_RETURN( UNSIGNED); }2331 YY_BREAK 2332 case 97:2344 { KEYWORD_RETURN(VOLATILE); } 2345 YY_BREAK 2346 case 100: 2333 2347 YY_RULE_SETUP 2334 2348 #line 266 "lex.ll" 2335 { KEYWORD_RETURN(V ALIST); } // GCC2336 YY_BREAK 2337 case 98:2349 { KEYWORD_RETURN(VOLATILE); } // GCC 2350 YY_BREAK 2351 case 101: 2338 2352 YY_RULE_SETUP 2339 2353 #line 267 "lex.ll" 2340 { KEYWORD_RETURN(VO ID); }2341 YY_BREAK 2342 case 99:2354 { KEYWORD_RETURN(VOLATILE); } // GCC 2355 YY_BREAK 2356 case 102: 2343 2357 YY_RULE_SETUP 2344 2358 #line 268 "lex.ll" 2345 { KEYWORD_RETURN(VOLATILE); }2346 YY_BREAK2347 case 100:2348 YY_RULE_SETUP2349 #line 269 "lex.ll"2350 { KEYWORD_RETURN(VOLATILE); } // GCC2351 YY_BREAK2352 case 101:2353 YY_RULE_SETUP2354 #line 270 "lex.ll"2355 { KEYWORD_RETURN(VOLATILE); } // GCC2356 YY_BREAK2357 case 102:2358 YY_RULE_SETUP2359 #line 271 "lex.ll"2360 2359 { KEYWORD_RETURN(WHILE); } 2361 2360 YY_BREAK … … 2363 2362 case 103: 2364 2363 YY_RULE_SETUP 2364 #line 271 "lex.ll" 2365 { IDENTIFIER_RETURN(); } 2366 YY_BREAK 2367 case 104: 2368 YY_RULE_SETUP 2369 #line 272 "lex.ll" 2370 { ATTRIBUTE_RETURN(); } 2371 YY_BREAK 2372 case 105: 2373 YY_RULE_SETUP 2374 #line 273 "lex.ll" 2375 { BEGIN BKQUOTE; } 2376 YY_BREAK 2377 case 106: 2378 YY_RULE_SETUP 2365 2379 #line 274 "lex.ll" 2366 2380 { IDENTIFIER_RETURN(); } 2367 2381 YY_BREAK 2368 case 10 4:2382 case 107: 2369 2383 YY_RULE_SETUP 2370 2384 #line 275 "lex.ll" 2371 { ATTRIBUTE_RETURN(); }2372 YY_BREAK2373 case 105:2374 YY_RULE_SETUP2375 #line 276 "lex.ll"2376 { BEGIN BKQUOTE; }2377 YY_BREAK2378 case 106:2379 YY_RULE_SETUP2380 #line 277 "lex.ll"2381 { IDENTIFIER_RETURN(); }2382 YY_BREAK2383 case 107:2384 YY_RULE_SETUP2385 #line 278 "lex.ll"2386 2385 { BEGIN 0; } 2387 2386 YY_BREAK … … 2389 2388 case 108: 2390 2389 YY_RULE_SETUP 2390 #line 278 "lex.ll" 2391 { NUMERIC_RETURN(ZERO); } // CFA 2392 YY_BREAK 2393 case 109: 2394 YY_RULE_SETUP 2395 #line 279 "lex.ll" 2396 { NUMERIC_RETURN(ONE); } // CFA 2397 YY_BREAK 2398 case 110: 2399 YY_RULE_SETUP 2400 #line 280 "lex.ll" 2401 { NUMERIC_RETURN(INTEGERconstant); } 2402 YY_BREAK 2403 case 111: 2404 YY_RULE_SETUP 2391 2405 #line 281 "lex.ll" 2392 { NUMERIC_RETURN( ZERO); } // CFA2393 YY_BREAK 2394 case 1 09:2406 { NUMERIC_RETURN(INTEGERconstant); } 2407 YY_BREAK 2408 case 112: 2395 2409 YY_RULE_SETUP 2396 2410 #line 282 "lex.ll" 2397 { NUMERIC_RETURN( ONE); } // CFA2398 YY_BREAK 2399 case 11 0:2411 { NUMERIC_RETURN(INTEGERconstant); } 2412 YY_BREAK 2413 case 113: 2400 2414 YY_RULE_SETUP 2401 2415 #line 283 "lex.ll" 2402 { NUMERIC_RETURN( INTEGERconstant); }2403 YY_BREAK 2404 case 11 1:2416 { NUMERIC_RETURN(FLOATINGconstant); } 2417 YY_BREAK 2418 case 114: 2405 2419 YY_RULE_SETUP 2406 2420 #line 284 "lex.ll" 2407 { NUMERIC_RETURN(INTEGERconstant); }2408 YY_BREAK2409 case 112:2410 YY_RULE_SETUP2411 #line 285 "lex.ll"2412 { NUMERIC_RETURN(INTEGERconstant); }2413 YY_BREAK2414 case 113:2415 YY_RULE_SETUP2416 #line 286 "lex.ll"2417 { NUMERIC_RETURN(FLOATINGconstant); }2418 YY_BREAK2419 case 114:2420 YY_RULE_SETUP2421 #line 287 "lex.ll"2422 2421 { NUMERIC_RETURN(FLOATINGconstant); } 2423 2422 YY_BREAK … … 2425 2424 case 115: 2426 2425 YY_RULE_SETUP 2427 #line 2 90"lex.ll"2426 #line 287 "lex.ll" 2428 2427 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2429 2428 YY_BREAK 2430 2429 case 116: 2431 2430 YY_RULE_SETUP 2432 #line 2 91"lex.ll"2431 #line 288 "lex.ll" 2433 2432 { strtext->append( yytext, yyleng ); } 2434 2433 YY_BREAK … … 2436 2435 /* rule 117 can match eol */ 2437 2436 YY_RULE_SETUP 2438 #line 2 92"lex.ll"2437 #line 289 "lex.ll" 2439 2438 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); } 2440 2439 YY_BREAK … … 2443 2442 case 118: 2444 2443 YY_RULE_SETUP 2445 #line 29 6"lex.ll"2444 #line 293 "lex.ll" 2446 2445 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2447 2446 YY_BREAK 2448 2447 case 119: 2449 2448 YY_RULE_SETUP 2450 #line 29 7"lex.ll"2449 #line 294 "lex.ll" 2451 2450 { strtext->append( yytext, yyleng ); } 2452 2451 YY_BREAK … … 2454 2453 /* rule 120 can match eol */ 2455 2454 YY_RULE_SETUP 2456 #line 29 8"lex.ll"2455 #line 295 "lex.ll" 2457 2456 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 2458 2457 YY_BREAK … … 2461 2460 case 121: 2462 2461 YY_RULE_SETUP 2463 #line 302"lex.ll"2462 #line 299 "lex.ll" 2464 2463 { rm_underscore(); strtext->append( yytext, yyleng ); } 2465 2464 YY_BREAK … … 2467 2466 /* rule 122 can match eol */ 2468 2467 YY_RULE_SETUP 2469 #line 30 3"lex.ll"2468 #line 300 "lex.ll" 2470 2469 {} // continuation (ALSO HANDLED BY CPP) 2471 2470 YY_BREAK 2472 2471 case 123: 2473 2472 YY_RULE_SETUP 2474 #line 30 4"lex.ll"2473 #line 301 "lex.ll" 2475 2474 { strtext->append( yytext, yyleng ); } // unknown escape character 2476 2475 YY_BREAK … … 2478 2477 case 124: 2479 2478 YY_RULE_SETUP 2479 #line 304 "lex.ll" 2480 { ASCIIOP_RETURN(); } 2481 YY_BREAK 2482 case 125: 2483 YY_RULE_SETUP 2484 #line 305 "lex.ll" 2485 { ASCIIOP_RETURN(); } 2486 YY_BREAK 2487 case 126: 2488 YY_RULE_SETUP 2489 #line 306 "lex.ll" 2490 { ASCIIOP_RETURN(); } 2491 YY_BREAK 2492 case 127: 2493 YY_RULE_SETUP 2480 2494 #line 307 "lex.ll" 2481 2495 { ASCIIOP_RETURN(); } 2482 2496 YY_BREAK 2483 case 12 5:2497 case 128: 2484 2498 YY_RULE_SETUP 2485 2499 #line 308 "lex.ll" 2486 2500 { ASCIIOP_RETURN(); } 2487 2501 YY_BREAK 2488 case 12 6:2502 case 129: 2489 2503 YY_RULE_SETUP 2490 2504 #line 309 "lex.ll" 2491 2505 { ASCIIOP_RETURN(); } 2492 2506 YY_BREAK 2493 case 1 27:2507 case 130: 2494 2508 YY_RULE_SETUP 2495 2509 #line 310 "lex.ll" 2496 { ASCIIOP_RETURN(); } 2497 YY_BREAK 2498 case 1 28:2510 { ASCIIOP_RETURN(); } // also operator 2511 YY_BREAK 2512 case 131: 2499 2513 YY_RULE_SETUP 2500 2514 #line 311 "lex.ll" 2501 2515 { ASCIIOP_RETURN(); } 2502 2516 YY_BREAK 2503 case 1 29:2517 case 132: 2504 2518 YY_RULE_SETUP 2505 2519 #line 312 "lex.ll" 2506 2520 { ASCIIOP_RETURN(); } 2507 2521 YY_BREAK 2508 case 13 0:2522 case 133: 2509 2523 YY_RULE_SETUP 2510 2524 #line 313 "lex.ll" 2511 2525 { ASCIIOP_RETURN(); } // also operator 2512 2526 YY_BREAK 2513 case 13 1:2527 case 134: 2514 2528 YY_RULE_SETUP 2515 2529 #line 314 "lex.ll" 2516 { ASCIIOP_RETURN(); }2517 YY_BREAK2518 case 132:2519 YY_RULE_SETUP2520 #line 315 "lex.ll"2521 { ASCIIOP_RETURN(); }2522 YY_BREAK2523 case 133:2524 YY_RULE_SETUP2525 #line 316 "lex.ll"2526 { ASCIIOP_RETURN(); } // also operator2527 YY_BREAK2528 case 134:2529 YY_RULE_SETUP2530 #line 317 "lex.ll"2531 2530 { NAMEDOP_RETURN(ELLIPSIS); } 2532 2531 YY_BREAK … … 2534 2533 case 135: 2535 2534 YY_RULE_SETUP 2535 #line 317 "lex.ll" 2536 { RETURN_VAL('['); } 2537 YY_BREAK 2538 case 136: 2539 YY_RULE_SETUP 2540 #line 318 "lex.ll" 2541 { RETURN_VAL(']'); } 2542 YY_BREAK 2543 case 137: 2544 YY_RULE_SETUP 2545 #line 319 "lex.ll" 2546 { RETURN_VAL('{'); } 2547 YY_BREAK 2548 case 138: 2549 YY_RULE_SETUP 2536 2550 #line 320 "lex.ll" 2537 { RETURN_VAL('['); }2538 YY_BREAK2539 case 136:2540 YY_RULE_SETUP2541 #line 321 "lex.ll"2542 { RETURN_VAL(']'); }2543 YY_BREAK2544 case 137:2545 YY_RULE_SETUP2546 #line 322 "lex.ll"2547 { RETURN_VAL('{'); }2548 YY_BREAK2549 case 138:2550 YY_RULE_SETUP2551 #line 323 "lex.ll"2552 2551 { RETURN_VAL('}'); } 2553 2552 YY_BREAK … … 2555 2554 case 139: 2556 2555 YY_RULE_SETUP 2556 #line 323 "lex.ll" 2557 { ASCIIOP_RETURN(); } 2558 YY_BREAK 2559 case 140: 2560 YY_RULE_SETUP 2561 #line 324 "lex.ll" 2562 { ASCIIOP_RETURN(); } 2563 YY_BREAK 2564 case 141: 2565 YY_RULE_SETUP 2566 #line 325 "lex.ll" 2567 { ASCIIOP_RETURN(); } 2568 YY_BREAK 2569 case 142: 2570 YY_RULE_SETUP 2557 2571 #line 326 "lex.ll" 2558 2572 { ASCIIOP_RETURN(); } 2559 2573 YY_BREAK 2560 case 14 0:2574 case 143: 2561 2575 YY_RULE_SETUP 2562 2576 #line 327 "lex.ll" 2563 2577 { ASCIIOP_RETURN(); } 2564 2578 YY_BREAK 2565 case 14 1:2579 case 144: 2566 2580 YY_RULE_SETUP 2567 2581 #line 328 "lex.ll" 2568 2582 { ASCIIOP_RETURN(); } 2569 2583 YY_BREAK 2570 case 14 2:2584 case 145: 2571 2585 YY_RULE_SETUP 2572 2586 #line 329 "lex.ll" 2573 2587 { ASCIIOP_RETURN(); } 2574 2588 YY_BREAK 2575 case 14 3:2589 case 146: 2576 2590 YY_RULE_SETUP 2577 2591 #line 330 "lex.ll" 2578 2592 { ASCIIOP_RETURN(); } 2579 2593 YY_BREAK 2580 case 14 4:2594 case 147: 2581 2595 YY_RULE_SETUP 2582 2596 #line 331 "lex.ll" 2583 2597 { ASCIIOP_RETURN(); } 2584 2598 YY_BREAK 2585 case 14 5:2599 case 148: 2586 2600 YY_RULE_SETUP 2587 2601 #line 332 "lex.ll" 2588 2602 { ASCIIOP_RETURN(); } 2589 2603 YY_BREAK 2590 case 14 6:2604 case 149: 2591 2605 YY_RULE_SETUP 2592 2606 #line 333 "lex.ll" 2593 2607 { ASCIIOP_RETURN(); } 2594 2608 YY_BREAK 2595 case 1 47:2609 case 150: 2596 2610 YY_RULE_SETUP 2597 2611 #line 334 "lex.ll" 2598 2612 { ASCIIOP_RETURN(); } 2599 2613 YY_BREAK 2600 case 1 48:2614 case 151: 2601 2615 YY_RULE_SETUP 2602 2616 #line 335 "lex.ll" 2603 2617 { ASCIIOP_RETURN(); } 2604 2618 YY_BREAK 2605 case 1 49:2619 case 152: 2606 2620 YY_RULE_SETUP 2607 2621 #line 336 "lex.ll" 2608 2622 { ASCIIOP_RETURN(); } 2609 2623 YY_BREAK 2610 case 150: 2611 YY_RULE_SETUP 2612 #line 337 "lex.ll" 2613 { ASCIIOP_RETURN(); } 2614 YY_BREAK 2615 case 151: 2624 case 153: 2616 2625 YY_RULE_SETUP 2617 2626 #line 338 "lex.ll" 2618 { ASCIIOP_RETURN(); }2619 YY_BREAK 2620 case 15 2:2627 { NAMEDOP_RETURN(ICR); } 2628 YY_BREAK 2629 case 154: 2621 2630 YY_RULE_SETUP 2622 2631 #line 339 "lex.ll" 2623 { ASCIIOP_RETURN(); } 2624 YY_BREAK 2625 case 153: 2632 { NAMEDOP_RETURN(DECR); } 2633 YY_BREAK 2634 case 155: 2635 YY_RULE_SETUP 2636 #line 340 "lex.ll" 2637 { NAMEDOP_RETURN(EQ); } 2638 YY_BREAK 2639 case 156: 2626 2640 YY_RULE_SETUP 2627 2641 #line 341 "lex.ll" 2628 { NAMEDOP_RETURN( ICR); }2629 YY_BREAK 2630 case 15 4:2642 { NAMEDOP_RETURN(NE); } 2643 YY_BREAK 2644 case 157: 2631 2645 YY_RULE_SETUP 2632 2646 #line 342 "lex.ll" 2633 { NAMEDOP_RETURN( DECR); }2634 YY_BREAK 2635 case 15 5:2647 { NAMEDOP_RETURN(LS); } 2648 YY_BREAK 2649 case 158: 2636 2650 YY_RULE_SETUP 2637 2651 #line 343 "lex.ll" 2638 { NAMEDOP_RETURN( EQ); }2639 YY_BREAK 2640 case 15 6:2652 { NAMEDOP_RETURN(RS); } 2653 YY_BREAK 2654 case 159: 2641 2655 YY_RULE_SETUP 2642 2656 #line 344 "lex.ll" 2643 { NAMEDOP_RETURN( NE); }2644 YY_BREAK 2645 case 1 57:2657 { NAMEDOP_RETURN(LE); } 2658 YY_BREAK 2659 case 160: 2646 2660 YY_RULE_SETUP 2647 2661 #line 345 "lex.ll" 2648 { NAMEDOP_RETURN( LS); }2649 YY_BREAK 2650 case 1 58:2662 { NAMEDOP_RETURN(GE); } 2663 YY_BREAK 2664 case 161: 2651 2665 YY_RULE_SETUP 2652 2666 #line 346 "lex.ll" 2653 { NAMEDOP_RETURN( RS); }2654 YY_BREAK 2655 case 1 59:2667 { NAMEDOP_RETURN(ANDAND); } 2668 YY_BREAK 2669 case 162: 2656 2670 YY_RULE_SETUP 2657 2671 #line 347 "lex.ll" 2658 { NAMEDOP_RETURN( LE); }2659 YY_BREAK 2660 case 16 0:2672 { NAMEDOP_RETURN(OROR); } 2673 YY_BREAK 2674 case 163: 2661 2675 YY_RULE_SETUP 2662 2676 #line 348 "lex.ll" 2663 { NAMEDOP_RETURN( GE); }2664 YY_BREAK 2665 case 16 1:2677 { NAMEDOP_RETURN(ARROW); } 2678 YY_BREAK 2679 case 164: 2666 2680 YY_RULE_SETUP 2667 2681 #line 349 "lex.ll" 2668 { NAMEDOP_RETURN( ANDAND); }2669 YY_BREAK 2670 case 16 2:2682 { NAMEDOP_RETURN(PLUSassign); } 2683 YY_BREAK 2684 case 165: 2671 2685 YY_RULE_SETUP 2672 2686 #line 350 "lex.ll" 2673 { NAMEDOP_RETURN( OROR); }2674 YY_BREAK 2675 case 16 3:2687 { NAMEDOP_RETURN(MINUSassign); } 2688 YY_BREAK 2689 case 166: 2676 2690 YY_RULE_SETUP 2677 2691 #line 351 "lex.ll" 2678 { NAMEDOP_RETURN( ARROW); }2679 YY_BREAK 2680 case 16 4:2692 { NAMEDOP_RETURN(MULTassign); } 2693 YY_BREAK 2694 case 167: 2681 2695 YY_RULE_SETUP 2682 2696 #line 352 "lex.ll" 2683 { NAMEDOP_RETURN( PLUSassign); }2684 YY_BREAK 2685 case 16 5:2697 { NAMEDOP_RETURN(DIVassign); } 2698 YY_BREAK 2699 case 168: 2686 2700 YY_RULE_SETUP 2687 2701 #line 353 "lex.ll" 2688 { NAMEDOP_RETURN(M INUSassign); }2689 YY_BREAK 2690 case 16 6:2702 { NAMEDOP_RETURN(MODassign); } 2703 YY_BREAK 2704 case 169: 2691 2705 YY_RULE_SETUP 2692 2706 #line 354 "lex.ll" 2693 { NAMEDOP_RETURN( MULTassign); }2694 YY_BREAK 2695 case 1 67:2707 { NAMEDOP_RETURN(ANDassign); } 2708 YY_BREAK 2709 case 170: 2696 2710 YY_RULE_SETUP 2697 2711 #line 355 "lex.ll" 2698 { NAMEDOP_RETURN( DIVassign); }2699 YY_BREAK 2700 case 1 68:2712 { NAMEDOP_RETURN(ORassign); } 2713 YY_BREAK 2714 case 171: 2701 2715 YY_RULE_SETUP 2702 2716 #line 356 "lex.ll" 2703 { NAMEDOP_RETURN( MODassign); }2704 YY_BREAK 2705 case 1 69:2717 { NAMEDOP_RETURN(ERassign); } 2718 YY_BREAK 2719 case 172: 2706 2720 YY_RULE_SETUP 2707 2721 #line 357 "lex.ll" 2708 { NAMEDOP_RETURN( ANDassign); }2709 YY_BREAK 2710 case 17 0:2722 { NAMEDOP_RETURN(LSassign); } 2723 YY_BREAK 2724 case 173: 2711 2725 YY_RULE_SETUP 2712 2726 #line 358 "lex.ll" 2713 { NAMEDOP_RETURN(ORassign); } 2714 YY_BREAK 2715 case 171: 2716 YY_RULE_SETUP 2717 #line 359 "lex.ll" 2718 { NAMEDOP_RETURN(ERassign); } 2719 YY_BREAK 2720 case 172: 2727 { NAMEDOP_RETURN(RSassign); } 2728 YY_BREAK 2729 case 174: 2721 2730 YY_RULE_SETUP 2722 2731 #line 360 "lex.ll" 2723 { NAMEDOP_RETURN(LSassign); }2724 YY_BREAK2725 case 173:2726 YY_RULE_SETUP2727 #line 361 "lex.ll"2728 { NAMEDOP_RETURN(RSassign); }2729 YY_BREAK2730 case 174:2731 YY_RULE_SETUP2732 #line 363 "lex.ll"2733 2732 { NAMEDOP_RETURN(ATassign); } // CFA 2734 2733 YY_BREAK … … 2736 2735 case 175: 2737 2736 YY_RULE_SETUP 2737 #line 363 "lex.ll" 2738 { IDENTIFIER_RETURN(); } // unary 2739 YY_BREAK 2740 case 176: 2741 YY_RULE_SETUP 2742 #line 364 "lex.ll" 2743 { IDENTIFIER_RETURN(); } 2744 YY_BREAK 2745 case 177: 2746 YY_RULE_SETUP 2747 #line 365 "lex.ll" 2748 { IDENTIFIER_RETURN(); } 2749 YY_BREAK 2750 case 178: 2751 YY_RULE_SETUP 2738 2752 #line 366 "lex.ll" 2739 { IDENTIFIER_RETURN(); } // unary2740 YY_BREAK2741 case 176:2742 YY_RULE_SETUP2743 #line 367 "lex.ll"2744 { IDENTIFIER_RETURN(); }2745 YY_BREAK2746 case 177:2747 YY_RULE_SETUP2748 #line 368 "lex.ll"2749 { IDENTIFIER_RETURN(); }2750 YY_BREAK2751 case 178:2752 YY_RULE_SETUP2753 #line 369 "lex.ll"2754 2753 { IDENTIFIER_RETURN(); } // binary 2755 2754 YY_BREAK … … 2782 2781 case 179: 2783 2782 YY_RULE_SETUP 2784 #line 39 6"lex.ll"2783 #line 393 "lex.ll" 2785 2784 { 2786 2785 // 1 or 2 character unary operator ? … … 2797 2796 case 180: 2798 2797 YY_RULE_SETUP 2799 #line 40 8"lex.ll"2798 #line 405 "lex.ll" 2800 2799 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 2801 2800 YY_BREAK 2802 2801 case 181: 2803 2802 YY_RULE_SETUP 2804 #line 4 10"lex.ll"2803 #line 407 "lex.ll" 2805 2804 ECHO; 2806 2805 YY_BREAK 2807 #line 280 8"Parser/lex.cc"2806 #line 2807 "Parser/lex.cc" 2808 2807 case YY_STATE_EOF(INITIAL): 2809 2808 case YY_STATE_EOF(COMMENT): … … 3780 3779 #define YYTABLES_NAME "yytables" 3781 3780 3782 #line 4 10"lex.ll"3781 #line 407 "lex.ll" 3783 3782 3784 3783 -
TabularUnified src/Parser/lex.ll ¶
rf0121d7 ra1e67dd 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Aug 24 13:27:04201613 * Update Count : 48 712 * Last Modified On : Tue Oct 18 22:19:37 2016 13 * Update Count : 488 14 14 */ 15 15 … … 71 71 // identifier, GCC: $ in identifier 72 72 identifier ([a-zA-Z_$]|{universal_char})([0-9a-zA-Z_$]|{universal_char})* 73 74 // quoted identifier75 quoted_identifier "`"{identifier}"`"76 73 77 74 // attribute identifier, GCC: $ in identifier -
TabularUnified src/Parser/parser.cc ¶
rf0121d7 ra1e67dd 1027 1027 357, 359, 361, 366, 367, 373, 377, 379, 381, 383, 1028 1028 385, 387, 389, 391, 393, 402, 403, 409, 410, 414, 1029 415, 419, 422, 424, 426, 428, 433, 43 5, 440, 443,1030 44 5, 447, 452, 465, 467, 469, 471, 473, 475, 477,1031 4 79, 481, 483, 485, 492, 493, 499, 500, 501, 502,1032 50 6, 507, 509, 514, 515, 517, 519, 524, 525, 527,1033 53 2, 533, 535, 540, 541, 543, 545, 547, 552, 553,1034 55 5, 560, 561, 566, 567, 572, 573, 578, 579, 584,1035 58 5, 590, 591, 594, 596, 601, 606, 607, 609, 615,1036 61 6, 620, 621, 622, 623, 624, 625, 626, 627, 628,1037 6 29, 630, 631, 637, 639, 641, 643, 648, 649, 654,1038 65 5, 661, 662, 668, 669, 670, 671, 672, 673, 674,1039 67 5, 676, 686, 693, 695, 705, 706, 711, 713, 719,1040 72 1, 725, 726, 731, 736, 739, 741, 743, 753, 755,1041 76 6, 767, 769, 773, 775, 779, 780, 785, 786, 790,1042 79 5, 796, 800, 802, 808, 809, 813, 815, 817, 819,1043 82 5, 826, 830, 832, 837, 839, 841, 846, 848, 853,1044 85 5, 859, 862, 866, 869, 873, 875, 877, 879, 884,1045 88 6, 888, 893, 895, 897, 899, 901, 906, 908, 910,1046 91 2, 917, 929, 930, 935, 937, 942, 946, 948, 950,1047 95 2, 954, 960, 961, 967, 968, 972, 973, 978, 980,1048 98 6, 987, 989, 994, 999, 1009, 1011, 1015, 1016, 1021,1049 102 3, 1027, 1028, 1032, 1034, 1038, 1039, 1043, 1044, 1048,1050 10 49, 1064, 1065, 1066, 1067, 1068, 1072, 1077, 1084, 1094,1051 1 099, 1104, 1112, 1117, 1122, 1127, 1132, 1140, 1162, 1167,1052 117 4, 1176, 1183, 1188, 1193, 1204, 1209, 1214, 1219, 1224,1053 123 3, 1238, 1246, 1247, 1248, 1249, 1255, 1260, 1268, 1269,1054 127 0, 1271, 1275, 1276, 1277, 1278, 1283, 1284, 1293, 1294,1055 1 299, 1300, 1305, 1307, 1309, 1311, 1313, 1316, 1315, 1327,1056 132 8, 1330, 1340, 1341, 1346, 1348, 1350, 1352, 1354, 1357,1057 13 59, 1362, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381,1058 138 3, 1385, 1387, 1389, 1391, 1397, 1398, 1400, 1402, 1404,1059 14 09, 1410, 1416, 1417, 1419, 1421, 1426, 1428, 1430, 1432,1060 143 7, 1438, 1440, 1442, 1447, 1448, 1450, 1455, 1456, 1458,1061 146 0, 1465, 1467, 1469, 1474, 1475, 1479, 1481, 1487, 1486,1062 149 0, 1492, 1497, 1499, 1505, 1506, 1511, 1512, 1514, 1515,1063 152 4, 1525, 1527, 1529, 1534, 1536, 1542, 1543, 1545, 1548,1064 155 1, 1556, 1557, 1562, 1567, 1571, 1573, 1579, 1578, 1585,1065 158 7, 1593, 1594, 1602, 1603, 1607, 1608, 1609, 1611, 1613,1066 162 0, 1621, 1623, 1625, 1630, 1631, 1637, 1638, 1642, 1643,1067 164 8, 1649, 1650, 1652, 1660, 1661, 1663, 1666, 1668, 1672,1068 167 3, 1674, 1676, 1678, 1682, 1687, 1695, 1696, 1705, 1707,1069 171 2, 1713, 1714, 1718, 1719, 1720, 1724, 1725, 1726, 1730,1070 173 1, 1732, 1737, 1738, 1739, 1740, 1746, 1747, 1749, 1754,1071 175 5, 1760, 1761, 1762, 1763, 1764, 1779, 1780, 1785, 1786,1072 179 2, 1794, 1797, 1799, 1801, 1824, 1825, 1827, 1829, 1834,1073 183 5, 1837, 1842, 1847, 1848, 1854, 1853, 1857, 1861, 1863,1074 186 5, 1871, 1872, 1877, 1882, 1884, 1889, 1891, 1892, 1894,1075 1 899, 1901, 1903, 1908, 1910, 1915, 1920, 1928, 1934, 1933,1076 194 7, 1948, 1953, 1954, 1958, 1963, 1968, 1976, 1981, 1992,1077 199 3, 1998, 1999, 2005, 2006, 2010, 2011, 2012, 2015, 2014,1078 202 5, 2034, 2040, 2046, 2055, 2061, 2067, 2073, 2079, 2087,1079 209 3, 2101, 2107, 2116, 2117, 2118, 2122, 2126, 2128, 2133,1080 213 4, 2138, 2139, 2144, 2150, 2151, 2154, 2156, 2157, 2161,1081 216 2, 2163, 2164, 2198, 2200, 2201, 2203, 2208, 2213, 2218,1082 222 0, 2222, 2227, 2229, 2231, 2233, 2238, 2240, 2249, 2251,1083 225 2, 2257, 2259, 2261, 2266, 2268, 2270, 2275, 2277, 2279,1084 228 8, 2289, 2290, 2294, 2296, 2298, 2303, 2305, 2307, 2312,1085 231 4, 2316, 2331, 2333, 2334, 2336, 2341, 2342, 2347, 2349,1086 235 1, 2356, 2358, 2360, 2362, 2367, 2369, 2371, 2381, 2383,1087 238 4, 2386, 2391, 2393, 2395, 2400, 2402, 2404, 2406, 2411,1088 241 3, 2415, 2446, 2448, 2449, 2451, 2456, 2461, 2469, 2471,1089 247 3, 2478, 2480, 2485, 2487, 2501, 2502, 2504, 2509, 2511,1090 251 3, 2515, 2517, 2522, 2523, 2525, 2527, 2532, 2534, 2536,1091 254 2, 2544, 2546, 2550, 2552, 2554, 2556, 2570, 2571, 2573,1092 257 8, 2580, 2582, 2584, 2586, 2591, 2592, 2594, 2596, 2601,1093 260 3, 2605, 2611, 2612, 2614, 2623, 2626, 2628, 2631, 2633,1094 263 5, 2648, 2649, 2651, 2656, 2658, 2660, 2662, 2664, 2669,1095 267 0, 2672, 2674, 2679, 2681, 2689, 2690, 2691, 2696, 2697,1096 270 1, 2703, 2705, 2707, 2709, 2711, 2718, 2720, 2722, 2724,1097 272 6, 2728, 2730, 2732, 2734, 2736, 2741, 2743, 2745, 2750,1098 277 6, 2777, 2779, 2783, 2784, 2788, 2790, 2792, 2794, 2796,1099 2 798, 2805, 2807, 2809, 2811, 2813, 2815, 2820, 2825, 2827,1100 28 29, 2847, 2849, 2854, 28551029 415, 419, 422, 424, 426, 428, 433, 436, 441, 444, 1030 446, 448, 453, 466, 468, 470, 472, 474, 476, 478, 1031 480, 482, 484, 486, 493, 494, 500, 501, 502, 503, 1032 507, 508, 510, 515, 516, 518, 520, 525, 526, 528, 1033 533, 534, 536, 541, 542, 544, 546, 548, 553, 554, 1034 556, 561, 562, 567, 568, 573, 574, 579, 580, 585, 1035 586, 591, 592, 595, 597, 602, 607, 608, 610, 616, 1036 617, 621, 622, 623, 624, 625, 626, 627, 628, 629, 1037 630, 631, 632, 638, 640, 642, 644, 649, 650, 655, 1038 656, 662, 663, 669, 670, 671, 672, 673, 674, 675, 1039 676, 677, 687, 694, 696, 706, 707, 712, 714, 720, 1040 722, 726, 727, 732, 737, 740, 742, 744, 754, 756, 1041 767, 768, 770, 774, 776, 780, 781, 786, 787, 791, 1042 796, 797, 801, 803, 809, 810, 814, 816, 818, 820, 1043 826, 827, 831, 833, 838, 840, 842, 847, 849, 854, 1044 856, 860, 863, 867, 870, 874, 876, 878, 880, 885, 1045 887, 889, 894, 896, 898, 900, 902, 907, 909, 911, 1046 913, 918, 930, 931, 936, 938, 943, 947, 949, 951, 1047 953, 955, 961, 962, 968, 969, 973, 974, 979, 981, 1048 987, 988, 990, 995, 1000, 1010, 1012, 1016, 1017, 1022, 1049 1024, 1028, 1029, 1033, 1035, 1039, 1040, 1044, 1045, 1049, 1050 1050, 1065, 1066, 1067, 1068, 1069, 1073, 1078, 1085, 1095, 1051 1100, 1105, 1113, 1118, 1123, 1128, 1133, 1141, 1163, 1168, 1052 1175, 1177, 1184, 1189, 1194, 1205, 1210, 1215, 1220, 1225, 1053 1234, 1239, 1247, 1248, 1249, 1250, 1256, 1261, 1269, 1270, 1054 1271, 1272, 1276, 1277, 1278, 1279, 1284, 1285, 1294, 1295, 1055 1300, 1301, 1306, 1308, 1310, 1312, 1314, 1317, 1316, 1328, 1056 1329, 1331, 1341, 1342, 1347, 1349, 1351, 1353, 1355, 1358, 1057 1360, 1363, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1058 1384, 1386, 1388, 1390, 1392, 1398, 1399, 1401, 1403, 1405, 1059 1410, 1411, 1417, 1418, 1420, 1422, 1427, 1429, 1431, 1433, 1060 1438, 1439, 1441, 1443, 1448, 1449, 1451, 1456, 1457, 1459, 1061 1461, 1466, 1468, 1470, 1475, 1476, 1480, 1482, 1488, 1487, 1062 1491, 1493, 1498, 1500, 1506, 1507, 1512, 1513, 1515, 1516, 1063 1525, 1526, 1528, 1530, 1535, 1537, 1543, 1544, 1546, 1549, 1064 1552, 1557, 1558, 1563, 1568, 1572, 1574, 1580, 1579, 1586, 1065 1588, 1594, 1595, 1603, 1604, 1608, 1609, 1610, 1612, 1614, 1066 1621, 1622, 1624, 1626, 1631, 1632, 1638, 1639, 1643, 1644, 1067 1649, 1650, 1651, 1653, 1661, 1662, 1664, 1667, 1669, 1673, 1068 1674, 1675, 1677, 1679, 1683, 1688, 1696, 1697, 1706, 1708, 1069 1713, 1714, 1715, 1719, 1720, 1721, 1725, 1726, 1727, 1731, 1070 1732, 1733, 1738, 1739, 1740, 1741, 1747, 1748, 1750, 1755, 1071 1756, 1761, 1762, 1763, 1764, 1765, 1780, 1781, 1786, 1787, 1072 1793, 1795, 1798, 1800, 1802, 1825, 1826, 1828, 1830, 1835, 1073 1836, 1838, 1843, 1848, 1849, 1855, 1854, 1858, 1862, 1864, 1074 1866, 1872, 1873, 1878, 1883, 1885, 1890, 1892, 1893, 1895, 1075 1900, 1902, 1904, 1909, 1911, 1916, 1921, 1929, 1935, 1934, 1076 1948, 1949, 1954, 1955, 1959, 1964, 1969, 1977, 1982, 1993, 1077 1994, 1999, 2000, 2006, 2007, 2011, 2012, 2013, 2016, 2015, 1078 2026, 2035, 2041, 2047, 2056, 2062, 2068, 2074, 2080, 2088, 1079 2094, 2102, 2108, 2117, 2118, 2119, 2123, 2127, 2129, 2134, 1080 2135, 2139, 2140, 2145, 2151, 2152, 2155, 2157, 2158, 2162, 1081 2163, 2164, 2165, 2199, 2201, 2202, 2204, 2209, 2214, 2219, 1082 2221, 2223, 2228, 2230, 2232, 2234, 2239, 2241, 2250, 2252, 1083 2253, 2258, 2260, 2262, 2267, 2269, 2271, 2276, 2278, 2280, 1084 2289, 2290, 2291, 2295, 2297, 2299, 2304, 2306, 2308, 2313, 1085 2315, 2317, 2332, 2334, 2335, 2337, 2342, 2343, 2348, 2350, 1086 2352, 2357, 2359, 2361, 2363, 2368, 2370, 2372, 2382, 2384, 1087 2385, 2387, 2392, 2394, 2396, 2401, 2403, 2405, 2407, 2412, 1088 2414, 2416, 2447, 2449, 2450, 2452, 2457, 2462, 2470, 2472, 1089 2474, 2479, 2481, 2486, 2488, 2502, 2503, 2505, 2510, 2512, 1090 2514, 2516, 2518, 2523, 2524, 2526, 2528, 2533, 2535, 2537, 1091 2543, 2545, 2547, 2551, 2553, 2555, 2557, 2571, 2572, 2574, 1092 2579, 2581, 2583, 2585, 2587, 2592, 2593, 2595, 2597, 2602, 1093 2604, 2606, 2612, 2613, 2615, 2624, 2627, 2629, 2632, 2634, 1094 2636, 2649, 2650, 2652, 2657, 2659, 2661, 2663, 2665, 2670, 1095 2671, 2673, 2675, 2680, 2682, 2690, 2691, 2692, 2697, 2698, 1096 2702, 2704, 2706, 2708, 2710, 2712, 2719, 2721, 2723, 2725, 1097 2727, 2730, 2732, 2734, 2736, 2738, 2743, 2745, 2747, 2752, 1098 2778, 2779, 2781, 2785, 2786, 2790, 2792, 2794, 2796, 2798, 1099 2800, 2807, 2809, 2811, 2813, 2815, 2817, 2822, 2827, 2829, 1100 2831, 2849, 2851, 2856, 2857 1101 1101 }; 1102 1102 #endif … … 5202 5202 5203 5203 /* Line 1806 of yacc.c */ 5204 #line 43 6"parser.yy"5204 #line 437 "parser.yy" 5205 5205 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 5206 5206 break; … … 5209 5209 5210 5210 /* Line 1806 of yacc.c */ 5211 #line 44 4"parser.yy"5211 #line 445 "parser.yy" 5212 5212 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5213 5213 break; … … 5216 5216 5217 5217 /* Line 1806 of yacc.c */ 5218 #line 44 6"parser.yy"5218 #line 447 "parser.yy" 5219 5219 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5220 5220 break; … … 5223 5223 5224 5224 /* Line 1806 of yacc.c */ 5225 #line 44 8"parser.yy"5225 #line 449 "parser.yy" 5226 5226 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5227 5227 break; … … 5230 5230 5231 5231 /* Line 1806 of yacc.c */ 5232 #line 45 3"parser.yy"5232 #line 454 "parser.yy" 5233 5233 { 5234 5234 switch ( (yyvsp[(1) - (2)].op) ) { … … 5248 5248 5249 5249 /* Line 1806 of yacc.c */ 5250 #line 46 6"parser.yy"5250 #line 467 "parser.yy" 5251 5251 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5252 5252 break; … … 5255 5255 5256 5256 /* Line 1806 of yacc.c */ 5257 #line 46 8"parser.yy"5257 #line 469 "parser.yy" 5258 5258 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5259 5259 break; … … 5262 5262 5263 5263 /* Line 1806 of yacc.c */ 5264 #line 47 0"parser.yy"5264 #line 471 "parser.yy" 5265 5265 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5266 5266 break; … … 5269 5269 5270 5270 /* Line 1806 of yacc.c */ 5271 #line 47 2"parser.yy"5271 #line 473 "parser.yy" 5272 5272 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5273 5273 break; … … 5276 5276 5277 5277 /* Line 1806 of yacc.c */ 5278 #line 47 4"parser.yy"5278 #line 475 "parser.yy" 5279 5279 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5280 5280 break; … … 5283 5283 5284 5284 /* Line 1806 of yacc.c */ 5285 #line 47 6"parser.yy"5285 #line 477 "parser.yy" 5286 5286 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5287 5287 break; … … 5290 5290 5291 5291 /* Line 1806 of yacc.c */ 5292 #line 47 8"parser.yy"5292 #line 479 "parser.yy" 5293 5293 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5294 5294 break; … … 5297 5297 5298 5298 /* Line 1806 of yacc.c */ 5299 #line 48 0"parser.yy"5299 #line 481 "parser.yy" 5300 5300 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5301 5301 break; … … 5304 5304 5305 5305 /* Line 1806 of yacc.c */ 5306 #line 48 2"parser.yy"5306 #line 483 "parser.yy" 5307 5307 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5308 5308 break; … … 5311 5311 5312 5312 /* Line 1806 of yacc.c */ 5313 #line 48 4"parser.yy"5313 #line 485 "parser.yy" 5314 5314 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5315 5315 break; … … 5318 5318 5319 5319 /* Line 1806 of yacc.c */ 5320 #line 48 6"parser.yy"5320 #line 487 "parser.yy" 5321 5321 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5322 5322 break; … … 5325 5325 5326 5326 /* Line 1806 of yacc.c */ 5327 #line 49 2"parser.yy"5327 #line 493 "parser.yy" 5328 5328 { (yyval.op) = OperKinds::PointTo; } 5329 5329 break; … … 5332 5332 5333 5333 /* Line 1806 of yacc.c */ 5334 #line 49 3"parser.yy"5334 #line 494 "parser.yy" 5335 5335 { (yyval.op) = OperKinds::AddressOf; } 5336 5336 break; … … 5339 5339 5340 5340 /* Line 1806 of yacc.c */ 5341 #line 499"parser.yy"5341 #line 500 "parser.yy" 5342 5342 { (yyval.op) = OperKinds::UnPlus; } 5343 5343 break; … … 5346 5346 5347 5347 /* Line 1806 of yacc.c */ 5348 #line 50 0"parser.yy"5348 #line 501 "parser.yy" 5349 5349 { (yyval.op) = OperKinds::UnMinus; } 5350 5350 break; … … 5353 5353 5354 5354 /* Line 1806 of yacc.c */ 5355 #line 50 1"parser.yy"5355 #line 502 "parser.yy" 5356 5356 { (yyval.op) = OperKinds::Neg; } 5357 5357 break; … … 5360 5360 5361 5361 /* Line 1806 of yacc.c */ 5362 #line 50 2"parser.yy"5362 #line 503 "parser.yy" 5363 5363 { (yyval.op) = OperKinds::BitNeg; } 5364 5364 break; … … 5367 5367 5368 5368 /* Line 1806 of yacc.c */ 5369 #line 50 8"parser.yy"5369 #line 509 "parser.yy" 5370 5370 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5371 5371 break; … … 5374 5374 5375 5375 /* Line 1806 of yacc.c */ 5376 #line 51 0"parser.yy"5376 #line 511 "parser.yy" 5377 5377 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5378 5378 break; … … 5381 5381 5382 5382 /* Line 1806 of yacc.c */ 5383 #line 51 6"parser.yy"5383 #line 517 "parser.yy" 5384 5384 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5385 5385 break; … … 5388 5388 5389 5389 /* Line 1806 of yacc.c */ 5390 #line 51 8"parser.yy"5390 #line 519 "parser.yy" 5391 5391 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5392 5392 break; … … 5395 5395 5396 5396 /* Line 1806 of yacc.c */ 5397 #line 52 0"parser.yy"5397 #line 521 "parser.yy" 5398 5398 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5399 5399 break; … … 5402 5402 5403 5403 /* Line 1806 of yacc.c */ 5404 #line 52 6"parser.yy"5404 #line 527 "parser.yy" 5405 5405 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5406 5406 break; … … 5409 5409 5410 5410 /* Line 1806 of yacc.c */ 5411 #line 52 8"parser.yy"5411 #line 529 "parser.yy" 5412 5412 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5413 5413 break; … … 5416 5416 5417 5417 /* Line 1806 of yacc.c */ 5418 #line 53 4"parser.yy"5418 #line 535 "parser.yy" 5419 5419 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5420 5420 break; … … 5423 5423 5424 5424 /* Line 1806 of yacc.c */ 5425 #line 53 6"parser.yy"5425 #line 537 "parser.yy" 5426 5426 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5427 5427 break; … … 5430 5430 5431 5431 /* Line 1806 of yacc.c */ 5432 #line 54 2"parser.yy"5432 #line 543 "parser.yy" 5433 5433 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5434 5434 break; … … 5437 5437 5438 5438 /* Line 1806 of yacc.c */ 5439 #line 54 4"parser.yy"5439 #line 545 "parser.yy" 5440 5440 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5441 5441 break; … … 5444 5444 5445 5445 /* Line 1806 of yacc.c */ 5446 #line 54 6"parser.yy"5446 #line 547 "parser.yy" 5447 5447 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5448 5448 break; … … 5451 5451 5452 5452 /* Line 1806 of yacc.c */ 5453 #line 54 8"parser.yy"5453 #line 549 "parser.yy" 5454 5454 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5455 5455 break; … … 5458 5458 5459 5459 /* Line 1806 of yacc.c */ 5460 #line 55 4"parser.yy"5460 #line 555 "parser.yy" 5461 5461 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5462 5462 break; … … 5465 5465 5466 5466 /* Line 1806 of yacc.c */ 5467 #line 55 6"parser.yy"5467 #line 557 "parser.yy" 5468 5468 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5469 5469 break; … … 5472 5472 5473 5473 /* Line 1806 of yacc.c */ 5474 #line 56 2"parser.yy"5474 #line 563 "parser.yy" 5475 5475 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5476 5476 break; … … 5479 5479 5480 5480 /* Line 1806 of yacc.c */ 5481 #line 56 8"parser.yy"5481 #line 569 "parser.yy" 5482 5482 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5483 5483 break; … … 5486 5486 5487 5487 /* Line 1806 of yacc.c */ 5488 #line 57 4"parser.yy"5488 #line 575 "parser.yy" 5489 5489 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5490 5490 break; … … 5493 5493 5494 5494 /* Line 1806 of yacc.c */ 5495 #line 58 0"parser.yy"5495 #line 581 "parser.yy" 5496 5496 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5497 5497 break; … … 5500 5500 5501 5501 /* Line 1806 of yacc.c */ 5502 #line 58 6"parser.yy"5502 #line 587 "parser.yy" 5503 5503 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5504 5504 break; … … 5507 5507 5508 5508 /* Line 1806 of yacc.c */ 5509 #line 59 2"parser.yy"5509 #line 593 "parser.yy" 5510 5510 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5511 5511 break; … … 5514 5514 5515 5515 /* Line 1806 of yacc.c */ 5516 #line 59 5"parser.yy"5516 #line 596 "parser.yy" 5517 5517 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5518 5518 break; … … 5521 5521 5522 5522 /* Line 1806 of yacc.c */ 5523 #line 59 7"parser.yy"5523 #line 598 "parser.yy" 5524 5524 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5525 5525 break; … … 5528 5528 5529 5529 /* Line 1806 of yacc.c */ 5530 #line 60 8"parser.yy"5530 #line 609 "parser.yy" 5531 5531 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5532 5532 break; … … 5535 5535 5536 5536 /* Line 1806 of yacc.c */ 5537 #line 61 0"parser.yy"5537 #line 611 "parser.yy" 5538 5538 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 5539 5539 break; … … 5542 5542 5543 5543 /* Line 1806 of yacc.c */ 5544 #line 61 5"parser.yy"5544 #line 616 "parser.yy" 5545 5545 { (yyval.en) = nullptr; } 5546 5546 break; … … 5549 5549 5550 5550 /* Line 1806 of yacc.c */ 5551 #line 62 0"parser.yy"5551 #line 621 "parser.yy" 5552 5552 { (yyval.op) = OperKinds::Assign; } 5553 5553 break; … … 5556 5556 5557 5557 /* Line 1806 of yacc.c */ 5558 #line 62 1"parser.yy"5558 #line 622 "parser.yy" 5559 5559 { (yyval.op) = OperKinds::AtAssn; } 5560 5560 break; … … 5563 5563 5564 5564 /* Line 1806 of yacc.c */ 5565 #line 62 2"parser.yy"5565 #line 623 "parser.yy" 5566 5566 { (yyval.op) = OperKinds::MulAssn; } 5567 5567 break; … … 5570 5570 5571 5571 /* Line 1806 of yacc.c */ 5572 #line 62 3"parser.yy"5572 #line 624 "parser.yy" 5573 5573 { (yyval.op) = OperKinds::DivAssn; } 5574 5574 break; … … 5577 5577 5578 5578 /* Line 1806 of yacc.c */ 5579 #line 62 4"parser.yy"5579 #line 625 "parser.yy" 5580 5580 { (yyval.op) = OperKinds::ModAssn; } 5581 5581 break; … … 5584 5584 5585 5585 /* Line 1806 of yacc.c */ 5586 #line 62 5"parser.yy"5586 #line 626 "parser.yy" 5587 5587 { (yyval.op) = OperKinds::PlusAssn; } 5588 5588 break; … … 5591 5591 5592 5592 /* Line 1806 of yacc.c */ 5593 #line 62 6"parser.yy"5593 #line 627 "parser.yy" 5594 5594 { (yyval.op) = OperKinds::MinusAssn; } 5595 5595 break; … … 5598 5598 5599 5599 /* Line 1806 of yacc.c */ 5600 #line 62 7"parser.yy"5600 #line 628 "parser.yy" 5601 5601 { (yyval.op) = OperKinds::LSAssn; } 5602 5602 break; … … 5605 5605 5606 5606 /* Line 1806 of yacc.c */ 5607 #line 62 8"parser.yy"5607 #line 629 "parser.yy" 5608 5608 { (yyval.op) = OperKinds::RSAssn; } 5609 5609 break; … … 5612 5612 5613 5613 /* Line 1806 of yacc.c */ 5614 #line 6 29"parser.yy"5614 #line 630 "parser.yy" 5615 5615 { (yyval.op) = OperKinds::AndAssn; } 5616 5616 break; … … 5619 5619 5620 5620 /* Line 1806 of yacc.c */ 5621 #line 63 0"parser.yy"5621 #line 631 "parser.yy" 5622 5622 { (yyval.op) = OperKinds::ERAssn; } 5623 5623 break; … … 5626 5626 5627 5627 /* Line 1806 of yacc.c */ 5628 #line 63 1"parser.yy"5628 #line 632 "parser.yy" 5629 5629 { (yyval.op) = OperKinds::OrAssn; } 5630 5630 break; … … 5633 5633 5634 5634 /* Line 1806 of yacc.c */ 5635 #line 63 8"parser.yy"5635 #line 639 "parser.yy" 5636 5636 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5637 5637 break; … … 5640 5640 5641 5641 /* Line 1806 of yacc.c */ 5642 #line 64 0"parser.yy"5642 #line 641 "parser.yy" 5643 5643 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5644 5644 break; … … 5647 5647 5648 5648 /* Line 1806 of yacc.c */ 5649 #line 64 2"parser.yy"5649 #line 643 "parser.yy" 5650 5650 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5651 5651 break; … … 5654 5654 5655 5655 /* Line 1806 of yacc.c */ 5656 #line 64 4"parser.yy"5656 #line 645 "parser.yy" 5657 5657 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5658 5658 break; … … 5661 5661 5662 5662 /* Line 1806 of yacc.c */ 5663 #line 65 0"parser.yy"5663 #line 651 "parser.yy" 5664 5664 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5665 5665 break; … … 5668 5668 5669 5669 /* Line 1806 of yacc.c */ 5670 #line 65 6"parser.yy"5670 #line 657 "parser.yy" 5671 5671 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5672 5672 break; … … 5675 5675 5676 5676 /* Line 1806 of yacc.c */ 5677 #line 66 1"parser.yy"5677 #line 662 "parser.yy" 5678 5678 { (yyval.en) = 0; } 5679 5679 break; … … 5682 5682 5683 5683 /* Line 1806 of yacc.c */ 5684 #line 67 0"parser.yy"5684 #line 671 "parser.yy" 5685 5685 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5686 5686 break; … … 5689 5689 5690 5690 /* Line 1806 of yacc.c */ 5691 #line 67 7"parser.yy"5691 #line 678 "parser.yy" 5692 5692 { 5693 5693 Token fn; … … 5700 5700 5701 5701 /* Line 1806 of yacc.c */ 5702 #line 68 7"parser.yy"5702 #line 688 "parser.yy" 5703 5703 { 5704 5704 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5709 5709 5710 5710 /* Line 1806 of yacc.c */ 5711 #line 69 4"parser.yy"5711 #line 695 "parser.yy" 5712 5712 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5713 5713 break; … … 5716 5716 5717 5717 /* Line 1806 of yacc.c */ 5718 #line 70 1"parser.yy"5718 #line 702 "parser.yy" 5719 5719 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5720 5720 break; … … 5723 5723 5724 5724 /* Line 1806 of yacc.c */ 5725 #line 70 7"parser.yy"5725 #line 708 "parser.yy" 5726 5726 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5727 5727 break; … … 5730 5730 5731 5731 /* Line 1806 of yacc.c */ 5732 #line 71 2"parser.yy"5732 #line 713 "parser.yy" 5733 5733 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5734 5734 break; … … 5737 5737 5738 5738 /* Line 1806 of yacc.c */ 5739 #line 71 4"parser.yy"5739 #line 715 "parser.yy" 5740 5740 { // mark all fields in list 5741 5741 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5748 5748 5749 5749 /* Line 1806 of yacc.c */ 5750 #line 72 0"parser.yy"5750 #line 721 "parser.yy" 5751 5751 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5752 5752 break; … … 5755 5755 5756 5756 /* Line 1806 of yacc.c */ 5757 #line 72 7"parser.yy"5757 #line 728 "parser.yy" 5758 5758 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5759 5759 break; … … 5762 5762 5763 5763 /* Line 1806 of yacc.c */ 5764 #line 73 2"parser.yy"5764 #line 733 "parser.yy" 5765 5765 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5766 5766 break; … … 5769 5769 5770 5770 /* Line 1806 of yacc.c */ 5771 #line 73 8"parser.yy"5771 #line 739 "parser.yy" 5772 5772 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5773 5773 break; … … 5776 5776 5777 5777 /* Line 1806 of yacc.c */ 5778 #line 74 0"parser.yy"5778 #line 741 "parser.yy" 5779 5779 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5780 5780 break; … … 5783 5783 5784 5784 /* Line 1806 of yacc.c */ 5785 #line 74 2"parser.yy"5785 #line 743 "parser.yy" 5786 5786 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5787 5787 break; … … 5790 5790 5791 5791 /* Line 1806 of yacc.c */ 5792 #line 74 4"parser.yy"5792 #line 745 "parser.yy" 5793 5793 { 5794 5794 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5805 5805 5806 5806 /* Line 1806 of yacc.c */ 5807 #line 75 4"parser.yy"5807 #line 755 "parser.yy" 5808 5808 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5809 5809 break; … … 5812 5812 5813 5813 /* Line 1806 of yacc.c */ 5814 #line 75 6"parser.yy"5814 #line 757 "parser.yy" 5815 5815 { 5816 5816 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5822 5822 5823 5823 /* Line 1806 of yacc.c */ 5824 #line 76 6"parser.yy"5824 #line 767 "parser.yy" 5825 5825 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5826 5826 break; … … 5829 5829 5830 5830 /* Line 1806 of yacc.c */ 5831 #line 76 8"parser.yy"5831 #line 769 "parser.yy" 5832 5832 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5833 5833 break; … … 5836 5836 5837 5837 /* Line 1806 of yacc.c */ 5838 #line 77 3"parser.yy"5838 #line 774 "parser.yy" 5839 5839 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5840 5840 break; … … 5843 5843 5844 5844 /* Line 1806 of yacc.c */ 5845 #line 77 5"parser.yy"5845 #line 776 "parser.yy" 5846 5846 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5847 5847 break; … … 5850 5850 5851 5851 /* Line 1806 of yacc.c */ 5852 #line 7 79"parser.yy"5852 #line 780 "parser.yy" 5853 5853 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5854 5854 break; … … 5857 5857 5858 5858 /* Line 1806 of yacc.c */ 5859 #line 78 0"parser.yy"5859 #line 781 "parser.yy" 5860 5860 { (yyval.sn) = new StatementNode( build_default() ); } 5861 5861 break; … … 5864 5864 5865 5865 /* Line 1806 of yacc.c */ 5866 #line 78 6"parser.yy"5866 #line 787 "parser.yy" 5867 5867 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5868 5868 break; … … 5871 5871 5872 5872 /* Line 1806 of yacc.c */ 5873 #line 79 0"parser.yy"5873 #line 791 "parser.yy" 5874 5874 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5875 5875 break; … … 5878 5878 5879 5879 /* Line 1806 of yacc.c */ 5880 #line 79 5"parser.yy"5880 #line 796 "parser.yy" 5881 5881 { (yyval.sn) = 0; } 5882 5882 break; … … 5885 5885 5886 5886 /* Line 1806 of yacc.c */ 5887 #line 80 1"parser.yy"5887 #line 802 "parser.yy" 5888 5888 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5889 5889 break; … … 5892 5892 5893 5893 /* Line 1806 of yacc.c */ 5894 #line 80 3"parser.yy"5894 #line 804 "parser.yy" 5895 5895 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5896 5896 break; … … 5899 5899 5900 5900 /* Line 1806 of yacc.c */ 5901 #line 80 8"parser.yy"5901 #line 809 "parser.yy" 5902 5902 { (yyval.sn) = 0; } 5903 5903 break; … … 5906 5906 5907 5907 /* Line 1806 of yacc.c */ 5908 #line 81 4"parser.yy"5908 #line 815 "parser.yy" 5909 5909 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5910 5910 break; … … 5913 5913 5914 5914 /* Line 1806 of yacc.c */ 5915 #line 81 6"parser.yy"5915 #line 817 "parser.yy" 5916 5916 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5917 5917 break; … … 5920 5920 5921 5921 /* Line 1806 of yacc.c */ 5922 #line 81 8"parser.yy"5922 #line 819 "parser.yy" 5923 5923 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5924 5924 break; … … 5927 5927 5928 5928 /* Line 1806 of yacc.c */ 5929 #line 82 0"parser.yy"5929 #line 821 "parser.yy" 5930 5930 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5931 5931 break; … … 5934 5934 5935 5935 /* Line 1806 of yacc.c */ 5936 #line 82 5"parser.yy"5936 #line 826 "parser.yy" 5937 5937 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5938 5938 break; … … 5941 5941 5942 5942 /* Line 1806 of yacc.c */ 5943 #line 83 1"parser.yy"5943 #line 832 "parser.yy" 5944 5944 { (yyval.sn) = 0; } 5945 5945 break; … … 5948 5948 5949 5949 /* Line 1806 of yacc.c */ 5950 #line 83 3"parser.yy"5950 #line 834 "parser.yy" 5951 5951 { (yyval.sn) = 0; } 5952 5952 break; … … 5955 5955 5956 5956 /* Line 1806 of yacc.c */ 5957 #line 83 8"parser.yy"5957 #line 839 "parser.yy" 5958 5958 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5959 5959 break; … … 5962 5962 5963 5963 /* Line 1806 of yacc.c */ 5964 #line 84 0"parser.yy"5964 #line 841 "parser.yy" 5965 5965 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5966 5966 break; … … 5969 5969 5970 5970 /* Line 1806 of yacc.c */ 5971 #line 84 2"parser.yy"5971 #line 843 "parser.yy" 5972 5972 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5973 5973 break; … … 5976 5976 5977 5977 /* Line 1806 of yacc.c */ 5978 #line 84 7"parser.yy"5978 #line 848 "parser.yy" 5979 5979 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5980 5980 break; … … 5983 5983 5984 5984 /* Line 1806 of yacc.c */ 5985 #line 8 49"parser.yy"5985 #line 850 "parser.yy" 5986 5986 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5987 5987 break; … … 5990 5990 5991 5991 /* Line 1806 of yacc.c */ 5992 #line 85 4"parser.yy"5992 #line 855 "parser.yy" 5993 5993 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5994 5994 break; … … 5997 5997 5998 5998 /* Line 1806 of yacc.c */ 5999 #line 85 8"parser.yy"5999 #line 859 "parser.yy" 6000 6000 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 6001 6001 break; … … 6004 6004 6005 6005 /* Line 1806 of yacc.c */ 6006 #line 86 1"parser.yy"6006 #line 862 "parser.yy" 6007 6007 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 6008 6008 break; … … 6011 6011 6012 6012 /* Line 1806 of yacc.c */ 6013 #line 86 5"parser.yy"6013 #line 866 "parser.yy" 6014 6014 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 6015 6015 break; … … 6018 6018 6019 6019 /* Line 1806 of yacc.c */ 6020 #line 86 8"parser.yy"6020 #line 869 "parser.yy" 6021 6021 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 6022 6022 break; … … 6025 6025 6026 6026 /* Line 1806 of yacc.c */ 6027 #line 87 2"parser.yy"6027 #line 873 "parser.yy" 6028 6028 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 6029 6029 break; … … 6032 6032 6033 6033 /* Line 1806 of yacc.c */ 6034 #line 87 4"parser.yy"6034 #line 875 "parser.yy" 6035 6035 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6036 6036 break; … … 6039 6039 6040 6040 /* Line 1806 of yacc.c */ 6041 #line 87 6"parser.yy"6041 #line 877 "parser.yy" 6042 6042 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6043 6043 break; … … 6046 6046 6047 6047 /* Line 1806 of yacc.c */ 6048 #line 87 8"parser.yy"6048 #line 879 "parser.yy" 6049 6049 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6050 6050 break; … … 6053 6053 6054 6054 /* Line 1806 of yacc.c */ 6055 #line 88 0"parser.yy"6055 #line 881 "parser.yy" 6056 6056 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6057 6057 break; … … 6060 6060 6061 6061 /* Line 1806 of yacc.c */ 6062 #line 88 5"parser.yy"6062 #line 886 "parser.yy" 6063 6063 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6064 6064 break; … … 6067 6067 6068 6068 /* Line 1806 of yacc.c */ 6069 #line 88 7"parser.yy"6069 #line 888 "parser.yy" 6070 6070 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6071 6071 break; … … 6074 6074 6075 6075 /* Line 1806 of yacc.c */ 6076 #line 8 89"parser.yy"6076 #line 890 "parser.yy" 6077 6077 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6078 6078 break; … … 6081 6081 6082 6082 /* Line 1806 of yacc.c */ 6083 #line 89 6"parser.yy"6083 #line 897 "parser.yy" 6084 6084 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6085 6085 break; … … 6088 6088 6089 6089 /* Line 1806 of yacc.c */ 6090 #line 89 8"parser.yy"6090 #line 899 "parser.yy" 6091 6091 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6092 6092 break; … … 6095 6095 6096 6096 /* Line 1806 of yacc.c */ 6097 #line 90 0"parser.yy"6097 #line 901 "parser.yy" 6098 6098 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6099 6099 break; … … 6102 6102 6103 6103 /* Line 1806 of yacc.c */ 6104 #line 90 2"parser.yy"6104 #line 903 "parser.yy" 6105 6105 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6106 6106 break; … … 6109 6109 6110 6110 /* Line 1806 of yacc.c */ 6111 #line 90 7"parser.yy"6111 #line 908 "parser.yy" 6112 6112 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6113 6113 break; … … 6116 6116 6117 6117 /* Line 1806 of yacc.c */ 6118 #line 9 09"parser.yy"6118 #line 910 "parser.yy" 6119 6119 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6120 6120 break; … … 6123 6123 6124 6124 /* Line 1806 of yacc.c */ 6125 #line 91 1"parser.yy"6125 #line 912 "parser.yy" 6126 6126 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6127 6127 break; … … 6130 6130 6131 6131 /* Line 1806 of yacc.c */ 6132 #line 91 3"parser.yy"6132 #line 914 "parser.yy" 6133 6133 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6134 6134 break; … … 6137 6137 6138 6138 /* Line 1806 of yacc.c */ 6139 #line 91 8"parser.yy"6139 #line 919 "parser.yy" 6140 6140 { 6141 6141 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6146 6146 6147 6147 /* Line 1806 of yacc.c */ 6148 #line 93 1"parser.yy"6148 #line 932 "parser.yy" 6149 6149 { 6150 6150 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6156 6156 6157 6157 /* Line 1806 of yacc.c */ 6158 #line 93 6"parser.yy"6158 #line 937 "parser.yy" 6159 6159 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6160 6160 break; … … 6163 6163 6164 6164 /* Line 1806 of yacc.c */ 6165 #line 93 8"parser.yy"6165 #line 939 "parser.yy" 6166 6166 { 6167 6167 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6173 6173 6174 6174 /* Line 1806 of yacc.c */ 6175 #line 94 7"parser.yy"6175 #line 948 "parser.yy" 6176 6176 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6177 6177 break; … … 6180 6180 6181 6181 /* Line 1806 of yacc.c */ 6182 #line 9 49"parser.yy"6182 #line 950 "parser.yy" 6183 6183 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6184 6184 break; … … 6187 6187 6188 6188 /* Line 1806 of yacc.c */ 6189 #line 95 1"parser.yy"6189 #line 952 "parser.yy" 6190 6190 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6191 6191 break; … … 6194 6194 6195 6195 /* Line 1806 of yacc.c */ 6196 #line 95 3"parser.yy"6196 #line 954 "parser.yy" 6197 6197 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 6198 6198 break; … … 6201 6201 6202 6202 /* Line 1806 of yacc.c */ 6203 #line 95 5"parser.yy"6203 #line 956 "parser.yy" 6204 6204 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6205 6205 break; … … 6208 6208 6209 6209 /* Line 1806 of yacc.c */ 6210 #line 96 0"parser.yy"6210 #line 961 "parser.yy" 6211 6211 { (yyval.flag) = false; } 6212 6212 break; … … 6215 6215 6216 6216 /* Line 1806 of yacc.c */ 6217 #line 96 2"parser.yy"6217 #line 963 "parser.yy" 6218 6218 { (yyval.flag) = true; } 6219 6219 break; … … 6222 6222 6223 6223 /* Line 1806 of yacc.c */ 6224 #line 96 7"parser.yy"6224 #line 968 "parser.yy" 6225 6225 { (yyval.en) = 0; } 6226 6226 break; … … 6229 6229 6230 6230 /* Line 1806 of yacc.c */ 6231 #line 97 4"parser.yy"6231 #line 975 "parser.yy" 6232 6232 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6233 6233 break; … … 6236 6236 6237 6237 /* Line 1806 of yacc.c */ 6238 #line 9 79"parser.yy"6238 #line 980 "parser.yy" 6239 6239 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6240 6240 break; … … 6243 6243 6244 6244 /* Line 1806 of yacc.c */ 6245 #line 98 1"parser.yy"6245 #line 982 "parser.yy" 6246 6246 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6247 6247 break; … … 6250 6250 6251 6251 /* Line 1806 of yacc.c */ 6252 #line 98 6"parser.yy"6252 #line 987 "parser.yy" 6253 6253 { (yyval.en) = 0; } 6254 6254 break; … … 6257 6257 6258 6258 /* Line 1806 of yacc.c */ 6259 #line 98 8"parser.yy"6259 #line 989 "parser.yy" 6260 6260 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6261 6261 break; … … 6264 6264 6265 6265 /* Line 1806 of yacc.c */ 6266 #line 99 0"parser.yy"6266 #line 991 "parser.yy" 6267 6267 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6268 6268 break; … … 6271 6271 6272 6272 /* Line 1806 of yacc.c */ 6273 #line 99 5"parser.yy"6273 #line 996 "parser.yy" 6274 6274 { 6275 6275 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6281 6281 6282 6282 /* Line 1806 of yacc.c */ 6283 #line 100 0"parser.yy"6283 #line 1001 "parser.yy" 6284 6284 { 6285 6285 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6291 6291 6292 6292 /* Line 1806 of yacc.c */ 6293 #line 101 0"parser.yy"6293 #line 1011 "parser.yy" 6294 6294 { (yyval.decl) = 0; } 6295 6295 break; … … 6298 6298 6299 6299 /* Line 1806 of yacc.c */ 6300 #line 101 7"parser.yy"6300 #line 1018 "parser.yy" 6301 6301 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6302 6302 break; … … 6305 6305 6306 6306 /* Line 1806 of yacc.c */ 6307 #line 102 2"parser.yy"6307 #line 1023 "parser.yy" 6308 6308 { (yyval.decl) = 0; } 6309 6309 break; … … 6312 6312 6313 6313 /* Line 1806 of yacc.c */ 6314 #line 10 29"parser.yy"6314 #line 1030 "parser.yy" 6315 6315 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6316 6316 break; 6317 6317 6318 6318 case 247: 6319 6320 /* Line 1806 of yacc.c */6321 #line 1043 "parser.yy"6322 {}6323 break;6324 6325 case 248:6326 6319 6327 6320 /* Line 1806 of yacc.c */ … … 6330 6323 break; 6331 6324 6325 case 248: 6326 6327 /* Line 1806 of yacc.c */ 6328 #line 1045 "parser.yy" 6329 {} 6330 break; 6331 6332 6332 case 256: 6333 6333 6334 6334 /* Line 1806 of yacc.c */ 6335 #line 107 3"parser.yy"6335 #line 1074 "parser.yy" 6336 6336 { 6337 6337 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6343 6343 6344 6344 /* Line 1806 of yacc.c */ 6345 #line 108 0"parser.yy"6345 #line 1081 "parser.yy" 6346 6346 { 6347 6347 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6353 6353 6354 6354 /* Line 1806 of yacc.c */ 6355 #line 108 5"parser.yy"6355 #line 1086 "parser.yy" 6356 6356 { 6357 6357 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6363 6363 6364 6364 /* Line 1806 of yacc.c */ 6365 #line 109 5"parser.yy"6365 #line 1096 "parser.yy" 6366 6366 { 6367 6367 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6373 6373 6374 6374 /* Line 1806 of yacc.c */ 6375 #line 110 0"parser.yy"6375 #line 1101 "parser.yy" 6376 6376 { 6377 6377 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6383 6383 6384 6384 /* Line 1806 of yacc.c */ 6385 #line 110 5"parser.yy"6385 #line 1106 "parser.yy" 6386 6386 { 6387 6387 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6393 6393 6394 6394 /* Line 1806 of yacc.c */ 6395 #line 111 3"parser.yy"6395 #line 1114 "parser.yy" 6396 6396 { 6397 6397 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6403 6403 6404 6404 /* Line 1806 of yacc.c */ 6405 #line 111 8"parser.yy"6405 #line 1119 "parser.yy" 6406 6406 { 6407 6407 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6413 6413 6414 6414 /* Line 1806 of yacc.c */ 6415 #line 112 3"parser.yy"6415 #line 1124 "parser.yy" 6416 6416 { 6417 6417 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6423 6423 6424 6424 /* Line 1806 of yacc.c */ 6425 #line 112 8"parser.yy"6425 #line 1129 "parser.yy" 6426 6426 { 6427 6427 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6433 6433 6434 6434 /* Line 1806 of yacc.c */ 6435 #line 113 3"parser.yy"6435 #line 1134 "parser.yy" 6436 6436 { 6437 6437 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6443 6443 6444 6444 /* Line 1806 of yacc.c */ 6445 #line 114 1"parser.yy"6445 #line 1142 "parser.yy" 6446 6446 { 6447 6447 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6452 6452 6453 6453 /* Line 1806 of yacc.c */ 6454 #line 116 4"parser.yy"6454 #line 1165 "parser.yy" 6455 6455 { 6456 6456 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6461 6461 6462 6462 /* Line 1806 of yacc.c */ 6463 #line 116 8"parser.yy"6463 #line 1169 "parser.yy" 6464 6464 { 6465 6465 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6470 6470 6471 6471 /* Line 1806 of yacc.c */ 6472 #line 117 5"parser.yy"6472 #line 1176 "parser.yy" 6473 6473 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6474 6474 break; … … 6477 6477 6478 6478 /* Line 1806 of yacc.c */ 6479 #line 11 79"parser.yy"6479 #line 1180 "parser.yy" 6480 6480 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6481 6481 break; … … 6484 6484 6485 6485 /* Line 1806 of yacc.c */ 6486 #line 118 4"parser.yy"6486 #line 1185 "parser.yy" 6487 6487 { 6488 6488 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6494 6494 6495 6495 /* Line 1806 of yacc.c */ 6496 #line 11 89"parser.yy"6496 #line 1190 "parser.yy" 6497 6497 { 6498 6498 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6504 6504 6505 6505 /* Line 1806 of yacc.c */ 6506 #line 119 4"parser.yy"6506 #line 1195 "parser.yy" 6507 6507 { 6508 6508 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6514 6514 6515 6515 /* Line 1806 of yacc.c */ 6516 #line 120 5"parser.yy"6516 #line 1206 "parser.yy" 6517 6517 { 6518 6518 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6524 6524 6525 6525 /* Line 1806 of yacc.c */ 6526 #line 121 0"parser.yy"6526 #line 1211 "parser.yy" 6527 6527 { 6528 6528 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6534 6534 6535 6535 /* Line 1806 of yacc.c */ 6536 #line 121 5"parser.yy"6536 #line 1216 "parser.yy" 6537 6537 { 6538 6538 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6544 6544 6545 6545 /* Line 1806 of yacc.c */ 6546 #line 122 0"parser.yy"6546 #line 1221 "parser.yy" 6547 6547 { 6548 6548 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6554 6554 6555 6555 /* Line 1806 of yacc.c */ 6556 #line 122 5"parser.yy"6556 #line 1226 "parser.yy" 6557 6557 { 6558 6558 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6564 6564 6565 6565 /* Line 1806 of yacc.c */ 6566 #line 123 4"parser.yy"6566 #line 1235 "parser.yy" 6567 6567 { 6568 6568 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6574 6574 6575 6575 /* Line 1806 of yacc.c */ 6576 #line 12 39"parser.yy"6576 #line 1240 "parser.yy" 6577 6577 { 6578 6578 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6584 6584 6585 6585 /* Line 1806 of yacc.c */ 6586 #line 125 6"parser.yy"6586 #line 1257 "parser.yy" 6587 6587 { 6588 6588 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6594 6594 6595 6595 /* Line 1806 of yacc.c */ 6596 #line 126 1"parser.yy"6596 #line 1262 "parser.yy" 6597 6597 { 6598 6598 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6604 6604 6605 6605 /* Line 1806 of yacc.c */ 6606 #line 128 3"parser.yy"6606 #line 1284 "parser.yy" 6607 6607 { (yyval.decl) = 0; } 6608 6608 break; … … 6611 6611 6612 6612 /* Line 1806 of yacc.c */ 6613 #line 129 5"parser.yy"6613 #line 1296 "parser.yy" 6614 6614 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6615 6615 break; … … 6618 6618 6619 6619 /* Line 1806 of yacc.c */ 6620 #line 130 6"parser.yy"6620 #line 1307 "parser.yy" 6621 6621 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6622 6622 break; … … 6625 6625 6626 6626 /* Line 1806 of yacc.c */ 6627 #line 130 8"parser.yy"6627 #line 1309 "parser.yy" 6628 6628 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6629 6629 break; … … 6632 6632 6633 6633 /* Line 1806 of yacc.c */ 6634 #line 131 0"parser.yy"6634 #line 1311 "parser.yy" 6635 6635 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6636 6636 break; … … 6639 6639 6640 6640 /* Line 1806 of yacc.c */ 6641 #line 131 2"parser.yy"6641 #line 1313 "parser.yy" 6642 6642 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6643 6643 break; … … 6646 6646 6647 6647 /* Line 1806 of yacc.c */ 6648 #line 131 4"parser.yy"6648 #line 1315 "parser.yy" 6649 6649 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6650 6650 break; … … 6653 6653 6654 6654 /* Line 1806 of yacc.c */ 6655 #line 131 6"parser.yy"6655 #line 1317 "parser.yy" 6656 6656 { 6657 6657 typedefTable.enterScope(); … … 6662 6662 6663 6663 /* Line 1806 of yacc.c */ 6664 #line 132 0"parser.yy"6664 #line 1321 "parser.yy" 6665 6665 { 6666 6666 typedefTable.leaveScope(); … … 6672 6672 6673 6673 /* Line 1806 of yacc.c */ 6674 #line 13 29"parser.yy"6674 #line 1330 "parser.yy" 6675 6675 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6676 6676 break; … … 6679 6679 6680 6680 /* Line 1806 of yacc.c */ 6681 #line 133 1"parser.yy"6681 #line 1332 "parser.yy" 6682 6682 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6683 6683 break; … … 6686 6686 6687 6687 /* Line 1806 of yacc.c */ 6688 #line 134 2"parser.yy"6688 #line 1343 "parser.yy" 6689 6689 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6690 6690 break; … … 6693 6693 6694 6694 /* Line 1806 of yacc.c */ 6695 #line 134 7"parser.yy"6695 #line 1348 "parser.yy" 6696 6696 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6697 6697 break; … … 6700 6700 6701 6701 /* Line 1806 of yacc.c */ 6702 #line 13 49"parser.yy"6702 #line 1350 "parser.yy" 6703 6703 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6704 6704 break; … … 6707 6707 6708 6708 /* Line 1806 of yacc.c */ 6709 #line 135 1"parser.yy"6709 #line 1352 "parser.yy" 6710 6710 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6711 6711 break; … … 6714 6714 6715 6715 /* Line 1806 of yacc.c */ 6716 #line 135 3"parser.yy"6716 #line 1354 "parser.yy" 6717 6717 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6718 6718 break; … … 6721 6721 6722 6722 /* Line 1806 of yacc.c */ 6723 #line 135 6"parser.yy"6723 #line 1357 "parser.yy" 6724 6724 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6725 6725 break; … … 6728 6728 6729 6729 /* Line 1806 of yacc.c */ 6730 #line 135 8"parser.yy"6730 #line 1359 "parser.yy" 6731 6731 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6732 6732 break; … … 6735 6735 6736 6736 /* Line 1806 of yacc.c */ 6737 #line 136 1"parser.yy"6737 #line 1362 "parser.yy" 6738 6738 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6739 6739 break; … … 6742 6742 6743 6743 /* Line 1806 of yacc.c */ 6744 #line 136 3"parser.yy"6744 #line 1364 "parser.yy" 6745 6745 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6746 6746 break; … … 6749 6749 6750 6750 /* Line 1806 of yacc.c */ 6751 #line 136 8"parser.yy"6751 #line 1369 "parser.yy" 6752 6752 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6753 6753 break; … … 6756 6756 6757 6757 /* Line 1806 of yacc.c */ 6758 #line 137 0"parser.yy"6758 #line 1371 "parser.yy" 6759 6759 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6760 6760 break; … … 6763 6763 6764 6764 /* Line 1806 of yacc.c */ 6765 #line 137 2"parser.yy"6765 #line 1373 "parser.yy" 6766 6766 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6767 6767 break; … … 6770 6770 6771 6771 /* Line 1806 of yacc.c */ 6772 #line 137 4"parser.yy"6772 #line 1375 "parser.yy" 6773 6773 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6774 6774 break; … … 6777 6777 6778 6778 /* Line 1806 of yacc.c */ 6779 #line 137 6"parser.yy"6779 #line 1377 "parser.yy" 6780 6780 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6781 6781 break; … … 6784 6784 6785 6785 /* Line 1806 of yacc.c */ 6786 #line 137 8"parser.yy"6786 #line 1379 "parser.yy" 6787 6787 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6788 6788 break; … … 6791 6791 6792 6792 /* Line 1806 of yacc.c */ 6793 #line 138 0"parser.yy"6793 #line 1381 "parser.yy" 6794 6794 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6795 6795 break; … … 6798 6798 6799 6799 /* Line 1806 of yacc.c */ 6800 #line 138 2"parser.yy"6800 #line 1383 "parser.yy" 6801 6801 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6802 6802 break; … … 6805 6805 6806 6806 /* Line 1806 of yacc.c */ 6807 #line 138 4"parser.yy"6807 #line 1385 "parser.yy" 6808 6808 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6809 6809 break; … … 6812 6812 6813 6813 /* Line 1806 of yacc.c */ 6814 #line 138 6"parser.yy"6814 #line 1387 "parser.yy" 6815 6815 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6816 6816 break; … … 6819 6819 6820 6820 /* Line 1806 of yacc.c */ 6821 #line 138 8"parser.yy"6821 #line 1389 "parser.yy" 6822 6822 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6823 6823 break; … … 6826 6826 6827 6827 /* Line 1806 of yacc.c */ 6828 #line 139 0"parser.yy"6828 #line 1391 "parser.yy" 6829 6829 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6830 6830 break; … … 6833 6833 6834 6834 /* Line 1806 of yacc.c */ 6835 #line 139 2"parser.yy"6835 #line 1393 "parser.yy" 6836 6836 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6837 6837 break; … … 6840 6840 6841 6841 /* Line 1806 of yacc.c */ 6842 #line 1 399"parser.yy"6842 #line 1400 "parser.yy" 6843 6843 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6844 6844 break; … … 6847 6847 6848 6848 /* Line 1806 of yacc.c */ 6849 #line 140 1"parser.yy"6849 #line 1402 "parser.yy" 6850 6850 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6851 6851 break; … … 6854 6854 6855 6855 /* Line 1806 of yacc.c */ 6856 #line 140 3"parser.yy"6856 #line 1404 "parser.yy" 6857 6857 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6858 6858 break; … … 6861 6861 6862 6862 /* Line 1806 of yacc.c */ 6863 #line 140 5"parser.yy"6863 #line 1406 "parser.yy" 6864 6864 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6865 6865 break; … … 6868 6868 6869 6869 /* Line 1806 of yacc.c */ 6870 #line 141 1"parser.yy"6870 #line 1412 "parser.yy" 6871 6871 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6872 6872 break; … … 6875 6875 6876 6876 /* Line 1806 of yacc.c */ 6877 #line 141 8"parser.yy"6877 #line 1419 "parser.yy" 6878 6878 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6879 6879 break; … … 6882 6882 6883 6883 /* Line 1806 of yacc.c */ 6884 #line 142 0"parser.yy"6884 #line 1421 "parser.yy" 6885 6885 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6886 6886 break; … … 6889 6889 6890 6890 /* Line 1806 of yacc.c */ 6891 #line 142 2"parser.yy"6891 #line 1423 "parser.yy" 6892 6892 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6893 6893 break; … … 6896 6896 6897 6897 /* Line 1806 of yacc.c */ 6898 #line 142 7"parser.yy"6898 #line 1428 "parser.yy" 6899 6899 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6900 6900 break; … … 6903 6903 6904 6904 /* Line 1806 of yacc.c */ 6905 #line 14 29"parser.yy"6905 #line 1430 "parser.yy" 6906 6906 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6907 6907 break; … … 6910 6910 6911 6911 /* Line 1806 of yacc.c */ 6912 #line 143 1"parser.yy"6912 #line 1432 "parser.yy" 6913 6913 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6914 6914 break; … … 6917 6917 6918 6918 /* Line 1806 of yacc.c */ 6919 #line 143 3"parser.yy"6919 #line 1434 "parser.yy" 6920 6920 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6921 6921 break; … … 6924 6924 6925 6925 /* Line 1806 of yacc.c */ 6926 #line 14 39"parser.yy"6926 #line 1440 "parser.yy" 6927 6927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6928 6928 break; … … 6931 6931 6932 6932 /* Line 1806 of yacc.c */ 6933 #line 144 1"parser.yy"6933 #line 1442 "parser.yy" 6934 6934 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6935 6935 break; … … 6938 6938 6939 6939 /* Line 1806 of yacc.c */ 6940 #line 144 3"parser.yy"6940 #line 1444 "parser.yy" 6941 6941 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6942 6942 break; … … 6945 6945 6946 6946 /* Line 1806 of yacc.c */ 6947 #line 14 49"parser.yy"6947 #line 1450 "parser.yy" 6948 6948 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6949 6949 break; … … 6952 6952 6953 6953 /* Line 1806 of yacc.c */ 6954 #line 145 1"parser.yy"6954 #line 1452 "parser.yy" 6955 6955 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6956 6956 break; … … 6959 6959 6960 6960 /* Line 1806 of yacc.c */ 6961 #line 145 7"parser.yy"6961 #line 1458 "parser.yy" 6962 6962 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6963 6963 break; … … 6966 6966 6967 6967 /* Line 1806 of yacc.c */ 6968 #line 14 59"parser.yy"6968 #line 1460 "parser.yy" 6969 6969 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6970 6970 break; … … 6973 6973 6974 6974 /* Line 1806 of yacc.c */ 6975 #line 146 1"parser.yy"6975 #line 1462 "parser.yy" 6976 6976 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6977 6977 break; … … 6980 6980 6981 6981 /* Line 1806 of yacc.c */ 6982 #line 146 6"parser.yy"6982 #line 1467 "parser.yy" 6983 6983 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6984 6984 break; … … 6987 6987 6988 6988 /* Line 1806 of yacc.c */ 6989 #line 146 8"parser.yy"6989 #line 1469 "parser.yy" 6990 6990 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6991 6991 break; … … 6994 6994 6995 6995 /* Line 1806 of yacc.c */ 6996 #line 147 0"parser.yy"6996 #line 1471 "parser.yy" 6997 6997 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6998 6998 break; … … 7001 7001 7002 7002 /* Line 1806 of yacc.c */ 7003 #line 148 0"parser.yy"7003 #line 1481 "parser.yy" 7004 7004 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 7005 7005 break; … … 7008 7008 7009 7009 /* Line 1806 of yacc.c */ 7010 #line 148 2"parser.yy"7010 #line 1483 "parser.yy" 7011 7011 { 7012 7012 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7018 7018 7019 7019 /* Line 1806 of yacc.c */ 7020 #line 148 7"parser.yy"7020 #line 1488 "parser.yy" 7021 7021 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7022 7022 break; … … 7025 7025 7026 7026 /* Line 1806 of yacc.c */ 7027 #line 14 89"parser.yy"7027 #line 1490 "parser.yy" 7028 7028 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 7029 7029 break; … … 7032 7032 7033 7033 /* Line 1806 of yacc.c */ 7034 #line 149 1"parser.yy"7034 #line 1492 "parser.yy" 7035 7035 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7036 7036 break; … … 7039 7039 7040 7040 /* Line 1806 of yacc.c */ 7041 #line 149 3"parser.yy"7041 #line 1494 "parser.yy" 7042 7042 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7043 7043 break; … … 7046 7046 7047 7047 /* Line 1806 of yacc.c */ 7048 #line 149 8"parser.yy"7048 #line 1499 "parser.yy" 7049 7049 { (yyval.aggKey) = DeclarationNode::Struct; } 7050 7050 break; … … 7053 7053 7054 7054 /* Line 1806 of yacc.c */ 7055 #line 150 0"parser.yy"7055 #line 1501 "parser.yy" 7056 7056 { (yyval.aggKey) = DeclarationNode::Union; } 7057 7057 break; … … 7060 7060 7061 7061 /* Line 1806 of yacc.c */ 7062 #line 150 5"parser.yy"7062 #line 1506 "parser.yy" 7063 7063 { (yyval.decl) = 0; } 7064 7064 break; … … 7067 7067 7068 7068 /* Line 1806 of yacc.c */ 7069 #line 150 7"parser.yy"7069 #line 1508 "parser.yy" 7070 7070 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7071 7071 break; … … 7074 7074 7075 7075 /* Line 1806 of yacc.c */ 7076 #line 151 3"parser.yy"7076 #line 1514 "parser.yy" 7077 7077 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7078 7078 break; … … 7081 7081 7082 7082 /* Line 1806 of yacc.c */ 7083 #line 151 6"parser.yy"7083 #line 1517 "parser.yy" 7084 7084 { // mark all fields in list 7085 7085 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7092 7092 7093 7093 /* Line 1806 of yacc.c */ 7094 #line 152 6"parser.yy"7094 #line 1527 "parser.yy" 7095 7095 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7096 7096 break; … … 7099 7099 7100 7100 /* Line 1806 of yacc.c */ 7101 #line 152 8"parser.yy"7101 #line 1529 "parser.yy" 7102 7102 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7103 7103 break; … … 7106 7106 7107 7107 /* Line 1806 of yacc.c */ 7108 #line 153 0"parser.yy"7108 #line 1531 "parser.yy" 7109 7109 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7110 7110 break; … … 7113 7113 7114 7114 /* Line 1806 of yacc.c */ 7115 #line 153 5"parser.yy"7115 #line 1536 "parser.yy" 7116 7116 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7117 7117 break; … … 7120 7120 7121 7121 /* Line 1806 of yacc.c */ 7122 #line 153 7"parser.yy"7122 #line 1538 "parser.yy" 7123 7123 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7124 7124 break; … … 7127 7127 7128 7128 /* Line 1806 of yacc.c */ 7129 #line 154 2"parser.yy"7129 #line 1543 "parser.yy" 7130 7130 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7131 7131 break; … … 7134 7134 7135 7135 /* Line 1806 of yacc.c */ 7136 #line 154 4"parser.yy"7136 #line 1545 "parser.yy" 7137 7137 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7138 7138 break; … … 7141 7141 7142 7142 /* Line 1806 of yacc.c */ 7143 #line 154 7"parser.yy"7143 #line 1548 "parser.yy" 7144 7144 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7145 7145 break; … … 7148 7148 7149 7149 /* Line 1806 of yacc.c */ 7150 #line 155 0"parser.yy"7150 #line 1551 "parser.yy" 7151 7151 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7152 7152 break; … … 7155 7155 7156 7156 /* Line 1806 of yacc.c */ 7157 #line 155 6"parser.yy"7157 #line 1557 "parser.yy" 7158 7158 { (yyval.en) = 0; } 7159 7159 break; … … 7162 7162 7163 7163 /* Line 1806 of yacc.c */ 7164 #line 155 8"parser.yy"7164 #line 1559 "parser.yy" 7165 7165 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7166 7166 break; … … 7169 7169 7170 7170 /* Line 1806 of yacc.c */ 7171 #line 156 3"parser.yy"7171 #line 1564 "parser.yy" 7172 7172 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7173 7173 break; … … 7176 7176 7177 7177 /* Line 1806 of yacc.c */ 7178 #line 157 2"parser.yy"7178 #line 1573 "parser.yy" 7179 7179 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7180 7180 break; … … 7183 7183 7184 7184 /* Line 1806 of yacc.c */ 7185 #line 157 4"parser.yy"7185 #line 1575 "parser.yy" 7186 7186 { 7187 7187 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7193 7193 7194 7194 /* Line 1806 of yacc.c */ 7195 #line 15 79"parser.yy"7195 #line 1580 "parser.yy" 7196 7196 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7197 7197 break; … … 7200 7200 7201 7201 /* Line 1806 of yacc.c */ 7202 #line 158 1"parser.yy"7202 #line 1582 "parser.yy" 7203 7203 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7204 7204 break; … … 7207 7207 7208 7208 /* Line 1806 of yacc.c */ 7209 #line 158 6"parser.yy"7209 #line 1587 "parser.yy" 7210 7210 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7211 7211 break; … … 7214 7214 7215 7215 /* Line 1806 of yacc.c */ 7216 #line 158 8"parser.yy"7216 #line 1589 "parser.yy" 7217 7217 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7218 7218 break; … … 7221 7221 7222 7222 /* Line 1806 of yacc.c */ 7223 #line 159 3"parser.yy"7223 #line 1594 "parser.yy" 7224 7224 { (yyval.en) = 0; } 7225 7225 break; … … 7228 7228 7229 7229 /* Line 1806 of yacc.c */ 7230 #line 159 5"parser.yy"7230 #line 1596 "parser.yy" 7231 7231 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7232 7232 break; … … 7235 7235 7236 7236 /* Line 1806 of yacc.c */ 7237 #line 160 2"parser.yy"7237 #line 1603 "parser.yy" 7238 7238 { (yyval.decl) = 0; } 7239 7239 break; … … 7242 7242 7243 7243 /* Line 1806 of yacc.c */ 7244 #line 161 0"parser.yy"7244 #line 1611 "parser.yy" 7245 7245 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7246 7246 break; … … 7249 7249 7250 7250 /* Line 1806 of yacc.c */ 7251 #line 161 2"parser.yy"7251 #line 1613 "parser.yy" 7252 7252 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7253 7253 break; … … 7256 7256 7257 7257 /* Line 1806 of yacc.c */ 7258 #line 161 4"parser.yy"7258 #line 1615 "parser.yy" 7259 7259 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7260 7260 break; … … 7263 7263 7264 7264 /* Line 1806 of yacc.c */ 7265 #line 162 2"parser.yy"7265 #line 1623 "parser.yy" 7266 7266 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7267 7267 break; … … 7270 7270 7271 7271 /* Line 1806 of yacc.c */ 7272 #line 162 4"parser.yy"7272 #line 1625 "parser.yy" 7273 7273 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7274 7274 break; … … 7277 7277 7278 7278 /* Line 1806 of yacc.c */ 7279 #line 162 6"parser.yy"7279 #line 1627 "parser.yy" 7280 7280 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7281 7281 break; … … 7284 7284 7285 7285 /* Line 1806 of yacc.c */ 7286 #line 163 2"parser.yy"7286 #line 1633 "parser.yy" 7287 7287 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7288 7288 break; … … 7291 7291 7292 7292 /* Line 1806 of yacc.c */ 7293 #line 163 7"parser.yy"7293 #line 1638 "parser.yy" 7294 7294 { (yyval.decl) = 0; } 7295 7295 break; … … 7298 7298 7299 7299 /* Line 1806 of yacc.c */ 7300 #line 164 4"parser.yy"7300 #line 1645 "parser.yy" 7301 7301 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7302 7302 break; … … 7305 7305 7306 7306 /* Line 1806 of yacc.c */ 7307 #line 165 1"parser.yy"7307 #line 1652 "parser.yy" 7308 7308 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7309 7309 break; … … 7312 7312 7313 7313 /* Line 1806 of yacc.c */ 7314 #line 165 3"parser.yy"7314 #line 1654 "parser.yy" 7315 7315 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7316 7316 break; … … 7319 7319 7320 7320 /* Line 1806 of yacc.c */ 7321 #line 166 2"parser.yy"7321 #line 1663 "parser.yy" 7322 7322 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7323 7323 break; … … 7326 7326 7327 7327 /* Line 1806 of yacc.c */ 7328 #line 166 5"parser.yy"7328 #line 1666 "parser.yy" 7329 7329 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7330 7330 break; … … 7333 7333 7334 7334 /* Line 1806 of yacc.c */ 7335 #line 166 7"parser.yy"7335 #line 1668 "parser.yy" 7336 7336 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7337 7337 break; … … 7340 7340 7341 7341 /* Line 1806 of yacc.c */ 7342 #line 167 7"parser.yy"7342 #line 1678 "parser.yy" 7343 7343 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7344 7344 break; … … 7347 7347 7348 7348 /* Line 1806 of yacc.c */ 7349 #line 168 3"parser.yy"7349 #line 1684 "parser.yy" 7350 7350 { 7351 7351 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7357 7357 7358 7358 /* Line 1806 of yacc.c */ 7359 #line 168 8"parser.yy"7359 #line 1689 "parser.yy" 7360 7360 { 7361 7361 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7367 7367 7368 7368 /* Line 1806 of yacc.c */ 7369 #line 169 7"parser.yy"7369 #line 1698 "parser.yy" 7370 7370 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7371 7371 break; … … 7374 7374 7375 7375 /* Line 1806 of yacc.c */ 7376 #line 170 6"parser.yy"7376 #line 1707 "parser.yy" 7377 7377 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7378 7378 break; … … 7381 7381 7382 7382 /* Line 1806 of yacc.c */ 7383 #line 170 8"parser.yy"7383 #line 1709 "parser.yy" 7384 7384 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7385 7385 break; … … 7388 7388 7389 7389 /* Line 1806 of yacc.c */ 7390 #line 173 3"parser.yy"7390 #line 1734 "parser.yy" 7391 7391 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7392 7392 break; … … 7395 7395 7396 7396 /* Line 1806 of yacc.c */ 7397 #line 174 1"parser.yy"7397 #line 1742 "parser.yy" 7398 7398 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7399 7399 break; … … 7402 7402 7403 7403 /* Line 1806 of yacc.c */ 7404 #line 174 6"parser.yy"7404 #line 1747 "parser.yy" 7405 7405 { (yyval.in) = 0; } 7406 7406 break; … … 7409 7409 7410 7410 /* Line 1806 of yacc.c */ 7411 #line 174 8"parser.yy"7411 #line 1749 "parser.yy" 7412 7412 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7413 7413 break; … … 7416 7416 7417 7417 /* Line 1806 of yacc.c */ 7418 #line 175 0"parser.yy"7418 #line 1751 "parser.yy" 7419 7419 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7420 7420 break; … … 7423 7423 7424 7424 /* Line 1806 of yacc.c */ 7425 #line 175 4"parser.yy"7425 #line 1755 "parser.yy" 7426 7426 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7427 7427 break; … … 7430 7430 7431 7431 /* Line 1806 of yacc.c */ 7432 #line 175 5"parser.yy"7432 #line 1756 "parser.yy" 7433 7433 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7434 7434 break; … … 7437 7437 7438 7438 /* Line 1806 of yacc.c */ 7439 #line 176 0"parser.yy"7439 #line 1761 "parser.yy" 7440 7440 { (yyval.in) = 0; } 7441 7441 break; … … 7444 7444 7445 7445 /* Line 1806 of yacc.c */ 7446 #line 176 2"parser.yy"7446 #line 1763 "parser.yy" 7447 7447 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7448 7448 break; … … 7451 7451 7452 7452 /* Line 1806 of yacc.c */ 7453 #line 176 3"parser.yy"7453 #line 1764 "parser.yy" 7454 7454 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7455 7455 break; … … 7458 7458 7459 7459 /* Line 1806 of yacc.c */ 7460 #line 176 5"parser.yy"7460 #line 1766 "parser.yy" 7461 7461 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7462 7462 break; … … 7465 7465 7466 7466 /* Line 1806 of yacc.c */ 7467 #line 178 1"parser.yy"7467 #line 1782 "parser.yy" 7468 7468 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7469 7469 break; … … 7472 7472 7473 7473 /* Line 1806 of yacc.c */ 7474 #line 178 7"parser.yy"7474 #line 1788 "parser.yy" 7475 7475 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7476 7476 break; … … 7479 7479 7480 7480 /* Line 1806 of yacc.c */ 7481 #line 179 3"parser.yy"7481 #line 1794 "parser.yy" 7482 7482 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7483 7483 break; … … 7486 7486 7487 7487 /* Line 1806 of yacc.c */ 7488 #line 179 6"parser.yy"7488 #line 1797 "parser.yy" 7489 7489 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7490 7490 break; … … 7493 7493 7494 7494 /* Line 1806 of yacc.c */ 7495 #line 179 8"parser.yy"7495 #line 1799 "parser.yy" 7496 7496 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7497 7497 break; … … 7500 7500 7501 7501 /* Line 1806 of yacc.c */ 7502 #line 180 0"parser.yy"7502 #line 1801 "parser.yy" 7503 7503 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7504 7504 break; … … 7507 7507 7508 7508 /* Line 1806 of yacc.c */ 7509 #line 180 2"parser.yy"7509 #line 1803 "parser.yy" 7510 7510 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7511 7511 break; … … 7514 7514 7515 7515 /* Line 1806 of yacc.c */ 7516 #line 182 6"parser.yy"7516 #line 1827 "parser.yy" 7517 7517 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7518 7518 break; … … 7521 7521 7522 7522 /* Line 1806 of yacc.c */ 7523 #line 182 8"parser.yy"7523 #line 1829 "parser.yy" 7524 7524 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7525 7525 break; … … 7528 7528 7529 7529 /* Line 1806 of yacc.c */ 7530 #line 183 0"parser.yy"7530 #line 1831 "parser.yy" 7531 7531 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7532 7532 break; … … 7535 7535 7536 7536 /* Line 1806 of yacc.c */ 7537 #line 183 6"parser.yy"7537 #line 1837 "parser.yy" 7538 7538 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7539 7539 break; … … 7542 7542 7543 7543 /* Line 1806 of yacc.c */ 7544 #line 183 8"parser.yy"7544 #line 1839 "parser.yy" 7545 7545 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7546 7546 break; … … 7549 7549 7550 7550 /* Line 1806 of yacc.c */ 7551 #line 184 3"parser.yy"7551 #line 1844 "parser.yy" 7552 7552 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7553 7553 break; … … 7556 7556 7557 7557 /* Line 1806 of yacc.c */ 7558 #line 18 49"parser.yy"7558 #line 1850 "parser.yy" 7559 7559 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7560 7560 break; … … 7563 7563 7564 7564 /* Line 1806 of yacc.c */ 7565 #line 185 4"parser.yy"7565 #line 1855 "parser.yy" 7566 7566 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7567 7567 break; … … 7570 7570 7571 7571 /* Line 1806 of yacc.c */ 7572 #line 185 6"parser.yy"7572 #line 1857 "parser.yy" 7573 7573 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7574 7574 break; … … 7577 7577 7578 7578 /* Line 1806 of yacc.c */ 7579 #line 186 2"parser.yy"7579 #line 1863 "parser.yy" 7580 7580 { (yyval.tclass) = DeclarationNode::Otype; } 7581 7581 break; … … 7584 7584 7585 7585 /* Line 1806 of yacc.c */ 7586 #line 186 4"parser.yy"7586 #line 1865 "parser.yy" 7587 7587 { (yyval.tclass) = DeclarationNode::Ftype; } 7588 7588 break; … … 7591 7591 7592 7592 /* Line 1806 of yacc.c */ 7593 #line 186 6"parser.yy"7593 #line 1867 "parser.yy" 7594 7594 { (yyval.tclass) = DeclarationNode::Dtype; } 7595 7595 break; … … 7598 7598 7599 7599 /* Line 1806 of yacc.c */ 7600 #line 187 1"parser.yy"7600 #line 1872 "parser.yy" 7601 7601 { (yyval.decl) = 0; } 7602 7602 break; … … 7605 7605 7606 7606 /* Line 1806 of yacc.c */ 7607 #line 187 3"parser.yy"7607 #line 1874 "parser.yy" 7608 7608 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7609 7609 break; … … 7612 7612 7613 7613 /* Line 1806 of yacc.c */ 7614 #line 187 8"parser.yy"7614 #line 1879 "parser.yy" 7615 7615 { 7616 7616 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7622 7622 7623 7623 /* Line 1806 of yacc.c */ 7624 #line 188 3"parser.yy"7624 #line 1884 "parser.yy" 7625 7625 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7626 7626 break; … … 7629 7629 7630 7630 /* Line 1806 of yacc.c */ 7631 #line 188 5"parser.yy"7631 #line 1886 "parser.yy" 7632 7632 { (yyval.decl) = 0; } 7633 7633 break; … … 7636 7636 7637 7637 /* Line 1806 of yacc.c */ 7638 #line 189 0"parser.yy"7638 #line 1891 "parser.yy" 7639 7639 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7640 7640 break; … … 7643 7643 7644 7644 /* Line 1806 of yacc.c */ 7645 #line 189 3"parser.yy"7645 #line 1894 "parser.yy" 7646 7646 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7647 7647 break; … … 7650 7650 7651 7651 /* Line 1806 of yacc.c */ 7652 #line 189 5"parser.yy"7652 #line 1896 "parser.yy" 7653 7653 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7654 7654 break; … … 7657 7657 7658 7658 /* Line 1806 of yacc.c */ 7659 #line 190 0"parser.yy"7659 #line 1901 "parser.yy" 7660 7660 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7661 7661 break; … … 7664 7664 7665 7665 /* Line 1806 of yacc.c */ 7666 #line 190 2"parser.yy"7666 #line 1903 "parser.yy" 7667 7667 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7668 7668 break; … … 7671 7671 7672 7672 /* Line 1806 of yacc.c */ 7673 #line 190 4"parser.yy"7673 #line 1905 "parser.yy" 7674 7674 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7675 7675 break; … … 7678 7678 7679 7679 /* Line 1806 of yacc.c */ 7680 #line 19 09"parser.yy"7680 #line 1910 "parser.yy" 7681 7681 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7682 7682 break; … … 7685 7685 7686 7686 /* Line 1806 of yacc.c */ 7687 #line 191 1"parser.yy"7687 #line 1912 "parser.yy" 7688 7688 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7689 7689 break; … … 7692 7692 7693 7693 /* Line 1806 of yacc.c */ 7694 #line 191 6"parser.yy"7694 #line 1917 "parser.yy" 7695 7695 { 7696 7696 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7702 7702 7703 7703 /* Line 1806 of yacc.c */ 7704 #line 192 1"parser.yy"7704 #line 1922 "parser.yy" 7705 7705 { 7706 7706 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7712 7712 7713 7713 /* Line 1806 of yacc.c */ 7714 #line 19 29"parser.yy"7714 #line 1930 "parser.yy" 7715 7715 { 7716 7716 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7722 7722 7723 7723 /* Line 1806 of yacc.c */ 7724 #line 193 4"parser.yy"7724 #line 1935 "parser.yy" 7725 7725 { 7726 7726 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7732 7732 7733 7733 /* Line 1806 of yacc.c */ 7734 #line 19 39"parser.yy"7734 #line 1940 "parser.yy" 7735 7735 { 7736 7736 typedefTable.leaveTrait(); … … 7743 7743 7744 7744 /* Line 1806 of yacc.c */ 7745 #line 19 49"parser.yy"7745 #line 1950 "parser.yy" 7746 7746 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7747 7747 break; … … 7750 7750 7751 7751 /* Line 1806 of yacc.c */ 7752 #line 19 59"parser.yy"7752 #line 1960 "parser.yy" 7753 7753 { 7754 7754 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7760 7760 7761 7761 /* Line 1806 of yacc.c */ 7762 #line 196 4"parser.yy"7762 #line 1965 "parser.yy" 7763 7763 { 7764 7764 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7770 7770 7771 7771 /* Line 1806 of yacc.c */ 7772 #line 19 69"parser.yy"7772 #line 1970 "parser.yy" 7773 7773 { 7774 7774 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7780 7780 7781 7781 /* Line 1806 of yacc.c */ 7782 #line 197 7"parser.yy"7782 #line 1978 "parser.yy" 7783 7783 { 7784 7784 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7790 7790 7791 7791 /* Line 1806 of yacc.c */ 7792 #line 198 2"parser.yy"7792 #line 1983 "parser.yy" 7793 7793 { 7794 7794 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7800 7800 7801 7801 /* Line 1806 of yacc.c */ 7802 #line 199 2"parser.yy"7802 #line 1993 "parser.yy" 7803 7803 {} 7804 7804 break; … … 7807 7807 7808 7808 /* Line 1806 of yacc.c */ 7809 #line 199 4"parser.yy"7809 #line 1995 "parser.yy" 7810 7810 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7811 7811 break; … … 7814 7814 7815 7815 /* Line 1806 of yacc.c */ 7816 #line 200 0"parser.yy"7816 #line 2001 "parser.yy" 7817 7817 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7818 7818 break; … … 7821 7821 7822 7822 /* Line 1806 of yacc.c */ 7823 #line 200 5"parser.yy"7823 #line 2006 "parser.yy" 7824 7824 { (yyval.decl) = 0; } 7825 7825 break; … … 7828 7828 7829 7829 /* Line 1806 of yacc.c */ 7830 #line 201 3"parser.yy"7830 #line 2014 "parser.yy" 7831 7831 {} 7832 7832 break; … … 7835 7835 7836 7836 /* Line 1806 of yacc.c */ 7837 #line 201 5"parser.yy"7837 #line 2016 "parser.yy" 7838 7838 { 7839 7839 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7845 7845 7846 7846 /* Line 1806 of yacc.c */ 7847 #line 202 0"parser.yy"7847 #line 2021 "parser.yy" 7848 7848 { 7849 7849 linkage = linkageStack.top(); … … 7856 7856 7857 7857 /* Line 1806 of yacc.c */ 7858 #line 202 6"parser.yy"7858 #line 2027 "parser.yy" 7859 7859 { // mark all fields in list 7860 7860 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7867 7867 7868 7868 /* Line 1806 of yacc.c */ 7869 #line 204 1"parser.yy"7869 #line 2042 "parser.yy" 7870 7870 { 7871 7871 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7878 7878 7879 7879 /* Line 1806 of yacc.c */ 7880 #line 204 7"parser.yy"7880 #line 2048 "parser.yy" 7881 7881 { 7882 7882 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7889 7889 7890 7890 /* Line 1806 of yacc.c */ 7891 #line 205 6"parser.yy"7891 #line 2057 "parser.yy" 7892 7892 { 7893 7893 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7900 7900 7901 7901 /* Line 1806 of yacc.c */ 7902 #line 206 2"parser.yy"7902 #line 2063 "parser.yy" 7903 7903 { 7904 7904 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7911 7911 7912 7912 /* Line 1806 of yacc.c */ 7913 #line 206 8"parser.yy"7913 #line 2069 "parser.yy" 7914 7914 { 7915 7915 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7922 7922 7923 7923 /* Line 1806 of yacc.c */ 7924 #line 207 4"parser.yy"7924 #line 2075 "parser.yy" 7925 7925 { 7926 7926 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7933 7933 7934 7934 /* Line 1806 of yacc.c */ 7935 #line 208 0"parser.yy"7935 #line 2081 "parser.yy" 7936 7936 { 7937 7937 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7944 7944 7945 7945 /* Line 1806 of yacc.c */ 7946 #line 208 8"parser.yy"7946 #line 2089 "parser.yy" 7947 7947 { 7948 7948 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7955 7955 7956 7956 /* Line 1806 of yacc.c */ 7957 #line 209 4"parser.yy"7957 #line 2095 "parser.yy" 7958 7958 { 7959 7959 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7966 7966 7967 7967 /* Line 1806 of yacc.c */ 7968 #line 210 2"parser.yy"7968 #line 2103 "parser.yy" 7969 7969 { 7970 7970 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7977 7977 7978 7978 /* Line 1806 of yacc.c */ 7979 #line 210 8"parser.yy"7979 #line 2109 "parser.yy" 7980 7980 { 7981 7981 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7988 7988 7989 7989 /* Line 1806 of yacc.c */ 7990 #line 212 3"parser.yy"7990 #line 2124 "parser.yy" 7991 7991 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7992 7992 break; … … 7995 7995 7996 7996 /* Line 1806 of yacc.c */ 7997 #line 212 8"parser.yy"7997 #line 2129 "parser.yy" 7998 7998 { delete (yyvsp[(3) - (5)].str); } 7999 7999 break; … … 8002 8002 8003 8003 /* Line 1806 of yacc.c */ 8004 #line 213 3"parser.yy"8004 #line 2134 "parser.yy" 8005 8005 { (yyval.decl) = 0; } 8006 8006 break; … … 8009 8009 8010 8010 /* Line 1806 of yacc.c */ 8011 #line 214 0"parser.yy"8011 #line 2141 "parser.yy" 8012 8012 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8013 8013 break; … … 8016 8016 8017 8017 /* Line 1806 of yacc.c */ 8018 #line 214 6"parser.yy"8018 #line 2147 "parser.yy" 8019 8019 { (yyval.decl) = 0; } 8020 8020 break; … … 8023 8023 8024 8024 /* Line 1806 of yacc.c */ 8025 #line 215 7"parser.yy"8025 #line 2158 "parser.yy" 8026 8026 { delete (yyvsp[(3) - (4)].en); } 8027 8027 break; … … 8030 8030 8031 8031 /* Line 1806 of yacc.c */ 8032 #line 216 1"parser.yy"8032 #line 2162 "parser.yy" 8033 8033 { delete (yyvsp[(1) - (1)].tok); } 8034 8034 break; 8035 8035 8036 8036 case 560: 8037 8038 /* Line 1806 of yacc.c */8039 #line 2162 "parser.yy"8040 { delete (yyvsp[(1) - (1)].decl); }8041 break;8042 8043 case 561:8044 8037 8045 8038 /* Line 1806 of yacc.c */ … … 8048 8041 break; 8049 8042 8050 case 56 2:8043 case 561: 8051 8044 8052 8045 /* Line 1806 of yacc.c */ … … 8055 8048 break; 8056 8049 8050 case 562: 8051 8052 /* Line 1806 of yacc.c */ 8053 #line 2165 "parser.yy" 8054 { delete (yyvsp[(1) - (1)].decl); } 8055 break; 8056 8057 8057 case 563: 8058 8058 8059 8059 /* Line 1806 of yacc.c */ 8060 #line 2 199"parser.yy"8060 #line 2200 "parser.yy" 8061 8061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8062 8062 break; … … 8065 8065 8066 8066 /* Line 1806 of yacc.c */ 8067 #line 220 2"parser.yy"8067 #line 2203 "parser.yy" 8068 8068 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8069 8069 break; … … 8072 8072 8073 8073 /* Line 1806 of yacc.c */ 8074 #line 220 4"parser.yy"8074 #line 2205 "parser.yy" 8075 8075 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8076 8076 break; … … 8079 8079 8080 8080 /* Line 1806 of yacc.c */ 8081 #line 22 09"parser.yy"8081 #line 2210 "parser.yy" 8082 8082 { 8083 8083 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8089 8089 8090 8090 /* Line 1806 of yacc.c */ 8091 #line 221 4"parser.yy"8091 #line 2215 "parser.yy" 8092 8092 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8093 8093 break; … … 8096 8096 8097 8097 /* Line 1806 of yacc.c */ 8098 #line 22 19"parser.yy"8098 #line 2220 "parser.yy" 8099 8099 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8100 8100 break; … … 8103 8103 8104 8104 /* Line 1806 of yacc.c */ 8105 #line 222 1"parser.yy"8105 #line 2222 "parser.yy" 8106 8106 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8107 8107 break; … … 8110 8110 8111 8111 /* Line 1806 of yacc.c */ 8112 #line 222 3"parser.yy"8112 #line 2224 "parser.yy" 8113 8113 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8114 8114 break; … … 8117 8117 8118 8118 /* Line 1806 of yacc.c */ 8119 #line 222 8"parser.yy"8119 #line 2229 "parser.yy" 8120 8120 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8121 8121 break; … … 8124 8124 8125 8125 /* Line 1806 of yacc.c */ 8126 #line 223 0"parser.yy"8126 #line 2231 "parser.yy" 8127 8127 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8128 8128 break; … … 8131 8131 8132 8132 /* Line 1806 of yacc.c */ 8133 #line 223 2"parser.yy"8133 #line 2233 "parser.yy" 8134 8134 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8135 8135 break; … … 8138 8138 8139 8139 /* Line 1806 of yacc.c */ 8140 #line 223 4"parser.yy"8140 #line 2235 "parser.yy" 8141 8141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8142 8142 break; … … 8145 8145 8146 8146 /* Line 1806 of yacc.c */ 8147 #line 22 39"parser.yy"8147 #line 2240 "parser.yy" 8148 8148 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8149 8149 break; … … 8152 8152 8153 8153 /* Line 1806 of yacc.c */ 8154 #line 224 1"parser.yy"8154 #line 2242 "parser.yy" 8155 8155 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8156 8156 break; … … 8159 8159 8160 8160 /* Line 1806 of yacc.c */ 8161 #line 225 0"parser.yy"8161 #line 2251 "parser.yy" 8162 8162 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8163 8163 break; … … 8166 8166 8167 8167 /* Line 1806 of yacc.c */ 8168 #line 225 3"parser.yy"8168 #line 2254 "parser.yy" 8169 8169 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8170 8170 break; … … 8173 8173 8174 8174 /* Line 1806 of yacc.c */ 8175 #line 225 8"parser.yy"8175 #line 2259 "parser.yy" 8176 8176 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8177 8177 break; … … 8180 8180 8181 8181 /* Line 1806 of yacc.c */ 8182 #line 226 0"parser.yy"8182 #line 2261 "parser.yy" 8183 8183 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8184 8184 break; … … 8187 8187 8188 8188 /* Line 1806 of yacc.c */ 8189 #line 226 2"parser.yy"8189 #line 2263 "parser.yy" 8190 8190 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8191 8191 break; … … 8194 8194 8195 8195 /* Line 1806 of yacc.c */ 8196 #line 226 7"parser.yy"8196 #line 2268 "parser.yy" 8197 8197 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8198 8198 break; … … 8201 8201 8202 8202 /* Line 1806 of yacc.c */ 8203 #line 22 69"parser.yy"8203 #line 2270 "parser.yy" 8204 8204 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8205 8205 break; … … 8208 8208 8209 8209 /* Line 1806 of yacc.c */ 8210 #line 227 1"parser.yy"8210 #line 2272 "parser.yy" 8211 8211 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8212 8212 break; … … 8215 8215 8216 8216 /* Line 1806 of yacc.c */ 8217 #line 227 6"parser.yy"8217 #line 2277 "parser.yy" 8218 8218 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8219 8219 break; … … 8222 8222 8223 8223 /* Line 1806 of yacc.c */ 8224 #line 227 8"parser.yy"8224 #line 2279 "parser.yy" 8225 8225 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8226 8226 break; … … 8229 8229 8230 8230 /* Line 1806 of yacc.c */ 8231 #line 228 0"parser.yy"8231 #line 2281 "parser.yy" 8232 8232 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8233 8233 break; … … 8236 8236 8237 8237 /* Line 1806 of yacc.c */ 8238 #line 229 5"parser.yy"8238 #line 2296 "parser.yy" 8239 8239 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8240 8240 break; … … 8243 8243 8244 8244 /* Line 1806 of yacc.c */ 8245 #line 229 7"parser.yy"8245 #line 2298 "parser.yy" 8246 8246 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8247 8247 break; … … 8250 8250 8251 8251 /* Line 1806 of yacc.c */ 8252 #line 2 299"parser.yy"8252 #line 2300 "parser.yy" 8253 8253 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8254 8254 break; … … 8257 8257 8258 8258 /* Line 1806 of yacc.c */ 8259 #line 230 4"parser.yy"8259 #line 2305 "parser.yy" 8260 8260 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8261 8261 break; … … 8264 8264 8265 8265 /* Line 1806 of yacc.c */ 8266 #line 230 6"parser.yy"8266 #line 2307 "parser.yy" 8267 8267 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8268 8268 break; … … 8271 8271 8272 8272 /* Line 1806 of yacc.c */ 8273 #line 230 8"parser.yy"8273 #line 2309 "parser.yy" 8274 8274 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8275 8275 break; … … 8278 8278 8279 8279 /* Line 1806 of yacc.c */ 8280 #line 231 3"parser.yy"8280 #line 2314 "parser.yy" 8281 8281 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8282 8282 break; … … 8285 8285 8286 8286 /* Line 1806 of yacc.c */ 8287 #line 231 5"parser.yy"8287 #line 2316 "parser.yy" 8288 8288 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8289 8289 break; … … 8292 8292 8293 8293 /* Line 1806 of yacc.c */ 8294 #line 231 7"parser.yy"8294 #line 2318 "parser.yy" 8295 8295 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8296 8296 break; … … 8299 8299 8300 8300 /* Line 1806 of yacc.c */ 8301 #line 233 2"parser.yy"8301 #line 2333 "parser.yy" 8302 8302 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8303 8303 break; … … 8306 8306 8307 8307 /* Line 1806 of yacc.c */ 8308 #line 233 5"parser.yy"8308 #line 2336 "parser.yy" 8309 8309 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8310 8310 break; … … 8313 8313 8314 8314 /* Line 1806 of yacc.c */ 8315 #line 233 7"parser.yy"8315 #line 2338 "parser.yy" 8316 8316 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8317 8317 break; … … 8320 8320 8321 8321 /* Line 1806 of yacc.c */ 8322 #line 234 3"parser.yy"8322 #line 2344 "parser.yy" 8323 8323 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8324 8324 break; … … 8327 8327 8328 8328 /* Line 1806 of yacc.c */ 8329 #line 234 8"parser.yy"8329 #line 2349 "parser.yy" 8330 8330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8331 8331 break; … … 8334 8334 8335 8335 /* Line 1806 of yacc.c */ 8336 #line 235 0"parser.yy"8336 #line 2351 "parser.yy" 8337 8337 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8338 8338 break; … … 8341 8341 8342 8342 /* Line 1806 of yacc.c */ 8343 #line 235 2"parser.yy"8343 #line 2353 "parser.yy" 8344 8344 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8345 8345 break; … … 8348 8348 8349 8349 /* Line 1806 of yacc.c */ 8350 #line 235 7"parser.yy"8350 #line 2358 "parser.yy" 8351 8351 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8352 8352 break; … … 8355 8355 8356 8356 /* Line 1806 of yacc.c */ 8357 #line 23 59"parser.yy"8357 #line 2360 "parser.yy" 8358 8358 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8359 8359 break; … … 8362 8362 8363 8363 /* Line 1806 of yacc.c */ 8364 #line 236 1"parser.yy"8364 #line 2362 "parser.yy" 8365 8365 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8366 8366 break; … … 8369 8369 8370 8370 /* Line 1806 of yacc.c */ 8371 #line 236 3"parser.yy"8371 #line 2364 "parser.yy" 8372 8372 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8373 8373 break; … … 8376 8376 8377 8377 /* Line 1806 of yacc.c */ 8378 #line 236 8"parser.yy"8378 #line 2369 "parser.yy" 8379 8379 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8380 8380 break; … … 8383 8383 8384 8384 /* Line 1806 of yacc.c */ 8385 #line 237 0"parser.yy"8385 #line 2371 "parser.yy" 8386 8386 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8387 8387 break; … … 8390 8390 8391 8391 /* Line 1806 of yacc.c */ 8392 #line 237 2"parser.yy"8392 #line 2373 "parser.yy" 8393 8393 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8394 8394 break; … … 8397 8397 8398 8398 /* Line 1806 of yacc.c */ 8399 #line 238 2"parser.yy"8399 #line 2383 "parser.yy" 8400 8400 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8401 8401 break; … … 8404 8404 8405 8405 /* Line 1806 of yacc.c */ 8406 #line 238 5"parser.yy"8406 #line 2386 "parser.yy" 8407 8407 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8408 8408 break; … … 8411 8411 8412 8412 /* Line 1806 of yacc.c */ 8413 #line 238 7"parser.yy"8413 #line 2388 "parser.yy" 8414 8414 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8415 8415 break; … … 8418 8418 8419 8419 /* Line 1806 of yacc.c */ 8420 #line 239 2"parser.yy"8420 #line 2393 "parser.yy" 8421 8421 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8422 8422 break; … … 8425 8425 8426 8426 /* Line 1806 of yacc.c */ 8427 #line 239 4"parser.yy"8427 #line 2395 "parser.yy" 8428 8428 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8429 8429 break; … … 8432 8432 8433 8433 /* Line 1806 of yacc.c */ 8434 #line 239 6"parser.yy"8434 #line 2397 "parser.yy" 8435 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8436 8436 break; … … 8439 8439 8440 8440 /* Line 1806 of yacc.c */ 8441 #line 240 1"parser.yy"8441 #line 2402 "parser.yy" 8442 8442 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8443 8443 break; … … 8446 8446 8447 8447 /* Line 1806 of yacc.c */ 8448 #line 240 3"parser.yy"8448 #line 2404 "parser.yy" 8449 8449 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8450 8450 break; … … 8453 8453 8454 8454 /* Line 1806 of yacc.c */ 8455 #line 240 5"parser.yy"8455 #line 2406 "parser.yy" 8456 8456 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8457 8457 break; … … 8460 8460 8461 8461 /* Line 1806 of yacc.c */ 8462 #line 240 7"parser.yy"8462 #line 2408 "parser.yy" 8463 8463 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8464 8464 break; … … 8467 8467 8468 8468 /* Line 1806 of yacc.c */ 8469 #line 241 2"parser.yy"8469 #line 2413 "parser.yy" 8470 8470 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8471 8471 break; … … 8474 8474 8475 8475 /* Line 1806 of yacc.c */ 8476 #line 241 4"parser.yy"8476 #line 2415 "parser.yy" 8477 8477 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8478 8478 break; … … 8481 8481 8482 8482 /* Line 1806 of yacc.c */ 8483 #line 241 6"parser.yy"8483 #line 2417 "parser.yy" 8484 8484 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8485 8485 break; … … 8488 8488 8489 8489 /* Line 1806 of yacc.c */ 8490 #line 244 7"parser.yy"8490 #line 2448 "parser.yy" 8491 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8492 8492 break; … … 8495 8495 8496 8496 /* Line 1806 of yacc.c */ 8497 #line 245 0"parser.yy"8497 #line 2451 "parser.yy" 8498 8498 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8499 8499 break; … … 8502 8502 8503 8503 /* Line 1806 of yacc.c */ 8504 #line 245 2"parser.yy"8504 #line 2453 "parser.yy" 8505 8505 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8506 8506 break; … … 8509 8509 8510 8510 /* Line 1806 of yacc.c */ 8511 #line 245 7"parser.yy"8511 #line 2458 "parser.yy" 8512 8512 { 8513 8513 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8519 8519 8520 8520 /* Line 1806 of yacc.c */ 8521 #line 246 2"parser.yy"8521 #line 2463 "parser.yy" 8522 8522 { 8523 8523 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8529 8529 8530 8530 /* Line 1806 of yacc.c */ 8531 #line 247 0"parser.yy"8531 #line 2471 "parser.yy" 8532 8532 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8533 8533 break; … … 8536 8536 8537 8537 /* Line 1806 of yacc.c */ 8538 #line 247 2"parser.yy"8538 #line 2473 "parser.yy" 8539 8539 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8540 8540 break; … … 8543 8543 8544 8544 /* Line 1806 of yacc.c */ 8545 #line 247 4"parser.yy"8545 #line 2475 "parser.yy" 8546 8546 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8547 8547 break; … … 8550 8550 8551 8551 /* Line 1806 of yacc.c */ 8552 #line 24 79"parser.yy"8552 #line 2480 "parser.yy" 8553 8553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8554 8554 break; … … 8557 8557 8558 8558 /* Line 1806 of yacc.c */ 8559 #line 248 1"parser.yy"8559 #line 2482 "parser.yy" 8560 8560 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8561 8561 break; … … 8564 8564 8565 8565 /* Line 1806 of yacc.c */ 8566 #line 248 6"parser.yy"8566 #line 2487 "parser.yy" 8567 8567 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8568 8568 break; … … 8571 8571 8572 8572 /* Line 1806 of yacc.c */ 8573 #line 248 8"parser.yy"8573 #line 2489 "parser.yy" 8574 8574 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8575 8575 break; … … 8578 8578 8579 8579 /* Line 1806 of yacc.c */ 8580 #line 250 3"parser.yy"8580 #line 2504 "parser.yy" 8581 8581 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8582 8582 break; … … 8585 8585 8586 8586 /* Line 1806 of yacc.c */ 8587 #line 250 5"parser.yy"8587 #line 2506 "parser.yy" 8588 8588 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8589 8589 break; … … 8592 8592 8593 8593 /* Line 1806 of yacc.c */ 8594 #line 251 0"parser.yy"8594 #line 2511 "parser.yy" 8595 8595 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8596 8596 break; … … 8599 8599 8600 8600 /* Line 1806 of yacc.c */ 8601 #line 251 2"parser.yy"8601 #line 2513 "parser.yy" 8602 8602 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8603 8603 break; … … 8606 8606 8607 8607 /* Line 1806 of yacc.c */ 8608 #line 251 4"parser.yy"8608 #line 2515 "parser.yy" 8609 8609 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8610 8610 break; … … 8613 8613 8614 8614 /* Line 1806 of yacc.c */ 8615 #line 251 6"parser.yy"8615 #line 2517 "parser.yy" 8616 8616 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8617 8617 break; … … 8620 8620 8621 8621 /* Line 1806 of yacc.c */ 8622 #line 251 8"parser.yy"8622 #line 2519 "parser.yy" 8623 8623 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8624 8624 break; … … 8627 8627 8628 8628 /* Line 1806 of yacc.c */ 8629 #line 252 4"parser.yy"8629 #line 2525 "parser.yy" 8630 8630 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8631 8631 break; … … 8634 8634 8635 8635 /* Line 1806 of yacc.c */ 8636 #line 252 6"parser.yy"8636 #line 2527 "parser.yy" 8637 8637 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8638 8638 break; … … 8641 8641 8642 8642 /* Line 1806 of yacc.c */ 8643 #line 252 8"parser.yy"8643 #line 2529 "parser.yy" 8644 8644 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8645 8645 break; … … 8648 8648 8649 8649 /* Line 1806 of yacc.c */ 8650 #line 253 3"parser.yy"8650 #line 2534 "parser.yy" 8651 8651 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8652 8652 break; … … 8655 8655 8656 8656 /* Line 1806 of yacc.c */ 8657 #line 253 5"parser.yy"8657 #line 2536 "parser.yy" 8658 8658 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8659 8659 break; … … 8662 8662 8663 8663 /* Line 1806 of yacc.c */ 8664 #line 253 7"parser.yy"8664 #line 2538 "parser.yy" 8665 8665 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8666 8666 break; … … 8669 8669 8670 8670 /* Line 1806 of yacc.c */ 8671 #line 254 3"parser.yy"8671 #line 2544 "parser.yy" 8672 8672 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8673 8673 break; … … 8676 8676 8677 8677 /* Line 1806 of yacc.c */ 8678 #line 254 5"parser.yy"8678 #line 2546 "parser.yy" 8679 8679 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8680 8680 break; … … 8683 8683 8684 8684 /* Line 1806 of yacc.c */ 8685 #line 255 1"parser.yy"8685 #line 2552 "parser.yy" 8686 8686 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8687 8687 break; … … 8690 8690 8691 8691 /* Line 1806 of yacc.c */ 8692 #line 255 3"parser.yy"8692 #line 2554 "parser.yy" 8693 8693 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8694 8694 break; … … 8697 8697 8698 8698 /* Line 1806 of yacc.c */ 8699 #line 255 5"parser.yy"8699 #line 2556 "parser.yy" 8700 8700 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8701 8701 break; … … 8704 8704 8705 8705 /* Line 1806 of yacc.c */ 8706 #line 255 7"parser.yy"8706 #line 2558 "parser.yy" 8707 8707 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8708 8708 break; … … 8711 8711 8712 8712 /* Line 1806 of yacc.c */ 8713 #line 257 2"parser.yy"8713 #line 2573 "parser.yy" 8714 8714 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8715 8715 break; … … 8718 8718 8719 8719 /* Line 1806 of yacc.c */ 8720 #line 257 4"parser.yy"8720 #line 2575 "parser.yy" 8721 8721 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8722 8722 break; … … 8725 8725 8726 8726 /* Line 1806 of yacc.c */ 8727 #line 25 79"parser.yy"8727 #line 2580 "parser.yy" 8728 8728 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8729 8729 break; … … 8732 8732 8733 8733 /* Line 1806 of yacc.c */ 8734 #line 258 1"parser.yy"8734 #line 2582 "parser.yy" 8735 8735 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8736 8736 break; … … 8739 8739 8740 8740 /* Line 1806 of yacc.c */ 8741 #line 258 3"parser.yy"8741 #line 2584 "parser.yy" 8742 8742 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8743 8743 break; … … 8746 8746 8747 8747 /* Line 1806 of yacc.c */ 8748 #line 258 5"parser.yy"8748 #line 2586 "parser.yy" 8749 8749 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8750 8750 break; … … 8753 8753 8754 8754 /* Line 1806 of yacc.c */ 8755 #line 258 7"parser.yy"8755 #line 2588 "parser.yy" 8756 8756 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8757 8757 break; … … 8760 8760 8761 8761 /* Line 1806 of yacc.c */ 8762 #line 259 3"parser.yy"8762 #line 2594 "parser.yy" 8763 8763 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8764 8764 break; … … 8767 8767 8768 8768 /* Line 1806 of yacc.c */ 8769 #line 259 5"parser.yy"8769 #line 2596 "parser.yy" 8770 8770 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8771 8771 break; … … 8774 8774 8775 8775 /* Line 1806 of yacc.c */ 8776 #line 259 7"parser.yy"8776 #line 2598 "parser.yy" 8777 8777 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8778 8778 break; … … 8781 8781 8782 8782 /* Line 1806 of yacc.c */ 8783 #line 260 2"parser.yy"8783 #line 2603 "parser.yy" 8784 8784 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8785 8785 break; … … 8788 8788 8789 8789 /* Line 1806 of yacc.c */ 8790 #line 260 4"parser.yy"8790 #line 2605 "parser.yy" 8791 8791 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8792 8792 break; … … 8795 8795 8796 8796 /* Line 1806 of yacc.c */ 8797 #line 260 6"parser.yy"8797 #line 2607 "parser.yy" 8798 8798 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8799 8799 break; … … 8802 8802 8803 8803 /* Line 1806 of yacc.c */ 8804 #line 261 3"parser.yy"8804 #line 2614 "parser.yy" 8805 8805 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8806 8806 break; … … 8809 8809 8810 8810 /* Line 1806 of yacc.c */ 8811 #line 262 4"parser.yy"8811 #line 2625 "parser.yy" 8812 8812 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8813 8813 break; … … 8816 8816 8817 8817 /* Line 1806 of yacc.c */ 8818 #line 262 7"parser.yy"8818 #line 2628 "parser.yy" 8819 8819 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8820 8820 break; … … 8823 8823 8824 8824 /* Line 1806 of yacc.c */ 8825 #line 26 29"parser.yy"8825 #line 2630 "parser.yy" 8826 8826 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8827 8827 break; … … 8830 8830 8831 8831 /* Line 1806 of yacc.c */ 8832 #line 263 2"parser.yy"8832 #line 2633 "parser.yy" 8833 8833 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8834 8834 break; … … 8837 8837 8838 8838 /* Line 1806 of yacc.c */ 8839 #line 263 4"parser.yy"8839 #line 2635 "parser.yy" 8840 8840 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8841 8841 break; … … 8844 8844 8845 8845 /* Line 1806 of yacc.c */ 8846 #line 263 6"parser.yy"8846 #line 2637 "parser.yy" 8847 8847 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8848 8848 break; … … 8851 8851 8852 8852 /* Line 1806 of yacc.c */ 8853 #line 265 0"parser.yy"8853 #line 2651 "parser.yy" 8854 8854 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8855 8855 break; … … 8858 8858 8859 8859 /* Line 1806 of yacc.c */ 8860 #line 265 2"parser.yy"8860 #line 2653 "parser.yy" 8861 8861 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8862 8862 break; … … 8865 8865 8866 8866 /* Line 1806 of yacc.c */ 8867 #line 265 7"parser.yy"8867 #line 2658 "parser.yy" 8868 8868 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8869 8869 break; … … 8872 8872 8873 8873 /* Line 1806 of yacc.c */ 8874 #line 26 59"parser.yy"8874 #line 2660 "parser.yy" 8875 8875 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8876 8876 break; … … 8879 8879 8880 8880 /* Line 1806 of yacc.c */ 8881 #line 266 1"parser.yy"8881 #line 2662 "parser.yy" 8882 8882 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8883 8883 break; … … 8886 8886 8887 8887 /* Line 1806 of yacc.c */ 8888 #line 266 3"parser.yy"8888 #line 2664 "parser.yy" 8889 8889 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8890 8890 break; … … 8893 8893 8894 8894 /* Line 1806 of yacc.c */ 8895 #line 266 5"parser.yy"8895 #line 2666 "parser.yy" 8896 8896 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8897 8897 break; … … 8900 8900 8901 8901 /* Line 1806 of yacc.c */ 8902 #line 267 1"parser.yy"8902 #line 2672 "parser.yy" 8903 8903 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8904 8904 break; … … 8907 8907 8908 8908 /* Line 1806 of yacc.c */ 8909 #line 267 3"parser.yy"8909 #line 2674 "parser.yy" 8910 8910 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8911 8911 break; … … 8914 8914 8915 8915 /* Line 1806 of yacc.c */ 8916 #line 267 5"parser.yy"8916 #line 2676 "parser.yy" 8917 8917 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8918 8918 break; … … 8921 8921 8922 8922 /* Line 1806 of yacc.c */ 8923 #line 268 0"parser.yy"8923 #line 2681 "parser.yy" 8924 8924 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8925 8925 break; … … 8928 8928 8929 8929 /* Line 1806 of yacc.c */ 8930 #line 268 2"parser.yy"8930 #line 2683 "parser.yy" 8931 8931 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8932 8932 break; … … 8935 8935 8936 8936 /* Line 1806 of yacc.c */ 8937 #line 269 2"parser.yy"8937 #line 2693 "parser.yy" 8938 8938 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8939 8939 break; … … 8942 8942 8943 8943 /* Line 1806 of yacc.c */ 8944 #line 270 2"parser.yy"8944 #line 2703 "parser.yy" 8945 8945 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8946 8946 break; … … 8949 8949 8950 8950 /* Line 1806 of yacc.c */ 8951 #line 270 4"parser.yy"8951 #line 2705 "parser.yy" 8952 8952 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8953 8953 break; … … 8956 8956 8957 8957 /* Line 1806 of yacc.c */ 8958 #line 270 6"parser.yy"8958 #line 2707 "parser.yy" 8959 8959 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8960 8960 break; … … 8963 8963 8964 8964 /* Line 1806 of yacc.c */ 8965 #line 270 8"parser.yy"8965 #line 2709 "parser.yy" 8966 8966 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8967 8967 break; … … 8970 8970 8971 8971 /* Line 1806 of yacc.c */ 8972 #line 271 0"parser.yy"8972 #line 2711 "parser.yy" 8973 8973 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8974 8974 break; … … 8977 8977 8978 8978 /* Line 1806 of yacc.c */ 8979 #line 271 2"parser.yy"8979 #line 2713 "parser.yy" 8980 8980 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8981 8981 break; … … 8984 8984 8985 8985 /* Line 1806 of yacc.c */ 8986 #line 27 19"parser.yy"8986 #line 2720 "parser.yy" 8987 8987 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8988 8988 break; … … 8991 8991 8992 8992 /* Line 1806 of yacc.c */ 8993 #line 272 1"parser.yy"8993 #line 2722 "parser.yy" 8994 8994 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8995 8995 break; … … 8998 8998 8999 8999 /* Line 1806 of yacc.c */ 9000 #line 272 3"parser.yy"9000 #line 2724 "parser.yy" 9001 9001 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9002 9002 break; … … 9005 9005 9006 9006 /* Line 1806 of yacc.c */ 9007 #line 272 5"parser.yy"9007 #line 2726 "parser.yy" 9008 9008 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9009 9009 break; … … 9012 9012 9013 9013 /* Line 1806 of yacc.c */ 9014 #line 272 7"parser.yy"9014 #line 2728 "parser.yy" 9015 9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9016 9016 break; … … 9019 9019 9020 9020 /* Line 1806 of yacc.c */ 9021 #line 27 29"parser.yy"9021 #line 2731 "parser.yy" 9022 9022 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9023 9023 break; … … 9026 9026 9027 9027 /* Line 1806 of yacc.c */ 9028 #line 273 1"parser.yy"9028 #line 2733 "parser.yy" 9029 9029 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9030 9030 break; … … 9033 9033 9034 9034 /* Line 1806 of yacc.c */ 9035 #line 273 3"parser.yy"9035 #line 2735 "parser.yy" 9036 9036 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9037 9037 break; … … 9040 9040 9041 9041 /* Line 1806 of yacc.c */ 9042 #line 273 5"parser.yy"9042 #line 2737 "parser.yy" 9043 9043 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9044 9044 break; … … 9047 9047 9048 9048 /* Line 1806 of yacc.c */ 9049 #line 273 7"parser.yy"9049 #line 2739 "parser.yy" 9050 9050 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9051 9051 break; … … 9054 9054 9055 9055 /* Line 1806 of yacc.c */ 9056 #line 274 2"parser.yy"9056 #line 2744 "parser.yy" 9057 9057 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9058 9058 break; … … 9061 9061 9062 9062 /* Line 1806 of yacc.c */ 9063 #line 274 4"parser.yy"9063 #line 2746 "parser.yy" 9064 9064 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9065 9065 break; … … 9068 9068 9069 9069 /* Line 1806 of yacc.c */ 9070 #line 27 49"parser.yy"9070 #line 2751 "parser.yy" 9071 9071 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9072 9072 break; … … 9075 9075 9076 9076 /* Line 1806 of yacc.c */ 9077 #line 275 1"parser.yy"9077 #line 2753 "parser.yy" 9078 9078 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9079 9079 break; … … 9082 9082 9083 9083 /* Line 1806 of yacc.c */ 9084 #line 27 78"parser.yy"9084 #line 2780 "parser.yy" 9085 9085 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9086 9086 break; … … 9089 9089 9090 9090 /* Line 1806 of yacc.c */ 9091 #line 27 89"parser.yy"9091 #line 2791 "parser.yy" 9092 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9093 9093 break; … … 9096 9096 9097 9097 /* Line 1806 of yacc.c */ 9098 #line 279 1"parser.yy"9098 #line 2793 "parser.yy" 9099 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9100 9100 break; … … 9103 9103 9104 9104 /* Line 1806 of yacc.c */ 9105 #line 279 3"parser.yy"9105 #line 2795 "parser.yy" 9106 9106 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9107 9107 break; … … 9110 9110 9111 9111 /* Line 1806 of yacc.c */ 9112 #line 279 5"parser.yy"9112 #line 2797 "parser.yy" 9113 9113 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9114 9114 break; … … 9117 9117 9118 9118 /* Line 1806 of yacc.c */ 9119 #line 279 7"parser.yy"9119 #line 2799 "parser.yy" 9120 9120 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9121 9121 break; … … 9124 9124 9125 9125 /* Line 1806 of yacc.c */ 9126 #line 2 799"parser.yy"9126 #line 2801 "parser.yy" 9127 9127 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9128 9128 break; … … 9131 9131 9132 9132 /* Line 1806 of yacc.c */ 9133 #line 280 6"parser.yy"9133 #line 2808 "parser.yy" 9134 9134 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9135 9135 break; … … 9138 9138 9139 9139 /* Line 1806 of yacc.c */ 9140 #line 28 08"parser.yy"9140 #line 2810 "parser.yy" 9141 9141 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9142 9142 break; … … 9145 9145 9146 9146 /* Line 1806 of yacc.c */ 9147 #line 281 0"parser.yy"9147 #line 2812 "parser.yy" 9148 9148 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9149 9149 break; … … 9152 9152 9153 9153 /* Line 1806 of yacc.c */ 9154 #line 281 2"parser.yy"9154 #line 2814 "parser.yy" 9155 9155 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9156 9156 break; … … 9159 9159 9160 9160 /* Line 1806 of yacc.c */ 9161 #line 281 4"parser.yy"9161 #line 2816 "parser.yy" 9162 9162 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9163 9163 break; … … 9166 9166 9167 9167 /* Line 1806 of yacc.c */ 9168 #line 281 6"parser.yy"9168 #line 2818 "parser.yy" 9169 9169 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9170 9170 break; … … 9173 9173 9174 9174 /* Line 1806 of yacc.c */ 9175 #line 282 1"parser.yy"9175 #line 2823 "parser.yy" 9176 9176 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9177 9177 break; … … 9180 9180 9181 9181 /* Line 1806 of yacc.c */ 9182 #line 282 6"parser.yy"9182 #line 2828 "parser.yy" 9183 9183 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); } 9184 9184 break; 9185 9185 9186 9186 case 749: 9187 9188 /* Line 1806 of yacc.c */9189 #line 2828 "parser.yy"9190 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }9191 break;9192 9193 case 750:9194 9187 9195 9188 /* Line 1806 of yacc.c */ … … 9198 9191 break; 9199 9192 9193 case 750: 9194 9195 /* Line 1806 of yacc.c */ 9196 #line 2832 "parser.yy" 9197 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9198 break; 9199 9200 9200 case 753: 9201 9201 9202 9202 /* Line 1806 of yacc.c */ 9203 #line 285 4"parser.yy"9203 #line 2856 "parser.yy" 9204 9204 { (yyval.en) = 0; } 9205 9205 break; … … 9208 9208 9209 9209 /* Line 1806 of yacc.c */ 9210 #line 285 6"parser.yy"9210 #line 2858 "parser.yy" 9211 9211 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9212 9212 break; … … 9446 9446 9447 9447 /* Line 2067 of yacc.c */ 9448 #line 28 59"parser.yy"9448 #line 2861 "parser.yy" 9449 9449 9450 9450 // ----end of grammar---- -
TabularUnified src/Parser/parser.yy ¶
rf0121d7 ra1e67dd 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Oct 5 14:10:46201613 // Update Count : 200 212 // Last Modified On : Wed Oct 19 22:19:33 2016 13 // Update Count : 2003 14 14 // 15 15 … … 277 277 // 278 278 // Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance, those 279 // introduced through "forall" qualifiers), and by introducing "type generators" -- paramet rized types. This latter279 // introduced through "forall" qualifiers), and by introducing "type generators" -- parameterized types. This latter 280 280 // type name creates a third class of identifiers that must be distinguished by the scanner. 281 281 // 282 282 // Since the scanner cannot distinguish among the different classes of identifiers without some context information, it 283 // accesses a data structure ( the TypedefTable) to allow classification of an identifier that it has just read.284 // Semanticactions during the parser update this data structure when the class of identifiers change.283 // accesses a data structure (TypedefTable) to allow classification of an identifier that it has just read. Semantic 284 // actions during the parser update this data structure when the class of identifiers change. 285 285 // 286 286 // Because the Cforall language is block-scoped, there is the possibility that an identifier can change its class in a … … 288 288 // particular declaration, each declaration is itself a scope. This requires distinguishing between type names that are 289 289 // local to the current declaration scope and those that persist past the end of the declaration (i.e., names defined in 290 // "typedef" or " type" declarations).290 // "typedef" or "otype" declarations). 291 291 // 292 292 // The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and closing of … … 433 433 no_attr_identifier 434 434 { $$ = new ExpressionNode( build_varref( $1 ) ); } 435 // x.1, x.[0, 0.0] 435 436 | INTEGERconstant 436 437 { $$ = new ExpressionNode( build_constantInteger( *$1 ) ); } … … 2726 2727 | multi_array_dimension type_specifier 2727 2728 { $$ = $2->addNewArray( $1 ); } 2729 2728 2730 | '[' ']' new_identifier_parameter_ptr 2729 2731 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
Note: See TracChangeset
for help on using the changeset viewer.