Start a new scope for conditional statements even when there are no curly…

Start a new scope for conditional statements even when there are no curly brackets. Also fix the DO WHILE grammar. TRAC #20052 ISSUE=252,255 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1001 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 05bc204e
...@@ -141,7 +141,7 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -141,7 +141,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%type <interm.intermNode> declaration external_declaration %type <interm.intermNode> declaration external_declaration
%type <interm.intermNode> for_init_statement compound_statement_no_new_scope %type <interm.intermNode> for_init_statement compound_statement_no_new_scope
%type <interm.nodePair> selection_rest_statement for_rest_statement %type <interm.nodePair> selection_rest_statement for_rest_statement
%type <interm.intermNode> iteration_statement jump_statement statement_no_new_scope %type <interm.intermNode> iteration_statement jump_statement statement_no_new_scope statement_with_scope
%type <interm> single_declaration init_declarator_list %type <interm> single_declaration init_declarator_list
%type <interm> parameter_declaration parameter_declarator parameter_type_specifier %type <interm> parameter_declaration parameter_declarator parameter_type_specifier
...@@ -1812,6 +1812,11 @@ statement_no_new_scope ...@@ -1812,6 +1812,11 @@ statement_no_new_scope
| simple_statement { $$ = $1; } | simple_statement { $$ = $1; }
; ;
statement_with_scope
: { context->symbolTable.push(); } compound_statement_no_new_scope { context->symbolTable.pop(); $$ = $2; }
| { context->symbolTable.push(); } simple_statement { context->symbolTable.pop(); $$ = $2; }
;
compound_statement_no_new_scope compound_statement_no_new_scope
// Statement that doesn't create a new scope, for selection_statement, iteration_statement // Statement that doesn't create a new scope, for selection_statement, iteration_statement
: LEFT_BRACE RIGHT_BRACE { : LEFT_BRACE RIGHT_BRACE {
...@@ -1849,11 +1854,11 @@ selection_statement ...@@ -1849,11 +1854,11 @@ selection_statement
; ;
selection_rest_statement selection_rest_statement
: statement ELSE statement { : statement_with_scope ELSE statement_with_scope {
$$.node1 = $1; $$.node1 = $1;
$$.node2 = $3; $$.node2 = $3;
} }
| statement { | statement_with_scope {
$$.node1 = $1; $$.node1 = $1;
$$.node2 = 0; $$.node2 = 0;
} }
...@@ -1890,7 +1895,7 @@ iteration_statement ...@@ -1890,7 +1895,7 @@ iteration_statement
$$ = context->intermediate.addLoop(ELoopWhile, 0, $4, 0, $6, $1.line); $$ = context->intermediate.addLoop(ELoopWhile, 0, $4, 0, $6, $1.line);
--context->loopNestingLevel; --context->loopNestingLevel;
} }
| DO { ++context->loopNestingLevel; } statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON { | DO { ++context->loopNestingLevel; } statement_with_scope WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON {
if (context->boolErrorCheck($8.line, $6)) if (context->boolErrorCheck($8.line, $6))
context->recover(); context->recover();
......
...@@ -505,16 +505,16 @@ union yyalloc ...@@ -505,16 +505,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 71 #define YYFINAL 71
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1370 #define YYLAST 1416
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96 #define YYNTOKENS 96
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 80 #define YYNNTS 83
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 197 #define YYNRULES 201
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 300 #define YYNSTATES 304
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
...@@ -585,16 +585,17 @@ static const yytype_uint16 yyprhs[] = ...@@ -585,16 +585,17 @@ static const yytype_uint16 yyprhs[] =
368, 370, 372, 374, 376, 378, 380, 382, 384, 385, 368, 370, 372, 374, 376, 378, 380, 382, 384, 385,
392, 393, 399, 401, 404, 408, 410, 414, 416, 421, 392, 393, 399, 401, 404, 408, 410, 414, 416, 421,
423, 425, 427, 429, 431, 433, 435, 437, 439, 442, 423, 425, 427, 429, 431, 433, 435, 437, 439, 442,
443, 444, 450, 452, 454, 457, 461, 463, 466, 468, 443, 444, 450, 452, 454, 455, 458, 459, 462, 465,
471, 477, 481, 483, 485, 490, 491, 498, 499, 508, 469, 471, 474, 476, 479, 485, 489, 491, 493, 498,
509, 517, 519, 521, 523, 524, 527, 531, 534, 537, 499, 506, 507, 516, 517, 525, 527, 529, 531, 532,
540, 544, 547, 549, 552, 554, 556, 557 535, 539, 542, 545, 548, 552, 555, 557, 560, 562,
564, 565
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] = static const yytype_int16 yyrhs[] =
{ {
172, 0, -1, 45, -1, 97, -1, 48, -1, 47, 175, 0, -1, 45, -1, 97, -1, 48, -1, 47,
-1, 49, -1, 72, 124, 73, -1, 98, -1, 99, -1, 49, -1, 72, 124, 73, -1, 98, -1, 99,
74, 100, 75, -1, 101, -1, 99, 78, 50, -1, 74, 100, 75, -1, 101, -1, 99, 78, 50, -1,
99, 53, -1, 99, 54, -1, 124, -1, 102, -1, 99, 53, -1, 99, 54, -1, 124, -1, 102, -1,
...@@ -637,20 +638,20 @@ static const yytype_int16 yyrhs[] = ...@@ -637,20 +638,20 @@ static const yytype_int16 yyrhs[] =
-1, 146, 147, -1, 139, 148, 82, -1, 149, -1, -1, 146, 147, -1, 139, 148, 82, -1, 149, -1,
148, 79, 149, -1, 45, -1, 45, 74, 125, 75, 148, 79, 149, -1, 45, -1, 45, 74, 125, 75,
-1, 122, -1, 126, -1, 154, -1, 153, -1, 151, -1, 122, -1, 126, -1, 154, -1, 153, -1, 151,
-1, 160, -1, 161, -1, 164, -1, 171, -1, 76, -1, 163, -1, 164, -1, 167, -1, 174, -1, 76,
77, -1, -1, -1, 76, 155, 159, 156, 77, -1, 77, -1, -1, -1, 76, 155, 162, 156, 77, -1,
158, -1, 153, -1, 76, 77, -1, 76, 159, 77, 161, -1, 153, -1, -1, 159, 161, -1, -1, 160,
-1, 152, -1, 159, 152, -1, 82, -1, 124, 82, 153, -1, 76, 77, -1, 76, 162, 77, -1, 152,
-1, 18, 72, 124, 73, 162, -1, 152, 16, 152, -1, 162, 152, -1, 82, -1, 124, 82, -1, 18,
-1, 152, -1, 124, -1, 137, 45, 81, 150, -1, 72, 124, 73, 165, -1, 158, 16, 158, -1, 158,
-1, 40, 72, 165, 163, 73, 157, -1, -1, 15, -1, 124, -1, 137, 45, 81, 150, -1, -1, 40,
166, 152, 40, 72, 124, 73, 82, -1, -1, 17, 72, 168, 166, 73, 157, -1, -1, 15, 169, 158,
72, 167, 168, 170, 73, 157, -1, 160, -1, 151, 40, 72, 124, 73, 82, -1, -1, 17, 72, 170,
-1, 163, -1, -1, 169, 82, -1, 169, 82, 124, 171, 173, 73, 157, -1, 163, -1, 151, -1, 166,
-1, 14, 82, -1, 13, 82, -1, 20, 82, -1, -1, -1, 172, 82, -1, 172, 82, 124, -1, 14,
20, 124, 82, -1, 19, 82, -1, 173, -1, 172, 82, -1, 13, 82, -1, 20, 82, -1, 20, 124,
173, -1, 174, -1, 126, -1, -1, 127, 175, 158, 82, -1, 19, 82, -1, 176, -1, 175, 176, -1,
-1 177, -1, 126, -1, -1, 127, 178, 161, -1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
...@@ -672,10 +673,11 @@ static const yytype_uint16 yyrline[] = ...@@ -672,10 +673,11 @@ static const yytype_uint16 yyrline[] =
1608, 1614, 1620, 1625, 1630, 1639, 1648, 1653, 1666, 1666, 1608, 1614, 1620, 1625, 1630, 1639, 1648, 1653, 1666, 1666,
1680, 1680, 1689, 1692, 1707, 1743, 1747, 1753, 1761, 1777, 1680, 1680, 1689, 1692, 1707, 1743, 1747, 1753, 1761, 1777,
1781, 1785, 1786, 1792, 1793, 1794, 1795, 1796, 1800, 1801, 1781, 1785, 1786, 1792, 1793, 1794, 1795, 1796, 1800, 1801,
1801, 1801, 1811, 1812, 1817, 1820, 1830, 1833, 1839, 1840, 1801, 1801, 1811, 1812, 1816, 1816, 1817, 1817, 1822, 1825,
1844, 1852, 1856, 1866, 1871, 1888, 1888, 1893, 1893, 1900, 1835, 1838, 1844, 1845, 1849, 1857, 1861, 1871, 1876, 1893,
1900, 1908, 1911, 1917, 1920, 1926, 1930, 1937, 1944, 1951, 1893, 1898, 1898, 1905, 1905, 1913, 1916, 1922, 1925, 1931,
1958, 1969, 1978, 1982, 1989, 1992, 1998, 1998 1935, 1942, 1949, 1956, 1963, 1974, 1983, 1987, 1994, 1997,
2003, 2003
}; };
#endif #endif
...@@ -723,12 +725,12 @@ static const char *const yytname[] = ...@@ -723,12 +725,12 @@ static const char *const yytname[] =
"struct_declarator_list", "struct_declarator", "initializer", "struct_declarator_list", "struct_declarator", "initializer",
"declaration_statement", "statement", "simple_statement", "declaration_statement", "statement", "simple_statement",
"compound_statement", "$@3", "$@4", "statement_no_new_scope", "compound_statement", "$@3", "$@4", "statement_no_new_scope",
"compound_statement_no_new_scope", "statement_list", "statement_with_scope", "$@5", "$@6", "compound_statement_no_new_scope",
"expression_statement", "selection_statement", "statement_list", "expression_statement", "selection_statement",
"selection_rest_statement", "condition", "iteration_statement", "$@5", "selection_rest_statement", "condition", "iteration_statement", "$@7",
"$@6", "$@7", "for_init_statement", "conditionopt", "for_rest_statement", "$@8", "$@9", "for_init_statement", "conditionopt", "for_rest_statement",
"jump_statement", "translation_unit", "external_declaration", "jump_statement", "translation_unit", "external_declaration",
"function_definition", "$@8", 0 "function_definition", "$@10", 0
}; };
#endif #endif
...@@ -769,10 +771,11 @@ static const yytype_uint8 yyr1[] = ...@@ -769,10 +771,11 @@ static const yytype_uint8 yyr1[] =
142, 142, 142, 142, 142, 142, 142, 142, 144, 143, 142, 142, 142, 142, 142, 142, 142, 142, 144, 143,
145, 143, 146, 146, 147, 148, 148, 149, 149, 150, 145, 143, 146, 146, 147, 148, 148, 149, 149, 150,
151, 152, 152, 153, 153, 153, 153, 153, 154, 155, 151, 152, 152, 153, 153, 153, 153, 153, 154, 155,
156, 154, 157, 157, 158, 158, 159, 159, 160, 160, 156, 154, 157, 157, 159, 158, 160, 158, 161, 161,
161, 162, 162, 163, 163, 165, 164, 166, 164, 167, 162, 162, 163, 163, 164, 165, 165, 166, 166, 168,
164, 168, 168, 169, 169, 170, 170, 171, 171, 171, 167, 169, 167, 170, 167, 171, 171, 172, 172, 173,
171, 171, 172, 172, 173, 173, 175, 174 173, 174, 174, 174, 174, 174, 175, 175, 176, 176,
178, 177
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...@@ -794,10 +797,11 @@ static const yytype_uint8 yyr2[] = ...@@ -794,10 +797,11 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
0, 5, 1, 2, 3, 1, 3, 1, 4, 1, 0, 5, 1, 2, 3, 1, 3, 1, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
0, 5, 1, 1, 2, 3, 1, 2, 1, 2, 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
5, 3, 1, 1, 4, 0, 6, 0, 8, 0, 1, 2, 1, 2, 5, 3, 1, 1, 4, 0,
7, 1, 1, 1, 0, 2, 3, 2, 2, 2, 6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
3, 2, 1, 2, 1, 1, 0, 3 3, 2, 2, 2, 3, 2, 1, 2, 1, 1,
0, 3
}; };
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
...@@ -808,33 +812,34 @@ static const yytype_uint8 yydefact[] = ...@@ -808,33 +812,34 @@ static const yytype_uint8 yydefact[] =
0, 0, 111, 112, 113, 0, 105, 104, 119, 117, 0, 0, 111, 112, 113, 0, 105, 104, 119, 117,
118, 123, 124, 125, 126, 127, 128, 120, 121, 122, 118, 123, 124, 125, 126, 127, 128, 120, 121, 122,
129, 130, 131, 108, 106, 0, 116, 132, 133, 134, 129, 130, 131, 108, 106, 0, 116, 132, 133, 134,
135, 137, 195, 196, 0, 76, 86, 0, 91, 96, 135, 137, 199, 200, 0, 76, 86, 0, 91, 96,
0, 102, 0, 109, 114, 136, 0, 192, 194, 107, 0, 102, 0, 109, 114, 136, 0, 196, 198, 107,
101, 0, 0, 140, 71, 0, 74, 86, 0, 87, 101, 0, 0, 140, 71, 0, 74, 86, 0, 87,
88, 89, 77, 0, 86, 0, 72, 97, 103, 110, 88, 89, 77, 0, 86, 0, 72, 97, 103, 110,
0, 1, 193, 0, 138, 0, 0, 197, 78, 83, 0, 1, 197, 0, 138, 0, 0, 201, 78, 83,
85, 90, 0, 92, 79, 0, 0, 2, 5, 4, 85, 90, 0, 92, 79, 0, 0, 2, 5, 4,
6, 27, 0, 0, 0, 34, 33, 32, 3, 8, 6, 27, 0, 0, 0, 34, 33, 32, 3, 8,
28, 10, 15, 16, 0, 0, 21, 0, 35, 0, 28, 10, 15, 16, 0, 0, 21, 0, 35, 0,
38, 41, 42, 47, 50, 51, 52, 53, 55, 57, 38, 41, 42, 47, 50, 51, 52, 53, 55, 57,
59, 70, 0, 25, 73, 0, 0, 0, 142, 0, 59, 70, 0, 25, 73, 0, 0, 0, 142, 0,
0, 177, 0, 0, 0, 0, 0, 159, 164, 168, 0, 181, 0, 0, 0, 0, 0, 159, 168, 172,
35, 61, 68, 0, 150, 0, 114, 153, 166, 152, 35, 61, 68, 0, 150, 0, 114, 153, 170, 152,
151, 0, 154, 155, 156, 157, 80, 82, 84, 0, 151, 0, 154, 155, 156, 157, 80, 82, 84, 0,
0, 98, 0, 149, 100, 29, 30, 0, 12, 13, 0, 98, 0, 149, 100, 29, 30, 0, 12, 13,
0, 0, 19, 18, 0, 20, 22, 24, 31, 0, 0, 0, 19, 18, 0, 20, 22, 24, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 115, 0, 147, 0, 145, 141, 143, 0, 0, 0, 115, 0, 147, 0, 145, 141, 143,
188, 187, 0, 179, 0, 191, 189, 0, 175, 158, 192, 191, 166, 183, 0, 195, 193, 0, 179, 158,
0, 64, 65, 66, 67, 63, 0, 0, 169, 165, 0, 64, 65, 66, 67, 63, 0, 0, 173, 169,
167, 0, 93, 0, 95, 99, 7, 0, 14, 26, 171, 0, 93, 0, 95, 99, 7, 0, 14, 26,
11, 17, 23, 36, 37, 40, 39, 45, 46, 43, 11, 17, 23, 36, 37, 40, 39, 45, 46, 43,
44, 48, 49, 54, 56, 58, 0, 139, 0, 0, 44, 48, 49, 54, 56, 58, 0, 139, 0, 0,
144, 0, 0, 0, 190, 0, 160, 62, 69, 0, 144, 0, 0, 0, 0, 0, 194, 0, 160, 62,
94, 9, 0, 0, 146, 0, 182, 181, 184, 0, 69, 0, 94, 9, 0, 0, 146, 0, 165, 167,
173, 0, 0, 0, 81, 60, 148, 0, 183, 0, 186, 185, 188, 166, 177, 0, 0, 0, 81, 60,
0, 172, 170, 0, 0, 161, 0, 185, 0, 0, 148, 0, 187, 0, 0, 176, 174, 0, 0, 161,
0, 163, 176, 162, 0, 186, 180, 171, 174, 178 0, 189, 0, 166, 0, 163, 180, 162, 0, 190,
184, 175, 178, 182
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
...@@ -846,347 +851,358 @@ static const yytype_int16 yydefgoto[] = ...@@ -846,347 +851,358 @@ static const yytype_int16 yydefgoto[] =
144, 145, 34, 35, 36, 79, 62, 63, 80, 37, 144, 145, 34, 35, 36, 79, 62, 63, 80, 37,
38, 39, 40, 41, 42, 43, 123, 45, 125, 75, 38, 39, 40, 41, 42, 43, 123, 45, 125, 75,
127, 128, 196, 197, 164, 147, 148, 149, 150, 210, 127, 128, 196, 197, 164, 147, 148, 149, 150, 210,
273, 292, 293, 151, 152, 153, 282, 272, 154, 255, 277, 296, 251, 252, 253, 297, 151, 152, 153, 286,
202, 252, 268, 279, 280, 155, 46, 47, 48, 55 276, 154, 257, 202, 254, 272, 283, 284, 155, 46,
47, 48, 55
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -251 #define YYPACT_NINF -266
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
1250, -17, -251, -251, -251, 113, -251, -251, -251, -251, 1253, -20, -266, -266, -266, 148, -266, -266, -266, -266,
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-251, -251, -251, -251, -251, -39, -251, -251, -251, -251, -266, -266, -266, -266, -266, -39, -266, -266, -266, -266,
-251, -251, -251, -65, -34, -10, 21, -32, -251, 28, -266, -266, -266, -18, -2, 6, 21, -61, -266, 51,
207, -251, 1324, -251, 56, -251, 1206, -251, -251, -251, 1296, -266, 1370, -266, 25, -266, 1209, -266, -266, -266,
-251, 1324, 74, -251, -251, 86, -251, 71, 95, -251, -266, 1370, 42, -266, -266, 50, -266, 71, 95, -266,
-251, -251, -251, 207, 119, 120, -251, -56, -251, -251, -266, -266, -266, 1296, 123, 105, -266, 9, -266, -266,
971, -251, -251, 84, -251, 207, 287, -251, -251, -251, 974, -266, -266, 81, -266, 1296, 290, -266, -266, -266,
-251, 124, 207, -59, -251, 773, 971, 98, -251, -251, -266, 125, 1296, -13, -266, 776, 974, 99, -266, -266,
-251, -251, 971, 971, 971, -251, -251, -251, -251, -251, -266, -266, 974, 974, 974, -266, -266, -266, -266, -266,
35, -251, -251, -251, 100, -9, 1037, 102, -251, 971, 35, -266, -266, -266, 100, -6, 1040, 104, -266, 974,
-27, -1, -251, -24, 99, -251, -251, -251, 112, 111, 36, -64, -266, -21, 102, -266, -266, -266, 113, 117,
-51, -251, 103, -251, -251, 207, 135, 1106, -251, 101, -51, -266, 108, -266, -266, 1296, 129, 1109, -266, 97,
104, -251, 109, 115, 106, 839, 117, 107, -251, -251, 103, -266, 112, 114, 106, 842, 115, 116, -266, -266,
39, -251, -251, -11, -251, -65, 54, -251, -251, -251, 39, -266, -266, -43, -266, -18, 47, -266, -266, -266,
-251, 371, -251, -251, -251, -251, 116, -251, -251, 905, -266, 374, -266, -266, -266, -266, 118, -266, -266, 908,
971, -251, 118, -251, -251, -251, -251, 8, -251, -251, 974, -266, 120, -266, -266, -266, -266, 19, -266, -266,
971, 1287, -251, -251, 971, 125, -251, -251, -251, 971, 974, 1333, -266, -266, 974, 119, -266, -266, -266, 974,
971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
971, 971, 971, -251, 1149, 122, 17, -251, -251, -251, 974, 974, 974, -266, 1152, 122, -29, -266, -266, -266,
-251, -251, 455, -251, 971, -251, -251, 32, -251, -251, -266, -266, 121, -266, 974, -266, -266, 5, -266, -266,
455, -251, -251, -251, -251, -251, 971, 971, -251, -251, 458, -266, -266, -266, -266, -266, 974, 974, -266, -266,
-251, 971, -251, 123, -251, -251, -251, 126, 121, -251, -266, 974, -266, 137, -266, -266, -266, 138, 111, -266,
127, -251, -251, -251, -251, -27, -27, -251, -251, -251, 142, -266, -266, -266, -266, 36, 36, -266, -266, -266,
-251, -24, -24, -251, 112, 111, 79, -251, 971, 135, -266, -21, -21, -266, 113, 117, 82, -266, 974, 129,
-251, 151, 623, 11, -251, 707, 455, -251, -251, 128, -266, 175, 50, 626, 710, 38, -266, 197, 458, -266,
-251, -251, 971, 130, -251, 134, -251, -251, 707, 455, -266, 141, -266, -266, 974, 155, -266, 145, -266, -266,
121, 147, 136, 131, -251, -251, -251, 971, -251, 132, -266, -266, 197, 121, 111, 186, 159, 160, -266, -266,
142, 200, -251, 139, 539, -251, 19, 971, 539, 455, -266, 974, -266, 166, 176, 236, -266, 174, 542, -266,
971, -251, -251, -251, 140, 121, -251, -251, -251, -251 43, 974, 542, 121, 974, -266, -266, -266, 177, 111,
-266, -266, -266, -266
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-251, -251, -251, -251, -251, -251, -251, 50, -251, -251, -266, -266, -266, -266, -266, -266, -266, 85, -266, -266,
-251, -251, -44, -251, -21, -251, -62, -20, -251, -251, -266, -266, -44, -266, -15, -266, -55, -19, -266, -266,
-251, 34, 36, 33, -251, -66, -83, -251, -92, -73, -266, 72, 70, 73, -266, -66, -83, -266, -92, -73,
7, 13, -251, -251, -251, 143, 170, 176, 159, -251, 13, 14, -266, -266, -266, 180, 206, 201, 184, -266,
-251, -247, -22, -30, 237, -15, 0, -251, -251, -251, -266, -241, -25, -30, 262, -4, 0, -266, -266, -266,
129, -122, -251, -6, -159, -8, -140, -250, -251, -251, 143, -122, -266, 22, -145, 16, -144, -226, -266, -266,
-251, -41, 202, 48, 9, -251, -251, -5, -251, -251, -266, -17, -265, -266, -266, -54, 63, 20, -266, -266,
-251, -251, -251, -251, -251, -251, -251, 213, -251, -251 4, -266, -266, -266, -266, -266, -266, -266, -266, -266,
231, -266, -266
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says. number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */ If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -117 #define YYTABLE_NINF -165
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
44, 224, 167, 163, 121, 199, 52, 32, 271, 191, 44, 77, 167, 163, 121, 199, 52, 220, 285, 191,
68, 220, 162, 33, 64, 159, 84, 54, 85, 121, 68, 64, 162, 32, 33, 224, 275, 49, 65, 121,
49, 271, 160, 176, 58, 86, 108, 69, 50, 6, 181, 66, 182, 176, 58, 50, 108, 269, 301, 6,
7, 183, 184, 81, 291, 64, 73, 53, 291, 56, 7, 275, 64, 81, 183, 184, 217, 53, 69, 218,
44, 108, 44, 207, 192, 126, 44, 65, 165, 166, 44, 108, 44, 207, 192, 126, 44, 73, 165, 166,
66, 44, 81, 32, 59, 60, 61, 23, 24, 33, 249, 44, 81, 250, 59, 60, 61, 23, 24, 32,
179, 180, 251, 44, 173, 178, 185, 186, 217, 57, 33, 159, 295, 44, 54, 178, 295, 173, 160, 185,
174, 218, 199, 67, 58, 44, 146, 163, 228, 6, 186, 56, 199, 174, 58, 44, 146, 163, 228, 6,
7, 226, 44, 181, 269, 182, 223, 217, 168, 169, 7, 84, 44, 85, 217, 57, 223, 256, 168, 169,
217, 232, 294, 121, -75, 126, 249, 126, 217, 250, 86, 232, 226, 121, -75, 126, 67, 126, 217, 70,
246, 211, 212, 213, 59, 60, 61, 23, 24, 170, 246, 211, 212, 213, 59, 60, 61, 23, 24, 170,
214, 217, 253, 171, 254, 108, 220, 2, 3, 4, 214, 273, 255, 171, 220, 108, 298, 217, 74, -25,
215, 237, 238, 239, 240, 44, -25, 44, 70, 281, 215, 70, 217, 179, 180, 44, 76, 44, 237, 238,
70, 298, 49, 257, 258, 233, 234, 108, 108, 108, 239, 240, 49, 259, 260, 233, 234, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108, 259, 297, 108, 108, 108, 108, 108, 108, 108, 108, 261, 302,
74, 146, 59, 60, 61, 121, 187, 188, 217, 262, 83, 146, 2, 3, 4, 121, 59, 60, 61, 187,
235, 236, 76, 270, 126, 83, 124, 241, 242, 156, 188, 217, 264, 124, 126, 274, 235, 236, 241, 242,
-26, 189, 190, 172, 177, 263, 270, 108, 193, 275, 156, -26, 189, 172, 195, 265, 177, 108, 190, 200,
195, 203, 121, 200, 209, 286, 201, 204, 205, 208, 274, 279, 121, 193, 203, 201, 204, 208, 205, 290,
221, 265, 283, 225, 44, 295, 248, -116, 260, -27, 217, -116, 221, 209, 44, 225, 248, -164, 268, 299,
217, 261, 146, 274, 108, 276, 277, 163, 285, 284, 58, 2, 3, 4, 108, 6, 7, 8, 9, 10,
146, 2, 3, 4, 287, 288, 289, 8, 9, 10, 146, 163, 262, 263, -27, 267, 278, 281, 11, 12,
290, 231, 299, 243, 245, 157, 244, 78, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
82, 158, 51, 264, 266, 25, 26, 296, 27, 28, 280, 287, 288, 23, 24, 25, 26, 289, 27, 28,
29, 30, 146, 31, 194, 146, 146, 77, 256, 72, 29, 30, 87, 31, 88, 89, 90, 91, 291, 292,
0, 267, 0, 278, 0, 0, 0, 0, 146, 146, 92, 93, 293, 146, 146, 294, 231, 146, 146, 303,
244, 243, 157, 78, 245, 82, 158, 51, 194, 94,
270, 266, 146, 258, 271, 300, 282, 72, 0, 0,
95, 96, 0, 97, 0, 0, 0, 0, 146, 0,
0, 0, 146, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 129, 130, 131, 0, 132, 133, 134,
135, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
136, 27, 28, 29, 30, 87, 31, 88, 89, 90,
91, 0, 0, 92, 93, 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,
0, 0, 0, 0, 146, 0, 0, 0, 146, 146, 0, 0, 94, 0, 0, 0, 137, 138, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 139, 95, 96, 0, 97, 1, 2, 3,
129, 130, 131, 0, 132, 133, 134, 135, 11, 12, 4, 5, 6, 7, 8, 9, 10, 129, 130, 131,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 132, 133, 134, 135, 11, 12, 13, 14, 15,
0, 0, 0, 23, 24, 25, 26, 136, 27, 28, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
29, 30, 87, 31, 88, 89, 90, 91, 0, 0, 23, 24, 25, 26, 136, 27, 28, 29, 30, 87,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
0, 0, 0, 137, 138, 0, 0, 0, 0, 139,
95, 96, 0, 97, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 129, 130, 131, 0, 132, 133,
134, 135, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 0, 0, 0, 23, 24, 25,
26, 136, 27, 28, 29, 30, 87, 31, 88, 89,
90, 91, 0, 0, 92, 93, 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, 0, 0, 94, 0, 0, 0, 137, 219, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
0, 0, 0, 139, 95, 96, 0, 97, 1, 2, 137, 219, 0, 0, 0, 0, 139, 95, 96, 0,
3, 4, 5, 6, 7, 8, 9, 10, 129, 130, 97, 1, 2, 3, 4, 5, 6, 7, 8, 9,
131, 0, 132, 133, 134, 135, 11, 12, 13, 14, 10, 129, 130, 131, 0, 132, 133, 134, 135, 11,
15, 16, 17, 18, 19, 20, 21, 22, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
0, 23, 24, 25, 26, 136, 27, 28, 29, 30, 22, 0, 0, 0, 23, 24, 25, 26, 136, 27,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93, 28, 29, 30, 87, 31, 88, 89, 90, 91, 0,
0, 92, 93, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 94, 0, 0, 0, 137, 0, 0, 0, 0, 0,
0, 137, 0, 0, 0, 0, 0, 139, 95, 96, 139, 95, 96, 0, 97, 1, 2, 3, 4, 5,
0, 97, 1, 2, 3, 4, 5, 6, 7, 8, 6, 7, 8, 9, 10, 129, 130, 131, 0, 132,
9, 10, 129, 130, 131, 0, 132, 133, 134, 135, 133, 134, 135, 11, 12, 13, 14, 15, 16, 17,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
21, 22, 0, 0, 0, 23, 24, 25, 26, 136, 25, 26, 136, 27, 28, 29, 30, 87, 31, 88,
27, 28, 29, 30, 87, 31, 88, 89, 90, 91, 89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 0, 92, 93, 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, 0,
0, 94, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 76, 0,
0, 139, 95, 96, 0, 97, 1, 2, 3, 4, 0, 0, 0, 0, 139, 95, 96, 0, 97, 1,
5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 129,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 130, 131, 0, 132, 133, 134, 135, 11, 12, 13,
17, 18, 19, 20, 21, 22, 0, 0, 0, 23, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
24, 25, 26, 0, 27, 28, 29, 30, 87, 31, 0, 0, 23, 24, 25, 26, 136, 27, 28, 29,
88, 89, 90, 91, 0, 0, 92, 93, 0, 0, 30, 87, 31, 88, 89, 90, 91, 0, 0, 92,
93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 94, 0,
0, 0, 0, 0, 0, 0, 0, 0, 139, 95,
96, 0, 97, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
0, 27, 28, 29, 30, 87, 31, 88, 89, 90,
91, 0, 0, 92, 93, 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,
0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 8, 9, 10, 0,
0, 0, 0, 0, 0, 139, 95, 96, 0, 97, 0, 0, 139, 95, 96, 0, 97, 11, 12, 13,
58, 2, 3, 4, 0, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 30, 87, 31, 88, 89, 90, 91, 0, 0, 92,
0, 0, 0, 23, 24, 25, 26, 0, 27, 28, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29, 30, 87, 31, 88, 89, 90, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 8, 9, 10, 0, 0, 0, 0, 95,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 96, 0, 97, 11, 12, 13, 14, 15, 16, 17,
0, 0, 0, 8, 9, 10, 0, 0, 0, 0, 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
95, 96, 0, 97, 11, 12, 13, 14, 15, 16, 25, 26, 0, 27, 28, 29, 30, 87, 31, 88,
17, 18, 19, 20, 21, 22, 0, 0, 0, 0, 89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 25, 26, 0, 27, 28, 29, 30, 87, 31,
88, 89, 90, 91, 0, 0, 92, 93, 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, 0, 0, 94, 0, 0, 161, 8, 0, 0, 0, 0, 94, 0, 0, 0, 8, 9,
9, 10, 0, 0, 0, 0, 95, 96, 0, 97, 10, 0, 0, 0, 206, 95, 96, 0, 97, 11,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
21, 22, 0, 0, 0, 0, 0, 25, 26, 0, 22, 0, 0, 0, 0, 0, 25, 26, 0, 27,
27, 28, 29, 30, 87, 31, 88, 89, 90, 91, 28, 29, 30, 87, 31, 88, 89, 90, 91, 0,
0, 0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 92, 93, 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, 0, 0,
0, 94, 0, 0, 0, 8, 9, 10, 0, 0, 94, 0, 0, 222, 8, 9, 10, 0, 0, 0,
0, 206, 95, 96, 0, 97, 11, 12, 13, 14, 0, 95, 96, 0, 97, 11, 12, 13, 14, 15,
15, 16, 17, 18, 19, 20, 21, 22, 0, 0, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 0, 25, 26, 0, 27, 28, 29, 30, 0, 0, 25, 26, 0, 27, 28, 29, 30, 87,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93, 31, 88, 89, 90, 91, 0, 0, 92, 93, 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, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
222, 8, 9, 10, 0, 0, 0, 0, 95, 96, 8, 9, 10, 0, 0, 0, 0, 95, 96, 0,
0, 97, 11, 12, 13, 14, 15, 16, 17, 18, 97, 11, 12, 13, 14, 15, 16, 17, 18, 19,
19, 20, 21, 22, 0, 0, 0, 0, 0, 25, 20, 21, 22, 0, 0, 0, 0, 0, 25, 175,
26, 0, 27, 28, 29, 30, 87, 31, 88, 89, 0, 27, 28, 29, 30, 87, 31, 88, 89, 90,
90, 91, 0, 0, 92, 93, 0, 0, 0, 0, 91, 0, 0, 92, 93, 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,
0, 0, 0, 94, 0, 0, 0, 8, 9, 10, 0, 0, 94, 2, 3, 4, 0, 0, 0, 8,
0, 0, 0, 0, 95, 96, 0, 97, 11, 12, 9, 10, 0, 95, 96, 0, 97, 0, 0, 0,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
0, 0, 0, 0, 0, 25, 175, 0, 27, 28, 21, 22, 0, 0, 0, 0, 0, 25, 26, 0,
29, 30, 87, 31, 88, 89, 90, 91, 0, 0, 27, 28, 29, 30, 0, 31, 2, 3, 4, 0,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 198, 0, 0, 0,
25, 26, 0, 27, 28, 29, 30, 0, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 71,
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 247,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 23, 24, 25, 26, 0,
27, 28, 29, 30, 0, 31, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 0, 0, 0, 23,
24, 25, 26, 0, 27, 28, 29, 30, 0, 31,
2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0,
95, 96, 0, 97, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
30, 0, 31, 2, 3, 4, 0, 0, 0, 8, 30, 0, 31, 8, 9, 10, 0, 0, 0, 0,
9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
21, 22, 0, 198, 0, 0, 0, 25, 26, 0, 0, 25, 26, 0, 27, 28, 29, 30, 229, 31,
27, 28, 29, 30, 0, 31, 0, 0, 0, 0, 8, 9, 10, 230, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 71, 0, 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 0,
0, 0, 0, 0, 0, 0, 247, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 23, 24, 25, 26, 0, 27, 28, 29,
30, 0, 31, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 23, 24, 25, 26, 20, 21, 22, 0, 0, 0, 0, 0, 25, 26,
0, 27, 28, 29, 30, 0, 31, 8, 9, 10, 0, 27, 28, 29, 30, 0, 31
0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
29, 30, 229, 31, 8, 9, 10, 230, 0, 0,
0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 25, 26, 0, 27, 28, 29, 30, 0,
31
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
0, 160, 94, 86, 70, 127, 45, 0, 255, 60, 0, 55, 94, 86, 70, 127, 45, 151, 273, 60,
40, 151, 85, 0, 36, 74, 72, 82, 74, 85, 40, 36, 85, 0, 0, 160, 257, 37, 79, 85,
37, 268, 81, 106, 3, 81, 70, 42, 45, 8, 84, 82, 86, 106, 3, 45, 70, 253, 293, 8,
9, 55, 56, 63, 284, 57, 51, 76, 288, 73, 9, 272, 57, 63, 55, 56, 79, 76, 42, 82,
40, 85, 42, 135, 95, 75, 46, 79, 92, 93, 40, 85, 42, 135, 95, 75, 46, 51, 92, 93,
82, 51, 82, 46, 33, 34, 35, 36, 37, 46, 79, 51, 82, 82, 33, 34, 35, 36, 37, 46,
87, 88, 202, 63, 73, 109, 90, 91, 79, 79, 46, 74, 288, 63, 82, 109, 292, 73, 81, 90,
79, 82, 194, 45, 3, 75, 76, 160, 170, 8, 91, 73, 194, 79, 3, 75, 76, 160, 170, 8,
9, 73, 82, 84, 73, 86, 159, 79, 53, 54, 9, 72, 82, 74, 79, 79, 159, 82, 53, 54,
79, 174, 73, 159, 73, 125, 79, 127, 79, 82, 81, 174, 73, 159, 73, 125, 45, 127, 79, 74,
192, 62, 63, 64, 33, 34, 35, 36, 37, 74, 192, 62, 63, 64, 33, 34, 35, 36, 37, 74,
71, 79, 204, 78, 82, 159, 256, 4, 5, 6, 71, 73, 204, 78, 258, 159, 73, 79, 76, 72,
81, 183, 184, 185, 186, 125, 72, 127, 74, 269, 81, 74, 79, 87, 88, 125, 76, 127, 183, 184,
74, 290, 37, 216, 217, 179, 180, 181, 182, 183, 185, 186, 37, 216, 217, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 221, 289, 184, 185, 186, 187, 188, 189, 190, 191, 221, 294,
76, 151, 33, 34, 35, 221, 57, 58, 79, 80, 45, 151, 4, 5, 6, 221, 33, 34, 35, 57,
181, 182, 76, 255, 194, 45, 82, 187, 188, 45, 58, 79, 80, 82, 194, 257, 181, 182, 187, 188,
72, 59, 61, 73, 72, 248, 268, 221, 75, 262, 45, 72, 59, 73, 45, 248, 72, 221, 61, 82,
45, 72, 248, 82, 77, 277, 82, 72, 82, 72, 272, 264, 248, 75, 72, 82, 72, 72, 82, 281,
74, 40, 45, 75, 194, 287, 74, 72, 75, 72, 79, 72, 74, 77, 194, 75, 74, 76, 252, 291,
79, 75, 202, 75, 248, 75, 72, 290, 77, 73, 3, 4, 5, 6, 248, 8, 9, 10, 11, 12,
210, 4, 5, 6, 82, 73, 16, 10, 11, 12, 210, 294, 75, 75, 72, 40, 75, 72, 21, 22,
81, 171, 82, 189, 191, 82, 190, 57, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
64, 82, 5, 249, 252, 38, 39, 288, 41, 42, 75, 45, 73, 36, 37, 38, 39, 77, 41, 42,
43, 44, 252, 46, 125, 255, 256, 55, 210, 46, 43, 44, 45, 46, 47, 48, 49, 50, 82, 73,
-1, 252, -1, 268, -1, -1, -1, -1, 268, 269, 53, 54, 16, 253, 254, 81, 171, 257, 258, 82,
190, 189, 82, 57, 191, 64, 82, 5, 125, 72,
254, 249, 272, 210, 254, 292, 272, 46, -1, -1,
83, 84, -1, 86, -1, -1, -1, -1, 288, -1,
-1, -1, 292, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 284, -1, -1, -1, 288, 289, -1, -1, 72, -1, -1, -1, 76, 77, -1, -1,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 82, 83, 84, -1, 86, 3, 4, 5,
13, 14, 15, -1, 17, 18, 19, 20, 21, 22, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, -1, -1, 36, 37, 38, 39, 40, 41, 42, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
53, 54, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, 48, 49, 50, -1, -1, 53, 54, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
-1, -1, -1, 76, 77, -1, -1, -1, -1, 82,
83, 84, -1, 86, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, -1, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, -1, -1, -1, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, -1, 53, 54, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 72, -1, -1, -1, 76, 77, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
-1, -1, -1, 82, 83, 84, -1, 86, 3, 4, 76, 77, -1, -1, -1, -1, 82, 83, 84, -1,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 86, 3, 4, 5, 6, 7, 8, 9, 10, 11,
15, -1, 17, 18, 19, 20, 21, 22, 23, 24, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21,
25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
-1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 32, -1, -1, -1, 36, 37, 38, 39, 40, 41,
45, 46, 47, 48, 49, 50, -1, -1, 53, 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
-1, 53, 54, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 72, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
-1, 76, -1, -1, -1, -1, -1, 82, 83, 84, 82, 83, 84, -1, 86, 3, 4, 5, 6, 7,
-1, 86, 3, 4, 5, 6, 7, 8, 9, 10, 8, 9, 10, 11, 12, 13, 14, 15, -1, 17,
11, 12, 13, 14, 15, -1, 17, 18, 19, 20, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 28, 29, 30, 31, 32, -1, -1, -1, 36, 37,
31, 32, -1, -1, -1, 36, 37, 38, 39, 40, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 48, 49, 50, -1, -1, 53, 54, -1, -1, -1,
-1, -1, 53, 54, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1,
-1, 82, 83, 84, -1, 86, 3, 4, 5, 6, -1, -1, -1, -1, 82, 83, 84, -1, 86, 3,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
-1, -1, -1, -1, 21, 22, 23, 24, 25, 26, 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
27, 28, 29, 30, 31, 32, -1, -1, -1, 36, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, -1, 36, 37, 38, 39, 40, 41, 42, 43,
47, 48, 49, 50, -1, -1, 53, 54, -1, -1, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 82, 83,
84, -1, 86, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
-1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 10, 11, 12, -1,
-1, -1, -1, -1, -1, 82, 83, 84, -1, 86, -1, -1, 82, 83, 84, -1, 86, 21, 22, 23,
3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53,
-1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
53, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, 10, 11, 12, -1, -1, -1, -1, 83,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 84, -1, 86, 21, 22, 23, 24, 25, 26, 27,
-1, -1, -1, 10, 11, 12, -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
83, 84, -1, 86, 21, 22, 23, 24, 25, 26, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47,
27, 28, 29, 30, 31, 32, -1, -1, -1, -1, 48, 49, 50, -1, -1, 53, 54, -1, -1, -1,
-1, 38, 39, -1, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, -1, 53, 54, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 72, -1, -1, 75, 10, -1, -1, -1, -1, 72, -1, -1, -1, 10, 11,
11, 12, -1, -1, -1, -1, 83, 84, -1, 86, 12, -1, -1, -1, 82, 83, 84, -1, 86, 21,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
31, 32, -1, -1, -1, -1, -1, 38, 39, -1, 32, -1, -1, -1, -1, -1, 38, 39, -1, 41,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
-1, -1, 53, 54, -1, -1, -1, -1, -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 72, -1, -1, -1, 10, 11, 12, -1, -1, 72, -1, -1, 75, 10, 11, 12, -1, -1, -1,
-1, 82, 83, 84, -1, 86, 21, 22, 23, 24, -1, 83, 84, -1, 86, 21, 22, 23, 24, 25,
25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
-1, -1, -1, 38, 39, -1, 41, 42, 43, 44, -1, -1, 38, 39, -1, 41, 42, 43, 44, 45,
45, 46, 47, 48, 49, 50, -1, -1, 53, 54, 46, 47, 48, 49, 50, -1, -1, 53, 54, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
75, 10, 11, 12, -1, -1, -1, -1, 83, 84, 10, 11, 12, -1, -1, -1, -1, 83, 84, -1,
-1, 86, 21, 22, 23, 24, 25, 26, 27, 28, 86, 21, 22, 23, 24, 25, 26, 27, 28, 29,
29, 30, 31, 32, -1, -1, -1, -1, -1, 38, 30, 31, 32, -1, -1, -1, -1, -1, 38, 39,
39, -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
49, 50, -1, -1, 53, 54, -1, -1, -1, -1, 50, -1, -1, 53, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 72, -1, -1, -1, 10, 11, 12, -1, -1, 72, 4, 5, 6, -1, -1, -1, 10,
-1, -1, -1, -1, 83, 84, -1, 86, 21, 22, 11, 12, -1, 83, 84, -1, 86, -1, -1, -1,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, -1, -1, -1, -1, 38, 39, -1, 41, 42, 31, 32, -1, -1, -1, -1, -1, 38, 39, -1,
43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 41, 42, 43, 44, -1, 46, 4, 5, 6, -1,
53, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, -1, 77, -1, -1, -1,
38, 39, -1, 41, 42, 43, 44, -1, 46, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
-1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, 77,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, -1, -1, -1, 36, 37, 38, 39, -1,
41, 42, 43, 44, -1, 46, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, -1, -1, -1, 36,
37, 38, 39, -1, 41, 42, 43, 44, -1, 46,
4, 5, 6, -1, -1, -1, 10, 11, 12, -1, 4, 5, 6, -1, -1, -1, 10, 11, 12, -1,
83, 84, -1, 86, -1, -1, -1, 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
-1, -1, -1, -1, 38, 39, -1, 41, 42, 43, -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
44, -1, 46, 4, 5, 6, -1, -1, -1, 10, 44, -1, 46, 10, 11, 12, -1, -1, -1, -1,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, 23, 24, 25, 26,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
31, 32, -1, 77, -1, -1, -1, 38, 39, -1, -1, 38, 39, -1, 41, 42, 43, 44, 45, 46,
41, 42, 43, 44, -1, 46, -1, -1, -1, -1, 10, 11, 12, 50, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, 77, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
-1, -1, 36, 37, 38, 39, -1, 41, 42, 43,
44, -1, 46, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39, 30, 31, 32, -1, -1, -1, -1, -1, 38, 39,
-1, 41, 42, 43, 44, -1, 46, 10, 11, 12, -1, 41, 42, 43, 44, -1, 46
-1, -1, -1, -1, -1, -1, -1, -1, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-1, -1, -1, -1, -1, 38, 39, -1, 41, 42,
43, 44, 45, 46, 10, 11, 12, 50, -1, -1,
-1, -1, -1, -1, -1, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
-1, -1, 38, 39, -1, 41, 42, 43, 44, -1,
46
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
...@@ -1197,10 +1213,10 @@ static const yytype_uint8 yystos[] = ...@@ -1197,10 +1213,10 @@ static const yytype_uint8 yystos[] =
12, 21, 22, 23, 24, 25, 26, 27, 28, 29, 12, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 36, 37, 38, 39, 41, 42, 43, 30, 31, 32, 36, 37, 38, 39, 41, 42, 43,
44, 46, 126, 127, 128, 129, 130, 135, 136, 137, 44, 46, 126, 127, 128, 129, 130, 135, 136, 137,
138, 139, 140, 141, 142, 143, 172, 173, 174, 37, 138, 139, 140, 141, 142, 143, 175, 176, 177, 37,
45, 140, 45, 76, 82, 175, 73, 79, 3, 33, 45, 140, 45, 76, 82, 178, 73, 79, 3, 33,
34, 35, 132, 133, 138, 79, 82, 45, 139, 141, 34, 35, 132, 133, 138, 79, 82, 45, 139, 141,
74, 0, 173, 141, 76, 145, 76, 158, 132, 131, 74, 0, 176, 141, 76, 145, 76, 161, 132, 131,
134, 139, 133, 45, 72, 74, 81, 45, 47, 48, 134, 139, 133, 45, 72, 74, 81, 45, 47, 48,
49, 50, 53, 54, 72, 83, 84, 86, 97, 98, 49, 50, 53, 54, 72, 83, 84, 86, 97, 98,
99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109,
...@@ -1208,21 +1224,22 @@ static const yytype_uint8 yystos[] = ...@@ -1208,21 +1224,22 @@ static const yytype_uint8 yystos[] =
120, 121, 125, 142, 82, 144, 139, 146, 147, 13, 120, 121, 125, 142, 82, 144, 139, 146, 147, 13,
14, 15, 17, 18, 19, 20, 40, 76, 77, 82, 14, 15, 17, 18, 19, 20, 40, 76, 77, 82,
108, 121, 122, 124, 126, 127, 142, 151, 152, 153, 108, 121, 122, 124, 126, 127, 142, 151, 152, 153,
154, 159, 160, 161, 164, 171, 45, 131, 134, 74, 154, 162, 163, 164, 167, 174, 45, 131, 134, 74,
81, 75, 125, 122, 150, 108, 108, 124, 53, 54, 81, 75, 125, 122, 150, 108, 108, 124, 53, 54,
74, 78, 73, 73, 79, 39, 122, 72, 108, 87, 74, 78, 73, 73, 79, 39, 122, 72, 108, 87,
88, 84, 86, 55, 56, 90, 91, 57, 58, 59, 88, 84, 86, 55, 56, 90, 91, 57, 58, 59,
61, 60, 95, 75, 146, 45, 148, 149, 77, 147, 61, 60, 95, 75, 146, 45, 148, 149, 77, 147,
82, 82, 166, 72, 72, 82, 82, 124, 72, 77, 82, 82, 169, 72, 72, 82, 82, 124, 72, 77,
155, 62, 63, 64, 71, 81, 123, 79, 82, 77, 155, 62, 63, 64, 71, 81, 123, 79, 82, 77,
152, 74, 75, 125, 150, 75, 73, 100, 124, 45, 152, 74, 75, 125, 150, 75, 73, 100, 124, 45,
50, 103, 122, 108, 108, 110, 110, 112, 112, 112, 50, 103, 122, 108, 108, 110, 110, 112, 112, 112,
112, 113, 113, 117, 118, 119, 124, 77, 74, 79, 112, 113, 113, 117, 118, 119, 124, 77, 74, 79,
82, 152, 167, 124, 82, 165, 159, 122, 122, 125, 82, 158, 159, 160, 170, 124, 82, 168, 162, 122,
75, 75, 80, 125, 149, 40, 151, 160, 168, 73, 122, 125, 75, 75, 80, 125, 149, 40, 161, 153,
124, 137, 163, 156, 75, 122, 75, 72, 163, 169, 151, 163, 171, 73, 124, 137, 166, 156, 75, 122,
170, 152, 162, 45, 73, 77, 124, 82, 73, 16, 75, 72, 166, 172, 173, 158, 165, 45, 73, 77,
81, 153, 157, 158, 73, 124, 157, 152, 150, 82 124, 82, 73, 16, 81, 153, 157, 161, 73, 124,
157, 158, 150, 82
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
...@@ -4089,12 +4106,32 @@ yyreduce: ...@@ -4089,12 +4106,32 @@ yyreduce:
case 164: case 164:
{ context->symbolTable.push(); }
break;
case 165:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 166:
{ context->symbolTable.push(); }
break;
case 167:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 168:
{ {
(yyval.interm.intermNode) = 0; (yyval.interm.intermNode) = 0;
} }
break; break;
case 165: case 169:
{ {
if ((yyvsp[(2) - (3)].interm.intermAggregate)) { if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
...@@ -4105,31 +4142,31 @@ yyreduce: ...@@ -4105,31 +4142,31 @@ yyreduce:
} }
break; break;
case 166: case 170:
{ {
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
} }
break; break;
case 167: case 171:
{ {
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
} }
break; break;
case 168: case 172:
{ (yyval.interm.intermNode) = 0; } { (yyval.interm.intermNode) = 0; }
break; break;
case 169: case 173:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); } { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break; break;
case 170: case 174:
{ {
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
...@@ -4138,7 +4175,7 @@ yyreduce: ...@@ -4138,7 +4175,7 @@ yyreduce:
} }
break; break;
case 171: case 175:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
...@@ -4146,7 +4183,7 @@ yyreduce: ...@@ -4146,7 +4183,7 @@ yyreduce:
} }
break; break;
case 172: case 176:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4154,7 +4191,7 @@ yyreduce: ...@@ -4154,7 +4191,7 @@ yyreduce:
} }
break; break;
case 173: case 177:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
...@@ -4163,7 +4200,7 @@ yyreduce: ...@@ -4163,7 +4200,7 @@ yyreduce:
} }
break; break;
case 174: case 178:
{ {
TIntermNode* intermNode; TIntermNode* intermNode;
...@@ -4181,12 +4218,12 @@ yyreduce: ...@@ -4181,12 +4218,12 @@ yyreduce:
} }
break; break;
case 175: case 179:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 176: case 180:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4195,12 +4232,12 @@ yyreduce: ...@@ -4195,12 +4232,12 @@ yyreduce:
} }
break; break;
case 177: case 181:
{ ++context->loopNestingLevel; } { ++context->loopNestingLevel; }
break; break;
case 178: case 182:
{ {
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
...@@ -4211,12 +4248,12 @@ yyreduce: ...@@ -4211,12 +4248,12 @@ yyreduce:
} }
break; break;
case 179: case 183:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 180: case 184:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4225,35 +4262,35 @@ yyreduce: ...@@ -4225,35 +4262,35 @@ yyreduce:
} }
break; break;
case 181: case 185:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 182: case 186:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 183: case 187:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
} }
break; break;
case 184: case 188:
{ {
(yyval.interm.intermTypedNode) = 0; (yyval.interm.intermTypedNode) = 0;
} }
break; break;
case 185: case 189:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
...@@ -4261,7 +4298,7 @@ yyreduce: ...@@ -4261,7 +4298,7 @@ yyreduce:
} }
break; break;
case 186: case 190:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
...@@ -4269,7 +4306,7 @@ yyreduce: ...@@ -4269,7 +4306,7 @@ yyreduce:
} }
break; break;
case 187: case 191:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4280,7 +4317,7 @@ yyreduce: ...@@ -4280,7 +4317,7 @@ yyreduce:
} }
break; break;
case 188: case 192:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4291,7 +4328,7 @@ yyreduce: ...@@ -4291,7 +4328,7 @@ yyreduce:
} }
break; break;
case 189: case 193:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
...@@ -4302,7 +4339,7 @@ yyreduce: ...@@ -4302,7 +4339,7 @@ yyreduce:
} }
break; break;
case 190: case 194:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
...@@ -4317,7 +4354,7 @@ yyreduce: ...@@ -4317,7 +4354,7 @@ yyreduce:
} }
break; break;
case 191: case 195:
{ {
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line); FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
...@@ -4325,7 +4362,7 @@ yyreduce: ...@@ -4325,7 +4362,7 @@ yyreduce:
} }
break; break;
case 192: case 196:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4333,7 +4370,7 @@ yyreduce: ...@@ -4333,7 +4370,7 @@ yyreduce:
} }
break; break;
case 193: case 197:
{ {
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
...@@ -4341,21 +4378,21 @@ yyreduce: ...@@ -4341,21 +4378,21 @@ yyreduce:
} }
break; break;
case 194: case 198:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 195: case 199:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 196: case 200:
{ {
TFunction* function = (yyvsp[(1) - (1)].interm).function; TFunction* function = (yyvsp[(1) - (1)].interm).function;
...@@ -4440,7 +4477,7 @@ yyreduce: ...@@ -4440,7 +4477,7 @@ yyreduce:
} }
break; break;
case 197: case 201:
{ {
//?? Check that all paths return a value if return type != void ? //?? Check that all paths return a value if return type != void ?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment