aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-11-27 13:23:08 +0000
committerDuncan Sands <baldrick@free.fr>2007-11-27 13:23:08 +0000
commitdc024674ff96820d6020757b48d47f46d4c07db2 (patch)
tree843dfcaeb8f6c99de930a32020148b563005c2fd /lib/AsmParser/llvmAsmParser.cpp.cvs
parentf19341dec7361451f100a882a023b14583454d7e (diff)
Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs1780
1 files changed, 883 insertions, 897 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 4a1534881f..5907eec578 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -214,8 +214,8 @@
NOALIAS = 395,
BYVAL = 396,
NEST = 397,
- CONST = 398,
- PURE = 399,
+ READNONE = 398,
+ READONLY = 399,
DEFAULT = 400,
HIDDEN = 401,
PROTECTED = 402
@@ -362,8 +362,8 @@
#define NOALIAS 395
#define BYVAL 396
#define NEST 397
-#define CONST 398
-#define PURE 399
+#define READNONE 398
+#define READONLY 399
#define DEFAULT 400
#define HIDDEN 401
#define PROTECTED 402
@@ -372,7 +372,7 @@
/* Copy the first part of user declarations. */
-#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
@@ -391,9 +391,6 @@
#include <list>
#include <map>
#include <utility>
-#ifndef NDEBUG
-#define YYDEBUG 1
-#endif
// The following is a gross hack. In order to rid the libAsmParser library of
// exceptions, we have to have a way of getting the yyparse function to go into
@@ -413,15 +410,6 @@ static bool TriggerError = false;
int yyerror(const char *ErrorMsg); // Forward declarations to prevent "implicit
int yylex(); // declaration" of xxx warnings.
int yyparse();
-
-namespace llvm {
- std::string CurFilename;
-#if YYDEBUG
-static cl::opt<bool>
-Debug("debug-yacc", cl::desc("Print yacc debug state changes"),
- cl::Hidden, cl::init(false));
-#endif
-}
using namespace llvm;
static Module *ParserResult;
@@ -875,7 +863,7 @@ static Value *getVal(const Type *Ty, const ValID &ID) {
// Remember where this forward reference came from. FIXME, shouldn't we try
// to recycle these things??
CurModule.PlaceHolderInfo.insert(std::make_pair(V, std::make_pair(ID,
- llvmAsmlineno)));
+ LLLgetLineNo())));
if (inFunctionScope())
InsertValue(V, CurFun.LateResolveValues);
@@ -1307,22 +1295,11 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
//
static Module* RunParser(Module * M);
-Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) {
- set_scan_file(F);
-
- CurFilename = Filename;
- return RunParser(new Module(CurFilename));
-}
-
-Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
- set_scan_string(AsmString);
-
- CurFilename = "from_memory";
- if (M == NULL) {
- return RunParser(new Module (CurFilename));
- } else {
- return RunParser(M);
- }
+Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
+ InitLLLexer(MB);
+ Module *M = RunParser(new Module(LLLgetFilename()));
+ FreeLexer();
+ return M;
}
@@ -1347,7 +1324,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 968 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 945 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -1394,8 +1371,8 @@ typedef union YYSTYPE
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
}
-/* Line 193 of yacc.c. */
-#line 1399 "llvmAsmParser.tab.c"
+/* Line 187 of yacc.c. */
+#line 1376 "llvmAsmParser.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -1408,7 +1385,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 1412 "llvmAsmParser.tab.c"
+#line 1389 "llvmAsmParser.tab.c"
#ifdef short
# undef short
@@ -1458,7 +1435,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
+# if YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -1623,7 +1600,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 43
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1754
+#define YYLAST 1816
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 162
@@ -1632,7 +1609,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */
#define YYNRULES 314
/* YYNRULES -- Number of states. */
-#define YYNSTATES 602
+#define YYNSTATES 608
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -1720,10 +1697,10 @@ static const yytype_uint16 yyprhs[] =
690, 692, 694, 696, 700, 702, 708, 710, 712, 714,
716, 718, 720, 723, 726, 729, 733, 736, 737, 739,
742, 745, 749, 759, 769, 778, 793, 795, 797, 804,
- 810, 813, 820, 828, 832, 836, 842, 848, 849, 850,
- 854, 857, 859, 865, 871, 878, 885, 890, 897, 902,
- 907, 914, 921, 924, 933, 935, 937, 938, 942, 949,
- 953, 960, 963, 969, 977
+ 810, 813, 820, 828, 833, 838, 845, 852, 853, 854,
+ 858, 861, 863, 869, 875, 882, 889, 894, 901, 906,
+ 911, 918, 925, 928, 937, 939, 941, 942, 946, 953,
+ 957, 964, 967, 973, 981
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -1752,7 +1729,7 @@ static const yytype_int16 yyrhs[] =
135, -1, 117, -1, 134, -1, 118, -1, 137, -1,
138, -1, 140, -1, 141, -1, 142, -1, -1, 184,
183, -1, 136, -1, 139, -1, 135, -1, 134, -1,
- 144, -1, 143, -1, -1, 186, 185, -1, -1, 53,
+ 143, -1, 144, -1, -1, 186, 185, -1, -1, 53,
4, -1, -1, 149, 53, 4, -1, 34, 22, -1,
-1, 189, -1, -1, 149, 192, 191, -1, 189, -1,
53, 4, -1, 11, -1, 12, -1, 13, -1, 16,
@@ -1811,60 +1788,60 @@ static const yytype_int16 yyrhs[] =
17, 229, -1, 71, -1, 72, -1, 235, 168, 227,
149, 17, 229, -1, 168, 227, 149, 17, 229, -1,
172, 241, -1, 194, 154, 229, 149, 229, 156, -1,
- 237, 149, 154, 229, 149, 229, 156, -1, 194, 229,
- 184, -1, 17, 229, 184, -1, 238, 149, 194, 229,
- 184, -1, 238, 149, 17, 229, 184, -1, -1, -1,
- 239, 149, 230, -1, 56, 55, -1, 55, -1, 163,
- 194, 229, 149, 229, -1, 164, 194, 229, 149, 229,
- -1, 88, 166, 194, 229, 149, 229, -1, 89, 167,
- 194, 229, 149, 229, -1, 165, 230, 38, 194, -1,
- 129, 230, 149, 230, 149, 230, -1, 130, 230, 149,
- 194, -1, 131, 230, 149, 230, -1, 132, 230, 149,
- 230, 149, 230, -1, 133, 230, 149, 230, 149, 230,
- -1, 128, 237, -1, 240, 182, 196, 229, 152, 238,
- 153, 186, -1, 243, -1, 36, -1, -1, 110, 194,
- 188, -1, 110, 194, 149, 11, 229, 188, -1, 111,
- 194, 188, -1, 111, 194, 149, 11, 229, 188, -1,
- 112, 230, -1, 242, 113, 194, 229, 188, -1, 242,
- 114, 230, 149, 194, 229, 188, -1, 115, 194, 229,
- 239, -1
+ 237, 149, 154, 229, 149, 229, 156, -1, 194, 184,
+ 229, 184, -1, 17, 184, 229, 184, -1, 238, 149,
+ 194, 184, 229, 184, -1, 238, 149, 17, 184, 229,
+ 184, -1, -1, -1, 239, 149, 230, -1, 56, 55,
+ -1, 55, -1, 163, 194, 229, 149, 229, -1, 164,
+ 194, 229, 149, 229, -1, 88, 166, 194, 229, 149,
+ 229, -1, 89, 167, 194, 229, 149, 229, -1, 165,
+ 230, 38, 194, -1, 129, 230, 149, 230, 149, 230,
+ -1, 130, 230, 149, 194, -1, 131, 230, 149, 230,
+ -1, 132, 230, 149, 230, 149, 230, -1, 133, 230,
+ 149, 230, 149, 230, -1, 128, 237, -1, 240, 182,
+ 196, 229, 152, 238, 153, 186, -1, 243, -1, 36,
+ -1, -1, 110, 194, 188, -1, 110, 194, 149, 11,
+ 229, 188, -1, 111, 194, 188, -1, 111, 194, 149,
+ 11, 229, 188, -1, 112, 230, -1, 242, 113, 194,
+ 229, 188, -1, 242, 114, 230, 149, 194, 229, 188,
+ -1, 115, 194, 229, 239, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
- 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1130, 1130,
- 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1134,
- 1134, 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138, 1142,
- 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1147,
- 1147, 1148, 1148, 1149, 1150, 1155, 1156, 1156, 1156, 1156,
- 1156, 1158, 1158, 1158, 1159, 1159, 1163, 1167, 1172, 1172,
- 1174, 1175, 1180, 1186, 1187, 1188, 1189, 1190, 1194, 1195,
- 1196, 1200, 1201, 1202, 1203, 1207, 1208, 1209, 1213, 1214,
- 1215, 1216, 1217, 1221, 1222, 1223, 1226, 1227, 1228, 1229,
- 1230, 1231, 1232, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
- 1246, 1247, 1250, 1251, 1256, 1257, 1258, 1259, 1260, 1261,
- 1264, 1265, 1272, 1273, 1279, 1280, 1288, 1296, 1297, 1302,
- 1303, 1304, 1309, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
- 1325, 1329, 1333, 1340, 1345, 1353, 1383, 1414, 1419, 1429,
- 1439, 1443, 1453, 1460, 1467, 1474, 1479, 1484, 1491, 1492,
- 1499, 1506, 1514, 1520, 1532, 1560, 1576, 1603, 1631, 1657,
- 1677, 1703, 1723, 1735, 1742, 1808, 1818, 1828, 1834, 1844,
- 1850, 1860, 1865, 1870, 1883, 1895, 1917, 1925, 1931, 1942,
- 1947, 1952, 1958, 1964, 1973, 1977, 1985, 1985, 1988, 1988,
- 1991, 2003, 2024, 2029, 2037, 2038, 2042, 2042, 2046, 2046,
- 2049, 2052, 2076, 2087, 2087, 2098, 2097, 2107, 2106, 2117,
- 2157, 2160, 2166, 2176, 2180, 2185, 2187, 2192, 2197, 2206,
- 2216, 2227, 2231, 2240, 2249, 2254, 2375, 2375, 2377, 2386,
- 2386, 2388, 2393, 2405, 2409, 2414, 2418, 2422, 2426, 2430,
- 2434, 2438, 2442, 2446, 2471, 2475, 2485, 2489, 2493, 2498,
- 2505, 2505, 2511, 2520, 2524, 2533, 2542, 2551, 2555, 2562,
- 2566, 2570, 2575, 2585, 2604, 2613, 2693, 2697, 2704, 2715,
- 2728, 2738, 2749, 2759, 2768, 2774, 2783, 2789, 2792, 2793,
- 2800, 2804, 2809, 2825, 2842, 2856, 2870, 2882, 2890, 2897,
- 2903, 2909, 2915, 2930, 3015, 3020, 3024, 3031, 3038, 3046,
- 3053, 3061, 3069, 3083, 3100
+ 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
+ 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1107,
+ 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1108, 1108, 1111,
+ 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1115, 1115, 1119,
+ 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123, 1124,
+ 1124, 1125, 1125, 1126, 1127, 1132, 1133, 1133, 1133, 1133,
+ 1133, 1135, 1135, 1135, 1136, 1136, 1140, 1144, 1149, 1149,
+ 1151, 1152, 1157, 1163, 1164, 1165, 1166, 1167, 1171, 1172,
+ 1173, 1177, 1178, 1179, 1180, 1184, 1185, 1186, 1190, 1191,
+ 1192, 1193, 1194, 1198, 1199, 1200, 1203, 1204, 1205, 1206,
+ 1207, 1208, 1209, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
+ 1223, 1224, 1227, 1228, 1233, 1234, 1235, 1236, 1237, 1238,
+ 1241, 1242, 1249, 1250, 1256, 1257, 1265, 1273, 1274, 1279,
+ 1280, 1281, 1286, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
+ 1302, 1306, 1310, 1317, 1322, 1330, 1348, 1366, 1371, 1381,
+ 1391, 1395, 1405, 1412, 1421, 1428, 1433, 1438, 1445, 1446,
+ 1453, 1460, 1468, 1474, 1486, 1514, 1530, 1557, 1585, 1611,
+ 1631, 1657, 1677, 1689, 1696, 1762, 1772, 1782, 1788, 1798,
+ 1804, 1814, 1819, 1824, 1837, 1849, 1871, 1879, 1885, 1896,
+ 1901, 1906, 1912, 1918, 1927, 1931, 1939, 1939, 1942, 1942,
+ 1945, 1957, 1978, 1983, 1991, 1992, 1996, 1996, 2000, 2000,
+ 2003, 2006, 2030, 2041, 2041, 2052, 2051, 2061, 2060, 2071,
+ 2111, 2114, 2120, 2130, 2134, 2139, 2141, 2146, 2151, 2160,
+ 2170, 2181, 2185, 2194, 2203, 2208, 2338, 2338, 2340, 2349,
+ 2349, 2351, 2356, 2368, 2372, 2377, 2381, 2385, 2389, 2393,
+ 2397, 2401, 2405, 2409, 2434, 2438, 2448, 2452, 2456, 2461,
+ 2468, 2468, 2474, 2483, 2487, 2496, 2505, 2514, 2518, 2525,
+ 2529, 2533, 2538, 2548, 2567, 2576, 2660, 2664, 2671, 2682,
+ 2695, 2705, 2716, 2726, 2737, 2745, 2755, 2762, 2765, 2766,
+ 2773, 2777, 2782, 2798, 2815, 2829, 2843, 2855, 2863, 2870,
+ 2876, 2882, 2888, 2903, 2994, 2999, 3003, 3010, 3017, 3025,
+ 3032, 3040, 3048, 3062, 3079
};
#endif
@@ -1894,27 +1871,28 @@ static const char *const yytname[] =
"FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR",
"PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT",
"INSERTELEMENT", "SHUFFLEVECTOR", "SIGNEXT", "ZEROEXT", "NORETURN",
- "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "CONST", "PURE",
- "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'", "'\\\\'", "'('",
- "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept",
- "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates",
- "IntType", "FPType", "LocalName", "OptLocalName", "OptLocalAssign",
- "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage",
- "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage",
- "FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "ParamAttr",
- "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign",
- "SectionString", "OptSection", "GlobalVarAttributes",
- "GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes",
- "ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr",
- "ConstVector", "GlobalType", "ThreadLocal", "AliaseeRef", "Module",
- "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
- "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
- "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
- "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
- "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
- "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst",
- "PHIList", "ParamList", "IndexList", "OptTailCall", "InstVal",
- "OptVolatile", "MemoryInst", 0
+ "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "READNONE",
+ "READONLY", "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'",
+ "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'",
+ "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps",
+ "IPredicates", "FPredicates", "IntType", "FPType", "LocalName",
+ "OptLocalName", "OptLocalAssign", "GlobalName", "OptGlobalAssign",
+ "GlobalAssign", "GVInternalLinkage", "GVExternalLinkage",
+ "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
+ "AliasLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs",
+ "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString",
+ "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType",
+ "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI",
+ "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
+ "ThreadLocal", "AliaseeRef", "Module", "DefinitionList", "Definition",
+ "@1", "@2", "@3", "@4", "@5", "AsmBlock", "TargetDefinition",
+ "LibrariesDefinition", "LibList", "ArgListH", "ArgList",
+ "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
+ "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef",
+ "ValueRef", "ResolvedVal", "BasicBlockList", "BasicBlock",
+ "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", "PHIList",
+ "ParamList", "IndexList", "OptTailCall", "InstVal", "OptVolatile",
+ "MemoryInst", 0
};
#endif
@@ -2011,7 +1989,7 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 3, 1, 5, 1, 1, 1, 1,
1, 1, 2, 2, 2, 3, 2, 0, 1, 2,
2, 3, 9, 9, 8, 14, 1, 1, 6, 5,
- 2, 6, 7, 3, 3, 5, 5, 0, 0, 3,
+ 2, 6, 7, 4, 4, 6, 6, 0, 0, 3,
2, 1, 5, 5, 6, 6, 4, 6, 4, 4,
6, 6, 2, 8, 1, 1, 0, 3, 6, 3,
6, 2, 5, 7, 4
@@ -2062,7 +2040,7 @@ static const yytype_uint16 yydefact[] =
254, 261, 260, 262, 0, 271, 0, 0, 0, 0,
0, 307, 0, 309, 288, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 117, 116,
- 114, 115, 119, 118, 121, 216, 218, 0, 0, 0,
+ 114, 115, 118, 119, 121, 216, 218, 0, 0, 0,
288, 0, 0, 0, 0, 0, 164, 150, 162, 0,
167, 168, 0, 0, 0, 0, 0, 131, 129, 233,
112, 231, 0, 244, 0, 0, 0, 0, 0, 0,
@@ -2074,15 +2052,15 @@ static const yytype_uint16 yydefact[] =
0, 0, 0, 0, 292, 293, 287, 0, 312, 0,
201, 0, 0, 185, 0, 0, 0, 0, 170, 0,
0, 0, 64, 230, 232, 112, 127, 0, 0, 0,
- 139, 0, 0, 294, 295, 308, 310, 289, 0, 0,
+ 112, 112, 0, 294, 295, 308, 310, 289, 0, 0,
297, 300, 301, 0, 124, 0, 0, 0, 191, 0,
0, 187, 188, 184, 65, 128, 122, 255, 0, 0,
- 112, 112, 0, 120, 281, 0, 120, 313, 189, 190,
+ 0, 0, 0, 120, 281, 0, 120, 313, 189, 190,
0, 0, 0, 229, 0, 235, 0, 274, 0, 0,
- 284, 283, 139, 0, 0, 282, 303, 186, 192, 193,
- 123, 272, 0, 273, 0, 112, 112, 0, 0, 0,
- 286, 285, 0, 0, 0, 0, 279, 0, 0, 278,
- 0, 275
+ 104, 106, 112, 112, 112, 112, 0, 282, 303, 186,
+ 192, 193, 123, 272, 0, 273, 0, 284, 283, 0,
+ 0, 0, 0, 0, 112, 112, 0, 0, 0, 286,
+ 285, 0, 279, 0, 0, 278, 0, 275
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -2101,84 +2079,84 @@ static const yytype_int16 yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -549
+#define YYPACT_NINF -546
static const yytype_int16 yypact[] =
{
- 322, -549, -549, -549, -549, -549, -549, -549, -18, -120,
- 6, -117, 62, -60, 224, -549, 111, 464, -549, 103,
- 184, -12, -7, -549, 21, 133, -549, 1309, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- 140, 140, 211, -549, -549, -549, -549, 140, -549, -549,
- -549, -549, -549, 140, 139, -549, -14, 157, 174, 182,
- -549, -549, -549, -549, -549, 60, -549, -549, -549, -549,
- -549, -549, -549, -549, 215, 233, 2, 526, -549, -549,
- -549, 150, -549, 178, 178, 269, -549, 14, 274, 274,
- -549, -549, 134, -549, -549, -549, -549, -549, -549, -549,
- -23, 54, -549, 97, 105, 993, 60, -549, 150, -125,
- -549, 54, 14, 14, -549, -549, 1093, -549, -549, 1340,
- 260, -549, -549, -549, -549, -549, 1358, -549, -17, 1584,
- -549, 251, -549, -549, 150, -549, 128, 146, 1380, 1380,
- 145, -106, 1380, -549, 151, 1340, 1380, 60, 155, 150,
- 231, -549, 101, 303, 305, 308, 312, 315, 229, 320,
- 808, -549, -549, 187, -549, -549, -549, -549, -549, 275,
- 1423, 85, 321, 274, -549, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 461, 481, 1380, 1380, 1380, 1380, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, 1380,
- 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, -549, 274,
- -549, 110, -549, -549, -85, 1116, -549, -2, -33, -549,
- 173, 150, -549, -549, 150, 1093, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, 461, 481, 191,
- 198, 199, 203, 204, 1156, 1534, 1033, 335, 206, 207,
- 208, -549, -549, 217, 223, -549, 60, 649, -549, 785,
- 785, -549, 785, 1358, -549, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, 1380, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 1380, 107, 113, -549, 649, 26, 218, 236, 237,
- 238, 239, 240, 649, 649, 340, 1358, 1380, 1380, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 162, -549, -549, -549, 162, 217, 217, 344, 242,
- 243, 1340, 1340, 1340, 1340, 1340, -549, -549, -9, 1073,
- -50, -549, -63, -549, 1340, 1340, 1340, -11, -549, 1187,
- -549, -549, -549, -549, -549, -549, -549, -549, 333, 1340,
- -549, -549, -549, -549, 247, -549, 248, 785, 649, 649,
- 7, -549, 34, -549, -549, 785, 244, 1380, 1380, 1380,
- 1380, 1380, 256, 257, 1380, 785, 649, 258, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, 1380, 1340, 1340,
- -549, 261, 264, 267, 268, 1340, -549, 263, 808, -51,
- -549, -549, 270, 273, 362, 396, 419, -549, 217, -549,
- 150, 276, 271, -549, 405, -48, 411, 412, 280, 284,
- 287, 785, 433, 785, 289, 290, 785, 293, 150, -549,
- 294, 295, 785, 785, 150, 296, 297, 1380, 90, 298,
- 300, 13, 1340, 1340, 1340, 1340, -549, -549, 299, 1340,
- 1340, 1380, -549, -549, -549, -3, 1269, -549, 304, -549,
- 785, 785, 1577, 785, 785, 297, -549, 297, 1380, 785,
- 306, 1380, 1380, 1380, -549, -549, 1577, 401, -549, 649,
- -549, 1340, 1340, -549, 309, 310, 319, 323, -549, 316,
- 318, 126, -549, -549, -549, 150, 38, 437, 324, 307,
- 785, 649, 44, -549, -549, -549, -549, -549, 325, 785,
- -549, -549, -549, 53, 297, 327, 332, 1340, -549, 1340,
- 1340, -549, -549, -549, -3, -549, 421, -549, 460, 1,
- -549, -549, 1595, -549, -549, 334, -549, -549, -549, -549,
- 336, 338, 339, -549, 489, -549, 785, -549, 945, 3,
- -85, -85, 785, 649, 86, -549, 162, -549, -549, -549,
- -549, -549, 347, -549, 945, -549, -549, 484, 485, 356,
- -85, -85, 785, 785, 492, 439, -549, 785, 494, -549,
- 785, -549
+ 47, -546, -546, -546, -546, -546, -546, -546, -17, -95,
+ 52, -90, 86, 14, 183, -546, 135, 1758, -546, -10,
+ 64, 18, 33, -546, 5, 180, -546, 1341, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
+ 76, 76, 59, -546, -546, -546, -546, 76, -546, -546,
+ -546, -546, -546, 76, 193, -546, 13, 202, 224, 233,
+ -546, -546, -546, -546, -546, 111, -546, -546, -546, -546,
+ -546, -546, -546, -546, 260, 261, 1, 378, -546, -546,
+ -546, -7, -546, 231, 231, 150, -546, 55, 309, 309,
+ -546, -546, 100, -546, -546, -546, -546, -546, -546, -546,
+ -99, 1088, -546, 116, 122, 988, 111, -546, -7, -106,
+ -546, 1088, 55, 55, -546, -546, 1142, -546, -546, 1359,
+ 274, -546, -546, -546, -546, -546, 1414, -546, -18, 1624,
+ -546, 257, -546, -546, -7, -546, 131, 128, 1454, 1454,
+ 129, -105, 1454, -546, 136, 1359, 1454, 111, 141, -7,
+ 237, -546, 214, 279, 285, 289, 291, 294, 145, 299,
+ 803, -546, -546, 103, -546, -546, -546, -546, -546, 254,
+ 1512, 57, 301, 309, -546, -546, -546, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
+ -546, 596, 646, 1454, 1454, 1454, 1454, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, -546, 1454,
+ 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, -546, 309,
+ -546, 61, -546, -546, 132, 1182, -546, -57, -69, -546,
+ 155, -7, -546, -546, -7, 1142, -546, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, 596, 646, 162,
+ 163, 164, 166, 167, 1242, 1530, 1028, 303, 169, 174,
+ 179, -546, -546, 185, 191, -546, 111, 644, -546, 780,
+ 780, -546, 780, 1414, -546, -546, -546, -546, -546, -546,
+ -546, -546, -546, -546, 1454, -546, -546, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
+ -546, 1454, 30, 48, -546, 644, -21, 197, 199, 203,
+ 204, 205, 206, 644, 644, 313, 1414, 1454, 1454, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
+ -546, 201, -546, -546, -546, 201, 185, 185, 320, 207,
+ 208, 1359, 1359, 1359, 1359, 1359, -546, -546, -65, 1068,
+ -86, -546, -104, -546, 1359, 1359, 1359, -20, -546, 1261,
+ -546, -546, -546, -546, -546, -546, -546, -546, 273, 1359,
+ -546, -546, -546, -546, 217, -546, 218, 780, 644, 644,
+ 8, -546, 11, -546, -546, 780, 221, 1454, 1454, 1454,
+ 1454, 1454, 227, 234, 1454, 780, 644, 235, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, 1454, 1359, 1359,
+ -546, 247, 258, 263, 265, 1359, -546, 259, 803, -101,
+ -546, -546, 269, 270, 344, 398, 419, -546, 185, -546,
+ -7, 276, 275, -546, 404, -76, 412, 413, 282, 288,
+ 292, 780, 440, 780, 297, 300, 780, 302, -7, -546,
+ 304, 308, 780, 780, -7, 306, 310, 1454, -35, 311,
+ 314, -73, 1359, 1359, 1359, 1359, -546, -546, 315, 1359,
+ 1359, 1454, -546, -546, -546, 298, 1301, -546, 319, -546,
+ 780, 780, 1570, 780, 780, 310, -546, 310, 1454, 780,
+ 322, 1454, 1454, 1454, -546, -546, 1570, 399, -546, 644,
+ -546, 1359, 1359, -546, 323, 316, 325, 327, -546, 324,
+ 326, 60, -546, -546, -546, -7, 3, 460, 334, 330,
+ 82, -7, -13, -546, -546, -546, -546, -546, 332, 780,
+ -546, -546, -546, 12, 310, 336, 337, 1359, -546, 1359,
+ 1359, -546, -546, -546, 298, -546, 438, -546, 475, -4,
+ 493, 493, 1610, -546, -546, 338, -546, -546, -546, -546,
+ 342, 345, 346, -546, 501, -546, 780, -546, 940, 2,
+ 354, 355, -546, -546, 82, -7, 72, -546, 201, -546,
+ -546, -546, -546, -546, 359, -546, 940, 132, 132, 493,
+ 493, 492, 494, 361, -546, -546, 780, 780, 497, 132,
+ 132, 450, -546, 780, 505, -546, 780, -546
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -549, 383, 384, 385, 272, 277, -170, -549, 0, -24,
- 429, 8, -549, -549, -549, -549, 42, -549, -549, -549,
- -160, -549, -421, -549, -228, -549, -293, 11, -549, -310,
- -549, -549, -26, 341, -121, -549, 418, 425, -61, -157,
- -226, 9, 205, 326, -549, -549, 515, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, 446, -549,
- -549, -549, -549, -549, -549, -548, -69, 121, -173, -549,
- 491, -549, -549, -549, -549, -549, 67, 158, -549, -549,
- -549, -549
+ -546, 394, 395, 396, 280, 283, -170, -546, 0, -16,
+ 444, 15, -546, -546, -546, -546, -1, -546, -546, -546,
+ -157, -546, -418, -546, -229, -546, -292, 23, -546, -307,
+ -546, -546, -26, 305, -120, -546, 429, 436, -59, -156,
+ -235, 126, 168, 307, -546, -546, 526, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, 456, -546,
+ -546, -546, -546, -546, -546, -545, -142, 108, -186, -546,
+ 490, -546, -546, -546, -546, -546, 51, 138, -546, -546,
+ -546, -546
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -2188,362 +2166,374 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -204
static const yytype_int16 yytable[] =
{
- 11, 81, 272, 261, 335, 163, 104, 90, 13, 475,
- 383, 164, 271, 273, 271, 93, 1, 11, 441, 3,
- 582, 5, 304, 425, 142, 13, 405, 406, 24, 350,
- 352, 26, 319, 320, 21, 143, 589, 308, 309, 310,
- 311, 312, 426, 142, 315, 443, 117, 118, 22, 321,
- 322, 108, 323, 324, 230, 325, 326, 327, 161, 316,
- 442, 63, 64, 25, 106, 66, 67, 68, 69, 70,
- 71, 72, 425, 1, 2, 134, 3, 4, 5, 108,
- 27, 236, 83, 84, 233, 134, 415, 442, 28, 88,
- 149, 262, 11, 133, 544, 89, 269, 421, 415, 415,
- 149, 415, 270, 73, -55, -55, -55, -55, 420, 468,
- 479, 43, 227, 228, 319, 320, 231, 110, 474, 111,
- 234, 145, 146, 419, 587, 333, 131, 237, 238, 570,
- 571, 321, 322, 132, 323, 324, 57, 325, 326, 327,
- 415, 58, 165, 435, 267, 397, 94, 416, 110, 45,
- 111, 46, 377, 1, 332, 61, 3, 567, 5, 583,
- 90, 105, 488, 498, 590, 591, 503, 302, 303, 267,
- 305, 264, 398, 399, 400, 59, 110, 401, 111, 97,
- 385, 402, 403, 306, 267, 267, 267, 267, 267, 313,
- 314, 267, 525, 552, 526, 395, 98, 553, 372, 134,
- 372, 372, 552, 372, 99, 74, 556, 2, 75, 149,
- 4, 76, 101, 77, 447, 86, 449, 450, 451, 102,
- 398, 399, 400, 317, 318, 401, 49, 50, 51, 402,
- 403, 52, 239, 240, 241, 242, 372, 103, 63, 64,
- 110, 557, 111, 500, 372, 372, 85, 149, 86, 516,
- 1, 2, 138, 3, 4, 5, 380, 110, 378, 111,
- 139, 261, 382, 110, 162, 111, 29, 30, 31, 32,
- 33, 34, 35, 223, 36, 379, 110, 225, 111, 543,
- 410, 411, 412, 413, 414, 37, 38, 39, 112, 113,
- 149, 396, 267, 422, 423, 424, 398, 399, 400, 226,
- 110, 401, 111, 229, 232, 402, 403, 235, 372, 372,
- 372, 114, -56, 115, -57, 527, 372, -60, 530, 531,
- 532, -59, -203, 418, -58, 574, 372, 372, 576, 243,
- 265, 334, 271, 430, 120, 121, 122, 123, 124, 125,
- -67, 1, 2, 341, 3, 4, 5, 459, 460, 262,
- 342, 343, 6, 7, 466, 344, 345, 353, 354, 355,
- 356, 267, 448, 267, 267, 267, 357, 386, 454, 37,
- 38, 39, 372, 8, 372, 359, 9, 372, 394, 568,
- 10, 458, 407, 372, 372, 387, 388, 389, 390, 391,
- 374, 375, 433, 376, 408, 409, 436, 437, 446, 584,
- 471, 504, 505, 506, 507, 452, 453, 457, 509, 510,
- 462, 372, 372, 463, 372, 372, 464, 465, 472, 469,
- 372, 467, 470, 473, 477, 476, 384, 478, 480, 481,
- 372, 499, 482, 483, 392, 393, 484, 486, 488, 489,
- 535, 536, 491, 492, 493, 511, 497, 501, 496, 502,
- 515, 372, 372, 517, 442, 529, 521, 508, 537, 547,
- 372, 549, 267, 538, -202, 267, 267, 267, 539, 541,
- 521, 542, 540, 548, 564, 512, 560, 566, 561, 562,
- 558, 554, -67, 1, 2, 559, 3, 4, 5, 577,
- 575, 578, 579, 580, 6, 7, 588, 372, 438, 439,
- 440, 592, 593, 372, 372, 594, 445, 285, 286, 597,
- 598, 600, 215, 216, 217, 8, 455, 456, 9, 339,
- 563, 129, 10, 372, 372, 340, 573, 545, 372, 144,
- 141, 372, 44, 63, 64, 128, 106, 66, 67, 68,
- 69, 70, 71, 72, 512, 1, 2, 96, 3, 4,
- 5, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 338, 485, 533, 487, 0, 330, 490, 461, 0,
- 0, 0, 0, 494, 495, 73, 0, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 518, 519, 0, 523, 524, 0, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 534, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 550, 551, 0, 0, 0, 0, 0, 0, 0,
- 555, 0, 360, 361, 0, 0, 63, 64, 362, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
- 0, 3, 4, 5, 363, 364, 365, 74, 0, 0,
- 75, 0, 0, 76, 0, 77, 107, 581, 0, 366,
- 367, 0, 0, 585, 586, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 368, 0, 0, 0,
- 0, 0, 0, 595, 596, 0, 0, 0, 599, 0,
- 0, 601, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 247, 248, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 249, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 0, 250, 0,
- 251, 252, 253, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 63, 64, 362, 0, 0, 0, 0, 110,
- 0, 111, 0, 0, 1, 2, 369, 3, 4, 5,
- 363, 364, 365, 0, 0, 63, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 1, 2, 0,
- 3, 4, 5, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 368, 0, 0, 0, 0, 0, 245, 246,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
- 0, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 247, 248, 0, 0,
- 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
- 0, 0, 0, 249, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 0, 250, 0, 251,
- 252, 253, 369, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 0, 0, 362, 0, 0, 0, 110, 0,
- 111, 0, 254, 0, 0, 255, 0, 256, 0, 257,
- 363, 364, 365, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 0, 0, 0,
+ 11, 81, 272, 335, 261, 104, 163, 271, 236, 304,
+ 164, 383, 475, 271, 425, 13, 273, 11, 262, 441,
+ 350, 352, 443, 584, 308, 309, 310, 311, 312, 405,
+ 406, 315, 13, 426, 90, 21, 45, 425, 46, 83,
+ 84, 593, 93, 142, 142, 415, 88, -203, 415, 22,
+ 131, 108, 89, 24, 143, 230, 421, 132, 26, 468,
+ 161, 442, 316, 415, 442, -67, 1, 2, 269, 3,
+ 4, 5, 420, 415, 270, 134, 488, 6, 7, 108,
+ 503, 110, 479, 111, 415, 134, 233, 117, 118, 333,
+ 149, 416, 11, 110, 85, 111, 86, 544, 8, 332,
+ 149, 9, 550, 551, 27, 10, 49, 50, 51, 25,
+ 591, 52, 227, 228, 419, 110, 231, 111, 500, 1,
+ 234, 474, 3, 2, 5, 372, 4, 372, 372, 110,
+ 372, 111, 397, 385, 435, 43, 552, 398, 399, 400,
+ 553, 165, 401, 110, 267, 111, 402, 403, 239, 240,
+ 241, 242, 567, 377, 587, 588, 589, 590, 585, 59,
+ 105, 552, 28, 372, 498, 556, 57, 302, 303, 267,
+ 305, 372, 372, 94, 317, 318, 599, 600, 264, 380,
+ 110, 58, 111, 306, 267, 267, 267, 267, 267, 313,
+ 314, 267, 114, 525, 115, 526, 395, 382, 110, 134,
+ 111, 447, 61, 449, 450, 451, 398, 399, 400, 149,
+ 110, 401, 111, 543, 90, 402, 403, -55, -55, -55,
+ -55, 37, 38, 39, 97, 29, 30, 31, 32, 33,
+ 34, 35, -139, 36, -139, 372, 372, 372, 145, 146,
+ 237, 238, 557, 372, 63, 64, 98, 149, 516, 319,
+ 320, 112, 113, 372, 372, 99, 1, 2, 378, 3,
+ 4, 5, 261, 101, 102, 103, 321, 322, 86, 323,
+ 324, 138, 325, 326, 327, 379, 262, 139, 162, 223,
+ 225, 226, 410, 411, 412, 413, 414, 229, -56, 232,
+ 149, 396, 267, 235, -57, 422, 423, 424, -60, 372,
+ -59, 372, 527, -58, 372, 530, 531, 532, 243, 265,
+ 372, 372, 271, 334, 341, 342, 343, 1, 344, 345,
+ 3, 354, 5, 418, 576, 353, 355, 578, 37, 38,
+ 39, 356, 433, 430, 357, 398, 399, 400, 372, 372,
+ 401, 372, 372, 359, 402, 403, 386, 372, 387, 459,
+ 460, 394, 388, 389, 390, 391, 466, 372, 407, 408,
+ 409, 267, 448, 267, 267, 267, 436, 437, 454, 120,
+ 121, 122, 123, 124, 125, 446, 452, 374, 375, 568,
+ 376, 458, 471, 453, 457, 63, 64, 372, 106, 66,
+ 67, 68, 69, 70, 71, 72, 462, 1, 2, 586,
+ 3, 4, 5, 504, 505, 506, 507, 463, 372, 372,
+ 509, 510, 464, 384, 465, 319, 320, 467, 469, 470,
+ 472, 392, 393, 473, 372, 476, 478, 73, 477, 480,
+ 481, 499, 321, 322, 482, 323, 324, 483, 325, 326,
+ 327, 484, 535, 536, 486, 511, 488, 372, 372, 489,
+ 515, 491, 442, 492, 372, 372, 521, 493, 496, 497,
+ 501, 372, 267, 502, 372, 267, 267, 267, 517, 538,
+ 521, 529, 537, 508, 539, 512, 540, 541, 560, 542,
+ 561, 562, 547, 548, 549, 438, 439, 440, 554, 558,
+ 559, 564, 566, 445, 577, 579, 360, 361, 580, 581,