enum yytokentype
{
TOKEN_START = 258,
- ARRAY = 259,
- BEGIN_ = 260,
- BY = 261,
- CASE = 262,
- CONST = 263,
- DIV = 264,
- DO = 265,
- ELSE = 266,
- ELSIF = 267,
- END = 268,
- FALSE = 269,
- FOR = 270,
- IF = 271,
- IMPORT = 272,
- IS = 273,
- MOD = 274,
- MODULE = 275,
- NIL = 276,
- OF = 277,
- OR = 278,
- POINTER = 279,
- PROCEDURE = 280,
- RECORD = 281,
- REPEAT = 282,
- RETURN = 283,
- THEN = 284,
- TO = 285,
- TRUE = 286,
- TYPE = 287,
- UNTIL = 288,
- VAR = 289,
- WHILE = 290,
- BECOMES = 291,
- DOTDOT = 292,
- GE = 293,
- LE = 294,
- NOT_EQ = 295,
- IDENT = 296,
- INTEGER = 297,
- REAL = 298,
- STRING = 299,
- TOKEN_END = 300
+ AND = 259,
+ ARRAY = 260,
+ BEGIN_ = 261,
+ BY = 262,
+ CASE = 263,
+ CONST = 264,
+ DIV = 265,
+ DO = 266,
+ ELSE = 267,
+ ELSIF = 268,
+ END = 269,
+ FALSE = 270,
+ FOR = 271,
+ IF = 272,
+ IMPORT = 273,
+ IS = 274,
+ MOD = 275,
+ MODULE = 276,
+ NIL = 277,
+ NOT = 278,
+ OF = 279,
+ OR = 280,
+ POINTER = 281,
+ PROCEDURE = 282,
+ RECORD = 283,
+ REPEAT = 284,
+ RETURN = 285,
+ THEN = 286,
+ TO = 287,
+ TRUE = 288,
+ TYPE = 289,
+ UNTIL = 290,
+ VAR = 291,
+ WHILE = 292,
+ BECOMES = 293,
+ DOTDOT = 294,
+ GE = 295,
+ LE = 296,
+ NOT_EQ = 297,
+ IDENT = 298,
+ INTEGER = 299,
+ REAL = 300,
+ STRING = 301,
+ TOKEN_END = 302
};
#endif
/* Tokens. */
#define TOKEN_START 258
-#define ARRAY 259
-#define BEGIN_ 260
-#define BY 261
-#define CASE 262
-#define CONST 263
-#define DIV 264
-#define DO 265
-#define ELSE 266
-#define ELSIF 267
-#define END 268
-#define FALSE 269
-#define FOR 270
-#define IF 271
-#define IMPORT 272
-#define IS 273
-#define MOD 274
-#define MODULE 275
-#define NIL 276
-#define OF 277
-#define OR 278
-#define POINTER 279
-#define PROCEDURE 280
-#define RECORD 281
-#define REPEAT 282
-#define RETURN 283
-#define THEN 284
-#define TO 285
-#define TRUE 286
-#define TYPE 287
-#define UNTIL 288
-#define VAR 289
-#define WHILE 290
-#define BECOMES 291
-#define DOTDOT 292
-#define GE 293
-#define LE 294
-#define NOT_EQ 295
-#define IDENT 296
-#define INTEGER 297
-#define REAL 298
-#define STRING 299
-#define TOKEN_END 300
+#define AND 259
+#define ARRAY 260
+#define BEGIN_ 261
+#define BY 262
+#define CASE 263
+#define CONST 264
+#define DIV 265
+#define DO 266
+#define ELSE 267
+#define ELSIF 268
+#define END 269
+#define FALSE 270
+#define FOR 271
+#define IF 272
+#define IMPORT 273
+#define IS 274
+#define MOD 275
+#define MODULE 276
+#define NIL 277
+#define NOT 278
+#define OF 279
+#define OR 280
+#define POINTER 281
+#define PROCEDURE 282
+#define RECORD 283
+#define REPEAT 284
+#define RETURN 285
+#define THEN 286
+#define TO 287
+#define TRUE 288
+#define TYPE 289
+#define UNTIL 290
+#define VAR 291
+#define WHILE 292
+#define BECOMES 293
+#define DOTDOT 294
+#define GE 295
+#define LE 296
+#define NOT_EQ 297
+#define IDENT 298
+#define INTEGER 299
+#define REAL 300
+#define STRING 301
+#define TOKEN_END 302
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
const char *string;
Trees_Node node;
-#line 309 "y.tab.c"
+#line 313 "y.tab.c"
};
typedef union YYSTYPE YYSTYPE;
#define YYNSTATES 272
#define YYUNDEFTOK 2
-#define YYMAXUTOK 300
+#define YYMAXUTOK 302
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 59, 2,
- 50, 51, 47, 56, 49, 57, 46, 58, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 53, 52,
- 54, 48, 55, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 52, 53, 49, 58, 51, 59, 48, 60, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 55, 54,
+ 56, 50, 57, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 61, 2, 62, 63, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 64, 2, 60, 2, 2, 2,
+ 2, 2, 2, 2, 64, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45
+ 45, 46, 47
};
#if YYDEBUG
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "TOKEN_START", "ARRAY", "BEGIN_", "BY",
- "CASE", "CONST", "DIV", "DO", "ELSE", "ELSIF", "END", "FALSE", "FOR",
- "IF", "IMPORT", "IS", "MOD", "MODULE", "NIL", "OF", "OR", "POINTER",
- "PROCEDURE", "RECORD", "REPEAT", "RETURN", "THEN", "TO", "TRUE", "TYPE",
- "UNTIL", "VAR", "WHILE", "BECOMES", "DOTDOT", "GE", "LE", "NOT_EQ",
- "IDENT", "INTEGER", "REAL", "STRING", "TOKEN_END", "'.'", "'*'", "'='",
- "','", "'('", "')'", "';'", "':'", "'<'", "'>'", "'+'", "'-'", "'/'",
- "'&'", "'~'", "'['", "']'", "'^'", "'|'", "$accept", "qualident",
+ "$end", "error", "$undefined", "TOKEN_START", "AND", "ARRAY", "BEGIN_",
+ "BY", "CASE", "CONST", "DIV", "DO", "ELSE", "ELSIF", "END", "FALSE",
+ "FOR", "IF", "IMPORT", "IS", "MOD", "MODULE", "NIL", "NOT", "OF", "OR",
+ "POINTER", "PROCEDURE", "RECORD", "REPEAT", "RETURN", "THEN", "TO",
+ "TRUE", "TYPE", "UNTIL", "VAR", "WHILE", "BECOMES", "DOTDOT", "GE", "LE",
+ "NOT_EQ", "IDENT", "INTEGER", "REAL", "STRING", "TOKEN_END", "'.'",
+ "'*'", "'='", "','", "'('", "')'", "';'", "':'", "'<'", "'>'", "'+'",
+ "'-'", "'/'", "'['", "']'", "'^'", "'|'", "$accept", "qualident",
"identdef", "ExportMarkOpt", "number", "ConstDeclaration",
"ConstExpression", "TypeDeclaration", "TypeIdentDef", "type",
"ArrayType", "ArrayLengthOf", "LengthRep", "length", "RecordType",
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 46, 42, 61, 44,
- 40, 41, 59, 58, 60, 62, 43, 45, 47, 38,
- 126, 91, 93, 94, 124
+ 295, 296, 297, 298, 299, 300, 301, 302, 46, 42,
+ 61, 44, 40, 41, 59, 58, 60, 62, 43, 45,
+ 47, 91, 93, 94, 124
};
# endif
-#define YYPACT_NINF (-124)
+#define YYPACT_NINF (-129)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 8, -3, 19, -2, -124, -124, 49, 28, 69, -124,
- 48, 3, -124, -124, 89, 75, 71, -124, 28, -124,
- 76, 38, -124, 103, -124, 84, -124, -124, -124, 77,
- 78, 73, 30, 82, 30, 38, 30, -124, 91, -124,
- -124, -124, -124, 79, -124, -124, -124, -124, -124, 87,
- -124, -124, 76, -124, -124, 30, -124, -124, -124, -124,
- 65, 20, 107, 94, 104, -124, 106, 99, 123, -26,
- 30, 38, 90, 76, 112, 92, 86, 6, -124, -124,
- -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
- 30, 20, -124, -124, -124, -124, -124, -124, 30, 20,
- -124, -1, -124, -124, 67, 30, 30, 38, 30, 38,
- 98, -34, 30, -124, -124, -124, -124, -124, -124, -10,
- 93, 76, 95, 96, 101, -124, -124, 30, 111, -124,
- 105, 97, -124, -124, -124, 6, -124, 76, -124, 6,
- -124, 101, 33, -1, 108, -124, -124, -124, -124, -124,
- -124, 20, -124, -124, -124, -4, -124, 18, -124, 109,
- -124, -124, 136, -124, -124, -124, -124, -124, -124, -22,
- -36, 76, 6, -124, -124, -124, 69, -20, -124, -124,
- -124, -7, -124, -124, 113, -124, 115, -124, 131, 110,
- -124, 42, -124, -124, -124, -124, -124, 67, 67, 38,
- 67, 30, 139, 81, 102, 30, -124, -124, -124, -124,
- 89, -124, 114, 116, -124, 117, -124, 30, -124, 118,
- -124, -124, 76, 6, -124, -124, -124, -124, -124, 38,
- 38, 30, 144, 30, -124, -124, 132, 119, 127, -124,
- 57, -124, -124, -124, -124, 150, -124, 138, -124, 160,
- 30, 161, 113, -124, -124, 135, -124, -124, 38, 38,
- -124, 137, -124, -124, -124, 7, -124, -124, -124, 151,
- -124, -124
+ -7, -14, 19, -17, -129, -129, 31, 28, 53, -129,
+ 35, -16, -129, -129, 71, 50, 45, -129, 28, -129,
+ 47, 95, -129, 77, -129, 56, -129, -129, -129, 44,
+ 59, 40, 21, 67, 21, 95, 21, -129, 75, -129,
+ -129, -129, -129, 61, -129, -129, -129, -129, -129, 74,
+ -129, -129, 47, -129, -129, 21, -129, -129, -129, -129,
+ 64, 85, 92, 81, 93, -129, 96, 91, 122, -31,
+ 21, 95, 86, 47, 108, 89, 82, 15, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ 21, 85, -129, -129, 85, -129, -129, -129, -129, 21,
+ -129, 6, -129, -129, 24, 21, 21, 95, 21, 95,
+ 97, -2, 21, -129, -129, -129, -129, -129, -129, -27,
+ 87, 47, 88, 90, 94, -129, -129, 21, 111, -129,
+ 99, 100, -129, -129, -129, 15, -129, 47, -129, 15,
+ -129, 94, -12, 6, -129, 101, -129, -129, -129, -129,
+ -129, 85, -129, -129, -129, -5, -129, -24, -129, 106,
+ -129, -129, 140, -129, -129, -129, -129, -129, -129, 10,
+ -28, 47, 15, -129, -129, -129, 53, -21, -129, -129,
+ -129, -6, -129, -129, 112, -129, 113, -129, 135, 103,
+ -129, -3, -129, -129, -129, -129, -129, 24, 24, 95,
+ 24, 21, 147, 41, 73, 21, -129, -129, -129, -129,
+ 71, -129, 107, 105, -129, 118, -129, 21, -129, 109,
+ -129, -129, 47, 15, -129, -129, -129, -129, -129, 95,
+ 95, 21, 149, 21, -129, -129, 137, 110, 132, -129,
+ 9, -129, -129, -129, -129, 155, -129, 139, -129, 161,
+ 21, 159, 112, -129, -129, 131, -129, -129, 95, 95,
+ -129, 133, -129, -129, -129, 7, -129, -129, -129, 153,
+ -129, -129
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
42, 0, 0, 0, 0, 98, 0, 0, 0, 74,
55, 91, 0, 142, 132, 0, 0, 0, 9, 10,
50, 58, 49, 47, 45, 44, 46, 48, 56, 57,
- 55, 0, 70, 68, 69, 7, 8, 67, 55, 0,
+ 55, 0, 70, 68, 0, 69, 7, 8, 67, 55,
66, 51, 59, 71, 108, 55, 55, 91, 55, 91,
0, 55, 55, 79, 75, 92, 96, 163, 33, 0,
0, 0, 0, 0, 40, 12, 140, 55, 0, 38,
26, 2, 13, 11, 14, 0, 15, 29, 16, 0,
- 17, 40, 43, 52, 0, 73, 63, 64, 61, 62,
- 65, 0, 113, 114, 115, 0, 105, 0, 109, 111,
+ 17, 40, 43, 52, 73, 0, 65, 63, 64, 61,
+ 62, 0, 113, 114, 115, 0, 105, 0, 109, 111,
121, 122, 124, 100, 119, 118, 77, 81, 82, 0,
0, 0, 0, 144, 127, 146, 134, 150, 126, 39,
22, 0, 20, 36, 0, 24, 0, 18, 0, 28,
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -124, -99, -19, -124, -124, -124, -51, -124, -124, -123,
- -124, -124, -124, -40, -124, -124, -124, -124, -124, -124,
- -43, 120, -124, -124, -124, -124, 39, -124, -30, -124,
- 100, -124, -124, 121, -124, -92, -55, -124, -124, 70,
- 125, -124, -124, -35, -124, -124, -33, -124, -124, -124,
- -124, -124, -16, -124, -15, -14, -124, -124, -124, -124,
- -124, -124, -124, -124, -124, -124, -25, -124, 12, -124,
- -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
- -124, -54, -124, -124, -124, -124, -124, -124, -124, -124,
- -124, 171, -124, -124
+ -129, -99, -19, -129, -129, -129, -51, -129, -129, -128,
+ -129, -129, -129, -39, -129, -129, -129, -129, -129, -129,
+ -43, 115, -129, -129, -129, -129, 39, -129, -30, -129,
+ 102, -129, -129, 98, -129, -86, -55, -129, -129, 69,
+ 114, -129, -129, -35, -129, -129, -33, -129, -129, -129,
+ -129, -129, -15, -129, -8, -9, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -26, -129, 17, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -52, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, 165, -129, -129
};
/* YYDEFGOTO[NTERM-NUM]. */
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 67, 30, 59, 68, 78, 154, 103, 145, 146, 196,
- 127, 269, 187, 205, 211, 216, 192, 167, 147, 5,
- 110, -157, 57, 58, 111, 79, 207, 205, 1, 206,
- 128, 129, 130, 75, 92, 112, 103, 113, 4, 171,
- 115, 93, 217, 172, 103, 32, 148, 131, 131, 209,
- 6, 94, 18, 33, 34, 19, 81, 149, 150, 195,
- 197, 37, 95, 96, 97, 35, 7, 198, 144, 10,
- 98, 199, 163, 36, 165, 160, 161, 13, 164, 37,
- 99, 168, 168, 80, 16, 218, 57, 58, 81, 88,
- 89, 171, 230, 231, 21, 223, 103, 79, 154, 154,
- 244, 154, 174, 82, 83, 84, 255, 24, 131, 152,
- 256, 153, 27, 85, 233, 234, 49, 29, 50, 86,
- 87, 88, 89, 63, 53, 56, 55, 70, 72, 104,
- 105, 71, 108, 109, 106, 107, 117, 121, 126, 166,
- 125, 183, 201, 186, 221, 173, 200, 175, 176, 229,
- 228, 177, 208, 262, 131, 184, 220, 248, 239, 194,
- 250, 211, 222, 257, 226, 237, 270, 258, 238, 242,
- 259, 79, 252, 271, 261, 235, 263, 241, 268, 243,
- 193, 224, 170, 225, 254, 236, 227, 79, 210, 28,
- 142, 0, 0, 119, 245, 246, 116, 0, 247, 0,
+ 67, 30, 59, 68, 78, 154, 103, 187, 144, 196,
+ 146, 192, 269, 81, 1, 211, 147, 110, 216, 5,
+ 127, 111, -157, 205, 171, 79, 148, 198, 172, 4,
+ 112, 199, 113, 75, 207, 18, 103, 6, 19, 103,
+ 115, 128, 129, 130, 209, 217, 88, 89, 171, 7,
+ 131, 167, 223, 230, 231, 149, 57, 58, 131, 197,
+ 255, 205, 13, 206, 256, 195, 150, 131, 152, 145,
+ 153, 10, 163, 16, 165, 160, 161, 21, 164, 57,
+ 58, 168, 168, 80, 24, 218, 233, 234, 27, 81,
+ 29, 49, 50, 53, 56, 244, 103, 79, 154, 154,
+ 92, 154, 174, 32, 82, 83, 84, 93, 94, 55,
+ 63, 33, 34, 70, 85, 71, 104, 72, 95, 105,
+ 86, 87, 88, 89, 35, 106, 108, 107, 37, 96,
+ 97, 98, 36, 109, 117, 121, 126, 99, 37, 125,
+ 166, 173, 175, 183, 176, 200, 177, 201, 186, 221,
+ 228, 184, 208, 262, 194, 131, 220, 222, 229, 238,
+ 237, 239, 242, 248, 226, 252, 270, 250, 211, 257,
+ 258, 79, 259, 261, 263, 235, 268, 271, 241, 243,
+ 193, 170, 224, 28, 236, 116, 254, 79, 119, 143,
+ 225, 227, 142, 210, 245, 246, 0, 0, 247, 0,
249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 143, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
260, 0, 0, 266, 267
};
static const yytype_int16 yycheck[] =
{
- 35, 20, 32, 36, 55, 104, 61, 99, 9, 13,
- 4, 4, 135, 49, 34, 22, 139, 51, 19, 0,
- 46, 41, 56, 57, 50, 55, 62, 49, 20, 51,
- 24, 25, 26, 52, 14, 61, 91, 63, 41, 49,
- 70, 21, 49, 53, 99, 7, 47, 41, 41, 172,
- 52, 31, 49, 15, 16, 52, 23, 58, 59, 151,
- 64, 41, 42, 43, 44, 27, 17, 49, 98, 41,
- 50, 53, 107, 35, 109, 105, 106, 8, 108, 41,
- 60, 111, 112, 18, 36, 184, 56, 57, 23, 56,
- 57, 49, 11, 12, 5, 53, 151, 127, 197, 198,
- 223, 200, 121, 38, 39, 40, 49, 32, 41, 42,
- 53, 44, 41, 48, 12, 13, 13, 41, 34, 54,
- 55, 56, 57, 41, 47, 52, 48, 36, 41, 22,
- 36, 52, 33, 10, 30, 29, 46, 25, 52, 41,
- 48, 30, 6, 46, 13, 52, 37, 52, 52, 10,
- 201, 50, 171, 252, 41, 50, 41, 13, 41, 51,
- 28, 34, 52, 13, 199, 51, 265, 29, 52, 51,
- 10, 201, 53, 22, 13, 205, 41, 217, 41, 222,
- 141, 197, 112, 198, 238, 210, 200, 217, 176, 18,
- 90, -1, -1, 73, 229, 230, 71, -1, 231, -1,
+ 35, 20, 32, 36, 55, 104, 61, 135, 94, 14,
+ 4, 139, 5, 25, 21, 36, 10, 48, 24, 0,
+ 5, 52, 43, 51, 51, 55, 20, 51, 55, 43,
+ 61, 55, 63, 52, 62, 51, 91, 54, 54, 94,
+ 70, 26, 27, 28, 172, 51, 58, 59, 51, 18,
+ 43, 53, 55, 12, 13, 49, 58, 59, 43, 64,
+ 51, 51, 9, 53, 55, 151, 60, 43, 44, 99,
+ 46, 43, 107, 38, 109, 105, 106, 6, 108, 58,
+ 59, 111, 112, 19, 34, 184, 13, 14, 43, 25,
+ 43, 14, 36, 49, 54, 223, 151, 127, 197, 198,
+ 15, 200, 121, 8, 40, 41, 42, 22, 23, 50,
+ 43, 16, 17, 38, 50, 54, 24, 43, 33, 38,
+ 56, 57, 58, 59, 29, 32, 35, 31, 43, 44,
+ 45, 46, 37, 11, 48, 27, 54, 52, 43, 50,
+ 43, 54, 54, 32, 54, 39, 52, 7, 48, 14,
+ 201, 52, 171, 252, 53, 43, 43, 54, 11, 54,
+ 53, 43, 53, 14, 199, 55, 265, 30, 36, 14,
+ 31, 201, 11, 14, 43, 205, 43, 24, 217, 222,
+ 141, 112, 197, 18, 210, 71, 238, 217, 73, 91,
+ 198, 200, 90, 176, 229, 230, -1, -1, 231, -1,
233, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
250, -1, -1, 258, 259
};
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 20, 151, 152, 41, 0, 52, 17, 153, 154,
- 41, 155, 156, 8, 133, 134, 36, 157, 49, 52,
- 135, 5, 131, 158, 32, 136, 137, 41, 156, 41,
- 67, 70, 7, 15, 16, 27, 35, 41, 101, 105,
- 106, 107, 108, 109, 110, 114, 121, 123, 124, 13,
- 34, 139, 138, 47, 68, 48, 52, 56, 57, 93,
- 95, 96, 115, 41, 125, 93, 111, 108, 111, 102,
- 36, 52, 41, 140, 141, 67, 72, 73, 71, 93,
- 18, 23, 38, 39, 40, 48, 54, 55, 56, 57,
- 94, 97, 14, 21, 31, 42, 43, 44, 50, 60,
- 69, 98, 100, 101, 22, 36, 30, 29, 33, 10,
- 46, 50, 61, 63, 103, 93, 105, 46, 67, 86,
- 92, 25, 128, 129, 130, 48, 52, 4, 24, 25,
- 26, 41, 66, 74, 75, 76, 79, 80, 87, 88,
- 89, 90, 95, 98, 93, 100, 9, 19, 47, 58,
- 59, 99, 42, 44, 66, 116, 117, 118, 119, 120,
- 93, 93, 126, 108, 93, 108, 41, 51, 93, 104,
- 104, 49, 53, 52, 67, 52, 52, 50, 91, 142,
- 71, 77, 78, 30, 50, 81, 46, 74, 83, 84,
- 85, 86, 74, 91, 51, 100, 13, 64, 49, 53,
- 37, 6, 127, 112, 122, 49, 51, 62, 67, 74,
- 133, 34, 143, 144, 146, 147, 22, 49, 66, 82,
- 41, 13, 52, 53, 117, 119, 108, 120, 71, 10,
- 11, 12, 113, 12, 13, 93, 131, 51, 52, 41,
- 148, 78, 51, 85, 74, 108, 108, 111, 13, 111,
- 28, 132, 53, 145, 146, 49, 53, 13, 29, 10,
- 93, 13, 66, 41, 149, 150, 108, 108, 41, 4,
- 66, 22
+ 0, 21, 151, 152, 43, 0, 54, 18, 153, 154,
+ 43, 155, 156, 9, 133, 134, 38, 157, 51, 54,
+ 135, 6, 131, 158, 34, 136, 137, 43, 156, 43,
+ 67, 70, 8, 16, 17, 29, 37, 43, 101, 105,
+ 106, 107, 108, 109, 110, 114, 121, 123, 124, 14,
+ 36, 139, 138, 49, 68, 50, 54, 58, 59, 93,
+ 95, 96, 115, 43, 125, 93, 111, 108, 111, 102,
+ 38, 54, 43, 140, 141, 67, 72, 73, 71, 93,
+ 19, 25, 40, 41, 42, 50, 56, 57, 58, 59,
+ 94, 97, 15, 22, 23, 33, 44, 45, 46, 52,
+ 69, 98, 100, 101, 24, 38, 32, 31, 35, 11,
+ 48, 52, 61, 63, 103, 93, 105, 48, 67, 86,
+ 92, 27, 128, 129, 130, 50, 54, 5, 26, 27,
+ 28, 43, 66, 74, 75, 76, 79, 80, 87, 88,
+ 89, 90, 95, 98, 100, 93, 4, 10, 20, 49,
+ 60, 99, 44, 46, 66, 116, 117, 118, 119, 120,
+ 93, 93, 126, 108, 93, 108, 43, 53, 93, 104,
+ 104, 51, 55, 54, 67, 54, 54, 52, 91, 142,
+ 71, 77, 78, 32, 52, 81, 48, 74, 83, 84,
+ 85, 86, 74, 91, 53, 100, 14, 64, 51, 55,
+ 39, 7, 127, 112, 122, 51, 53, 62, 67, 74,
+ 133, 36, 143, 144, 146, 147, 24, 51, 66, 82,
+ 43, 14, 54, 55, 117, 119, 108, 120, 71, 11,
+ 12, 13, 113, 13, 14, 93, 131, 53, 54, 43,
+ 148, 78, 53, 85, 74, 108, 108, 111, 14, 111,
+ 30, 132, 55, 145, 146, 51, 55, 14, 31, 11,
+ 93, 14, 66, 43, 149, 150, 108, 108, 43, 5,
+ 66, 24
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
{
(yyval.node) = Trees_NewIdent((yyvsp[0].ident));
}
-#line 1709 "y.tab.c"
+#line 1713 "y.tab.c"
break;
case 3:
{
(yyval.node) = Trees_NewIdent(Util_String("%s.%s", (yyvsp[-2].ident), (yyvsp[0].ident)));
}
-#line 1717 "y.tab.c"
+#line 1721 "y.tab.c"
break;
case 4:
YYABORT;
}
}
-#line 1736 "y.tab.c"
+#line 1740 "y.tab.c"
break;
case 5:
{
(yyval.integer) = 1;
}
-#line 1744 "y.tab.c"
+#line 1748 "y.tab.c"
break;
case 6:
{
(yyval.integer) = 0;
}
-#line 1752 "y.tab.c"
+#line 1756 "y.tab.c"
break;
case 7:
{
(yyval.node) = Trees_NewInteger((yyvsp[0].integer));
}
-#line 1760 "y.tab.c"
+#line 1764 "y.tab.c"
break;
case 8:
{
(yyval.node) = Trees_NewReal((yyvsp[0].real));
}
-#line 1768 "y.tab.c"
+#line 1772 "y.tab.c"
break;
case 9:
YYABORT;
}
}
-#line 1785 "y.tab.c"
+#line 1789 "y.tab.c"
break;
case 10:
YYABORT;
}
}
-#line 1798 "y.tab.c"
+#line 1802 "y.tab.c"
break;
case 11:
YYABORT;
}
}
-#line 1822 "y.tab.c"
+#line 1826 "y.tab.c"
break;
case 12:
Table_Put((yyvsp[-1].node));
(yyval.node) = (yyvsp[-1].node);
}
-#line 1833 "y.tab.c"
+#line 1837 "y.tab.c"
break;
case 18:
exit(EXIT_FAILURE);
}
}
-#line 1854 "y.tab.c"
+#line 1858 "y.tab.c"
break;
case 19:
}
(yyval.node) = (yyvsp[-1].node);
}
-#line 1865 "y.tab.c"
+#line 1869 "y.tab.c"
break;
case 20:
{
(yyval.node) = Trees_NewNode(TREES_NOSYM, (yyvsp[0].node), NULL);
}
-#line 1873 "y.tab.c"
+#line 1877 "y.tab.c"
break;
case 21:
{
(yyval.node) = Trees_NewNode(TREES_NOSYM, (yyvsp[0].node), (yyvsp[-2].node));
}
-#line 1881 "y.tab.c"
+#line 1885 "y.tab.c"
break;
case 22:
YYABORT;
}
}
-#line 1902 "y.tab.c"
+#line 1906 "y.tab.c"
break;
case 23:
recordDeclarationStack = Trees_Right(recordDeclarationStack);
(yyval.node) = Types_NewRecord(Types_RecordBaseType((yyvsp[-2].node)), (yyvsp[-1].node));
}
-#line 1911 "y.tab.c"
+#line 1915 "y.tab.c"
break;
case 24:
}
recordDeclarationStack = Trees_NewNode(TREES_NOSYM, (yyval.node), recordDeclarationStack);
}
-#line 1923 "y.tab.c"
+#line 1927 "y.tab.c"
break;
case 25:
{
(yyval.node) = (yyvsp[-1].node);
}
-#line 1931 "y.tab.c"
+#line 1935 "y.tab.c"
break;
case 26:
{
(yyval.node) = NULL;
}
-#line 1939 "y.tab.c"
+#line 1943 "y.tab.c"
break;
case 27:
YYABORT;
}
}
-#line 1981 "y.tab.c"
+#line 1985 "y.tab.c"
break;
case 28:
Trees_ReverseList(&(yyvsp[0].node)); /*correct order*/
(yyval.node) = (yyvsp[0].node);
}
-#line 1990 "y.tab.c"
+#line 1994 "y.tab.c"
break;
case 29:
{
(yyval.node) = NULL;
}
-#line 1998 "y.tab.c"
+#line 2002 "y.tab.c"
break;
case 30:
{
(yyval.node) = Trees_NewNode(TREES_FIELD_LIST_SEQUENCE, (yyvsp[0].node), NULL);
}
-#line 2006 "y.tab.c"
+#line 2010 "y.tab.c"
break;
case 31:
}
(yyval.node) = Trees_NewNode(TREES_FIELD_LIST_SEQUENCE, (yyvsp[0].node), (yyvsp[-2].node));
}
-#line 2035 "y.tab.c"
+#line 2039 "y.tab.c"
break;
case 32:
YYABORT;
}
}
-#line 2085 "y.tab.c"
+#line 2089 "y.tab.c"
break;
case 33:
{
(yyval.node) = Trees_NewNode(TREES_IDENT_LIST, (yyvsp[0].node), NULL);
}
-#line 2093 "y.tab.c"
+#line 2097 "y.tab.c"
break;
case 34:
reversedIdents = Trees_NewNode(TREES_IDENT_LIST, (yyvsp[0].node), (yyvsp[-2].node));
(yyval.node) = reversedIdents;
}
-#line 2104 "y.tab.c"
+#line 2108 "y.tab.c"
break;
case 35:
YYABORT;
}
}
-#line 2140 "y.tab.c"
+#line 2144 "y.tab.c"
break;
case 36:
Trees_SetType(Types_NewPointer(NULL), currentTypeIdentdef); /*incomplete type*/
}
}
-#line 2150 "y.tab.c"
+#line 2154 "y.tab.c"
break;
case 37:
{
(yyval.node) = (yyvsp[0].node);
}
-#line 2158 "y.tab.c"
+#line 2162 "y.tab.c"
break;
case 38:
{
(yyval.node) = NULL;
}
-#line 2166 "y.tab.c"
+#line 2170 "y.tab.c"
break;
case 40:
{
(yyval.node) = Trees_NewLeaf(PROCEDURE);
}
-#line 2174 "y.tab.c"
+#line 2178 "y.tab.c"
break;
case 41:
exit(EXIT_FAILURE);
}
}
-#line 2210 "y.tab.c"
+#line 2214 "y.tab.c"
break;
case 43:
YYABORT;
}
}
-#line 2258 "y.tab.c"
+#line 2262 "y.tab.c"
break;
case 44:
{
(yyval.integer) = '=';
}
-#line 2266 "y.tab.c"
+#line 2270 "y.tab.c"
break;
case 45:
{
(yyval.integer) = NOT_EQ;
}
-#line 2274 "y.tab.c"
+#line 2278 "y.tab.c"
break;
case 46:
{
(yyval.integer) = '<';
}
-#line 2282 "y.tab.c"
+#line 2286 "y.tab.c"
break;
case 47:
{
(yyval.integer) = LE;
}
-#line 2290 "y.tab.c"
+#line 2294 "y.tab.c"
break;
case 48:
{
(yyval.integer) = '>';
}
-#line 2298 "y.tab.c"
+#line 2302 "y.tab.c"
break;
case 49:
{
(yyval.integer) = GE;
}
-#line 2306 "y.tab.c"
+#line 2310 "y.tab.c"
break;
case 50:
{
(yyval.integer) = IS;
}
-#line 2314 "y.tab.c"
+#line 2318 "y.tab.c"
break;
case 51:
}
}
}
-#line 2340 "y.tab.c"
+#line 2344 "y.tab.c"
break;
case 52:
}
assert((yyval.node) != NULL);
}
-#line 2370 "y.tab.c"
+#line 2374 "y.tab.c"
break;
case 53:
{
(yyval.integer) = '+';
}
-#line 2378 "y.tab.c"
+#line 2382 "y.tab.c"
break;
case 54:
{
(yyval.integer) = '-';
}
-#line 2386 "y.tab.c"
+#line 2390 "y.tab.c"
break;
case 55:
{
(yyval.integer) = -1;
}
-#line 2394 "y.tab.c"
+#line 2398 "y.tab.c"
break;
case 56:
{
(yyval.integer) = '+';
}
-#line 2402 "y.tab.c"
+#line 2406 "y.tab.c"
break;
case 57:
{
(yyval.integer) = '-';
}
-#line 2410 "y.tab.c"
+#line 2414 "y.tab.c"
break;
case 58:
{
(yyval.integer) = OR;
}
-#line 2418 "y.tab.c"
+#line 2422 "y.tab.c"
break;
case 60:
assert((yyval.node) != NULL);
}
-#line 2449 "y.tab.c"
+#line 2453 "y.tab.c"
break;
case 61:
{
(yyval.integer) = '*';
}
-#line 2457 "y.tab.c"
+#line 2461 "y.tab.c"
break;
case 62:
{
(yyval.integer) = '/';
}
-#line 2465 "y.tab.c"
+#line 2469 "y.tab.c"
break;
case 63:
{
(yyval.integer) = DIV;
}
-#line 2473 "y.tab.c"
+#line 2477 "y.tab.c"
break;
case 64:
{
(yyval.integer) = MOD;
}
-#line 2481 "y.tab.c"
+#line 2485 "y.tab.c"
break;
case 65:
#line 901 "Oberon.y"
{
- (yyval.integer) = '&';
+ (yyval.integer) = AND;
}
-#line 2489 "y.tab.c"
+#line 2493 "y.tab.c"
break;
case 67:
{
(yyval.node) = Trees_NewString((yyvsp[0].string));
}
-#line 2497 "y.tab.c"
+#line 2501 "y.tab.c"
break;
case 68:
(yyval.node) = Trees_NewLeaf(NIL);
Trees_SetType(Trees_NewLeaf(TREES_NIL_TYPE), (yyval.node));
}
-#line 2506 "y.tab.c"
+#line 2510 "y.tab.c"
break;
case 69:
{
(yyval.node) = Trees_NewBoolean(1);
}
-#line 2514 "y.tab.c"
+#line 2518 "y.tab.c"
break;
case 70:
{
(yyval.node) = Trees_NewBoolean(0);
}
-#line 2522 "y.tab.c"
+#line 2526 "y.tab.c"
break;
case 71:
}
assert((yyval.node) != NULL);
}
-#line 2546 "y.tab.c"
+#line 2550 "y.tab.c"
break;
case 72:
CheckIsValueExpression((yyvsp[-1].node));
(yyval.node) = (yyvsp[-1].node);
}
-#line 2555 "y.tab.c"
+#line 2559 "y.tab.c"
break;
case 73:
{
(yyval.node) = NULL;
CheckIsValueExpression((yyvsp[0].node));
- if (Types_ExpressionCompatible('~', Trees_Type((yyvsp[0].node)), NULL)) {
+ if (Types_ExpressionCompatible(NOT, Trees_Type((yyvsp[0].node)), NULL)) {
if (IsBoolean((yyvsp[0].node))) {
(yyval.node) = Trees_NewBoolean(! Trees_Boolean((yyvsp[0].node)));
} else {
- (yyval.node) = Trees_NewNode('~', (yyvsp[0].node), NULL);
+ (yyval.node) = Trees_NewNode(NOT, (yyvsp[0].node), NULL);
Trees_SetType(Trees_NewLeaf(TREES_BOOLEAN_TYPE), (yyval.node));
}
} else {
- Oberon_PrintError("error: incompatible type in operation \"~\": %s", TypeString(Trees_Type((yyvsp[0].node))));
+ Oberon_PrintError("error: incompatible type in operation \"not\": %s", TypeString(Trees_Type((yyvsp[0].node))));
YYABORT;
}
assert((yyval.node) != NULL);
}
-#line 2576 "y.tab.c"
+#line 2580 "y.tab.c"
break;
case 74:
(yyval.node) = designator;
}
}
-#line 2597 "y.tab.c"
+#line 2601 "y.tab.c"
break;
case 75:
(yyval.node) = Trees_NewNode(Trees_Symbol((yyvsp[0].node)), Trees_Left((yyvsp[0].node)), (yyvsp[-1].node));
}
}
-#line 2619 "y.tab.c"
+#line 2623 "y.tab.c"
break;
case 76:
{
(yyval.node) = NULL;
}
-#line 2627 "y.tab.c"
+#line 2631 "y.tab.c"
break;
case 77:
Trees_SetKind(TREES_FIELD_KIND, field);
(yyval.node) = Trees_NewNode('.', field, NULL);
}
-#line 2639 "y.tab.c"
+#line 2643 "y.tab.c"
break;
case 78:
curr = Trees_Right(curr);
} while (curr != NULL);
}
-#line 2661 "y.tab.c"
+#line 2665 "y.tab.c"
break;
case 79:
{
(yyval.node) = Trees_NewNode('^', NULL, NULL);
}
-#line 2669 "y.tab.c"
+#line 2673 "y.tab.c"
break;
case 80:
Trees_ReverseList(&(yyvsp[-1].node)); /*correct order*/
(yyval.node) = Trees_NewNode('(', (yyvsp[-1].node), NULL);
}
-#line 2678 "y.tab.c"
+#line 2682 "y.tab.c"
break;
case 81:
{
(yyval.node) = Trees_NewNode('(', NULL, NULL);
}
-#line 2686 "y.tab.c"
+#line 2690 "y.tab.c"
break;
case 82:
(yyval.node) = Trees_NewNode(TREES_EXP_LIST, (yyvsp[0].node), NULL);
Trees_SetType(Trees_Type((yyvsp[0].node)), (yyval.node));
}
-#line 2695 "y.tab.c"
+#line 2699 "y.tab.c"
break;
case 83:
(yyval.node) = reversedList;
Trees_SetType(Trees_Type((yyvsp[0].node)), (yyval.node));
}
-#line 2707 "y.tab.c"
+#line 2711 "y.tab.c"
break;
case 91:
{
(yyval.node) = NULL;
}
-#line 2715 "y.tab.c"
+#line 2719 "y.tab.c"
break;
case 92:
assert(0);
}
}
-#line 2758 "y.tab.c"
+#line 2762 "y.tab.c"
break;
case 93:
HandleProcedureCall(designator, actualParameters, isFunctionCall, &(yyval.node));
assert((yyval.node) != NULL);
}
-#line 2777 "y.tab.c"
+#line 2781 "y.tab.c"
break;
case 94:
Trees_ReverseList(&(yyvsp[0].node)); /*correct order*/
(yyval.node) = (yyvsp[0].node);
}
-#line 2786 "y.tab.c"
+#line 2790 "y.tab.c"
break;
case 95:
(yyval.node) = Trees_NewNode(TREES_STATEMENT_SEQUENCE, (yyvsp[0].node), NULL);
}
}
-#line 2798 "y.tab.c"
+#line 2802 "y.tab.c"
break;
case 96:
(yyval.node) = (yyvsp[-2].node);
}
}
-#line 2810 "y.tab.c"
+#line 2814 "y.tab.c"
break;
case 97:
(yyval.node) = Trees_NewNode(IF, (yyvsp[-5].node), Trees_NewNode(THEN, (yyvsp[-3].node), (yyval.node)));
}
}
-#line 2834 "y.tab.c"
+#line 2838 "y.tab.c"
break;
case 98:
YYABORT;
}
}
-#line 2848 "y.tab.c"
+#line 2852 "y.tab.c"
break;
case 99:
{
(yyval.node) = Trees_NewNode(ELSIF, (yyvsp[-2].node), Trees_NewNode(THEN, (yyvsp[0].node), (yyvsp[-4].node)));
}
-#line 2856 "y.tab.c"
+#line 2860 "y.tab.c"
break;
case 100:
{
(yyval.node) = NULL;
}
-#line 2864 "y.tab.c"
+#line 2868 "y.tab.c"
break;
case 101:
{
(yyval.node) = Trees_NewNode(ELSE, (yyvsp[0].node), NULL);
}
-#line 2872 "y.tab.c"
+#line 2876 "y.tab.c"
break;
case 102:
{
(yyval.node) = NULL;
}
-#line 2880 "y.tab.c"
+#line 2884 "y.tab.c"
break;
case 103:
}
(yyval.node) = Trees_NewNode(CASE, (yyvsp[-3].node), (yyvsp[-1].node));
}
-#line 2902 "y.tab.c"
+#line 2906 "y.tab.c"
break;
case 104:
YYABORT;
}
}
-#line 2941 "y.tab.c"
+#line 2945 "y.tab.c"
break;
case 105:
(yyval.node) = NULL;
}
}
-#line 2953 "y.tab.c"
+#line 2957 "y.tab.c"
break;
case 106:
(yyval.node) = NULL;
}
}
-#line 2969 "y.tab.c"
+#line 2973 "y.tab.c"
break;
case 107:
Trees_ReverseList(&(yyvsp[-2].node)); /*correct order*/
(yyval.node) = Trees_NewNode(TREES_CASE, (yyvsp[-2].node), (yyvsp[0].node));
}
-#line 2978 "y.tab.c"
+#line 2982 "y.tab.c"
break;
case 108:
{
(yyval.node) = NULL;
}
-#line 2986 "y.tab.c"
+#line 2990 "y.tab.c"
break;
case 109:
{
(yyval.node) = Trees_NewNode(TREES_CASE_LABEL_LIST, (yyvsp[0].node), NULL);
}
-#line 2994 "y.tab.c"
+#line 2998 "y.tab.c"
break;
case 110:
YYABORT;
}
}
-#line 3011 "y.tab.c"
+#line 3015 "y.tab.c"
break;
case 111:
Trees_NewNode(TREES_NOSYM, (yyvsp[0].node), Trees_Left(caseLabelsStack)),
Trees_Right(caseLabelsStack));
}
-#line 3024 "y.tab.c"
+#line 3028 "y.tab.c"
break;
case 112:
Trees_NewNode(TREES_NOSYM, (yyval.node), Trees_Left(caseLabelsStack)),
Trees_Right(caseLabelsStack));
}
-#line 3072 "y.tab.c"
+#line 3076 "y.tab.c"
break;
case 113:
YYABORT;
}
}
-#line 3085 "y.tab.c"
+#line 3089 "y.tab.c"
break;
case 114:
YYABORT;
}
}
-#line 3103 "y.tab.c"
+#line 3107 "y.tab.c"
break;
case 115:
YYABORT;
}
}
-#line 3189 "y.tab.c"
+#line 3193 "y.tab.c"
break;
case 116:
{
(yyval.node) = Trees_NewNode(WHILE, (yyvsp[-4].node), Trees_NewNode(DO, (yyvsp[-2].node), (yyvsp[-1].node)));
}
-#line 3197 "y.tab.c"
+#line 3201 "y.tab.c"
break;
case 117:
{
(yyval.node) = Trees_NewNode(ELSIF, (yyvsp[-2].node), Trees_NewNode(THEN, (yyvsp[0].node), (yyvsp[-4].node)));
}
-#line 3205 "y.tab.c"
+#line 3209 "y.tab.c"
break;
case 118:
{
(yyval.node) = NULL;
}
-#line 3213 "y.tab.c"
+#line 3217 "y.tab.c"
break;
case 119:
YYABORT;
}
}
-#line 3228 "y.tab.c"
+#line 3232 "y.tab.c"
break;
case 120:
(yyvsp[-4].node),
Trees_NewNode(BY, byExp, (yyvsp[-1].node))));
}
-#line 3247 "y.tab.c"
+#line 3251 "y.tab.c"
break;
case 121:
YYABORT;
}
}
-#line 3275 "y.tab.c"
+#line 3279 "y.tab.c"
break;
case 122:
YYABORT;
}
}
-#line 3287 "y.tab.c"
+#line 3291 "y.tab.c"
break;
case 123:
YYABORT;
}
}
-#line 3308 "y.tab.c"
+#line 3312 "y.tab.c"
break;
case 124:
{
(yyval.node) = NULL;
}
-#line 3316 "y.tab.c"
+#line 3320 "y.tab.c"
break;
case 125:
YYABORT;
}
}
-#line 3367 "y.tab.c"
+#line 3371 "y.tab.c"
break;
case 126:
Generate_ProcedureHeading((yyvsp[-1].node));
(yyval.node) = (yyvsp[-1].node);
}
-#line 3389 "y.tab.c"
+#line 3393 "y.tab.c"
break;
case 127:
}
(yyval.node) = (yyvsp[0].node);
}
-#line 3405 "y.tab.c"
+#line 3409 "y.tab.c"
break;
case 128:
{
(yyval.node) = (yyvsp[0].node);
}
-#line 3413 "y.tab.c"
+#line 3417 "y.tab.c"
break;
case 129:
{
(yyval.node) = NULL;
}
-#line 3421 "y.tab.c"
+#line 3425 "y.tab.c"
break;
case 130:
{
(yyval.node) = (yyvsp[0].node);
}
-#line 3429 "y.tab.c"
+#line 3433 "y.tab.c"
break;
case 131:
{
(yyval.node) = NULL;
}
-#line 3437 "y.tab.c"
+#line 3441 "y.tab.c"
break;
case 137:
YYABORT;
}
}
-#line 3452 "y.tab.c"
+#line 3456 "y.tab.c"
break;
case 138:
{
(yyval.node) = NULL;
}
-#line 3460 "y.tab.c"
+#line 3464 "y.tab.c"
break;
case 139:
{
unresolvedPointerTypes = NULL;
}
-#line 3468 "y.tab.c"
+#line 3472 "y.tab.c"
break;
case 148:
{
(yyval.node) = Types_NewProcedure((yyvsp[-2].node), (yyvsp[0].node));
}
-#line 3476 "y.tab.c"
+#line 3480 "y.tab.c"
break;
case 149:
Trees_ReverseList(&(yyvsp[0].node)); /*correct order*/
(yyval.node) = (yyvsp[0].node);
}
-#line 3485 "y.tab.c"
+#line 3489 "y.tab.c"
break;
case 150:
{
(yyval.node) = NULL;
}
-#line 3493 "y.tab.c"
+#line 3497 "y.tab.c"
break;
case 151:
(yyval.node) = (yyvsp[0].node);
Trees_ReverseList(&(yyval.node));
}
-#line 3502 "y.tab.c"
+#line 3506 "y.tab.c"
break;
case 152:
} while (p != NULL);
/*$$ in reversed order*/
}
-#line 3536 "y.tab.c"
+#line 3540 "y.tab.c"
break;
case 153:
YYABORT;
}
}
-#line 3559 "y.tab.c"
+#line 3563 "y.tab.c"
break;
case 154:
{
(yyval.node) = NULL;
}
-#line 3567 "y.tab.c"
+#line 3571 "y.tab.c"
break;
case 155:
(yyval.node) = (yyvsp[-2].node);
}
-#line 3587 "y.tab.c"
+#line 3591 "y.tab.c"
break;
case 156:
{
(yyval.integer) = TREES_VAR_PARAM_KIND;
}
-#line 3595 "y.tab.c"
+#line 3599 "y.tab.c"
break;
case 157:
{
(yyval.integer) = TREES_VALUE_PARAM_KIND;
}
-#line 3603 "y.tab.c"
+#line 3607 "y.tab.c"
break;
case 158:
{
(yyval.node) = Trees_NewNode(TREES_IDENT_LIST, Trees_NewIdent((yyvsp[0].ident)), NULL);
}
-#line 3611 "y.tab.c"
+#line 3615 "y.tab.c"
break;
case 159:
(yyval.node) = Trees_NewNode(TREES_IDENT_LIST, Trees_NewIdent((yyvsp[0].ident)), (yyvsp[-2].node));
}
-#line 3633 "y.tab.c"
+#line 3637 "y.tab.c"
break;
case 160:
exit(EXIT_FAILURE);
}
}
-#line 3650 "y.tab.c"
+#line 3654 "y.tab.c"
break;
case 161:
{
(yyval.node) = Trees_NewNode(ARRAY, NULL, (yyvsp[-2].node));
}
-#line 3658 "y.tab.c"
+#line 3662 "y.tab.c"
break;
case 162:
{
(yyval.node) = NULL;
}
-#line 3666 "y.tab.c"
+#line 3670 "y.tab.c"
break;
case 163:
YYABORT;
}
}
-#line 3693 "y.tab.c"
+#line 3697 "y.tab.c"
break;
case 164:
YYABORT;
}
}
-#line 3708 "y.tab.c"
+#line 3712 "y.tab.c"
break;
case 165:
YYACCEPT;
}
}
-#line 3718 "y.tab.c"
+#line 3722 "y.tab.c"
break;
case 166:
YYACCEPT;
}
}
-#line 3728 "y.tab.c"
+#line 3732 "y.tab.c"
break;
case 167:
}
}
}
-#line 3765 "y.tab.c"
+#line 3769 "y.tab.c"
break;
case 168:
(yyval.node) = NULL;
}
}
-#line 3777 "y.tab.c"
+#line 3781 "y.tab.c"
break;
case 169:
(yyval.node) = (yyvsp[-2].node);
}
}
-#line 3789 "y.tab.c"
+#line 3793 "y.tab.c"
break;
case 170:
YYABORT;
}
}
-#line 3865 "y.tab.c"
+#line 3869 "y.tab.c"
break;
case 171:
{
(yyval.ident) = (yyvsp[0].ident);
}
-#line 3873 "y.tab.c"
+#line 3877 "y.tab.c"
break;
case 172:
{
(yyval.ident) = NULL;
}
-#line 3881 "y.tab.c"
+#line 3885 "y.tab.c"
break;
case 173:
{
Generate_ModuleStatements((yyvsp[0].node));
}
-#line 3889 "y.tab.c"
+#line 3893 "y.tab.c"
break;
-#line 3893 "y.tab.c"
+#line 3897 "y.tab.c"
default: break;
}
}
}
break;
- case '&':
+ case AND:
if (IsBoolean(expA) && IsBoolean(expB)) {
if (Trees_Symbol(expA) == TRUE) {
result = expB;
case OR:
result = "OR";
break;
- case '&':
- result = "&";
+ case AND:
+ result = "AND";
break;
- case '~':
- result = "~";
+ case NOT:
+ result = "not";
break;
case '=':
result = "=";