Changeset 3215 in webkit for trunk/JavaScriptCore/kjs/grammar.cpp
- Timestamp:
- Dec 30, 2002, 3:17:23 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/grammar.cpp
r3192 r3215 137 137 ProgramNode *prog; 138 138 AssignExprNode *init; 139 SourceElementNode *src;140 139 SourceElementsNode *srcs; 141 140 StatListNode *slist; … … 308 307 15, 62, 63, 145, 0, 15, 62, 144, 63, 145, 309 308 0, 58, 0, 144, 68, 58, 0, 64, 65, 0, 310 64, 147, 65, 0, 0, 147, 0, 148, 0, 14 8,311 14 7, 0, 115, 0, 142, 0309 64, 147, 65, 0, 0, 147, 0, 148, 0, 147, 310 148, 0, 115, 0, 142, 0 312 311 }; 313 312 … … 316 315 #if YYDEBUG != 0 317 316 static const short yyrline[] = { 0, 318 16 3, 165, 166, 167, 168, 169, 172, 178, 180, 182,319 18 3, 184, 185, 186, 189, 191, 192, 195, 197, 201,320 20 3, 206, 208, 211, 213, 217, 219, 220, 223, 225,321 22 6, 227, 228, 231, 233, 236, 238, 239, 240, 244,322 24 6, 249, 251, 254, 256, 259, 261, 262, 265, 267,323 26 8, 269, 270, 271, 272, 273, 274, 275, 276, 277,324 2 80, 282, 283, 284, 287, 289, 290, 293, 295, 296,325 29 7, 300, 302, 304, 306, 308, 310, 312, 316, 318,326 31 9, 320, 321, 324, 326, 329, 331, 334, 336, 339,327 34 1, 345, 347, 351, 353, 357, 359, 363, 365, 366,328 36 7, 368, 369, 370, 371, 372, 373, 374, 375, 378,329 3 80, 383, 385, 386, 387, 388, 389, 390, 391, 392,330 39 3, 394, 395, 396, 397, 400, 402, 405, 407, 410,331 41 3, 422, 424, 428, 430, 433, 437, 441, 444, 451,332 45 3, 457, 459, 460, 463, 466, 469, 473, 479, 481,333 48 4, 486, 490, 492, 499, 501, 505, 507, 515, 517,334 52 1, 522, 528, 533, 538, 540, 544, 546, 549, 551,335 55 4, 556, 559, 561, 564, 570, 574, 576, 577, 580,336 58 4, 588, 591, 595, 597, 602, 604, 608, 611, 615,337 61 8, 622, 624, 627, 629317 162, 164, 165, 166, 167, 168, 171, 177, 179, 181, 318 182, 183, 184, 185, 188, 190, 191, 194, 196, 200, 319 202, 205, 207, 210, 212, 216, 218, 219, 222, 224, 320 225, 226, 227, 230, 232, 235, 237, 238, 239, 243, 321 245, 248, 250, 253, 255, 258, 260, 261, 264, 266, 322 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 323 279, 281, 282, 283, 286, 288, 289, 292, 294, 295, 324 296, 299, 301, 303, 305, 307, 309, 311, 315, 317, 325 318, 319, 320, 323, 325, 328, 330, 333, 335, 338, 326 340, 344, 346, 350, 352, 356, 358, 362, 364, 365, 327 366, 367, 368, 369, 370, 371, 372, 373, 374, 377, 328 379, 382, 384, 385, 386, 387, 388, 389, 390, 391, 329 392, 393, 394, 395, 396, 399, 401, 404, 406, 409, 330 412, 421, 423, 427, 429, 432, 436, 440, 443, 450, 331 452, 456, 458, 459, 462, 465, 468, 472, 478, 480, 332 483, 485, 489, 491, 498, 500, 504, 506, 514, 516, 333 520, 521, 527, 532, 537, 539, 543, 545, 548, 550, 334 553, 555, 558, 560, 563, 569, 573, 575, 576, 579, 335 583, 587, 590, 594, 596, 601, 603, 607, 610, 614, 336 617, 621, 623, 626, 628 338 337 }; 339 338 #endif … … 462 461 }; 463 462 464 static const short yypact[] = { 631,465 -32768,-32768,-32768,-32768,-32768, 3, -38, 111, -24, 5,466 - 14, 335, 1066, 1066, -12,-32768, 705, 9, 1066, 47,467 5 1, 1066, 0, 1066, 1066,-32768, 50, 1066, 1066,-32768,468 1 066, 409, 12, 1066, 1066, 1066, 1066,-32768,-32768,-32768,469 -32768, 42,-32768, 83, 315,-32768,-32768, 71, -25, 38,470 82, 239, 54, 68, 84, 133, -23,-32768,-32768, 11,463 static const short yypact[] = { 779, 464 -32768,-32768,-32768,-32768,-32768, 5, -28, 111, -30, 6, 465 -31, 335, 1252, 1252, -16,-32768, 853, -5, 1252, 9, 466 57, 1252, -20, 1252, 1252,-32768, -21, 1252, 1252,-32768, 467 1252, 409, -1, 1252, 1252, 1252, 1252,-32768,-32768,-32768, 468 -32768, 42,-32768, 43, 179,-32768,-32768, -14, 12, 195, 469 82, 118, 72, 85, 93, 151, -23,-32768,-32768, 11, 471 470 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 472 -32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768, 631,-32768,473 6,-32768, 778, 114,-32768, 45, 42,-32768, 105, 17,474 -32768,-32768, 7,-32768, 129, -42,-32768,-32768, 18, 112,475 -32768,-32768, 1 066, 230, 1066,-32768, 1066, 1066, -45, 483,476 162,-32768,-32768, 705,-32768,-32768, -6, 150, 176, 50,477 220, -37, 185, 212,-32768, 154, 850, 214,-32768,-32768,478 -32768,-32768, 922, 1066, 234,-32768, 1066, 237,-32768,-32768,471 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 779,-32768,-32768, 472 7,-32768, 964, 161,-32768, 45, 42,-32768, 136, 17, 473 -32768,-32768, 8,-32768, 192, 24,-32768,-32768, 18, 90, 474 -32768,-32768, 1252, 236, 1252,-32768, 1252, 1252, -45, 483, 475 231,-32768,-32768, 853,-32768,-32768, 59, 191, 196, -21, 476 935, 123, 208, 557,-32768, 200, 1036, 203,-32768,-32768, 477 -32768,-32768, 1108, 1252, 222,-32768, 1252, 224,-32768,-32768, 479 478 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 480 -32768,-32768,-32768, 1 066, 1066, 1066, 1066, 1066, 1066, 1066,481 1 066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,482 1 066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,-32768, 1066,483 -32768,-32768,-32768,-32768, 2 44, 87, 241, 226,-32768,-32768,484 -32768,-32768,-32768, 1 066,-32768,-32768, -24,-32768,-32768,-32768,485 64,-32768, 248, 100,-32768,-32768, 103, 252, 121, 122,486 1 24,-32768,-32768, 253, 0, 283,-32768,-32768,-32768,-32768,487 35, 1 066,-32768,-32768, 12,-32768,-32768,-32768,-32768, 181,488 -32768, 20 3,-32768, 223,-32768,-32768,-32768,-32768,-32768, 71,489 71, -25, -25, -25, 38, 38, 38, 38, 38, 38,490 82, 82, 82, 82, 239, 239, 239, 84, 133, 249,491 -32768, -15, -41, 1066, 1066,-32768,-32768, 248, 190, 557,492 -32768, 2 48, 259, 705, 1066, 705, 255, 705, 262,-32768,493 -32768, 2 54,-32768, 994,-32768, 1066,-32768,-32768, 1066, 1066,494 2 98, 1066, 197, 245,-32768, 248,-32768, 260,-32768,-32768,495 307, 199,-32768, 323,-32768,-32768, 270, 1066,-32768,-32768,496 -32768,-32768, 200, 1066, 261, 705, 1066,-32768,-32768, 705,497 -32768, 1 066, 23, 323,-32768, 0,-32768, 705, 201, 1066,498 -32768, 2 74,-32768, 232, 275,-32768, 323,-32768,-32768,-32768,499 705, 280, 705, 705, 705, 281,-32768, 705,-32768,-32768,500 705, 705,-32768,-32768,-32768, 348, 349,-32768479 -32768,-32768,-32768, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 480 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 481 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,-32768, 1252, 482 -32768,-32768,-32768,-32768, 226, 87, 217, 204,-32768,-32768, 483 -32768,-32768,-32768, 1252,-32768,-32768, -30,-32768,-32768,-32768, 484 105,-32768, 223, 103,-32768,-32768, 113, 227, 115, 116, 485 117,-32768,-32768, 228, -20, 253,-32768,-32768,-32768,-32768, 486 35, 1252,-32768,-32768, -1,-32768,-32768,-32768,-32768, 119, 487 -32768, 202,-32768, 206,-32768,-32768,-32768,-32768,-32768, -14, 488 -14, 12, 12, 12, 195, 195, 195, 195, 195, 195, 489 82, 82, 82, 82, 118, 118, 118, 93, 151, 225, 490 -32768, -3, -44, 1252, 1252,-32768,-32768, 223, 126, 631, 491 -32768, 223, 233, 853, 1252, 853, 229, 853, 234,-32768, 492 -32768, 232,-32768, 1180,-32768, 1252,-32768,-32768, 1252, 1252, 493 271, 1252, 127, 212,-32768, 223,-32768, 705,-32768,-32768, 494 274, 157,-32768, 289,-32768,-32768, 237, 1252,-32768,-32768, 495 -32768,-32768, 174, 1252, 218, 853, 1252,-32768,-32768, 853, 496 -32768, 1252, 23, 289,-32768, -20,-32768, 853, 175, 1252, 497 -32768, 243,-32768, 207, 238,-32768, 289,-32768,-32768,-32768, 498 853, 246, 853, 853, 853, 245,-32768, 853,-32768,-32768, 499 853, 853,-32768,-32768,-32768, 312, 314,-32768 501 500 }; 502 501 503 502 static const short yypgoto[] = {-32768, 504 -32768,-32768,-32768, 126,-32768,-32768, 135, 346, 351,-32768,505 -34,-32768, 41,-32768, 1, 1 48, -10, 15, 117, 123,506 -32768,-32768, 1 84, 196,-32768,-32768, -122,-32768, -9, -17,507 -22, 29,-32768, 191, 178, 118,-32768,-32768,-32768,-32768,508 -2 25,-32768,-32768,-32768,-32768,-32768,-32768, 44,-32768, 55,509 -32768,-32768,-32768,-32768,-32768, 1 66,-32768,-32768, 182, -223,510 -32768, 2, -32768503 -32768,-32768,-32768, 91,-32768,-32768, 94, 309, 310,-32768, 504 -34,-32768, 41,-32768, 1, 120, 88, -18, 75, 78, 505 -32768,-32768, 143, 145,-32768,-32768, -122,-32768, -9, -17, 506 -22, -25,-32768, 138, 128, 67,-32768,-32768,-32768,-32768, 507 -249,-32768,-32768,-32768,-32768,-32768,-32768, -7,-32768, 13, 508 -32768,-32768,-32768,-32768,-32768, 129,-32768,-32768, 131, -223, 509 -32768, 2, -74 511 510 }; 512 511 513 512 514 #define YYLAST 1 140513 #define YYLAST 1326 515 514 516 515 517 516 static const short yytable[] = { 104, 518 111, 78, 99, 80, 227, 92, 183, 199, 290, 139,519 231, 179, 109, 101, 102, 2 02, 177, 196, 205, 106,520 2 03, 117, 180, 83, 112, 113, 197, 220, 115, 116,521 221, 236, 335, 89, 129, 130, 131, 132, 212, 294,522 189, 190, 292, 95, 295, 158, 159, 96, 299, 103,523 189, 190, 193, 100, 100, 260, 219, 261, 178, 100,524 81, 180, 93, 110, 100, 100, 315, 194, 100, 100,525 10 5, 266, 318, 187, 100, 100, 100, 100, 180, 125,526 182, 160, 161, 162, 197, 180, 82, 336, 94, 184,527 200, 332, 191, 207, 181, 209, 218, 210, 211, 283,528 198, 206, 191, 133, 342, 163, 164, 134, 107, 192,529 264, 135, 1 08, 1, 2, 3, 4, 5, 114, 165,530 166, 2 02, 8, 186, 232, 84, 268, 234, 140, 141,531 16, 1 55, 173, 142, 143, 144, 145, 146, 147, 148,532 149, 150, 151, 152, 133, 156, 157, 174, 137, 242,533 243, 244, 138, 140, 141, 237, 238, 239, 167, 168,534 26, 310, 2 72, 311, 175, 274, 312, 273, 85, 153,535 180, 30, 31, 176, 86, 96, 33, 245, 246, 247,536 248, 249, 250, 276, 277, 327, 278, 194, 180, 180,537 2 01, 180, 280, 214, 215, 100, 100, 100, 100, 100,517 111, 78, 99, 182, 227, 80, 92, 183, 199, 139, 518 231, 179, 109, 101, 102, 294, 177, 196, 205, 106, 519 290, 117, 180, 197, 112, 113, 95, 89, 115, 116, 520 96, 236, 335, 83, 129, 130, 131, 132, 212, 292, 521 189, 190, 315, 110, 295, 103, 155, 114, 299, 182, 522 189, 190, 193, 100, 100, 260, 105, 261, 178, 100, 523 156, 157, 81, 93, 100, 100, 125, 332, 100, 100, 524 107, 266, 318, 187, 100, 100, 100, 100, 180, 194, 525 342, 202, 158, 159, 197, 180, 203, 336, 82, 94, 526 184, 200, 191, 207, 181, 209, 218, 210, 211, 283, 527 198, 206, 191, 133, 133, 163, 164, 134, 137, 192, 528 264, 135, 138, 1, 2, 3, 4, 5, 108, 165, 529 166, 219, 8, 186, 232, 84, 180, 234, 140, 141, 530 16, 140, 141, 142, 143, 144, 145, 146, 147, 148, 531 149, 150, 151, 152, 245, 246, 247, 248, 249, 250, 532 173, 169, 170, 171, 172, 237, 238, 239, 167, 168, 533 26, 310, 202, 311, 174, 272, 312, 268, 85, 153, 534 273, 30, 31, 175, 86, 274, 33, 276, 277, 278, 535 180, 285, 180, 180, 180, 327, 286, 220, 296, 316, 536 221, 176, 280, 273, 180, 100, 100, 100, 100, 100, 538 537 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 539 100, 100, 100, 100, 100, 100, 100, 100, -27, -126,540 224, 225, -126, -126, -126, -126, -126, -126, -126, -126,541 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,542 -126, -126, -126, 285, -28, -126, -126, -126, 286, -126,543 -126, 208, 296, 222, 293, 187, 301, 273, 303, 316,544 306, 321, 328, 341, 180, 302, 180, 180, 180, 287,545 180, 298, 169, 170, 171, 172, 223, -126, -126, -126,546 313, 2 28, 187, -126, -126, 251, 252, 253, 254, 288,547 180, 233, -126, -126, 235, 255, 256, 257, 331, 180,548 3 44, 262, 333, 339, 329, 240, 241, 187, 180, 265,549 340, 270, 334, 275, 279, 215, 300, 289, 304, 307,550 187, 314, 308, 347, 319, 349, 350, 350, 317, 320,551 354, 322, 326, 355, 355, 97, 343, 1, 2, 3,552 4, 5, 348, 345, 330, 353, 8, 357, 358, 84,553 284, 13, 14, 87, 16, 282, 140, 141, 88, 258,554 19, 142, 143, 144, 145, 146, 147, 148, 149, 150,555 151, 152, 259, 352, 267, 263, 24, 25, 338, 291,556 346, 281, 269, 0, 26, 0, 0, 0, 0, 0,557 0, 0, 85, 28, 29, 30, 31, 153, 86, 0,538 100, 100, 100, 100, 100, 100, 100, 100, 194, 321, 539 140, 141, 96, 182, 180, 142, 143, 144, 145, 146, 540 147, 148, 149, 150, 151, 152, 328, 341, 160, 161, 541 162, 180, 180, 251, 252, 253, 254, 242, 243, 244, 542 255, 256, 257, 201, 293, 187, 301, 208, 303, -27, 543 306, 153, 214, 215, -28, 302, 224, 225, 287, 180, 544 228, 298, 288, 180, 180, 344, 222, 240, 241, 233, 545 313, 235, 187, 262, 180, 215, 270, 265, 275, 279, 546 300, 307, 304, 289, 314, 317, 320, 322, 331, 326, 547 308, 330, 333, 339, 329, 343, 345, 187, 348, 353, 548 340, 357, 334, 358, 282, 284, 87, 88, 258, 352, 549 187, 259, 263, 347, 267, 349, 350, 350, 291, 346, 550 354, 269, 0, 355, 355, 97, 338, 1, 2, 3, 551 4, 5, 0, 0, 281, 0, 8, 0, 0, 84, 552 0, 13, 14, 0, 16, 0, 0, 0, 0, 0, 553 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554 0, 0, 0, 0, 0, 0, 24, 25, 0, 0, 555 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 556 0, 0, 85, 28, 29, 30, 31, 0, 86, 0, 558 557 33, 0, 0, 0, 0, 34, 35, 36, 37, 0, 559 558 0, 1, 2, 3, 118, 119, 6, 0, 98, 7, … … 578 577 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 579 578 0, 0, 0, 0, 27, 28, 29, 30, 31, 0, 580 32, 2 97, 33, 0, 0, 0, 0, 34, 35, 36,579 32, 223, 33, 0, 0, 0, 0, 34, 35, 36, 581 580 37, 0, 0, 1, 2, 3, 4, 5, 6, 0, 582 581 38, 7, 8, 9, 10, 11, 12, 13, 14, 15, … … 585 584 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 586 585 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 587 29, 30, 31, 0, 32, 0, 33, 0, 0, 0,586 29, 30, 31, 0, 32, 297, 33, 0, 0, 0, 588 587 0, 34, 35, 36, 37, 0, 0, 1, 2, 3, 589 4, 5, 6, 0, 38, 7, 8, 9, 10, 84,588 4, 5, 6, 0, 38, 7, 8, 9, 10, 11, 590 589 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 591 590 19, 20, 21, 0, 22, 23, 0, 0, 0, 0, 592 591 0, 0, 0, 0, 0, 0, 24, 25, 0, 0, 593 592 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 594 0, 0, 27, 28, 29, 30, 31, 0, 32, 0,593 0, 0, 27, 28, 29, 30, 31, 0, 32, 319, 595 594 33, 0, 0, 0, 0, 34, 35, 36, 37, 0, 596 1, 2, 3, 4, 5, 0, 0, 0, 38, 8, 597 185, 0, 84, 0, 13, 14, 0, 16, 0, 0, 595 0, 1, 2, 3, 4, 5, 6, 0, 38, 7, 596 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 597 18, 0, 0, 0, 19, 20, 21, 0, 22, 23, 598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599 24, 25, 0, 0, 0, 0, 0, 0, 26, 0, 600 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 601 31, 0, 32, 0, 33, 0, 0, 0, 0, 34, 602 35, 36, 37, 0, 0, 1, 2, 3, 4, 5, 603 6, 0, 38, 7, 8, 9, 10, 84, 12, 13, 604 14, 15, 16, 17, 18, 0, 0, 0, 19, 20, 605 21, 0, 22, 23, 0, 0, 0, 0, 0, 0, 606 0, 0, 0, 0, 24, 25, 0, 0, 0, 0, 607 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 608 27, 28, 29, 30, 31, 0, 32, 0, 33, 0, 609 0, 0, 0, 34, 35, 36, 37, 0, 0, 0, 610 0, 0, 0, 0, -126, 0, 38, -126, -126, -126, 611 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, 612 -126, -126, -126, -126, -126, -126, -126, -126, 0, 0, 613 -126, -126, -126, 0, -126, -126, 1, 2, 3, 4, 614 5, 0, 0, 0, 0, 8, 185, 0, 84, 0, 615 13, 14, 0, 16, 0, 0, 0, 0, 0, 19, 616 0, 0, -126, -126, -126, 0, 0, 0, -126, -126, 617 0, 0, 0, 0, 0, 24, 25, -126, -126, 0, 618 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 619 0, 85, 28, 29, 30, 31, 0, 86, 0, 33, 620 0, 0, 0, 0, 34, 35, 36, 37, 1, 2, 621 3, 4, 5, 0, 0, 0, 0, 8, 0, 0, 622 84, 0, 13, 14, 0, 16, 0, 0, 0, 0, 623 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 624 0, 0, 0, 0, 0, 0, 0, 24, 25, 0, 625 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 626 0, 0, 0, 85, 28, 29, 30, 31, 0, 86, 627 0, 33, 226, 0, 0, 0, 34, 35, 36, 37, 628 1, 2, 3, 4, 5, 0, 0, 0, 0, 8, 629 0, 0, 84, 0, 13, 14, 0, 16, 0, 0, 598 630 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 599 631 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 600 632 25, 0, 0, 0, 0, 0, 0, 26, 0, 0, 601 633 0, 0, 0, 0, 0, 85, 28, 29, 30, 31, 602 0, 86, 0, 33, 0, 0, 0, 0, 34, 35,634 229, 86, 0, 33, 0, 0, 0, 0, 34, 35, 603 635 36, 37, 1, 2, 3, 4, 5, 0, 0, 0, 604 636 0, 8, 0, 0, 84, 0, 13, 14, 0, 16, … … 607 639 0, 24, 25, 0, 0, 0, 0, 0, 0, 26, 608 640 0, 0, 0, 0, 0, 0, 0, 85, 28, 29, 609 30, 31, 0, 86, 0, 33, 226, 0, 0, 0,641 30, 31, 0, 86, 0, 33, 309, 0, 0, 0, 610 642 34, 35, 36, 37, 1, 2, 3, 4, 5, 0, 611 643 0, 0, 0, 8, 0, 0, 84, 0, 13, 14, … … 614 646 0, 0, 0, 24, 25, 0, 0, 0, 0, 0, 615 647 0, 26, 0, 0, 0, 0, 0, 0, 0, 85, 616 28, 29, 30, 31, 229, 86, 0, 33, 0, 0, 617 0, 0, 34, 35, 36, 37, 1, 2, 3, 4, 618 5, 0, 0, 0, 0, 8, 0, 0, 84, 0, 619 13, 14, 0, 16, 0, 0, 0, 0, 0, 19, 620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621 0, 0, 0, 0, 0, 24, 25, 0, 0, 0, 622 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 623 0, 85, 28, 29, 30, 31, 0, 86, 0, 33, 624 309, 0, 0, 0, 34, 35, 36, 37, 1, 2, 625 3, 4, 5, 0, 0, 0, 0, 8, 0, 0, 626 84, 0, 13, 14, 0, 16, 0, 0, 0, 0, 627 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 628 0, 0, 0, 0, 0, 0, 0, 24, 25, 0, 629 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 630 0, 0, 0, 85, 28, 29, 30, 31, 0, 86, 631 0, 33, 0, 0, 0, 0, 34, 35, 36, 37 648 28, 29, 30, 31, 0, 86, 0, 33, 0, 0, 649 0, 0, 34, 35, 36, 37 632 650 }; 633 651 634 652 static const short yycheck[] = { 17, 635 23, 0, 12, 1, 127, 1, 1, 1, 24, 44,636 133, 1, 22, 13, 14, 58, 40, 1, 1, 19,637 63, 31, 68, 62, 24, 25, 68, 65, 28, 29,638 6 8, 154, 10, 58, 34, 35, 36, 37, 84, 265,639 6, 7, 84, 58, 268, 71, 72, 62, 272, 62,640 6, 7, 87, 13, 14, 178, 6 3, 180, 82, 19,641 58, 68, 58, 64, 24, 25, 292, 83, 28, 29,642 62, 194, 296, 83, 34, 35, 36, 37, 68, 68,643 79, 44, 45, 46, 68, 68, 84, 65, 84, 84,644 84, 317, 58, 103, 84, 105, 114, 107, 108, 222,645 84, 84, 58, 62, 330, 24, 25, 66, 62, 65,646 24, 70, 62, 3, 4, 5, 6, 7, 69, 38,647 39, 58, 12, 83, 134, 15, 63, 137, 42, 43,648 20, 61, 79, 47, 48, 49, 50, 51, 52, 53,649 54, 55, 56, 57, 62, 75, 76, 80, 66, 160,650 161, 162, 70, 42, 43, 155, 156, 157, 77, 78,651 50, 284, 63, 286, 81, 63, 289, 68, 58, 83,652 68, 61, 62, 41, 64, 62, 66, 163, 164, 165,653 166, 167, 168, 63, 63, 308, 63, 83, 68, 68,654 6 2, 68, 215, 32, 33, 155, 156, 157, 158, 159,653 23, 0, 12, 78, 127, 1, 1, 1, 1, 44, 654 133, 1, 22, 13, 14, 265, 40, 1, 1, 19, 655 24, 31, 68, 68, 24, 25, 58, 58, 28, 29, 656 62, 154, 10, 62, 34, 35, 36, 37, 84, 84, 657 6, 7, 292, 64, 268, 62, 61, 69, 272, 124, 658 6, 7, 87, 13, 14, 178, 62, 180, 82, 19, 659 75, 76, 58, 58, 24, 25, 68, 317, 28, 29, 660 62, 194, 296, 83, 34, 35, 36, 37, 68, 83, 661 330, 58, 71, 72, 68, 68, 63, 65, 84, 84, 662 84, 84, 58, 103, 84, 105, 114, 107, 108, 222, 663 84, 84, 58, 62, 62, 24, 25, 66, 66, 65, 664 24, 70, 70, 3, 4, 5, 6, 7, 62, 38, 665 39, 63, 12, 83, 134, 15, 68, 137, 42, 43, 666 20, 42, 43, 47, 48, 49, 50, 51, 52, 53, 667 54, 55, 56, 57, 163, 164, 165, 166, 167, 168, 668 79, 34, 35, 36, 37, 155, 156, 157, 77, 78, 669 50, 284, 58, 286, 80, 63, 289, 63, 58, 83, 670 68, 61, 62, 81, 64, 63, 66, 63, 63, 63, 671 68, 63, 68, 68, 68, 308, 68, 65, 63, 63, 672 68, 41, 215, 68, 68, 155, 156, 157, 158, 159, 655 673 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 656 170, 171, 172, 173, 174, 175, 176, 177, 69, 0,657 67, 68, 3, 4, 5, 6, 7, 8, 9, 10,658 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,659 21, 22, 23, 63, 69, 26, 27, 28, 68, 30,660 31, 22, 63, 69, 264, 265, 274, 68, 276, 63,661 278, 63, 63, 63, 68, 275, 68, 68, 68, 67,662 68, 270, 34, 35, 36, 37, 65, 58, 59, 60,663 290, 68, 292, 64, 65, 169, 170, 171, 172, 67,664 68, 58, 73, 74, 58, 173, 174, 175, 316, 68,665 69, 58, 320, 326, 314, 158, 159, 317, 68, 84,666 328, 64, 322, 62, 62, 33, 58, 69, 64, 58,667 330, 24, 69, 341, 65, 343, 344, 345, 84, 23,668 348, 9, 63, 351, 352, 1, 63, 3, 4, 5,669 6, 7, 63, 69, 84, 65, 12, 0, 0, 15,670 225, 17, 18, 8, 20, 221, 42, 43, 8, 176,671 26, 47, 48, 49, 50, 51, 52, 53, 54, 55,672 56, 57, 177, 345, 197, 185, 42, 43, 324, 262,673 337, 216, 201, -1, 50, -1, -1, -1, -1, -1,674 -1, -1, 58, 59, 60, 61, 62, 83, 64, -1,674 170, 171, 172, 173, 174, 175, 176, 177, 83, 63, 675 42, 43, 62, 298, 68, 47, 48, 49, 50, 51, 676 52, 53, 54, 55, 56, 57, 63, 63, 44, 45, 677 46, 68, 68, 169, 170, 171, 172, 160, 161, 162, 678 173, 174, 175, 62, 264, 265, 274, 22, 276, 69, 679 278, 83, 32, 33, 69, 275, 67, 68, 67, 68, 680 68, 270, 67, 68, 68, 69, 69, 158, 159, 58, 681 290, 58, 292, 58, 68, 33, 64, 84, 62, 62, 682 58, 58, 64, 69, 24, 84, 23, 9, 316, 63, 683 69, 84, 320, 326, 314, 63, 69, 317, 63, 65, 684 328, 0, 322, 0, 221, 225, 8, 8, 176, 345, 685 330, 177, 185, 341, 197, 343, 344, 345, 262, 337, 686 348, 201, -1, 351, 352, 1, 324, 3, 4, 5, 687 6, 7, -1, -1, 216, -1, 12, -1, -1, 15, 688 -1, 17, 18, -1, 20, -1, -1, -1, -1, -1, 689 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, 690 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, 691 -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, 692 -1, -1, 58, 59, 60, 61, 62, -1, 64, -1, 675 693 66, -1, -1, -1, -1, 71, 72, 73, 74, -1, 676 694 -1, 3, 4, 5, 6, 7, 8, -1, 84, 11, … … 702 720 -1, -1, 42, 43, -1, -1, -1, -1, -1, -1, 703 721 50, -1, -1, -1, -1, -1, -1, -1, 58, 59, 704 60, 61, 62, -1, 64, -1, 66, -1, -1, -1,722 60, 61, 62, -1, 64, 65, 66, -1, -1, -1, 705 723 -1, 71, 72, 73, 74, -1, -1, 3, 4, 5, 706 724 6, 7, 8, -1, 84, 11, 12, 13, 14, 15, … … 709 727 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, 710 728 -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, 711 -1, -1, 58, 59, 60, 61, 62, -1, 64, -1,729 -1, -1, 58, 59, 60, 61, 62, -1, 64, 65, 712 730 66, -1, -1, -1, -1, 71, 72, 73, 74, -1, 713 3, 4, 5, 6, 7, -1, -1, -1, 84, 12, 714 13, -1, 15, -1, 17, 18, -1, 20, -1, -1, 731 -1, 3, 4, 5, 6, 7, 8, -1, 84, 11, 732 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 733 22, -1, -1, -1, 26, 27, 28, -1, 30, 31, 734 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 735 42, 43, -1, -1, -1, -1, -1, -1, 50, -1, 736 -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 737 62, -1, 64, -1, 66, -1, -1, -1, -1, 71, 738 72, 73, 74, -1, -1, 3, 4, 5, 6, 7, 739 8, -1, 84, 11, 12, 13, 14, 15, 16, 17, 740 18, 19, 20, 21, 22, -1, -1, -1, 26, 27, 741 28, -1, 30, 31, -1, -1, -1, -1, -1, -1, 742 -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 743 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, 744 58, 59, 60, 61, 62, -1, 64, -1, 66, -1, 745 -1, -1, -1, 71, 72, 73, 74, -1, -1, -1, 746 -1, -1, -1, -1, 0, -1, 84, 3, 4, 5, 747 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 748 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, 749 26, 27, 28, -1, 30, 31, 3, 4, 5, 6, 750 7, -1, -1, -1, -1, 12, 13, -1, 15, -1, 751 17, 18, -1, 20, -1, -1, -1, -1, -1, 26, 752 -1, -1, 58, 59, 60, -1, -1, -1, 64, 65, 753 -1, -1, -1, -1, -1, 42, 43, 73, 74, -1, 754 -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, 755 -1, 58, 59, 60, 61, 62, -1, 64, -1, 66, 756 -1, -1, -1, -1, 71, 72, 73, 74, 3, 4, 757 5, 6, 7, -1, -1, -1, -1, 12, -1, -1, 758 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, 759 -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, 760 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, 761 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, 762 -1, -1, -1, 58, 59, 60, 61, 62, -1, 64, 763 -1, 66, 67, -1, -1, -1, 71, 72, 73, 74, 764 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, 765 -1, -1, 15, -1, 17, 18, -1, 20, -1, -1, 715 766 -1, -1, -1, 26, -1, -1, -1, -1, -1, -1, 716 767 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 717 768 43, -1, -1, -1, -1, -1, -1, 50, -1, -1, 718 769 -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 719 -1, 64, -1, 66, -1, -1, -1, -1, 71, 72,770 63, 64, -1, 66, -1, -1, -1, -1, 71, 72, 720 771 73, 74, 3, 4, 5, 6, 7, -1, -1, -1, 721 772 -1, 12, -1, -1, 15, -1, 17, 18, -1, 20, … … 731 782 -1, -1, -1, 42, 43, -1, -1, -1, -1, -1, 732 783 -1, 50, -1, -1, -1, -1, -1, -1, -1, 58, 733 59, 60, 61, 62, 63, 64, -1, 66, -1, -1, 734 -1, -1, 71, 72, 73, 74, 3, 4, 5, 6, 735 7, -1, -1, -1, -1, 12, -1, -1, 15, -1, 736 17, 18, -1, 20, -1, -1, -1, -1, -1, 26, 737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 738 -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, 739 -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, 740 -1, 58, 59, 60, 61, 62, -1, 64, -1, 66, 741 67, -1, -1, -1, 71, 72, 73, 74, 3, 4, 742 5, 6, 7, -1, -1, -1, -1, 12, -1, -1, 743 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, 744 -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, 745 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, 746 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, 747 -1, -1, -1, 58, 59, 60, 61, 62, -1, 64, 748 -1, 66, -1, -1, -1, -1, 71, 72, 73, 74 784 59, 60, 61, 62, -1, 64, -1, 66, -1, -1, 785 -1, -1, 71, 72, 73, 74 749 786 }; 750 787 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ … … 1294 1331 1295 1332 case 1: 1333 #line 163 "grammar.y" 1334 { yyval.node = new NullNode(); ; 1335 break;} 1336 case 2: 1296 1337 #line 164 "grammar.y" 1297 { yyval.node = new NullNode(); ;1298 break;} 1299 case 2:1338 { yyval.node = new BooleanNode(true); ; 1339 break;} 1340 case 3: 1300 1341 #line 165 "grammar.y" 1301 { yyval.node = new BooleanNode( true); ;1302 break;} 1303 case 3:1342 { yyval.node = new BooleanNode(false); ; 1343 break;} 1344 case 4: 1304 1345 #line 166 "grammar.y" 1305 { yyval.node = new BooleanNode(false); ;1306 break;} 1307 case 4:1346 { yyval.node = new NumberNode(yyvsp[0].dval); ; 1347 break;} 1348 case 5: 1308 1349 #line 167 "grammar.y" 1309 { yyval.node = new NumberNode(yyvsp[0].dval); ;1310 break;} 1311 case 5:1350 { yyval.node = new StringNode(yyvsp[0].ustr); delete yyvsp[0].ustr; ; 1351 break;} 1352 case 6: 1312 1353 #line 168 "grammar.y" 1313 { yyval.node = new StringNode(yyvsp[0].ustr); delete yyvsp[0].ustr; ;1314 break;}1315 case 6:1316 #line 169 "grammar.y"1317 1354 { Lexer *l = Lexer::curr(); 1318 1355 if (!l->scanRegExp()) YYABORT; … … 1320 1357 break;} 1321 1358 case 7: 1322 #line 17 3"grammar.y"1359 #line 172 "grammar.y" 1323 1360 { Lexer *l = Lexer::curr(); 1324 1361 if (!l->scanRegExp()) YYABORT; … … 1326 1363 break;} 1327 1364 case 8: 1365 #line 178 "grammar.y" 1366 { yyval.node = new ThisNode(); ; 1367 break;} 1368 case 9: 1328 1369 #line 179 "grammar.y" 1329 { yyval.node = new ThisNode(); ;1330 break;}1331 case 9:1332 #line 180 "grammar.y"1333 1370 { yyval.node = new ResolveNode(*yyvsp[0].ident); 1334 1371 delete yyvsp[0].ident; ; 1335 1372 break;} 1336 1373 case 12: 1374 #line 183 "grammar.y" 1375 { yyval.node = new GroupNode(yyvsp[-1].node); ; 1376 break;} 1377 case 13: 1337 1378 #line 184 "grammar.y" 1338 { yyval.node = new GroupNode(yyvsp[-1].node); ;1339 break;} 1340 case 1 3:1379 { yyval.node = new ObjectLiteralNode(0L); ; 1380 break;} 1381 case 14: 1341 1382 #line 185 "grammar.y" 1342 { yyval.node = new ObjectLiteralNode(0L); ;1343 break;}1344 case 14:1345 #line 186 "grammar.y"1346 1383 { yyval.node = new ObjectLiteralNode(yyvsp[-1].plist); ; 1347 1384 break;} 1348 1385 case 15: 1386 #line 189 "grammar.y" 1387 { yyval.node = new ArrayNode(yyvsp[-1].ival); ; 1388 break;} 1389 case 16: 1349 1390 #line 190 "grammar.y" 1350 { yyval.node = new ArrayNode(yyvsp[-1]. ival); ;1351 break;} 1352 case 1 6:1391 { yyval.node = new ArrayNode(yyvsp[-1].elm); ; 1392 break;} 1393 case 17: 1353 1394 #line 191 "grammar.y" 1354 { yyval.node = new ArrayNode(yyvsp[-1].elm); ;1355 break;}1356 case 17:1357 #line 192 "grammar.y"1358 1395 { yyval.node = new ArrayNode(yyvsp[-1].ival, yyvsp[-3].elm); ; 1359 1396 break;} 1360 1397 case 18: 1361 #line 19 6"grammar.y"1398 #line 195 "grammar.y" 1362 1399 { yyval.elm = new ElementNode(yyvsp[-1].ival, yyvsp[0].node); ; 1363 1400 break;} 1364 1401 case 19: 1365 #line 19 8"grammar.y"1402 #line 197 "grammar.y" 1366 1403 { yyval.elm = new ElementNode(yyvsp[-3].elm, yyvsp[-1].ival, yyvsp[0].node); ; 1367 1404 break;} 1368 1405 case 20: 1369 #line 20 2"grammar.y"1406 #line 201 "grammar.y" 1370 1407 { yyval.ival = 0; ; 1371 1408 break;} 1372 1409 case 22: 1410 #line 206 "grammar.y" 1411 { yyval.ival = 1; ; 1412 break;} 1413 case 23: 1373 1414 #line 207 "grammar.y" 1374 { yyval.ival = 1; ;1375 break;}1376 case 23:1377 #line 208 "grammar.y"1378 1415 { yyval.ival = yyvsp[-1].ival + 1; ; 1379 1416 break;} 1380 1417 case 24: 1381 #line 21 2"grammar.y"1418 #line 211 "grammar.y" 1382 1419 { yyval.plist = new PropertyValueNode(yyvsp[-2].pnode, yyvsp[0].node); ; 1383 1420 break;} 1384 1421 case 25: 1385 #line 21 4"grammar.y"1422 #line 213 "grammar.y" 1386 1423 { yyval.plist = new PropertyValueNode(yyvsp[-2].pnode, yyvsp[0].node, yyvsp[-4].plist); ; 1387 1424 break;} 1388 1425 case 26: 1426 #line 217 "grammar.y" 1427 { yyval.pnode = new PropertyNode(*yyvsp[0].ident); delete yyvsp[0].ident; ; 1428 break;} 1429 case 27: 1389 1430 #line 218 "grammar.y" 1390 { yyval.pnode = new PropertyNode( *yyvsp[0].ident); delete yyvsp[0].ident; ;1391 break;} 1392 case 2 7:1431 { yyval.pnode = new PropertyNode(Identifier(*yyvsp[0].ustr)); delete yyvsp[0].ustr; ; 1432 break;} 1433 case 28: 1393 1434 #line 219 "grammar.y" 1394 { yyval.pnode = new PropertyNode(Identifier(*yyvsp[0].ustr)); delete yyvsp[0].ustr; ;1395 break;}1396 case 28:1397 #line 220 "grammar.y"1398 1435 { yyval.pnode = new PropertyNode(yyvsp[0].dval); ; 1399 1436 break;} 1400 1437 case 31: 1438 #line 225 "grammar.y" 1439 { yyval.node = new AccessorNode1(yyvsp[-3].node, yyvsp[-1].node); ; 1440 break;} 1441 case 32: 1401 1442 #line 226 "grammar.y" 1402 { yyval.node = new AccessorNode 1(yyvsp[-3].node, yyvsp[-1].node); ;1403 break;} 1404 case 3 2:1443 { yyval.node = new AccessorNode2(yyvsp[-2].node, *yyvsp[0].ident); delete yyvsp[0].ident; ; 1444 break;} 1445 case 33: 1405 1446 #line 227 "grammar.y" 1406 { yyval.node = new AccessorNode2(yyvsp[-2].node, *yyvsp[0].ident); delete yyvsp[0].ident; ;1407 break;}1408 case 33:1409 #line 228 "grammar.y"1410 1447 { yyval.node = new NewExprNode(yyvsp[-1].node, yyvsp[0].args); ; 1411 1448 break;} 1412 1449 case 35: 1413 #line 23 3"grammar.y"1450 #line 232 "grammar.y" 1414 1451 { yyval.node = new NewExprNode(yyvsp[0].node); ; 1415 1452 break;} 1416 1453 case 36: 1454 #line 236 "grammar.y" 1455 { yyval.node = new FunctionCallNode(yyvsp[-1].node, yyvsp[0].args); ; 1456 break;} 1457 case 37: 1417 1458 #line 237 "grammar.y" 1418 1459 { yyval.node = new FunctionCallNode(yyvsp[-1].node, yyvsp[0].args); ; 1419 1460 break;} 1420 case 3 7:1461 case 38: 1421 1462 #line 238 "grammar.y" 1422 { yyval.node = new FunctionCallNode(yyvsp[-1].node, yyvsp[0].args); ;1423 break;} 1424 case 3 8:1463 { yyval.node = new AccessorNode1(yyvsp[-3].node, yyvsp[-1].node); ; 1464 break;} 1465 case 39: 1425 1466 #line 239 "grammar.y" 1426 { yyval.node = new AccessorNode1(yyvsp[-3].node, yyvsp[-1].node); ;1427 break;}1428 case 39:1429 #line 240 "grammar.y"1430 1467 { yyval.node = new AccessorNode2(yyvsp[-2].node, *yyvsp[0].ident); 1431 1468 delete yyvsp[0].ident; ; 1432 1469 break;} 1433 1470 case 40: 1471 #line 244 "grammar.y" 1472 { yyval.args = new ArgumentsNode(0L); ; 1473 break;} 1474 case 41: 1434 1475 #line 245 "grammar.y" 1435 { yyval.args = new ArgumentsNode(0L); ;1436 break;}1437 case 41:1438 #line 246 "grammar.y"1439 1476 { yyval.args = new ArgumentsNode(yyvsp[-1].alist); ; 1440 1477 break;} 1441 1478 case 42: 1479 #line 249 "grammar.y" 1480 { yyval.alist = new ArgumentListNode(yyvsp[0].node); ; 1481 break;} 1482 case 43: 1442 1483 #line 250 "grammar.y" 1443 { yyval.alist = new ArgumentListNode(yyvsp[0].node); ;1444 break;}1445 case 43:1446 #line 251 "grammar.y"1447 1484 { yyval.alist = new ArgumentListNode(yyvsp[-2].alist, yyvsp[0].node); ; 1448 1485 break;} 1449 1486 case 47: 1487 #line 260 "grammar.y" 1488 { yyval.node = new PostfixNode(yyvsp[-1].node, OpPlusPlus); ; 1489 break;} 1490 case 48: 1450 1491 #line 261 "grammar.y" 1451 { yyval.node = new PostfixNode(yyvsp[-1].node, OpPlusPlus); ;1452 break;}1453 case 48:1454 #line 262 "grammar.y"1455 1492 { yyval.node = new PostfixNode(yyvsp[-1].node, OpMinusMinus); ; 1456 1493 break;} 1457 1494 case 50: 1495 #line 266 "grammar.y" 1496 { yyval.node = new DeleteNode(yyvsp[0].node); ; 1497 break;} 1498 case 51: 1458 1499 #line 267 "grammar.y" 1459 { yyval.node = new DeleteNode(yyvsp[0].node); ;1460 break;} 1461 case 5 1:1500 { yyval.node = new VoidNode(yyvsp[0].node); ; 1501 break;} 1502 case 52: 1462 1503 #line 268 "grammar.y" 1463 { yyval.node = new VoidNode(yyvsp[0].node); ;1464 break;} 1465 case 5 2:1504 { yyval.node = new TypeOfNode(yyvsp[0].node); ; 1505 break;} 1506 case 53: 1466 1507 #line 269 "grammar.y" 1467 { yyval.node = new TypeOfNode(yyvsp[0].node); ;1468 break;} 1469 case 5 3:1508 { yyval.node = new PrefixNode(OpPlusPlus, yyvsp[0].node); ; 1509 break;} 1510 case 54: 1470 1511 #line 270 "grammar.y" 1471 1512 { yyval.node = new PrefixNode(OpPlusPlus, yyvsp[0].node); ; 1472 1513 break;} 1473 case 5 4:1514 case 55: 1474 1515 #line 271 "grammar.y" 1475 { yyval.node = new PrefixNode(Op PlusPlus, yyvsp[0].node); ;1476 break;} 1477 case 5 5:1516 { yyval.node = new PrefixNode(OpMinusMinus, yyvsp[0].node); ; 1517 break;} 1518 case 56: 1478 1519 #line 272 "grammar.y" 1479 1520 { yyval.node = new PrefixNode(OpMinusMinus, yyvsp[0].node); ; 1480 1521 break;} 1481 case 5 6:1522 case 57: 1482 1523 #line 273 "grammar.y" 1483 { yyval.node = new PrefixNode(OpMinusMinus,yyvsp[0].node); ;1484 break;} 1485 case 5 7:1524 { yyval.node = new UnaryPlusNode(yyvsp[0].node); ; 1525 break;} 1526 case 58: 1486 1527 #line 274 "grammar.y" 1487 { yyval.node = new UnaryPlusNode(yyvsp[0].node); ;1488 break;} 1489 case 5 8:1528 { yyval.node = new NegateNode(yyvsp[0].node); ; 1529 break;} 1530 case 59: 1490 1531 #line 275 "grammar.y" 1491 { yyval.node = new NegateNode(yyvsp[0].node); ;1492 break;} 1493 case 59:1532 { yyval.node = new BitwiseNotNode(yyvsp[0].node); ; 1533 break;} 1534 case 60: 1494 1535 #line 276 "grammar.y" 1495 { yyval.node = new BitwiseNotNode(yyvsp[0].node); ;1496 break;}1497 case 60:1498 #line 277 "grammar.y"1499 1536 { yyval.node = new LogicalNotNode(yyvsp[0].node); ; 1500 1537 break;} 1501 1538 case 62: 1539 #line 281 "grammar.y" 1540 { yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, '*'); ; 1541 break;} 1542 case 63: 1502 1543 #line 282 "grammar.y" 1503 { yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, ' *'); ;1504 break;} 1505 case 6 3:1544 { yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, '/'); ; 1545 break;} 1546 case 64: 1506 1547 #line 283 "grammar.y" 1507 { yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, '/'); ;1508 break;}1509 case 64:1510 #line 284 "grammar.y"1511 1548 { yyval.node = new MultNode(yyvsp[-2].node,yyvsp[0].node,'%'); ; 1512 1549 break;} 1513 1550 case 66: 1551 #line 288 "grammar.y" 1552 { yyval.node = new AddNode(yyvsp[-2].node, yyvsp[0].node, '+'); ; 1553 break;} 1554 case 67: 1514 1555 #line 289 "grammar.y" 1515 { yyval.node = new AddNode(yyvsp[-2].node, yyvsp[0].node, '+'); ;1516 break;}1517 case 67:1518 #line 290 "grammar.y"1519 1556 { yyval.node = new AddNode(yyvsp[-2].node, yyvsp[0].node, '-'); ; 1520 1557 break;} 1521 1558 case 69: 1559 #line 294 "grammar.y" 1560 { yyval.node = new ShiftNode(yyvsp[-2].node, OpLShift, yyvsp[0].node); ; 1561 break;} 1562 case 70: 1522 1563 #line 295 "grammar.y" 1523 { yyval.node = new ShiftNode(yyvsp[-2].node, Op LShift, yyvsp[0].node); ;1524 break;} 1525 case 7 0:1564 { yyval.node = new ShiftNode(yyvsp[-2].node, OpRShift, yyvsp[0].node); ; 1565 break;} 1566 case 71: 1526 1567 #line 296 "grammar.y" 1527 { yyval.node = new ShiftNode(yyvsp[-2].node, OpRShift, yyvsp[0].node); ;1528 break;}1529 case 71:1530 #line 297 "grammar.y"1531 1568 { yyval.node = new ShiftNode(yyvsp[-2].node, OpURShift, yyvsp[0].node); ; 1532 1569 break;} 1533 1570 case 73: 1534 #line 30 3"grammar.y"1571 #line 302 "grammar.y" 1535 1572 { yyval.node = new RelationalNode(yyvsp[-2].node, OpLess, yyvsp[0].node); ; 1536 1573 break;} 1537 1574 case 74: 1538 #line 30 5"grammar.y"1575 #line 304 "grammar.y" 1539 1576 { yyval.node = new RelationalNode(yyvsp[-2].node, OpGreater, yyvsp[0].node); ; 1540 1577 break;} 1541 1578 case 75: 1542 #line 30 7"grammar.y"1579 #line 306 "grammar.y" 1543 1580 { yyval.node = new RelationalNode(yyvsp[-2].node, OpLessEq, yyvsp[0].node); ; 1544 1581 break;} 1545 1582 case 76: 1546 #line 30 9"grammar.y"1583 #line 308 "grammar.y" 1547 1584 { yyval.node = new RelationalNode(yyvsp[-2].node, OpGreaterEq, yyvsp[0].node); ; 1548 1585 break;} 1549 1586 case 77: 1550 #line 31 1"grammar.y"1587 #line 310 "grammar.y" 1551 1588 { yyval.node = new RelationalNode(yyvsp[-2].node, OpInstanceOf, yyvsp[0].node); ; 1552 1589 break;} 1553 1590 case 78: 1554 #line 31 3"grammar.y"1591 #line 312 "grammar.y" 1555 1592 { yyval.node = new RelationalNode(yyvsp[-2].node, OpIn, yyvsp[0].node); ; 1556 1593 break;} 1557 1594 case 80: 1595 #line 317 "grammar.y" 1596 { yyval.node = new EqualNode(yyvsp[-2].node, OpEqEq, yyvsp[0].node); ; 1597 break;} 1598 case 81: 1558 1599 #line 318 "grammar.y" 1559 { yyval.node = new EqualNode(yyvsp[-2].node, Op EqEq, yyvsp[0].node); ;1560 break;} 1561 case 8 1:1600 { yyval.node = new EqualNode(yyvsp[-2].node, OpNotEq, yyvsp[0].node); ; 1601 break;} 1602 case 82: 1562 1603 #line 319 "grammar.y" 1563 { yyval.node = new EqualNode(yyvsp[-2].node, Op NotEq, yyvsp[0].node); ;1564 break;} 1565 case 8 2:1604 { yyval.node = new EqualNode(yyvsp[-2].node, OpStrEq, yyvsp[0].node); ; 1605 break;} 1606 case 83: 1566 1607 #line 320 "grammar.y" 1567 { yyval.node = new EqualNode(yyvsp[-2].node, OpStrEq, yyvsp[0].node); ;1568 break;}1569 case 83:1570 #line 321 "grammar.y"1571 1608 { yyval.node = new EqualNode(yyvsp[-2].node, OpStrNEq, yyvsp[0].node);; 1572 1609 break;} 1573 1610 case 85: 1574 #line 32 6"grammar.y"1611 #line 325 "grammar.y" 1575 1612 { yyval.node = new BitOperNode(yyvsp[-2].node, OpBitAnd, yyvsp[0].node); ; 1576 1613 break;} 1577 1614 case 87: 1578 #line 33 1"grammar.y"1615 #line 330 "grammar.y" 1579 1616 { yyval.node = new BitOperNode(yyvsp[-2].node, OpBitXOr, yyvsp[0].node); ; 1580 1617 break;} 1581 1618 case 89: 1582 #line 33 6"grammar.y"1619 #line 335 "grammar.y" 1583 1620 { yyval.node = new BitOperNode(yyvsp[-2].node, OpBitOr, yyvsp[0].node); ; 1584 1621 break;} 1585 1622 case 91: 1586 #line 34 2"grammar.y"1623 #line 341 "grammar.y" 1587 1624 { yyval.node = new BinaryLogicalNode(yyvsp[-2].node, OpAnd, yyvsp[0].node); ; 1588 1625 break;} 1589 1626 case 93: 1590 #line 34 8"grammar.y"1627 #line 347 "grammar.y" 1591 1628 { yyval.node = new BinaryLogicalNode(yyvsp[-2].node, OpOr, yyvsp[0].node); ; 1592 1629 break;} 1593 1630 case 95: 1594 #line 35 4"grammar.y"1631 #line 353 "grammar.y" 1595 1632 { yyval.node = new ConditionalNode(yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; 1596 1633 break;} 1597 1634 case 97: 1598 #line 3 60"grammar.y"1635 #line 359 "grammar.y" 1599 1636 { yyval.node = new AssignNode(yyvsp[-2].node, yyvsp[-1].op, yyvsp[0].node);; 1600 1637 break;} 1601 1638 case 98: 1639 #line 363 "grammar.y" 1640 { yyval.op = OpEqual; ; 1641 break;} 1642 case 99: 1602 1643 #line 364 "grammar.y" 1603 { yyval.op = Op Equal; ;1604 break;} 1605 case 99:1644 { yyval.op = OpPlusEq; ; 1645 break;} 1646 case 100: 1606 1647 #line 365 "grammar.y" 1607 { yyval.op = Op PlusEq; ;1608 break;} 1609 case 10 0:1648 { yyval.op = OpMinusEq; ; 1649 break;} 1650 case 101: 1610 1651 #line 366 "grammar.y" 1611 { yyval.op = OpM inusEq; ;1612 break;} 1613 case 10 1:1652 { yyval.op = OpMultEq; ; 1653 break;} 1654 case 102: 1614 1655 #line 367 "grammar.y" 1615 { yyval.op = Op MultEq; ;1616 break;} 1617 case 10 2:1656 { yyval.op = OpDivEq; ; 1657 break;} 1658 case 103: 1618 1659 #line 368 "grammar.y" 1619 { yyval.op = Op DivEq; ;1620 break;} 1621 case 10 3:1660 { yyval.op = OpLShift; ; 1661 break;} 1662 case 104: 1622 1663 #line 369 "grammar.y" 1623 { yyval.op = Op LShift; ;1624 break;} 1625 case 10 4:1664 { yyval.op = OpRShift; ; 1665 break;} 1666 case 105: 1626 1667 #line 370 "grammar.y" 1627 { yyval.op = Op RShift; ;1628 break;} 1629 case 10 5:1668 { yyval.op = OpURShift; ; 1669 break;} 1670 case 106: 1630 1671 #line 371 "grammar.y" 1631 { yyval.op = Op URShift; ;1632 break;} 1633 case 10 6:1672 { yyval.op = OpAndEq; ; 1673 break;} 1674 case 107: 1634 1675 #line 372 "grammar.y" 1635 { yyval.op = Op AndEq; ;1636 break;} 1637 case 10 7:1676 { yyval.op = OpXOrEq; ; 1677 break;} 1678 case 108: 1638 1679 #line 373 "grammar.y" 1639 { yyval.op = Op XOrEq; ;1640 break;} 1641 case 10 8:1680 { yyval.op = OpOrEq; ; 1681 break;} 1682 case 109: 1642 1683 #line 374 "grammar.y" 1643 { yyval.op = OpOrEq; ;1644 break;}1645 case 109:1646 #line 375 "grammar.y"1647 1684 { yyval.op = OpModEq; ; 1648 1685 break;} 1649 1686 case 111: 1650 #line 3 80"grammar.y"1687 #line 379 "grammar.y" 1651 1688 { yyval.node = new CommaNode(yyvsp[-2].node, yyvsp[0].node); ; 1652 1689 break;} 1653 1690 case 126: 1691 #line 400 "grammar.y" 1692 { yyval.stat = new BlockNode(0L); DBG(yyval.stat, yylsp[0], yylsp[0]); ; 1693 break;} 1694 case 127: 1654 1695 #line 401 "grammar.y" 1655 { yyval.stat = new BlockNode(0L); DBG(yyval.stat, yylsp[0], yylsp[0]); ;1656 break;}1657 case 127:1658 #line 402 "grammar.y"1659 1696 { yyval.stat = new BlockNode(yyvsp[-1].srcs); DBG(yyval.stat, yylsp[0], yylsp[0]); ; 1660 1697 break;} 1661 1698 case 128: 1699 #line 405 "grammar.y" 1700 { yyval.slist = new StatListNode(yyvsp[0].stat); ; 1701 break;} 1702 case 129: 1662 1703 #line 406 "grammar.y" 1663 { yyval.slist = new StatListNode(yyvsp[0].stat); ;1664 break;}1665 case 129:1666 #line 407 "grammar.y"1667 1704 { yyval.slist = new StatListNode(yyvsp[-1].slist, yyvsp[0].stat); ; 1668 1705 break;} 1669 1706 case 130: 1670 #line 41 1"grammar.y"1707 #line 410 "grammar.y" 1671 1708 { yyval.stat = new VarStatementNode(yyvsp[-1].vlist); 1672 1709 DBG(yyval.stat, yylsp[-2], yylsp[0]); ; 1673 1710 break;} 1674 1711 case 131: 1675 #line 41 3"grammar.y"1712 #line 412 "grammar.y" 1676 1713 { if (automatic()) { 1677 1714 yyval.stat = new VarStatementNode(yyvsp[-1].vlist); … … 1683 1720 break;} 1684 1721 case 132: 1685 #line 42 3"grammar.y"1722 #line 422 "grammar.y" 1686 1723 { yyval.vlist = new VarDeclListNode(yyvsp[0].decl); ; 1687 1724 break;} 1688 1725 case 133: 1689 #line 42 5"grammar.y"1726 #line 424 "grammar.y" 1690 1727 { yyval.vlist = new VarDeclListNode(yyvsp[-2].vlist, yyvsp[0].decl); ; 1691 1728 break;} 1692 1729 case 134: 1730 #line 428 "grammar.y" 1731 { yyval.decl = new VarDeclNode(*yyvsp[0].ident, 0); delete yyvsp[0].ident; ; 1732 break;} 1733 case 135: 1693 1734 #line 429 "grammar.y" 1694 { yyval.decl = new VarDeclNode(*yyvsp[0].ident, 0); delete yyvsp[0].ident; ;1695 break;}1696 case 135:1697 #line 430 "grammar.y"1698 1735 { yyval.decl = new VarDeclNode(*yyvsp[-1].ident, yyvsp[0].init); delete yyvsp[-1].ident; ; 1699 1736 break;} 1700 1737 case 136: 1701 #line 43 4"grammar.y"1738 #line 433 "grammar.y" 1702 1739 { yyval.init = new AssignExprNode(yyvsp[0].node); ; 1703 1740 break;} 1704 1741 case 137: 1705 #line 43 8"grammar.y"1742 #line 437 "grammar.y" 1706 1743 { yyval.stat = new EmptyStatementNode(); ; 1707 1744 break;} 1708 1745 case 138: 1709 #line 44 2"grammar.y"1746 #line 441 "grammar.y" 1710 1747 { yyval.stat = new ExprStatementNode(yyvsp[-1].node); 1711 1748 DBG(yyval.stat, yylsp[-1], yylsp[0]); ; 1712 1749 break;} 1713 1750 case 139: 1714 #line 44 4"grammar.y"1751 #line 443 "grammar.y" 1715 1752 { if (automatic()) { 1716 1753 yyval.stat = new ExprStatementNode(yyvsp[-1].node); … … 1720 1757 break;} 1721 1758 case 140: 1722 #line 45 2"grammar.y"1759 #line 451 "grammar.y" 1723 1760 { yyval.stat = new IfNode(yyvsp[-2].node,yyvsp[0].stat,0L);DBG(yyval.stat,yylsp[-4],yylsp[-1]); ; 1724 1761 break;} 1725 1762 case 141: 1726 #line 45 4"grammar.y"1763 #line 453 "grammar.y" 1727 1764 { yyval.stat = new IfNode(yyvsp[-4].node,yyvsp[-2].stat,yyvsp[0].stat);DBG(yyval.stat,yylsp[-6],yylsp[-3]); ; 1728 1765 break;} 1729 1766 case 142: 1767 #line 457 "grammar.y" 1768 { yyval.stat=new DoWhileNode(yyvsp[-4].stat,yyvsp[-1].node);DBG(yyval.stat,yylsp[-5],yylsp[-3]);; 1769 break;} 1770 case 143: 1730 1771 #line 458 "grammar.y" 1731 { yyval.stat=new DoWhileNode(yyvsp[-4].stat,yyvsp[-1].node);DBG(yyval.stat,yylsp[-5],yylsp[-3]);;1732 break;}1733 case 143:1734 #line 459 "grammar.y"1735 1772 { yyval.stat = new WhileNode(yyvsp[-2].node,yyvsp[0].stat);DBG(yyval.stat,yylsp[-4],yylsp[-1]); ; 1736 1773 break;} 1737 1774 case 144: 1738 #line 46 1"grammar.y"1775 #line 460 "grammar.y" 1739 1776 { yyval.stat = new ForNode(yyvsp[-6].node,yyvsp[-4].node,yyvsp[-2].node,yyvsp[0].stat); 1740 1777 DBG(yyval.stat,yylsp[-8],yylsp[-1]); ; 1741 1778 break;} 1742 1779 case 145: 1743 #line 46 4"grammar.y"1780 #line 463 "grammar.y" 1744 1781 { yyval.stat = new ForNode(yyvsp[-6].vlist,yyvsp[-4].node,yyvsp[-2].node,yyvsp[0].stat); 1745 1782 DBG(yyval.stat,yylsp[-9],yylsp[-1]); ; 1746 1783 break;} 1747 1784 case 146: 1748 #line 46 7"grammar.y"1785 #line 466 "grammar.y" 1749 1786 { yyval.stat = new ForInNode(yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].stat); 1750 1787 DBG(yyval.stat,yylsp[-6],yylsp[-1]); ; 1751 1788 break;} 1752 1789 case 147: 1753 #line 4 70"grammar.y"1790 #line 469 "grammar.y" 1754 1791 { yyval.stat = new ForInNode(*yyvsp[-4].ident,0L,yyvsp[-2].node,yyvsp[0].stat); 1755 1792 DBG(yyval.stat,yylsp[-7],yylsp[-1]); … … 1757 1794 break;} 1758 1795 case 148: 1759 #line 47 4"grammar.y"1796 #line 473 "grammar.y" 1760 1797 { yyval.stat = new ForInNode(*yyvsp[-5].ident,yyvsp[-4].init,yyvsp[-2].node,yyvsp[0].stat); 1761 1798 DBG(yyval.stat,yylsp[-8],yylsp[-1]); … … 1763 1800 break;} 1764 1801 case 149: 1765 #line 4 80"grammar.y"1802 #line 479 "grammar.y" 1766 1803 { yyval.node = 0L; ; 1767 1804 break;} 1768 1805 case 151: 1806 #line 484 "grammar.y" 1807 { yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]); ; 1808 break;} 1809 case 152: 1769 1810 #line 485 "grammar.y" 1770 { yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]); ;1771 break;}1772 case 152:1773 #line 486 "grammar.y"1774 1811 { if (automatic()) { 1775 1812 yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]); … … 1778 1815 break;} 1779 1816 case 153: 1780 #line 4 90"grammar.y"1817 #line 489 "grammar.y" 1781 1818 { yyval.stat = new ContinueNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[0]); 1782 1819 delete yyvsp[-1].ident; ; 1783 1820 break;} 1784 1821 case 154: 1785 #line 49 2"grammar.y"1822 #line 491 "grammar.y" 1786 1823 { if (automatic()) { 1787 1824 yyval.stat = new ContinueNode(*yyvsp[-1].ident);DBG(yyval.stat,yylsp[-2],yylsp[-1]); … … 1791 1828 break;} 1792 1829 case 155: 1830 #line 499 "grammar.y" 1831 { yyval.stat = new BreakNode();DBG(yyval.stat,yylsp[-1],yylsp[0]); ; 1832 break;} 1833 case 156: 1793 1834 #line 500 "grammar.y" 1794 { yyval.stat = new BreakNode();DBG(yyval.stat,yylsp[-1],yylsp[0]); ;1795 break;}1796 case 156:1797 #line 501 "grammar.y"1798 1835 { if (automatic()) { 1799 1836 yyval.stat = new BreakNode(); DBG(yyval.stat,yylsp[-1],yylsp[-1]); … … 1802 1839 break;} 1803 1840 case 157: 1804 #line 50 5"grammar.y"1841 #line 504 "grammar.y" 1805 1842 { yyval.stat = new BreakNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[0]); 1806 1843 delete yyvsp[-1].ident; ; 1807 1844 break;} 1808 1845 case 158: 1809 #line 50 7"grammar.y"1846 #line 506 "grammar.y" 1810 1847 { if (automatic()) { 1811 1848 yyval.stat = new BreakNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[-1]); … … 1816 1853 break;} 1817 1854 case 159: 1855 #line 515 "grammar.y" 1856 { yyval.stat = new ReturnNode(0L); DBG(yyval.stat,yylsp[-1],yylsp[0]); ; 1857 break;} 1858 case 160: 1818 1859 #line 516 "grammar.y" 1819 { yyval.stat = new ReturnNode(0L); DBG(yyval.stat,yylsp[-1],yylsp[0]); ;1820 break;}1821 case 160:1822 #line 517 "grammar.y"1823 1860 { if (automatic()) { 1824 1861 yyval.stat = new ReturnNode(0L); DBG(yyval.stat,yylsp[-1],yylsp[-1]); … … 1827 1864 break;} 1828 1865 case 161: 1866 #line 520 "grammar.y" 1867 { yyval.stat = new ReturnNode(yyvsp[-1].node); ; 1868 break;} 1869 case 162: 1829 1870 #line 521 "grammar.y" 1830 { yyval.stat = new ReturnNode(yyvsp[-1].node); ;1831 break;}1832 case 162:1833 #line 522 "grammar.y"1834 1871 { if (automatic()) 1835 1872 yyval.stat = new ReturnNode(yyvsp[-1].node); … … 1838 1875 break;} 1839 1876 case 163: 1840 #line 52 9"grammar.y"1877 #line 528 "grammar.y" 1841 1878 { yyval.stat = new WithNode(yyvsp[-2].node,yyvsp[0].stat); 1842 1879 DBG(yyval.stat, yylsp[-4], yylsp[-1]); ; 1843 1880 break;} 1844 1881 case 164: 1845 #line 53 4"grammar.y"1882 #line 533 "grammar.y" 1846 1883 { yyval.stat = new SwitchNode(yyvsp[-2].node, yyvsp[0].cblk); 1847 1884 DBG(yyval.stat, yylsp[-4], yylsp[-1]); ; 1848 1885 break;} 1849 1886 case 165: 1850 #line 53 9"grammar.y"1887 #line 538 "grammar.y" 1851 1888 { yyval.cblk = new CaseBlockNode(yyvsp[-1].clist, 0L, 0L); ; 1852 1889 break;} 1853 1890 case 166: 1854 #line 54 1"grammar.y"1891 #line 540 "grammar.y" 1855 1892 { yyval.cblk = new CaseBlockNode(yyvsp[-3].clist, yyvsp[-2].ccl, yyvsp[-1].clist); ; 1856 1893 break;} 1857 1894 case 167: 1858 #line 54 5"grammar.y"1895 #line 544 "grammar.y" 1859 1896 { yyval.clist = 0L; ; 1860 1897 break;} 1861 1898 case 169: 1899 #line 549 "grammar.y" 1900 { yyval.clist = new ClauseListNode(yyvsp[0].ccl); ; 1901 break;} 1902 case 170: 1862 1903 #line 550 "grammar.y" 1863 { yyval.clist = new ClauseListNode(yyvsp[0].ccl); ;1864 break;}1865 case 170:1866 #line 551 "grammar.y"1867 1904 { yyval.clist = yyvsp[-1].clist->append(yyvsp[0].ccl); ; 1868 1905 break;} 1869 1906 case 171: 1907 #line 554 "grammar.y" 1908 { yyval.ccl = new CaseClauseNode(yyvsp[-1].node, 0L); ; 1909 break;} 1910 case 172: 1870 1911 #line 555 "grammar.y" 1871 { yyval.ccl = new CaseClauseNode(yyvsp[-1].node, 0L); ;1872 break;}1873 case 172:1874 #line 556 "grammar.y"1875 1912 { yyval.ccl = new CaseClauseNode(yyvsp[-2].node, yyvsp[0].slist); ; 1876 1913 break;} 1877 1914 case 173: 1915 #line 559 "grammar.y" 1916 { yyval.ccl = new CaseClauseNode(0L, 0L);; ; 1917 break;} 1918 case 174: 1878 1919 #line 560 "grammar.y" 1879 { yyval.ccl = new CaseClauseNode(0L, 0L);; ;1880 break;}1881 case 174:1882 #line 561 "grammar.y"1883 1920 { yyval.ccl = new CaseClauseNode(0L, yyvsp[0].slist); ; 1884 1921 break;} 1885 1922 case 175: 1886 #line 56 5"grammar.y"1923 #line 564 "grammar.y" 1887 1924 { yyvsp[0].stat->pushLabel(*yyvsp[-2].ident); 1888 1925 yyval.stat = new LabelNode(*yyvsp[-2].ident, yyvsp[0].stat); … … 1890 1927 break;} 1891 1928 case 176: 1892 #line 57 1"grammar.y"1929 #line 570 "grammar.y" 1893 1930 { yyval.stat = new ThrowNode(yyvsp[-1].node); ; 1894 1931 break;} 1895 1932 case 177: 1933 #line 574 "grammar.y" 1934 { yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].node); ; 1935 break;} 1936 case 178: 1896 1937 #line 575 "grammar.y" 1897 { yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].node); ;1898 break;} 1899 case 17 8:1938 { yyval.stat = new TryNode(yyvsp[-1].stat, 0L, yyvsp[0].node); ; 1939 break;} 1940 case 179: 1900 1941 #line 576 "grammar.y" 1901 { yyval.stat = new TryNode(yyvsp[-1].stat, 0L, yyvsp[0].node); ;1902 break;}1903 case 179:1904 #line 577 "grammar.y"1905 1942 { yyval.stat = new TryNode(yyvsp[-2].stat, yyvsp[-1].node, yyvsp[0].node); ; 1906 1943 break;} 1907 1944 case 180: 1908 #line 58 1"grammar.y"1945 #line 580 "grammar.y" 1909 1946 { yyval.node = new CatchNode(*yyvsp[-2].ident, yyvsp[0].stat); delete yyvsp[-2].ident; ; 1910 1947 break;} 1911 1948 case 181: 1912 #line 58 5"grammar.y"1949 #line 584 "grammar.y" 1913 1950 { yyval.node = new FinallyNode(yyvsp[0].stat); ; 1914 1951 break;} 1915 1952 case 182: 1916 #line 58 9"grammar.y"1953 #line 588 "grammar.y" 1917 1954 { yyval.func = new FuncDeclNode(*yyvsp[-3].ident, 0L, yyvsp[0].body); 1918 1955 delete yyvsp[-3].ident; ; 1919 1956 break;} 1920 1957 case 183: 1921 #line 59 2"grammar.y"1958 #line 591 "grammar.y" 1922 1959 { yyval.func = new FuncDeclNode(*yyvsp[-4].ident, yyvsp[-2].param, yyvsp[0].body); 1923 1960 delete yyvsp[-4].ident; ; 1924 1961 break;} 1925 1962 case 184: 1926 #line 59 6"grammar.y"1963 #line 595 "grammar.y" 1927 1964 { yyval.node = new FuncExprNode(0L, yyvsp[0].body); ; 1928 1965 break;} 1929 1966 case 185: 1930 #line 59 8"grammar.y"1967 #line 597 "grammar.y" 1931 1968 { yyval.node = new FuncExprNode(yyvsp[-2].param, yyvsp[0].body); ; 1932 1969 break;} 1933 1970 case 186: 1971 #line 602 "grammar.y" 1972 { yyval.param = new ParameterNode(*yyvsp[0].ident); delete yyvsp[0].ident; ; 1973 break;} 1974 case 187: 1934 1975 #line 603 "grammar.y" 1935 { yyval.param = new ParameterNode(*yyvsp[0].ident); delete yyvsp[0].ident; ;1936 break;}1937 case 187:1938 #line 604 "grammar.y"1939 1976 { yyval.param = yyvsp[-2].param->append(*yyvsp[0].ident); 1940 1977 delete yyvsp[0].ident; ; 1941 1978 break;} 1942 1979 case 188: 1943 #line 60 9"grammar.y"1980 #line 608 "grammar.y" 1944 1981 { yyval.body = new FunctionBodyNode(0L); 1945 1982 DBG(yyval.body, yylsp[-1], yylsp[0]);; 1946 1983 break;} 1947 1984 case 189: 1948 #line 61 1"grammar.y"1985 #line 610 "grammar.y" 1949 1986 { yyval.body = new FunctionBodyNode(yyvsp[-1].srcs); 1950 1987 DBG(yyval.body, yylsp[-2], yylsp[0]);; 1951 1988 break;} 1952 1989 case 190: 1953 #line 61 6"grammar.y"1990 #line 615 "grammar.y" 1954 1991 { yyval.prog = new ProgramNode(0L); 1955 1992 Parser::progNode = yyval.prog; ; 1956 1993 break;} 1957 1994 case 191: 1958 #line 61 8"grammar.y"1995 #line 617 "grammar.y" 1959 1996 { yyval.prog = new ProgramNode(yyvsp[0].srcs); 1960 1997 Parser::progNode = yyval.prog; ; 1961 1998 break;} 1962 1999 case 192: 2000 #line 622 "grammar.y" 2001 { yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ; 2002 break;} 2003 case 193: 1963 2004 #line 623 "grammar.y" 1964 { yyval.srcs = new SourceElementsNode(yyvsp[0].src); ; 1965 break;} 1966 case 193: 1967 #line 624 "grammar.y" 1968 { yyval.srcs = new SourceElementsNode(yyvsp[0].srcs, yyvsp[-1].src); ; 2005 { yyval.srcs = new SourceElementsNode(yyvsp[-1].srcs, yyvsp[0].stat); ; 1969 2006 break;} 1970 2007 case 194: 2008 #line 627 "grammar.y" 2009 { yyval.stat = yyvsp[0].stat; ; 2010 break;} 2011 case 195: 1971 2012 #line 628 "grammar.y" 1972 { yyval.src = new SourceElementNode(yyvsp[0].stat); ; 1973 break;} 1974 case 195: 1975 #line 629 "grammar.y" 1976 { yyval.src = new SourceElementNode(yyvsp[0].func); ; 2013 { yyval.stat = yyvsp[0].func; ; 1977 2014 break;} 1978 2015 } … … 2199 2236 return 1; 2200 2237 } 2201 #line 63 2"grammar.y"2238 #line 631 "grammar.y" 2202 2239 2203 2240
Note:
See TracChangeset
for help on using the changeset viewer.