Changeset 5f2f2d7
- Timestamp:
- Jun 8, 2015, 8:56:35 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 81419b5
- Parents:
- cd623a4
- Location:
- src
- Files:
-
- 63 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.h
rcd623a4 r5f2f2d7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Jun 02 13:43:29201513 // Update Count : 1 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 14:34:43 2015 13 // Update Count : 15 14 14 // 15 15 … … 17 17 #define CODEGENV_H 18 18 19 #include <strstream>20 19 #include <list> 21 20 -
src/CodeGen/GenType.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 4 14:04:58201513 // Update Count : 414 // 15 16 #include <s trstream>12 // Last Modified On : Mon Jun 8 14:36:02 2015 13 // Update Count : 9 14 // 15 16 #include <sstream> 17 17 #include <cassert> 18 18 … … 68 68 69 69 void GenType::genArray( const Type::Qualifiers &qualifiers, Type *base, Expression *dimension, bool isVarLen, bool isStatic ) { 70 std::ostr stream os;70 std::ostringstream os; 71 71 if ( typeString != "" ) { 72 72 if ( typeString[ 0 ] == '*' ) { … … 102 102 os << "]"; 103 103 104 typeString = std::string( os.str(), os.pcount());104 typeString = os.str(); 105 105 106 106 base->accept( *this ); … … 127 127 128 128 void GenType::visit( FunctionType *funcType ) { 129 std::ostr stream os;129 std::ostringstream os; 130 130 131 131 if ( typeString != "" ) { … … 159 159 } // if 160 160 161 typeString = std::string( os.str(), os.pcount());161 typeString = os.str(); 162 162 163 163 if ( funcType->get_returnVals().size() == 0 ) { -
src/Common/SemanticError.h
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:22:23 201513 // Update Count : 112 // Last Modified On : Mon Jun 8 14:38:53 2015 13 // Update Count : 4 14 14 // 15 15 … … 19 19 #include <exception> 20 20 #include <string> 21 #include <s trstream>21 #include <sstream> 22 22 #include <list> 23 23 #include <iostream> … … 42 42 template< typename T > 43 43 SemanticError::SemanticError( const std::string &error, const T *obj ) { 44 std::ostr stream os;44 std::ostringstream os; 45 45 os << "Error: " << error; 46 46 obj->print( os ); 47 errors.push_back( std::string( os.str(), os.pcount()) );47 errors.push_back( os.str() ); 48 48 } 49 49 -
src/Common/UniqueName.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:23:41201513 // Update Count : 112 // Last Modified On : Mon Jun 8 14:47:49 2015 13 // Update Count : 3 14 14 // 15 15 16 16 #include <string> 17 #include <s trstream>17 #include <sstream> 18 18 19 19 #include "UniqueName.h" … … 23 23 24 24 std::string UniqueName::newName( const std::string &additional ) { 25 std::ostr stream os;25 std::ostringstream os; 26 26 os << base << additional << count++; 27 return std::string( os.str(), os.pcount());27 return os.str(); 28 28 } 29 29 -
src/Common/utility.h
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 4 21:29:57201513 // Update Count : 912 // Last Modified On : Mon Jun 8 14:43:54 2015 13 // Update Count : 13 14 14 // 15 15 … … 18 18 19 19 #include <iostream> 20 #include <s trstream>20 #include <sstream> 21 21 #include <iterator> 22 22 #include <string> … … 130 130 template < typename T > 131 131 std::string toString ( T value ) { 132 std::ostrstream os; 133 132 std::ostringstream os; 134 133 os << value; // << std::ends; 135 os.freeze( false ); 136 137 return std::string(os.str(), os.pcount()); 134 return os.str(); 138 135 } 139 136 -
src/ControlStruct/LabelGenerator.cc
rcd623a4 r5f2f2d7 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jun 03 14:23:26201513 // Update Count : 911 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 14:45:07 2015 13 // Update Count : 12 14 14 // 15 15 16 16 #include <iostream> 17 #include <s trstream>17 #include <sstream> 18 18 19 19 #include "LabelGenerator.h" … … 30 30 31 31 Label LabelGenerator::newLabel(std::string suffix) { 32 std::ostr stream os;32 std::ostringstream os; 33 33 os << "__L" << current++ << "__" << suffix; 34 os.freeze( false ); 35 std::string ret = std::string (os.str(), os.pcount()); 34 std::string ret = os.str(); 36 35 return Label( ret ); 37 36 } -
src/Parser/ExpressionNode.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 07:58:00 201513 // Update Count : 1 3512 // Last Modified On : Mon Jun 8 17:33:40 2015 13 // Update Count : 147 14 14 // 15 15 … … 93 93 static inline bool checkX( char c ) { return c == 'x' || c == 'X'; } 94 94 95 // Very difficult to separate extra parts of constants during lexing because actions are not allow in the middle of 96 // patterns: 95 // Difficult to separate extra parts of constants during lexing because actions are not allow in the middle of patterns: 97 96 // 98 97 // prefix action constant action suffix … … 130 129 } // if 131 130 } else { // decimal constant ? 132 sscanf( (char *)value.c_str(), "%ll d", &v );131 sscanf( (char *)value.c_str(), "%llu", &v ); 133 132 //printf( "%llu %llu\n", v, v ); 134 133 } // if … … 136 135 if ( v <= INT_MAX ) { // signed int 137 136 size = 0; 138 } else if ( v <= UINT_MAX ) {// unsigned int137 } else if ( v <= UINT_MAX && ! dec ) { // unsigned int 139 138 size = 0; 140 if ( ! dec ) Unsigned = true;// unsigned139 Unsigned = true; // unsigned 141 140 } else if ( v <= LONG_MAX ) { // signed long int 142 141 size = 1; 143 } else if ( v <= ULONG_MAX ) {// signed long int142 } else if ( v <= ULONG_MAX && ( ! dec || LONG_MAX == LLONG_MAX ) ) { // signed long int 144 143 size = 1; 145 if ( ! dec ) Unsigned = true;// unsigned long int144 Unsigned = true; // unsigned long int 146 145 } else if ( v <= LLONG_MAX ) { // signed long long int 147 146 size = 2; 148 } else { // signed long long int147 } else { // unsigned long long int 149 148 size = 2; 150 if ( ! dec ) Unsigned = true;// unsigned long long int149 Unsigned = true; // unsigned long long int 151 150 } // if 152 151 153 152 if ( checkU( value[last] ) ) { // suffix 'u' ? 154 153 Unsigned = true; 155 if ( checkL( value[ last - 1 ] ) ) {// suffix 'l' ?154 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'l' ? 156 155 size = 1; 157 if ( checkL( value[ last - 1] ) ) { // suffix 'll' ?156 if ( last > 1 && checkL( value[ last - 2 ] ) ) { // suffix 'll' ? 158 157 size = 2; 159 158 } // if … … 161 160 } else if ( checkL( value[ last ] ) ) { // suffix 'l' ? 162 161 size = 1; 163 if ( checkL( value[ last - 1 ] ) ) {// suffix 'll' ?162 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'll' ? 164 163 size = 2; 165 } // if 166 if ( checkU( value[ last - 1 ] ) ) { // suffix 'u' ? 167 Unsigned = true; 164 if ( last > 1 && checkU( value[ last - 2 ] ) ) { // suffix 'u' ? 165 Unsigned = true; 166 } // if 167 } else { 168 if ( last > 0 && checkU( value[ last - 1 ] ) ) { // suffix 'u' ? 169 Unsigned = true; 170 } // if 168 171 } // if 169 172 } // if -
src/Parser/ParseNode.h
rcd623a4 r5f2f2d7 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 07:42:50 201513 // Update Count : 6 412 // Last Modified On : Sun Jun 7 22:02:00 2015 13 // Update Count : 65 14 14 // 15 15 … … 337 337 338 338 bool get_hasEllipsis() const; 339 std::stringget_name() const { return name; }339 const std::string &get_name() const { return name; } 340 340 LinkageSpec::Type get_linkage() const { return linkage; } 341 341 DeclarationNode *extractAggregate() const; -
src/Parser/lex.cc
rcd623a4 r5f2f2d7 1390 1390 * Created On : Sat Sep 22 08:58:10 2001 1391 1391 * Last Modified By : Peter A. Buhr 1392 * Last Modified On : Sun Jun 7 07:14:1620151393 * Update Count : 3 741394 */ 1395 #line 19"lex.ll"1392 * Last Modified On : Mon Jun 8 20:24:15 2015 1393 * Update Count : 381 1394 */ 1395 #line 20 "lex.ll" 1396 1396 // This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive 1397 1397 // have been performed and removed from the source. The only exceptions are preprocessor directives passed to … … 1409 1409 std::string *strtext; // accumulate parts of character and string constant value 1410 1410 1411 #define RETURN_LOCN(x) yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return(x) 1412 #define RETURN_VAL(x) yylval.tok.str = new std::string( yytext ); RETURN_LOCN(x) 1413 #define RETURN_CHAR(x) yylval.tok.str = NULL; RETURN_LOCN(x) 1414 #define RETURN_STR(x) yylval.tok.str = strtext; RETURN_LOCN(x) 1415 1411 1416 #define WHITE_RETURN(x) // do nothing 1412 1417 #define NEWLINE_RETURN() WHITE_RETURN('\n') 1413 #define RETURN_VAL(x) yylval.tok.str = new std::string( yytext ); \ 1414 yylval.tok.loc.file = yyfilename; \ 1415 yylval.tok.loc.line = yylineno; \ 1416 return(x) 1417 #define RETURN_STR(x) yylval.tok.str = strtext; \ 1418 yylval.tok.loc.file = yyfilename; \ 1419 yylval.tok.loc.line = yylineno; \ 1420 return(x) 1421 1422 #define KEYWORD_RETURN(x) RETURN_VAL(x) // keyword 1418 #define ASCIIOP_RETURN() RETURN_CHAR((int)yytext[0]) // single character operator 1419 #define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name 1420 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant 1421 #define KEYWORD_RETURN(x) RETURN_CHAR(x) // keyword 1423 1422 #define IDENTIFIER_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname)) 1424 //#define ATTRIBUTE_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? ATTR_IDENTIFIER : typedefTable.isTypedef(yytext) ? ATTR_TYPEDEFname : ATTR_TYPEGENname))1425 1423 #define ATTRIBUTE_RETURN() RETURN_VAL(ATTR_IDENTIFIER) 1426 1427 #define ASCIIOP_RETURN() RETURN_VAL((int)yytext[0]) // single character operator1428 #define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name1429 1430 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant1431 1424 1432 1425 void rm_underscore() { … … 1455 1448 1456 1449 1457 #line 145 8"Parser/lex.cc"1450 #line 1451 "Parser/lex.cc" 1458 1451 1459 1452 #define INITIAL 0 … … 1518 1511 #endif 1519 1512 1520 static void yyunput (int c,char *buf_ptr );1521 1522 1513 #ifndef yytext_ptr 1523 1514 static void yy_flex_strncpy (char *,yyconst char *,int ); … … 1649 1640 register int yy_act; 1650 1641 1651 #line 1 42"lex.ll"1642 #line 136 "lex.ll" 1652 1643 1653 1644 /* line directives */ 1654 #line 16 55"Parser/lex.cc"1645 #line 1646 "Parser/lex.cc" 1655 1646 1656 1647 if ( !(yy_init) ) … … 1749 1740 /* rule 1 can match eol */ 1750 1741 YY_RULE_SETUP 1751 #line 1 44"lex.ll"1742 #line 138 "lex.ll" 1752 1743 { 1753 1744 /* " stop highlighting */ … … 1776 1767 /* rule 2 can match eol */ 1777 1768 YY_RULE_SETUP 1778 #line 16 7"lex.ll"1769 #line 161 "lex.ll" 1779 1770 ; 1780 1771 YY_BREAK … … 1782 1773 case 3: 1783 1774 YY_RULE_SETUP 1784 #line 1 70"lex.ll"1775 #line 164 "lex.ll" 1785 1776 { BEGIN COMMENT; } 1786 1777 YY_BREAK … … 1788 1779 /* rule 4 can match eol */ 1789 1780 YY_RULE_SETUP 1790 #line 1 71"lex.ll"1781 #line 165 "lex.ll" 1791 1782 ; 1792 1783 YY_BREAK 1793 1784 case 5: 1794 1785 YY_RULE_SETUP 1795 #line 1 72"lex.ll"1786 #line 166 "lex.ll" 1796 1787 { BEGIN 0; } 1797 1788 YY_BREAK … … 1800 1791 /* rule 6 can match eol */ 1801 1792 YY_RULE_SETUP 1802 #line 1 75"lex.ll"1793 #line 169 "lex.ll" 1803 1794 ; 1804 1795 YY_BREAK … … 1806 1797 case 7: 1807 1798 YY_RULE_SETUP 1808 #line 17 8"lex.ll"1799 #line 172 "lex.ll" 1809 1800 { WHITE_RETURN(' '); } 1810 1801 YY_BREAK 1811 1802 case 8: 1812 1803 YY_RULE_SETUP 1813 #line 17 9"lex.ll"1804 #line 173 "lex.ll" 1814 1805 { WHITE_RETURN(' '); } 1815 1806 YY_BREAK … … 1817 1808 /* rule 9 can match eol */ 1818 1809 YY_RULE_SETUP 1819 #line 1 80"lex.ll"1810 #line 174 "lex.ll" 1820 1811 { NEWLINE_RETURN(); } 1821 1812 YY_BREAK … … 1823 1814 case 10: 1824 1815 YY_RULE_SETUP 1816 #line 177 "lex.ll" 1817 { KEYWORD_RETURN(ALIGNAS); } // C11 1818 YY_BREAK 1819 case 11: 1820 YY_RULE_SETUP 1821 #line 178 "lex.ll" 1822 { KEYWORD_RETURN(ALIGNOF); } // C11 1823 YY_BREAK 1824 case 12: 1825 YY_RULE_SETUP 1826 #line 179 "lex.ll" 1827 { KEYWORD_RETURN(ALIGNOF); } // GCC 1828 YY_BREAK 1829 case 13: 1830 YY_RULE_SETUP 1831 #line 180 "lex.ll" 1832 { KEYWORD_RETURN(ALIGNOF); } // GCC 1833 YY_BREAK 1834 case 14: 1835 YY_RULE_SETUP 1836 #line 181 "lex.ll" 1837 { KEYWORD_RETURN(ASM); } 1838 YY_BREAK 1839 case 15: 1840 YY_RULE_SETUP 1841 #line 182 "lex.ll" 1842 { KEYWORD_RETURN(ASM); } // GCC 1843 YY_BREAK 1844 case 16: 1845 YY_RULE_SETUP 1825 1846 #line 183 "lex.ll" 1826 { KEYWORD_RETURN(A LIGNAS); } // C111827 YY_BREAK 1828 case 1 1:1847 { KEYWORD_RETURN(ASM); } // GCC 1848 YY_BREAK 1849 case 17: 1829 1850 YY_RULE_SETUP 1830 1851 #line 184 "lex.ll" 1831 { KEYWORD_RETURN(A LIGNOF); }// C111832 YY_BREAK 1833 case 1 2:1852 { KEYWORD_RETURN(ATOMIC); } // C11 1853 YY_BREAK 1854 case 18: 1834 1855 YY_RULE_SETUP 1835 1856 #line 185 "lex.ll" 1836 { KEYWORD_RETURN(A LIGNOF); } // GCC1837 YY_BREAK 1838 case 1 3:1857 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1858 YY_BREAK 1859 case 19: 1839 1860 YY_RULE_SETUP 1840 1861 #line 186 "lex.ll" 1841 { KEYWORD_RETURN(A LIGNOF); } // GCC1842 YY_BREAK 1843 case 14:1862 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1863 YY_BREAK 1864 case 20: 1844 1865 YY_RULE_SETUP 1845 1866 #line 187 "lex.ll" 1846 { KEYWORD_RETURN(A SM); }1847 YY_BREAK 1848 case 15:1867 { KEYWORD_RETURN(AUTO); } 1868 YY_BREAK 1869 case 21: 1849 1870 YY_RULE_SETUP 1850 1871 #line 188 "lex.ll" 1851 { KEYWORD_RETURN( ASM); } // GCC1852 YY_BREAK 1853 case 16:1872 { KEYWORD_RETURN(BOOL); } // C99 1873 YY_BREAK 1874 case 22: 1854 1875 YY_RULE_SETUP 1855 1876 #line 189 "lex.ll" 1856 { KEYWORD_RETURN( ASM); } // GCC1857 YY_BREAK 1858 case 17:1877 { KEYWORD_RETURN(BREAK); } 1878 YY_BREAK 1879 case 23: 1859 1880 YY_RULE_SETUP 1860 1881 #line 190 "lex.ll" 1861 { KEYWORD_RETURN( ATOMIC); } // C111862 YY_BREAK 1863 case 18:1882 { KEYWORD_RETURN(CASE); } 1883 YY_BREAK 1884 case 24: 1864 1885 YY_RULE_SETUP 1865 1886 #line 191 "lex.ll" 1866 { KEYWORD_RETURN( ATTRIBUTE); } // GCC1867 YY_BREAK 1868 case 19:1887 { KEYWORD_RETURN(CATCH); } // CFA 1888 YY_BREAK 1889 case 25: 1869 1890 YY_RULE_SETUP 1870 1891 #line 192 "lex.ll" 1871 { KEYWORD_RETURN( ATTRIBUTE); } // GCC1872 YY_BREAK 1873 case 2 0:1892 { KEYWORD_RETURN(CHAR); } 1893 YY_BREAK 1894 case 26: 1874 1895 YY_RULE_SETUP 1875 1896 #line 193 "lex.ll" 1876 { KEYWORD_RETURN( AUTO); }1877 YY_BREAK 1878 case 2 1:1897 { KEYWORD_RETURN(CHOOSE); } // CFA 1898 YY_BREAK 1899 case 27: 1879 1900 YY_RULE_SETUP 1880 1901 #line 194 "lex.ll" 1881 { KEYWORD_RETURN( BOOL); }// C991882 YY_BREAK 1883 case 2 2:1902 { KEYWORD_RETURN(COMPLEX); } // C99 1903 YY_BREAK 1904 case 28: 1884 1905 YY_RULE_SETUP 1885 1906 #line 195 "lex.ll" 1886 { KEYWORD_RETURN( BREAK); }1887 YY_BREAK 1888 case 2 3:1907 { KEYWORD_RETURN(COMPLEX); } // GCC 1908 YY_BREAK 1909 case 29: 1889 1910 YY_RULE_SETUP 1890 1911 #line 196 "lex.ll" 1891 { KEYWORD_RETURN(C ASE); }1892 YY_BREAK 1893 case 24:1912 { KEYWORD_RETURN(COMPLEX); } // GCC 1913 YY_BREAK 1914 case 30: 1894 1915 YY_RULE_SETUP 1895 1916 #line 197 "lex.ll" 1896 { KEYWORD_RETURN(C ATCH); } // CFA1897 YY_BREAK 1898 case 25:1917 { KEYWORD_RETURN(CONST); } 1918 YY_BREAK 1919 case 31: 1899 1920 YY_RULE_SETUP 1900 1921 #line 198 "lex.ll" 1901 { KEYWORD_RETURN(C HAR); }1902 YY_BREAK 1903 case 26:1922 { KEYWORD_RETURN(CONST); } // GCC 1923 YY_BREAK 1924 case 32: 1904 1925 YY_RULE_SETUP 1905 1926 #line 199 "lex.ll" 1906 { KEYWORD_RETURN(C HOOSE); } // CFA1907 YY_BREAK 1908 case 27:1927 { KEYWORD_RETURN(CONST); } // GCC 1928 YY_BREAK 1929 case 33: 1909 1930 YY_RULE_SETUP 1910 1931 #line 200 "lex.ll" 1911 { KEYWORD_RETURN(CO MPLEX); } // C991912 YY_BREAK 1913 case 28:1932 { KEYWORD_RETURN(CONTEXT); } // CFA 1933 YY_BREAK 1934 case 34: 1914 1935 YY_RULE_SETUP 1915 1936 #line 201 "lex.ll" 1916 { KEYWORD_RETURN(CO MPLEX); } // GCC1917 YY_BREAK 1918 case 29:1937 { KEYWORD_RETURN(CONTINUE); } 1938 YY_BREAK 1939 case 35: 1919 1940 YY_RULE_SETUP 1920 1941 #line 202 "lex.ll" 1921 { KEYWORD_RETURN( COMPLEX); } // GCC1922 YY_BREAK 1923 case 3 0:1942 { KEYWORD_RETURN(DEFAULT); } 1943 YY_BREAK 1944 case 36: 1924 1945 YY_RULE_SETUP 1925 1946 #line 203 "lex.ll" 1926 { KEYWORD_RETURN( CONST); }1927 YY_BREAK 1928 case 3 1:1947 { KEYWORD_RETURN(DO); } 1948 YY_BREAK 1949 case 37: 1929 1950 YY_RULE_SETUP 1930 1951 #line 204 "lex.ll" 1931 { KEYWORD_RETURN( CONST); } // GCC1932 YY_BREAK 1933 case 3 2:1952 { KEYWORD_RETURN(DOUBLE); } 1953 YY_BREAK 1954 case 38: 1934 1955 YY_RULE_SETUP 1935 1956 #line 205 "lex.ll" 1936 { KEYWORD_RETURN( CONST); } // GCC1937 YY_BREAK 1938 case 3 3:1957 { KEYWORD_RETURN(DTYPE); } // CFA 1958 YY_BREAK 1959 case 39: 1939 1960 YY_RULE_SETUP 1940 1961 #line 206 "lex.ll" 1941 { KEYWORD_RETURN( CONTEXT); } // CFA1942 YY_BREAK 1943 case 34:1962 { KEYWORD_RETURN(ELSE); } 1963 YY_BREAK 1964 case 40: 1944 1965 YY_RULE_SETUP 1945 1966 #line 207 "lex.ll" 1946 { KEYWORD_RETURN( CONTINUE); }1947 YY_BREAK 1948 case 35:1967 { KEYWORD_RETURN(ENUM); } 1968 YY_BREAK 1969 case 41: 1949 1970 YY_RULE_SETUP 1950 1971 #line 208 "lex.ll" 1951 { KEYWORD_RETURN( DEFAULT); }1952 YY_BREAK 1953 case 36:1972 { KEYWORD_RETURN(EXTENSION); } // GCC 1973 YY_BREAK 1974 case 42: 1954 1975 YY_RULE_SETUP 1955 1976 #line 209 "lex.ll" 1956 { KEYWORD_RETURN( DO); }1957 YY_BREAK 1958 case 37:1977 { KEYWORD_RETURN(EXTERN); } 1978 YY_BREAK 1979 case 43: 1959 1980 YY_RULE_SETUP 1960 1981 #line 210 "lex.ll" 1961 { KEYWORD_RETURN( DOUBLE); }1962 YY_BREAK 1963 case 38:1982 { KEYWORD_RETURN(FALLTHRU); } // CFA 1983 YY_BREAK 1984 case 44: 1964 1985 YY_RULE_SETUP 1965 1986 #line 211 "lex.ll" 1966 { KEYWORD_RETURN( DTYPE); }// CFA1967 YY_BREAK 1968 case 39:1987 { KEYWORD_RETURN(FINALLY); } // CFA 1988 YY_BREAK 1989 case 45: 1969 1990 YY_RULE_SETUP 1970 1991 #line 212 "lex.ll" 1971 { KEYWORD_RETURN( ELSE); }1972 YY_BREAK 1973 case 4 0:1992 { KEYWORD_RETURN(FLOAT); } 1993 YY_BREAK 1994 case 46: 1974 1995 YY_RULE_SETUP 1975 1996 #line 213 "lex.ll" 1976 { KEYWORD_RETURN( ENUM); }1977 YY_BREAK 1978 case 4 1:1997 { KEYWORD_RETURN(FLOAT); } // GCC 1998 YY_BREAK 1999 case 47: 1979 2000 YY_RULE_SETUP 1980 2001 #line 214 "lex.ll" 1981 { KEYWORD_RETURN( EXTENSION); } // GCC1982 YY_BREAK 1983 case 4 2:2002 { KEYWORD_RETURN(FOR); } 2003 YY_BREAK 2004 case 48: 1984 2005 YY_RULE_SETUP 1985 2006 #line 215 "lex.ll" 1986 { KEYWORD_RETURN( EXTERN); }1987 YY_BREAK 1988 case 4 3:2007 { KEYWORD_RETURN(FORALL); } // CFA 2008 YY_BREAK 2009 case 49: 1989 2010 YY_RULE_SETUP 1990 2011 #line 216 "lex.ll" 1991 { KEYWORD_RETURN(F ALLTHRU); } // CFA1992 YY_BREAK 1993 case 44:2012 { KEYWORD_RETURN(FORTRAN); } 2013 YY_BREAK 2014 case 50: 1994 2015 YY_RULE_SETUP 1995 2016 #line 217 "lex.ll" 1996 { KEYWORD_RETURN(F INALLY); }// CFA1997 YY_BREAK 1998 case 45:2017 { KEYWORD_RETURN(FTYPE); } // CFA 2018 YY_BREAK 2019 case 51: 1999 2020 YY_RULE_SETUP 2000 2021 #line 218 "lex.ll" 2001 { KEYWORD_RETURN( FLOAT); }2002 YY_BREAK 2003 case 46:2022 { KEYWORD_RETURN(GENERIC); } // C11 2023 YY_BREAK 2024 case 52: 2004 2025 YY_RULE_SETUP 2005 2026 #line 219 "lex.ll" 2006 { KEYWORD_RETURN( FLOAT); } // GCC2007 YY_BREAK 2008 case 47:2027 { KEYWORD_RETURN(GOTO); } 2028 YY_BREAK 2029 case 53: 2009 2030 YY_RULE_SETUP 2010 2031 #line 220 "lex.ll" 2011 { KEYWORD_RETURN( FOR); }2012 YY_BREAK 2013 case 48:2032 { KEYWORD_RETURN(IF); } 2033 YY_BREAK 2034 case 54: 2014 2035 YY_RULE_SETUP 2015 2036 #line 221 "lex.ll" 2016 { KEYWORD_RETURN( FORALL); } // CFA2017 YY_BREAK 2018 case 49:2037 { KEYWORD_RETURN(IMAGINARY); } // C99 2038 YY_BREAK 2039 case 55: 2019 2040 YY_RULE_SETUP 2020 2041 #line 222 "lex.ll" 2021 { KEYWORD_RETURN( FORTRAN); }2022 YY_BREAK 2023 case 5 0:2042 { KEYWORD_RETURN(IMAGINARY); } // GCC 2043 YY_BREAK 2044 case 56: 2024 2045 YY_RULE_SETUP 2025 2046 #line 223 "lex.ll" 2026 { KEYWORD_RETURN( FTYPE); } // CFA2027 YY_BREAK 2028 case 5 1:2047 { KEYWORD_RETURN(IMAGINARY); } // GCC 2048 YY_BREAK 2049 case 57: 2029 2050 YY_RULE_SETUP 2030 2051 #line 224 "lex.ll" 2031 { KEYWORD_RETURN( GENERIC); } // C112032 YY_BREAK 2033 case 5 2:2052 { KEYWORD_RETURN(INLINE); } // C99 2053 YY_BREAK 2054 case 58: 2034 2055 YY_RULE_SETUP 2035 2056 #line 225 "lex.ll" 2036 { KEYWORD_RETURN( GOTO); }2037 YY_BREAK 2038 case 5 3:2057 { KEYWORD_RETURN(INLINE); } // GCC 2058 YY_BREAK 2059 case 59: 2039 2060 YY_RULE_SETUP 2040 2061 #line 226 "lex.ll" 2041 { KEYWORD_RETURN(I F); }2042 YY_BREAK 2043 case 54:2062 { KEYWORD_RETURN(INLINE); } // GCC 2063 YY_BREAK 2064 case 60: 2044 2065 YY_RULE_SETUP 2045 2066 #line 227 "lex.ll" 2046 { KEYWORD_RETURN(I MAGINARY); } // C992047 YY_BREAK 2048 case 55:2067 { KEYWORD_RETURN(INT); } 2068 YY_BREAK 2069 case 61: 2049 2070 YY_RULE_SETUP 2050 2071 #line 228 "lex.ll" 2051 { KEYWORD_RETURN(I MAGINARY); }// GCC2052 YY_BREAK 2053 case 56:2072 { KEYWORD_RETURN(INT); } // GCC 2073 YY_BREAK 2074 case 62: 2054 2075 YY_RULE_SETUP 2055 2076 #line 229 "lex.ll" 2056 { KEYWORD_RETURN( IMAGINARY); }// GCC2057 YY_BREAK 2058 case 57:2077 { KEYWORD_RETURN(LABEL); } // GCC 2078 YY_BREAK 2079 case 63: 2059 2080 YY_RULE_SETUP 2060 2081 #line 230 "lex.ll" 2061 { KEYWORD_RETURN( INLINE); } // C992062 YY_BREAK 2063 case 58:2082 { KEYWORD_RETURN(LONG); } 2083 YY_BREAK 2084 case 64: 2064 2085 YY_RULE_SETUP 2065 2086 #line 231 "lex.ll" 2066 { KEYWORD_RETURN( INLINE); } // GCC2067 YY_BREAK 2068 case 59:2087 { KEYWORD_RETURN(LVALUE); } // CFA 2088 YY_BREAK 2089 case 65: 2069 2090 YY_RULE_SETUP 2070 2091 #line 232 "lex.ll" 2071 { KEYWORD_RETURN( INLINE); } // GCC2072 YY_BREAK 2073 case 6 0:2092 { KEYWORD_RETURN(NORETURN); } // C11 2093 YY_BREAK 2094 case 66: 2074 2095 YY_RULE_SETUP 2075 2096 #line 233 "lex.ll" 2076 { KEYWORD_RETURN( INT); }2077 YY_BREAK 2078 case 6 1:2097 { KEYWORD_RETURN(REGISTER); } 2098 YY_BREAK 2099 case 67: 2079 2100 YY_RULE_SETUP 2080 2101 #line 234 "lex.ll" 2081 { KEYWORD_RETURN( INT); } // GCC2082 YY_BREAK 2083 case 6 2:2102 { KEYWORD_RETURN(RESTRICT); } // C99 2103 YY_BREAK 2104 case 68: 2084 2105 YY_RULE_SETUP 2085 2106 #line 235 "lex.ll" 2086 { KEYWORD_RETURN( LABEL); }// GCC2087 YY_BREAK 2088 case 6 3:2107 { KEYWORD_RETURN(RESTRICT); } // GCC 2108 YY_BREAK 2109 case 69: 2089 2110 YY_RULE_SETUP 2090 2111 #line 236 "lex.ll" 2091 { KEYWORD_RETURN( LONG); }2092 YY_BREAK 2093 case 64:2112 { KEYWORD_RETURN(RESTRICT); } // GCC 2113 YY_BREAK 2114 case 70: 2094 2115 YY_RULE_SETUP 2095 2116 #line 237 "lex.ll" 2096 { KEYWORD_RETURN( LVALUE); } // CFA2097 YY_BREAK 2098 case 65:2117 { KEYWORD_RETURN(RETURN); } 2118 YY_BREAK 2119 case 71: 2099 2120 YY_RULE_SETUP 2100 2121 #line 238 "lex.ll" 2101 { KEYWORD_RETURN( NORETURN); } // C112102 YY_BREAK 2103 case 66:2122 { KEYWORD_RETURN(SHORT); } 2123 YY_BREAK 2124 case 72: 2104 2125 YY_RULE_SETUP 2105 2126 #line 239 "lex.ll" 2106 { KEYWORD_RETURN( REGISTER); }2107 YY_BREAK 2108 case 67:2127 { KEYWORD_RETURN(SIGNED); } 2128 YY_BREAK 2129 case 73: 2109 2130 YY_RULE_SETUP 2110 2131 #line 240 "lex.ll" 2111 { KEYWORD_RETURN( RESTRICT); } // C992112 YY_BREAK 2113 case 68:2132 { KEYWORD_RETURN(SIGNED); } // GCC 2133 YY_BREAK 2134 case 74: 2114 2135 YY_RULE_SETUP 2115 2136 #line 241 "lex.ll" 2116 { KEYWORD_RETURN( RESTRICT); }// GCC2117 YY_BREAK 2118 case 69:2137 { KEYWORD_RETURN(SIGNED); } // GCC 2138 YY_BREAK 2139 case 75: 2119 2140 YY_RULE_SETUP 2120 2141 #line 242 "lex.ll" 2121 { KEYWORD_RETURN( RESTRICT); } // GCC2122 YY_BREAK 2123 case 7 0:2142 { KEYWORD_RETURN(SIZEOF); } 2143 YY_BREAK 2144 case 76: 2124 2145 YY_RULE_SETUP 2125 2146 #line 243 "lex.ll" 2126 { KEYWORD_RETURN( RETURN); }2127 YY_BREAK 2128 case 7 1:2147 { KEYWORD_RETURN(STATIC); } 2148 YY_BREAK 2149 case 77: 2129 2150 YY_RULE_SETUP 2130 2151 #line 244 "lex.ll" 2131 { KEYWORD_RETURN(S HORT); }2132 YY_BREAK 2133 case 7 2:2152 { KEYWORD_RETURN(STATICASSERT); } // C11 2153 YY_BREAK 2154 case 78: 2134 2155 YY_RULE_SETUP 2135 2156 #line 245 "lex.ll" 2136 { KEYWORD_RETURN(S IGNED); }2137 YY_BREAK 2138 case 7 3:2157 { KEYWORD_RETURN(STRUCT); } 2158 YY_BREAK 2159 case 79: 2139 2160 YY_RULE_SETUP 2140 2161 #line 246 "lex.ll" 2141 { KEYWORD_RETURN(S IGNED); } // GCC2142 YY_BREAK 2143 case 74:2162 { KEYWORD_RETURN(SWITCH); } 2163 YY_BREAK 2164 case 80: 2144 2165 YY_RULE_SETUP 2145 2166 #line 247 "lex.ll" 2146 { KEYWORD_RETURN( SIGNED); } // GCC2147 YY_BREAK 2148 case 75:2167 { KEYWORD_RETURN(THREADLOCAL); } // C11 2168 YY_BREAK 2169 case 81: 2149 2170 YY_RULE_SETUP 2150 2171 #line 248 "lex.ll" 2151 { KEYWORD_RETURN( SIZEOF); }2152 YY_BREAK 2153 case 76:2172 { KEYWORD_RETURN(THROW); } // CFA 2173 YY_BREAK 2174 case 82: 2154 2175 YY_RULE_SETUP 2155 2176 #line 249 "lex.ll" 2156 { KEYWORD_RETURN( STATIC); }2157 YY_BREAK 2158 case 77:2177 { KEYWORD_RETURN(TRY); } // CFA 2178 YY_BREAK 2179 case 83: 2159 2180 YY_RULE_SETUP 2160 2181 #line 250 "lex.ll" 2161 { KEYWORD_RETURN( STATICASSERT); } // C112162 YY_BREAK 2163 case 78:2182 { KEYWORD_RETURN(TYPE); } // CFA 2183 YY_BREAK 2184 case 84: 2164 2185 YY_RULE_SETUP 2165 2186 #line 251 "lex.ll" 2166 { KEYWORD_RETURN( STRUCT); }2167 YY_BREAK 2168 case 79:2187 { KEYWORD_RETURN(TYPEDEF); } 2188 YY_BREAK 2189 case 85: 2169 2190 YY_RULE_SETUP 2170 2191 #line 252 "lex.ll" 2171 { KEYWORD_RETURN( SWITCH); }2172 YY_BREAK 2173 case 8 0:2192 { KEYWORD_RETURN(TYPEOF); } // GCC 2193 YY_BREAK 2194 case 86: 2174 2195 YY_RULE_SETUP 2175 2196 #line 253 "lex.ll" 2176 { KEYWORD_RETURN(T HREADLOCAL); } // C112177 YY_BREAK 2178 case 8 1:2197 { KEYWORD_RETURN(TYPEOF); } // GCC 2198 YY_BREAK 2199 case 87: 2179 2200 YY_RULE_SETUP 2180 2201 #line 254 "lex.ll" 2181 { KEYWORD_RETURN(T HROW); } // CFA2182 YY_BREAK 2183 case 8 2:2202 { KEYWORD_RETURN(TYPEOF); } // GCC 2203 YY_BREAK 2204 case 88: 2184 2205 YY_RULE_SETUP 2185 2206 #line 255 "lex.ll" 2186 { KEYWORD_RETURN( TRY); } // CFA2187 YY_BREAK 2188 case 8 3:2207 { KEYWORD_RETURN(UNION); } 2208 YY_BREAK 2209 case 89: 2189 2210 YY_RULE_SETUP 2190 2211 #line 256 "lex.ll" 2191 { KEYWORD_RETURN( TYPE); } // CFA2192 YY_BREAK 2193 case 84:2212 { KEYWORD_RETURN(UNSIGNED); } 2213 YY_BREAK 2214 case 90: 2194 2215 YY_RULE_SETUP 2195 2216 #line 257 "lex.ll" 2196 { KEYWORD_RETURN( TYPEDEF); }2197 YY_BREAK 2198 case 85:2217 { KEYWORD_RETURN(VOID); } 2218 YY_BREAK 2219 case 91: 2199 2220 YY_RULE_SETUP 2200 2221 #line 258 "lex.ll" 2201 { KEYWORD_RETURN( TYPEOF); } // GCC2202 YY_BREAK 2203 case 86:2222 { KEYWORD_RETURN(VOLATILE); } 2223 YY_BREAK 2224 case 92: 2204 2225 YY_RULE_SETUP 2205 2226 #line 259 "lex.ll" 2206 { KEYWORD_RETURN( TYPEOF); }// GCC2207 YY_BREAK 2208 case 87:2227 { KEYWORD_RETURN(VOLATILE); } // GCC 2228 YY_BREAK 2229 case 93: 2209 2230 YY_RULE_SETUP 2210 2231 #line 260 "lex.ll" 2211 { KEYWORD_RETURN( TYPEOF); }// GCC2212 YY_BREAK 2213 case 88:2232 { KEYWORD_RETURN(VOLATILE); } // GCC 2233 YY_BREAK 2234 case 94: 2214 2235 YY_RULE_SETUP 2215 2236 #line 261 "lex.ll" 2216 { KEYWORD_RETURN(UNION); }2217 YY_BREAK2218 case 89:2219 YY_RULE_SETUP2220 #line 262 "lex.ll"2221 { KEYWORD_RETURN(UNSIGNED); }2222 YY_BREAK2223 case 90:2224 YY_RULE_SETUP2225 #line 263 "lex.ll"2226 { KEYWORD_RETURN(VOID); }2227 YY_BREAK2228 case 91:2229 YY_RULE_SETUP2230 #line 264 "lex.ll"2231 { KEYWORD_RETURN(VOLATILE); }2232 YY_BREAK2233 case 92:2234 YY_RULE_SETUP2235 #line 265 "lex.ll"2236 { KEYWORD_RETURN(VOLATILE); } // GCC2237 YY_BREAK2238 case 93:2239 YY_RULE_SETUP2240 #line 266 "lex.ll"2241 { KEYWORD_RETURN(VOLATILE); } // GCC2242 YY_BREAK2243 case 94:2244 YY_RULE_SETUP2245 #line 267 "lex.ll"2246 2237 { KEYWORD_RETURN(WHILE); } 2247 2238 YY_BREAK … … 2249 2240 case 95: 2250 2241 YY_RULE_SETUP 2251 #line 2 70"lex.ll"2242 #line 264 "lex.ll" 2252 2243 { IDENTIFIER_RETURN(); } 2253 2244 YY_BREAK 2254 2245 case 96: 2255 2246 YY_RULE_SETUP 2256 #line 2 71"lex.ll"2247 #line 265 "lex.ll" 2257 2248 { ATTRIBUTE_RETURN(); } 2258 2249 YY_BREAK 2259 2250 case 97: 2260 2251 YY_RULE_SETUP 2261 #line 2 72"lex.ll"2252 #line 266 "lex.ll" 2262 2253 { BEGIN BKQUOTE; } 2263 2254 YY_BREAK 2264 2255 case 98: 2265 2256 YY_RULE_SETUP 2266 #line 2 73"lex.ll"2257 #line 267 "lex.ll" 2267 2258 { IDENTIFIER_RETURN(); } 2268 2259 YY_BREAK 2269 2260 case 99: 2270 2261 YY_RULE_SETUP 2271 #line 2 74"lex.ll"2262 #line 268 "lex.ll" 2272 2263 { BEGIN 0; } 2273 2264 YY_BREAK … … 2275 2266 case 100: 2276 2267 YY_RULE_SETUP 2268 #line 271 "lex.ll" 2269 { NUMERIC_RETURN(ZERO); } // CFA 2270 YY_BREAK 2271 case 101: 2272 YY_RULE_SETUP 2273 #line 272 "lex.ll" 2274 { NUMERIC_RETURN(ONE); } // CFA 2275 YY_BREAK 2276 case 102: 2277 YY_RULE_SETUP 2278 #line 273 "lex.ll" 2279 { NUMERIC_RETURN(INTEGERconstant); } 2280 YY_BREAK 2281 case 103: 2282 YY_RULE_SETUP 2283 #line 274 "lex.ll" 2284 { NUMERIC_RETURN(INTEGERconstant); } 2285 YY_BREAK 2286 case 104: 2287 YY_RULE_SETUP 2288 #line 275 "lex.ll" 2289 { NUMERIC_RETURN(INTEGERconstant); } 2290 YY_BREAK 2291 case 105: 2292 YY_RULE_SETUP 2293 #line 276 "lex.ll" 2294 { NUMERIC_RETURN(FLOATINGconstant); } 2295 YY_BREAK 2296 case 106: 2297 YY_RULE_SETUP 2277 2298 #line 277 "lex.ll" 2278 { NUMERIC_RETURN(ZERO); } // CFA2279 YY_BREAK2280 case 101:2281 YY_RULE_SETUP2282 #line 278 "lex.ll"2283 { NUMERIC_RETURN(ONE); } // CFA2284 YY_BREAK2285 case 102:2286 YY_RULE_SETUP2287 #line 279 "lex.ll"2288 { NUMERIC_RETURN(INTEGERconstant); }2289 YY_BREAK2290 case 103:2291 YY_RULE_SETUP2292 #line 280 "lex.ll"2293 { NUMERIC_RETURN(INTEGERconstant); }2294 YY_BREAK2295 case 104:2296 YY_RULE_SETUP2297 #line 281 "lex.ll"2298 { NUMERIC_RETURN(INTEGERconstant); }2299 YY_BREAK2300 case 105:2301 YY_RULE_SETUP2302 #line 282 "lex.ll"2303 { NUMERIC_RETURN(FLOATINGconstant); }2304 YY_BREAK2305 case 106:2306 YY_RULE_SETUP2307 #line 283 "lex.ll"2308 2299 { NUMERIC_RETURN(FLOATINGconstant); } 2309 2300 YY_BREAK … … 2311 2302 case 107: 2312 2303 YY_RULE_SETUP 2313 #line 28 6"lex.ll"2304 #line 280 "lex.ll" 2314 2305 { BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); } 2315 2306 YY_BREAK 2316 2307 case 108: 2317 2308 YY_RULE_SETUP 2318 #line 28 7"lex.ll"2309 #line 281 "lex.ll" 2319 2310 { *strtext += std::string( yytext ); } 2320 2311 YY_BREAK … … 2322 2313 /* rule 109 can match eol */ 2323 2314 YY_RULE_SETUP 2324 #line 28 8"lex.ll"2315 #line 282 "lex.ll" 2325 2316 { BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); } 2326 2317 YY_BREAK … … 2329 2320 case 110: 2330 2321 YY_RULE_SETUP 2331 #line 2 92"lex.ll"2322 #line 286 "lex.ll" 2332 2323 { BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); } 2333 2324 YY_BREAK 2334 2325 case 111: 2335 2326 YY_RULE_SETUP 2336 #line 2 93"lex.ll"2327 #line 287 "lex.ll" 2337 2328 { *strtext += std::string( yytext ); } 2338 2329 YY_BREAK … … 2340 2331 /* rule 112 can match eol */ 2341 2332 YY_RULE_SETUP 2342 #line 2 94"lex.ll"2333 #line 288 "lex.ll" 2343 2334 { BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); } 2344 2335 YY_BREAK … … 2347 2338 case 113: 2348 2339 YY_RULE_SETUP 2349 #line 29 8"lex.ll"2340 #line 292 "lex.ll" 2350 2341 { rm_underscore(); *strtext += std::string( yytext ); } 2351 2342 YY_BREAK … … 2353 2344 /* rule 114 can match eol */ 2354 2345 YY_RULE_SETUP 2355 #line 29 9"lex.ll"2346 #line 293 "lex.ll" 2356 2347 {} // continuation (ALSO HANDLED BY CPP) 2357 2348 YY_BREAK 2358 2349 case 115: 2359 2350 YY_RULE_SETUP 2360 #line 300"lex.ll"2351 #line 294 "lex.ll" 2361 2352 { *strtext += std::string( yytext ); } // unknown escape character 2362 2353 YY_BREAK … … 2364 2355 case 116: 2365 2356 YY_RULE_SETUP 2357 #line 297 "lex.ll" 2358 { ASCIIOP_RETURN(); } 2359 YY_BREAK 2360 case 117: 2361 YY_RULE_SETUP 2362 #line 298 "lex.ll" 2363 { ASCIIOP_RETURN(); } 2364 YY_BREAK 2365 case 118: 2366 YY_RULE_SETUP 2367 #line 299 "lex.ll" 2368 { ASCIIOP_RETURN(); } 2369 YY_BREAK 2370 case 119: 2371 YY_RULE_SETUP 2372 #line 300 "lex.ll" 2373 { ASCIIOP_RETURN(); } 2374 YY_BREAK 2375 case 120: 2376 YY_RULE_SETUP 2377 #line 301 "lex.ll" 2378 { ASCIIOP_RETURN(); } 2379 YY_BREAK 2380 case 121: 2381 YY_RULE_SETUP 2382 #line 302 "lex.ll" 2383 { ASCIIOP_RETURN(); } 2384 YY_BREAK 2385 case 122: 2386 YY_RULE_SETUP 2366 2387 #line 303 "lex.ll" 2367 { ASCIIOP_RETURN(); } 2368 YY_BREAK 2369 case 1 17:2388 { ASCIIOP_RETURN(); } // also operator 2389 YY_BREAK 2390 case 123: 2370 2391 YY_RULE_SETUP 2371 2392 #line 304 "lex.ll" 2372 2393 { ASCIIOP_RETURN(); } 2373 2394 YY_BREAK 2374 case 1 18:2395 case 124: 2375 2396 YY_RULE_SETUP 2376 2397 #line 305 "lex.ll" 2377 2398 { ASCIIOP_RETURN(); } 2378 2399 YY_BREAK 2379 case 1 19:2400 case 125: 2380 2401 YY_RULE_SETUP 2381 2402 #line 306 "lex.ll" 2382 { ASCIIOP_RETURN(); } 2383 YY_BREAK 2384 case 12 0:2403 { ASCIIOP_RETURN(); } // also operator 2404 YY_BREAK 2405 case 126: 2385 2406 YY_RULE_SETUP 2386 2407 #line 307 "lex.ll" 2387 { ASCIIOP_RETURN(); }2388 YY_BREAK2389 case 121:2390 YY_RULE_SETUP2391 #line 308 "lex.ll"2392 { ASCIIOP_RETURN(); }2393 YY_BREAK2394 case 122:2395 YY_RULE_SETUP2396 #line 309 "lex.ll"2397 { ASCIIOP_RETURN(); } // also operator2398 YY_BREAK2399 case 123:2400 YY_RULE_SETUP2401 #line 310 "lex.ll"2402 { ASCIIOP_RETURN(); }2403 YY_BREAK2404 case 124:2405 YY_RULE_SETUP2406 #line 311 "lex.ll"2407 { ASCIIOP_RETURN(); }2408 YY_BREAK2409 case 125:2410 YY_RULE_SETUP2411 #line 312 "lex.ll"2412 { ASCIIOP_RETURN(); } // also operator2413 YY_BREAK2414 case 126:2415 YY_RULE_SETUP2416 #line 313 "lex.ll"2417 2408 { NAMEDOP_RETURN(ELLIPSIS); } 2418 2409 YY_BREAK … … 2420 2411 case 127: 2421 2412 YY_RULE_SETUP 2422 #line 31 6"lex.ll"2413 #line 310 "lex.ll" 2423 2414 { RETURN_VAL('['); } 2424 2415 YY_BREAK 2425 2416 case 128: 2426 2417 YY_RULE_SETUP 2427 #line 31 7"lex.ll"2418 #line 311 "lex.ll" 2428 2419 { RETURN_VAL(']'); } 2429 2420 YY_BREAK 2430 2421 case 129: 2431 2422 YY_RULE_SETUP 2432 #line 31 8"lex.ll"2423 #line 312 "lex.ll" 2433 2424 { RETURN_VAL('{'); } 2434 2425 YY_BREAK 2435 2426 case 130: 2436 2427 YY_RULE_SETUP 2437 #line 31 9"lex.ll"2428 #line 313 "lex.ll" 2438 2429 { RETURN_VAL('}'); } 2439 2430 YY_BREAK … … 2441 2432 case 131: 2442 2433 YY_RULE_SETUP 2434 #line 316 "lex.ll" 2435 { ASCIIOP_RETURN(); } 2436 YY_BREAK 2437 case 132: 2438 YY_RULE_SETUP 2439 #line 317 "lex.ll" 2440 { ASCIIOP_RETURN(); } 2441 YY_BREAK 2442 case 133: 2443 YY_RULE_SETUP 2444 #line 318 "lex.ll" 2445 { ASCIIOP_RETURN(); } 2446 YY_BREAK 2447 case 134: 2448 YY_RULE_SETUP 2449 #line 319 "lex.ll" 2450 { ASCIIOP_RETURN(); } 2451 YY_BREAK 2452 case 135: 2453 YY_RULE_SETUP 2454 #line 320 "lex.ll" 2455 { ASCIIOP_RETURN(); } 2456 YY_BREAK 2457 case 136: 2458 YY_RULE_SETUP 2459 #line 321 "lex.ll" 2460 { ASCIIOP_RETURN(); } 2461 YY_BREAK 2462 case 137: 2463 YY_RULE_SETUP 2443 2464 #line 322 "lex.ll" 2444 2465 { ASCIIOP_RETURN(); } 2445 2466 YY_BREAK 2446 case 13 2:2467 case 138: 2447 2468 YY_RULE_SETUP 2448 2469 #line 323 "lex.ll" 2449 2470 { ASCIIOP_RETURN(); } 2450 2471 YY_BREAK 2451 case 13 3:2472 case 139: 2452 2473 YY_RULE_SETUP 2453 2474 #line 324 "lex.ll" 2454 2475 { ASCIIOP_RETURN(); } 2455 2476 YY_BREAK 2456 case 1 34:2477 case 140: 2457 2478 YY_RULE_SETUP 2458 2479 #line 325 "lex.ll" 2459 2480 { ASCIIOP_RETURN(); } 2460 2481 YY_BREAK 2461 case 1 35:2482 case 141: 2462 2483 YY_RULE_SETUP 2463 2484 #line 326 "lex.ll" 2464 2485 { ASCIIOP_RETURN(); } 2465 2486 YY_BREAK 2466 case 1 36:2487 case 142: 2467 2488 YY_RULE_SETUP 2468 2489 #line 327 "lex.ll" 2469 2490 { ASCIIOP_RETURN(); } 2470 2491 YY_BREAK 2471 case 1 37:2492 case 143: 2472 2493 YY_RULE_SETUP 2473 2494 #line 328 "lex.ll" 2474 2495 { ASCIIOP_RETURN(); } 2475 2496 YY_BREAK 2476 case 1 38:2497 case 144: 2477 2498 YY_RULE_SETUP 2478 2499 #line 329 "lex.ll" 2479 2500 { ASCIIOP_RETURN(); } 2480 2501 YY_BREAK 2481 case 139: 2482 YY_RULE_SETUP 2483 #line 330 "lex.ll" 2484 { ASCIIOP_RETURN(); } 2485 YY_BREAK 2486 case 140: 2502 case 145: 2487 2503 YY_RULE_SETUP 2488 2504 #line 331 "lex.ll" 2489 { ASCIIOP_RETURN(); }2490 YY_BREAK 2491 case 14 1:2505 { NAMEDOP_RETURN(ICR); } 2506 YY_BREAK 2507 case 146: 2492 2508 YY_RULE_SETUP 2493 2509 #line 332 "lex.ll" 2494 { ASCIIOP_RETURN(); }2495 YY_BREAK 2496 case 14 2:2510 { NAMEDOP_RETURN(DECR); } 2511 YY_BREAK 2512 case 147: 2497 2513 YY_RULE_SETUP 2498 2514 #line 333 "lex.ll" 2499 { ASCIIOP_RETURN(); }2500 YY_BREAK 2501 case 14 3:2515 { NAMEDOP_RETURN(EQ); } 2516 YY_BREAK 2517 case 148: 2502 2518 YY_RULE_SETUP 2503 2519 #line 334 "lex.ll" 2504 { ASCIIOP_RETURN(); }2505 YY_BREAK 2506 case 14 4:2520 { NAMEDOP_RETURN(NE); } 2521 YY_BREAK 2522 case 149: 2507 2523 YY_RULE_SETUP 2508 2524 #line 335 "lex.ll" 2509 { ASCIIOP_RETURN(); } 2510 YY_BREAK 2511 case 145: 2525 { NAMEDOP_RETURN(LS); } 2526 YY_BREAK 2527 case 150: 2528 YY_RULE_SETUP 2529 #line 336 "lex.ll" 2530 { NAMEDOP_RETURN(RS); } 2531 YY_BREAK 2532 case 151: 2512 2533 YY_RULE_SETUP 2513 2534 #line 337 "lex.ll" 2514 { NAMEDOP_RETURN( ICR); }2515 YY_BREAK 2516 case 1 46:2535 { NAMEDOP_RETURN(LE); } 2536 YY_BREAK 2537 case 152: 2517 2538 YY_RULE_SETUP 2518 2539 #line 338 "lex.ll" 2519 { NAMEDOP_RETURN( DECR); }2520 YY_BREAK 2521 case 1 47:2540 { NAMEDOP_RETURN(GE); } 2541 YY_BREAK 2542 case 153: 2522 2543 YY_RULE_SETUP 2523 2544 #line 339 "lex.ll" 2524 { NAMEDOP_RETURN( EQ); }2525 YY_BREAK 2526 case 1 48:2545 { NAMEDOP_RETURN(ANDAND); } 2546 YY_BREAK 2547 case 154: 2527 2548 YY_RULE_SETUP 2528 2549 #line 340 "lex.ll" 2529 { NAMEDOP_RETURN( NE); }2530 YY_BREAK 2531 case 1 49:2550 { NAMEDOP_RETURN(OROR); } 2551 YY_BREAK 2552 case 155: 2532 2553 YY_RULE_SETUP 2533 2554 #line 341 "lex.ll" 2534 { NAMEDOP_RETURN( LS); }2535 YY_BREAK 2536 case 15 0:2555 { NAMEDOP_RETURN(ARROW); } 2556 YY_BREAK 2557 case 156: 2537 2558 YY_RULE_SETUP 2538 2559 #line 342 "lex.ll" 2539 { NAMEDOP_RETURN( RS); }2540 YY_BREAK 2541 case 15 1:2560 { NAMEDOP_RETURN(PLUSassign); } 2561 YY_BREAK 2562 case 157: 2542 2563 YY_RULE_SETUP 2543 2564 #line 343 "lex.ll" 2544 { NAMEDOP_RETURN( LE); }2545 YY_BREAK 2546 case 15 2:2565 { NAMEDOP_RETURN(MINUSassign); } 2566 YY_BREAK 2567 case 158: 2547 2568 YY_RULE_SETUP 2548 2569 #line 344 "lex.ll" 2549 { NAMEDOP_RETURN( GE); }2550 YY_BREAK 2551 case 15 3:2570 { NAMEDOP_RETURN(MULTassign); } 2571 YY_BREAK 2572 case 159: 2552 2573 YY_RULE_SETUP 2553 2574 #line 345 "lex.ll" 2554 { NAMEDOP_RETURN( ANDAND); }2555 YY_BREAK 2556 case 1 54:2575 { NAMEDOP_RETURN(DIVassign); } 2576 YY_BREAK 2577 case 160: 2557 2578 YY_RULE_SETUP 2558 2579 #line 346 "lex.ll" 2559 { NAMEDOP_RETURN( OROR); }2560 YY_BREAK 2561 case 1 55:2580 { NAMEDOP_RETURN(MODassign); } 2581 YY_BREAK 2582 case 161: 2562 2583 YY_RULE_SETUP 2563 2584 #line 347 "lex.ll" 2564 { NAMEDOP_RETURN(A RROW); }2565 YY_BREAK 2566 case 1 56:2585 { NAMEDOP_RETURN(ANDassign); } 2586 YY_BREAK 2587 case 162: 2567 2588 YY_RULE_SETUP 2568 2589 #line 348 "lex.ll" 2569 { NAMEDOP_RETURN( PLUSassign); }2570 YY_BREAK 2571 case 1 57:2590 { NAMEDOP_RETURN(ORassign); } 2591 YY_BREAK 2592 case 163: 2572 2593 YY_RULE_SETUP 2573 2594 #line 349 "lex.ll" 2574 { NAMEDOP_RETURN( MINUSassign); }2575 YY_BREAK 2576 case 1 58:2595 { NAMEDOP_RETURN(ERassign); } 2596 YY_BREAK 2597 case 164: 2577 2598 YY_RULE_SETUP 2578 2599 #line 350 "lex.ll" 2579 { NAMEDOP_RETURN( MULTassign); }2580 YY_BREAK 2581 case 1 59:2600 { NAMEDOP_RETURN(LSassign); } 2601 YY_BREAK 2602 case 165: 2582 2603 YY_RULE_SETUP 2583 2604 #line 351 "lex.ll" 2584 { NAMEDOP_RETURN(DIVassign); }2585 YY_BREAK2586 case 160:2587 YY_RULE_SETUP2588 #line 352 "lex.ll"2589 { NAMEDOP_RETURN(MODassign); }2590 YY_BREAK2591 case 161:2592 YY_RULE_SETUP2593 #line 353 "lex.ll"2594 { NAMEDOP_RETURN(ANDassign); }2595 YY_BREAK2596 case 162:2597 YY_RULE_SETUP2598 #line 354 "lex.ll"2599 { NAMEDOP_RETURN(ORassign); }2600 YY_BREAK2601 case 163:2602 YY_RULE_SETUP2603 #line 355 "lex.ll"2604 { NAMEDOP_RETURN(ERassign); }2605 YY_BREAK2606 case 164:2607 YY_RULE_SETUP2608 #line 356 "lex.ll"2609 { NAMEDOP_RETURN(LSassign); }2610 YY_BREAK2611 case 165:2612 YY_RULE_SETUP2613 #line 357 "lex.ll"2614 2605 { NAMEDOP_RETURN(RSassign); } 2615 2606 YY_BREAK … … 2617 2608 case 166: 2618 2609 YY_RULE_SETUP 2619 #line 3 60"lex.ll"2610 #line 354 "lex.ll" 2620 2611 { IDENTIFIER_RETURN(); } // unary 2621 2612 YY_BREAK 2622 2613 case 167: 2623 2614 YY_RULE_SETUP 2624 #line 3 61"lex.ll"2615 #line 355 "lex.ll" 2625 2616 { IDENTIFIER_RETURN(); } 2626 2617 YY_BREAK 2627 2618 case 168: 2628 2619 YY_RULE_SETUP 2629 #line 3 62"lex.ll"2620 #line 356 "lex.ll" 2630 2621 { IDENTIFIER_RETURN(); } // binary 2631 2622 YY_BREAK … … 2658 2649 case 169: 2659 2650 YY_RULE_SETUP 2660 #line 38 9"lex.ll"2651 #line 383 "lex.ll" 2661 2652 { 2662 2653 // 1 or 2 character unary operator ? … … 2673 2664 case 170: 2674 2665 YY_RULE_SETUP 2675 #line 401"lex.ll"2666 #line 395 "lex.ll" 2676 2667 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 2677 2668 YY_BREAK 2678 2669 case 171: 2679 2670 YY_RULE_SETUP 2680 #line 403"lex.ll"2671 #line 397 "lex.ll" 2681 2672 ECHO; 2682 2673 YY_BREAK 2683 #line 26 84"Parser/lex.cc"2674 #line 2675 "Parser/lex.cc" 2684 2675 case YY_STATE_EOF(INITIAL): 2685 2676 case YY_STATE_EOF(COMMENT): … … 3013 3004 3014 3005 return yy_is_jam ? 0 : yy_current_state; 3015 }3016 3017 static void yyunput (int c, register char * yy_bp )3018 {3019 register char *yy_cp;3020 3021 yy_cp = (yy_c_buf_p);3022 3023 /* undo effects of setting up yytext */3024 *yy_cp = (yy_hold_char);3025 3026 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )3027 { /* need to shift things up to make room */3028 /* +2 for EOB chars. */3029 register int number_to_move = (yy_n_chars) + 2;3030 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[3031 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];3032 register char *source =3033 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];3034 3035 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )3036 *--dest = *--source;3037 3038 yy_cp += (int) (dest - source);3039 yy_bp += (int) (dest - source);3040 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =3041 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;3042 3043 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )3044 YY_FATAL_ERROR( "flex scanner push-back overflow" );3045 }3046 3047 *--yy_cp = (char) c;3048 3049 if ( c == '\n' ){3050 --yylineno;3051 }3052 3053 (yytext_ptr) = yy_bp;3054 (yy_hold_char) = *yy_cp;3055 (yy_c_buf_p) = yy_cp;3056 3006 } 3057 3007 … … 3697 3647 #define YYTABLES_NAME "yytables" 3698 3648 3699 #line 403"lex.ll"3649 #line 397 "lex.ll" 3700 3650 3701 3651 -
src/Parser/lex.h
rcd623a4 r5f2f2d7 10 10 // Created On : Sat Sep 22 08:58:10 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 6 07:44:39201513 // Update Count : 3 3812 // Last Modified On : Mon Jun 8 20:28:48 2015 13 // Update Count : 341 14 14 // 15 15 … … 18 18 19 19 int yylex(); 20 void yyerror( char *);20 void yyerror( const char * ); 21 21 22 22 // External declarations for information sharing between lexer and scanner … … 35 35 class Token { 36 36 public: 37 std::string *str; 37 std::string *str; // must be pointer as used in union 38 38 Location loc; 39 39 … … 44 44 45 45 // Local Variables: // 46 // fill-column: 110 //47 46 // tab-width: 4 // 48 47 // mode: c++ // -
src/Parser/lex.ll
rcd623a4 r5f2f2d7 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Sun Jun 7 07:14:16201513 * Update Count : 3 7412 * Last Modified On : Mon Jun 8 20:24:15 2015 13 * Update Count : 381 14 14 */ 15 15 16 16 %option yylineno 17 %option nounput 17 18 18 19 %{ … … 32 33 std::string *strtext; // accumulate parts of character and string constant value 33 34 35 #define RETURN_LOCN(x) yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return(x) 36 #define RETURN_VAL(x) yylval.tok.str = new std::string( yytext ); RETURN_LOCN(x) 37 #define RETURN_CHAR(x) yylval.tok.str = NULL; RETURN_LOCN(x) 38 #define RETURN_STR(x) yylval.tok.str = strtext; RETURN_LOCN(x) 39 34 40 #define WHITE_RETURN(x) // do nothing 35 41 #define NEWLINE_RETURN() WHITE_RETURN('\n') 36 #define RETURN_VAL(x) yylval.tok.str = new std::string( yytext ); \ 37 yylval.tok.loc.file = yyfilename; \ 38 yylval.tok.loc.line = yylineno; \ 39 return(x) 40 #define RETURN_STR(x) yylval.tok.str = strtext; \ 41 yylval.tok.loc.file = yyfilename; \ 42 yylval.tok.loc.line = yylineno; \ 43 return(x) 44 45 #define KEYWORD_RETURN(x) RETURN_VAL(x) // keyword 42 #define ASCIIOP_RETURN() RETURN_CHAR((int)yytext[0]) // single character operator 43 #define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name 44 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant 45 #define KEYWORD_RETURN(x) RETURN_CHAR(x) // keyword 46 46 #define IDENTIFIER_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname)) 47 //#define ATTRIBUTE_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? ATTR_IDENTIFIER : typedefTable.isTypedef(yytext) ? ATTR_TYPEDEFname : ATTR_TYPEGENname))48 47 #define ATTRIBUTE_RETURN() RETURN_VAL(ATTR_IDENTIFIER) 49 50 #define ASCIIOP_RETURN() RETURN_VAL((int)yytext[0]) // single character operator51 #define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name52 53 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant54 48 55 49 void rm_underscore() { -
src/Parser/module.mk
rcd623a4 r5f2f2d7 11 11 ## Created On : Sat May 16 15:29:09 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Thu Jun 4 09:39:00201514 ## Update Count : 8 613 ## Last Modified On : Mon Jun 8 20:23:47 2015 14 ## Update Count : 87 15 15 ############################################################################### 16 16 -
src/Parser/parser.cc
rcd623a4 r5f2f2d7 9266 9266 // ----end of grammar---- 9267 9267 9268 void yyerror( char *string ) { 9269 using std::cout; 9270 using std::endl; 9271 cout << "Error "; 9268 void yyerror( const char * ) { 9269 std::cout << "Error "; 9272 9270 if ( yyfilename ) { 9273 9274 } 9275 cout << "at line " << yylineno << " reading token \"" << *(yylval.tok.str) << "\"" <<endl;9271 std::cout << "in file " << yyfilename << " "; 9272 } // if 9273 std::cout << "at line " << yylineno << " reading token \"" << *(yylval.tok.str) << "\"" << std::endl; 9276 9274 } 9277 9275 9278 9276 // Local Variables: // 9279 // fill-column: 110 //9280 9277 // tab-width: 4 // 9281 9278 // mode: c++ // -
src/Parser/parser.yy
rcd623a4 r5f2f2d7 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 6 20:18:36201513 // Update Count : 10 2612 // Last Modified On : Mon Jun 8 20:31:07 2015 13 // Update Count : 1030 14 14 // 15 15 … … 2717 2717 // ----end of grammar---- 2718 2718 2719 void yyerror( char *string ) { 2720 using std::cout; 2721 using std::endl; 2722 cout << "Error "; 2719 void yyerror( const char * ) { 2720 std::cout << "Error "; 2723 2721 if ( yyfilename ) { 2724 2725 } 2726 cout << "at line " << yylineno << " reading token \"" << *(yylval.tok.str) << "\"" <<endl;2722 std::cout << "in file " << yyfilename << " "; 2723 } // if 2724 std::cout << "at line " << yylineno << " reading token \"" << *(yylval.tok.str) << "\"" << std::endl; 2727 2725 } 2728 2726 2729 2727 // Local Variables: // 2730 // fill-column: 110 //2731 2728 // tab-width: 4 // 2732 2729 // mode: c++ // -
src/ResolvExpr/AlternativeFinder.cc
rcd623a4 r5f2f2d7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:52:08 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Thu May 21 16:21:09201513 // Update Count : 1 211 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 14:53:58 2015 13 // Update Count : 14 14 14 // 15 15 … … 209 209 pruneAlternatives( alternatives.begin(), alternatives.end(), front_inserter( alternatives ), indexer ); 210 210 if ( alternatives.begin() == oldBegin ) { 211 std::ostr stream stream;211 std::ostringstream stream; 212 212 stream << "Can't choose between alternatives for expression "; 213 213 expr->print( stream ); … … 216 216 findMinCost( alternatives.begin(), alternatives.end(), back_inserter( winners ) ); 217 217 printAlts( winners, stream, 8 ); 218 throw SemanticError( st d::string( stream.str(), stream.pcount()) );218 throw SemanticError( stream.str() ); 219 219 } 220 220 alternatives.erase( oldBegin, alternatives.end() ); -
src/ResolvExpr/RenameVars.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Sun May 17 12:05:18 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 17 12:07:59201513 // Update Count : 212 // Last Modified On : Mon Jun 8 14:51:35 2015 13 // Update Count : 4 14 14 // 15 15 16 #include <s trstream>16 #include <sstream> 17 17 18 18 #include "RenameVars.h" … … 120 120 mapStack.push_front( mapStack.front() ); 121 121 for ( std::list< TypeDecl* >::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) { 122 std::ostr stream output;122 std::ostringstream output; 123 123 output << "_" << level << "_" << (*i)->get_name(); 124 std::string newname( output.str() , output.pcount());124 std::string newname( output.str() ); 125 125 mapStack.front()[ (*i)->get_name() ] = newname; 126 126 (*i)->set_name( newname ); -
src/ResolvExpr/Resolver.cc
rcd623a4 r5f2f2d7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Mon Jun 01 13:47:16201513 // Update Count : 2 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 21:50:37 2015 13 // Update Count : 23 14 14 // 15 15 -
src/SymTab/Mangler.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Sun May 17 21:40:29 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:50:47201513 // Update Count : 312 // Last Modified On : Mon Jun 8 15:12:12 2015 13 // Update Count : 8 14 14 // 15 15 … … 160 160 } else { 161 161 printQualifiers( typeInst ); 162 std::ostr stream numStream;162 std::ostringstream numStream; 163 163 numStream << varNum->second.first; 164 mangleName << (numStream.pcount() + 1);165 164 switch ( (TypeDecl::Kind )varNum->second.second ) { 166 165 case TypeDecl::Any: … … 174 173 break; 175 174 } // switch 176 mangleName << std::string( numStream.str(), numStream.pcount());175 mangleName << numStream.str(); 177 176 } // if 178 177 } … … 220 219 sub_mangler.varNums = varNums; 221 220 (*assert)->accept( sub_mangler ); 222 assertionNames.push_back( s td::string( sub_mangler.mangleName.str(), sub_mangler.mangleName.pcount()) );221 assertionNames.push_back( sub_mangler.mangleName.str() ); 223 222 } // for 224 223 } // for -
src/SymTab/Mangler.h
rcd623a4 r5f2f2d7 10 10 // Created On : Sun May 17 21:44:03 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:49:21201513 // Update Count : 312 // Last Modified On : Mon Jun 8 14:47:14 2015 13 // Update Count : 5 14 14 // 15 15 … … 17 17 #define MANGLER_H 18 18 19 #include <s trstream>19 #include <sstream> 20 20 #include "SynTree/SynTree.h" 21 21 #include "SynTree/Visitor.h" … … 43 43 virtual void visit( TupleType *tupleType ); 44 44 45 std::string get_mangleName() { return std::string( mangleName.str(), mangleName.pcount()); }45 std::string get_mangleName() { return mangleName.str(); } 46 46 private: 47 std::ostr stream mangleName;47 std::ostringstream mangleName; 48 48 typedef std::map< std::string, std::pair< int, int > > VarMapType; 49 49 VarMapType varNums; -
src/SymTab/Validate.cc
rcd623a4 r5f2f2d7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:50:04 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Mon May 25 14:27:15 201513 // Update Count : 2 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 17:19:35 2015 13 // Update Count : 22 14 14 // 15 15 … … 651 651 652 652 void addDecls( std::list< Declaration * > &declsToAdd, std::list< Statement * > &statements, std::list< Statement * >::iterator i ) { 653 if ( ! declsToAdd.empty() ) { 654 for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) { 655 statements.insert( i, new DeclStmt( noLabels, *decl ) ); 656 } // for 657 declsToAdd.clear(); 658 } // if 653 for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) { 654 statements.insert( i, new DeclStmt( noLabels, *decl ) ); 655 } // for 656 declsToAdd.clear(); 659 657 } 660 658 -
src/SynTree/BasicType.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 6 11:52:43201513 // Update Count : 212 // Last Modified On : Sun Jun 7 08:44:36 2015 13 // Update Count : 5 14 14 // 15 15 -
src/SynTree/Constant.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 6 12:17:22201513 // Update Count : 212 // Last Modified On : Sun Jun 7 08:45:30 2015 13 // Update Count : 5 14 14 // 15 15 … … 29 29 os << value; 30 30 if ( type ) { 31 os << " (type:";31 os << " "; 32 32 type->print( os ); 33 os << ")";34 33 } // if 35 34 } -
src/SynTree/DeclStmt.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:16:03201513 // Update Count : 212 // Last Modified On : Mon Jun 8 17:24:38 2015 13 // Update Count : 3 14 14 // 15 15 … … 29 29 30 30 void DeclStmt::print( std::ostream &os, int indent ) { 31 assert( decl != 0 ); 31 32 os << "Declaration of "; 32 if ( decl ) { 33 decl->print( os, indent ); 34 } // if 33 decl->print( os, indent ); 35 34 } 36 35 -
src/SynTree/Declaration.h
rcd623a4 r5f2f2d7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Mon May 25 14:08:10201513 // Update Count : 611 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 22:03:43 2015 13 // Update Count : 7 14 14 // 15 15 … … 38 38 virtual ~Declaration(); 39 39 40 std::stringget_name() const { return name; }40 const std::string &get_name() const { return name; } 41 41 void set_name( std::string newValue ) { name = newValue; } 42 42 StorageClass get_storageClass() const { return storageClass; } -
src/SynTree/Expression.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 6 23:43:22201513 // Update Count : 1 512 // Last Modified On : Sun Jun 7 08:40:46 2015 13 // Update Count : 16 14 14 // 15 15 … … 72 72 73 73 void ConstantExpr::print( std::ostream &os, int indent ) const { 74 os << "constant expression :" ;74 os << "constant expression " ; 75 75 constant.print( os ); 76 76 Expression::print( os, indent ); -
src/SynTree/Expression.h
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:46:15201513 // Update Count : 312 // Last Modified On : Sun Jun 7 22:03:44 2015 13 // Update Count : 4 14 14 // 15 15 … … 125 125 virtual ~NameExpr(); 126 126 127 std::stringget_name() const { return name; }127 const std::string &get_name() const { return name; } 128 128 void set_name( std::string newValue ) { name = newValue; } 129 129 -
src/SynTree/FunctionDecl.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 21 21:31:16201513 // Update Count : 1 112 // Last Modified On : Sun Jun 7 08:36:44 2015 13 // Update Count : 12 14 14 // 15 15 … … 52 52 53 53 if ( get_name() != "" ) { 54 os << get_name() << ": a";54 os << get_name() << ": "; 55 55 } // if 56 56 if ( get_linkage() != LinkageSpec::Cforall ) { … … 91 91 92 92 if ( get_name() != "" ) { 93 os << get_name() << ": a";93 os << get_name() << ": "; 94 94 } // if 95 95 if ( isInline ) { -
src/SynTree/NamedTypeDecl.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 10:13:19 201513 // Update Count : 112 // Last Modified On : Sun Jun 7 08:36:09 2015 13 // Update Count : 2 14 14 // 15 15 … … 37 37 38 38 if ( get_name() != "" ) { 39 os << get_name() << ": a";39 os << get_name() << ": "; 40 40 } // if 41 41 if ( get_storageClass() != NoStorageClass ) { … … 61 61 62 62 if ( get_name() != "" ) { 63 os << get_name() << ": a";63 os << get_name() << ": "; 64 64 } // if 65 65 if ( get_storageClass() != NoStorageClass ) { -
src/SynTree/ReferenceToType.cc
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:52:40201513 // Update Count : 312 // Last Modified On : Sun Jun 7 08:31:48 2015 13 // Update Count : 4 14 14 // 15 15 … … 101 101 102 102 Type::print( os, indent ); 103 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " afunction type) ";103 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) "; 104 104 if ( ! parameters.empty() ) { 105 105 os << endl << std::string( indent, ' ' ) << "with parameters" << endl; -
src/SynTree/Type.h
rcd623a4 r5f2f2d7 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 6 14:12:14201513 // Update Count : 212 // Last Modified On : Sun Jun 7 21:50:38 2015 13 // Update Count : 12 14 14 // 15 15 … … 214 214 virtual ~ReferenceToType(); 215 215 216 std::stringget_name() const { return name; }216 const std::string &get_name() const { return name; } 217 217 void set_name( std::string newValue ) { name = newValue; } 218 218 std::list< Expression* >& get_parameters() { return parameters; } … … 372 372 virtual ~AttrType(); 373 373 374 std::stringget_name() const { return name; }374 const std::string &get_name() const { return name; } 375 375 void set_name( const std::string &newValue ) { name = newValue; } 376 376 Expression *get_expr() const { return expr; } -
src/Tests/ResolvExpr/Abstype.c
rcd623a4 r5f2f2d7 1 // "cfa-cpp -nx Abstype.c"2 3 1 type T | { T x( T ); }; 4 2 … … 9 7 10 8 forall( type T ) lvalue T *?( T * ); 11 int ?++( int * );9 int ?++( int * ); 12 10 int ?=?( int *, int ); 13 11 forall( dtype DT ) DT * ?=?( DT **, DT * ); -
src/Tests/ResolvExpr/make-rules
rcd623a4 r5f2f2d7 1 1 CFA = ../../cfa-cpp 2 2 3 DIFF = /software/gnu/bin/diff 3 EXPECTED := ${wildcard ${EXPECTDIR}/*.tst} 4 TESTS := ${EXPECTED:${EXPECTDIR}/%=${OUTPUTDIR}/%} 5 TEST_IN := ${TESTS:.tst=.c} 4 6 5 # Basic SynTree printing 6 EXPECTED := ${wildcard $(EXPECTDIR)/*.tst} 7 TESTS := $(EXPECTED:$(EXPECTDIR)/%=$(OUTPUTDIR)/%) 8 TEST_IN := $(TESTS:.tst=.c) 7 .SILENT : 9 8 10 $ (OUTPUTDIR)/%.tst:%.c $(CFA)11 -$ (CFA) $(CFAOPT)< $< > $@ 2>&19 ${OUTPUTDIR}/%.tst : %.c ${CFA} 10 -${CFA} ${CFAOPT} < $< > $@ 2>&1 12 11 13 $ (OUTPUTDIR)/report: $(TESTS) $(EXPECTED)12 ${OUTPUTDIR}/report : ${TESTS} ${EXPECTED} 14 13 rm -f $@ 15 @for i in $ (TESTS); do \16 echo "---"`basename $$i`"---" | tee -a $@; \17 $(DIFF) -B -w -u $(EXPECTDIR)/`basename $$i` $$i | tee -a $@; \14 @for i in ${TESTS}; do \ 15 echo "---"`basename $$i`"---" | tee -a $@; \ 16 diff -B -w ${EXPECTDIR}/`basename $$i` $$i | tee -a $@; \ 18 17 done 19 18 20 clean :21 rm -rf $ (OUTPUTDIR)19 clean : 20 rm -rf ${OUTPUTDIR} -
src/Tests/ResolvExpr/run-tests.sh
-
Property
mode
changed from
100644
to100755
-
Property
mode
changed from
-
src/Tests/SynTree/Expected-SymTab/Array.tst
rcd623a4 r5f2f2d7 5 5 Adding object m2 6 6 Adding object m4 7 Adding typedef T8 --- Entering scope9 --- Leaving scope containing10 7 Adding function fred 11 8 --- Entering scope … … 16 13 Adding object T 17 14 --- Leaving scope containing 18 T (__T__A0i) (2)19 a1 (__a1__A0i) (2)20 a2 (__a2__A0i) (2)21 a4 (__a4__A0i) (2)22 15 --- Leaving scope containing 23 16 Adding function mary … … 30 23 --- Leaving scope containing 31 24 --- Leaving scope containing 32 T (__T__Pi) (1)33 p1 (__p1__CPi) (1)34 p2 (__p2__Pi) (1)35 p3 (__p3__CPi) (1)36 25 Adding function tom 37 26 --- Entering scope … … 48 37 --- Leaving scope containing 49 38 --- Leaving scope containing 50 T (__T__Pi) (1)51 p1 (__p1__CPi) (1)52 p2 (__p2__Pi) (1)53 p3 (__p3__CPi) (1) -
src/Tests/SynTree/Expected-SymTab/Context.tst
rcd623a4 r5f2f2d7 1 Adding context has_q2 1 --- Entering scope 3 Adding type T4 2 --- Entering scope 5 3 --- Leaving scope containing 4 Adding type T 6 5 Adding function q 7 6 --- Entering scope 8 7 --- Leaving scope containing 9 8 --- Leaving scope containing 10 q (__q__F_2tT_2tT_) (1)11 9 T 10 Adding context has_q 12 11 Adding function f 13 12 --- Entering scope 14 Adding type z15 13 --- Entering scope 16 14 --- Leaving scope containing 17 Adding function q 15 Adding type z 16 Adding function ?=? 18 17 --- Entering scope 19 18 --- Leaving scope containing 20 19 --- Entering scope 21 Adding context has_r22 20 --- Entering scope 21 --- Entering scope 22 --- Leaving scope containing 23 23 Adding type T 24 24 --- Entering scope 25 25 --- Leaving scope containing 26 26 Adding type U 27 --- Entering scope28 --- Leaving scope containing29 27 Adding function r 30 28 --- Entering scope 31 29 --- Leaving scope containing 32 30 --- Leaving scope containing 33 r (__r__F_2tT_2tTPF_2tT_2tT2tU__) (3)34 31 T 35 32 U 33 Adding context has_r 34 --- Entering scope 35 --- Leaving scope containing 36 36 Adding type x 37 37 --- Entering scope 38 38 --- Leaving scope containing 39 39 Adding type y 40 --- Entering scope41 40 --- Leaving scope containing 42 Adding function r43 --- Entering scope44 --- Leaving scope containing45 --- Leaving scope containing46 r (__r__F_2tx_2txPF_2tx_2tx2ty__) (2)47 41 x 48 42 y 49 43 has_r 50 44 --- Leaving scope containing 51 q (__q__F_2tz_2tz_) (1)52 45 z -
src/Tests/SynTree/Expected-SymTab/Enum.tst
rcd623a4 r5f2f2d7 17 17 Adding object fruit 18 18 --- Leaving scope containing 19 Apple (__Apple__C7eFruits) (2)20 Banana (__Banana__C7eFruits) (2)21 Mango (__Mango__C7eFruits) (2)22 Pear (__Pear__C7eFruits) (2)23 fruit (__fruit__7eFruits) (2)24 19 Fruits 25 20 --- Leaving scope containing -
src/Tests/SynTree/Expected-SymTab/Forall.tst
rcd623a4 r5f2f2d7 1 in default case, (shouldn't be here) 2 in default case, (shouldn't be here) 3 Adding typedef f 1 Adding function swap 4 2 --- Entering scope 5 Adding type T6 3 --- Entering scope 7 4 --- Leaving scope containing 8 --- Leaving scope containing9 T10 Adding function swap11 --- Entering scope12 5 Adding type T 6 Adding function ?=? 13 7 --- Entering scope 14 8 --- Leaving scope containing … … 18 12 Adding object temp 19 13 --- Leaving scope containing 20 temp (__temp__2tT) (2)21 14 --- Leaving scope containing 22 left (__left__2tT) (1)23 right (__right__2tT) (1)24 15 T 25 Adding context sumable26 16 --- Entering scope 27 Adding type T28 17 --- Entering scope 29 18 --- Leaving scope containing 19 Adding type T 30 20 Adding object 0 31 21 Adding function ?+? … … 39 29 --- Leaving scope containing 40 30 --- Leaving scope containing 41 0 (__0__C2tT) (1)42 ?++ (__?++__F_2tT_2tT_) (1)43 ?+=? (__?+=?__F_2tT_2tT2tT_) (1)44 ?+? (__?+?__F_2tT_2tT2tT_) (1)45 31 T 46 Adding type T132 Adding context sumable 47 33 --- Entering scope 48 34 --- Leaving scope containing 35 Adding type T1 49 36 Adding object 0 50 37 Adding function ?+? … … 57 44 --- Entering scope 58 45 --- Leaving scope containing 46 --- Entering scope 47 --- Entering scope 48 --- Leaving scope containing 49 Adding type P1 50 --- Entering scope 51 --- Leaving scope containing 52 Adding type P2 53 --- Leaving scope containing 54 P1 55 P2 59 56 Adding type T2 60 57 --- Entering scope 58 --- Leaving scope containing 59 Adding type T3 60 Adding fwd decl for struct __anonymous0 61 --- Entering scope 62 Adding object i 63 Adding object j 64 --- Leaving scope containing 65 Adding struct __anonymous0 66 --- Entering scope 67 --- Entering scope 68 --- Leaving scope containing 61 69 Adding type P1 62 70 --- Entering scope … … 68 76 P1 69 77 P2 70 Adding type T3 78 Adding type T2 79 Adding object w1 80 Adding object g2 71 81 --- Entering scope 72 82 --- Leaving scope containing 73 Adding object 074 Adding function ?+?75 --- Entering scope76 --- Leaving scope containing77 Adding function ?++78 --- Entering scope79 --- Leaving scope containing80 Adding function ?+=?81 --- Entering scope82 --- Leaving scope containing83 Adding struct __anonymous084 --- Entering scope85 Adding object i86 Adding object j87 --- Leaving scope containing88 i (__i__3tP1) (1)89 j (__j__3tP2) (1)90 Adding type T291 --- Entering scope92 Adding type P193 --- Entering scope94 --- Leaving scope containing95 Adding type P296 --- Entering scope97 --- Leaving scope containing98 --- Leaving scope containing99 P1100 P2101 Adding object 0102 Adding function ?+?103 --- Entering scope104 --- Leaving scope containing105 Adding function ?++106 --- Entering scope107 --- Leaving scope containing108 Adding function ?+=?109 --- Entering scope110 --- Leaving scope containing111 Adding object w1112 Adding typedef w2113 --- Entering scope114 --- Leaving scope containing115 Adding object g2116 83 Adding type w3 117 --- Entering scope118 --- Leaving scope containing119 84 Adding object g3 120 85 Adding function sum 121 86 --- Entering scope 122 Adding type T123 87 --- Entering scope 124 88 --- Leaving scope containing 125 Adding object 0 126 Adding function ?+? 127 --- Entering scope 128 --- Leaving scope containing 129 Adding function ?++ 130 --- Entering scope 131 --- Leaving scope containing 132 Adding function ?+=? 89 Adding type T 90 Adding function ?=? 133 91 --- Entering scope 134 92 --- Leaving scope containing … … 138 96 Adding object total 139 97 Adding object i 98 --- Entering scope 140 99 --- Leaving scope containing 141 i (__i__i) (2)142 total (__total__2tT) (2)143 100 --- Leaving scope containing 144 0 (__0__2tT) (1) 145 ?++ (__?++__F_2tT_2tT_) (1) 146 ?+=? (__?+=?__F_2tT_2tT2tT_) (1) 147 ?+? (__?+?__F_2tT_2tT2tT_) (1) 148 a (__a__P2tT) (1) 149 n (__n__i) (1) 101 --- Leaving scope containing 150 102 T 151 103 Adding function twice 152 104 --- Entering scope 105 --- Entering scope 106 --- Leaving scope containing 153 107 Adding type T 108 Adding function ?=? 154 109 --- Entering scope 155 110 --- Leaving scope containing … … 168 123 --- Leaving scope containing 169 124 --- Leaving scope containing 170 0 (__0__C2tT) (1)171 ?++ (__?++__F_2tT_2tT_) (1)172 ?+=? (__?+=?__F_2tT_2tT2tT_) (1)173 ?+? (__?+?__F_2tT_2tT2tT_) (1)174 t (__t__2tT) (1)175 125 T 176 126 Adding function main … … 182 132 Adding object f 183 133 --- Leaving scope containing 184 a (__a__A0i) (2)185 f (__f__f) (2)186 x (__x__i) (2)187 y (__y__i) (2)188 134 --- Leaving scope containing -
src/Tests/SynTree/Expected-SymTab/Scope.tst
rcd623a4 r5f2f2d7 1 in default case, (shouldn't be here)2 in default case, (shouldn't be here)3 in default case, (shouldn't be here)4 1 Adding object x 5 Adding typedef y6 --- Entering scope7 --- Leaving scope containing8 Adding typedef t9 --- Entering scope10 --- Leaving scope containing11 2 Adding object z 12 Adding struct __anonymous03 Adding fwd decl for struct __anonymous0 13 4 --- Entering scope 14 5 Adding object a 15 6 Adding object b 16 7 --- Leaving scope containing 17 a (__a__i) (1) 18 b (__b__d) (1) 19 Adding type u 8 Adding struct __anonymous0 9 --- Entering scope 20 10 --- Entering scope 21 11 --- Leaving scope containing 12 --- Leaving scope containing 13 Adding type u 22 14 Adding function f 23 15 --- Entering scope 24 16 Adding object y 25 17 --- Leaving scope containing 26 y (__y__i) (1)27 18 Adding object q 28 19 Adding function w … … 31 22 Adding object v 32 23 --- Entering scope 33 Adding type x34 24 --- Entering scope 35 25 --- Leaving scope containing 26 Adding type x 36 27 Adding function t 37 28 --- Entering scope … … 40 31 Adding object z 41 32 --- Leaving scope containing 42 t (__t__F_2tx_2tu_) (2)43 u (__u__2tu) (2)44 z (__z__2tx) (2)45 33 x 46 34 --- Leaving scope containing 47 v (__v__2tu) (1)48 y (__y__2ty) (1)49 35 Adding object p 50 Adding context has_u51 36 --- Entering scope 52 Adding type z53 37 --- Entering scope 54 38 --- Leaving scope containing 39 Adding type z 55 40 Adding function u 56 41 --- Entering scope 57 42 --- Leaving scope containing 58 43 --- Leaving scope containing 59 u (__u__F_2tz_2tz_) (1)60 44 z 45 Adding context has_u 61 46 Adding function q 62 47 --- Entering scope 63 Adding type t64 48 --- Entering scope 65 49 --- Leaving scope containing 66 Adding function u 50 Adding type t 51 Adding function ?=? 67 52 --- Entering scope 68 53 --- Leaving scope containing … … 71 56 Adding object y 72 57 --- Leaving scope containing 73 y (__y__2tt) (2)74 58 --- Leaving scope containing 75 the_t (__the_t__2tt) (1)76 u (__u__F_2tt_2tt_) (1)77 59 t 78 60 Adding function f … … 81 63 --- Entering scope 82 64 Adding object y 83 Adding typedef x 65 --- Entering scope 66 Adding object y 67 --- Entering scope 68 Adding object x 69 Adding object z 70 --- Leaving scope containing 71 Adding object x 72 --- Leaving scope containing 73 Adding object q 74 --- Leaving scope containing 75 --- Leaving scope containing 76 Adding function g 77 --- Entering scope 78 --- Entering scope 84 79 --- Entering scope 85 80 --- Leaving scope containing 81 Adding object x 86 82 --- Entering scope 87 83 Adding object y 88 Adding typedef z89 --- Entering scope90 --- Leaving scope containing91 --- Entering scope92 Adding object x93 Adding typedef y94 --- Entering scope95 84 --- Leaving scope containing 96 85 Adding object z 97 86 --- Leaving scope containing 98 x (__x__2tz) (4)99 z (__z__2ty) (4)100 y101 Adding object x102 --- Leaving scope containing103 x (__x__2tz) (3)104 y (__y__2tx) (3)105 z106 Adding object q107 --- Leaving scope containing108 q (__q__2tx) (2)109 y (__y__i) (2)110 x111 --- Leaving scope containing112 p (__p__2ty) (1)113 Adding function g114 --- Entering scope115 --- Entering scope116 Adding typedef x117 --- Entering scope118 --- Leaving scope containing119 Adding object z120 --- Leaving scope containing121 z (__z__2tx) (2)122 x123 87 --- Leaving scope containing 124 88 Adding function q … … 128 92 --- Leaving scope containing 129 93 --- Leaving scope containing 130 i (__i__i) (1) -
src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst
rcd623a4 r5f2f2d7 8 8 Adding object thisIsNotAnError 9 9 --- Leaving scope containing 10 thisIsNotAnError (__thisIsNotAnError__i) (2)11 10 --- Leaving scope containing 12 11 Adding function thisIsAlsoNotAnError … … 16 15 --- Leaving scope containing 17 16 --- Leaving scope containing 18 x (__x__d) (1)19 17 Adding function thisIsStillNotAnError 20 18 --- Entering scope … … 29 27 --- Leaving scope containing 30 28 Adding function butThisIsAnError 31 Error: duplicate definition for thisIsAnError: a signed int 32 Error: duplicate function definition for butThisIsAnError: a function 29 Error: duplicate function definition for butThisIsAnError: function 33 30 with parameters 34 31 double … … 36 33 double 37 34 with body 35 CompoundStmt 38 36 -
src/Tests/SynTree/Expected-SymTab/Tuple.tst
rcd623a4 r5f2f2d7 12 12 Adding object d 13 13 --- Leaving scope containing 14 a (__a__i) (1) 15 b (__b__i) (1) 16 c (__c__Pi) (1) 17 d (__d__Pc) (1) 18 Adding struct inner 14 Adding fwd decl for struct inner 19 15 --- Entering scope 20 16 Adding object f2 21 17 Adding object f3 22 18 --- Leaving scope containing 23 f2 (__f2__i) (1) 24 f3 (__f3__i) (1) 25 Adding struct outer 19 Adding struct inner 20 Adding fwd decl for struct outer 26 21 --- Entering scope 27 22 Adding object f1 23 --- Entering scope 24 --- Leaving scope containing 28 25 Adding object i 29 26 Adding object f4 30 27 --- Leaving scope containing 31 f1 (__f1__i) (1) 32 f4 (__f4__d) (1) 33 i (__i__6sinner) (1) 28 Adding struct outer 29 --- Entering scope 30 --- Leaving scope containing 34 31 Adding object s 32 --- Entering scope 33 --- Leaving scope containing 35 34 Adding object sp 36 35 Adding object t1 … … 42 41 Adding object fmt 43 42 --- Leaving scope containing 44 fmt (__fmt__Pc) (1)45 rc (__rc__i) (1)46 43 Adding function printf 47 44 --- Entering scope 48 45 Adding object fmt 49 46 --- Leaving scope containing 50 fmt (__fmt__Pc) (1)51 47 Adding function f1 52 48 --- Entering scope … … 57 53 --- Leaving scope containing 58 54 --- Leaving scope containing 59 w (__w__i) (1)60 x (__x__s) (1)61 y (__y__Ui) (1)62 55 Adding function g1 63 56 --- Entering scope … … 69 62 Adding object z 70 63 --- Leaving scope containing 71 p (__p__s) (2)72 x (__x__s) (2)73 y (__y__Ui) (2)74 z (__z__Tii_) (2)75 64 --- Leaving scope containing 76 r (__r__Ticli_) (1)77 65 Adding function main 78 66 --- Entering scope … … 85 73 Adding object c 86 74 Adding object d 75 --- Entering scope 76 --- Leaving scope containing 87 77 Adding object t 88 78 --- Leaving scope containing 89 a (__a__i) (2)90 b (__b__i) (2)91 c (__c__i) (2)92 d (__d__i) (2)93 t (__t__6souter) (2)94 79 --- Leaving scope containing 95 argc (__argc__i) (1)96 argv (__argv__PPc) (1)97 rc (__rc__i) (1) -
src/Tests/SynTree/Expected/Array.tst
rcd623a4 r5f2f2d7 1 a1: a open array of signed int 2 a2: a variable length array of signed int 3 a4: a array of Constant Expression: 3signed int 4 m1: a open array of array of Constant Expression: 3signed int 5 m2: a variable length array of variable length array of signed int 6 m4: a array of Constant Expression: 3array of Constant Expression: 3signed int 7 T: a typedef for signed int 8 fred: a function 1 a1: open array of signed int 2 a2: variable length array of signed int 3 a4: array of double with dimension of constant expression 3.0 double 4 m1: open array of array of signed int with dimension of constant expression 3 signed int 5 m2: variable length array of variable length array of signed int 6 m4: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 7 T: typedef for signed int 8 fred: function 9 accepting unspecified arguments 9 10 returning 10 11 signed int 11 12 with body 12 Declaration of a1: a open array of signed int 13 Declaration of a2: a variable length array of signed int 14 Declaration of a4: a array of Constant Expression: 3signed int 15 Declaration of T: a array of Constant Expression: 3signed int 13 CompoundStmt 14 Declaration of a1: open array of signed int 15 Declaration of a2: variable length array of signed int 16 Declaration of a4: array of signed int with dimension of constant expression 3 signed int 17 Declaration of T: array of signed int with dimension of constant expression 3 signed int 16 18 17 mary: afunction19 mary: function 18 20 with parameters 19 T: a array of Constant Expression: 3signed int20 p1: a const array of Constant Expression: 3signed int21 p2: a static array of Constant Expression: 3signed int22 p3: a const static array of Constant Expression: 3signed int21 T: array of signed int with dimension of constant expression 3 signed int 22 p1: const array of signed int with dimension of constant expression 3 signed int 23 p2: static array of signed int with dimension of constant expression 3 signed int 24 p3: const static array of signed int with dimension of constant expression 3 signed int 23 25 returning 24 26 signed int 25 27 with body 28 CompoundStmt 26 29 27 Null Statement 30 tom: function 31 accepting unspecified arguments 32 returning 33 pointer to array of signed int with dimension of constant expression 3 signed int 34 with body 35 CompoundStmt 28 36 29 tom: a function 30 returning 31 pointer to array of Constant Expression: 3signed int 32 with body 33 34 Null Statement 35 36 jane: a function 37 jane: function 38 accepting unspecified arguments 37 39 returning 38 40 pointer to function 39 41 with parameters 40 T: a array of Constant Expression: 3signed int41 p1: a const array of Constant Expression: 3signed int42 p2: a static array of Constant Expression: 3signed int43 p3: a const static array of Constant Expression: 3signed int42 T: array of signed int with dimension of constant expression 3 signed int 43 p1: const array of signed int with dimension of constant expression 3 signed int 44 p2: static array of signed int with dimension of constant expression 3 signed int 45 p3: const static array of signed int with dimension of constant expression 3 signed int 44 46 returning 45 47 signed int 46 48 47 49 with body 50 CompoundStmt 48 51 49 Null Statement50 -
src/Tests/SynTree/Expected/Constant0-1.tst
rcd623a4 r5f2f2d7 1 0: asigned int2 0: aconst signed int3 0: astatic const signed int4 1: asigned int5 1: aconst signed int6 1: astatic const signed int7 0: asigned int8 1: asigned int9 0: aconst signed int10 1: aconst signed int11 0: astatic const signed int12 1: astatic const signed int1 0: signed int 2 0: const signed int 3 0: static const signed int 4 1: signed int 5 1: const signed int 6 1: static const signed int 7 0: signed int 8 1: signed int 9 0: const signed int 10 1: const signed int 11 0: static const signed int 12 1: static const signed int 13 13 struct __anonymous0 14 14 with members 15 i: asigned int15 i: signed int 16 16 17 0: ainstance of struct __anonymous017 0: instance of struct __anonymous0 18 18 struct __anonymous1 19 19 with members 20 i: asigned int20 i: signed int 21 21 22 1: aconst instance of struct __anonymous122 1: const instance of struct __anonymous1 23 23 struct __anonymous2 24 24 with members 25 i: asigned int25 i: signed int 26 26 27 1: astatic const instance of struct __anonymous228 1: asigned int29 0: apointer to signed int30 1: asigned int31 1: asigned int32 0: apointer to signed int33 0: apointer to signed int34 0: apointer to signed int35 0: aconst pointer to signed int36 0: aconst pointer to signed int37 0: aconst pointer to signed int27 1: static const instance of struct __anonymous2 28 1: signed int 29 0: pointer to signed int 30 1: signed int 31 1: signed int 32 0: pointer to signed int 33 0: pointer to signed int 34 0: pointer to signed int 35 0: const pointer to signed int 36 0: const pointer to signed int 37 0: const pointer to signed int 38 38 struct __anonymous3 39 39 with members 40 i: asigned int40 i: signed int 41 41 42 0: apointer to instance of struct __anonymous343 x: apointer to signed int44 0: apointer to signed int45 x: aconst pointer to signed int46 0: aconst pointer to signed int47 x: astatic const pointer to signed int48 0: astatic const pointer to signed int42 0: pointer to instance of struct __anonymous3 43 x: pointer to signed int 44 0: pointer to signed int 45 x: const pointer to signed int 46 0: const pointer to signed int 47 x: static const pointer to signed int 48 0: static const pointer to signed int 49 49 struct __anonymous4 50 50 with members 51 i: asigned int51 i: signed int 52 52 53 0: apointer to instance of struct __anonymous453 0: pointer to instance of struct __anonymous4 54 54 struct __anonymous5 55 55 with members 56 i: asigned int56 i: signed int 57 57 58 0: aconst pointer to instance of struct __anonymous558 0: const pointer to instance of struct __anonymous5 59 59 struct __anonymous6 60 60 with members 61 i: asigned int61 i: signed int 62 62 63 0: astatic const pointer to instance of struct __anonymous664 x: astatic pointer to signed int65 0: astatic pointer to signed int66 x: astatic const pointer to signed int67 0: astatic const pointer to signed int68 x: aconst pointer to pointer to signed int69 0: aconst pointer to pointer to signed int63 0: static const pointer to instance of struct __anonymous6 64 x: static pointer to signed int 65 0: static pointer to signed int 66 x: static const pointer to signed int 67 0: static const pointer to signed int 68 x: const pointer to pointer to signed int 69 0: const pointer to pointer to signed int -
src/Tests/SynTree/Expected/Context.tst
rcd623a4 r5f2f2d7 1 1 context has_q 2 2 with parameters 3 T: atype3 T: type 4 4 5 5 with members 6 q: afunction6 q: function 7 7 with parameters 8 instance of type T 8 instance of type T (not function type) 9 9 returning 10 instance of type T 10 instance of type T (not function type) 11 11 12 12 13 f: a function 14 with forall 15 z: a type 13 f: forall 14 z: type 16 15 with assertions 16 ?=?: function 17 with parameters 18 pointer to instance of type z (not function type) 19 instance of type z (not function type) 20 returning 21 instance of type z (not function type) 22 17 23 instance of context has_q 18 24 with parameters 19 instance of type z 25 instance of type z (not function type) 20 26 21 27 28 function 29 accepting unspecified arguments 22 30 returning 23 31 void 24 32 with body 25 Declaration of context has_r 26 with parameters 27 T: a type 28 U: a type 33 CompoundStmt 34 Declaration of context has_r 35 with parameters 36 T: type 37 U: type 29 38 30 with members31 r: afunction32 with parameters33 instance of type T34 function35 with parameters36 instance of type T37 instance of type U38 returning39 instance of type T39 with members 40 r: function 41 with parameters 42 instance of type T (not function type) 43 function 44 with parameters 45 instance of type T (not function type) 46 instance of type U (not function type) 47 returning 48 instance of type T (not function type) 40 49 41 returning42 instance of type T50 returning 51 instance of type T (not function type) 43 52 44 53 45 Declaration of x: a externtype46 Declaration of y: a externtype47 with assertions48 instance of context has_r49 with parameters50 instance of type x51 instance of type y54 Declaration of x: auto type 55 Declaration of y: auto type 56 with assertions 57 instance of context has_r 58 with parameters 59 instance of type x (not function type) 60 instance of type y (not function type) 52 61 53 62 -
src/Tests/SynTree/Expected/DeclarationSpecifier.tst
rcd623a4 r5f2f2d7 1 Int: atypedef for short signed int2 x1: aconst volatile short signed int3 x2: astatic const volatile short signed int4 x3: astatic const volatile short signed int5 x4: astatic const volatile short signed int6 x4: astatic const volatile short signed int7 x5: astatic const volatile short signed int8 x6: astatic const volatile short signed int9 x7: astatic const volatile short signed int10 x8: astatic const volatile short signed int1 Int: typedef for short signed int 2 x1: const volatile short signed int 3 x2: static const volatile short signed int 4 x3: static const volatile short signed int 5 x4: static const volatile short signed int 6 x4: static const volatile short signed int 7 x5: static const volatile short signed int 8 x6: static const volatile short signed int 9 x7: static const volatile short signed int 10 x8: static const volatile short signed int 11 11 struct __anonymous0 12 12 with members 13 i: asigned int14 15 x10: aconst volatile instance of struct __anonymous013 i: signed int 14 15 x10: const volatile instance of struct __anonymous0 16 16 struct __anonymous1 17 17 with members 18 i: asigned int19 20 x11: aconst volatile instance of struct __anonymous118 i: signed int 19 20 x11: const volatile instance of struct __anonymous1 21 21 struct __anonymous2 22 22 with members 23 i: asigned int24 25 x12: aconst volatile instance of struct __anonymous223 i: signed int 24 25 x12: const volatile instance of struct __anonymous2 26 26 struct __anonymous3 27 27 with members 28 i: asigned int29 30 x13: astatic const volatile instance of struct __anonymous328 i: signed int 29 30 x13: static const volatile instance of struct __anonymous3 31 31 struct __anonymous4 32 32 with members 33 i: asigned int34 35 x14: astatic const volatile instance of struct __anonymous433 i: signed int 34 35 x14: static const volatile instance of struct __anonymous4 36 36 struct __anonymous5 37 37 with members 38 i: asigned int39 40 x15: astatic const volatile instance of struct __anonymous538 i: signed int 39 40 x15: static const volatile instance of struct __anonymous5 41 41 struct __anonymous6 42 42 with members 43 i: asigned int44 45 x16: astatic const volatile instance of struct __anonymous643 i: signed int 44 45 x16: static const volatile instance of struct __anonymous6 46 46 struct __anonymous7 47 47 with members 48 i: asigned int49 50 x17: astatic const volatile instance of struct __anonymous751 x20: a const volatile instance of type Int52 x21: a static const volatile instance of type Int53 x22: a static const volatile instance of type Int54 x23: a static const volatile instance of type Int55 x24: a static const volatile instance of type Int56 x25: a static const volatile instance of type Int57 x26: a static const volatile instance of type Int58 x27: a static const volatile instance of type Int48 i: signed int 49 50 x17: static const volatile instance of struct __anonymous7 51 x20: const volatile instance of type Int (not function type) 52 x21: static const volatile instance of type Int (not function type) 53 x22: static const volatile instance of type Int (not function type) 54 x23: static const volatile instance of type Int (not function type) 55 x24: static const volatile instance of type Int (not function type) 56 x25: static const volatile instance of type Int (not function type) 57 x26: static const volatile instance of type Int (not function type) 58 x27: static const volatile instance of type Int (not function type) 59 59 struct __anonymous8 60 60 with members 61 i: a instance of type Int62 63 x29: aconst volatile instance of struct __anonymous861 i: instance of type Int (not function type) 62 63 x29: const volatile instance of struct __anonymous8 64 64 struct __anonymous9 65 65 with members 66 i: a instance of type Int67 68 x30: aconst volatile instance of struct __anonymous966 i: instance of type Int (not function type) 67 68 x30: const volatile instance of struct __anonymous9 69 69 struct __anonymous10 70 70 with members 71 i: a instance of type Int72 73 x31: aconst volatile instance of struct __anonymous1071 i: instance of type Int (not function type) 72 73 x31: const volatile instance of struct __anonymous10 74 74 struct __anonymous11 75 75 with members 76 i: a instance of type Int77 78 x32: astatic const volatile instance of struct __anonymous1176 i: instance of type Int (not function type) 77 78 x32: static const volatile instance of struct __anonymous11 79 79 struct __anonymous12 80 80 with members 81 i: a instance of type Int82 83 x33: astatic const volatile instance of struct __anonymous1281 i: instance of type Int (not function type) 82 83 x33: static const volatile instance of struct __anonymous12 84 84 struct __anonymous13 85 85 with members 86 i: a instance of type Int87 88 x34: astatic const volatile instance of struct __anonymous1386 i: instance of type Int (not function type) 87 88 x34: static const volatile instance of struct __anonymous13 89 89 struct __anonymous14 90 90 with members 91 i: a instance of type Int92 93 x35: astatic const volatile instance of struct __anonymous1491 i: instance of type Int (not function type) 92 93 x35: static const volatile instance of struct __anonymous14 94 94 struct __anonymous15 95 95 with members 96 i: a instance of type Int 97 98 x36: a static const volatile instance of struct __anonymous15 99 f01: a inline static function 100 returning 101 const volatile signed int 102 103 f02: a inline static function 104 returning 105 const volatile signed int 106 107 f03: a inline static function 108 returning 109 const volatile signed int 110 111 f04: a inline static function 112 returning 113 const volatile signed int 114 115 f05: a inline static function 116 returning 117 const volatile signed int 118 119 f06: a inline static function 120 returning 121 const volatile signed int 122 123 f07: a inline static function 124 returning 125 const volatile signed int 126 127 f08: a inline static function 128 returning 129 const volatile signed int 130 131 f11: a inline static function 132 returning 133 const volatile signed int 134 135 f12: a inline static function 136 returning 137 const volatile signed int 138 139 f13: a inline static function 140 returning 141 const volatile signed int 142 143 f14: a inline static function 144 returning 145 const volatile signed int 146 147 f15: a inline static function 148 returning 149 const volatile signed int 150 151 f16: a inline static function 152 returning 153 const volatile signed int 154 155 f17: a inline static function 156 returning 157 const volatile signed int 158 159 f18: a inline static function 160 returning 161 const volatile signed int 162 163 f21: a inline static function 164 returning 165 const volatile short signed int 166 167 f22: a inline static function 168 returning 169 const volatile short signed int 170 171 f23: a inline static function 172 returning 173 const volatile short signed int 174 175 f24: a inline static function 176 returning 177 const volatile short signed int 178 179 f25: a inline static function 180 returning 181 const volatile short signed int 182 183 f26: a inline static function 184 returning 185 const volatile short signed int 186 187 f27: a inline static function 188 returning 189 const volatile short signed int 190 191 f28: a inline static function 96 i: instance of type Int (not function type) 97 98 x36: static const volatile instance of struct __anonymous15 99 f01: inline static function 100 accepting unspecified arguments 101 returning 102 const volatile signed int 103 104 f02: inline static function 105 accepting unspecified arguments 106 returning 107 const volatile signed int 108 109 f03: inline static function 110 accepting unspecified arguments 111 returning 112 const volatile signed int 113 114 f04: inline static function 115 accepting unspecified arguments 116 returning 117 const volatile signed int 118 119 f05: inline static function 120 accepting unspecified arguments 121 returning 122 const volatile signed int 123 124 f06: inline static function 125 accepting unspecified arguments 126 returning 127 const volatile signed int 128 129 f07: inline static function 130 accepting unspecified arguments 131 returning 132 const volatile signed int 133 134 f08: inline static function 135 accepting unspecified arguments 136 returning 137 const volatile signed int 138 139 f11: inline static function 140 accepting unspecified arguments 141 returning 142 const volatile signed int 143 144 f12: inline static function 145 accepting unspecified arguments 146 returning 147 const volatile signed int 148 149 f13: inline static function 150 accepting unspecified arguments 151 returning 152 const volatile signed int 153 154 f14: inline static function 155 accepting unspecified arguments 156 returning 157 const volatile signed int 158 159 f15: inline static function 160 accepting unspecified arguments 161 returning 162 const volatile signed int 163 164 f16: inline static function 165 accepting unspecified arguments 166 returning 167 const volatile signed int 168 169 f17: inline static function 170 accepting unspecified arguments 171 returning 172 const volatile signed int 173 174 f18: inline static function 175 accepting unspecified arguments 176 returning 177 const volatile signed int 178 179 f21: inline static function 180 accepting unspecified arguments 181 returning 182 const volatile short signed int 183 184 f22: inline static function 185 accepting unspecified arguments 186 returning 187 const volatile short signed int 188 189 f23: inline static function 190 accepting unspecified arguments 191 returning 192 const volatile short signed int 193 194 f24: inline static function 195 accepting unspecified arguments 196 returning 197 const volatile short signed int 198 199 f25: inline static function 200 accepting unspecified arguments 201 returning 202 const volatile short signed int 203 204 f26: inline static function 205 accepting unspecified arguments 206 returning 207 const volatile short signed int 208 209 f27: inline static function 210 accepting unspecified arguments 211 returning 212 const volatile short signed int 213 214 f28: inline static function 215 accepting unspecified arguments 192 216 returning 193 217 const volatile short signed int … … 195 219 struct __anonymous16 196 220 with members 197 i: a signed int 198 199 f31: a inline static function 221 i: signed int 222 223 f31: inline static function 224 accepting unspecified arguments 200 225 returning 201 226 const volatile instance of struct __anonymous16 … … 203 228 struct __anonymous17 204 229 with members 205 i: a signed int 206 207 f32: a inline static function 230 i: signed int 231 232 f32: inline static function 233 accepting unspecified arguments 208 234 returning 209 235 const volatile instance of struct __anonymous17 … … 211 237 struct __anonymous18 212 238 with members 213 i: a signed int 214 215 f33: a inline static function 239 i: signed int 240 241 f33: inline static function 242 accepting unspecified arguments 216 243 returning 217 244 const volatile instance of struct __anonymous18 … … 219 246 struct __anonymous19 220 247 with members 221 i: a signed int 222 223 f34: a inline static function 248 i: signed int 249 250 f34: inline static function 251 accepting unspecified arguments 224 252 returning 225 253 const volatile instance of struct __anonymous19 … … 227 255 struct __anonymous20 228 256 with members 229 i: a signed int 230 231 f35: a inline static function 257 i: signed int 258 259 f35: inline static function 260 accepting unspecified arguments 232 261 returning 233 262 const volatile instance of struct __anonymous20 … … 235 264 struct __anonymous21 236 265 with members 237 i: a signed int 238 239 f36: a inline static function 266 i: signed int 267 268 f36: inline static function 269 accepting unspecified arguments 240 270 returning 241 271 const volatile instance of struct __anonymous21 … … 243 273 struct __anonymous22 244 274 with members 245 i: a signed int 246 247 f37: a inline static function 275 i: signed int 276 277 f37: inline static function 278 accepting unspecified arguments 248 279 returning 249 280 const volatile instance of struct __anonymous22 … … 251 282 struct __anonymous23 252 283 with members 253 i: a signed int 254 255 f38: a inline static function 284 i: signed int 285 286 f38: inline static function 287 accepting unspecified arguments 256 288 returning 257 289 const volatile instance of struct __anonymous23 258 290 259 f41: a inline static function 260 returning 261 const volatile instance of type Int 262 263 f42: a inline static function 264 returning 265 const volatile instance of type Int 266 267 f43: a inline static function 268 returning 269 const volatile instance of type Int 270 271 f44: a inline static function 272 returning 273 const volatile instance of type Int 274 275 f45: a inline static function 276 returning 277 const volatile instance of type Int 278 279 f46: a inline static function 280 returning 281 const volatile instance of type Int 282 283 f47: a inline static function 284 returning 285 const volatile instance of type Int 286 287 f48: a inline static function 288 returning 289 const volatile instance of type Int 290 291 f41: inline static function 292 accepting unspecified arguments 293 returning 294 const volatile instance of type Int (not function type) 295 296 f42: inline static function 297 accepting unspecified arguments 298 returning 299 const volatile instance of type Int (not function type) 300 301 f43: inline static function 302 accepting unspecified arguments 303 returning 304 const volatile instance of type Int (not function type) 305 306 f44: inline static function 307 accepting unspecified arguments 308 returning 309 const volatile instance of type Int (not function type) 310 311 f45: inline static function 312 accepting unspecified arguments 313 returning 314 const volatile instance of type Int (not function type) 315 316 f46: inline static function 317 accepting unspecified arguments 318 returning 319 const volatile instance of type Int (not function type) 320 321 f47: inline static function 322 accepting unspecified arguments 323 returning 324 const volatile instance of type Int (not function type) 325 326 f48: inline static function 327 accepting unspecified arguments 328 returning 329 const volatile instance of type Int (not function type) 330 -
src/Tests/SynTree/Expected/Enum.tst
rcd623a4 r5f2f2d7 1 1 enum Colors 2 2 with members 3 Red: auntyped entity4 Yellow: auntyped entity5 Pink: auntyped entity6 Blue: auntyped entity7 Purple: auntyped entity8 Orange: auntyped entity9 Green: auntyped entity3 Red: untyped entity 4 Yellow: untyped entity 5 Pink: untyped entity 6 Blue: untyped entity 7 Purple: untyped entity 8 Orange: untyped entity 9 Green: untyped entity 10 10 11 f: afunction11 f: function 12 12 with parameters 13 13 void … … 15 15 void 16 16 with body 17 Declaration of enum Fruits 18 with members 19 Apple: a untyped entity 20 Banana: a untyped entity 21 Pear: a untyped entity 22 Mango: a untyped entity 17 CompoundStmt 18 Declaration of enum Fruits 19 with members 20 Apple: untyped entity 21 Banana: untyped entity 22 Pear: untyped entity 23 Mango: untyped entity 23 24 24 Declaration of fruit: a instance of enum Fruits 25 Declaration of fruit: instance of enum Fruits with initializer 26 Simple Initializer: Name: Mango 25 27 28 -
src/Tests/SynTree/Expected/Forall.tst
rcd623a4 r5f2f2d7 1 in default case, (shouldn't be here) 2 in default case, (shouldn't be here) 3 f: a typedef for pointer to function 1 f: typedef for pointer to forall 2 T: type 3 with assertions 4 ?=?: function 5 with parameters 6 pointer to instance of type T (not function type) 7 instance of type T (not function type) 8 returning 9 instance of type T (not function type) 10 11 12 function 4 13 with parameters 5 14 signed int 6 with forall7 T: a type8 15 returning 9 16 signed int 10 17 11 swap: a function 12 with parameters 13 left: a instance of type T 14 right: a instance of type T 15 with forall 16 T: a type 18 swap: forall 19 T: type 20 with assertions 21 ?=?: function 22 with parameters 23 pointer to instance of type T (not function type) 24 instance of type T (not function type) 25 returning 26 instance of type T (not function type) 27 28 29 function 30 with parameters 31 left: instance of type T (not function type) 32 right: instance of type T (not function type) 17 33 returning 18 34 void 19 35 with body 20 Declaration of temp: a instance of type T 21 22 Expression Statement: 23 Applying untyped: 24 Name: ?=? 25 to: 26 Name: left 27 Name: right 28 29 30 Expression Statement: 31 Applying untyped: 32 Name: ?=? 33 to: 34 Name: right 35 Name: temp 36 CompoundStmt 37 Declaration of temp: instance of type T (not function type) with initializer 38 Simple Initializer: Name: left 39 40 Expression Statement: 41 Applying untyped: 42 Name: ?=? 43 ...to: 44 Address of: 45 Name: left 46 Name: right 47 48 Expression Statement: 49 Applying untyped: 50 Name: ?=? 51 ...to: 52 Address of: 53 Name: right 54 Name: temp 36 55 37 56 38 57 context sumable 39 58 with parameters 40 T: atype59 T: type 41 60 42 61 with members 43 0: a const instance of type T44 ?+?: afunction62 0: const instance of type T (not function type) 63 ?+?: function 45 64 with parameters 46 instance of type T 47 instance of type T 65 instance of type T (not function type) 66 instance of type T (not function type) 48 67 returning 49 instance of type T 50 51 ?++: afunction68 instance of type T (not function type) 69 70 ?++: function 52 71 with parameters 53 instance of type T 72 instance of type T (not function type) 54 73 returning 55 instance of type T 56 57 ?+=?: afunction74 instance of type T (not function type) 75 76 ?+=?: function 58 77 with parameters 59 instance of type T 60 instance of type T 78 instance of type T (not function type) 79 instance of type T (not function type) 61 80 returning 62 instance of type T 63 64 65 T1: atype81 instance of type T (not function type) 82 83 84 T1: type 66 85 with assertions 67 0: a const instance of type T168 ?+?: afunction86 0: const instance of type T1 (not function type) 87 ?+?: function 69 88 with parameters 70 instance of type T1 71 instance of type T1 89 instance of type T1 (not function type) 90 instance of type T1 (not function type) 72 91 returning 73 instance of type T1 74 75 ?++: afunction92 instance of type T1 (not function type) 93 94 ?++: function 76 95 with parameters 77 instance of type T1 96 instance of type T1 (not function type) 78 97 returning 79 instance of type T1 80 81 ?+=?: afunction98 instance of type T1 (not function type) 99 100 ?+=?: function 82 101 with parameters 83 instance of type T1 84 instance of type T1 102 instance of type T1 (not function type) 103 instance of type T1 (not function type) 85 104 returning 86 instance of type T1 87 88 89 T2: atype90 with parameters 91 P1: atype92 P2: atype93 94 T3: atype105 instance of type T1 (not function type) 106 107 108 T2: type 109 with parameters 110 P1: type 111 P2: type 112 113 T3: type 95 114 with assertions 96 115 instance of context sumable 97 116 with parameters 98 instance of type T3 117 instance of type T3 (not function type) 99 118 100 119 101 120 struct __anonymous0 102 121 with members 103 i: a instance of type P1104 j: a instance of type P2105 106 T2: atype for instance of struct __anonymous0107 with parameters 108 P1: atype109 P2: atype122 i: instance of type P1 (not function type) 123 j: instance of type P2 (not function type) 124 125 T2: type for instance of struct __anonymous0 126 with parameters 127 P1: type 128 P2: type 110 129 111 130 with assertions 112 131 instance of context sumable 113 132 with parameters 114 instance of type T2 133 instance of type T2 (not function type) 115 134 with parameters 116 instance of type P1 117 instance of type P2 118 119 120 121 w1: a instance of type T2 122 with parameters 123 signed int 124 signed int 125 126 w2: a typedef for instance of type T2 127 with parameters 128 signed int 129 signed int 130 131 g2: a instance of type w2 132 w3: a type for instance of type T2 133 with parameters 134 signed int 135 signed int 136 137 g3: a instance of type w3 138 sum: a function 139 with parameters 140 n: a signed int 141 a: a open array of instance of type T 142 with forall 143 T: a type 135 instance of type P1 (not function type) 136 instance of type P2 (not function type) 137 138 139 140 w1: instance of type T2 (not function type) 141 with parameters 142 signed int 143 signed int 144 145 w2: typedef for instance of type T2 (not function type) 146 with parameters 147 signed int 148 signed int 149 150 g2: instance of type w2 (not function type) 151 w3: type for instance of type T2 (not function type) 152 with parameters 153 signed int 154 signed int 155 156 g3: instance of type w3 (not function type) 157 sum: forall 158 T: type 144 159 with assertions 160 ?=?: function 161 with parameters 162 pointer to instance of type T (not function type) 163 instance of type T (not function type) 164 returning 165 instance of type T (not function type) 166 145 167 instance of context sumable 146 168 with parameters 147 instance of type T 148 149 150 returning 151 instance of type T 169 instance of type T (not function type) 170 171 172 function 173 with parameters 174 n: signed int 175 a: open array of instance of type T (not function type) 176 returning 177 instance of type T (not function type) 152 178 with body 153 Declaration of total: a instance of type T 154 Declaration of i: a signed int 155 156 twice: a function 157 with parameters 158 t: a instance of type T 159 with forall 160 T: a type 179 CompoundStmt 180 Declaration of total: instance of type T (not function type) with initializer 181 Simple Initializer: Name: 0 182 183 Declaration of i: signed int 184 Labels: {} 185 For Statement 186 initialization: 187 Expression Statement: 188 Applying untyped: 189 Name: ?=? 190 ...to: 191 Address of: 192 Name: i 193 Name: 0 194 195 condition: 196 Cast of: 197 Applying untyped: 198 Name: ?!=? 199 ...to: 200 Applying untyped: 201 Name: ?<? 202 ...to: 203 Name: i 204 Name: n 205 Name: 0 206 207 to: 208 signed int 209 210 increment: 211 Applying untyped: 212 Name: ?+=? 213 ...to: 214 Address of: 215 Name: i 216 Name: 1 217 218 statement block: 219 Expression Statement: 220 Applying untyped: 221 Name: ?=? 222 ...to: 223 Address of: 224 Name: total 225 Applying untyped: 226 Name: ?+? 227 ...to: 228 Name: total 229 Applying untyped: 230 Name: ?[?] 231 ...to: 232 Name: a 233 Name: i 234 235 236 Return Statement, returning: Name: total 237 238 239 240 twice: forall 241 T: type 161 242 with assertions 162 0: a const instance of type T 163 ?+?: a function 164 with parameters 165 instance of type T 166 instance of type T 167 returning 168 instance of type T 169 170 ?++: a function 171 with parameters 172 instance of type T 173 returning 174 instance of type T 175 176 ?+=?: a function 177 with parameters 178 instance of type T 179 instance of type T 180 returning 181 instance of type T 182 183 184 returning 185 instance of type T 243 ?=?: function 244 with parameters 245 pointer to instance of type T (not function type) 246 instance of type T (not function type) 247 returning 248 instance of type T (not function type) 249 250 0: const instance of type T (not function type) 251 ?+?: function 252 with parameters 253 instance of type T (not function type) 254 instance of type T (not function type) 255 returning 256 instance of type T (not function type) 257 258 ?++: function 259 with parameters 260 instance of type T (not function type) 261 returning 262 instance of type T (not function type) 263 264 ?+=?: function 265 with parameters 266 instance of type T (not function type) 267 instance of type T (not function type) 268 returning 269 instance of type T (not function type) 270 271 272 function 273 with parameters 274 t: instance of type T (not function type) 275 returning 276 instance of type T (not function type) 186 277 with body 187 188 main: a function 278 CompoundStmt 279 Return Statement, returning: Applying untyped: 280 Name: ?+? 281 ...to: 282 Name: t 283 Name: t 284 285 286 287 main: C function 288 accepting unspecified arguments 189 289 returning 190 290 signed int 191 291 with body 192 Declaration of x: a signed int 193 Declaration of y: a signed int 194 Declaration of a: a array of Constant Expression: 10signed int 195 Declaration of f: a float 196 197 Expression Statement: 198 Applying untyped: 199 Name: swap 200 to: 201 Name: x 202 Name: y 203 204 205 Expression Statement: 206 Applying untyped: 207 Name: twice 208 to: 209 Name: x 210 Name: y 211 212 213 Expression Statement: 214 Applying untyped: 215 Name: ?=? 216 to: 217 Name: f 218 Applying untyped: 219 Name: min 220 to: 221 Constant Expression: 4.0 Constant Expression: 3.0 222 223 Expression Statement: 224 Applying untyped: 225 Name: sum 226 to: 227 Constant Expression: 10 Name: a 228 229 292 CompoundStmt 293 Declaration of x: signed int with initializer 294 Simple Initializer: Name: 1 295 296 Declaration of y: signed int with initializer 297 Simple Initializer: constant expression 2 signed int 298 Declaration of a: array of signed int with dimension of constant expression 10 signed int 299 Declaration of f: float 300 Expression Statement: 301 Applying untyped: 302 Name: swap 303 ...to: 304 Name: x 305 Name: y 306 307 Expression Statement: 308 Applying untyped: 309 Name: twice 310 ...to: 311 Name: x 312 Name: y 313 314 Expression Statement: 315 Applying untyped: 316 Name: ?=? 317 ...to: 318 Address of: 319 Name: f 320 Applying untyped: 321 Name: min 322 ...to: 323 constant expression 4.0 double constant expression 3.0 double 324 Expression Statement: 325 Applying untyped: 326 Name: sum 327 ...to: 328 constant expression 10 signed int Name: a 329 330 -
src/Tests/SynTree/Expected/Functions.tst
rcd623a4 r5f2f2d7 1 h: afunction1 h: function 2 2 with parameters 3 3 void … … 5 5 void 6 6 with body 7 8 f: a function 7 CompoundStmt 8 9 f: function 9 10 with parameters 10 11 function … … 32 33 signed int 33 34 34 g: afunction35 g: function 35 36 with parameters 36 37 void … … 41 42 signed int 42 43 with body 43 44 f1: a function 45 returning 46 signed int 47 with body 48 49 f2: a function 50 returning 51 signed int 52 with body 53 54 f3: a function 44 CompoundStmt 45 Expression Statement: 46 Applying untyped: 47 Applying untyped: 48 Name: *? 49 ...to: 50 Name: g 51 ...to: 52 53 Expression Statement: 54 Applying untyped: 55 Name: g 56 ...to: 57 58 Expression Statement: 59 Applying untyped: 60 Name: ?=? 61 ...to: 62 Address of: 63 Name: g 64 Name: h 65 66 67 f1: function 68 accepting unspecified arguments 69 returning 70 signed int 71 with body 72 CompoundStmt 73 74 f2: function 75 accepting unspecified arguments 76 returning 77 signed int 78 with body 79 CompoundStmt 80 81 f3: function 82 accepting unspecified arguments 55 83 returning 56 84 pointer to function 57 returning 58 signed int 59 60 with body 61 62 f4: a function 85 accepting unspecified arguments 86 returning 87 signed int 88 89 with body 90 CompoundStmt 91 92 f4: function 93 accepting unspecified arguments 63 94 returning 64 95 pointer to signed int 65 96 with body 66 67 f5: a function 97 CompoundStmt 98 99 f5: function 100 accepting unspecified arguments 68 101 returning 69 102 pointer to function 70 returning 71 signed int 72 73 with body 74 75 f6: a function 103 accepting unspecified arguments 104 returning 105 signed int 106 107 with body 108 CompoundStmt 109 110 f6: function 111 accepting unspecified arguments 76 112 returning 77 113 pointer to signed int 78 114 with body 79 80 f7: a function 115 CompoundStmt 116 117 f7: function 118 accepting unspecified arguments 81 119 returning 82 120 pointer to signed int 83 121 with body 84 85 f8: a function 122 CompoundStmt 123 124 f8: function 125 accepting unspecified arguments 86 126 returning 87 127 pointer to pointer to signed int 88 128 with body 89 90 f9: a function 129 CompoundStmt 130 131 f9: function 132 accepting unspecified arguments 91 133 returning 92 134 pointer to const pointer to signed int 93 135 with body 94 95 f10: a function 136 CompoundStmt 137 138 f10: function 139 accepting unspecified arguments 96 140 returning 97 141 pointer to open array of signed int 98 142 with body 99 100 f11: a function 101 returning 102 pointer to open array of open array of signed int 103 with body 104 105 f12: a function 106 returning 107 pointer to open array of open array of signed int 108 with body 109 110 fII1: a function 111 with parameters 112 i: a signed int 113 returning 114 signed int 115 with body 116 117 fII2: a function 118 with parameters 119 i: a signed int 143 CompoundStmt 144 145 f11: function 146 accepting unspecified arguments 147 returning 148 pointer to open array of array of signed int with dimension of constant expression 3 signed int 149 with body 150 CompoundStmt 151 152 f12: function 153 accepting unspecified arguments 154 returning 155 pointer to open array of array of signed int with dimension of constant expression 3 signed int 156 with body 157 CompoundStmt 158 159 fII1: function 160 with parameters 161 i: signed int 162 returning 163 signed int 164 with body 165 CompoundStmt 166 167 fII2: function 168 with parameters 169 i: signed int 120 170 returning 121 171 const signed int 122 172 with body 123 124 fII3: a extern function 125 with parameters 126 i: a signed int 127 returning 128 signed int 129 with body 130 131 fII4: a extern function 132 with parameters 133 i: a signed int 173 CompoundStmt 174 175 fII3: auto function 176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: auto function 184 with parameters 185 i: signed int 134 186 returning 135 187 const signed int 136 188 with body 137 138 fII5: a function 189 CompoundStmt 190 191 fII5: function 192 accepting unspecified arguments 139 193 returning 140 194 pointer to signed int 141 195 with body 142 143 fII6: a function 196 CompoundStmt 197 198 fII6: function 199 accepting unspecified arguments 144 200 returning 145 201 const pointer to signed int 146 202 with body 147 148 fII7: a function 203 CompoundStmt 204 205 fII7: function 206 accepting unspecified arguments 149 207 returning 150 208 pointer to const long signed int 151 209 with body 152 153 fII8: a static function 210 CompoundStmt 211 212 fII8: static function 213 accepting unspecified arguments 154 214 returning 155 215 pointer to const long signed int 156 216 with body 157 158 fII9: a static function 217 CompoundStmt 218 219 fII9: static function 220 accepting unspecified arguments 159 221 returning 160 222 pointer to const long signed int 161 223 with body 162 163 fO1: a function 224 CompoundStmt 225 226 fO1: function 227 accepting unspecified arguments 164 228 returning 165 229 signed int … … 167 231 i 168 232 with parameter declarations 169 i: a signed int 170 with body 171 172 fO2: a function 233 i: signed int 234 with body 235 CompoundStmt 236 237 fO2: function 238 accepting unspecified arguments 173 239 returning 174 240 signed int … … 176 242 i 177 243 with parameter declarations 178 i: a signed int 179 with body 180 181 fO3: a function 244 i: signed int 245 with body 246 CompoundStmt 247 248 fO3: function 249 accepting unspecified arguments 182 250 returning 183 251 const signed int … … 185 253 i 186 254 with parameter declarations 187 i: a signed int 188 with body 189 190 fO4: a extern function 255 i: signed int 256 with body 257 CompoundStmt 258 259 fO4: auto function 260 accepting unspecified arguments 191 261 returning 192 262 signed int … … 194 264 i 195 265 with parameter declarations 196 i: a signed int 197 with body 198 199 fO5: a extern function 266 i: signed int 267 with body 268 CompoundStmt 269 270 fO5: auto function 271 accepting unspecified arguments 200 272 returning 201 273 const signed int … … 203 275 i 204 276 with parameter declarations 205 i: a signed int 206 with body 207 208 f: a function 209 returning 210 nothing 211 212 f: a function 213 returning 214 signed int 215 216 f: a function 217 with parameters 218 signed int 219 returning 220 nothing 221 222 f: a function 223 with parameters 224 signed int 225 returning 226 signed int 227 228 f: a function 229 returning 230 nothing 231 with body 232 233 f: a function 234 returning 235 signed int 236 with body 237 238 f: a function 239 with parameters 240 signed int 241 returning 242 nothing 243 with body 244 245 f: a function 246 with parameters 247 signed int 248 returning 249 signed int 250 with body 251 252 f: a function 253 returning 254 x: a signed int 255 256 f: a function 257 with parameters 258 x: a signed int 259 returning 260 nothing 261 262 f: a function 263 with parameters 264 x: a signed int 265 returning 266 x: a signed int 267 268 f: a function 269 returning 270 x: a signed int 271 with body 272 273 f: a function 274 with parameters 275 x: a signed int 276 returning 277 nothing 278 with body 279 280 f: a function 281 with parameters 282 x: a signed int 283 returning 284 x: a signed int 285 with body 286 287 f: a function 288 returning 289 signed int 290 x: a signed int 291 292 f: a function 293 with parameters 294 signed int 295 x: a signed int 296 returning 297 nothing 298 299 f: a function 300 with parameters 301 signed int 302 x: a signed int 303 returning 304 signed int 305 x: a signed int 306 307 f: a function 308 returning 309 signed int 310 x: a signed int 311 with body 312 313 f: a function 314 with parameters 315 signed int 316 x: a signed int 317 returning 318 nothing 319 with body 320 321 f: a function 322 with parameters 323 signed int 324 x: a signed int 325 returning 326 signed int 327 x: a signed int 328 with body 329 330 f: a function 331 returning 332 signed int 333 x: a signed int 334 signed int 335 336 f: a function 337 with parameters 338 signed int 339 x: a signed int 340 signed int 341 returning 342 nothing 343 344 f: a function 345 with parameters 346 signed int 347 x: a signed int 348 signed int 349 returning 350 signed int 351 x: a signed int 352 signed int 353 354 f: a function 355 returning 356 signed int 357 x: a signed int 358 signed int 359 with body 360 361 f: a function 362 with parameters 363 signed int 364 x: a signed int 365 signed int 366 returning 367 nothing 368 with body 369 370 f: a function 371 with parameters 372 signed int 373 x: a signed int 374 signed int 375 returning 376 signed int 377 x: a signed int 378 signed int 379 with body 380 381 f: a function 382 returning 383 signed int 384 x: a signed int 385 y: a pointer to signed int 386 387 f: a function 388 with parameters 389 signed int 390 x: a signed int 391 y: a pointer to signed int 392 returning 393 nothing 394 395 f: a function 396 with parameters 397 signed int 398 x: a signed int 399 y: a pointer to signed int 400 returning 401 signed int 402 x: a signed int 403 y: a pointer to signed int 404 405 f: a function 406 returning 407 signed int 408 x: a signed int 409 y: a pointer to signed int 410 with body 411 412 f: a function 413 with parameters 414 signed int 415 x: a signed int 416 y: a pointer to signed int 417 returning 418 nothing 419 with body 420 421 f: a function 422 with parameters 423 signed int 424 x: a signed int 425 y: a pointer to signed int 426 returning 427 signed int 428 x: a signed int 429 y: a pointer to signed int 430 with body 431 432 f11: a function 433 with parameters 434 signed int 435 returning 436 signed int 437 438 f12: a function 439 with parameters 440 signed int 441 returning 442 signed int 443 444 f: a function 277 i: signed int 278 with body 279 CompoundStmt 280 281 f: function 282 returning 283 nothing 284 285 f: function 286 returning 287 signed int 288 289 f: function 290 with parameters 291 signed int 292 returning 293 nothing 294 295 f: function 296 with parameters 297 signed int 298 returning 299 signed int 300 301 f: function 302 returning 303 nothing 304 with body 305 CompoundStmt 306 307 f: function 308 returning 309 signed int 310 with body 311 CompoundStmt 312 313 f: function 314 with parameters 315 signed int 316 returning 317 nothing 318 with body 319 CompoundStmt 320 321 f: function 322 with parameters 323 signed int 324 returning 325 signed int 326 with body 327 CompoundStmt 328 329 f: function 330 returning 331 x: signed int 332 333 f: function 334 with parameters 335 x: signed int 336 returning 337 nothing 338 339 f: function 340 with parameters 341 x: signed int 342 returning 343 x: signed int 344 345 f: function 346 returning 347 x: signed int 348 with body 349 CompoundStmt 350 351 f: function 352 with parameters 353 x: signed int 354 returning 355 nothing 356 with body 357 CompoundStmt 358 359 f: function 360 with parameters 361 x: signed int 362 returning 363 x: signed int 364 with body 365 CompoundStmt 366 367 f: function 368 returning 369 signed int 370 x: signed int 371 372 f: function 373 with parameters 374 signed int 375 x: signed int 376 returning 377 nothing 378 379 f: function 380 with parameters 381 signed int 382 x: signed int 383 returning 384 signed int 385 x: signed int 386 387 f: function 388 returning 389 signed int 390 x: signed int 391 with body 392 CompoundStmt 393 394 f: function 395 with parameters 396 signed int 397 x: signed int 398 returning 399 nothing 400 with body 401 CompoundStmt 402 403 f: function 404 with parameters 405 signed int 406 x: signed int 407 returning 408 signed int 409 x: signed int 410 with body 411 CompoundStmt 412 413 f: function 414 returning 415 signed int 416 x: signed int 417 signed int 418 419 f: function 420 with parameters 421 signed int 422 x: signed int 423 signed int 424 returning 425 nothing 426 427 f: function 428 with parameters 429 signed int 430 x: signed int 431 signed int 432 returning 433 signed int 434 x: signed int 435 signed int 436 437 f: function 438 returning 439 signed int 440 x: signed int 441 signed int 442 with body 443 CompoundStmt 444 445 f: function 446 with parameters 447 signed int 448 x: signed int 449 signed int 450 returning 451 nothing 452 with body 453 CompoundStmt 454 455 f: function 456 with parameters 457 signed int 458 x: signed int 459 signed int 460 returning 461 signed int 462 x: signed int 463 signed int 464 with body 465 CompoundStmt 466 467 f: function 468 returning 469 signed int 470 x: signed int 471 y: pointer to signed int 472 473 f: function 474 with parameters 475 signed int 476 x: signed int 477 y: pointer to signed int 478 returning 479 nothing 480 481 f: function 482 with parameters 483 signed int 484 x: signed int 485 y: pointer to signed int 486 returning 487 signed int 488 x: signed int 489 y: pointer to signed int 490 491 f: function 492 returning 493 signed int 494 x: signed int 495 y: pointer to signed int 496 with body 497 CompoundStmt 498 499 f: function 500 with parameters 501 signed int 502 x: signed int 503 y: pointer to signed int 504 returning 505 nothing 506 with body 507 CompoundStmt 508 509 f: function 510 with parameters 511 signed int 512 x: signed int 513 y: pointer to signed int 514 returning 515 signed int 516 x: signed int 517 y: pointer to signed int 518 with body 519 CompoundStmt 520 521 f11: function 522 with parameters 523 signed int 524 returning 525 signed int 526 527 f12: function 528 with parameters 529 signed int 530 returning 531 signed int 532 533 f: function 445 534 with parameters 446 535 function 447 536 with parameters 448 537 signed int 449 p: asigned int538 p: signed int 450 539 returning 451 540 signed int … … 460 549 signed int 461 550 with body 462 Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 463 Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 464 Declaration of p: a pointer to open array of pointer to function 465 with parameters 466 signed int 467 returning 468 signed int 469 470 471 f1: a static function 551 CompoundStmt 552 Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 553 Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 554 Declaration of p: pointer to open array of pointer to function 555 with parameters 556 signed int 557 returning 558 signed int 559 560 561 f1: static function 562 accepting unspecified arguments 472 563 returning 473 564 pointer to const signed int 474 565 with body 475 476 f2: a static function 566 CompoundStmt 567 568 f2: static function 477 569 returning 478 570 const signed int 479 571 with body 480 481 f3: a inline static function 572 CompoundStmt 573 574 f3: inline static function 482 575 returning 483 576 const pointer to signed int 484 577 with body 485 486 f4: a inline static function 578 CompoundStmt 579 580 f4: inline static function 487 581 returning 488 582 const tuple of types … … 491 585 492 586 with body 493 494 f5: a static function 587 CompoundStmt 588 589 f5: static function 495 590 returning 496 591 const tuple of types … … 499 594 500 595 with body 501 502 f: a function 503 with parameters 504 function 505 returning 506 signed int 507 508 function 596 CompoundStmt 597 598 f: function 599 with parameters 600 function 601 accepting unspecified arguments 602 returning 603 signed int 604 605 function 606 accepting unspecified arguments 509 607 returning 510 608 pointer to signed int 511 609 512 610 function 611 accepting unspecified arguments 513 612 returning 514 613 pointer to pointer to signed int 515 614 516 615 function 616 accepting unspecified arguments 517 617 returning 518 618 pointer to const pointer to signed int 519 619 520 620 function 621 accepting unspecified arguments 521 622 returning 522 623 const pointer to const pointer to signed int 523 624 524 625 open array of signed int 626 array of signed int with dimension of constant expression 10 signed int 627 open array of pointer to signed int 628 array of pointer to signed int with dimension of constant expression 10 signed int 629 open array of pointer to pointer to signed int 630 array of pointer to pointer to signed int with dimension of constant expression 10 signed int 631 open array of pointer to const pointer to signed int 632 array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 633 open array of const pointer to const pointer to signed int 634 array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 635 returning 636 signed int 637 638 f: function 639 with parameters 640 function 641 accepting unspecified arguments 642 returning 643 signed int 644 645 function 646 accepting unspecified arguments 647 returning 648 pointer to signed int 649 650 function 651 accepting unspecified arguments 652 returning 653 pointer to pointer to signed int 654 655 function 656 accepting unspecified arguments 657 returning 658 pointer to const pointer to signed int 659 660 function 661 accepting unspecified arguments 662 returning 663 const pointer to const pointer to signed int 664 525 665 open array of signed int 666 array of signed int with dimension of constant expression 10 signed int 526 667 open array of pointer to signed int 527 open array of pointer tosigned int668 array of pointer to signed int with dimension of constant expression 10 signed int 528 669 open array of pointer to pointer to signed int 529 open array of pointer to pointer tosigned int670 array of pointer to pointer to signed int with dimension of constant expression 10 signed int 530 671 open array of pointer to const pointer to signed int 531 open array of pointer to const pointer tosigned int672 array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 532 673 open array of const pointer to const pointer to signed int 533 open array of const pointer to const pointer to signed int 534 returning 535 signed int 536 537 f: a function 538 with parameters 539 function 540 returning 541 signed int 542 543 function 544 returning 545 pointer to signed int 546 547 function 548 returning 549 pointer to pointer to signed int 550 551 function 552 returning 553 pointer to const pointer to signed int 554 555 function 556 returning 557 const pointer to const pointer to signed int 558 559 open array of signed int 560 open array of signed int 561 open array of pointer to signed int 562 open array of pointer to signed int 563 open array of pointer to pointer to signed int 564 open array of pointer to pointer to signed int 565 open array of pointer to const pointer to signed int 566 open array of pointer to const pointer to signed int 567 open array of const pointer to const pointer to signed int 568 open array of const pointer to const pointer to signed int 569 returning 570 signed int 571 with body 572 573 T: a typedef for signed int 574 f: a function 674 array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 675 returning 676 signed int 677 with body 678 CompoundStmt 679 680 T: typedef for signed int 681 f: function 575 682 with parameters 576 683 function 577 684 with parameters 578 instance of type T 579 returning 580 instance of type T 581 582 T: a instance of type T 583 returning 584 signed int 585 with body 586 685 instance of type T (not function type) 686 returning 687 instance of type T (not function type) 688 689 T: instance of type T (not function type) 690 returning 691 signed int 692 with body 693 CompoundStmt 694 Expression Statement: 695 Applying untyped: 696 Name: T 697 ...to: 698 Name: T 699 700 -
src/Tests/SynTree/Expected/IdentFuncDeclarator.tst
rcd623a4 r5f2f2d7 1 main: a function 1 main: C function 2 accepting unspecified arguments 2 3 returning 3 4 signed int 4 5 with body 5 Declaration of f1: a signed int 6 Declaration of f2: a signed int 7 Declaration of f3: a pointer to signed int 8 Declaration of f4: a pointer to pointer to signed int 9 Declaration of f5: a pointer to const pointer to signed int 10 Declaration of f6: a const pointer to const pointer to signed int 11 Declaration of f7: a pointer to signed int 12 Declaration of f8: a pointer to pointer to signed int 13 Declaration of f9: a pointer to const pointer to signed int 14 Declaration of f10: a const pointer to const pointer to signed int 15 Declaration of f11: a pointer to signed int 16 Declaration of f12: a pointer to pointer to signed int 17 Declaration of f13: a pointer to const pointer to signed int 18 Declaration of f14: a const pointer to const pointer to signed int 19 Declaration of f15: a open array of signed int 20 Declaration of f16: a open array of signed int 21 Declaration of f17: a open array of signed int 22 Declaration of f18: a open array of signed int 23 Declaration of f19: a open array of pointer to signed int 24 Declaration of f20: a open array of pointer to signed int 25 Declaration of f21: a open array of pointer to pointer to signed int 26 Declaration of f22: a open array of pointer to pointer to signed int 27 Declaration of f23: a open array of pointer to const pointer to signed int 28 Declaration of f24: a open array of pointer to const pointer to signed int 29 Declaration of f25: a open array of const pointer to const pointer to signed int 30 Declaration of f26: a open array of const pointer to const pointer to signed int 31 Declaration of f27: a open array of pointer to signed int 32 Declaration of f28: a open array of pointer to signed int 33 Declaration of f29: a open array of pointer to pointer to signed int 34 Declaration of f30: a open array of pointer to pointer to signed int 35 Declaration of f31: a open array of pointer to const pointer to signed int 36 Declaration of f32: a open array of pointer to const pointer to signed int 37 Declaration of f33: a open array of const pointer to const pointer to signed int 38 Declaration of f34: a open array of const pointer to const pointer to signed int 39 Declaration of f35: a open array of pointer to signed int 40 Declaration of f36: a open array of pointer to signed int 41 Declaration of f37: a open array of pointer to pointer to signed int 42 Declaration of f38: a open array of pointer to pointer to signed int 43 Declaration of f39: a open array of pointer to const pointer to signed int 44 Declaration of f40: a open array of pointer to const pointer to signed int 45 Declaration of f41: a open array of const pointer to const pointer to signed int 46 Declaration of f42: a open array of const pointer to const pointer to signed int 47 Declaration of f43: a open array of open array of signed int 48 Declaration of f44: a open array of open array of signed int 49 Declaration of f45: a open array of open array of signed int 50 Declaration of f46: a open array of open array of signed int 51 Declaration of f47: a open array of open array of signed int 52 Declaration of f48: a open array of open array of signed int 53 Declaration of f49: a open array of open array of pointer to signed int 54 Declaration of f50: a open array of open array of pointer to signed int 55 Declaration of f51: a open array of open array of pointer to pointer to signed int 56 Declaration of f52: a open array of open array of pointer to pointer to signed int 57 Declaration of f53: a open array of open array of pointer to const pointer to signed int 58 Declaration of f54: a open array of open array of pointer to const pointer to signed int 59 Declaration of f55: a open array of open array of const pointer to const pointer to signed int 60 Declaration of f56: a open array of open array of const pointer to const pointer to signed int 61 Declaration of f57: a open array of open array of pointer to signed int 62 Declaration of f58: a open array of open array of pointer to signed int 63 Declaration of f59: a open array of open array of pointer to pointer to signed int 64 Declaration of f60: a open array of open array of pointer to pointer to signed int 65 Declaration of f61: a open array of open array of pointer to const pointer to signed int 66 Declaration of f62: a open array of open array of pointer to const pointer to signed int 67 Declaration of f63: a open array of open array of const pointer to const pointer to signed int 68 Declaration of f64: a open array of open array of const pointer to const pointer to signed int 69 Declaration of f65: a function 70 with parameters 71 signed int 72 returning 73 signed int 6 CompoundStmt 7 Declaration of f1: signed int 8 Declaration of f2: signed int 9 Declaration of f3: pointer to signed int 10 Declaration of f4: pointer to pointer to signed int 11 Declaration of f5: pointer to const pointer to signed int 12 Declaration of f6: const pointer to const pointer to signed int 13 Declaration of f7: pointer to signed int 14 Declaration of f8: pointer to pointer to signed int 15 Declaration of f9: pointer to const pointer to signed int 16 Declaration of f10: const pointer to const pointer to signed int 17 Declaration of f11: pointer to signed int 18 Declaration of f12: pointer to pointer to signed int 19 Declaration of f13: pointer to const pointer to signed int 20 Declaration of f14: const pointer to const pointer to signed int 21 Declaration of f15: open array of signed int 22 Declaration of f16: array of signed int with dimension of constant expression 10 signed int 23 Declaration of f17: open array of signed int 24 Declaration of f18: array of signed int with dimension of constant expression 10 signed int 25 Declaration of f19: open array of pointer to signed int 26 Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 27 Declaration of f21: open array of pointer to pointer to signed int 28 Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 29 Declaration of f23: open array of pointer to const pointer to signed int 30 Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 31 Declaration of f25: open array of const pointer to const pointer to signed int 32 Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 33 Declaration of f27: open array of pointer to signed int 34 Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 35 Declaration of f29: open array of pointer to pointer to signed int 36 Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 37 Declaration of f31: open array of pointer to const pointer to signed int 38 Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 39 Declaration of f33: open array of const pointer to const pointer to signed int 40 Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 41 Declaration of f35: open array of pointer to signed int 42 Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 43 Declaration of f37: open array of pointer to pointer to signed int 44 Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 45 Declaration of f39: open array of pointer to const pointer to signed int 46 Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 47 Declaration of f41: open array of const pointer to const pointer to signed int 48 Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 49 Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 50 Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 51 Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 52 Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 53 Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 54 Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 55 Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 56 Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 57 Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 58 Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 59 Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 60 Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 61 Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 62 Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 63 Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 64 Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 65 Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 66 Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 67 Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 68 Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 69 Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 70 Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 71 Declaration of f65: function 72 with parameters 73 signed int 74 returning 75 signed int 74 76 75 Declaration of f66: afunction76 with parameters77 signed int78 returning79 signed int77 Declaration of f66: function 78 with parameters 79 signed int 80 returning 81 signed int 80 82 81 Declaration of f67: afunction82 with parameters83 signed int84 returning85 pointer to signed int83 Declaration of f67: function 84 with parameters 85 signed int 86 returning 87 pointer to signed int 86 88 87 Declaration of f68: afunction88 with parameters89 signed int90 returning91 pointer to pointer to signed int89 Declaration of f68: function 90 with parameters 91 signed int 92 returning 93 pointer to pointer to signed int 92 94 93 Declaration of f69: afunction94 with parameters95 signed int96 returning97 pointer to const pointer to signed int95 Declaration of f69: function 96 with parameters 97 signed int 98 returning 99 pointer to const pointer to signed int 98 100 99 Declaration of f70: afunction100 with parameters101 signed int102 returning103 const pointer to const pointer to signed int101 Declaration of f70: function 102 with parameters 103 signed int 104 returning 105 const pointer to const pointer to signed int 104 106 105 Declaration of f71: afunction106 with parameters107 &nb