extern char *malloc(), *realloc(); # line 52 "vhdl.yacc" #include # line 56 "vhdl.yacc" typedef union { struct{ int pos; int len; int line; char *name; } ds_Id; } YYSTYPE; # define t_ACCESS 257 # define t_AFTER 258 # define t_ALIAS 259 # define t_ALL 260 # define t_AND 261 # define t_ARCHITECTURE 262 # define t_ARRAY 263 # define t_ASSERT 264 # define t_ATTRIBUTE 265 # define t_BEGIN 266 # define t_BLOCK 267 # define t_BODY 268 # define t_BUFFER 269 # define t_BUS 270 # define t_CASE 271 # define t_COMPONENT 272 # define t_CONFIGURATION 273 # define t_CONSTANT 274 # define t_DISCONNECT 275 # define t_DOWNTO 276 # define t_ELSE 277 # define t_ELSIF 278 # define t_END 279 # define t_ENTITY 280 # define t_EXIT 281 # define t_FILE 282 # define t_FOR 283 # define t_FUNCTION 284 # define t_GENERATE 285 # define t_GENERIC 286 # define t_GUARDED 287 # define t_IF 288 # define t_IN 289 # define t_INOUT 290 # define t_IS 291 # define t_LABEL 292 # define t_LIBRARY 293 # define t_LINKAGE 294 # define t_LOOP 295 # define t_MAP 296 # define t_NAND 297 # define t_NEW 298 # define t_NEXT 299 # define t_NOR 300 # define t_NULL 301 # define t_OF 302 # define t_ON 303 # define t_OPEN 304 # define t_OR 305 # define t_OTHERS 306 # define t_OUT 307 # define t_PACKAGE 308 # define t_PORT 309 # define t_PROCEDURE 310 # define t_PROCESS 311 # define t_RANGE 312 # define t_RECORD 313 # define t_REGISTER 314 # define t_REPORT 315 # define t_RETURN 316 # define t_SELECT 317 # define t_SEVERITY 318 # define t_SIGNAL 319 # define t_SUBTYPE 320 # define t_THEN 321 # define t_TO 322 # define t_TRANSPORT 323 # define t_TYPE 324 # define t_UNITS 325 # define t_UNTIL 326 # define t_USE 327 # define t_VARIABLE 328 # define t_WAIT 329 # define t_WHEN 330 # define t_WHILE 331 # define t_WITH 332 # define t_XOR 333 # define t_EQSym 334 # define t_NESym 335 # define t_LTSym 336 # define t_LESym 337 # define t_GTSym 338 # define t_GESym 339 # define t_Plus 340 # define t_Minus 341 # define t_Ampersand 342 # define MED_PRECEDENCE 343 # define t_Star 344 # define t_Slash 345 # define t_MOD 346 # define t_REM 347 # define t_DoubleStar 348 # define t_ABS 349 # define t_NOT 350 # define MAX_PRECEDENCE 351 # define t_Apostrophe 352 # define t_LeftParen 353 # define t_RightParen 354 # define t_Comma 355 # define t_VarAsgn 356 # define t_Colon 357 # define t_Semicolon 358 # define t_Arrow 359 # define t_Box 360 # define t_Bar 361 # define t_Dot 362 # define t_Identifier 363 # define t_AbstractLit 364 # define t_CharacterLit 365 # define t_StringLit 366 # define t_BitStringLit 367 #define yyclearin yychar = -1 #define yyerrok yyerrflag = 0 extern int yychar; extern int yyerrflag; #ifndef YYMAXDEPTH #define YYMAXDEPTH 150 #endif YYSTYPE yylval, yyval; # define YYERRCODE 256 # line 929 "vhdl.yacc" extern FILE* yyout; void yyerror(str) char* str; { fprintf( yyout, "ERROR: %s\n", str ); } /************************************************************ * RESOLVED BUGS * J.Gaisler reported: * Range attributes in FOR loops are not supported * Unary minus not supported in second argument to relational exp. * Thorsten Groetker * precedence and associtivity of operators * (formal=>actual) was permitted in gen_associatin_list * and thus in subtype_indic e.g. ************************************************************* * OTHER KNOWN PROBLEMS: * the grammar allows expressions: 3*-5 thats pretty nice but illegal * in VHDL - only 3*(-5) is permitted from LRM. *************************************************************/ int yyexca[] ={ -1, 1, 0, -1, -2, 0, -1, 3, 0, 2, -2, 21, -1, 36, 355, 32, 358, 32, -2, 163, -1, 165, 355, 33, 358, 33, -2, 163, -1, 297, 362, 201, -2, 280, -1, 300, 355, 230, -2, 235, -1, 309, 362, 201, -2, 225, -1, 336, 362, 201, -2, 275, -1, 367, 359, 235, 361, 235, -2, 230, -1, 382, 362, 201, -2, 517, -1, 401, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 188, -1, 402, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 189, -1, 403, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 190, -1, 404, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 191, -1, 405, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 192, -1, 406, 334, 0, 335, 0, 336, 0, 337, 0, 338, 0, 339, 0, -2, 193, -1, 411, 352, 210, 353, 210, 362, 210, -2, 281, -1, 415, 269, 291, 270, 291, 285, 291, 291, 291, 295, 291, 314, 291, 325, 291, 354, 291, 355, 291, 356, 291, 358, 291, 359, 291, 361, 291, -2, 204, -1, 423, 352, 210, 353, 210, 362, 210, -2, 226, -1, 424, 362, 201, -2, 227, -1, 455, 269, 276, 270, 276, 285, 276, 291, 276, 295, 276, 314, 276, 354, 276, 355, 276, 356, 276, 358, 276, -2, 210, -1, 472, 362, 201, -2, 118, -1, 496, 283, 473, 295, 473, 331, 473, -2, 431, -1, 502, 362, 201, -2, 527, -1, 504, 355, 230, -2, 235, -1, 511, 352, 210, 353, 210, 362, 210, -2, 228, -1, 517, 355, 18, 357, 18, -2, 162, -1, 545, 354, 275, 355, 275, -2, 201, -1, 551, 362, 201, -2, 271, -1, 715, 285, 275, 295, 275, 354, 275, 355, 275, -2, 201, -1, 745, 359, 159, -2, 195, }; # define YYNPROD 529 # define YYLAST 1176 int yyact[]={ 416, 685, 292, 742, 337, 301, 771, 495, 744, 154, 654, 90, 186, 543, 656, 51, 544, 488, 493, 377, 42, 111, 458, 547, 483, 38, 159, 463, 303, 53, 151, 256, 430, 188, 250, 37, 249, 302, 157, 95, 304, 91, 94, 92, 375, 266, 546, 172, 33, 299, 260, 296, 113, 636, 40, 863, 160, 41, 38, 791, 40, 114, 40, 41, 152, 41, 122, 153, 132, 57, 66, 692, 63, 65, 104, 327, 105, 198, 853, 169, 196, 38, 200, 299, 142, 305, 460, 824, 459, 296, 113, 140, 160, 296, 113, 638, 47, 810, 171, 171, 40, 803, 161, 41, 40, 198, 143, 41, 196, 146, 674, 747, 38, 666, 173, 563, 185, 541, 179, 181, 182, 326, 37, 112, 113, 34, 427, 643, 183, 184, 141, 110, 191, 199, 40, 359, 362, 41, 161, 409, 110, 167, 40, 192, 193, 41, 194, 181, 182, 170, 170, 306, 216, 218, 174, 695, 183, 184, 38, 517, 191, 211, 41, 208, 210, 209, 235, 237, 255, 203, 40, 192, 193, 41, 194, 201, 164, 163, 152, 34, 150, 153, 152, 148, 168, 153, 147, 40, 297, 259, 41, 46, 300, 145, 185, 34, 179, 144, 37, 138, 137, 309, 136, 134, 119, 48, 45, 44, 110, 509, 703, 37, 253, 252, 251, 836, 314, 198, 112, 113, 196, 787, 510, 418, 448, 867, 198, 331, 332, 196, 336, 156, 865, 336, 336, 336, 336, 37, 37, 330, 37, 864, 861, 37, 37, 37, 37, 109, 315, 858, 108, 325, 317, 254, 106, 361, 856, 107, 364, 181, 182, 367, 832, 185, 830, 179, 382, 386, 183, 184, 823, 822, 191, 816, 335, 815, 37, 353, 354, 355, 356, 191, 40, 192, 193, 41, 194, 806, 800, 797, 784, 40, 192, 193, 41, 194, 780, 777, 149, 773, 258, 374, 762, 371, 373, 372, 759, 750, 732, 367, 723, 185, 424, 179, 422, 706, 705, 675, 653, 411, 415, 257, 37, 414, 651, 630, 627, 626, 625, 623, 410, 423, 620, 106, 552, 608, 220, 38, 254, 297, 536, 474, 260, 513, 498, 446, 421, 450, 473, 37, 439, 106, 248, 550, 336, 41, 467, 485, 455, 447, 472, 338, 484, 475, 37, 319, 106, 264, 318, 38, 37, 221, 106, 255, 231, 351, 106, 464, 227, 494, 214, 349, 38, 502, 149, 258, 173, 123, 185, 682, 179, 224, 501, 37, 259, 477, 678, 476, 465, 443, 352, 360, 263, 497, 233, 232, 257, 225, 818, 820, 504, 740, 185, 688, 179, 679, 700, 702, 857, 506, 367, 539, 185, 469, 179, 422, 174, 260, 766, 268, 299, 350, 336, 503, 697, 699, 661, 40, 631, 633, 41, 268, 37, 518, 38, 534, 511, 383, 385, 559, 537, 307, 308, 419, 132, 793, 334, 507, 106, 710, 299, 614, 505, 581, 545, 112, 113, 296, 113, 551, 553, 348, 560, 686, 38, 267, 514, 115, 113, 37, 516, 52, 415, 558, 556, 562, 461, 267, 566, 366, 290, 449, 658, 363, 38, 112, 113, 485, 752, 38, 112, 113, 271, 555, 572, 833, 613, 612, 831, 255, 616, 617, 185, 772, 179, 112, 113, 731, 726, 417, 716, 622, 22, 571, 262, 259, 737, 751, 605, 457, 259, 593, 579, 586, 576, 578, 577, 580, 615, 734, 628, 198, 59, 570, 196, 672, 860, 565, 297, 727, 357, 336, 124, 336, 491, 642, 772, 487, 37, 646, 55, 37, 704, 37, 770, 624, 652, 455, 453, 657, 268, 649, 827, 481, 479, 478, 464, 640, 761, 708, 610, 659, 329, 181, 182, 112, 113, 270, 280, 289, 277, 278, 183, 184, 50, 637, 191, 641, 127, 664, 681, 667, 753, 703, 22, 677, 40, 192, 193, 41, 194, 336, 454, 548, 663, 466, 267, 220, 281, 282, 279, 37, 280, 289, 277, 278, 670, 287, 288, 285, 283, 286, 284, 281, 282, 279, 120, 280, 289, 277, 278, 380, 691, 128, 117, 434, 298, 844, 379, 711, 712, 690, 129, 715, 828, 683, 696, 415, 801, 684, 414, 709, 648, 647, 38, 431, 433, 714, 611, 841, 435, 415, 381, 729, 722, 728, 720, 724, 471, 470, 735, 442, 312, 432, 38, 521, 741, 746, 311, 748, 230, 229, 202, 118, 494, 524, 523, 532, 116, 745, 738, 650, 755, 520, 859, 715, 490, 529, 799, 788, 645, 500, 37, 754, 223, 525, 28, 764, 297, 756, 767, 763, 561, 415, 758, 436, 782, 774, 37, 441, 55, 522, 778, 528, 657, 775, 776, 455, 783, 515, 84, 785, 530, 527, 779, 849, 843, 526, 839, 840, 269, 531, 814, 749, 721, 82, 336, 713, 583, 445, 101, 313, 238, 83, 130, 87, 37, 657, 804, 796, 657, 535, 847, 616, 619, 185, 854, 179, 812, 719, 807, 805, 99, 817, 178, 609, 75, 499, 746, 189, 254, 86, 15, 378, 4, 158, 821, 598, 6, 689, 792, 81, 621, 829, 825, 80, 133, 599, 22, 93, 440, 321, 98, 85, 600, 438, 58, 26, 835, 97, 437, 746, 274, 320, 842, 602, 180, 603, 24, 36, 845, 219, 616, 745, 185, 23, 179, 846, 131, 328, 64, 851, 604, 68, 848, 222, 855, 850, 21, 781, 67, 736, 680, 733, 676, 606, 730, 673, 272, 852, 668, 273, 601, 25, 838, 837, 275, 813, 866, 725, 428, 665, 834, 811, 564, 486, 341, 597, 596, 260, 595, 594, 22, 592, 591, 590, 589, 588, 587, 607, 585, 584, 41, 496, 276, 287, 288, 285, 283, 286, 284, 281, 282, 279, 84, 280, 289, 277, 278, 660, 77, 794, 582, 574, 809, 492, 165, 76, 365, 82, 78, 802, 808, 769, 84, 768, 569, 83, 100, 87, 77, 88, 489, 718, 213, 765, 717, 76, 655, 82, 78, 212, 568, 567, 412, 760, 798, 83, 100, 87, 826, 84, 795, 862, 757, 86, 84, 77, 573, 707, 644, 557, 77, 368, 79, 81, 82, 247, 246, 80, 245, 82, 22, 244, 83, 86, 87, 243, 242, 83, 84, 87, 241, 240, 79, 81, 77, 239, 310, 80, 155, 671, 22, 76, 669, 82, 78, 482, 480, 533, 60, 444, 86, 83, 519, 87, 322, 86, 291, 293, 294, 295, 81, 324, 323, 333, 80, 81, 226, 22, 376, 80, 139, 554, 22, 376, 739, 84, 452, 538, 451, 86, 468, 77, 206, 701, 635, 413, 456, 639, 79, 81, 82, 78, 549, 80, 462, 698, 22, 634, 83, 694, 87, 693, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 629, 540, 632, 86, 542, 347, 346, 345, 344, 343, 342, 340, 79, 81, 339, 228, 508, 80, 420, 425, 22, 512, 197, 166, 43, 39, 190, 177, 176, 175, 743, 384, 265, 819, 786, 126, 687, 618, 429, 125, 316, 215, 408, 369, 662, 261, 236, 234, 575, 370, 96, 74, 73, 72, 71, 70, 69, 103, 102, 162, 32, 20, 62, 61, 135, 30, 18, 56, 54, 217, 29, 17, 89, 358, 31, 19, 207, 205, 426, 204, 121, 49, 27, 16, 35, 14, 13, 12, 11, 10, 9, 8, 7, 5, 790, 789, 195, 187, 3, 2, 1 }; int yypact[]={ -1000, -1000, -1000, -1000, -1000, 555, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 430, -1000, -1000, -1000, -1000, -238, -309, -156, -157, -172, -158, 285, 128, 277, 721, 665, 481, -101, -1000, -108, -1000, -154, 113, 125, -1000, -1000, -1000, -1000, 407, 342, 402, -159, 334, -1000, 128, 29, 324, 485, -1000, -309, -1000, -1000, -1000, -160, -161, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -163, -164, -176, -238, -166, -170, -238, -177, -180, 26, -183, -299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -60, -168, -186, -1000, -1000, -1000, -1000, -187, -1000, -1000, -309, -181, -1000, -213, -81, -1000, -230, -1000, -188, -1000, 401, -194, 768, 22, -1000, -1000, -238, -1000, -1000, -1000, -1000, -210, -1000, -154, -1000, 315, 13, -1000, 428, 34, 50, -154, -1000, -1000, 21, 400, 399, 17, 48, 47, -1000, 128, 128, -1000, -1000, 483, -11, -1000, 197, 45, 103, -1000, -1000, 9, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 294, -1000, 489, 282, 169, 561, -1000, 142, -72, -72, -72, -72, -263, -154, -1000, -1000, -1000, -1000, -221, -212, -1000, -1000, -1000, -1000, 97, -309, -1000, -1000, 397, -1000, 391, 482, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -106, 11, 7, -1000, 195, -185, -1000, 273, 128, -309, -309, 101, -309, 3, 118, -309, -309, -309, -309, -1000, -1000, 234, -1000, -228, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 44, -1000, -1000, -1000, -1000, -1000, -81, -222, 156, -81, 136, -1000, -221, 697, 368, -309, -1000, 93, -81, -1000, -1000, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -72, -1000, 115, -1000, -1000, -1000, -214, 148, -1000, -81, 165, -136, 98, -1000, -1000, -1000, -1000, -1000, -221, -301, -1000, -1000, -1000, -237, -1000, -1000, -1000, 324, 376, -1000, 446, -1000, -1000, 390, 42, -1000, -1000, -1000, 480, 128, 1, -134, 233, -1000, -309, 298, -229, -1000, -1000, -1000, -1000, 204, -1000, -1000, -1000, -1000, -1000, -1000, -277, 133, -238, -309, 313, -2, 67, 388, 387, -309, -10, -1000, 74, 242, -1000, 419, 237, -1000, -309, 294, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -238, -14, 425, -309, -309, -1000, 113, -1000, -1000, -81, -1000, 293, 293, 293, 293, 293, 293, 293, 293, -1000, -1000, 244, -1000, 244, 244, 278, 278, 278, 278, 278, 278, -1000, -1000, -221, -1000, -1000, -1000, -1000, -1000, -1000, 294, -1000, -81, -221, -152, -1000, -137, -1000, 113, -1000, -15, -1000, -1000, -309, -1000, -1000, -1000, -1000, -1000, -1000, 456, -1000, -1000, -1000, -1000, -204, -81, 423, 90, 499, -18, -1000, -1000, -81, -154, 65, -1000, -1000, -1000, -1000, -1000, -246, -1000, -1000, -1000, -81, 311, -1000, -4, -1000, -309, -1000, -24, -81, 376, -309, 113, -1000, 130, 163, -1000, -1000, -1000, -1000, 437, -1000, -1000, -1000, -81, -248, 229, -81, -1000, 220, -1000, -303, 692, 109, -154, 479, 526, -22, -1000, 271, 372, -154, 113, -1000, 153, -81, 107, -1000, -1000, -221, -81, -1000, -1000, -1000, 505, -26, 194, -1000, -29, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -299, -30, -1000, -31, -32, -81, -1000, -33, 84, -1000, -1000, -259, -1000, -1000, -309, -184, -309, 113, -1000, -1000, -81, -1000, -231, 424, -81, 367, 366, -1000, -1000, 412, -34, -81, -1000, -40, -81, -1000, -1000, 155, -154, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 81, -299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -81, -250, -81, 214, -253, -41, -81, 59, 297, 32, -309, -1000, 363, 120, -1000, -1000, -1000, -1000, 294, -1000, 57, -1000, -1000, 447, 368, -1000, -1000, -1000, -1000, -1000, -1000, -208, -1000, -1000, -1000, -277, 80, 62, 243, -1000, 249, -1000, -1000, -42, -43, -1000, 270, 128, 105, 120, 120, 478, -81, -1000, -1000, -1000, 190, -1000, -1000, 521, 419, 475, -1000, -309, -48, -1000, 386, 188, -1000, 228, 380, -1000, -1000, -1000, -81, 187, -1000, -1000, -50, -1000, 216, -81, 200, -309, -1000, 55, 120, -1000, -193, -1000, -81, 474, -1000, -51, 202, -1000, -1000, 164, -1000, 300, -1000, -309, -1000, -1000, -81, -1000, -1000, -1000, -1000, -1000, 128, -52, -1000, 269, -56, 436, -1000, -263, -81, 73, -1000, -81, -1000, 253, -154, -1000, 183, -59, -81, -1000, -1000, -1000, -61, -81, -1000, -81, -1000, -62, 443, -81, -1000, -68, -81, -1000, -1000, -138, -1000, -154, -1000, -1000, -1000, 426, -1000, -1000, -305, -309, -1000, 143, -1000, 645, -69, 422, -70, 362, -1000, -262, 491, -1000, -81, -1000, -71, -81, -266, -1000, -221, -1000, -1000, -1000, 473, -1000, -1000, -83, -1000, -85, -81, -1000, -1000, -1000, 54, -193, -87, -88, -276, -1000, -1000, -150, -1000, -1000, -1000, 263, -1000, 358, -1000, 120, -94, -1000, -1000, -1000, -1000, 178, -1000, -96, -1000, 226, -144, 471, 374, -1000, -1000, -1000, -1000, -1000, -193, -1000, -1000, -1000, -1000, 467, -1000, 351, 120, -1000, -1000, -221, -1000, 501, -1000, -1000, -1000, 466, -1000, -1000, -81, -285, -1000, 509, 120, -102, 63, -109, -1000, 416, -1000, 225, -116, -1000, -308, -117, -1000, -1000, -1000, -126, -1000, -1000, -133, -1000, -1000, -1000, -1000, -1000 }; int yypgo[]={ 0, 1175, 1174, 1173, 794, 30, 1172, 1171, 22, 1170, 1169, 26, 1168, 1167, 1166, 1165, 1164, 1163, 1162, 1161, 1160, 786, 1159, 806, 1158, 1157, 1156, 1155, 1154, 1153, 9, 1152, 1151, 15, 1150, 1149, 1148, 1147, 11, 1146, 1145, 29, 1144, 1143, 1142, 1141, 1140, 1139, 1138, 1137, 1136, 1135, 1134, 1133, 1132, 41, 1131, 1130, 1129, 1128, 1127, 1126, 43, 42, 39, 819, 812, 809, 1125, 1124, 44, 1123, 782, 1122, 1121, 2, 1120, 7, 1119, 1118, 552, 1116, 1115, 1114, 1113, 46, 1112, 1111, 0, 32, 1110, 1, 3, 1109, 1108, 21, 47, 1107, 1106, 1105, 8, 40, 12, 1104, 1103, 1102, 784, 826, 33, 789, 1101, 1100, 20, 1099, 1098, 1097, 5, 37, 1096, 1094, 28, 1093, 1091, 1090, 1089, 1086, 646, 1085, 1084, 1083, 1082, 1081, 1080, 1079, 1077, 1076, 1075, 1053, 1051, 13, 1049, 1047, 1046, 27, 1044, 1039, 1038, 4, 1037, 23, 16, 1036, 1035, 45, 1032, 1030, 1029, 1028, 1026, 1023, 1022, 1018, 1015, 1014, 1013, 1004, 1001, 999, 998, 997, 24, 994, 991, 990, 987, 983, 982, 978, 977, 973, 970, 968, 967, 961, 960, 959, 954, 953, 952, 950, 946, 945, 36, 34, 214, 213, 31, 17, 943, 942, 10, 938, 14, 936, 935, 933, 932, 926, 925, 923, 922, 921, 212, 918, 915, 914, 913, 18, 912, 909, 893, 891, 890, 888, 887, 886, 885, 884, 883, 881, 880, 878, 877, 875, 874, 6, 873, 872, 871, 869, 867, 865, 864, 862, 860, 859, 857, 856, 854, 853, 852, 851, 849, 845, 839, 838, 831, 823, 820, 815, 811, 810, 38, 802, 799, 19, 795, 793, 787, 785 }; int yyr1[]={ 0, 1, 2, 3, 3, 5, 5, 6, 6, 6, 6, 6, 8, 8, 9, 10, 10, 7, 11, 11, 4, 12, 12, 13, 13, 13, 13, 13, 14, 14, 20, 21, 22, 22, 15, 24, 29, 29, 28, 28, 27, 27, 31, 26, 26, 25, 25, 18, 34, 36, 36, 35, 35, 37, 16, 39, 42, 42, 40, 40, 43, 17, 45, 47, 47, 46, 46, 48, 19, 50, 52, 52, 51, 51, 53, 55, 55, 55, 55, 55, 55, 55, 32, 32, 32, 32, 32, 32, 38, 38, 38, 38, 38, 38, 38, 38, 49, 49, 49, 49, 49, 49, 54, 54, 69, 69, 69, 69, 69, 71, 71, 71, 71, 71, 44, 44, 61, 72, 72, 74, 74, 73, 73, 62, 78, 78, 76, 76, 79, 33, 81, 81, 82, 80, 87, 87, 86, 86, 84, 84, 83, 83, 89, 89, 89, 89, 89, 91, 93, 93, 94, 95, 97, 97, 98, 92, 92, 96, 96, 99, 100, 100, 75, 75, 88, 88, 88, 88, 88, 88, 103, 103, 104, 104, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 102, 102, 111, 111, 111, 23, 114, 114, 114, 113, 113, 112, 112, 112, 112, 108, 108, 115, 115, 109, 109, 110, 110, 110, 119, 119, 118, 118, 117, 117, 116, 121, 121, 122, 120, 120, 120, 56, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 125, 133, 133, 134, 127, 136, 136, 137, 135, 138, 128, 140, 140, 141, 139, 129, 130, 144, 144, 145, 143, 131, 132, 57, 85, 85, 146, 146, 147, 147, 147, 148, 148, 126, 142, 151, 151, 152, 150, 150, 101, 101, 149, 149, 153, 153, 58, 154, 154, 66, 156, 156, 155, 155, 70, 158, 158, 90, 90, 90, 157, 157, 60, 59, 159, 159, 65, 160, 160, 160, 161, 161, 162, 63, 64, 163, 164, 164, 164, 166, 166, 167, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 168, 168, 171, 171, 169, 170, 172, 30, 173, 173, 174, 175, 175, 175, 175, 175, 175, 175, 176, 187, 187, 186, 186, 188, 185, 185, 189, 189, 184, 184, 190, 190, 183, 183, 180, 180, 191, 191, 177, 177, 178, 178, 179, 179, 179, 179, 194, 198, 199, 199, 201, 200, 203, 203, 204, 202, 205, 205, 196, 196, 197, 207, 207, 206, 206, 195, 208, 209, 209, 210, 181, 211, 211, 182, 182, 212, 215, 215, 214, 214, 216, 213, 213, 217, 218, 218, 219, 77, 220, 220, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 192, 234, 234, 233, 233, 223, 236, 236, 237, 235, 224, 239, 239, 238, 238, 225, 241, 241, 240, 240, 242, 226, 245, 245, 244, 244, 243, 243, 227, 247, 247, 246, 246, 228, 193, 229, 248, 248, 230, 249, 249, 231, 232, 252, 252, 251, 251, 250, 250, 67, 254, 254, 253, 253, 41, 257, 257, 258, 256, 256, 260, 255, 259, 259, 261, 264, 264, 263, 263, 68, 262, 266, 266, 266, 265, 269, 269, 268, 268, 267, 267, 267 }; int yyr2[]={ 0, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 0, 2, 4, 2, 6, 4, 0, 4, 2, 2, 2, 2, 2, 2, 2, 6, 6, 2, 6, 16, 6, 0, 2, 0, 4, 0, 4, 2, 0, 6, 0, 6, 14, 10, 0, 2, 0, 4, 2, 12, 10, 0, 2, 0, 4, 2, 10, 6, 0, 2, 0, 4, 2, 10, 8, 0, 2, 0, 4, 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, 2, 2, 2, 2, 2, 4, 6, 10, 0, 2, 0, 2, 16, 0, 2, 0, 4, 2, 8, 0, 4, 4, 14, 0, 4, 0, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 8, 0, 4, 4, 8, 0, 4, 4, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6, 2, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 6, 2, 2, 2, 2, 2, 6, 2, 2, 2, 4, 4, 6, 6, 6, 6, 4, 10, 8, 6, 10, 6, 8, 6, 4, 0, 2, 0, 2, 6, 2, 4, 0, 4, 4, 2, 2, 2, 8, 0, 4, 2, 2, 2, 2, 2, 2, 2, 2, 8, 0, 4, 4, 12, 0, 4, 2, 4, 8, 14, 0, 4, 4, 6, 8, 10, 0, 4, 2, 8, 4, 6, 10, 4, 2, 0, 2, 6, 4, 6, 0, 2, 4, 8, 0, 4, 4, 2, 2, 2, 6, 2, 6, 2, 2, 12, 0, 4, 14, 0, 4, 0, 2, 12, 0, 4, 2, 2, 2, 2, 2, 14, 16, 0, 2, 14, 4, 2, 2, 0, 4, 4, 10, 14, 6, 4, 2, 2, 0, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 8, 4, 2, 0, 4, 2, 2, 2, 2, 2, 2, 2, 2, 26, 0, 2, 0, 4, 2, 0, 8, 0, 8, 0, 8, 0, 8, 0, 6, 16, 14, 0, 6, 6, 2, 6, 2, 6, 2, 6, 2, 10, 4, 0, 4, 8, 4, 0, 4, 4, 4, 0, 4, 2, 2, 4, 0, 2, 0, 2, 16, 8, 0, 4, 8, 18, 0, 2, 6, 2, 18, 0, 2, 0, 4, 2, 0, 6, 4, 0, 4, 4, 2, 0, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 0, 4, 0, 4, 16, 0, 4, 2, 8, 8, 0, 4, 0, 2, 18, 0, 4, 0, 4, 8, 16, 0, 2, 0, 2, 0, 4, 8, 0, 4, 0, 2, 4, 4, 6, 0, 2, 10, 0, 2, 8, 10, 0, 4, 0, 4, 0, 4, 14, 0, 6, 0, 6, 14, 0, 4, 2, 0, 4, 2, 2, 2, 2, 14, 0, 2, 0, 6, 10, 6, 2, 2, 2, 6, 0, 6, 0, 6, 4, 4, 2 }; int yychk[]={ -1000, -1, -2, -3, -4, -12, -4, -13, -14, -15, -16, -17, -18, -19, -20, -21, -24, -39, -45, -34, -50, 293, 327, 280, 273, 308, 262, -25, 286, -40, -46, -35, -51, -11, 363, -22, -23, -102, -75, -111, 363, 366, -112, -113, 363, 363, 363, 268, 363, -26, 309, -33, 353, -41, -43, 283, -44, -64, -21, 265, 279, -48, -49, -55, -67, -63, -64, -65, -66, -56, -57, -58, -59, -60, -61, -21, 272, 265, 275, 319, 324, 320, 274, 282, 259, -72, 310, 284, 266, -37, -38, -55, -62, -67, -63, -64, -68, -65, -66, -72, 283, 279, -53, -54, -55, -62, 355, 358, 358, 355, 362, -95, 352, 353, -95, 352, 291, 302, 291, 363, 302, -27, -33, 358, -80, -83, -90, 274, 319, 328, 279, -255, -102, -23, 363, -47, 363, 363, 363, -160, -102, 306, 260, -11, 363, 363, -11, 363, 363, 358, 363, -5, 363, 366, -30, -173, 291, -262, -266, -11, 260, 306, -52, 363, 363, -23, -114, -5, 365, 260, 363, 312, -96, -88, -101, -103, -104, -105, -106, -147, -107, 340, 341, 349, 350, -75, -102, -6, -108, -109, -110, 353, 364, 365, 367, -7, 301, -115, 298, 363, 312, 363, 291, 363, -28, -31, 266, -32, -55, -62, -63, -64, -65, -66, 358, -81, -11, -42, 363, -256, 302, 358, -253, 286, 357, 357, -161, 357, -123, 291, 291, 357, 357, 357, -73, -33, -74, -33, 279, -174, -175, -176, -177, -178, -179, -180, -181, -182, 363, -192, -193, -194, -195, -212, 264, -102, -196, 332, 311, -108, 353, -76, 327, 357, 358, -97, -153, 322, 276, 261, 305, 333, 297, 300, 261, 305, 333, 346, 347, 342, 344, 340, 341, 337, 339, 336, 338, 334, 335, 345, 348, -107, -75, -107, -107, -107, 352, -75, -126, 312, -88, -116, -117, -120, -101, 306, 363, 354, 355, -75, -109, 291, 291, 279, -30, 354, -82, 358, 357, 358, -257, -260, -21, -163, -164, -5, 306, 260, -254, 309, -33, -75, -75, -162, 355, -85, -75, -147, 358, -124, -125, -126, -127, -128, -129, -130, -131, -132, 353, 263, 313, 257, 282, -85, -85, -85, -85, 316, -36, 363, 357, -88, 358, 337, -88, -213, 353, -88, 266, -79, -69, -55, -62, -63, -64, -70, 328, -265, -267, 280, 273, 304, -75, 354, -98, 355, -88, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, 353, -108, -95, -126, -148, -149, -112, -88, 354, 359, 355, -121, -117, -116, -95, -75, -119, -29, 363, -80, -84, -89, 289, 307, 290, 269, 294, 279, -258, -259, -41, -261, 283, 291, 357, -166, 279, -33, 358, 358, 258, -102, -155, -157, 270, 314, -95, -146, 325, -8, 365, 363, 353, -142, -143, -11, -85, 302, 358, -154, 356, 291, 291, -75, 358, 267, -75, -192, -193, -194, -195, -168, -212, -169, -170, 288, 283, -233, 315, -197, -206, 287, 317, -214, -217, -102, -77, -220, -11, 358, -268, 286, -102, -75, -96, -88, -153, -88, -117, -122, 361, 359, -95, -118, 358, -85, 283, -262, 363, -88, -165, 280, 262, 308, 273, 272, 292, 324, 320, 310, 284, 319, 328, 274, -167, 355, 272, 358, -88, -156, 356, -135, 363, -133, -139, -150, -75, -85, -149, 302, -144, 357, -75, 358, -88, -159, -89, -102, -183, 353, 286, 309, 285, -88, 363, -234, 318, -88, -198, -199, -207, 323, -196, -102, 266, -216, -71, -55, -62, -63, -64, -70, 354, -218, 279, -221, -222, -192, -223, -224, -225, -226, -227, -228, -193, -229, -230, -231, -232, 271, 281, 288, -243, 299, 301, 316, -196, 329, 363, 357, -269, 309, 296, 354, -88, 354, -120, -88, -88, -86, 269, 358, -263, 327, 358, -5, 358, 358, 358, -88, -136, 358, 354, -134, 355, -140, -151, 312, -85, 279, -145, -143, -85, -88, 358, -184, 286, -88, 296, 296, -30, 289, 358, -88, 358, -200, -201, -202, -88, 337, -77, -219, 355, -78, -5, -88, -238, 363, -88, -244, -171, -170, -172, 331, -246, 363, 358, -248, -88, 337, 356, -250, 303, 357, -85, 296, -91, 353, -87, 356, -264, -41, -265, 279, -137, -138, 363, -8, 354, -141, 355, 354, -152, 355, 360, 313, 358, 358, -185, 309, -33, 354, -91, -91, 279, -150, -75, 330, -203, -205, 258, -197, 279, -102, 358, 291, -239, 330, 321, 295, -88, -247, 330, 358, -249, 323, -88, -251, 326, -217, -158, 356, -91, -92, -99, -100, -102, -88, 304, -88, 279, 358, 325, 334, 302, -139, -75, -150, -186, -33, 358, -191, 309, 358, 285, -88, -204, 355, -88, -208, -209, 311, -235, 330, 358, -88, -77, -77, 358, -88, -200, 358, -252, 283, -88, 358, -88, -93, 359, 283, -9, -10, 364, -85, 312, 266, -188, -38, 358, -190, 286, 358, 296, -211, 363, 277, -202, 358, -200, -210, -215, 363, -236, -116, -240, 279, 358, 358, -88, 354, -94, 355, -100, 358, 358, 363, -30, -189, 309, 296, -91, 358, 330, 358, 279, -237, -235, 359, -241, -242, 277, 278, 295, -92, 279, 296, -91, -116, 271, -77, 279, -77, -88, -245, 363, 267, -91, 358, 355, 358, 288, 321, 358, -187, 363, 358, 358, -77, 358 }; int yydef[]={ 21, -2, 1, -2, 3, 0, 4, 20, 22, 23, 24, 25, 26, 27, 28, 29, 45, 58, 65, 51, 72, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 18, 0, -2, 0, 201, 202, 162, 203, 204, 205, 0, 0, 0, 0, 0, 40, 0, 0, 140, 0, 59, 0, 60, 114, 115, 0, 63, 66, 67, 96, 97, 98, 99, 100, 101, 75, 76, 77, 78, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 52, 53, 88, 89, 90, 91, 92, 93, 94, 95, 0, 0, 70, 73, 74, 102, 103, 0, 30, 31, 0, 0, 210, 0, 0, 211, 0, 35, 0, 62, 0, 0, 38, 0, 46, 130, 0, 141, 306, 307, 308, 56, 505, 508, 163, 0, 0, 64, 499, 0, 0, 319, 317, 318, 0, 239, 0, 0, 0, 0, 116, 121, 119, 5, 6, 0, 351, 126, 0, 0, 518, 519, 520, 0, 71, 19, -2, 206, 207, 208, 209, 212, 214, 152, 157, 158, 164, 165, 166, 167, 289, 176, 0, 0, 0, 0, 201, 195, 196, 197, 198, 199, 0, 7, 8, 9, 10, 11, 0, 0, 213, 215, 0, 69, 0, 0, 41, 352, 42, 82, 83, 84, 85, 86, 87, 44, 0, 0, 0, 57, 502, 0, 61, 497, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 117, 122, 0, 120, 49, 353, 354, 355, 356, 357, 358, 359, 360, 361, 162, 383, 385, 387, 389, 418, 0, 402, 0, 0, 425, 403, 0, 0, 0, 0, 68, 0, 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 201, 178, 179, 180, 0, -2, 278, 0, -2, 0, 0, 232, 236, 237, 17, 216, 0, -2, 224, 55, 48, 36, 39, 129, 131, 140, 138, 54, 0, 506, 507, 0, 0, 328, 326, 327, 0, 0, 0, 201, 201, 320, 0, 301, -2, 274, 238, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 50, 0, 450, 481, 407, 0, 422, 0, -2, 432, 127, 128, 104, 105, 106, 107, 108, 0, 0, 524, 0, 0, 528, -2, 151, 153, 0, 290, 171, 173, 175, 168, 169, 170, 172, 174, 182, 183, 184, 185, 186, 187, -2, -2, -2, -2, -2, -2, 194, 181, 0, 221, -2, 277, 279, 282, -2, 0, 200, 0, 0, 231, 219, 0, -2, -2, 223, 0, 37, 132, 0, 139, 142, 143, 144, 145, 146, 0, 503, 504, 509, 510, 0, 0, 0, 325, 0, 0, 500, 322, 0, 321, 299, 302, 309, 310, -2, 273, 0, 250, 12, 13, 0, 0, 266, 0, 270, 0, 272, 0, 0, 313, 0, -2, 47, 376, 201, 382, 384, 386, 388, 0, 417, 344, 345, 0, 0, 448, 0, 392, 405, 408, 0, 0, 0, 428, 0, -2, 0, 516, 522, 0, 526, -2, 154, -2, 0, 229, 218, 233, 0, 0, -2, 222, 34, 136, 0, 514, -2, 0, 324, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 329, 0, 0, 498, 0, 0, 0, 254, 0, 0, 260, 284, -2, 287, 288, 0, 0, 0, -2, 295, 297, 0, 314, 0, 372, 0, 0, 0, 352, 348, 0, 0, 0, 451, 0, 0, 404, 406, 0, 402, 432, 423, 424, 109, 110, 111, 112, 113, 426, 427, 124, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 460, 0, 471, 478, 0, 483, 0, 494, 162, 0, 521, 0, 0, 220, 292, 217, 234, 235, 229, 134, 137, 501, 512, 0, 323, 330, 496, 315, 298, 300, 0, 257, 249, 251, 0, 0, 0, 0, 264, 0, 267, 268, 0, 0, 311, 368, 0, 0, 0, 0, 0, 0, 447, 449, 390, 391, 393, 396, 400, 407, 0, 429, 0, 0, 125, 0, 458, 461, 0, 0, 472, 346, 347, 0, 476, 479, 480, 0, 484, 486, 0, 492, 0, 474, 304, 0, 525, 0, 133, 0, 0, 513, 0, 0, 255, 256, 0, 252, 0, 261, 0, 283, 285, 0, 263, 265, 269, 312, 365, 0, 0, 377, 380, 0, 0, 349, -2, 0, 395, 399, 0, 411, 0, 430, 123, 0, 0, 0, 432, 432, 350, 0, 0, 482, 0, 487, 0, 490, 0, 495, 0, 0, 523, 148, 0, 156, -2, 160, 161, 135, 0, 515, 253, 15, 0, 262, 201, 286, 0, 0, 374, 0, 0, 379, 415, 0, 397, 0, 401, 0, 0, 420, 453, 0, 457, 459, 465, 0, 475, 477, 0, 488, 0, 0, 493, 303, 305, 0, 0, 0, 0, 0, 16, 259, 0, 352, 366, 367, 370, 373, 0, 378, 0, 0, 416, 394, 398, 409, 0, 412, 0, 421, 0, 0, 463, 0, 485, 489, 491, 147, 149, 0, 155, 511, 258, 14, 0, 369, 0, 0, 381, 414, 0, 419, 0, 454, 455, 432, 0, 466, 432, 0, 469, 150, 0, 0, 0, 410, 0, 456, 0, 464, 0, 0, 470, 363, 0, 375, 413, 452, 0, 432, 468, 0, 364, 371, 462, 467, 362 }; typedef struct { char *t_name; int t_val; } yytoktype; #ifndef YYDEBUG # define YYDEBUG 1 /* allow debugging */ #endif #if YYDEBUG yytoktype yytoks[] = { "t_ACCESS", 257, "t_AFTER", 258, "t_ALIAS", 259, "t_ALL", 260, "t_AND", 261, "t_ARCHITECTURE", 262, "t_ARRAY", 263, "t_ASSERT", 264, "t_ATTRIBUTE", 265, "t_BEGIN", 266, "t_BLOCK", 267, "t_BODY", 268, "t_BUFFER", 269, "t_BUS", 270, "t_CASE", 271, "t_COMPONENT", 272, "t_CONFIGURATION", 273, "t_CONSTANT", 274, "t_DISCONNECT", 275, "t_DOWNTO", 276, "t_ELSE", 277, "t_ELSIF", 278, "t_END", 279, "t_ENTITY", 280, "t_EXIT", 281, "t_FILE", 282, "t_FOR", 283, "t_FUNCTION", 284, "t_GENERATE", 285, "t_GENERIC", 286, "t_GUARDED", 287, "t_IF", 288, "t_IN", 289, "t_INOUT", 290, "t_IS", 291, "t_LABEL", 292, "t_LIBRARY", 293, "t_LINKAGE", 294, "t_LOOP", 295, "t_MAP", 296, "t_NAND", 297, "t_NEW", 298, "t_NEXT", 299, "t_NOR", 300, "t_NULL", 301, "t_OF", 302, "t_ON", 303, "t_OPEN", 304, "t_OR", 305, "t_OTHERS", 306, "t_OUT", 307, "t_PACKAGE", 308, "t_PORT", 309, "t_PROCEDURE", 310, "t_PROCESS", 311, "t_RANGE", 312, "t_RECORD", 313, "t_REGISTER", 314, "t_REPORT", 315, "t_RETURN", 316, "t_SELECT", 317, "t_SEVERITY", 318, "t_SIGNAL", 319, "t_SUBTYPE", 320, "t_THEN", 321, "t_TO", 322, "t_TRANSPORT", 323, "t_TYPE", 324, "t_UNITS", 325, "t_UNTIL", 326, "t_USE", 327, "t_VARIABLE", 328, "t_WAIT", 329, "t_WHEN", 330, "t_WHILE", 331, "t_WITH", 332, "t_XOR", 333, "t_EQSym", 334, "t_NESym", 335, "t_LTSym", 336, "t_LESym", 337, "t_GTSym", 338, "t_GESym", 339, "t_Plus", 340, "t_Minus", 341, "t_Ampersand", 342, "MED_PRECEDENCE", 343, "t_Star", 344, "t_Slash", 345, "t_MOD", 346, "t_REM", 347, "t_DoubleStar", 348, "t_ABS", 349, "t_NOT", 350, "MAX_PRECEDENCE", 351, "t_Apostrophe", 352, "t_LeftParen", 353, "t_RightParen", 354, "t_Comma", 355, "t_VarAsgn", 356, "t_Colon", 357, "t_Semicolon", 358, "t_Arrow", 359, "t_Box", 360, "t_Bar", 361, "t_Dot", 362, "t_Identifier", 363, "t_AbstractLit", 364, "t_CharacterLit", 365, "t_StringLit", 366, "t_BitStringLit", 367, "-unknown-", -1 /* ends search */ }; char * yyreds[] = { "-no such reduction-", "start : design_file", "design_file : design_unit_list", "design_unit_list : design_unit", "design_unit_list : design_unit_list design_unit", "designator : t_Identifier", "designator : t_StringLit", "literal : t_AbstractLit", "literal : t_CharacterLit", "literal : t_BitStringLit", "literal : physical_literal_no_default", "literal : t_NULL", "enumeration_literal : t_CharacterLit", "enumeration_literal : t_Identifier", "physical_literal : physical_literal_1 t_Identifier", "physical_literal_1 : /* empty */", "physical_literal_1 : t_AbstractLit", "physical_literal_no_default : t_AbstractLit t_Identifier", "idf_list : t_Identifier", "idf_list : idf_list t_Comma t_Identifier", "design_unit : context_list lib_unit", "context_list : /* empty */", "context_list : context_list context_item", "lib_unit : entity_decl", "lib_unit : config_decl", "lib_unit : package_decl", "lib_unit : arch_body", "lib_unit : package_body", "context_item : lib_clause", "context_item : use_clause", "lib_clause : t_LIBRARY idf_list t_Semicolon", "use_clause : t_USE sel_list t_Semicolon", "sel_list : sel_name", "sel_list : sel_list t_Comma sel_name", "entity_decl : entity_start entity_decl_1 entity_decl_2 entity_decl_3 entity_decl_4 t_END entity_decl_5 t_Semicolon", "entity_start : t_ENTITY t_Identifier t_IS", "entity_decl_5 : /* empty */", "entity_decl_5 : t_Identifier", "entity_decl_4 : /* empty */", "entity_decl_4 : t_BEGIN concurrent_stats", "entity_decl_3 : /* empty */", "entity_decl_3 : entity_decl_3 entity_decl_6", "entity_decl_6 : entity_decltve_item", "entity_decl_2 : /* empty */", "entity_decl_2 : t_PORT interf_list t_Semicolon", "entity_decl_1 : /* empty */", "entity_decl_1 : t_GENERIC interf_list t_Semicolon", "arch_body : arch_start arch_body_1 t_BEGIN concurrent_stats t_END arch_body_2 t_Semicolon", "arch_start : t_ARCHITECTURE t_Identifier t_OF t_Identifier t_IS", "arch_body_2 : /* empty */", "arch_body_2 : t_Identifier", "arch_body_1 : /* empty */", "arch_body_1 : arch_body_1 arch_body_3", "arch_body_3 : block_decltve_item", "config_decl : config_start config_decl_1 block_config t_END config_decl_2 t_Semicolon", "config_start : t_CONFIGURATION t_Identifier t_OF t_Identifier t_IS", "config_decl_2 : /* empty */", "config_decl_2 : t_Identifier", "config_decl_1 : /* empty */", "config_decl_1 : config_decl_1 config_decl_3", "config_decl_3 : config_decltve_item", "package_decl : package_start package_decl_1 t_END package_decl_2 t_Semicolon", "package_start : t_PACKAGE t_Identifier t_IS", "package_decl_2 : /* empty */", "package_decl_2 : t_Identifier", "package_decl_1 : /* empty */", "package_decl_1 : package_decl_1 package_decl_3", "package_decl_3 : package_decltve_item", "package_body : pack_body_start package_body_1 t_END package_body_2 t_Semicolon", "pack_body_start : t_PACKAGE t_BODY t_Identifier t_IS", "package_body_2 : /* empty */", "package_body_2 : t_Identifier", "package_body_1 : /* empty */", "package_body_1 : package_body_1 package_body_3", "package_body_3 : package_body_decltve_item", "common_decltve_item : type_decl", "common_decltve_item : subtype_decl", "common_decltve_item : constant_decl", "common_decltve_item : file_decl", "common_decltve_item : alias_decl", "common_decltve_item : subprog_decl", "common_decltve_item : use_clause", "entity_decltve_item : common_decltve_item", "entity_decltve_item : subprog_body", "entity_decltve_item : attribute_decl", "entity_decltve_item : attribute_spec", "entity_decltve_item : disconnection_spec", "entity_decltve_item : signal_decl", "block_decltve_item : common_decltve_item", "block_decltve_item : subprog_body", "block_decltve_item : comp_decl", "block_decltve_item : attribute_decl", "block_decltve_item : attribute_spec", "block_decltve_item : config_spec", "block_decltve_item : disconnection_spec", "block_decltve_item : signal_decl", "package_decltve_item : common_decltve_item", "package_decltve_item : comp_decl", "package_decltve_item : attribute_decl", "package_decltve_item : attribute_spec", "package_decltve_item : disconnection_spec", "package_decltve_item : signal_decl", "package_body_decltve_item : common_decltve_item", "package_body_decltve_item : subprog_body", "subprog_decltve_item : common_decltve_item", "subprog_decltve_item : subprog_body", "subprog_decltve_item : attribute_decl", "subprog_decltve_item : attribute_spec", "subprog_decltve_item : variable_decl", "procs_decltve_item : common_decltve_item", "procs_decltve_item : subprog_body", "procs_decltve_item : attribute_decl", "procs_decltve_item : attribute_spec", "procs_decltve_item : variable_decl", "config_decltve_item : attribute_spec", "config_decltve_item : use_clause", "subprog_decl : subprog_spec t_Semicolon", "subprog_spec : t_PROCEDURE t_Identifier subprog_spec_1", "subprog_spec : t_FUNCTION designator subprog_spec_2 t_RETURN mark", "subprog_spec_2 : /* empty */", "subprog_spec_2 : interf_list", "subprog_spec_1 : /* empty */", "subprog_spec_1 : interf_list", "subprog_body : subprog_spec t_IS subprog_body_1 t_BEGIN seq_stats t_END subprog_body_2 t_Semicolon", "subprog_body_2 : /* empty */", "subprog_body_2 : designator", "subprog_body_1 : /* empty */", "subprog_body_1 : subprog_body_1 subprog_body_3", "subprog_body_3 : subprog_decltve_item", "interf_list : t_LeftParen interf_element interf_list_1 t_RightParen", "interf_list_1 : /* empty */", "interf_list_1 : interf_list_1 interf_list_2", "interf_list_2 : t_Semicolon interf_element", "interf_element : interf_element_1 idf_list t_Colon interf_element_2 subtype_indic interf_element_3 interf_element_4", "interf_element_4 : /* empty */", "interf_element_4 : t_VarAsgn expr", "interf_element_3 : /* empty */", "interf_element_3 : t_BUFFER", "interf_element_2 : /* empty */", "interf_element_2 : mode", "interf_element_1 : /* empty */", "interf_element_1 : object_class", "mode : t_IN", "mode : t_OUT", "mode : t_INOUT", "mode : t_BUFFER", "mode : t_LINKAGE", "association_list : t_LeftParen association_element association_list_1 t_RightParen", "association_list_1 : /* empty */", "association_list_1 : association_list_1 association_list_2", "association_list_2 : t_Comma association_element", "gen_association_list : t_LeftParen gen_association_element gen_association_list_1 t_RightParen", "gen_association_list_1 : /* empty */", "gen_association_list_1 : gen_association_list_1 gen_association_list_2", "gen_association_list_2 : t_Comma gen_association_element", "association_element : formal_part t_Arrow actual_part", "association_element : actual_part", "gen_association_element : expr", "gen_association_element : discrete_range1", "formal_part : name", "actual_part : expr", "actual_part : t_OPEN", "mark : t_Identifier", "mark : sel_name", "expr : and_relation", "expr : or_relation", "expr : xor_relation", "expr : relation", "expr : relation t_NAND relation", "expr : relation t_NOR relation", "and_relation : relation t_AND relation", "and_relation : and_relation t_AND relation", "or_relation : relation t_OR relation", "or_relation : or_relation t_OR relation", "xor_relation : relation t_XOR relation", "xor_relation : xor_relation t_XOR relation", "relation : primary", "relation : t_Plus primary", "relation : t_Minus primary", "relation : t_ABS primary", "relation : t_NOT primary", "relation : primary t_DoubleStar primary", "relation : relation t_MOD relation", "relation : relation t_REM relation", "relation : relation t_Ampersand relation", "relation : relation t_Star relation", "relation : relation t_Plus relation", "relation : relation t_Minus relation", "relation : relation t_LESym relation", "relation : relation t_GESym relation", "relation : relation t_LTSym relation", "relation : relation t_GTSym relation", "relation : relation t_EQSym relation", "relation : relation t_NESym relation", "relation : relation t_Slash relation", "primary : name", "primary : literal", "primary : aggregate", "primary : qualified_expr", "primary : allocator", "primary : t_LeftParen expr t_RightParen", "name : mark", "name : name2", "name2 : t_StringLit", "name2 : attribute_name", "name2 : ifts_name", "sel_name : name t_Dot suffix", "suffix : designator", "suffix : t_CharacterLit", "suffix : t_ALL", "ifts_name : mark gen_association_list", "ifts_name : name2 gen_association_list", "attribute_name : mark t_Apostrophe t_Identifier", "attribute_name : name2 t_Apostrophe t_Identifier", "attribute_name : mark t_Apostrophe t_RANGE", "attribute_name : name2 t_Apostrophe t_RANGE", "aggregate : element_association_list2 t_RightParen", "aggregate : t_LeftParen choices t_Arrow expr t_RightParen", "element_association_list2 : t_LeftParen element_association t_Comma element_association", "element_association_list2 : element_association_list2 t_Comma element_association", "qualified_expr : mark t_Apostrophe t_LeftParen expr t_RightParen", "qualified_expr : mark t_Apostrophe aggregate", "allocator : t_NEW mark mark allocator_1", "allocator : t_NEW mark allocator_2", "allocator : t_NEW qualified_expr", "allocator_2 : /* empty */", "allocator_2 : gen_association_list", "allocator_1 : /* empty */", "allocator_1 : gen_association_list", "element_association : choices t_Arrow expr", "element_association : expr", "choices : choice choices_1", "choices_1 : /* empty */", "choices_1 : choices_1 choices_2", "choices_2 : t_Bar choice", "choice : expr", "choice : discrete_range1", "choice : t_OTHERS", "type_decl : t_TYPE t_Identifier type_decl_1 t_Semicolon", "type_decl_1 : /* empty */", "type_decl_1 : t_IS type_definition", "type_definition : enumeration_type_definition", "type_definition : range_constraint", "type_definition : physical_type_definition", "type_definition : unconstrained_array_definition", "type_definition : constrained_array_definition", "type_definition : record_type_definition", "type_definition : access_type_definition", "type_definition : file_type_definition", "enumeration_type_definition : t_LeftParen enumeration_literal enumeration_type_definition_1 t_RightParen", "enumeration_type_definition_1 : /* empty */", "enumeration_type_definition_1 : enumeration_type_definition_1 enumeration_type_definition_2", "enumeration_type_definition_2 : t_Comma enumeration_literal", "physical_type_definition : range_constraint t_UNITS base_unit_decl physical_type_definition_1 t_END t_UNITS", "physical_type_definition_1 : /* empty */", "physical_type_definition_1 : physical_type_definition_1 physical_type_definition_2", "physical_type_definition_2 : secondary_unit_decl", "base_unit_decl : t_Identifier t_Semicolon", "secondary_unit_decl : t_Identifier t_EQSym physical_literal t_Semicolon", "unconstrained_array_definition : t_ARRAY t_LeftParen index_subtype_definition unconstrained_array_definition_1 t_RightParen t_OF subtype_indic", "unconstrained_array_definition_1 : /* empty */", "unconstrained_array_definition_1 : unconstrained_array_definition_1 unconstrained_array_definition_2", "unconstrained_array_definition_2 : t_Comma index_subtype_definition", "index_subtype_definition : mark t_RANGE t_Box", "constrained_array_definition : t_ARRAY index_constraint t_OF subtype_indic", "record_type_definition : t_RECORD element_decl record_type_definition_1 t_END t_RECORD", "record_type_definition_1 : /* empty */", "record_type_definition_1 : record_type_definition_1 record_type_definition_2", "record_type_definition_2 : element_decl", "element_decl : idf_list t_Colon subtype_indic t_Semicolon", "access_type_definition : t_ACCESS subtype_indic", "file_type_definition : t_FILE t_OF mark", "subtype_decl : t_SUBTYPE t_Identifier t_IS subtype_indic t_Semicolon", "subtype_indic : mark subtype_indic_1", "subtype_indic : subtype_indic1", "subtype_indic_1 : /* empty */", "subtype_indic_1 : gen_association_list", "subtype_indic1 : mark mark range_constraint", "subtype_indic1 : mark range_constraint", "subtype_indic1 : mark mark subtype_indic1_1", "subtype_indic1_1 : /* empty */", "subtype_indic1_1 : gen_association_list", "range_constraint : t_RANGE range_spec", "index_constraint : t_LeftParen discrete_range index_constraint_1 t_RightParen", "index_constraint_1 : /* empty */", "index_constraint_1 : index_constraint_1 index_constraint_2", "index_constraint_2 : t_Comma discrete_range", "discrete_range : subtype_indic", "discrete_range : range_spec", "discrete_range1 : subtype_indic1", "discrete_range1 : expr direction expr", "range_spec : attribute_name", "range_spec : expr direction expr", "direction : t_TO", "direction : t_DOWNTO", "constant_decl : t_CONSTANT idf_list t_Colon subtype_indic constant_decl_1 t_Semicolon", "constant_decl_1 : /* empty */", "constant_decl_1 : t_VarAsgn expr", "signal_decl : t_SIGNAL idf_list t_Colon subtype_indic signal_decl_1 signal_decl_2 t_Semicolon", "signal_decl_2 : /* empty */", "signal_decl_2 : t_VarAsgn expr", "signal_decl_1 : /* empty */", "signal_decl_1 : signal_kind", "variable_decl : t_VARIABLE idf_list t_Colon subtype_indic variable_decl_1 t_Semicolon", "variable_decl_1 : /* empty */", "variable_decl_1 : t_VarAsgn expr", "object_class : t_CONSTANT", "object_class : t_SIGNAL", "object_class : t_VARIABLE", "signal_kind : t_BUS", "signal_kind : t_REGISTER", "alias_decl : t_ALIAS t_Identifier t_Colon subtype_indic t_IS name t_Semicolon", "file_decl : t_FILE t_Identifier t_Colon subtype_indic t_IS file_decl_1 expr t_Semicolon", "file_decl_1 : /* empty */", "file_decl_1 : mode", "disconnection_spec : t_DISCONNECT signal_list t_Colon mark t_AFTER expr t_Semicolon", "signal_list : name signal_list_1", "signal_list : t_OTHERS", "signal_list : t_ALL", "signal_list_1 : /* empty */", "signal_list_1 : signal_list_1 signal_list_2", "signal_list_2 : t_Comma name", "attribute_decl : t_ATTRIBUTE t_Identifier t_Colon mark t_Semicolon", "attribute_spec : t_ATTRIBUTE t_Identifier t_OF entity_spec t_IS expr t_Semicolon", "entity_spec : entity_name_list t_Colon entity_class", "entity_name_list : designator entity_name_list_1", "entity_name_list : t_OTHERS", "entity_name_list : t_ALL", "entity_name_list_1 : /* empty */", "entity_name_list_1 : entity_name_list_1 entity_name_list_2", "entity_name_list_2 : t_Comma designator", "entity_class : t_ENTITY", "entity_class : t_ARCHITECTURE", "entity_class : t_PACKAGE", "entity_class : t_CONFIGURATION", "entity_class : t_COMPONENT", "entity_class : t_LABEL", "entity_class : t_TYPE", "entity_class : t_SUBTYPE", "entity_class : t_PROCEDURE", "entity_class : t_FUNCTION", "entity_class : t_SIGNAL", "entity_class : t_VARIABLE", "entity_class : t_CONSTANT", "generation_scheme : if_scheme", "generation_scheme : for_scheme", "iteration_scheme : for_scheme", "iteration_scheme : while_scheme", "if_scheme : t_IF expr", "for_scheme : t_FOR t_Identifier t_IN discrete_range", "while_scheme : t_WHILE expr", "concurrent_stats : concurrent_stats_1", "concurrent_stats_1 : /* empty */", "concurrent_stats_1 : concurrent_stats_1 concurrent_stats_2", "concurrent_stats_2 : concurrent_stat", "concurrent_stat : block_stat", "concurrent_stat : concurrent_assertion_stat", "concurrent_stat : concurrent_procedure_call", "concurrent_stat : concurrent_signal_assign_stat", "concurrent_stat : comp_inst_stat", "concurrent_stat : generate_stat", "concurrent_stat : procs_stat", "block_stat : t_Identifier t_Colon t_BLOCK block_stat_1 block_stat_2 block_stat_3 block_stat_4 t_BEGIN concurrent_stats t_END t_BLOCK block_stat_5 t_Semicolon", "block_stat_5 : /* empty */", "block_stat_5 : t_Identifier", "block_stat_4 : /* empty */", "block_stat_4 : block_stat_4 block_stat_6", "block_stat_6 : block_decltve_item", "block_stat_3 : /* empty */", "block_stat_3 : t_PORT interf_list t_Semicolon block_stat_7", "block_stat_7 : /* empty */", "block_stat_7 : t_PORT t_MAP association_list t_Semicolon", "block_stat_2 : /* empty */", "block_stat_2 : t_GENERIC interf_list t_Semicolon block_stat_8", "block_stat_8 : /* empty */", "block_stat_8 : t_GENERIC t_MAP association_list t_Semicolon", "block_stat_1 : /* empty */", "block_stat_1 : t_LeftParen expr t_RightParen", "comp_inst_stat : t_Identifier t_Colon mark t_GENERIC t_MAP association_list comp_inst_stat_1 t_Semicolon", "comp_inst_stat : t_Identifier t_Colon mark t_PORT t_MAP association_list t_Semicolon", "comp_inst_stat_1 : /* empty */", "comp_inst_stat_1 : t_PORT t_MAP association_list", "concurrent_assertion_stat : t_Identifier t_Colon assertion_stat", "concurrent_assertion_stat : assertion_stat", "concurrent_procedure_call : t_Identifier t_Colon procedure_call_stat", "concurrent_procedure_call : procedure_call_stat", "concurrent_signal_assign_stat : t_Identifier t_Colon condal_signal_assign", "concurrent_signal_assign_stat : condal_signal_assign", "concurrent_signal_assign_stat : t_Identifier t_Colon sel_signal_assign", "concurrent_signal_assign_stat : sel_signal_assign", "condal_signal_assign : target t_LESym opts condal_wavefrms t_Semicolon", "condal_wavefrms : condal_wavefrms_1 wavefrm", "condal_wavefrms_1 : /* empty */", "condal_wavefrms_1 : condal_wavefrms_1 condal_wavefrms_2", "condal_wavefrms_2 : wavefrm t_WHEN expr t_ELSE", "wavefrm : wavefrm_element wavefrm_1", "wavefrm_1 : /* empty */", "wavefrm_1 : wavefrm_1 wavefrm_2", "wavefrm_2 : t_Comma wavefrm_element", "wavefrm_element : expr wavefrm_element_1", "wavefrm_element_1 : /* empty */", "wavefrm_element_1 : t_AFTER expr", "target : name", "target : aggregate", "opts : opts_1 opts_2", "opts_2 : /* empty */", "opts_2 : t_TRANSPORT", "opts_1 : /* empty */", "opts_1 : t_GUARDED", "sel_signal_assign : t_WITH expr t_SELECT target t_LESym opts sel_wavefrms t_Semicolon", "sel_wavefrms : sel_wavefrms_1 wavefrm t_WHEN choices", "sel_wavefrms_1 : /* empty */", "sel_wavefrms_1 : sel_wavefrms_1 sel_wavefrms_2", "sel_wavefrms_2 : wavefrm t_WHEN choices t_Comma", "generate_stat : t_Identifier t_Colon generation_scheme t_GENERATE concurrent_stats t_END t_GENERATE generate_stat_1 t_Semicolon", "generate_stat_1 : /* empty */", "generate_stat_1 : t_Identifier", "procs_stat : t_Identifier t_Colon procs_stat1", "procs_stat : procs_stat1", "procs_stat1 : t_PROCESS procs_stat1_1 procs_stat1_2 t_BEGIN seq_stats t_END t_PROCESS procs_stat1_3 t_Semicolon", "procs_stat1_3 : /* empty */", "procs_stat1_3 : t_Identifier", "procs_stat1_2 : /* empty */", "procs_stat1_2 : procs_stat1_2 procs_stat1_4", "procs_stat1_4 : procs_decltve_item", "procs_stat1_1 : /* empty */", "procs_stat1_1 : t_LeftParen sensitivity_list t_RightParen", "sensitivity_list : name sensitivity_list_1", "sensitivity_list_1 : /* empty */", "sensitivity_list_1 : sensitivity_list_1 sensitivity_list_2", "sensitivity_list_2 : t_Comma name", "seq_stats : seq_stats_1", "seq_stats_1 : /* empty */", "seq_stats_1 : seq_stats_1 seq_stats_2", "seq_stats_2 : seq_stat", "seq_stat : assertion_stat", "seq_stat : case_stat", "seq_stat : exit_stat", "seq_stat : if_stat", "seq_stat : loop_stat", "seq_stat : next_stat", "seq_stat : null_stat", "seq_stat : procedure_call_stat", "seq_stat : return_stat", "seq_stat : signal_assign_stat", "seq_stat : variable_assign_stat", "seq_stat : wait_stat", "assertion_stat : t_ASSERT expr assertion_stat_1 assertion_stat_2 t_Semicolon", "assertion_stat_2 : /* empty */", "assertion_stat_2 : t_SEVERITY expr", "assertion_stat_1 : /* empty */", "assertion_stat_1 : t_REPORT expr", "case_stat : t_CASE expr t_IS case_stat_alternative case_stat_1 t_END t_CASE t_Semicolon", "case_stat_1 : /* empty */", "case_stat_1 : case_stat_1 case_stat_2", "case_stat_2 : case_stat_alternative", "case_stat_alternative : t_WHEN choices t_Arrow seq_stats", "exit_stat : t_EXIT exit_stat_1 exit_stat_2 t_Semicolon", "exit_stat_2 : /* empty */", "exit_stat_2 : t_WHEN expr", "exit_stat_1 : /* empty */", "exit_stat_1 : t_Identifier", "if_stat : t_IF expr t_THEN seq_stats if_stat_1 if_stat_2 t_END t_IF t_Semicolon", "if_stat_2 : /* empty */", "if_stat_2 : t_ELSE seq_stats", "if_stat_1 : /* empty */", "if_stat_1 : if_stat_1 if_stat_3", "if_stat_3 : t_ELSIF expr t_THEN seq_stats", "loop_stat : loop_stat_1 loop_stat_2 t_LOOP seq_stats t_END t_LOOP loop_stat_3 t_Semicolon", "loop_stat_3 : /* empty */", "loop_stat_3 : t_Identifier", "loop_stat_2 : /* empty */", "loop_stat_2 : iteration_scheme", "loop_stat_1 : /* empty */", "loop_stat_1 : t_Identifier t_Colon", "next_stat : t_NEXT next_stat_1 next_stat_2 t_Semicolon", "next_stat_2 : /* empty */", "next_stat_2 : t_WHEN expr", "next_stat_1 : /* empty */", "next_stat_1 : t_Identifier", "null_stat : t_NULL t_Semicolon", "procedure_call_stat : name t_Semicolon", "return_stat : t_RETURN return_stat_1 t_Semicolon", "return_stat_1 : /* empty */", "return_stat_1 : expr", "signal_assign_stat : target t_LESym signal_assign_stat_1 wavefrm t_Semicolon", "signal_assign_stat_1 : /* empty */", "signal_assign_stat_1 : t_TRANSPORT", "variable_assign_stat : target t_VarAsgn expr t_Semicolon", "wait_stat : t_WAIT wait_stat_1 wait_stat_2 wait_stat_3 t_Semicolon", "wait_stat_3 : /* empty */", "wait_stat_3 : t_FOR expr", "wait_stat_2 : /* empty */", "wait_stat_2 : t_UNTIL expr", "wait_stat_1 : /* empty */", "wait_stat_1 : t_ON sensitivity_list", "comp_decl : t_COMPONENT t_Identifier comp_decl_1 comp_decl_2 t_END t_COMPONENT t_Semicolon", "comp_decl_2 : /* empty */", "comp_decl_2 : t_PORT interf_list t_Semicolon", "comp_decl_1 : /* empty */", "comp_decl_1 : t_GENERIC interf_list t_Semicolon", "block_config : t_FOR block_spec block_config_1 block_config_2 t_END t_FOR t_Semicolon", "block_config_2 : /* empty */", "block_config_2 : block_config_2 block_config_3", "block_config_3 : config_item", "block_config_1 : /* empty */", "block_config_1 : block_config_1 block_config_4", "block_config_4 : use_clause", "block_spec : name", "config_item : block_config", "config_item : comp_config", "comp_config : t_FOR comp_spec comp_config_1 comp_config_2 t_END t_FOR t_Semicolon", "comp_config_2 : /* empty */", "comp_config_2 : block_config", "comp_config_1 : /* empty */", "comp_config_1 : t_USE binding_indic t_Semicolon", "config_spec : t_FOR comp_spec t_USE binding_indic t_Semicolon", "comp_spec : inst_list t_Colon mark", "inst_list : idf_list", "inst_list : t_ALL", "inst_list : t_OTHERS", "binding_indic : entity_aspect binding_indic_1 binding_indic_2", "binding_indic_2 : /* empty */", "binding_indic_2 : t_PORT t_MAP association_list", "binding_indic_1 : /* empty */", "binding_indic_1 : t_GENERIC t_MAP association_list", "entity_aspect : t_ENTITY name", "entity_aspect : t_CONFIGURATION mark", "entity_aspect : t_OPEN", }; #endif /* YYDEBUG */ #line 1 "/usr/lib/yaccpar" /* @(#)yaccpar 1.10 89/04/04 SMI; from S5R3 1.10 */ /* ** Skeleton parser driver for yacc output */ /* ** yacc user known macros and defines */ #define YYERROR goto yyerrlab #define YYACCEPT { free(yys); free(yyv); return(0); } #define YYABORT { free(yys); free(yyv); return(1); } #define YYBACKUP( newtoken, newvalue )\ {\ if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\ {\ yyerror( "syntax error - cannot backup" );\ goto yyerrlab;\ }\ yychar = newtoken;\ yystate = *yyps;\ yylval = newvalue;\ goto yynewstate;\ } #define YYRECOVERING() (!!yyerrflag) #ifndef YYDEBUG # define YYDEBUG 1 /* make debugging available */ #endif /* ** user known globals */ int yydebug; /* set to 1 to get debugging */ /* ** driver internal defines */ #define YYFLAG (-1000) /* ** static variables used by the parser */ static YYSTYPE *yyv; /* value stack */ static int *yys; /* state stack */ static YYSTYPE *yypv; /* top of value stack */ static int *yyps; /* top of state stack */ static int yystate; /* current state */ static int yytmp; /* extra var (lasts between blocks) */ int yynerrs; /* number of errors */ int yyerrflag; /* error recovery flag */ int yychar; /* current input token number */ /* ** yyparse - return 0 if worked, 1 if syntax error not recovered from */ int yyparse() { register YYSTYPE *yypvt; /* top of value stack for $vars */ unsigned yymaxdepth = YYMAXDEPTH; /* ** Initialize externals - yyparse may be called more than once */ yyv = (YYSTYPE*)malloc(yymaxdepth*sizeof(YYSTYPE)); yys = (int*)malloc(yymaxdepth*sizeof(int)); if (!yyv || !yys) { yyerror( "out of memory" ); return(1); } yypv = &yyv[-1]; yyps = &yys[-1]; yystate = 0