From 2051e3a23d751d24c5dfb93cb810a26a2098d75b Mon Sep 17 00:00:00 2001 From: vadim Date: Tue, 2 Jan 2018 13:53:55 +0200 Subject: [PATCH] handle php doc comments --- node/expr/closure.go | 9 +- node/stmt/class.go | 8 +- node/stmt/class_method.go | 7 +- node/stmt/constant.go | 8 +- node/stmt/function.go | 7 +- node/stmt/interface.go | 8 +- node/stmt/property.go | 8 +- node/stmt/trait.go | 8 +- parser/lexer.go | 7 +- parser/parser.go | 3380 +++++++++++------------ parser/parser.y | 85 +- parser/scanner.go | 5422 ++++++++++++++++++------------------- parser/scanner.l | 34 +- 13 files changed, 4494 insertions(+), 4497 deletions(-) diff --git a/node/expr/closure.go b/node/expr/closure.go index 03e444b..7fd6e7c 100644 --- a/node/expr/closure.go +++ b/node/expr/closure.go @@ -7,19 +7,20 @@ import ( type Closure struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position params []node.Node uses []node.Node returnType node.Node stmts []node.Node } -func NewClosure(params []node.Node, uses []node.Node, returnType node.Node, stmts []node.Node, isStatic bool, isReturnRef bool) node.Node { +func NewClosure(params []node.Node, uses []node.Node, returnType node.Node, stmts []node.Node, isStatic bool, isReturnRef bool, phpDocComment string) node.Node { return Closure{ "Closure", map[string]interface{}{ - "isReturnRef": isReturnRef, - "isStatic": isStatic, + "isReturnRef": isReturnRef, + "isStatic": isStatic, + "phpDocComment": phpDocComment, }, nil, params, diff --git a/node/stmt/class.go b/node/stmt/class.go index b1069d0..39c8ba9 100644 --- a/node/stmt/class.go +++ b/node/stmt/class.go @@ -7,7 +7,7 @@ import ( type Class struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position className node.Node modifiers []node.Node args []node.Node @@ -16,10 +16,12 @@ type Class struct { stmts []node.Node } -func NewClass(className node.Node, modifiers []node.Node, args []node.Node, extends node.Node, implements []node.Node, stmts []node.Node) node.Node { +func NewClass(className node.Node, modifiers []node.Node, args []node.Node, extends node.Node, implements []node.Node, stmts []node.Node, phpDocComment string) node.Node { return Class{ "Class", - map[string]interface{}{}, + map[string]interface{}{ + "phpDocComment": phpDocComment, + }, nil, className, modifiers, diff --git a/node/stmt/class_method.go b/node/stmt/class_method.go index 7959765..a2f7491 100644 --- a/node/stmt/class_method.go +++ b/node/stmt/class_method.go @@ -7,7 +7,7 @@ import ( type ClassMethod struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position methodName node.Node modifiers []node.Node params []node.Node @@ -15,11 +15,12 @@ type ClassMethod struct { stmts []node.Node } -func NewClassMethod(methodName node.Node, modifiers []node.Node, returnsRef bool, params []node.Node, returnType node.Node, stmts []node.Node) node.Node { +func NewClassMethod(methodName node.Node, modifiers []node.Node, returnsRef bool, params []node.Node, returnType node.Node, stmts []node.Node, phpDocComment string) node.Node { return ClassMethod{ "ClassMethod", map[string]interface{}{ - "returnsRef": returnsRef, + "returnsRef": returnsRef, + "phpDocComment": phpDocComment, }, nil, methodName, diff --git a/node/stmt/constant.go b/node/stmt/constant.go index d50c2ca..06eb7f9 100644 --- a/node/stmt/constant.go +++ b/node/stmt/constant.go @@ -7,15 +7,17 @@ import ( type Constant struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position constantName node.Node expr node.Node } -func NewConstant(constantName node.Node, expr node.Node) node.Node { +func NewConstant(constantName node.Node, expr node.Node, phpDocComment string) node.Node { return Constant{ "Constant", - map[string]interface{}{}, + map[string]interface{}{ + "phpDocComment": phpDocComment, + }, nil, constantName, expr, diff --git a/node/stmt/function.go b/node/stmt/function.go index 0f48770..f705672 100644 --- a/node/stmt/function.go +++ b/node/stmt/function.go @@ -7,18 +7,19 @@ import ( type Function struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position functionName node.Node params []node.Node returnType node.Node stmts []node.Node } -func NewFunction(functionName node.Node, returnsRef bool, params []node.Node, returnType node.Node, stmts []node.Node) node.Node { +func NewFunction(functionName node.Node, returnsRef bool, params []node.Node, returnType node.Node, stmts []node.Node, phpDocComment string) node.Node { return Function{ "Function", map[string]interface{}{ - "returnsRef": returnsRef, + "returnsRef": returnsRef, + "phpDocComment": phpDocComment, }, nil, functionName, diff --git a/node/stmt/interface.go b/node/stmt/interface.go index c3bb847..bc2fe13 100644 --- a/node/stmt/interface.go +++ b/node/stmt/interface.go @@ -7,16 +7,18 @@ import ( type Interface struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position interfaceName node.Node extends []node.Node stmts []node.Node } -func NewInterface(interfaceName node.Node, extends []node.Node, stmts []node.Node) node.Node { +func NewInterface(interfaceName node.Node, extends []node.Node, stmts []node.Node, phpDocComment string) node.Node { return Interface{ "Interface", - map[string]interface{}{}, + map[string]interface{}{ + "phpDocComment": phpDocComment, + }, nil, interfaceName, extends, diff --git a/node/stmt/property.go b/node/stmt/property.go index 7241b62..c03dbbc 100644 --- a/node/stmt/property.go +++ b/node/stmt/property.go @@ -7,15 +7,17 @@ import ( type Property struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position variable node.Node expr node.Node } -func NewProperty(variable node.Node, expr node.Node) node.Node { +func NewProperty(variable node.Node, expr node.Node, phpDocComment string) node.Node { return Property{ "Property", - map[string]interface{}{}, + map[string]interface{}{ + "phpDocComment": phpDocComment, + }, nil, variable, expr, diff --git a/node/stmt/trait.go b/node/stmt/trait.go index ab01694..3a83ac4 100644 --- a/node/stmt/trait.go +++ b/node/stmt/trait.go @@ -7,15 +7,17 @@ import ( type Trait struct { name string attributes map[string]interface{} - position *node.Position + position *node.Position traitName node.Node stmts []node.Node } -func NewTrait(traitName node.Node, stmts []node.Node) node.Node { +func NewTrait(traitName node.Node, stmts []node.Node, phpDocComment string) node.Node { return Trait{ "Trait", - map[string]interface{}{}, + map[string]interface{}{ + "phpDocComment": phpDocComment, + }, nil, traitName, stmts, diff --git a/parser/lexer.go b/parser/lexer.go index d41bb41..7efb4bc 100644 --- a/parser/lexer.go +++ b/parser/lexer.go @@ -18,8 +18,9 @@ const ( type lexer struct { *lex.Lexer - stateStack []int - lineNumber int + stateStack []int + lineNumber int + phpDocComment string } func rune2Class(r rune) int { @@ -42,7 +43,7 @@ func newLexer(src io.Reader, fName string) *lexer { if err != nil { panic(err) } - return &lexer{lx, []int{0}, 1} + return &lexer{lx, []int{0}, 1, ""} } func (l *lexer) ungetN(n int) []byte { diff --git a/parser/parser.go b/parser/parser.go index c72c134..9728581 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -5,6 +5,10 @@ import __yyfmt__ "fmt" //line parser/parser.y:2 import ( + "io" + "strconv" + "strings" + "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" @@ -14,12 +18,9 @@ import ( "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/token" - "io" - "strconv" - "strings" ) -var rootnode = stmt.NewStmtList([]node.Node{}) +var rootnode node.Node func Parse(src io.Reader, fName string) node.Node { yyDebug = 0 @@ -53,6 +54,7 @@ type yySymType struct { list []node.Node foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken + str string } const T_INCLUDE = 57346 @@ -367,7 +369,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line parser/parser.y:1328 +//line parser/parser.y:1349 //line yacctab:1 var yyExca = [...]int{ @@ -375,38 +377,38 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 43, - 69, 419, - 133, 419, - 153, 419, - 161, 419, - -2, 414, + 69, 420, + 133, 420, + 153, 420, + 161, 420, + -2, 415, -1, 47, - 164, 422, - -2, 431, + 164, 423, + -2, 432, -1, 83, - 69, 421, - 133, 421, - 153, 421, - 161, 421, - 164, 424, - -2, 409, + 69, 422, + 133, 422, + 153, 422, + 161, 422, + 164, 425, + -2, 410, -1, 106, - 153, 382, - -2, 411, + 153, 383, + -2, 412, -1, 228, - 69, 419, - 133, 419, - 153, 419, - 161, 419, + 69, 420, + 133, 420, + 153, 420, + 161, 420, -2, 311, -1, 231, - 164, 424, - -2, 421, + 164, 425, + -2, 422, -1, 234, - 69, 419, - 133, 419, - 153, 419, - 161, 419, + 69, 420, + 133, 420, + 153, 420, + 161, 420, -2, 313, -1, 352, 38, 0, @@ -470,933 +472,941 @@ var yyExca = [...]int{ -1, 367, 9, 161, 165, 161, - -2, 419, - -1, 374, + -2, 420, + -1, 411, + 9, 460, + 165, 460, + 166, 460, + -2, 420, + -1, 415, + 69, 421, + 133, 421, + 153, 421, + 161, 421, + 164, 424, + -2, 345, + -1, 429, + 164, 446, + -2, 413, + -1, 430, + 164, 448, + -2, 438, + -1, 509, + 164, 446, + -2, 414, + -1, 510, + 164, 448, + -2, 439, + -1, 569, 165, 211, -2, 216, - -1, 411, + -1, 594, + 164, 424, + -2, 421, + -1, 646, + 165, 211, + -2, 216, + -1, 651, + 165, 181, + -2, 420, + -1, 659, + 165, 211, + -2, 216, + -1, 684, 9, 459, 165, 459, 166, 459, - -2, 419, - -1, 415, - 69, 420, - 133, 420, - 153, 420, - 161, 420, - 164, 423, - -2, 345, - -1, 429, - 164, 445, - -2, 412, - -1, 430, - 164, 447, - -2, 437, - -1, 509, - 164, 445, - -2, 413, - -1, 510, - 164, 447, - -2, 438, - -1, 558, - 165, 211, - -2, 216, - -1, 568, - 165, 211, - -2, 216, - -1, 603, - 164, 423, -2, 420, - -1, 659, - 165, 181, - -2, 419, - -1, 681, + -1, 717, + 165, 182, + -2, 420, + -1, 737, 88, 263, -2, 266, - -1, 700, - 9, 458, - 165, 458, - 166, 458, - -2, 419, - -1, 733, - 165, 182, - -2, 419, - -1, 785, + -1, 776, 165, 181, - -2, 419, - -1, 787, + -2, 420, + -1, 778, 165, 184, - -2, 393, - -1, 858, + -2, 394, + -1, 880, 105, 76, -2, 80, - -1, 881, + -1, 912, 165, 211, -2, 216, } const yyPrivate = 57344 -const yyLast = 7406 +const yyLast = 7467 var yyAct = [...]int{ - 27, 129, 791, 803, 585, 683, 434, 569, 837, 850, - 802, 781, 819, 749, 106, 125, 573, 658, 741, 583, - 640, 137, 137, 137, 725, 714, 150, 311, 110, 639, - 4, 320, 520, 571, 185, 530, 366, 563, 580, 114, - 120, 574, 222, 403, 220, 131, 188, 79, 149, 376, - 146, 315, 224, 227, 8, 83, 235, 236, 237, 238, - 239, 43, 136, 240, 241, 242, 243, 244, 245, 246, - 314, 249, 142, 7, 257, 258, 259, 313, 127, 312, - 6, 428, 5, 512, 139, 140, 511, 787, 272, 273, - 126, 275, 276, 707, 124, 703, 617, 253, 263, 268, - 604, 229, 229, 2, 592, 408, 876, 232, 104, 231, - 231, 81, 307, 907, 893, 228, 234, 116, 828, 104, - 827, 104, 817, 809, 740, 731, 729, 712, 710, 702, - 668, 317, 656, 644, 635, 322, 323, 305, 605, 691, - 289, 596, 291, 290, 373, 288, 915, 298, 914, 293, - 304, 292, 820, 335, 336, 337, 338, 339, 340, 341, + 27, 129, 823, 836, 660, 859, 374, 576, 739, 434, + 872, 106, 835, 791, 664, 772, 809, 673, 783, 563, + 662, 137, 137, 137, 311, 650, 150, 4, 709, 631, + 698, 665, 530, 630, 185, 366, 320, 512, 376, 220, + 520, 403, 131, 79, 571, 315, 314, 222, 8, 7, + 136, 188, 224, 227, 146, 149, 235, 236, 237, 238, + 239, 127, 142, 240, 241, 242, 243, 244, 245, 246, + 125, 249, 139, 140, 257, 258, 259, 124, 2, 253, + 313, 312, 511, 6, 5, 428, 126, 778, 272, 273, + 891, 275, 276, 691, 687, 263, 268, 229, 229, 608, + 81, 595, 743, 744, 745, 742, 741, 740, 583, 408, + 924, 886, 104, 818, 817, 807, 799, 782, 771, 725, + 307, 110, 715, 696, 694, 686, 675, 648, 636, 626, + 596, 317, 114, 120, 587, 322, 323, 290, 928, 912, + 927, 83, 867, 826, 284, 286, 736, 831, 780, 738, + 718, 104, 685, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 319, - 362, 364, 404, 368, 104, 133, 370, 105, 111, 881, - 284, 286, 331, 268, 282, 909, 265, 78, 105, 845, - 105, 386, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 799, 794, 400, 137, 402, 294, - 224, 143, 374, 789, 382, 734, 775, 776, 701, 229, - 285, 413, 568, 558, 224, 775, 776, 231, 374, 552, - 550, 412, 383, 367, 301, 381, 334, 287, 232, 137, - 687, 688, 689, 686, 685, 684, 423, 405, 116, 274, - 104, 137, 875, 105, 407, 429, 509, 514, 566, 271, - 330, 521, 522, 229, 369, 523, 328, 361, 414, 401, - 822, 231, 269, 527, 821, 307, 531, 411, 224, 774, - 265, 807, 270, 806, 680, 248, 219, 682, 215, 301, - 267, 183, 182, 283, 229, 181, 660, 135, 134, 549, - 130, 416, 231, 112, 892, 305, 885, 884, 425, 866, - 829, 823, 4, 427, 816, 772, 133, 759, 541, 111, - 544, 516, 533, 559, 730, 150, 859, 116, 662, 105, - 728, 726, 724, 721, 508, 232, 8, 614, 553, 418, - 419, 517, 538, 844, 518, 116, 535, 104, 384, 515, - 372, 653, 326, 109, 562, 7, 325, 324, 798, 295, - 860, 216, 6, 815, 5, 418, 269, 419, 419, 418, - 812, 557, 587, 560, 588, 810, 548, 589, 590, 578, - 768, 615, 582, 906, 867, 586, 542, 536, 539, 835, - 333, 556, 833, 661, 108, 790, 595, 764, 113, 746, - 224, 599, 115, 224, 674, 534, 406, 584, 534, 378, - 184, 745, 417, 133, 329, 579, 111, 616, 113, 288, - 327, 581, 619, 230, 534, 218, 105, 116, 534, 306, - 613, 888, 154, 156, 155, 687, 688, 689, 686, 685, - 684, 116, 598, 300, 513, 377, 254, 602, 303, 430, - 510, 420, 179, 217, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 594, 178, 680, - 716, 652, 682, 643, 687, 688, 689, 686, 685, 684, - 164, 687, 688, 689, 686, 685, 684, 116, 543, 637, - 288, 303, 618, 545, 262, 137, 623, 261, 303, 255, - 256, 380, 299, 886, 742, 421, 143, 526, 738, 739, - 145, 841, 116, 634, 122, 123, 887, 116, 680, 303, - 147, 682, 318, 303, 704, 680, 871, 254, 682, 119, - 752, 751, 420, 648, 322, 650, 877, 627, 750, 305, - 624, 641, 655, 638, 4, 145, 654, 632, 626, 575, - 547, 795, 544, 578, 544, 147, 667, 622, 121, 646, - 797, 576, 577, 578, 116, 649, 675, 755, 8, 422, - 578, 540, 620, 611, 664, 302, 586, 723, 699, 870, - 133, 657, 128, 111, 690, 133, 609, 7, 111, 525, - 255, 256, 229, 229, 6, 705, 5, 672, 673, 695, - 231, 231, 824, 775, 776, 116, 367, 659, 254, 521, - 778, 775, 776, 277, 531, 687, 688, 689, 686, 685, - 684, 254, 607, 546, 610, 608, 420, 534, 229, 722, - 76, 77, 375, 715, 194, 254, 231, 193, 719, 641, - 192, 711, 700, 224, 252, 709, 544, 736, 297, 713, - 186, 544, 544, 720, 576, 577, 839, 717, 727, 680, - 195, 196, 682, 260, 578, 753, 164, 754, 189, 671, - 278, 255, 256, 133, 747, 586, 111, 792, 760, 761, - 254, 190, 224, 743, 255, 256, 756, 735, 229, 116, - 758, 621, 178, 385, 406, 625, 231, 524, 255, 256, - 757, 676, 733, 254, 164, 322, 254, 838, 281, 187, - 698, 251, 715, 846, 641, 224, 122, 123, 840, 769, - 45, 800, 767, 597, 793, 544, 762, 544, 780, 332, - 784, 777, 765, 779, 308, 732, 773, 691, 770, 782, - 808, 766, 718, 255, 256, 642, 796, 279, 280, 687, - 688, 689, 686, 685, 684, 669, 818, 118, 191, 786, - 229, 633, 813, 825, 811, 826, 255, 256, 231, 255, - 256, 628, 832, 564, 785, 544, 197, 199, 198, 804, - 554, 843, 409, 1, 831, 814, 37, 578, 847, 834, - 681, 856, 678, 842, 679, 379, 570, 529, 221, 519, - 836, 865, 855, 167, 168, 161, 162, 160, 163, 165, - 166, 864, 178, 365, 849, 873, 144, 874, 748, 869, - 141, 878, 321, 148, 164, 862, 801, 880, 666, 830, - 250, 805, 651, 856, 913, 782, 879, 223, 42, 883, - 41, 15, 14, 606, 855, 889, 890, 266, 48, 891, - 87, 88, 89, 90, 91, 47, 107, 49, 82, 73, - 74, 80, 75, 71, 247, 897, 894, 61, 264, 898, - 60, 899, 903, 902, 901, 854, 578, 853, 163, 165, - 166, 586, 178, 852, 851, 677, 908, 44, 910, 572, - 911, 737, 663, 861, 164, 55, 56, 916, 645, 309, - 117, 57, 296, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 3, 51, 84, 52, 433, 744, - 670, 0, 24, 76, 77, 0, 0, 0, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 12, 22, 32, 0, 0, 33, 11, 0, 23, 0, - 28, 85, 86, 9, 38, 39, 40, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 10, 100, 96, 111, 0, 103, 72, 13, 636, 31, - 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, - 0, 0, 0, 73, 74, 179, 75, 180, 152, 153, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 659, + 362, 364, 646, 368, 319, 265, 370, 404, 881, 104, + 268, 105, 305, 810, 294, 231, 231, 331, 285, 78, + 378, 386, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 569, 552, 400, 137, 402, 233, + 224, 382, 550, 143, 282, 229, 232, 766, 767, 301, + 105, 413, 412, 289, 224, 291, 116, 43, 104, 383, + 298, 288, 381, 304, 109, 293, 890, 292, 334, 137, + 743, 744, 745, 742, 741, 740, 423, 287, 330, 407, + 514, 137, 405, 328, 274, 429, 509, 401, 105, 229, + 369, 521, 522, 414, 361, 523, 566, 232, 840, 265, + 839, 812, 307, 527, 269, 108, 531, 116, 224, 104, + 301, 228, 234, 271, 736, 270, 866, 738, 248, 416, + 229, 830, 766, 767, 133, 283, 219, 111, 215, 549, + 183, 427, 182, 181, 230, 135, 232, 105, 134, 4, + 130, 112, 918, 231, 516, 811, 116, 533, 104, 267, + 901, 418, 419, 559, 900, 150, 863, 605, 558, 885, + 8, 7, 848, 819, 517, 813, 806, 763, 508, 750, + 518, 714, 515, 712, 842, 133, 765, 418, 111, 419, + 419, 418, 710, 708, 562, 705, 553, 231, 105, 548, + 305, 538, 536, 535, 384, 6, 5, 372, 269, 542, + 568, 326, 578, 539, 579, 557, 575, 580, 581, 573, + 560, 556, 577, 325, 133, 324, 295, 111, 231, 805, + 802, 645, 333, 666, 800, 759, 586, 105, 606, 907, + 224, 590, 329, 224, 570, 787, 884, 327, 406, 367, + 857, 541, 534, 544, 116, 855, 216, 607, 801, 254, + 604, 534, 610, 788, 420, 534, 306, 534, 781, 731, + 674, 585, 113, 574, 300, 154, 156, 155, 184, 417, + 288, 904, 593, 303, 513, 303, 262, 589, 116, 116, + 261, 430, 510, 411, 116, 179, 609, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 164, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 24, 76, 77, 0, - 0, 0, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, - 20, 21, 34, 36, 12, 22, 32, 0, 0, 33, - 11, 0, 23, 0, 28, 85, 86, 9, 38, 39, - 40, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 10, 100, 96, 111, 0, 103, - 72, 13, 537, 31, 59, 0, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 180, 152, 153, 157, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 164, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 24, 76, 77, 0, 0, 0, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 36, 12, 22, - 32, 0, 0, 33, 11, 0, 23, 0, 28, 85, - 86, 9, 38, 39, 40, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 161, 162, 160, - 163, 165, 166, 102, 178, 0, 0, 0, 10, 100, - 96, 111, 0, 103, 72, 13, 164, 31, 59, 0, - 0, 105, 87, 88, 89, 90, 91, 0, 0, 0, - 0, 73, 74, 0, 75, 153, 157, 159, 158, 171, + 218, 178, 255, 256, 425, 113, 116, 700, 116, 115, + 526, 116, 377, 164, 902, 288, 634, 629, 667, 668, + 628, 572, 545, 667, 668, 137, 614, 380, 217, 743, + 744, 745, 742, 741, 740, 122, 123, 133, 143, 543, + 111, 644, 133, 625, 303, 111, 652, 784, 145, 618, + 254, 903, 303, 303, 318, 420, 611, 861, 254, 623, + 722, 723, 147, 640, 322, 642, 635, 617, 615, 254, + 421, 4, 647, 736, 133, 613, 738, 111, 654, 121, + 76, 77, 299, 688, 254, 232, 638, 145, 671, 277, + 672, 669, 8, 7, 577, 116, 547, 104, 892, 683, + 641, 656, 119, 109, 540, 302, 794, 793, 860, 252, + 649, 754, 525, 255, 256, 829, 689, 679, 229, 229, + 524, 255, 256, 792, 305, 670, 632, 6, 5, 853, + 521, 190, 255, 256, 422, 531, 743, 744, 745, 742, + 741, 740, 827, 653, 108, 229, 278, 255, 256, 147, + 116, 706, 602, 128, 743, 744, 745, 742, 741, 740, + 701, 713, 116, 133, 260, 224, 111, 697, 669, 720, + 695, 546, 693, 230, 724, 544, 105, 544, 704, 534, + 736, 669, 852, 738, 711, 375, 373, 730, 669, 122, + 123, 194, 751, 752, 600, 193, 224, 747, 736, 192, + 254, 738, 746, 186, 719, 420, 229, 164, 729, 699, + 755, 748, 279, 280, 703, 632, 231, 231, 189, 322, + 728, 297, 797, 612, 195, 196, 406, 616, 756, 224, + 598, 254, 601, 599, 761, 753, 281, 814, 766, 767, + 732, 758, 760, 231, 769, 766, 767, 824, 669, 768, + 773, 770, 775, 45, 795, 764, 796, 785, 577, 789, + 544, 798, 254, 255, 256, 544, 544, 251, 777, 749, + 229, 743, 744, 745, 742, 741, 740, 808, 197, 199, + 198, 699, 385, 632, 187, 178, 816, 868, 804, 862, + 682, 191, 833, 822, 255, 256, 825, 164, 588, 332, + 815, 308, 821, 716, 231, 633, 163, 165, 166, 832, + 178, 675, 367, 651, 757, 702, 828, 118, 726, 624, + 619, 847, 164, 564, 554, 255, 256, 409, 849, 841, + 1, 37, 544, 737, 544, 846, 734, 735, 803, 684, + 379, 661, 844, 851, 865, 529, 669, 221, 519, 856, + 858, 869, 773, 365, 878, 864, 837, 882, 883, 871, + 144, 790, 877, 141, 321, 148, 834, 888, 231, 889, + 658, 820, 250, 893, 838, 887, 643, 926, 223, 896, + 42, 41, 894, 15, 14, 878, 897, 597, 266, 544, + 895, 48, 899, 877, 47, 107, 906, 49, 82, 80, + 717, 71, 247, 61, 264, 60, 876, 910, 875, 874, + 873, 733, 44, 911, 663, 721, 655, 843, 917, 920, + 913, 637, 916, 915, 577, 309, 117, 921, 296, 3, + 922, 433, 786, 727, 669, 0, 0, 925, 0, 0, + 929, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 776, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 164, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 12, 22, 32, 0, 0, 33, 11, 0, 23, + 0, 28, 85, 86, 9, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 10, 100, 96, 111, 0, 103, 72, 13, 627, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 179, 75, 180, 152, + 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 164, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 12, 22, 32, 0, 0, + 33, 11, 0, 23, 0, 28, 85, 86, 9, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 10, 100, 96, 111, 0, + 103, 72, 13, 537, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 164, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 12, + 22, 32, 0, 0, 33, 11, 0, 23, 0, 28, + 85, 86, 9, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 161, 162, + 160, 163, 165, 166, 102, 178, 0, 0, 0, 10, + 100, 96, 111, 0, 103, 72, 13, 164, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 164, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 930, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 164, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 923, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 164, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 919, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 56, 164, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 0, 24, 76, 77, 0, 0, 0, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 13, - 917, 31, 59, 0, 0, 105, 87, 88, 89, 90, - 91, 0, 0, 0, 0, 73, 74, 0, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 909, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 171, 172, 169, 170, 177, 173, 174, 175, + 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 908, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 167, 168, 161, 162, + 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 905, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 200, 201, 202, 203, 205, 206, + 207, 208, 209, 210, 211, 212, 204, 0, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 213, 214, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 854, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 850, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 779, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 762, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 0, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 678, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 567, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 310, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 156, 155, 105, 441, + 442, 443, 444, 445, 0, 446, 447, 448, 484, 485, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 164, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 24, 76, - 77, 0, 0, 0, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, - 38, 39, 40, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 103, 72, 13, 912, 31, 59, 0, 0, 105, - 87, 88, 89, 90, 91, 0, 0, 0, 0, 73, - 74, 0, 75, 0, 0, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 164, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 24, 76, 77, 0, 0, 0, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 13, 905, 31, - 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, - 0, 0, 0, 73, 74, 0, 75, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 24, 76, 77, 0, - 0, 0, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 904, 29, 0, 30, 0, 0, 19, 0, 0, 0, - 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, - 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, - 40, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 13, 0, 31, 59, 0, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 171, 172, 169, 170, 177, 173, 174, 175, 176, - 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 55, 56, 0, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 24, 76, 77, 0, 0, 0, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, - 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, - 86, 316, 38, 39, 40, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 13, 896, 31, 59, 0, - 0, 105, 87, 88, 89, 90, 91, 0, 0, 0, - 0, 73, 74, 0, 75, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 0, 24, 76, 77, 0, 0, 0, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 13, - 895, 31, 59, 0, 0, 105, 87, 88, 89, 90, - 91, 0, 0, 0, 0, 73, 74, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 200, 201, 202, 203, 205, 206, 207, - 208, 209, 210, 211, 212, 204, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 213, 214, 0, 0, 24, 76, - 77, 0, 0, 0, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, - 38, 39, 40, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 103, 72, 13, 872, 31, 59, 0, 0, 105, - 87, 88, 89, 90, 91, 0, 0, 0, 0, 73, - 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 24, 76, 77, 0, 0, 0, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 868, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 13, 0, 31, - 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, - 0, 0, 0, 73, 74, 0, 75, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 24, 76, 77, 0, - 0, 0, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 0, 29, 0, 30, 788, 0, 19, 0, 0, 0, - 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, - 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, - 40, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 13, 0, 31, 59, 0, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 24, 76, 77, 0, 0, 0, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 771, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, - 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, - 86, 316, 38, 39, 40, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 13, 0, 31, 59, 0, - 0, 105, 87, 88, 89, 90, 91, 0, 0, 0, - 0, 73, 74, 0, 75, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 694, 24, 76, 77, 0, 0, 0, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 13, - 0, 31, 59, 0, 0, 105, 87, 88, 89, 90, - 91, 0, 0, 0, 0, 73, 74, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 24, 76, - 77, 0, 0, 0, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, - 38, 39, 40, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 103, 72, 13, 567, 31, 59, 0, 0, 105, - 87, 88, 89, 90, 91, 0, 0, 0, 0, 73, - 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 24, 76, 77, 0, 0, 0, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 13, 310, 31, - 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, - 0, 0, 0, 73, 74, 0, 75, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 24, 76, 77, 0, - 0, 0, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, - 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, - 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, - 40, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 13, 0, 31, 59, 156, 155, 105, 441, 442, - 443, 444, 445, 0, 446, 447, 448, 484, 485, 0, - 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 449, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 450, 451, 0, 454, 455, 456, - 435, 436, 437, 438, 439, 440, 452, 453, 0, 0, - 432, 0, 104, 0, 0, 0, 0, 0, 0, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 499, 497, 498, 494, 495, 0, 486, 492, - 493, 500, 501, 503, 502, 504, 505, 0, 0, 0, - 0, 0, 87, 88, 89, 90, 91, 0, 496, 507, - 506, 73, 74, 0, 75, 431, 0, 0, 0, 0, - 0, 105, 0, 0, 0, 0, 0, 0, 0, 783, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 132, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 0, 0, 0, 0, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 13, - 0, 31, 59, 0, 0, 105, 87, 88, 89, 90, - 91, 0, 0, 0, 0, 73, 74, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 863, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 24, 0, - 0, 0, 0, 0, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 132, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 0, - 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 103, 72, 13, 0, 31, 59, 0, 0, 105, - 87, 88, 89, 90, 91, 0, 0, 0, 0, 73, - 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 24, 0, 0, 0, 0, 0, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 132, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 0, 0, 0, 0, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 13, 0, 31, - 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, - 0, 0, 0, 73, 74, 0, 75, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 24, 0, 0, 0, - 0, 0, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, - 20, 21, 34, 132, 0, 22, 32, 0, 0, 33, - 0, 0, 23, 0, 28, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 13, 0, 31, 59, 0, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 24, 0, 0, 0, 0, 0, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 132, 0, 22, - 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, - 86, 0, 0, 0, 0, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 13, 155, 31, 59, 0, - 0, 105, 441, 442, 443, 444, 445, 0, 446, 447, - 448, 484, 485, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 450, 451, - 0, 454, 455, 456, 435, 436, 437, 438, 439, 440, - 452, 453, 0, 0, 858, 0, 0, 0, 0, 0, - 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, - 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, - 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, - 505, 441, 442, 443, 444, 445, 426, 446, 447, 448, - 484, 485, 857, 507, 506, 111, 0, 0, 0, 0, - 882, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 0, 449, 0, 0, 0, 0, 0, 164, - 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, - 454, 455, 456, 435, 436, 437, 438, 439, 440, 452, - 453, 0, 0, 858, 0, 0, 0, 0, 0, 0, - 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, - 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, - 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, - 154, 156, 155, 0, 0, 0, 87, 88, 89, 90, - 91, 857, 507, 506, 111, 73, 74, 0, 75, 848, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 57, 164, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 24, 0, - 0, 0, 0, 0, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 132, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 0, - 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 693, 133, 100, 96, 111, - 0, 103, 72, 13, 0, 31, 59, 0, 0, 105, - 441, 442, 443, 444, 445, 0, 446, 447, 448, 484, - 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, - 455, 456, 435, 436, 437, 438, 439, 440, 452, 453, - 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, - 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, - 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, - 486, 492, 493, 500, 501, 503, 502, 504, 505, 441, - 442, 443, 444, 445, 0, 446, 447, 448, 484, 485, - 496, 507, 506, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 449, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 449, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, 455, - 456, 687, 688, 689, 686, 685, 684, 452, 453, 0, - 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, + 456, 435, 436, 437, 438, 439, 440, 452, 453, 0, + 0, 432, 0, 104, 0, 0, 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, - 0, 233, 0, 87, 88, 89, 90, 91, 232, 496, - 507, 506, 73, 74, 0, 75, 0, 0, 116, 0, - 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 0, 496, + 507, 506, 73, 74, 0, 75, 431, 0, 0, 0, + 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 108, 51, 84, - 52, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 69, 0, 92, 93, 116, 133, 104, 0, 111, - 0, 0, 0, 109, 0, 0, 230, 0, 0, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 0, 0, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 132, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 532, 103, 72, - 0, 0, 0, 59, 528, 0, 105, 87, 88, 89, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 0, 69, 0, 92, 93, 116, - 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, - 0, 0, 0, 87, 88, 89, 90, 91, 85, 86, - 0, 0, 73, 74, 0, 75, 0, 226, 108, 0, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 0, 0, 0, 59, 55, 56, - 105, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 69, 0, 92, 93, 116, 0, 104, 0, 0, - 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, + 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 87, - 88, 89, 90, 91, 85, 86, 0, 0, 73, 74, - 0, 75, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 600, 133, 100, 96, 111, 532, 103, 72, - 0, 0, 0, 59, 55, 56, 105, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 138, 0, 0, 0, 0, 0, 69, 0, 92, - 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, - 0, 0, 0, 0, 0, 87, 88, 89, 90, 91, - 85, 86, 0, 0, 73, 74, 0, 75, 0, 601, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 0, 0, 0, 59, - 55, 56, 105, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 138, 0, 0, - 0, 0, 0, 69, 0, 92, 93, 116, 424, 104, - 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, - 0, 87, 88, 89, 90, 91, 85, 86, 0, 0, - 73, 74, 0, 75, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 387, 133, 100, 96, 111, 0, - 103, 72, 0, 0, 0, 59, 55, 56, 105, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 69, - 0, 92, 93, 116, 0, 104, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 87, 88, 89, - 90, 91, 85, 86, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 24, 0, 0, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 132, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 363, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 0, 0, - 0, 59, 55, 56, 105, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 0, 69, 0, 92, 93, 116, - 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, - 0, 0, 0, 87, 88, 89, 90, 91, 85, 86, - 0, 0, 73, 74, 0, 75, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 0, 0, 0, 59, 55, 56, - 105, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 69, 0, 92, 93, 116, 0, 104, 0, 0, - 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, + 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 154, 156, 155, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 0, 0, 0, 59, 0, 179, 105, 180, 152, 153, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, + 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 0, 0, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 155, 31, 59, + 0, 0, 105, 441, 442, 443, 444, 445, 0, 446, + 447, 448, 484, 485, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, + 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 164, 0, 449, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, + 451, 0, 454, 455, 456, 435, 436, 437, 438, 439, + 440, 452, 453, 0, 0, 880, 0, 0, 0, 0, + 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, + 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, + 494, 495, 0, 486, 492, 493, 500, 501, 503, 502, + 504, 505, 441, 442, 443, 444, 445, 426, 446, 447, + 448, 484, 485, 879, 507, 506, 111, 0, 0, 0, + 0, 898, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, - 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 179, - 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 0, 763, 0, 0, 0, 0, 179, 0, 180, 152, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 450, 451, + 0, 454, 455, 456, 435, 436, 437, 438, 439, 440, + 452, 453, 0, 0, 880, 0, 0, 0, 0, 0, + 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, + 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, + 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, + 505, 154, 156, 155, 0, 0, 0, 87, 88, 89, + 90, 91, 879, 507, 506, 111, 73, 74, 0, 75, + 870, 179, 0, 180, 152, 153, 157, 159, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 164, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 707, 133, 100, 96, + 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, + 105, 441, 442, 443, 444, 445, 0, 446, 447, 448, + 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, + 454, 455, 456, 435, 436, 437, 438, 439, 440, 452, + 453, 0, 0, 432, 0, 0, 0, 0, 0, 0, + 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, + 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, + 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, + 441, 442, 443, 444, 445, 0, 446, 447, 448, 484, + 485, 496, 507, 506, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, + 455, 456, 743, 744, 745, 742, 741, 740, 452, 453, + 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, + 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, + 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, + 486, 492, 493, 500, 501, 503, 502, 504, 505, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 0, + 496, 507, 506, 73, 74, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 532, 103, + 72, 0, 0, 0, 59, 528, 0, 105, 87, 88, + 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, + 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, + 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, + 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, + 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, + 86, 0, 0, 73, 74, 0, 75, 0, 226, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, + 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 87, 88, 89, 90, 91, 85, 86, 0, 0, 73, + 74, 0, 75, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 591, 133, 100, 96, 111, 532, 103, + 72, 0, 0, 0, 59, 55, 56, 105, 0, 0, + 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, + 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, + 0, 0, 138, 0, 0, 0, 0, 0, 69, 0, + 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, + 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 0, 0, 87, 88, 89, 90, + 91, 85, 86, 0, 0, 73, 74, 0, 75, 0, + 592, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 0, 103, 72, 0, 0, 0, + 59, 55, 56, 105, 0, 0, 0, 57, 0, 58, + 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, + 0, 51, 84, 52, 0, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 69, 0, 92, 93, 116, 424, + 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 0, 0, 87, 88, 89, 90, 91, 85, 86, 0, + 0, 73, 74, 0, 75, 0, 50, 108, 0, 101, + 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 387, 133, 100, 96, 111, + 0, 103, 72, 0, 0, 0, 59, 55, 56, 105, + 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, + 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, + 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 0, 0, 87, 88, + 89, 90, 91, 85, 86, 0, 0, 73, 74, 0, + 75, 0, 50, 108, 0, 101, 97, 98, 99, 94, + 95, 0, 0, 0, 0, 363, 0, 102, 0, 0, + 0, 0, 133, 100, 96, 111, 0, 103, 72, 0, + 0, 0, 59, 55, 56, 105, 0, 0, 0, 57, + 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, + 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, + 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, + 86, 0, 0, 73, 74, 0, 75, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, + 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 154, 156, 155, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, + 72, 0, 0, 0, 59, 0, 179, 105, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 692, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 630, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 0, 629, 0, 0, 0, 0, 0, 179, 0, 180, + 0, 677, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 164, 0, 0, 603, 0, + 0, 0, 0, 0, 0, 164, 0, 0, 676, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 591, 0, 0, 0, 0, + 0, 0, 164, 0, 0, 621, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 0, 0, 555, 0, 0, 0, 0, 0, 179, 820, + 0, 0, 620, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 164, 0, 0, 551, + 0, 0, 0, 0, 0, 0, 164, 0, 0, 594, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 415, 0, 0, 0, + 0, 0, 0, 164, 0, 0, 582, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 821, 0, 0, 0, 0, 0, 0, 0, 179, - 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, + 164, 0, 0, 555, 0, 0, 0, 0, 0, 179, + 810, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 371, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, + 551, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 154, 156, 155, 0, 0, 0, - 0, 0, 0, 0, 164, 151, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, - 0, 708, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 154, - 156, 155, 0, 0, 0, 0, 0, 0, 706, 164, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, - 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, - 0, 0, 0, 0, 0, 0, 697, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 154, 156, 155, 0, 0, 0, - 0, 0, 0, 631, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, - 0, 612, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 561, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 565, - 154, 156, 155, 0, 0, 410, 0, 0, 593, 164, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 415, 0, 0, + 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, + 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, + 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, + 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 811, 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 371, 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 164, + 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, + 0, 0, 0, 0, 0, 164, 151, 0, 0, 0, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, + 0, 0, 692, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 154, 156, 155, 0, 0, 0, 0, 0, 0, 690, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, + 0, 0, 0, 0, 0, 0, 0, 681, 164, 0, + 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, + 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, + 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, + 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, + 0, 0, 0, 0, 622, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, + 0, 0, 603, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 179, 561, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 565, 154, 156, 155, 0, 0, 410, 0, 0, 584, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, + 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, + 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, + 163, 165, 166, 0, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 164, } var yyPact = [...]int{ - -1000, -1000, 1194, -1000, -1000, -1000, -1000, -1000, -1000, 149, - 251, 421, 516, -1000, -1000, -1000, 146, 4902, 144, 143, - 6209, 6209, 6209, 20, 452, 6209, -1000, 6862, 141, 138, - 137, -1000, 259, 6209, 584, 698, 651, 573, 574, 571, - 568, 607, 723, 2356, -1000, -1000, 134, -1000, -1000, 302, - 132, 5513, 6209, 5282, 5282, 6209, 6209, 6209, 6209, 6209, - -1000, -1000, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 131, - 6209, -1000, 638, 6209, 6209, 6209, -1000, -1000, -1000, 614, - -1000, 364, 361, -1000, 172, 128, 105, 6209, 6209, 95, - 6209, 6209, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 540, 635, -1000, 33, 66, 66, 83, -1000, - 272, 498, -22, 498, -12, -1000, -1000, 206, 365, 290, - 438, 498, -1000, -1000, -1000, -1000, 276, -1000, 737, 3326, - 6209, 445, 651, 271, 6209, 6209, 204, 7337, 417, 203, - 199, 267, -1000, -1000, 261, 651, -1000, 732, 237, -1000, - 7337, -1000, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, - 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, - 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 31, 6093, - 6209, 5282, 6209, 516, -1000, 6815, 197, -1000, 58, -1000, - 566, -1000, 324, 258, 390, 81, 4902, 78, 195, 682, - 5977, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, 6209, - 6209, 6209, 6209, -1000, -1000, 6209, 6209, 6209, 96, 5513, - -61, 793, -1000, -1000, 7290, 5282, 77, -1000, -1000, 614, - 6209, -1000, -1000, 5513, -1000, 618, 618, 656, 618, 6721, - 618, 618, 618, 618, 618, 618, 618, -1000, 6209, 618, - 262, 612, 553, -1000, 456, 5861, 5282, 1015, 4751, 1015, - 6209, 3654, 3654, 66, -1000, 301, 198, 66, -1000, -1000, - 6209, 6209, 7337, 7337, 6209, 7337, 7337, 567, -1000, 459, - 368, 612, 6209, -1000, -1000, 5349, -1000, 5513, 561, 272, - 193, 272, -1000, -1000, 1030, -1000, 189, 235, 434, 498, - -1000, 351, 352, 557, 413, -1000, -1000, 516, 6209, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 76, 6674, 75, 74, - 185, 791, 7337, 6627, -1000, -1000, -1000, -1000, 20, -1000, - 487, 69, 6209, -1000, 6209, 1341, 1505, 3644, 1015, 4604, - 1669, 1993, 1830, 846, 846, 846, 656, 618, 656, 656, - 1288, 1288, 2152, 2152, 2152, 2152, 776, 776, 776, 776, - 2152, -1000, 7241, 6209, 1179, 784, -1000, -1000, 7194, 103, - 3162, -1000, -1000, 68, 539, 324, 299, 451, -1000, 256, - 451, 6209, -1000, 6209, -1000, -1000, 1015, 6209, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 6580, -62, 7146, 66, -1000, 6209, -1000, -24, 726, 5513, - 5745, -1000, 5513, 6533, -66, -1000, -27, -1000, -1000, -1000, - -1000, 556, 507, 7099, 278, 229, 6209, -70, 66, -1000, - -1000, 6209, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1255, -1000, -1000, -1000, -1000, -1000, -1000, 157, + 338, 412, 557, -1000, -1000, -1000, 156, 4963, 154, 151, + 6270, 6270, 6270, 24, 464, 6270, -1000, 6923, 149, 148, + 146, -1000, 287, 6270, 607, 743, 671, 493, 603, 599, + 595, 641, 695, 2417, -1000, -1000, 144, -1000, -1000, 357, + 142, 5574, 6270, 150, 150, 6270, 6270, 6270, 6270, 6270, + -1000, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 134, + 6270, -1000, 664, 6270, 6270, 6270, -1000, -1000, -1000, 585, + -1000, 307, 303, -1000, 201, 131, 129, 6270, 6270, 100, + 6270, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 486, 633, -1000, 63, 34, 34, 93, -1000, + 293, 554, -28, 554, 84, -1000, -1000, 233, 415, 281, + 438, 554, -1000, -1000, -1000, -1000, 273, -1000, 774, 3387, + 6270, 447, 671, 285, 6270, 6270, 232, 7398, 425, 230, + 218, 254, -1000, -1000, 249, 671, -1000, 772, 239, -1000, + 7398, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 240, 6154, + 6270, 150, 6270, 557, -1000, 6876, 214, -1000, 590, -1000, + 589, -1000, 371, -1000, 386, 78, 4963, 75, 211, 741, + 6038, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, -1000, -1000, 6270, 6270, 6270, 101, 5574, + -57, 808, -1000, -1000, 7351, 150, 68, -1000, -1000, 585, + 6270, -1000, -1000, 5574, -1000, 629, 629, 719, 629, 6782, + 629, 629, 629, 629, 629, 629, 629, -1000, 6270, 629, + 289, 471, 602, -1000, 491, 5922, 150, 1076, 4812, 1076, + 6270, 3715, 3715, 34, -1000, 301, 191, 34, -1000, -1000, + 6270, 6270, 7398, 7398, 6270, 7398, 7398, 460, -1000, 452, + 341, 471, 6270, -1000, -1000, 5410, -1000, 5574, 583, 293, + 210, 293, -1000, -1000, 1091, -1000, 208, 220, 437, 554, + -1000, 372, 351, 575, 429, -1000, -1000, 557, 6270, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 58, 6735, 51, -1000, + 203, 805, 7398, 6688, -1000, -1000, -1000, -1000, 24, -1000, + 551, -1000, 6270, -1000, 6270, 1402, 1566, 3705, 1076, 4665, + 1730, 2054, 1891, 744, 744, 744, 719, 629, 719, 719, + 1349, 1349, 912, 912, 912, 912, 2209, 2209, 2209, 2209, + 912, -1000, 7302, 6270, 1240, 804, -1000, -1000, 7255, 111, + 3223, -1000, -1000, -1000, 50, 371, 379, 410, 282, -1000, + 410, 6270, -1000, 6270, -1000, -1000, 1076, 6270, 1076, 1076, + 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, + 6641, -58, 7207, 34, -1000, 6270, -1000, -31, 771, 5574, + 5806, -1000, 5574, 6594, -65, -1000, -35, -1000, -1000, -1000, + -1000, 634, 556, 7160, 268, 246, 6270, -67, 34, -1000, + -1000, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 66, -1000, - -1000, -1000, -1000, 20, 6209, 6209, 96, 20, 324, 782, - -1000, 7337, 6486, 6439, -1000, -1000, -1000, 7051, -1000, 772, - -1000, 7337, 6209, -31, -1000, -1000, 866, -1000, -1000, -1000, - 348, 406, -1000, 498, 353, 623, -1000, 332, -1000, 7337, - -32, 4454, 6209, 6209, 6209, 330, -1000, -1000, 539, 7337, - -1000, 6209, 1179, -33, 5282, 269, 4290, -1000, 539, -35, - 766, -1000, 652, -1000, -1000, 446, -1000, -1000, -1000, 299, - 253, 451, -1000, 559, -1000, 748, -1000, 6392, 4890, 2998, - 1993, 4126, -1000, -1000, -1000, 7004, 713, 6209, -1000, 7337, - 5282, 64, -36, -1000, -1000, -1000, -71, -1000, -1000, 455, - -1000, -1000, -1000, -1000, 6209, -1000, 1015, -1000, -1000, 6956, - -1000, -1000, -73, 6909, -1000, -1000, 299, -37, 6209, -1000, - -1000, -1000, -38, 5629, 7337, -1000, -1000, 498, 329, 753, - -1000, -1000, 498, 623, 180, -1000, -1000, -1000, 432, 179, - 7337, -1000, 178, 177, -39, 1179, 171, -1000, -40, 740, - 5282, 61, 5513, -1000, -1000, -1000, 411, -41, 404, 539, - 263, -1000, -1000, 248, -1000, 748, -1000, -1000, 470, 437, - 451, 693, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 425, 451, 4902, 679, 164, -1000, -1000, -1000, 6209, 1015, - -1000, 5513, 713, -1000, -1000, 6345, -1000, -1000, -1000, 246, - -1000, -1000, -1000, -1000, 752, -1000, 498, 228, 623, -1000, - 753, -1000, 2834, 162, 6209, 127, -1000, 523, -1000, 404, - -1000, 3798, 269, -1000, 5513, -79, 2670, -1000, 59, 244, - 666, 666, 51, -1000, 483, -1000, -1000, 418, 205, -1000, - 724, 5066, 651, 130, -1000, -1000, -1000, -1000, -1000, -1000, - 3490, 1015, -42, 223, -1000, 218, 498, 752, -1000, -1000, - 211, 161, -1000, -43, -1000, 6209, 121, 118, 158, 515, - 666, -1000, -1000, -1000, -45, -1000, -47, -1000, 157, 451, - -1000, 241, 539, 238, 639, 721, 369, -1000, -1000, 470, - 6209, 190, -1000, 716, 5066, -1000, -1000, 4757, 3490, 713, - -1000, 174, -1000, -1000, 208, -1000, -1000, 3962, 6768, -1000, - -1000, -1000, -1000, -1000, 156, 233, 2506, 3798, -1000, -1000, - 511, -1000, 2342, -1000, -1000, -1000, 97, -1000, -1000, 468, - 6209, -1000, -1000, 7337, -1000, 5066, 6209, 25, -1000, 4618, - -1000, 154, 153, 402, 431, 288, -1000, 271, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 3490, -1000, -1000, 151, -1000, - -51, 451, -1000, 2178, 2014, -1000, 639, -1000, 7337, -1000, - 7337, 539, -1000, -1000, -1000, -1000, 451, 5205, 5066, 1850, - 3490, 1686, -1000, 232, -1000, -1000, -1000, -1000, -52, 748, - -1000, -1000, 5066, -1000, 32, -1000, -1000, 666, -1000, -1000, - 1522, -15, -1000, -1000, -1000, -1000, 1358, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 34, -1000, + -1000, -1000, -1000, 24, 6270, 6270, 101, 24, 371, 801, + -1000, 7398, 6547, 6500, -1000, -1000, -1000, 7112, -1000, 800, + -1000, 7398, 6270, -36, -1000, -1000, 927, -1000, -1000, -1000, + 349, 350, -1000, 554, 348, 566, -1000, 345, -1000, 7398, + -37, 4515, 6270, 6270, 6270, 370, -1000, -1000, 18, 7398, + -1000, 6270, 1240, -38, 150, 499, 4351, -1000, 15, 373, + 379, -1000, 410, -1000, -1000, 279, 792, -1000, 6453, 6406, + 3059, 2054, 4187, -1000, -1000, -1000, 7065, 763, 6270, -1000, + 7398, 150, -12, -40, -1000, -1000, -1000, -72, -1000, -1000, + 484, -1000, -1000, -1000, -1000, 6270, -1000, 1076, -1000, -1000, + 7017, -1000, -1000, -73, 6970, -1000, -1000, 379, -41, 6270, + -1000, -1000, -1000, -42, 5690, 7398, -1000, -1000, 554, 336, + 796, -1000, -1000, 554, 566, -1000, 202, -1000, -1000, -1000, + 4951, 200, 7398, -1000, 199, 190, 373, 1240, 188, -1000, + -43, 778, 150, -14, 5574, -1000, -1000, -1000, 433, 373, + -46, 799, -1000, 673, -1000, -1000, 378, -1000, -1000, -1000, + -1000, 278, 792, 568, -1000, 410, 4963, 728, 186, -1000, + -1000, -1000, 6270, 1076, -1000, 5574, 763, -1000, -1000, 435, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 795, -1000, + 554, 243, 566, -1000, 796, -1000, 2895, 184, 6270, 194, + -1000, 627, -1000, -47, -1000, 3859, 499, -1000, 5574, -79, + 2731, -1000, -16, 277, -48, 417, 373, 257, -1000, -1000, + 272, -1000, -1000, -1000, 525, 483, 410, 685, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 550, -1000, -1000, -1000, + -1000, 3551, 1076, -49, 242, 267, 238, 554, 795, -1000, + -1000, 237, 183, -1000, -50, -1000, 6270, 162, 119, 182, + 620, 417, -1000, -1000, -1000, -51, -1000, -52, -1000, 180, + 410, -1000, 706, 706, -21, -1000, 544, -1000, -1000, 443, + 138, -1000, 765, 5127, 671, 117, -1000, -1000, 3551, 763, + -1000, -1000, -1000, -1000, 192, -1000, -1000, 4023, 6829, -1000, + -1000, -1000, -1000, -1000, 179, 706, 2567, 3859, -1000, -1000, + 584, -1000, 2403, 264, 373, 259, 510, 762, 174, -1000, + -1000, 525, -1000, 6270, 133, -1000, 760, 5127, -1000, -1000, + 4818, 26, -1000, -1000, -1000, -1000, -1000, 3551, -1000, 255, + 176, -1000, -54, 410, -1000, -1000, -1000, -1000, 81, -1000, + -1000, 500, 6270, -1000, -1000, 7398, -1000, 5127, 6270, -1000, + -1000, 4679, -1000, 171, 167, 383, 436, 298, -1000, 285, + -1000, -1000, 2239, 3551, -1000, -1000, 248, -1000, 2075, 1911, + -1000, 510, -1000, 7398, -1000, -1000, 7398, -25, -1000, -1000, + -1000, -1000, 410, 5266, 5127, 159, 1747, -1000, -1000, -1000, + -1000, -1000, 373, 792, -1000, -1000, 5127, -1000, -1000, -1000, + 1583, -55, -1000, -1000, 706, -23, -1000, -1000, -1000, 1419, + -1000, } var yyPgo = [...]int{ - 0, 940, 939, 46, 6, 938, 3, 934, 14, 27, - 79, 77, 70, 51, 922, 20, 920, 94, 15, 78, - 919, 0, 62, 918, 913, 11, 912, 911, 36, 61, - 49, 33, 909, 35, 907, 72, 50, 905, 9, 904, - 903, 897, 895, 13, 48, 890, 888, 111, 98, 197, - 887, 884, 883, 8, 881, 81, 43, 878, 55, 47, - 877, 876, 875, 868, 867, 97, 863, 862, 861, 860, - 10, 858, 857, 42, 32, 41, 2, 16, 740, 5, - 765, 17, 854, 852, 851, 83, 86, 664, 850, 28, - 849, 848, 846, 90, 843, 31, 842, 840, 25, 29, - 838, 836, 24, 834, 833, 549, 820, 18, 819, 818, - 44, 817, 103, 1, 7, 816, 19, 815, 38, 814, - 812, 810, 4, 806, 803, 37, 12, + 0, 923, 922, 51, 9, 921, 3, 919, 11, 24, + 81, 80, 46, 45, 918, 29, 916, 77, 70, 61, + 915, 0, 50, 911, 907, 15, 906, 905, 35, 237, + 38, 20, 904, 32, 902, 62, 54, 901, 10, 900, + 899, 898, 896, 13, 55, 895, 894, 100, 95, 199, + 893, 892, 891, 5, 889, 85, 41, 888, 141, 43, + 887, 885, 884, 881, 878, 79, 877, 874, 873, 871, + 12, 870, 868, 47, 40, 31, 2, 14, 743, 8, + 795, 25, 867, 866, 864, 37, 82, 599, 862, 121, + 861, 860, 856, 86, 855, 36, 854, 853, 30, 33, + 851, 850, 28, 849, 843, 592, 840, 18, 838, 837, + 39, 835, 78, 1, 4, 831, 17, 830, 44, 827, + 826, 823, 7, 821, 6, 820, 19, 16, } var yyR1 = [...]int{ - 0, 124, 4, 4, 4, 4, 4, 4, 4, 4, + 0, 125, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -1406,7 +1416,7 @@ var yyR1 = [...]int{ 5, 5, 5, 5, 5, 5, 6, 6, 112, 112, 89, 89, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 80, - 80, 14, 14, 16, 16, 125, 125, 99, 99, 98, + 80, 14, 14, 16, 16, 126, 126, 99, 99, 98, 98, 105, 105, 15, 15, 18, 18, 17, 17, 93, 93, 113, 113, 20, 20, 20, 20, 20, 20, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -1415,7 +1425,7 @@ var yyR1 = [...]int{ 104, 28, 10, 1, 1, 2, 2, 11, 11, 123, 123, 78, 78, 12, 13, 30, 30, 117, 117, 118, 118, 81, 81, 81, 81, 24, 24, 25, 25, 26, - 26, 83, 83, 83, 83, 102, 102, 102, 126, 126, + 26, 83, 83, 83, 83, 102, 102, 102, 127, 127, 23, 23, 69, 69, 67, 67, 71, 71, 68, 68, 114, 114, 115, 115, 31, 31, 32, 32, 77, 77, 75, 75, 75, 76, 76, 85, 85, 111, 111, 33, @@ -1432,19 +1442,19 @@ var yyR1 = [...]int{ 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 3, - 3, 107, 107, 106, 106, 53, 53, 54, 54, 54, - 54, 47, 47, 48, 48, 51, 51, 88, 88, 88, - 86, 86, 58, 58, 58, 52, 52, 52, 52, 52, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 124, + 3, 3, 107, 107, 106, 106, 53, 53, 54, 54, + 54, 54, 47, 47, 48, 48, 51, 51, 88, 88, + 88, 86, 86, 58, 58, 58, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 59, 59, 59, 21, 21, 22, 22, 57, 60, - 60, 60, 61, 61, 61, 62, 62, 62, 62, 62, - 62, 29, 29, 29, 49, 49, 49, 63, 63, 64, - 64, 64, 64, 64, 64, 55, 55, 55, 56, 56, - 56, 110, 73, 73, 109, 109, 72, 72, 72, 72, - 72, 72, 87, 87, 87, 87, 65, 65, 65, 65, - 65, 65, 65, 66, 66, 66, 66, 50, 50, 50, - 50, 50, 50, 50, 108, 108, 74, + 52, 52, 59, 59, 59, 21, 21, 22, 22, 57, + 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, + 62, 62, 29, 29, 29, 49, 49, 49, 63, 63, + 64, 64, 64, 64, 64, 64, 55, 55, 55, 56, + 56, 56, 110, 73, 73, 109, 109, 72, 72, 72, + 72, 72, 72, 87, 87, 87, 87, 65, 65, 65, + 65, 65, 65, 65, 66, 66, 66, 66, 50, 50, + 50, 50, 50, 50, 50, 108, 108, 74, } var yyR2 = [...]int{ @@ -1464,43 +1474,43 @@ var yyR2 = [...]int{ 1, 1, 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, 1, 2, 6, 7, 9, 5, 1, 6, 3, 3, 2, 0, 9, 1, 3, 0, 4, 1, - 3, 1, 10, 0, 1, 0, 1, 8, 7, 1, - 2, 1, 1, 5, 6, 0, 2, 0, 2, 0, + 3, 1, 11, 0, 1, 0, 1, 9, 8, 1, + 2, 1, 1, 6, 7, 0, 2, 0, 2, 0, 2, 1, 2, 4, 3, 1, 4, 1, 4, 1, 4, 3, 4, 4, 5, 0, 5, 4, 1, 1, 1, 4, 5, 6, 1, 3, 6, 7, 3, 6, 1, 0, 1, 3, 4, 6, 0, 1, 1, 2, 1, 1, 1, 0, 2, 2, 4, 1, 3, 1, 2, 3, 1, 1, 3, 1, 1, 3, 2, 0, - 3, 4, 3, 9, 1, 3, 1, 2, 3, 1, + 3, 4, 3, 10, 1, 3, 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, 4, 3, 1, 1, 3, 1, 3, 1, 1, 0, 1, 1, 2, 1, - 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, - 1, 3, 3, 3, 1, 1, 0, 1, 3, 1, - 7, 3, 2, 6, 5, 3, 4, 2, 3, 3, + 1, 1, 1, 1, 1, 3, 1, 2, 4, 3, + 1, 4, 4, 3, 1, 1, 0, 1, 3, 1, + 8, 3, 2, 6, 5, 3, 4, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 5, 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 3, 2, 1, 2, 4, 2, 10, 11, 0, - 1, 0, 4, 3, 1, 1, 2, 2, 4, 4, - 2, 1, 1, 1, 1, 0, 3, 0, 1, 1, - 0, 1, 4, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 2, 3, 3, 1, - 1, 1, 3, 3, 1, 1, 0, 1, 1, 1, - 3, 1, 1, 3, 1, 1, 4, 4, 4, 4, - 1, 1, 1, 3, 1, 4, 2, 3, 3, 1, - 4, 4, 3, 3, 3, 1, 3, 1, 1, 3, - 1, 1, 0, 1, 3, 1, 3, 1, 4, 2, - 6, 4, 2, 2, 1, 2, 1, 4, 3, 3, - 3, 6, 3, 1, 1, 2, 1, 5, 4, 2, - 2, 4, 2, 2, 1, 3, 1, + 1, 3, 2, 1, 2, 4, 2, 11, 12, 0, + 0, 1, 0, 4, 3, 1, 1, 2, 2, 4, + 4, 2, 1, 1, 1, 1, 0, 3, 0, 1, + 1, 0, 1, 4, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, 3, 3, + 1, 1, 1, 3, 3, 1, 1, 0, 1, 1, + 1, 3, 1, 1, 3, 1, 1, 4, 4, 4, + 4, 1, 1, 1, 3, 1, 4, 2, 3, 3, + 1, 4, 4, 3, 3, 3, 1, 3, 1, 1, + 3, 1, 1, 0, 1, 3, 1, 3, 1, 4, + 2, 6, 4, 2, 2, 1, 2, 1, 4, 3, + 3, 3, 6, 3, 1, 1, 2, 1, 5, 4, + 2, 2, 4, 2, 2, 1, 3, 1, } var yyChk = [...]int{ - -1000, -124, -112, -7, -9, -10, -11, -12, -13, 127, + -1000, -125, -112, -7, -9, -10, -11, -12, -13, 127, 154, 120, 114, 161, -67, -68, 97, 96, 99, 106, 110, 111, 115, 122, 76, 95, 90, -21, 124, 101, 103, 163, 116, 119, 112, 86, 113, -123, 128, 129, @@ -1537,7 +1547,7 @@ var yyChk = [...]int{ -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -48, -21, 31, -21, -104, -28, -29, -21, -93, - -113, 163, 163, 86, 164, 86, -30, 131, 161, -117, + -113, 163, 163, 86, -124, 86, -30, 131, -124, -117, 131, 164, -9, 164, 163, 31, -21, 37, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -22, -21, -56, 86, 161, -49, -110, 166, 9, @@ -1555,89 +1565,91 @@ var yyChk = [...]int{ -74, -21, -21, -21, 150, 150, 159, -21, 165, -111, -33, -21, 158, -110, 86, 163, -112, 162, 163, 163, 157, -89, -17, 157, -89, 161, 86, 157, -19, -21, - 164, 165, 164, 163, 9, 165, -35, -36, 164, -21, - -44, 31, -21, -125, 9, 105, 165, 162, 164, -114, - -115, -31, -32, -77, -75, 30, 135, 136, -8, -30, - -118, 132, -8, -116, 161, -122, -8, -21, -21, -113, - -21, 165, 166, 162, -85, -21, 165, 17, -73, -21, - 37, 134, -110, 165, 166, 165, -66, 86, 89, 50, - 88, 86, 162, 162, 69, 162, -21, 166, -85, -21, - -85, -49, -22, -21, -56, -49, -30, -125, 9, 165, - 165, 162, -125, 9, -21, 165, 162, 161, 157, -99, - -15, -18, -80, 161, 165, -23, -9, 31, -21, -95, - -21, -83, 161, 31, -114, -21, 165, -28, -81, -29, - 37, 134, 69, -26, -9, 31, -91, -114, 165, 9, - -1, 37, -75, -118, 161, -122, 162, -37, -120, -119, - 120, -121, 123, -79, 81, 80, 79, 76, 77, 78, - -116, 9, 165, 165, 75, -9, 31, 162, 17, -21, - -29, 164, 165, 166, 89, -21, 162, 166, 162, -118, - 165, -74, 165, -33, -98, -18, 161, -125, 9, -18, - -99, 163, -113, 165, 163, -102, 163, -102, 163, 165, - 163, 165, 15, -29, 164, -110, -113, -27, 117, 118, - 165, -107, 120, -31, -2, 158, 161, -116, -100, -43, - 88, 114, 113, -122, -79, 162, -8, -9, 31, 163, - -113, -21, -110, 166, 161, -125, 9, -98, 162, -15, - -125, 98, 163, -95, 162, 108, 109, -102, 107, -102, - -107, -25, -9, 31, -81, -29, -110, 166, 104, 164, - 161, -76, 31, -76, 164, 88, -116, 162, 163, 9, - 17, -92, -70, -6, -3, -84, 163, 161, -113, 165, - 162, -116, 162, -18, -125, 162, 163, 165, -21, -126, - 31, 163, 162, 163, 107, -76, -113, 165, 165, 163, - -90, -8, -113, 161, -77, 161, -106, -53, 88, 37, - 17, 162, -43, -21, 163, 9, 17, -6, 162, -103, - -38, -39, -40, -41, -42, -8, -6, 154, 86, 162, - 162, -24, -9, 31, -126, -113, 163, 161, 102, -25, - 88, 35, 162, -113, -113, 165, 9, 88, -21, -70, - -21, 164, 162, -38, 163, 163, 121, 105, 153, -113, - -113, -113, 163, 165, -8, 162, 162, -53, -114, -122, - 86, -4, -79, -6, 100, 162, 161, 165, -6, 163, - -113, -76, 162, -82, 163, 161, -113, 162, + 164, 165, 164, 163, 9, 165, -35, -36, -124, -21, + -44, 31, -21, -126, 9, 105, 165, 162, -124, 164, + -30, -118, 132, -8, 161, -124, -122, -8, -21, -21, + -113, -21, 165, 166, 162, -85, -21, 165, 17, -73, + -21, 37, 134, -110, 165, 166, 165, -66, 86, 89, + 50, 88, 86, 162, 162, 69, 162, -21, 166, -85, + -21, -85, -49, -22, -21, -56, -49, -30, -126, 9, + 165, 165, 162, -126, 9, -21, 165, 162, 161, 157, + -99, -15, -18, -80, 161, -124, 165, -23, -9, 31, + -21, -95, -21, -83, 161, 31, 164, -21, 165, -28, + -81, -29, 37, 134, 69, -26, -9, 31, -91, 164, + -114, -115, -31, -32, -77, -75, 30, 135, 136, -8, + -118, -124, -122, -116, 161, 9, 165, 165, 75, -9, + 31, 162, 17, -21, -29, 164, 165, 166, 89, -21, + 162, 166, 162, -118, 165, -74, 165, -33, -98, -18, + 161, -126, 9, -18, -99, 163, -113, 165, 163, -102, + 163, -102, 163, -114, 163, 165, 15, -29, 164, -110, + -113, -27, 117, 118, -114, 165, 9, -1, 37, -75, + -124, 161, 162, -37, -120, -119, 120, -121, 123, -79, + 81, 80, 79, 76, 77, 78, -116, -8, -9, 31, + 163, -113, -21, -110, 166, -124, -126, 9, -98, 162, + -15, -126, 98, 163, -95, 162, 108, 109, -102, 107, + -102, 165, -25, -9, 31, -81, -29, -110, 166, 104, + 164, 161, 165, -107, 120, -31, -2, 158, 161, -116, + -100, -43, 88, 114, 113, -122, -79, 162, -113, 165, + 162, 161, 162, -18, -126, 162, 163, 165, -21, -127, + 31, 163, 162, 163, 107, -107, -113, 165, 165, 163, + -90, -8, -113, -76, 31, -76, 164, 88, -116, 162, + 163, 9, -124, 17, -92, -70, -6, -3, -84, 163, + 161, -116, 162, -24, -9, 31, -127, -113, 163, -76, + 102, -25, 88, 35, 162, 161, -77, 161, -106, -53, + 88, 37, 17, 162, -43, -21, 163, 9, 17, -6, + 162, -103, -38, -39, -40, -41, -42, -8, -6, 154, + 86, 162, -113, -113, 161, 163, 165, -8, -113, -113, + 165, 9, 88, -21, -124, -70, -21, -124, 162, -38, + 163, 163, 121, 105, 153, 100, -113, 161, 162, 162, + -53, -124, 164, -122, 86, -4, -79, -6, 163, 162, + -113, -114, -6, 162, 165, -76, -82, 163, 161, -113, + 162, } var yyDef = [...]int{ 79, -2, 1, 78, 85, 86, 87, 88, 89, 0, 0, 0, 0, 122, 130, 131, 0, 0, 0, 0, - 416, 416, 416, 0, 381, 0, 142, 0, 0, 0, - 0, 148, 0, 0, 0, 80, 369, 0, 0, 0, - 0, 204, 0, -2, 415, 169, 0, -2, 432, 418, - 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, - 346, 350, 0, 0, 0, 0, 0, 0, 0, 385, - 0, 360, 387, 0, 363, 0, 171, 172, 425, 410, - 430, 0, 0, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 0, 0, 434, 0, -2, 0, 0, 394, + 417, 417, 417, 0, 382, 0, 142, 0, 0, 0, + 0, 148, 0, 0, 0, 80, 370, 0, 0, 0, + 0, 204, 0, -2, 416, 169, 0, -2, 433, 419, + 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, + 346, 350, 0, 0, 0, 0, 0, 0, 0, 386, + 0, 360, 388, 0, 363, 0, 171, 172, 426, 411, + 431, 0, 0, -2, 0, 0, 0, 0, 0, 0, + 0, 0, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 0, 0, 435, 0, -2, 0, 0, 395, 82, 0, 0, 0, 0, 79, 80, 0, 0, 0, 115, 0, 99, 100, 112, 117, 0, 120, 0, 0, - 0, 0, 369, 0, 286, 0, 0, 417, 381, 0, - 0, 0, 232, 233, 0, 369, 235, 236, 0, 284, + 0, 0, 370, 0, 286, 0, 0, 418, 382, 0, + 0, 0, 232, 233, 0, 370, 235, 236, 0, 284, 285, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 0, 0, 152, 0, 370, - 0, 170, 175, 0, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 0, 0, 152, 369, 371, + 0, 170, 175, 369, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 310, 312, 0, 416, 0, 0, 452, - 0, 451, 455, 453, 457, 0, 0, 297, -2, 0, - 0, -2, 381, 452, -2, 331, 332, 333, 334, 0, - 351, 352, 353, 354, 355, 356, 357, 358, 416, 359, - 0, 388, 389, 464, 466, 0, 0, 362, 364, 366, - 416, 0, 0, 390, 292, 383, 384, 390, 382, 439, - 0, 0, 479, 480, 0, 482, 483, 0, 406, 0, - 0, 0, 0, 436, 377, 0, 380, 452, 0, 84, + 0, 0, 0, 310, 312, 0, 417, 0, 0, 453, + 0, 452, 456, 454, 458, 0, 0, 297, -2, 0, + 0, -2, 382, 453, -2, 331, 332, 333, 334, 0, + 351, 352, 353, 354, 355, 356, 357, 358, 417, 359, + 0, 389, 390, 465, 467, 0, 0, 362, 364, 366, + 417, 0, 0, 391, 292, 384, 385, 391, 383, 440, + 0, 0, 480, 481, 0, 483, 484, 0, 407, 0, + 0, 0, 0, 437, 378, 0, 381, 453, 0, 84, 0, 83, 91, 79, 0, 94, 0, 0, 115, 0, 96, 0, 0, 0, 115, 118, 98, 0, 0, 121, - 129, 123, 124, 125, 126, 127, 0, 0, 0, 0, + 129, 123, 124, 125, 126, 127, 0, 0, 0, 369, 0, 287, 289, 0, 136, 137, 138, 139, 0, 140, - 0, 0, 0, 141, 0, 314, 315, 316, 317, 318, + 0, 369, 0, 141, 0, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, -2, -2, -2, -2, -2, -2, -2, -2, -2, 344, 0, 0, 349, 105, 159, -2, 0, 0, - 0, 150, 151, 0, -2, 175, 179, 0, 239, 0, + 0, 150, 151, 369, 0, 175, 179, 0, 0, 369, 0, 0, 205, 0, 208, 122, 295, 0, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 433, 448, 0, 450, 0, 393, 452, - 0, -2, 452, 0, 0, -2, 0, 361, 465, 462, - 463, 0, 0, 0, 0, 419, 0, 0, 0, -2, + 0, 0, 0, 434, 449, 0, 451, 0, 394, 453, + 0, -2, 453, 0, 0, -2, 0, 361, 466, 463, + 464, 0, 0, 0, 0, 420, 0, 0, 0, -2, -2, 0, 76, 77, 69, 70, 71, 72, 73, 74, 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, @@ -1646,47 +1658,49 @@ var yyDef = [...]int{ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, -2, - -2, 291, 391, 0, 416, 0, 0, 0, 175, 105, - 484, 486, 0, 0, 405, 408, 407, 0, 225, 105, + -2, 291, 392, 0, 417, 0, 0, 0, 175, 105, + 485, 487, 0, 0, 406, 409, 408, 0, 225, 105, 227, 229, 0, 0, 81, 90, 0, 93, 95, 97, - 0, 115, 111, 0, 115, 0, 116, 0, 119, 282, - 0, 0, 0, 286, 0, 0, 231, 234, -2, 237, - 283, 0, 348, 0, 106, 0, 0, 153, -2, 0, - 210, 212, 163, 217, 218, 0, 220, 221, 222, 179, - 0, 0, 176, 265, 239, 178, 244, 0, 0, 0, - 296, 0, 426, 428, 429, 0, 0, 0, 454, 456, - 0, 0, 0, -2, 393, 386, 0, 473, 474, 0, - 476, 468, 469, 470, 0, 472, 365, 427, 378, 0, - 379, 443, 0, 0, 442, 444, 179, 0, 106, 478, - 481, 435, 0, 106, 230, 392, 92, 0, 0, 105, - 108, 113, 0, 0, 0, 132, 200, 122, 0, 0, - 288, 135, 195, 195, 0, 347, 0, 160, 0, -2, - 0, 0, 452, 147, 189, 122, 157, 0, 371, 216, - 165, 164, 219, 0, 239, 180, 173, 238, 0, 0, - 0, -2, 264, 267, 269, 270, 271, 272, 273, 274, - 265, 0, 0, 0, 0, 202, 122, 449, 0, 294, - -2, 452, 461, 467, 475, 0, 446, 440, 441, 0, - 477, 485, 226, 228, 105, 110, 0, 0, 106, 114, - 105, 128, 0, 0, 286, 0, 195, 0, 195, 371, - 144, 0, 0, -2, 452, 0, 0, 149, 0, 0, - 223, 223, 0, 213, 0, 166, 239, 265, 0, 276, - 277, 0, 369, 0, 268, 174, 245, 203, 122, 209, - 206, 293, 0, 0, 239, 0, 106, 105, 103, 107, - 0, 0, 133, 0, 191, 0, 0, 0, 0, 0, - 223, 145, 187, 122, 0, -2, 0, -2, 0, 0, - 122, 0, 0, 0, 0, 214, 265, 168, 240, 0, - 0, 0, 280, 0, 0, 242, 246, 0, 207, 460, - 471, 265, 101, 109, 0, 104, 201, 0, 0, 122, - 198, 199, 192, 193, 0, 0, 0, 0, 183, 190, - 0, 155, 0, 122, 224, 122, 0, 374, 375, 0, - 0, 167, 275, 278, 241, 0, 0, 0, 247, 0, - 249, 0, 0, 259, 0, 0, 258, 57, -2, 290, - 102, 134, 185, 122, 122, 197, 194, 122, 0, 146, - 0, 0, 158, 0, 0, 372, 0, 376, 215, 279, - 281, -2, 248, 250, 251, 252, 0, 0, 0, 0, - 196, 0, 188, 0, 156, 162, 367, 373, 0, 253, - 254, 255, 257, 260, 0, 368, 122, 223, 256, 186, - 0, 0, 154, 243, 261, 122, 0, 262, + 0, 115, 111, 0, 115, 0, 116, 0, 119, 369, + 0, 0, 0, 286, 0, 0, 231, 234, 0, 237, + 283, 0, 348, 0, 106, 0, 0, 153, 0, -2, + 179, 369, 0, 176, 239, 0, 178, 244, 0, 0, + 0, 296, 0, 427, 429, 430, 0, 0, 0, 455, + 457, 0, 0, 0, -2, 394, 387, 0, 474, 475, + 0, 477, 469, 470, 471, 0, 473, 365, 428, 379, + 0, 380, 444, 0, 0, 443, 445, 179, 0, 106, + 479, 482, 436, 0, 106, 230, 393, 92, 0, 0, + 105, 108, 113, 0, 0, 282, 0, 132, 200, 122, + 0, 0, 288, 135, 195, 195, -2, 347, 0, 160, + 0, -2, 0, 0, 453, 147, 189, 122, 157, -2, + 0, 210, 212, 163, 217, 218, 0, 220, 221, 222, + 369, 0, 180, 265, 239, 0, 0, 0, 0, 202, + 122, 450, 0, 294, -2, 453, 462, 468, 476, 0, + 447, 441, 442, 369, 478, 486, 226, 228, 105, 110, + 0, 0, 106, 114, 105, 128, 0, 0, 286, 0, + 195, 0, 195, 0, 144, 0, 0, -2, 453, 0, + 0, 149, 0, 0, 0, 372, 216, 165, 164, 219, + 0, 239, 173, 238, 0, 0, 0, -2, 264, 267, + 269, 270, 271, 272, 273, 274, 265, 245, 203, 122, + 209, 206, 293, 0, 0, 0, 0, 106, 105, 103, + 107, 0, 0, 133, 0, 191, 0, 0, 0, 0, + 0, 372, 145, 187, 122, 0, -2, 0, -2, 0, + 0, 122, 223, 223, 0, 213, 0, 166, 239, 265, + 0, 276, 369, 0, 370, 0, 268, 174, 207, 461, + 472, 239, 101, 109, 0, 104, 201, 0, 0, 122, + 198, 199, 192, 193, 0, 223, 0, 0, 183, 190, + 0, 155, 0, 0, 0, 0, 0, 214, 265, 168, + 240, 0, 277, 0, 0, 280, 0, 0, 242, 246, + 0, 265, 102, 134, 185, 122, 122, 197, 194, 0, + 0, 146, 0, 0, 158, 122, 224, 122, 0, 375, + 376, 0, 0, 167, 275, 369, 241, 0, 0, 369, + 247, 0, 249, 0, 0, 259, 0, 0, 258, 57, + -2, 290, 0, 196, 122, 188, 0, 156, 0, 0, + 373, 0, 377, 215, 278, 279, 369, 0, 248, 250, + 251, 252, 0, 0, 0, 0, 0, 122, 162, 367, + 374, 281, -2, 253, 254, 255, 257, 260, 186, 368, + 0, 0, 256, 154, 223, 0, 243, 261, 122, 0, + 262, } var yyTok1 = [...]int{ @@ -2064,607 +2078,607 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:272 + //line parser/parser.y:275 { rootnode = stmt.NewStmtList(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:276 + //line parser/parser.y:279 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:277 + //line parser/parser.y:280 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:278 + //line parser/parser.y:281 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:279 + //line parser/parser.y:282 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:280 + //line parser/parser.y:283 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:281 + //line parser/parser.y:284 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:282 + //line parser/parser.y:285 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:286 + //line parser/parser.y:289 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:287 + //line parser/parser.y:290 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:291 + //line parser/parser.y:294 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:292 + //line parser/parser.y:295 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:296 + //line parser/parser.y:299 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:297 + //line parser/parser.y:300 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:301 + //line parser/parser.y:304 { yyVAL.list = []node.Node{name.NewNamePart(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token))} } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:302 + //line parser/parser.y:305 { yyVAL.list = append(yyDollar[1].list, name.NewNamePart(yyDollar[3].token.Value).SetPosition(NewTokenPosition(yyDollar[3].token))) } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:306 + //line parser/parser.y:309 { yyVAL.node = name.NewName(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)) } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:307 + //line parser/parser.y:310 { yyVAL.node = name.NewRelative(yyDollar[3].list).SetPosition(NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:308 + //line parser/parser.y:311 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list).SetPosition(NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:312 + //line parser/parser.y:315 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:313 + //line parser/parser.y:316 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:314 + //line parser/parser.y:317 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:315 + //line parser/parser.y:318 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:316 + //line parser/parser.y:319 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:317 + //line parser/parser.y:320 { yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:318 + //line parser/parser.y:321 { yyVAL.node = stmt.NewNamespace(name.NewName(yyDollar[2].list).SetPosition(NewNodeListPosition(yyDollar[2].list)), nil).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:320 + //line parser/parser.y:323 { yyVAL.node = stmt.NewNamespace(name.NewName(yyDollar[2].list).SetPosition(NewNodeListPosition(yyDollar[2].list)), yyDollar[4].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:321 + //line parser/parser.y:324 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:322 + //line parser/parser.y:325 { yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:323 + //line parser/parser.y:326 { yyVAL.node = yyDollar[3].node.(stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:324 + //line parser/parser.y:327 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:325 + //line parser/parser.y:328 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:326 + //line parser/parser.y:329 { yyVAL.node = stmt.NewConstList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:330 + //line parser/parser.y:333 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:331 + //line parser/parser.y:334 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:336 + //line parser/parser.y:339 { name := name.NewName(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list). @@ -2672,7 +2686,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:342 + //line parser/parser.y:345 { name := name.NewName(yyDollar[2].list).SetPosition(NewNodeListPosition(yyDollar[2].list)) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list). @@ -2680,7 +2694,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:351 + //line parser/parser.y:354 { name := name.NewName(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list). @@ -2688,7 +2702,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:357 + //line parser/parser.y:360 { name := name.NewName(yyDollar[2].list).SetPosition(NewNodeListPosition(yyDollar[2].list)) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list). @@ -2696,259 +2710,259 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:371 + //line parser/parser.y:374 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:372 + //line parser/parser.y:375 { yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:377 + //line parser/parser.y:380 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:378 + //line parser/parser.y:381 { yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:382 + //line parser/parser.y:385 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:383 + //line parser/parser.y:386 { yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:387 + //line parser/parser.y:390 { yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:388 + //line parser/parser.y:391 { yyVAL.node = yyDollar[2].node.(stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:392 + //line parser/parser.y:395 { yyVAL.node = stmt.NewUse(nil, name.NewName(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)), nil).SetPosition(NewNodeListPosition(yyDollar[1].list)) } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:393 + //line parser/parser.y:396 { yyVAL.node = stmt.NewUse(nil, name.NewName(yyDollar[1].list).SetPosition(NewNodeListPosition(yyDollar[1].list)), node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:397 + //line parser/parser.y:400 { yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:398 + //line parser/parser.y:401 { yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:402 + //line parser/parser.y:405 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:403 + //line parser/parser.y:406 { yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:407 + //line parser/parser.y:410 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:408 + //line parser/parser.y:411 { yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:412 + //line parser/parser.y:415 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:413 + //line parser/parser.y:416 { yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:414 + //line parser/parser.y:417 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:415 + //line parser/parser.y:418 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:416 + //line parser/parser.y:419 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:417 + //line parser/parser.y:420 { yyVAL.node = stmt.NewHaltCompiler().SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:420 + //line parser/parser.y:423 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:421 + //line parser/parser.y:424 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:422 + //line parser/parser.y:425 { yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:424 + //line parser/parser.y:427 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:425 + //line parser/parser.y:428 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/parser.y:427 + //line parser/parser.y:430 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:428 + //line parser/parser.y:431 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:429 + //line parser/parser.y:432 { yyVAL.node = stmt.NewBreak(yyDollar[2].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:430 + //line parser/parser.y:433 { yyVAL.node = stmt.NewContinue(yyDollar[2].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:431 + //line parser/parser.y:434 { yyVAL.node = stmt.NewReturn(yyDollar[2].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:432 + //line parser/parser.y:435 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:433 + //line parser/parser.y:436 { yyVAL.node = stmt.NewStatic(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:434 + //line parser/parser.y:437 { yyVAL.node = stmt.NewEcho(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:435 + //line parser/parser.y:438 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:436 + //line parser/parser.y:439 { yyVAL.node = stmt.NewExpression(yyDollar[1].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:438 + //line parser/parser.y:441 { yyVAL.node = stmt.NewUnset(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:440 + //line parser/parser.y:443 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/parser.y:442 + //line parser/parser.y:445 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:443 + //line parser/parser.y:446 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:444 + //line parser/parser.y:447 { yyVAL.node = stmt.NewNop().SetPosition(NewTokenPosition(yyDollar[1].token)) } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:446 + //line parser/parser.y:449 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node).SetPosition(NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list)) @@ -2958,31 +2972,31 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:453 + //line parser/parser.y:456 { yyVAL.node = stmt.NewThrow(yyDollar[2].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:454 + //line parser/parser.y:457 { yyVAL.node = stmt.NewGoto(node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token))).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:455 + //line parser/parser.y:458 { yyVAL.node = stmt.NewLabel(node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token))).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:458 + //line parser/parser.y:461 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/parser.y:460 + //line parser/parser.y:463 { identifier := node.NewIdentifier(yyDollar[5].token).SetPosition(NewTokenPosition(yyDollar[5].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[5].token)) @@ -2990,361 +3004,363 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:467 + //line parser/parser.y:470 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:468 + //line parser/parser.y:471 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:472 + //line parser/parser.y:475 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:473 + //line parser/parser.y:476 { yyVAL.node = stmt.NewFinally(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:477 + //line parser/parser.y:480 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:478 + //line parser/parser.y:481 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:482 + //line parser/parser.y:485 { yyVAL.node = yyDollar[1].node } case 162: - yyDollar = yyS[yypt-10 : yypt+1] - //line parser/parser.y:487 + yyDollar = yyS[yypt-11 : yypt+1] + //line parser/parser.y:490 { name := node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[5].list, yyDollar[7].node, yyDollar[9].list). - SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) + yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str). + SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:495 + //line parser/parser.y:498 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:496 + //line parser/parser.y:499 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:500 + //line parser/parser.y:503 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:501 + //line parser/parser.y:504 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: - yyDollar = yyS[yypt-8 : yypt+1] - //line parser/parser.y:506 + yyDollar = yyS[yypt-9 : yypt+1] + //line parser/parser.y:509 { name := node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].node, yyDollar[5].list, yyDollar[7].list). - SetPosition(NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[8].token)) + yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].node, yyDollar[5].list, yyDollar[8].list, yyDollar[6].str). + SetPosition(NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token)) } case 168: - yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:512 + yyDollar = yyS[yypt-8 : yypt+1] + //line parser/parser.y:515 { name := node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[6].list). - SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str). + SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:520 + //line parser/parser.y:523 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:521 + //line parser/parser.y:524 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:525 + //line parser/parser.y:528 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:526 + //line parser/parser.y:529 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 173: - yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:530 - { - yyVAL.node = stmt.NewTrait(node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)), yyDollar[4].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) - } - case 174: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:535 + //line parser/parser.y:534 { name := node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[5].list). + yyVAL.node = stmt.NewTrait(name, yyDollar[5].list, yyDollar[3].str). SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) } + case 174: + yyDollar = yyS[yypt-7 : yypt+1] + //line parser/parser.y:543 + { + name := node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[6].list, yyDollar[4].str). + SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:543 + //line parser/parser.y:551 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:544 + //line parser/parser.y:552 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:548 + //line parser/parser.y:556 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:549 + //line parser/parser.y:557 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:553 + //line parser/parser.y:561 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:554 + //line parser/parser.y:562 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:558 + //line parser/parser.y:566 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:559 + //line parser/parser.y:567 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:560 + //line parser/parser.y:568 { yyVAL.foreachVariable = foreachVariable{expr.NewList(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)), false} } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:561 + //line parser/parser.y:569 { yyVAL.foreachVariable = foreachVariable{expr.NewShortList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)), false} } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:565 + //line parser/parser.y:573 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:566 + //line parser/parser.y:574 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:570 + //line parser/parser.y:578 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:571 + //line parser/parser.y:579 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:575 + //line parser/parser.y:583 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:576 + //line parser/parser.y:584 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:580 + //line parser/parser.y:588 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:581 + //line parser/parser.y:589 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:582 + //line parser/parser.y:590 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:583 + //line parser/parser.y:591 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:587 + //line parser/parser.y:595 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:589 + //line parser/parser.y:597 { yyVAL.list = append(yyDollar[1].list, stmt.NewCase(yyDollar[3].node, yyDollar[5].list).SetPosition(NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list))) } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:593 + //line parser/parser.y:601 { yyVAL.list = append(yyDollar[1].list, stmt.NewDefault(yyDollar[4].list).SetPosition(NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list))) } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:604 + //line parser/parser.y:612 { yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:605 + //line parser/parser.y:613 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:609 + //line parser/parser.y:617 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:611 + //line parser/parser.y:619 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node).SetPosition(NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) yyVAL.node = yyDollar[1].node.(stmt.If).AddElseIf(_elseIf).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:618 + //line parser/parser.y:626 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:620 + //line parser/parser.y:628 { _else := stmt.NewElse(yyDollar[3].node).SetPosition(NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) yyVAL.node = yyDollar[1].node.(stmt.If).SetElse(_else).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:628 + //line parser/parser.y:636 { yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmt.NewStmtList(yyDollar[6].list).SetPosition(NewNodeListPosition(yyDollar[6].list))).SetPosition(NewAltIfStartPosition(yyDollar[1].token)) } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:632 + //line parser/parser.y:640 { _elseIf := stmt.NewAltElseIf(yyDollar[4].node, stmt.NewStmtList(yyDollar[7].list).SetPosition(NewNodeListPosition(yyDollar[7].list))).SetPosition(NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list)) yyVAL.node = yyDollar[1].node.(stmt.AltIf).AddElseIf(_elseIf) } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:639 + //line parser/parser.y:647 { yyVAL.node = yyDollar[1].node.SetPosition(NewAltIfPosition(yyDollar[1].node.Position().StartLine, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:641 + //line parser/parser.y:649 { _else := stmt.NewAltElse(stmt.NewStmtList(yyDollar[4].list).SetPosition(NewNodeListPosition(yyDollar[4].list))).SetPosition(NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) yyVAL.node = yyDollar[1].node.(stmt.AltIf).SetElse(_else).SetPosition(NewAltIfPosition(yyDollar[1].node.Position().StartLine, yyDollar[6].token)) } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:648 + //line parser/parser.y:656 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:649 + //line parser/parser.y:657 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:653 + //line parser/parser.y:661 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:654 + //line parser/parser.y:662 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:659 + //line parser/parser.y:667 { identifier := node.NewIdentifier(yyDollar[4].token).SetPosition(NewTokenPosition(yyDollar[4].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[4].token)) @@ -3360,7 +3376,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:673 + //line parser/parser.y:681 { identifier := node.NewIdentifier(yyDollar[4].token).SetPosition(NewTokenPosition(yyDollar[4].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[4].token)) @@ -3376,127 +3392,127 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:689 + //line parser/parser.y:697 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:690 + //line parser/parser.y:698 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:694 + //line parser/parser.y:702 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:695 + //line parser/parser.y:703 { yyVAL.node = node.NewNullable(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:699 + //line parser/parser.y:707 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:700 + //line parser/parser.y:708 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:701 + //line parser/parser.y:709 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:705 + //line parser/parser.y:713 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:706 + //line parser/parser.y:714 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:710 + //line parser/parser.y:718 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:711 + //line parser/parser.y:719 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:715 + //line parser/parser.y:723 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:716 + //line parser/parser.y:724 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:720 + //line parser/parser.y:728 { yyVAL.node = node.NewArgument(yyDollar[1].node, false).SetPosition(NewNodePosition(yyDollar[1].node)) } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:721 + //line parser/parser.y:729 { yyVAL.node = node.NewArgument(yyDollar[2].node, true).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:725 + //line parser/parser.y:733 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:726 + //line parser/parser.y:734 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:730 + //line parser/parser.y:738 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:734 + //line parser/parser.y:742 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:735 + //line parser/parser.y:743 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:740 + //line parser/parser.y:748 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) @@ -3504,7 +3520,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:746 + //line parser/parser.y:754 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) @@ -3512,335 +3528,338 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:754 + //line parser/parser.y:762 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:755 + //line parser/parser.y:763 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:759 + //line parser/parser.y:767 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list).SetPosition(NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:760 + //line parser/parser.y:768 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list).SetPosition(NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:761 + //line parser/parser.y:769 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) } case 243: - yyDollar = yyS[yypt-9 : yypt+1] - //line parser/parser.y:763 + yyDollar = yyS[yypt-10 : yypt+1] + //line parser/parser.y:771 { - yyVAL.node = stmt.NewClassMethod(node.NewIdentifier(yyDollar[4].token).SetPosition(NewTokenPosition(yyDollar[4].token)), yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[9].nodesWithEndToken.nodes). - SetPosition(NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].nodesWithEndToken.endToken)) + name := node.NewIdentifier(yyDollar[4].token).SetPosition(NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[7].list, yyDollar[9].node, yyDollar[10].nodesWithEndToken.nodes, yyDollar[5].str). + SetPosition(NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[10].nodesWithEndToken.endToken)) } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:770 + //line parser/parser.y:779 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:771 + //line parser/parser.y:780 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:775 + //line parser/parser.y:784 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:776 + //line parser/parser.y:785 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:777 + //line parser/parser.y:786 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:781 + //line parser/parser.y:790 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:782 + //line parser/parser.y:791 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:786 + //line parser/parser.y:795 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:787 + //line parser/parser.y:796 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:792 + //line parser/parser.y:801 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, name.NewName(yyDollar[3].list).SetPosition(NewNodeListPosition(yyDollar[3].list))). SetPosition(NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:799 + //line parser/parser.y:808 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:801 + //line parser/parser.y:810 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:803 + //line parser/parser.y:812 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, node.NewIdentifier(yyDollar[4].token).SetPosition(NewTokenPosition(yyDollar[4].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:804 + //line parser/parser.y:813 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:808 + //line parser/parser.y:817 { yyVAL.node = stmt.NewTraitMethodRef(nil, node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token))).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:809 + //line parser/parser.y:818 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:813 + //line parser/parser.y:822 { yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:817 + //line parser/parser.y:826 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:818 + //line parser/parser.y:827 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:822 + //line parser/parser.y:831 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:823 + //line parser/parser.y:832 { yyVAL.list = []node.Node{node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token))} } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:827 + //line parser/parser.y:836 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:828 + //line parser/parser.y:837 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:832 + //line parser/parser.y:841 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:833 + //line parser/parser.y:842 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:837 + //line parser/parser.y:846 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:838 + //line parser/parser.y:847 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:839 + //line parser/parser.y:848 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:840 + //line parser/parser.y:849 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:841 + //line parser/parser.y:850 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:842 + //line parser/parser.y:851 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:846 + //line parser/parser.y:855 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:847 + //line parser/parser.y:856 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:852 + yyDollar = yyS[yypt-2 : yypt+1] + //line parser/parser.y:861 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewProperty(variable, nil).SetPosition(NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewProperty(variable, nil, yyDollar[2].str).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:858 + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:867 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewProperty(variable, yyDollar[3].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + yyVAL.node = stmt.NewProperty(variable, yyDollar[3].node, yyDollar[4].str).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:866 + //line parser/parser.y:875 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:867 + //line parser/parser.y:876 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:871 + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:881 { - yyVAL.node = stmt.NewConstant(node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)), yyDollar[3].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + name := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) } case 282: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:875 + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:889 { - yyVAL.node = stmt.NewConstant(node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)), yyDollar[3].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + name := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:879 + //line parser/parser.y:896 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:880 + //line parser/parser.y:897 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:884 + //line parser/parser.y:901 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:888 + //line parser/parser.y:905 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:889 + //line parser/parser.y:906 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:892 + //line parser/parser.y:909 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:893 + //line parser/parser.y:910 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: - yyDollar = yyS[yypt-7 : yypt+1] - //line parser/parser.y:898 + yyDollar = yyS[yypt-8 : yypt+1] + //line parser/parser.y:915 { if yyDollar[2].nodesWithEndToken != nil { - yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[6].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) } else { - yyVAL.node = stmt.NewClass(nil, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[6].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + yyVAL.node = stmt.NewClass(nil, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) } } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:909 + //line parser/parser.y:926 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3850,969 +3869,976 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:916 + //line parser/parser.y:933 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:921 + //line parser/parser.y:938 { list := expr.NewList(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.node = assign_op.NewAssign(list, yyDollar[6].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:926 + //line parser/parser.y:943 { shortList := expr.NewShortList(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) yyVAL.node = assign_op.NewAssign(shortList, yyDollar[5].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:930 + //line parser/parser.y:947 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:931 + //line parser/parser.y:948 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:932 + //line parser/parser.y:949 { yyVAL.node = expr.NewClone(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:933 + //line parser/parser.y:950 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:934 + //line parser/parser.y:951 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:935 + //line parser/parser.y:952 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:936 + //line parser/parser.y:953 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:937 + //line parser/parser.y:954 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:938 + //line parser/parser.y:955 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:939 + //line parser/parser.y:956 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:940 + //line parser/parser.y:957 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:941 + //line parser/parser.y:958 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:942 + //line parser/parser.y:959 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:943 + //line parser/parser.y:960 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:944 + //line parser/parser.y:961 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:945 + //line parser/parser.y:962 { yyVAL.node = expr.NewPostInc(yyDollar[1].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:946 + //line parser/parser.y:963 { yyVAL.node = expr.NewPreInc(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:947 + //line parser/parser.y:964 { yyVAL.node = expr.NewPostDec(yyDollar[1].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:948 + //line parser/parser.y:965 { yyVAL.node = expr.NewPreDec(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:949 + //line parser/parser.y:966 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:950 + //line parser/parser.y:967 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:951 + //line parser/parser.y:968 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:952 + //line parser/parser.y:969 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:953 + //line parser/parser.y:970 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:954 + //line parser/parser.y:971 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:955 + //line parser/parser.y:972 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:956 + //line parser/parser.y:973 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:957 + //line parser/parser.y:974 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:958 + //line parser/parser.y:975 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:959 + //line parser/parser.y:976 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:960 + //line parser/parser.y:977 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:961 + //line parser/parser.y:978 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:962 + //line parser/parser.y:979 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:963 + //line parser/parser.y:980 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:964 + //line parser/parser.y:981 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:965 + //line parser/parser.y:982 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:966 + //line parser/parser.y:983 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:967 + //line parser/parser.y:984 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:968 + //line parser/parser.y:985 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:969 + //line parser/parser.y:986 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:970 + //line parser/parser.y:987 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:971 + //line parser/parser.y:988 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:972 + //line parser/parser.y:989 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:973 + //line parser/parser.y:990 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:974 + //line parser/parser.y:991 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:975 + //line parser/parser.y:992 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:976 + //line parser/parser.y:993 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:977 + //line parser/parser.y:994 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:978 + //line parser/parser.y:995 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:979 + //line parser/parser.y:996 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:980 + //line parser/parser.y:997 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:981 + //line parser/parser.y:998 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:982 + //line parser/parser.y:999 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:983 + //line parser/parser.y:1000 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:984 + //line parser/parser.y:1001 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:985 + //line parser/parser.y:1002 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:986 + //line parser/parser.y:1003 { yyVAL.node = cast.NewCastInt(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:987 + //line parser/parser.y:1004 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:988 + //line parser/parser.y:1005 { yyVAL.node = cast.NewCastString(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:989 + //line parser/parser.y:1006 { yyVAL.node = cast.NewCastArray(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:990 + //line parser/parser.y:1007 { yyVAL.node = cast.NewCastObject(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:991 + //line parser/parser.y:1008 { yyVAL.node = cast.NewCastBool(yyDollar[2].node.SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))) } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:992 + //line parser/parser.y:1009 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:993 + //line parser/parser.y:1010 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:994 + //line parser/parser.y:1011 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:995 + //line parser/parser.y:1012 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:996 + //line parser/parser.y:1013 { yyVAL.node = expr.NewShellExec(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:997 + //line parser/parser.y:1014 { yyVAL.node = expr.NewPrint(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:998 + //line parser/parser.y:1015 { yyVAL.node = expr.NewYield(nil, nil).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:999 + //line parser/parser.y:1016 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1000 + //line parser/parser.y:1017 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1001 + //line parser/parser.y:1018 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } case 367: - yyDollar = yyS[yypt-10 : yypt+1] - //line parser/parser.y:1003 + yyDollar = yyS[yypt-11 : yypt+1] + //line parser/parser.y:1020 { - yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, yyDollar[7].node, yyDollar[9].list, false, yyDollar[2].boolWithToken.value). - SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str). + SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) } case 368: - yyDollar = yyS[yypt-11 : yypt+1] - //line parser/parser.y:1008 + yyDollar = yyS[yypt-12 : yypt+1] + //line parser/parser.y:1025 { - yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, true, yyDollar[3].boolWithToken.value). - SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) + yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str). + SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1015 + //line parser/parser.y:1032 + { + yyVAL.str = yylex.(*lexer).phpDocComment + yylex.(*lexer).phpDocComment = "" + } + case 370: + yyDollar = yyS[yypt-0 : yypt+1] + //line parser/parser.y:1036 { yyVAL.boolWithToken = boolWithToken{false, nil} } - case 370: + case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1016 + //line parser/parser.y:1037 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } - case 371: + case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1020 + //line parser/parser.y:1041 { yyVAL.list = []node.Node{} } - case 372: + case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1021 + //line parser/parser.y:1042 { yyVAL.list = yyDollar[3].list } - case 373: + case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1025 + //line parser/parser.y:1046 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 374: + case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1026 + //line parser/parser.y:1047 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 375: + case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1031 + //line parser/parser.y:1052 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) yyVAL.node = expr.NewClusureUse(variable, false).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 376: + case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1037 + //line parser/parser.y:1058 { identifier := node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[2].token)) yyVAL.node = expr.NewClusureUse(variable, true).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) } - case 377: + case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1045 + //line parser/parser.y:1066 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) } - case 378: - yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1047 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1051 + //line parser/parser.y:1068 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) } case 380: + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1072 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + } + case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1054 + //line parser/parser.y:1075 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) } - case 381: + case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1058 + //line parser/parser.y:1079 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 382: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1059 - { - yyVAL.node = yyDollar[1].node - } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1063 + //line parser/parser.y:1080 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1064 + //line parser/parser.y:1084 { yyVAL.node = yyDollar[1].node } case 385: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1085 + { + yyVAL.node = yyDollar[1].node + } + case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1068 + //line parser/parser.y:1089 { yyVAL.node = nil } - case 386: + case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1069 + //line parser/parser.y:1090 { yyVAL.node = yyDollar[2].node } - case 387: + case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1073 + //line parser/parser.y:1094 { yyVAL.list = []node.Node{} } - case 388: + case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1074 + //line parser/parser.y:1095 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } - case 389: + case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1075 + //line parser/parser.y:1096 { yyVAL.list = yyDollar[1].list } - case 390: + case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1079 + //line parser/parser.y:1100 { yyVAL.nodesWithEndToken = nil } - case 391: + case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1080 + //line parser/parser.y:1101 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 392: + case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1084 + //line parser/parser.y:1105 { yyVAL.node = expr.NewArray(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 393: + case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1085 + //line parser/parser.y:1106 { yyVAL.node = expr.NewShortArray(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } - case 394: + case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1086 + //line parser/parser.y:1107 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 395: + case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1090 + //line parser/parser.y:1111 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 396: + case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1091 + //line parser/parser.y:1112 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 397: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1092 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) - } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1093 + //line parser/parser.y:1113 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1094 + //line parser/parser.y:1114 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1095 + //line parser/parser.y:1115 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1096 + //line parser/parser.y:1116 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1097 + //line parser/parser.y:1117 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1098 + //line parser/parser.y:1118 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1099 + //line parser/parser.y:1119 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } case 405: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1120 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) + } + case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1101 + //line parser/parser.y:1122 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ } - case 406: + case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1103 + //line parser/parser.y:1124 { yyVAL.node = scalar.NewEncapsed(nil).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) } - case 407: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1104 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1105 + //line parser/parser.y:1125 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 409: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1106 + yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1126 { - yyVAL.node = yyDollar[1].node + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1107 + //line parser/parser.y:1127 { yyVAL.node = yyDollar[1].node } case 411: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1111 - { - yyVAL.node = expr.NewConstFetch(yyDollar[1].node).SetPosition(NewNodePosition(yyDollar[1].node)) - } - case 412: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1112 - { - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - } - case 413: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1114 - { - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - } - case 414: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1118 - { - yyVAL.node = yyDollar[1].node - } - case 415: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1119 - { - yyVAL.node = yyDollar[1].node - } - case 416: - yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1123 - { - yyVAL.node = nil - } - case 417: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1124 - { - yyVAL.node = yyDollar[1].node - } - case 418: yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1128 { yyVAL.node = yyDollar[1].node } - case 419: + case 412: yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1132 { - yyVAL.node = yyDollar[1].node + yyVAL.node = expr.NewConstFetch(yyDollar[1].node).SetPosition(NewNodePosition(yyDollar[1].node)) } - case 420: + case 413: yyDollar = yyS[yypt-3 : yypt+1] //line parser/parser.y:1133 { - yyVAL.node = yyDollar[2].node + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } - case 421: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1134 - { - yyVAL.node = yyDollar[1].node - } - case 422: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1138 - { - yyVAL.node = yyDollar[1].node - } - case 423: + case 414: yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1135 + { + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + } + case 415: + yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1139 { - yyVAL.node = yyDollar[2].node + yyVAL.node = yyDollar[1].node } - case 424: + case 416: yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1140 { yyVAL.node = yyDollar[1].node } - case 425: - yyDollar = yyS[yypt-1 : yypt+1] + case 417: + yyDollar = yyS[yypt-0 : yypt+1] //line parser/parser.y:1144 { - yyVAL.node = yyDollar[1].node + yyVAL.node = nil } - case 426: - yyDollar = yyS[yypt-4 : yypt+1] + case 418: + yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1145 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + yyVAL.node = yyDollar[1].node } - case 427: - yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1146 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - } - case 428: - yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1147 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - } - case 429: - yyDollar = yyS[yypt-4 : yypt+1] + case 419: + yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1149 { - yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + yyVAL.node = yyDollar[1].node } - case 430: + case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1150 + //line parser/parser.y:1153 { yyVAL.node = yyDollar[1].node } - case 431: - yyDollar = yyS[yypt-1 : yypt+1] + case 421: + yyDollar = yyS[yypt-3 : yypt+1] //line parser/parser.y:1154 { - yyVAL.node = yyDollar[1].node + yyVAL.node = yyDollar[2].node } - case 432: + case 422: yyDollar = yyS[yypt-1 : yypt+1] //line parser/parser.y:1155 { yyVAL.node = yyDollar[1].node } - case 433: + case 423: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1159 + { + yyVAL.node = yyDollar[1].node + } + case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1156 + //line parser/parser.y:1160 + { + yyVAL.node = yyDollar[2].node + } + case 425: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1161 + { + yyVAL.node = yyDollar[1].node + } + case 426: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1165 + { + yyVAL.node = yyDollar[1].node + } + case 427: + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1166 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + } + case 428: + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1167 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + } + case 429: + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1168 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + } + case 430: + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1170 + { + yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + } + case 431: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1171 + { + yyVAL.node = yyDollar[1].node + } + case 432: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1175 + { + yyVAL.node = yyDollar[1].node + } + case 433: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1176 + { + yyVAL.node = yyDollar[1].node + } + case 434: + yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1177 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } - case 434: + case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1160 + //line parser/parser.y:1181 { yyVAL.node = expr.NewVariable(node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token))).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 435: + case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1161 + //line parser/parser.y:1182 { yyVAL.node = expr.NewVariable(yyDollar[3].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 436: + case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1162 + //line parser/parser.y:1183 { yyVAL.node = expr.NewVariable(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 437: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1167 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1171 + //line parser/parser.y:1188 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 439: + yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1192 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + } + case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1177 + //line parser/parser.y:1198 { yyVAL.node = yyDollar[1].node } - case 440: - yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1178 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1179 + //line parser/parser.y:1199 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) } case 442: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1180 + yyDollar = yyS[yypt-4 : yypt+1] + //line parser/parser.y:1200 { - yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1182 + //line parser/parser.y:1201 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1186 + //line parser/parser.y:1203 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } case 445: + yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1207 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + } + case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1192 + //line parser/parser.y:1213 { yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 446: + case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1193 + //line parser/parser.y:1214 { yyVAL.node = yyDollar[2].node } - case 447: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1194 - { - yyVAL.node = yyDollar[1].node - } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1198 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) - } - case 449: - yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1199 - { - yyVAL.node = yyDollar[2].node - } - case 450: - yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1200 + //line parser/parser.y:1215 { yyVAL.node = yyDollar[1].node } + case 449: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1219 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) + } + case 450: + yyDollar = yyS[yypt-3 : yypt+1] + //line parser/parser.y:1220 + { + yyVAL.node = yyDollar[2].node + } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1205 + //line parser/parser.y:1221 + { + yyVAL.node = yyDollar[1].node + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] + //line parser/parser.y:1226 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -4820,154 +4846,154 @@ yydefault: yyVAL.list = yyDollar[1].list } } - case 452: + case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/parser.y:1215 + //line parser/parser.y:1236 { yyVAL.node = nil } - case 453: + case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1216 + //line parser/parser.y:1237 { yyVAL.node = yyDollar[1].node } - case 454: + case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1221 + //line parser/parser.y:1242 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 455: + case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1222 + //line parser/parser.y:1243 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 456: + case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1226 + //line parser/parser.y:1247 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) } - case 457: + case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1227 + //line parser/parser.y:1248 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false).SetPosition(NewNodePosition(yyDollar[1].node)) } - case 458: + case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1228 + //line parser/parser.y:1249 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true).SetPosition(NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) } - case 459: + case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1229 + //line parser/parser.y:1250 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 460: + case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:1231 + //line parser/parser.y:1252 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list).SetPosition(NewTokensPosition(yyDollar[3].token, yyDollar[6].token)) yyVAL.node = expr.NewArrayItem(yyDollar[1].node, list, false). SetPosition(NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) } - case 461: + case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1238 + //line parser/parser.y:1259 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.node = expr.NewArrayItem(nil, list, false). SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 462: + case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1247 + //line parser/parser.y:1268 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 463: + case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1248 + //line parser/parser.y:1269 { yyVAL.list = append(yyDollar[1].list, scalar.NewEncapsedStringPart(yyDollar[2].token.Value).SetPosition(NewTokenPosition(yyDollar[2].token))) } - case 464: + case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1249 + //line parser/parser.y:1270 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 465: + case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1250 + //line parser/parser.y:1271 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)), yyDollar[2].node} } - case 466: + case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1254 + //line parser/parser.y:1275 { yyVAL.node = expr.NewVariable(node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token))).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 467: + case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1256 + //line parser/parser.y:1277 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[3].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 468: + case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1262 + //line parser/parser.y:1283 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) yyVAL.node = expr.NewPropertyFetch(variable, node.NewIdentifier(yyDollar[3].token).SetPosition(NewTokenPosition(yyDollar[3].token))). SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } - case 469: + case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1268 + //line parser/parser.y:1289 { yyVAL.node = expr.NewVariable(yyDollar[2].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } - case 470: + case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1269 + //line parser/parser.y:1290 { yyVAL.node = expr.NewVariable(node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token))).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) } - case 471: + case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/parser.y:1271 + //line parser/parser.y:1292 { identifier := node.NewIdentifier(yyDollar[2].token).SetPosition(NewTokenPosition(yyDollar[2].token)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[2].token)) yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[4].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) } - case 472: + case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1276 + //line parser/parser.y:1297 { yyVAL.node = yyDollar[2].node } - case 473: + case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1279 + //line parser/parser.y:1300 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 474: + case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1281 + //line parser/parser.y:1302 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -4976,9 +5002,9 @@ yydefault: yyVAL.node = scalar.NewString(yyDollar[1].token.Value).SetPosition(NewTokenPosition(yyDollar[1].token)) } } - case 475: + case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1290 + //line parser/parser.y:1311 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -4989,70 +5015,70 @@ yydefault: yyVAL.node = scalar.NewString(yyDollar[2].token.Value).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) } } - case 476: + case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1301 + //line parser/parser.y:1322 { identifier := node.NewIdentifier(yyDollar[1].token).SetPosition(NewTokenPosition(yyDollar[1].token)) yyVAL.node = expr.NewVariable(identifier).SetPosition(NewTokenPosition(yyDollar[1].token)) } - case 477: + case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/parser.y:1308 + //line parser/parser.y:1329 { yyVAL.node = expr.NewIsset(yyDollar[3].list).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) } - case 478: + case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1309 + //line parser/parser.y:1330 { yyVAL.node = expr.NewEmpty(yyDollar[3].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 479: + case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1310 + //line parser/parser.y:1331 { yyVAL.node = expr.NewInclude(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 480: + case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1311 + //line parser/parser.y:1332 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 481: + case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/parser.y:1312 + //line parser/parser.y:1333 { yyVAL.node = expr.NewEval(yyDollar[3].node).SetPosition(NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 482: + case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1313 + //line parser/parser.y:1334 { yyVAL.node = expr.NewRequire(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 483: + case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/parser.y:1314 + //line parser/parser.y:1335 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node).SetPosition(NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } - case 484: + case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1318 + //line parser/parser.y:1339 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 485: + case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/parser.y:1319 + //line parser/parser.y:1340 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 486: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/parser.y:1323 + //line parser/parser.y:1344 { yyVAL.node = yyDollar[1].node } diff --git a/parser/parser.y b/parser/parser.y index e98cbd1..62436be 100644 --- a/parser/parser.y +++ b/parser/parser.y @@ -50,6 +50,7 @@ type boolWithToken struct { list []node.Node foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken + str string } %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE @@ -264,6 +265,8 @@ type boolWithToken struct { %type interface_extends_list implements_list method_modifiers variable_modifiers %type non_empty_member_modifiers name_list class_modifiers +%type backup_doc_comment + %% ///////////////////////////////////////////////////////////////////////// @@ -483,11 +486,11 @@ unset_variable: ; function_declaration_statement: - T_FUNCTION returns_ref T_STRING '(' parameter_list ')' return_type '{' inner_statement_list '}' + T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' { name := node.NewIdentifier($3).SetPosition(NewTokenPosition($3)) - $$ = stmt.NewFunction(name, $2.value, $5, $7, $9). - SetPosition(NewTokensPosition($1, $10)) + $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4). + SetPosition(NewTokensPosition($1, $11)) } ; @@ -502,17 +505,17 @@ is_variadic: ; class_declaration_statement: - class_modifiers T_CLASS T_STRING extends_from implements_list '{' class_statement_list '}' + class_modifiers T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { name := node.NewIdentifier($3).SetPosition(NewTokenPosition($3)) - $$ = stmt.NewClass(name, $1, nil, $4, $5, $7). - SetPosition(NewOptionalListTokensPosition($1, $2, $8)) + $$ = stmt.NewClass(name, $1, nil, $4, $5, $8, $6). + SetPosition(NewOptionalListTokensPosition($1, $2, $9)) } - | T_CLASS T_STRING extends_from implements_list '{' class_statement_list '}' + | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { name := node.NewIdentifier($2).SetPosition(NewTokenPosition($2)) - $$ = stmt.NewClass(name, nil, nil, $3, $4, $6). - SetPosition(NewTokensPosition($1, $7)) + $$ = stmt.NewClass(name, nil, nil, $3, $4, $7, $5). + SetPosition(NewTokensPosition($1, $8)) } ; @@ -527,15 +530,20 @@ class_modifier: ; trait_declaration_statement: - T_TRAIT T_STRING '{' class_statement_list '}' { $$ = stmt.NewTrait(node.NewIdentifier($2).SetPosition(NewTokenPosition($2)), $4).SetPosition(NewTokensPosition($1, $5)) } + T_TRAIT T_STRING backup_doc_comment '{' class_statement_list '}' + { + name := node.NewIdentifier($2).SetPosition(NewTokenPosition($2)) + $$ = stmt.NewTrait(name, $5, $3). + SetPosition(NewTokensPosition($1, $6)) + } ; interface_declaration_statement: - T_INTERFACE T_STRING interface_extends_list '{' class_statement_list '}' + T_INTERFACE T_STRING interface_extends_list backup_doc_comment '{' class_statement_list '}' { name := node.NewIdentifier($2).SetPosition(NewTokenPosition($2)) - $$ = stmt.NewInterface(name, $3, $5). - SetPosition(NewTokensPosition($1, $6)) + $$ = stmt.NewInterface(name, $3, $6, $4). + SetPosition(NewTokensPosition($1, $7)) } ; @@ -759,10 +767,11 @@ class_statement: variable_modifiers property_list ';' { $$ = stmt.NewPropertyList($1, $2).SetPosition(NewNodeListTokenPosition($1, $3)) } | method_modifiers T_CONST class_const_list ';' { $$ = stmt.NewClassConstList($1, $3).SetPosition(NewOptionalListTokensPosition($1, $2, $4)) } | T_USE name_list trait_adaptations { $$ = stmt.NewTraitUse($2, $3.nodes).SetPosition(NewTokensPosition($1, $3.endToken)) } - | method_modifiers T_FUNCTION returns_ref identifier '(' parameter_list ')' return_type method_body + | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body { - $$ = stmt.NewClassMethod(node.NewIdentifier($4).SetPosition(NewTokenPosition($4)), $1, $3.value, $6, $8, $9.nodes). - SetPosition(NewOptionalListTokensPosition($1, $2, $9.endToken)) + name := node.NewIdentifier($4).SetPosition(NewTokenPosition($4)) + $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10.nodes, $5). + SetPosition(NewOptionalListTokensPosition($1, $2, $10.endToken)) } ; @@ -848,17 +857,17 @@ property_list: ; property: - T_VARIABLE + T_VARIABLE backup_doc_comment { identifier := node.NewIdentifier($1).SetPosition(NewTokenPosition($1)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, nil).SetPosition(NewTokenPosition($1)) + $$ = stmt.NewProperty(variable, nil, $2).SetPosition(NewTokenPosition($1)) } - | T_VARIABLE '=' expr + | T_VARIABLE '=' expr backup_doc_comment { identifier := node.NewIdentifier($1).SetPosition(NewTokenPosition($1)) variable := expr.NewVariable(identifier).SetPosition(NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, $3).SetPosition(NewTokenNodePosition($1, $3)) + $$ = stmt.NewProperty(variable, $3, $4).SetPosition(NewTokenNodePosition($1, $3)) } ; @@ -868,11 +877,19 @@ class_const_list: ; class_const_decl: - identifier '=' expr { $$ = stmt.NewConstant(node.NewIdentifier($1).SetPosition(NewTokenPosition($1)), $3).SetPosition(NewTokenNodePosition($1, $3)) } + identifier '=' expr backup_doc_comment + { + name := node.NewIdentifier($1).SetPosition(NewTokenPosition($1)) + $$ = stmt.NewConstant(name, $3, $4).SetPosition(NewTokenNodePosition($1, $3)) + } ; const_decl: - T_STRING '=' expr { $$ = stmt.NewConstant(node.NewIdentifier($1).SetPosition(NewTokenPosition($1)), $3).SetPosition(NewTokenNodePosition($1, $3)) } + T_STRING '=' expr backup_doc_comment + { + name := node.NewIdentifier($1).SetPosition(NewTokenPosition($1)) + $$ = stmt.NewConstant(name, $3, $4).SetPosition(NewTokenNodePosition($1, $3)) + } ; echo_expr_list: @@ -894,12 +911,12 @@ non_empty_for_exprs: ; anonymous_class: - T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' + T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' { if $2 != nil { - $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $6).SetPosition(NewTokensPosition($1, $7)) + $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $7, $5).SetPosition(NewTokensPosition($1, $8)) } else { - $$ = stmt.NewClass(nil, nil, nil, $3, $4, $6).SetPosition(NewTokensPosition($1, $7)) + $$ = stmt.NewClass(nil, nil, nil, $3, $4, $7, $5).SetPosition(NewTokensPosition($1, $8)) } } ; @@ -999,16 +1016,20 @@ expr_without_variable: | T_YIELD expr { $$ = expr.NewYield(nil, $2).SetPosition(NewTokenNodePosition($1, $2)) } | T_YIELD expr T_DOUBLE_ARROW expr { $$ = expr.NewYield($2, $4).SetPosition(NewTokenNodePosition($1, $4)) } | T_YIELD_FROM expr { $$ = expr.NewYieldFrom($2).SetPosition(NewTokenNodePosition($1, $2)) } - | T_FUNCTION returns_ref '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' + | T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' { - $$ = expr.NewClosure($4, $6, $7, $9, false, $2.value). - SetPosition(NewTokensPosition($1, $10)) - } - | T_STATIC T_FUNCTION returns_ref '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' - { - $$ = expr.NewClosure($5, $7, $8, $10, true, $3.value). + $$ = expr.NewClosure($5, $7, $8, $10, false, $2.value, $3). SetPosition(NewTokensPosition($1, $11)) } + | T_STATIC T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' + { + $$ = expr.NewClosure($6, $8, $9, $11, true, $3.value, $4). + SetPosition(NewTokensPosition($1, $12)) + } +; + +backup_doc_comment: + /* empty */ { $$ = yylex.(*lexer).phpDocComment; yylex.(*lexer).phpDocComment = "" } ; returns_ref: diff --git a/parser/scanner.go b/parser/scanner.go index 5063268..f8b8827 100644 --- a/parser/scanner.go +++ b/parser/scanner.go @@ -46,23 +46,23 @@ yystate0: case 1: // start condition: PHP goto yystart13 case 2: // start condition: STRING - goto yystart543 + goto yystart533 case 3: // start condition: STRING_VAR - goto yystart550 + goto yystart540 case 4: // start condition: STRING_VAR_INDEX - goto yystart560 + goto yystart550 case 5: // start condition: STRING_VAR_NAME - goto yystart577 + goto yystart567 case 6: // start condition: PROPERTY - goto yystart582 + goto yystart572 case 7: // start condition: HEREDOC_END - goto yystart590 + goto yystart580 case 8: // start condition: NOWDOC - goto yystart593 + goto yystart583 case 9: // start condition: HEREDOC - goto yystart595 + goto yystart585 case 10: // start condition: BACKQUOTE - goto yystart599 + goto yystart589 } goto yystate0 // silence unused label error @@ -397,8 +397,6 @@ yyAction: goto yyrule163 case 164: goto yyrule164 - case 165: - goto yyrule165 } goto yystate1 // silence unused label error yystate1: @@ -555,81 +553,81 @@ yystart13: case c == '/': goto yystate110 case c == '0': - goto yystate124 + goto yystate114 case c == ':': - goto yystate130 + goto yystate120 case c == '<': - goto yystate132 + goto yystate122 case c == '=': - goto yystate147 + goto yystate137 case c == '>': - goto yystate151 + goto yystate141 case c == '?': - goto yystate155 + goto yystate145 case c == 'A' || c == 'a': - goto yystate160 + goto yystate150 case c == 'B': - goto yystate176 + goto yystate166 case c == 'C' || c == 'c': - goto yystate181 + goto yystate171 case c == 'D' || c == 'd': - goto yystate218 + goto yystate208 case c == 'E' || c == 'e': - goto yystate233 + goto yystate223 case c == 'F' || c == 'f': - goto yystate285 + goto yystate275 case c == 'G' || c == 'g': - goto yystate298 + goto yystate288 case c == 'H' || c == 'J' || c == 'K' || c == 'M' || c == 'Q' || c == 'Z' || c == 'h' || c == 'j' || c == 'k' || c == 'm' || c == 'q' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 case c == 'I' || c == 'i': - goto yystate307 + goto yystate297 case c == 'L' || c == 'l': - goto yystate353 + goto yystate343 case c == 'N' || c == 'n': - goto yystate357 + goto yystate347 case c == 'O' || c == 'o': - goto yystate368 + goto yystate358 case c == 'P' || c == 'p': - goto yystate370 + goto yystate360 case c == 'R' || c == 'r': - goto yystate391 + goto yystate381 case c == 'S' || c == 's': - goto yystate407 + goto yystate397 case c == 'T' || c == 't': - goto yystate418 + goto yystate408 case c == 'U' || c == 'u': - goto yystate428 + goto yystate418 case c == 'V' || c == 'v': - goto yystate435 + goto yystate425 case c == 'W' || c == 'w': - goto yystate438 + goto yystate428 case c == 'X' || c == 'x': - goto yystate443 + goto yystate433 case c == 'Y' || c == 'y': - goto yystate446 + goto yystate436 case c == '\'': goto yystate29 case c == '\\': - goto yystate457 + goto yystate447 case c == '\t' || c == '\n' || c == '\r' || c == ' ': goto yystate14 case c == '^': - goto yystate458 + goto yystate448 case c == '_': - goto yystate460 + goto yystate450 case c == '`': - goto yystate534 + goto yystate524 case c == 'b': - goto yystate535 + goto yystate525 case c == '{': - goto yystate538 + goto yystate528 case c == '|': - goto yystate539 + goto yystate529 case c == '}': - goto yystate542 + goto yystate532 case c >= '1' && c <= '9': - goto yystate125 + goto yystate115 } yystate14: @@ -645,11 +643,11 @@ yystate14: yystate15: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': goto yystate16 } @@ -673,9 +671,9 @@ yystate17: yystate18: c = l.Next() - yyrule = 144 + yyrule = 143 l.Mark() - goto yyrule144 + goto yyrule143 yystate19: c = l.Next() @@ -713,33 +711,33 @@ yystate21: yystate22: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate23 } yystate23: c = l.Next() - yyrule = 131 + yyrule = 130 l.Mark() switch { default: - goto yyrule131 + goto yyrule130 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate23 } yystate24: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': goto yystate25 } @@ -752,11 +750,11 @@ yystate25: yystate26: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '&': goto yystate27 case c == '=': @@ -790,9 +788,9 @@ yystate29: yystate30: c = l.Next() - yyrule = 138 + yyrule = 137 l.Mark() - goto yyrule138 + goto yyrule137 yystate31: c = l.Next() @@ -805,11 +803,11 @@ yystate31: yystate32: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == 'A' || c == 'a': goto yystate34 case c == 'B' || c == 'b': @@ -1366,17 +1364,17 @@ yystate89: yystate90: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() - goto yyrule128 + goto yyrule127 yystate91: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '*': goto yystate92 case c == '=': @@ -1408,11 +1406,11 @@ yystate94: yystate95: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '+': goto yystate96 case c == '=': @@ -1433,11 +1431,11 @@ yystate97: yystate98: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '-': goto yystate99 case c == '=': @@ -1460,17 +1458,17 @@ yystate100: yystate101: c = l.Next() - yyrule = 133 + yyrule = 132 l.Mark() - goto yyrule133 + goto yyrule132 yystate102: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '.': goto yystate103 case c == '=': @@ -1546,104 +1544,20 @@ yystate109: yystate110: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '*': goto yystate111 case c == '/': goto yystate19 case c == '=': - goto yystate123 + goto yystate113 } yystate111: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate115 - case c >= '\x01' && c <= ')' || c >= '+' && c <= 'ÿ': - goto yystate112 - } - -yystate112: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate113 - case c >= '\x01' && c <= ')' || c >= '+' && c <= 'ÿ': - goto yystate112 - } - -yystate113: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate113 - case c == '/': - goto yystate114 - case c >= '\x01' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= 'ÿ': - goto yystate112 - } - -yystate114: - c = l.Next() - yyrule = 126 - l.Mark() - goto yyrule126 - -yystate115: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate117 - case c == '/': - goto yystate119 - case c >= '\x01' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= 'ÿ': - goto yystate116 - } - -yystate116: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate117 - case c >= '\x01' && c <= ')' || c >= '+' && c <= 'ÿ': - goto yystate116 - } - -yystate117: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate117 - case c == '/': - goto yystate118 - case c >= '\x01' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= 'ÿ': - goto yystate116 - } - -yystate118: - c = l.Next() - yyrule = 126 - l.Mark() - goto yyrule126 - -yystate119: c = l.Next() yyrule = 126 l.Mark() @@ -1651,48 +1565,22 @@ yystate119: default: goto yyrule126 case c == '*': - goto yystate121 - case c >= '\x01' && c <= ')' || c >= '+' && c <= 'ÿ': - goto yystate120 + goto yystate112 } -yystate120: +yystate112: c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate121 - case c >= '\x01' && c <= ')' || c >= '+' && c <= 'ÿ': - goto yystate120 - } - -yystate121: - c = l.Next() - switch { - default: - goto yyabort - case c == '*': - goto yystate121 - case c == '/': - goto yystate122 - case c >= '\x01' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= 'ÿ': - goto yystate120 - } - -yystate122: - c = l.Next() - yyrule = 127 + yyrule = 126 l.Mark() - goto yyrule127 + goto yyrule126 -yystate123: +yystate113: c = l.Next() yyrule = 104 l.Mark() goto yyrule104 -yystate124: +yystate114: c = l.Next() yyrule = 10 l.Mark() @@ -1702,16 +1590,16 @@ yystate124: case c == '.': goto yystate105 case c == 'B' || c == 'b': - goto yystate126 + goto yystate116 case c == 'E' || c == 'e': goto yystate106 case c == 'X' || c == 'x': - goto yystate128 + goto yystate118 case c >= '0' && c <= '9': - goto yystate125 + goto yystate115 } -yystate125: +yystate115: c = l.Next() yyrule = 10 l.Mark() @@ -1723,19 +1611,19 @@ yystate125: case c == 'E' || c == 'e': goto yystate106 case c >= '0' && c <= '9': - goto yystate125 + goto yystate115 } -yystate126: +yystate116: c = l.Next() switch { default: goto yyabort case c == '0' || c == '1': - goto yystate127 + goto yystate117 } -yystate127: +yystate117: c = l.Next() yyrule = 9 l.Mark() @@ -1743,19 +1631,19 @@ yystate127: default: goto yyrule9 case c == '0' || c == '1': - goto yystate127 + goto yystate117 } -yystate128: +yystate118: c = l.Next() switch { default: goto yyabort case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate129 + goto yystate119 } -yystate129: +yystate119: c = l.Next() yyrule = 11 l.Mark() @@ -1763,42 +1651,42 @@ yystate129: default: goto yyrule11 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate129 + goto yystate119 } -yystate130: +yystate120: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == ':': - goto yystate131 + goto yystate121 } -yystate131: +yystate121: c = l.Next() yyrule = 96 l.Mark() goto yyrule96 -yystate132: +yystate122: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '<': - goto yystate133 + goto yystate123 case c == '=': - goto yystate144 + goto yystate134 case c == '>': - goto yystate146 + goto yystate136 } -yystate133: +yystate123: c = l.Next() yyrule = 122 l.Mark() @@ -1806,114 +1694,114 @@ yystate133: default: goto yyrule122 case c == '<': - goto yystate134 + goto yystate124 case c == '=': - goto yystate143 + goto yystate133 } -yystate134: +yystate124: c = l.Next() switch { default: goto yyabort case c == '"': - goto yystate135 + goto yystate125 case c == '\'': - goto yystate140 + goto yystate130 case c == '\t' || c == ' ': - goto yystate134 + goto yystate124 case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate142 + goto yystate132 } -yystate135: +yystate125: c = l.Next() switch { default: goto yyabort case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate136 + goto yystate126 } -yystate136: +yystate126: c = l.Next() switch { default: goto yyabort case c == '"': - goto yystate137 + goto yystate127 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate136 + goto yystate126 } -yystate137: +yystate127: c = l.Next() switch { default: goto yyabort case c == '\n': - goto yystate138 + goto yystate128 case c == '\r': - goto yystate139 + goto yystate129 } -yystate138: +yystate128: c = l.Next() - yyrule = 141 + yyrule = 140 l.Mark() - goto yyrule141 + goto yyrule140 -yystate139: +yystate129: c = l.Next() - yyrule = 141 + yyrule = 140 l.Mark() switch { default: - goto yyrule141 + goto yyrule140 case c == '\n': - goto yystate138 + goto yystate128 } -yystate140: +yystate130: c = l.Next() switch { default: goto yyabort case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate141 + goto yystate131 } -yystate141: +yystate131: c = l.Next() switch { default: goto yyabort case c == '\'': - goto yystate137 + goto yystate127 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate141 + goto yystate131 } -yystate142: +yystate132: c = l.Next() switch { default: goto yyabort case c == '\n': - goto yystate138 + goto yystate128 case c == '\r': - goto yystate139 + goto yystate129 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate142 + goto yystate132 } -yystate143: +yystate133: c = l.Next() yyrule = 117 l.Mark() goto yyrule117 -yystate144: +yystate134: c = l.Next() yyrule = 120 l.Mark() @@ -1921,35 +1809,35 @@ yystate144: default: goto yyrule120 case c == '>': - goto yystate145 + goto yystate135 } -yystate145: +yystate135: c = l.Next() yyrule = 112 l.Mark() goto yyrule112 -yystate146: +yystate136: c = l.Next() yyrule = 113 l.Mark() goto yyrule113 -yystate147: +yystate137: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': - goto yystate148 + goto yystate138 case c == '>': - goto yystate150 + goto yystate140 } -yystate148: +yystate138: c = l.Next() yyrule = 115 l.Mark() @@ -1957,41 +1845,41 @@ yystate148: default: goto yyrule115 case c == '=': - goto yystate149 + goto yystate139 } -yystate149: +yystate139: c = l.Next() yyrule = 116 l.Mark() goto yyrule116 -yystate150: +yystate140: c = l.Next() yyrule = 111 l.Mark() goto yyrule111 -yystate151: +yystate141: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': - goto yystate152 + goto yystate142 case c == '>': - goto yystate153 + goto yystate143 } -yystate152: +yystate142: c = l.Next() yyrule = 119 l.Mark() goto yyrule119 -yystate153: +yystate143: c = l.Next() yyrule = 123 l.Mark() @@ -1999,29 +1887,29 @@ yystate153: default: goto yyrule123 case c == '=': - goto yystate154 + goto yystate144 } -yystate154: +yystate144: c = l.Next() yyrule = 118 l.Mark() goto yyrule118 -yystate155: +yystate145: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '>': - goto yystate156 + goto yystate146 case c == '?': - goto yystate159 + goto yystate149 } -yystate156: +yystate146: c = l.Next() yyrule = 7 l.Mark() @@ -2029,18 +1917,18 @@ yystate156: default: goto yyrule7 case c == '\n': - goto yystate157 + goto yystate147 case c == '\r': - goto yystate158 + goto yystate148 } -yystate157: +yystate147: c = l.Next() yyrule = 7 l.Mark() goto yyrule7 -yystate158: +yystate148: c = l.Next() yyrule = 7 l.Mark() @@ -2048,124 +1936,124 @@ yystate158: default: goto yyrule7 case c == '\n': - goto yystate157 + goto yystate147 } -yystate159: +yystate149: c = l.Next() yyrule = 124 l.Mark() goto yyrule124 -yystate160: +yystate150: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'B' || c == 'b': - goto yystate162 + goto yystate152 case c == 'N' || c == 'n': - goto yystate169 + goto yystate159 case c == 'R' || c == 'r': - goto yystate171 + goto yystate161 case c == 'S' || c == 's': - goto yystate175 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'M' || c >= 'O' && c <= 'Q' || c >= 'T' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'm' || c >= 'o' && c <= 'q' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate161: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate162: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'S' || c == 's': - goto yystate163 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate163: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'T' || c == 't': - goto yystate164 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate164: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'R' || c == 'r': goto yystate165 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'M' || c >= 'O' && c <= 'Q' || c >= 'T' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'm' || c >= 'o' && c <= 'q' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate165: +yystate151: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 - case c == 'A' || c == 'a': - goto yystate166 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yyrule131 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate166: +yystate152: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 - case c == 'C' || c == 'c': - goto yystate167 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yyrule131 + case c == 'S' || c == 's': + goto yystate153 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate167: +yystate153: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate168 + goto yystate154 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate168: +yystate154: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'R' || c == 'r': + goto yystate155 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate155: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate156 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate156: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'C' || c == 'c': + goto yystate157 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate157: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'T' || c == 't': + goto yystate158 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate158: c = l.Next() yyrule = 12 l.Mark() @@ -2173,23 +2061,23 @@ yystate168: default: goto yyrule12 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate169: +yystate159: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate170 + goto yystate160 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate170: +yystate160: c = l.Next() yyrule = 91 l.Mark() @@ -2197,49 +2085,49 @@ yystate170: default: goto yyrule91 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate171: +yystate161: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate172 + goto yystate162 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate172: +yystate162: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate173 + goto yystate163 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate173: +yystate163: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'Y' || c == 'y': - goto yystate174 + goto yystate164 case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate174: +yystate164: c = l.Next() yyrule = 13 l.Mark() @@ -2247,10 +2135,10 @@ yystate174: default: goto yyrule13 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate175: +yystate165: c = l.Next() yyrule = 14 l.Mark() @@ -2258,62 +2146,62 @@ yystate175: default: goto yyrule14 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate176: +yystate166: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate177 + goto yystate167 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate177: +yystate167: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate178 + goto yystate168 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate178: +yystate168: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate179 + goto yystate169 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate179: +yystate169: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'K' || c == 'k': - goto yystate180 + goto yystate170 case c >= '0' && c <= '9' || c >= 'A' && c <= 'J' || c >= 'L' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'j' || c >= 'l' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate180: +yystate170: c = l.Next() yyrule = 15 l.Mark() @@ -2321,111 +2209,111 @@ yystate180: default: goto yyrule15 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate181: +yystate171: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate182 + goto yystate172 case c == 'F' || c == 'f': - goto yystate194 - case c == 'L' || c == 'l': - goto yystate202 - case c == 'O' || c == 'o': - goto yystate209 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'E' || c >= 'G' && c <= 'K' || c == 'M' || c == 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'e' || c >= 'g' && c <= 'k' || c == 'm' || c == 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate182: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': - goto yystate183 - case c == 'S' || c == 's': - goto yystate189 - case c == 'T' || c == 't': - goto yystate191 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate183: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': goto yystate184 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate184: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': - goto yystate185 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate185: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'B' || c == 'b': - goto yystate186 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate186: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 case c == 'L' || c == 'l': - goto yystate187 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate192 + case c == 'O' || c == 'o': + goto yystate199 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'E' || c >= 'G' && c <= 'K' || c == 'M' || c == 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'e' || c >= 'g' && c <= 'k' || c == 'm' || c == 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate187: +yystate172: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 - case c == 'E' || c == 'e': - goto yystate188 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate173 + case c == 'S' || c == 's': + goto yystate179 + case c == 'T' || c == 't': + goto yystate181 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate188: +yystate173: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate174 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate174: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate175 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate175: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'B' || c == 'b': + goto yystate176 + case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate176: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate177 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate177: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'E' || c == 'e': + goto yystate178 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate178: c = l.Next() yyrule = 16 l.Mark() @@ -2433,23 +2321,23 @@ yystate188: default: goto yyrule16 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate189: +yystate179: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate190 + goto yystate180 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate190: +yystate180: c = l.Next() yyrule = 17 l.Mark() @@ -2457,36 +2345,36 @@ yystate190: default: goto yyrule17 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate191: +yystate181: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate192 + goto yystate182 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate192: +yystate182: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate193 + goto yystate183 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate193: +yystate183: c = l.Next() yyrule = 18 l.Mark() @@ -2494,101 +2382,101 @@ yystate193: default: goto yyrule18 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate194: +yystate184: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate195 + goto yystate185 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate195: +yystate185: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate196 + goto yystate186 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate196: +yystate186: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate197 + goto yystate187 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate197: +yystate187: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate198 + goto yystate188 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate198: +yystate188: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate199 + goto yystate189 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate199: +yystate189: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate200 + goto yystate190 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate200: +yystate190: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate201 + goto yystate191 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate201: +yystate191: c = l.Next() yyrule = 43 l.Mark() @@ -2596,51 +2484,51 @@ yystate201: default: goto yyrule43 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate202: +yystate192: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate203 + goto yystate193 case c == 'O' || c == 'o': - goto yystate206 + goto yystate196 case c >= '0' && c <= '9' || c >= 'B' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate203: +yystate193: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate204 + goto yystate194 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate204: +yystate194: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate205 + goto yystate195 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate205: +yystate195: c = l.Next() yyrule = 19 l.Mark() @@ -2648,36 +2536,36 @@ yystate205: default: goto yyrule19 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate206: +yystate196: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate207 + goto yystate197 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate207: +yystate197: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate208 + goto yystate198 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate208: +yystate198: c = l.Next() yyrule = 20 l.Mark() @@ -2685,51 +2573,51 @@ yystate208: default: goto yyrule20 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate209: +yystate199: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate210 + goto yystate200 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate210: +yystate200: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate211 + goto yystate201 case c == 'T' || c == 't': - goto yystate213 + goto yystate203 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate211: +yystate201: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate212 + goto yystate202 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate212: +yystate202: c = l.Next() yyrule = 21 l.Mark() @@ -2737,62 +2625,62 @@ yystate212: default: goto yyrule21 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate213: +yystate203: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate214 + goto yystate204 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate214: +yystate204: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate215 + goto yystate205 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate215: +yystate205: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate216 + goto yystate206 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate216: +yystate206: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate217 + goto yystate207 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate217: +yystate207: c = l.Next() yyrule = 22 l.Mark() @@ -2800,94 +2688,94 @@ yystate217: default: goto yyrule22 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate218: +yystate208: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate219 + goto yystate209 case c == 'I' || c == 'i': - goto yystate230 - case c == 'O' || c == 'o': - goto yystate232 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate219: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'C' || c == 'c': goto yystate220 - case c == 'F' || c == 'f': - goto yystate225 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'D' || c == 'E' || c >= 'G' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'd' || c == 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate220: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': - goto yystate221 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate221: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': + case c == 'O' || c == 'o': goto yystate222 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate209: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'C' || c == 'c': + goto yystate210 + case c == 'F' || c == 'f': + goto yystate215 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'D' || c == 'E' || c >= 'G' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'd' || c == 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate210: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate211 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate211: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate212 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate222: +yystate212: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate223 + goto yystate213 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate223: +yystate213: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate224 + goto yystate214 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate224: +yystate214: c = l.Next() yyrule = 23 l.Mark() @@ -2895,62 +2783,62 @@ yystate224: default: goto yyrule23 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate225: +yystate215: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate226 + goto yystate216 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate226: +yystate216: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate227 + goto yystate217 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate227: +yystate217: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate228 + goto yystate218 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate228: +yystate218: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate229 + goto yystate219 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate229: +yystate219: c = l.Next() yyrule = 24 l.Mark() @@ -2958,23 +2846,23 @@ yystate229: default: goto yyrule24 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate230: +yystate220: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate231 + goto yystate221 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate231: +yystate221: c = l.Next() yyrule = 37 l.Mark() @@ -2982,10 +2870,10 @@ yystate231: default: goto yyrule37 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate232: +yystate222: c = l.Next() yyrule = 25 l.Mark() @@ -2993,59 +2881,59 @@ yystate232: default: goto yyrule25 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate233: +yystate223: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate234 + goto yystate224 case c == 'L' || c == 'l': - goto yystate237 + goto yystate227 case c == 'M' || c == 'm': - goto yystate242 + goto yystate232 case c == 'N' || c == 'n': - goto yystate246 - case c == 'V' || c == 'v': - goto yystate275 - case c == 'X' || c == 'x': - goto yystate278 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'K' || c >= 'O' && c <= 'U' || c == 'W' || c == 'Y' || c == 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'k' || c >= 'o' && c <= 'u' || c == 'w' || c == 'y' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate234: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'H' || c == 'h': - goto yystate235 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate235: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'O' || c == 'o': goto yystate236 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + case c == 'V' || c == 'v': + goto yystate265 + case c == 'X' || c == 'x': + goto yystate268 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'K' || c >= 'O' && c <= 'U' || c == 'W' || c == 'Y' || c == 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'k' || c >= 'o' && c <= 'u' || c == 'w' || c == 'y' || c == 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate236: +yystate224: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'H' || c == 'h': + goto yystate225 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate225: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'O' || c == 'o': + goto yystate226 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate226: c = l.Next() yyrule = 26 l.Mark() @@ -3053,36 +2941,36 @@ yystate236: default: goto yyrule26 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate237: +yystate227: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate238 + goto yystate228 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate238: +yystate228: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate239 + goto yystate229 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate239: +yystate229: c = l.Next() yyrule = 27 l.Mark() @@ -3090,25 +2978,25 @@ yystate239: default: goto yyrule27 case c == 'I' || c == 'i': - goto yystate240 + goto yystate230 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate240: +yystate230: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate241 + goto yystate231 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate241: +yystate231: c = l.Next() yyrule = 28 l.Mark() @@ -3116,49 +3004,49 @@ yystate241: default: goto yyrule28 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate242: +yystate232: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'P' || c == 'p': - goto yystate243 + goto yystate233 case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate243: +yystate233: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate244 + goto yystate234 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate244: +yystate234: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'Y' || c == 'y': - goto yystate245 + goto yystate235 case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate245: +yystate235: c = l.Next() yyrule = 29 l.Mark() @@ -3166,122 +3054,122 @@ yystate245: default: goto yyrule29 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate246: +yystate236: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate247 + goto yystate237 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate247: +yystate237: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate248 + goto yystate238 case c == 'F' || c == 'f': - goto yystate255 + goto yystate245 case c == 'I' || c == 'i': - goto yystate262 - case c == 'S' || c == 's': - goto yystate264 - case c == 'W' || c == 'w': - goto yystate270 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c == 'E' || c == 'G' || c == 'H' || c >= 'J' && c <= 'R' || c >= 'T' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c == 'e' || c == 'g' || c == 'h' || c >= 'j' && c <= 'r' || c >= 't' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate248: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'E' || c == 'e': - goto yystate249 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate249: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'C' || c == 'c': - goto yystate250 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate250: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': - goto yystate251 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate251: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': goto yystate252 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate252: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'R' || c == 'r': - goto yystate253 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate253: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'E' || c == 'e': + case c == 'S' || c == 's': goto yystate254 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + case c == 'W' || c == 'w': + goto yystate260 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c == 'E' || c == 'G' || c == 'H' || c >= 'J' && c <= 'R' || c >= 'T' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c == 'e' || c == 'g' || c == 'h' || c >= 'j' && c <= 'r' || c >= 't' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } -yystate254: +yystate238: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'E' || c == 'e': + goto yystate239 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate239: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'C' || c == 'c': + goto yystate240 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate240: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate241 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate241: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate242 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate242: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'R' || c == 'r': + goto yystate243 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate243: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'E' || c == 'e': + goto yystate244 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate244: c = l.Next() yyrule = 30 l.Mark() @@ -3289,36 +3177,36 @@ yystate254: default: goto yyrule30 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate255: +yystate245: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate256 + goto yystate246 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate256: +yystate246: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate257 + goto yystate247 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate257: +yystate247: c = l.Next() yyrule = 31 l.Mark() @@ -3326,51 +3214,51 @@ yystate257: default: goto yyrule31 case c == 'E' || c == 'e': - goto yystate258 + goto yystate248 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate258: +yystate248: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate259 + goto yystate249 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate259: +yystate249: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate260 + goto yystate250 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate260: +yystate250: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate261 + goto yystate251 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate261: +yystate251: c = l.Next() yyrule = 32 l.Mark() @@ -3378,23 +3266,23 @@ yystate261: default: goto yyrule32 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate262: +yystate252: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate263 + goto yystate253 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate263: +yystate253: c = l.Next() yyrule = 33 l.Mark() @@ -3402,75 +3290,75 @@ yystate263: default: goto yyrule33 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate264: +yystate254: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'W' || c == 'w': - goto yystate265 + goto yystate255 case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate265: +yystate255: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate266 + goto yystate256 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate266: +yystate256: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate267 + goto yystate257 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate267: +yystate257: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate268 + goto yystate258 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate268: +yystate258: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate269 + goto yystate259 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate269: +yystate259: c = l.Next() yyrule = 34 l.Mark() @@ -3478,62 +3366,62 @@ yystate269: default: goto yyrule34 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate270: +yystate260: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate271 + goto yystate261 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate271: +yystate261: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate272 + goto yystate262 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate272: +yystate262: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate273 + goto yystate263 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate273: +yystate263: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate274 + goto yystate264 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate274: +yystate264: c = l.Next() yyrule = 35 l.Mark() @@ -3541,36 +3429,36 @@ yystate274: default: goto yyrule35 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate275: +yystate265: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate276 + goto yystate266 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate276: +yystate266: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate277 + goto yystate267 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate277: +yystate267: c = l.Next() yyrule = 36 l.Mark() @@ -3578,90 +3466,90 @@ yystate277: default: goto yyrule36 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate278: +yystate268: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate279 + goto yystate269 case c == 'T' || c == 't': - goto yystate280 + goto yystate270 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate279: +yystate269: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate231 + goto yystate221 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate280: +yystate270: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate281 + goto yystate271 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate281: +yystate271: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate282 + goto yystate272 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate282: +yystate272: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate283 + goto yystate273 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate283: +yystate273: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate284 + goto yystate274 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate284: +yystate274: c = l.Next() yyrule = 38 l.Mark() @@ -3669,66 +3557,66 @@ yystate284: default: goto yyrule38 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate285: +yystate275: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate286 + goto yystate276 case c == 'O' || c == 'o': - goto yystate292 + goto yystate282 case c == 'U' || c == 'u': - goto yystate195 + goto yystate185 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate286: +yystate276: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate287 + goto yystate277 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate287: +yystate277: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate288 + goto yystate278 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate288: +yystate278: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate289 + goto yystate279 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate289: +yystate279: c = l.Next() yyrule = 39 l.Mark() @@ -3736,25 +3624,25 @@ yystate289: default: goto yyrule39 case c == 'L' || c == 'l': - goto yystate290 + goto yystate280 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate290: +yystate280: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'Y' || c == 'y': - goto yystate291 + goto yystate281 case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate291: +yystate281: c = l.Next() yyrule = 40 l.Mark() @@ -3762,23 +3650,23 @@ yystate291: default: goto yyrule40 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate292: +yystate282: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate293 + goto yystate283 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate293: +yystate283: c = l.Next() yyrule = 41 l.Mark() @@ -3786,51 +3674,51 @@ yystate293: default: goto yyrule41 case c == 'E' || c == 'e': - goto yystate294 + goto yystate284 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate294: +yystate284: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate295 + goto yystate285 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate295: +yystate285: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate296 + goto yystate286 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate296: +yystate286: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate297 + goto yystate287 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate297: +yystate287: c = l.Next() yyrule = 42 l.Mark() @@ -3838,77 +3726,77 @@ yystate297: default: goto yyrule42 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate298: +yystate288: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate299 + goto yystate289 case c == 'O' || c == 'o': - goto yystate304 + goto yystate294 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c == 'M' || c == 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c == 'm' || c == 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate299: +yystate289: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate300 + goto yystate290 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate300: +yystate290: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'B' || c == 'b': - goto yystate301 + goto yystate291 case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate301: +yystate291: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate302 + goto yystate292 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate302: +yystate292: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate303 + goto yystate293 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate303: +yystate293: c = l.Next() yyrule = 44 l.Mark() @@ -3916,36 +3804,36 @@ yystate303: default: goto yyrule44 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate304: +yystate294: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate305 + goto yystate295 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate305: +yystate295: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate306 + goto yystate296 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate306: +yystate296: c = l.Next() yyrule = 45 l.Mark() @@ -3953,29 +3841,29 @@ yystate306: default: goto yyrule45 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate307: +yystate297: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate308 + goto yystate298 case c == 'M' || c == 'm': - goto yystate309 + goto yystate299 case c == 'N' || c == 'n': - goto yystate318 + goto yystate308 case c == 'S' || c == 's': - goto yystate349 + goto yystate339 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'L' || c >= 'O' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'l' || c >= 'o' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate308: +yystate298: c = l.Next() yyrule = 46 l.Mark() @@ -3983,114 +3871,114 @@ yystate308: default: goto yyrule46 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate309: +yystate299: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'P' || c == 'p': - goto yystate310 + goto yystate300 case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate310: +yystate300: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate311 + goto yystate301 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate311: +yystate301: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate312 + goto yystate302 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate312: +yystate302: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'M' || c == 'm': - goto yystate313 + goto yystate303 case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate313: +yystate303: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate314 + goto yystate304 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate314: +yystate304: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate315 + goto yystate305 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate315: +yystate305: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate316 + goto yystate306 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate316: +yystate306: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate317 + goto yystate307 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate317: +yystate307: c = l.Next() yyrule = 48 l.Mark() @@ -4098,79 +3986,79 @@ yystate317: default: goto yyrule48 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate318: +yystate308: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate319 + goto yystate309 case c == 'S' || c == 's': - goto yystate329 + goto yystate319 case c == 'T' || c == 't': - goto yystate342 + goto yystate332 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate319: +yystate309: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate320 + goto yystate310 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate320: +yystate310: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate321 + goto yystate311 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate321: +yystate311: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate322 + goto yystate312 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate322: +yystate312: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate323 + goto yystate313 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate323: +yystate313: c = l.Next() yyrule = 70 l.Mark() @@ -4178,64 +4066,64 @@ yystate323: default: goto yyrule70 case c == '_': - goto yystate324 + goto yystate314 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate324: +yystate314: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate325 + goto yystate315 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate325: +yystate315: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate326 + goto yystate316 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate326: +yystate316: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate327 + goto yystate317 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate327: +yystate317: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate328 + goto yystate318 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate328: +yystate318: c = l.Next() yyrule = 71 l.Mark() @@ -4243,103 +4131,103 @@ yystate328: default: goto yyrule71 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate329: +yystate319: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate330 + goto yystate320 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate330: +yystate320: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate331 + goto yystate321 case c == 'E' || c == 'e': - goto yystate337 + goto yystate327 case c >= '0' && c <= '9' || c >= 'B' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate331: +yystate321: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate332 + goto yystate322 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate332: +yystate322: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate333 + goto yystate323 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate333: +yystate323: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate334 + goto yystate324 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate334: +yystate324: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate335 + goto yystate325 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate335: +yystate325: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate336 + goto yystate326 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate336: +yystate326: c = l.Next() yyrule = 49 l.Mark() @@ -4347,62 +4235,62 @@ yystate336: default: goto yyrule49 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate337: +yystate327: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate338 + goto yystate328 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate338: +yystate328: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate339 + goto yystate329 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate339: +yystate329: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate340 + goto yystate330 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate340: +yystate330: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate341 + goto yystate331 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate341: +yystate331: c = l.Next() yyrule = 50 l.Mark() @@ -4410,88 +4298,88 @@ yystate341: default: goto yyrule50 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate342: +yystate332: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate343 + goto yystate333 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate343: +yystate333: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate344 + goto yystate334 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate344: +yystate334: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'F' || c == 'f': - goto yystate345 + goto yystate335 case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate345: +yystate335: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate346 + goto yystate336 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate346: +yystate336: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate347 + goto yystate337 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate347: +yystate337: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate348 + goto yystate338 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate348: +yystate338: c = l.Next() yyrule = 51 l.Mark() @@ -4499,49 +4387,49 @@ yystate348: default: goto yyrule51 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate349: +yystate339: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate350 + goto yystate340 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate350: +yystate340: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate351 + goto yystate341 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate351: +yystate341: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate352 + goto yystate342 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate352: +yystate342: c = l.Next() yyrule = 47 l.Mark() @@ -4549,49 +4437,49 @@ yystate352: default: goto yyrule47 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate353: +yystate343: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate354 + goto yystate344 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate354: +yystate344: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate355 + goto yystate345 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate355: +yystate345: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate356 + goto yystate346 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate356: +yystate346: c = l.Next() yyrule = 52 l.Mark() @@ -4599,116 +4487,116 @@ yystate356: default: goto yyrule52 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate357: +yystate347: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate358 + goto yystate348 case c == 'E' || c == 'e': - goto yystate366 + goto yystate356 case c >= '0' && c <= '9' || c >= 'B' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate358: +yystate348: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'M' || c == 'm': - goto yystate359 + goto yystate349 case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate359: +yystate349: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate360 + goto yystate350 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate360: +yystate350: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate361 + goto yystate351 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate361: +yystate351: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'P' || c == 'p': - goto yystate362 + goto yystate352 case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate362: +yystate352: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate363 + goto yystate353 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate363: +yystate353: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate364 + goto yystate354 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate364: +yystate354: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate365 + goto yystate355 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate365: +yystate355: c = l.Next() yyrule = 53 l.Mark() @@ -4716,23 +4604,23 @@ yystate365: default: goto yyrule53 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate366: +yystate356: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'W' || c == 'w': - goto yystate367 + goto yystate357 case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate367: +yystate357: c = l.Next() yyrule = 90 l.Mark() @@ -4740,23 +4628,23 @@ yystate367: default: goto yyrule90 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate368: +yystate358: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate369 + goto yystate359 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate369: +yystate359: c = l.Next() yyrule = 92 l.Mark() @@ -4764,68 +4652,68 @@ yystate369: default: goto yyrule92 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate370: +yystate360: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate371 + goto yystate361 case c == 'U' || c == 'u': - goto yystate386 + goto yystate376 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c == 'S' || c == 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c == 's' || c == 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate371: +yystate361: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate372 + goto yystate362 case c == 'O' || c == 'o': - goto yystate379 + goto yystate369 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate372: +yystate362: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate373 + goto yystate363 case c == 'V' || c == 'v': - goto yystate375 + goto yystate365 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'U' || c >= 'W' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'u' || c >= 'w' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate373: +yystate363: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate374 + goto yystate364 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate374: +yystate364: c = l.Next() yyrule = 56 l.Mark() @@ -4833,49 +4721,49 @@ yystate374: default: goto yyrule56 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate375: +yystate365: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate376 + goto yystate366 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate376: +yystate366: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate377 + goto yystate367 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate377: +yystate367: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate378 + goto yystate368 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate378: +yystate368: c = l.Next() yyrule = 54 l.Mark() @@ -4883,88 +4771,88 @@ yystate378: default: goto yyrule54 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate379: +yystate369: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate380 + goto yystate370 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate380: +yystate370: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate381 + goto yystate371 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate381: +yystate371: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate382 + goto yystate372 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate382: +yystate372: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate383 + goto yystate373 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate383: +yystate373: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate384 + goto yystate374 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate384: +yystate374: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate385 + goto yystate375 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate385: +yystate375: c = l.Next() yyrule = 57 l.Mark() @@ -4972,62 +4860,62 @@ yystate385: default: goto yyrule57 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate386: +yystate376: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'B' || c == 'b': - goto yystate387 + goto yystate377 case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate387: +yystate377: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate388 + goto yystate378 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate388: +yystate378: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate389 + goto yystate379 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate389: +yystate379: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate390 + goto yystate380 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate390: +yystate380: c = l.Next() yyrule = 55 l.Mark() @@ -5035,90 +4923,90 @@ yystate390: default: goto yyrule55 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate391: +yystate381: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate392 + goto yystate382 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate392: +yystate382: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'Q' || c == 'q': - goto yystate393 + goto yystate383 case c == 'T' || c == 't': - goto yystate403 + goto yystate393 case c >= '0' && c <= '9' || c >= 'A' && c <= 'P' || c == 'R' || c == 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'p' || c == 'r' || c == 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate393: +yystate383: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate394 + goto yystate384 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate394: +yystate384: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate395 + goto yystate385 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate395: +yystate385: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate396 + goto yystate386 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate396: +yystate386: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate397 + goto yystate387 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate397: +yystate387: c = l.Next() yyrule = 72 l.Mark() @@ -5126,64 +5014,64 @@ yystate397: default: goto yyrule72 case c == '_': - goto yystate398 + goto yystate388 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate398: +yystate388: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate399 + goto yystate389 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate399: +yystate389: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate400 + goto yystate390 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate400: +yystate390: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate401 + goto yystate391 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate401: +yystate391: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate402 + goto yystate392 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate402: +yystate392: c = l.Next() yyrule = 73 l.Mark() @@ -5191,49 +5079,49 @@ yystate402: default: goto yyrule73 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate403: +yystate393: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'U' || c == 'u': - goto yystate404 + goto yystate394 case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate404: +yystate394: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate405 + goto yystate395 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate405: +yystate395: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate406 + goto yystate396 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate406: +yystate396: c = l.Next() yyrule = 58 l.Mark() @@ -5241,77 +5129,77 @@ yystate406: default: goto yyrule58 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate407: +yystate397: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate408 + goto yystate398 case c == 'W' || c == 'w': - goto yystate413 + goto yystate403 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c == 'U' || c == 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c == 'u' || c == 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate408: +yystate398: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate409 + goto yystate399 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate409: +yystate399: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate410 + goto yystate400 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate410: +yystate400: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate411 + goto yystate401 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate411: +yystate401: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate412 + goto yystate402 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate412: +yystate402: c = l.Next() yyrule = 59 l.Mark() @@ -5319,62 +5207,62 @@ yystate412: default: goto yyrule59 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate413: +yystate403: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate414 + goto yystate404 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate414: +yystate404: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate415 + goto yystate405 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate415: +yystate405: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate416 + goto yystate406 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate416: +yystate406: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate417 + goto yystate407 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate417: +yystate407: c = l.Next() yyrule = 60 l.Mark() @@ -5382,64 +5270,64 @@ yystate417: default: goto yyrule60 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate418: +yystate408: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate419 + goto yystate409 case c == 'R' || c == 'r': - goto yystate423 + goto yystate413 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate419: +yystate409: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate420 + goto yystate410 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate420: +yystate410: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate421 + goto yystate411 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate421: +yystate411: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'W' || c == 'w': - goto yystate422 + goto yystate412 case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate422: +yystate412: c = l.Next() yyrule = 61 l.Mark() @@ -5447,51 +5335,51 @@ yystate422: default: goto yyrule61 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate423: +yystate413: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate424 + goto yystate414 case c == 'Y' || c == 'y': - goto yystate427 + goto yystate417 case c >= '0' && c <= '9' || c >= 'B' && c <= 'X' || c == 'Z' || c == '_' || c >= 'b' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate424: +yystate414: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate425 + goto yystate415 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate425: +yystate415: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate426 + goto yystate416 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate426: +yystate416: c = l.Next() yyrule = 62 l.Mark() @@ -5499,10 +5387,10 @@ yystate426: default: goto yyrule62 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate427: +yystate417: c = l.Next() yyrule = 63 l.Mark() @@ -5510,64 +5398,64 @@ yystate427: default: goto yyrule63 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate428: +yystate418: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate429 + goto yystate419 case c == 'S' || c == 's': - goto yystate433 + goto yystate423 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate429: +yystate419: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate430 + goto yystate420 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate430: +yystate420: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate431 + goto yystate421 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate431: +yystate421: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate432 + goto yystate422 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate432: +yystate422: c = l.Next() yyrule = 64 l.Mark() @@ -5575,23 +5463,23 @@ yystate432: default: goto yyrule64 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate433: +yystate423: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate434 + goto yystate424 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate434: +yystate424: c = l.Next() yyrule = 65 l.Mark() @@ -5599,36 +5487,36 @@ yystate434: default: goto yyrule65 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate435: +yystate425: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate436 + goto yystate426 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate436: +yystate426: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate437 + goto yystate427 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate437: +yystate427: c = l.Next() yyrule = 66 l.Mark() @@ -5636,62 +5524,62 @@ yystate437: default: goto yyrule66 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate438: +yystate428: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate439 + goto yystate429 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate439: +yystate429: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate440 + goto yystate430 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate440: +yystate430: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate441 + goto yystate431 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate441: +yystate431: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate442 + goto yystate432 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate442: +yystate432: c = l.Next() yyrule = 67 l.Mark() @@ -5699,36 +5587,36 @@ yystate442: default: goto yyrule67 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate443: +yystate433: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate444 + goto yystate434 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate444: +yystate434: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate445 + goto yystate435 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate445: +yystate435: c = l.Next() yyrule = 93 l.Mark() @@ -5736,62 +5624,62 @@ yystate445: default: goto yyrule93 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate446: +yystate436: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate447 + goto yystate437 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate447: +yystate437: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate448 + goto yystate438 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate448: +yystate438: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate449 + goto yystate439 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate449: +yystate439: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate450 + goto yystate440 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate450: +yystate440: c = l.Next() yyrule = 69 l.Mark() @@ -5799,206 +5687,206 @@ yystate450: default: goto yyrule69 case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate451 + goto yystate441 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate451: +yystate441: c = l.Next() switch { default: goto yyabort case c == 'F' || c == 'f': - goto yystate452 + goto yystate442 case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate451 + goto yystate441 } -yystate452: +yystate442: c = l.Next() switch { default: goto yyabort case c == 'R' || c == 'r': - goto yystate453 + goto yystate443 } -yystate453: +yystate443: c = l.Next() switch { default: goto yyabort case c == 'O' || c == 'o': - goto yystate454 + goto yystate444 } -yystate454: +yystate444: c = l.Next() switch { default: goto yyabort case c == 'M' || c == 'm': - goto yystate455 + goto yystate445 } -yystate455: +yystate445: c = l.Next() switch { default: goto yyabort case c >= '\x01' && c <= '/' || c >= ':' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '\u007f': - goto yystate456 + goto yystate446 } -yystate456: +yystate446: c = l.Next() yyrule = 68 l.Mark() goto yyrule68 -yystate457: +yystate447: c = l.Next() yyrule = 94 l.Mark() goto yyrule94 -yystate458: +yystate448: c = l.Next() - yyrule = 128 + yyrule = 127 l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': - goto yystate459 + goto yystate449 } -yystate459: +yystate449: c = l.Next() yyrule = 107 l.Mark() goto yyrule107 -yystate460: +yystate450: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate461 + goto yystate451 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate461: +yystate451: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate462 + goto yystate452 case c == 'D' || c == 'd': - goto yystate469 + goto yystate459 case c == 'F' || c == 'f': - goto yystate474 - case c == 'H' || c == 'h': - goto yystate489 - case c == 'L' || c == 'l': - goto yystate502 - case c == 'M' || c == 'm': - goto yystate508 - case c == 'N' || c == 'n': - goto yystate516 - case c == 'T' || c == 't': - goto yystate527 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'E' || c == 'G' || c >= 'I' && c <= 'K' || c >= 'O' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'e' || c == 'g' || c >= 'i' && c <= 'k' || c >= 'o' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate462: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': - goto yystate463 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate463: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': goto yystate464 + case c == 'H' || c == 'h': + goto yystate479 + case c == 'L' || c == 'l': + goto yystate492 + case c == 'M' || c == 'm': + goto yystate498 + case c == 'N' || c == 'n': + goto yystate506 + case c == 'T' || c == 't': + goto yystate517 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'E' || c == 'G' || c >= 'I' && c <= 'K' || c >= 'O' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'e' || c == 'g' || c >= 'i' && c <= 'k' || c >= 'o' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate452: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate453 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate453: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate454 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate464: +yystate454: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate465 + goto yystate455 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate465: +yystate455: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'S' || c == 's': - goto yystate466 + goto yystate456 case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate466: +yystate456: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate467 + goto yystate457 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate467: +yystate457: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate468 + goto yystate458 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate468: +yystate458: c = l.Next() yyrule = 74 l.Mark() @@ -6006,62 +5894,62 @@ yystate468: default: goto yyrule74 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate469: +yystate459: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate470 + goto yystate460 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate470: +yystate460: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate471 + goto yystate461 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate471: +yystate461: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate472 + goto yystate462 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate472: +yystate462: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate473 + goto yystate463 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate473: +yystate463: c = l.Next() yyrule = 75 l.Mark() @@ -6069,77 +5957,77 @@ yystate473: default: goto yyrule75 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate474: +yystate464: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate475 + goto yystate465 case c == 'U' || c == 'u': - goto yystate480 + goto yystate470 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate475: +yystate465: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'L' || c == 'l': - goto yystate476 + goto yystate466 case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate476: +yystate466: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate477 + goto yystate467 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate477: +yystate467: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate478 + goto yystate468 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate478: +yystate468: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate479 + goto yystate469 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate479: +yystate469: c = l.Next() yyrule = 76 l.Mark() @@ -6147,114 +6035,114 @@ yystate479: default: goto yyrule76 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate480: +yystate470: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate481 + goto yystate471 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate481: +yystate471: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'C' || c == 'c': - goto yystate482 + goto yystate472 case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate482: +yystate472: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate483 + goto yystate473 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate483: +yystate473: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate484 + goto yystate474 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate484: +yystate474: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate485 + goto yystate475 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate485: +yystate475: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate486 + goto yystate476 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate486: +yystate476: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate487 + goto yystate477 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate487: +yystate477: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate488 + goto yystate478 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate488: +yystate478: c = l.Next() yyrule = 77 l.Mark() @@ -6262,166 +6150,166 @@ yystate488: default: goto yyrule77 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 + } + +yystate479: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate480 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate480: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate481 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate481: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'T' || c == 't': + goto yystate482 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate482: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == '_': + goto yystate483 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate483: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'C' || c == 'c': + goto yystate484 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate484: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'O' || c == 'o': + goto yystate485 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate485: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'M' || c == 'm': + goto yystate486 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate486: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'P' || c == 'p': + goto yystate487 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate487: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'I' || c == 'i': + goto yystate488 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate488: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'L' || c == 'l': + goto yystate489 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } yystate489: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 - case c == 'A' || c == 'a': + goto yyrule131 + case c == 'E' || c == 'e': goto yystate490 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } yystate490: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 - case c == 'L' || c == 'l': + goto yyrule131 + case c == 'R' || c == 'r': goto yystate491 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } yystate491: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'T' || c == 't': - goto yystate492 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate492: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == '_': - goto yystate493 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate493: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'C' || c == 'c': - goto yystate494 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate494: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'O' || c == 'o': - goto yystate495 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate495: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'M' || c == 'm': - goto yystate496 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate496: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'P' || c == 'p': - goto yystate497 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate497: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'I' || c == 'i': - goto yystate498 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate498: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'L' || c == 'l': - goto yystate499 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate499: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'E' || c == 'e': - goto yystate500 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate500: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'R' || c == 'r': - goto yystate501 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate501: c = l.Next() yyrule = 82 l.Mark() @@ -6429,75 +6317,75 @@ yystate501: default: goto yyrule82 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate502: +yystate492: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate503 + goto yystate493 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate503: +yystate493: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'N' || c == 'n': - goto yystate504 + goto yystate494 case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate504: +yystate494: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate505 + goto yystate495 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate505: +yystate495: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate506 + goto yystate496 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate506: +yystate496: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate507 + goto yystate497 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate507: +yystate497: c = l.Next() yyrule = 78 l.Mark() @@ -6505,101 +6393,101 @@ yystate507: default: goto yyrule78 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate508: +yystate498: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'E' || c == 'e': - goto yystate509 + goto yystate499 case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate509: +yystate499: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate510 + goto yystate500 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate510: +yystate500: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'H' || c == 'h': - goto yystate511 + goto yystate501 case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate511: +yystate501: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'O' || c == 'o': - goto yystate512 + goto yystate502 case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate512: +yystate502: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'D' || c == 'd': - goto yystate513 + goto yystate503 case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate513: +yystate503: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate514 + goto yystate504 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate514: +yystate504: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate515 + goto yystate505 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate515: +yystate505: c = l.Next() yyrule = 80 l.Mark() @@ -6607,140 +6495,140 @@ yystate515: default: goto yyrule80 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 + } + +yystate506: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate507 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate507: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'M' || c == 'm': + goto yystate508 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate508: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'E' || c == 'e': + goto yystate509 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate509: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'S' || c == 's': + goto yystate510 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate510: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'P' || c == 'p': + goto yystate511 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate511: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'A' || c == 'a': + goto yystate512 + case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate512: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'C' || c == 'c': + goto yystate513 + case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate513: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == 'E' || c == 'e': + goto yystate514 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate514: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == '_': + goto yystate515 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 + } + +yystate515: + c = l.Next() + yyrule = 131 + l.Mark() + switch { + default: + goto yyrule131 + case c == '_': + goto yystate516 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate151 } yystate516: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': - goto yystate517 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate517: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'M' || c == 'm': - goto yystate518 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate518: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'E' || c == 'e': - goto yystate519 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate519: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'S' || c == 's': - goto yystate520 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate520: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'P' || c == 'p': - goto yystate521 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate521: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'A' || c == 'a': - goto yystate522 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate522: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'C' || c == 'c': - goto yystate523 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate523: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == 'E' || c == 'e': - goto yystate524 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate524: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == '_': - goto yystate525 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate525: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c == '_': - goto yystate526 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 - } - -yystate526: c = l.Next() yyrule = 79 l.Mark() @@ -6748,88 +6636,88 @@ yystate526: default: goto yyrule79 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate527: +yystate517: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'R' || c == 'r': - goto yystate528 + goto yystate518 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate528: +yystate518: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'A' || c == 'a': - goto yystate529 + goto yystate519 case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate529: +yystate519: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'I' || c == 'i': - goto yystate530 + goto yystate520 case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate530: +yystate520: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == 'T' || c == 't': - goto yystate531 + goto yystate521 case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate531: +yystate521: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate532 + goto yystate522 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate532: +yystate522: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '_': - goto yystate533 + goto yystate523 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate533: +yystate523: c = l.Next() yyrule = 81 l.Mark() @@ -6837,149 +6725,255 @@ yystate533: default: goto yyrule81 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate534: +yystate524: c = l.Next() - yyrule = 139 + yyrule = 138 l.Mark() - goto yyrule139 + goto yyrule138 -yystate535: +yystate525: c = l.Next() - yyrule = 132 + yyrule = 131 l.Mark() switch { default: - goto yyrule132 + goto yyrule131 case c == '"': goto yystate18 case c == '<': - goto yystate536 + goto yystate526 case c == 'R' || c == 'r': - goto yystate177 + goto yystate167 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate161 + goto yystate151 } -yystate536: +yystate526: c = l.Next() switch { default: goto yyabort case c == '<': - goto yystate537 + goto yystate527 } -yystate537: +yystate527: c = l.Next() switch { default: goto yyabort case c == '<': - goto yystate134 + goto yystate124 } -yystate538: - c = l.Next() - yyrule = 129 - l.Mark() - goto yyrule129 - -yystate539: +yystate528: c = l.Next() yyrule = 128 l.Mark() + goto yyrule128 + +yystate529: + c = l.Next() + yyrule = 127 + l.Mark() switch { default: - goto yyrule128 + goto yyrule127 case c == '=': - goto yystate540 + goto yystate530 case c == '|': - goto yystate541 + goto yystate531 } -yystate540: +yystate530: c = l.Next() yyrule = 100 l.Mark() goto yyrule100 -yystate541: +yystate531: c = l.Next() yyrule = 98 l.Mark() goto yyrule98 -yystate542: +yystate532: c = l.Next() - yyrule = 130 + yyrule = 129 l.Mark() - goto yyrule130 + goto yyrule129 - goto yystate543 // silence unused label error -yystate543: + goto yystate533 // silence unused label error +yystate533: c = l.Next() -yystart543: +yystart533: switch { default: goto yyabort case c == '"': - goto yystate545 + goto yystate535 case c == '$': - goto yystate546 + goto yystate536 case c == '{': - goto yystate548 + goto yystate538 case c >= '\x01' && c <= '!' || c == '#' || c >= '%' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate544 + goto yystate534 } -yystate544: +yystate534: c = l.Next() - yyrule = 149 + yyrule = 148 l.Mark() - goto yyrule149 + goto yyrule148 -yystate545: +yystate535: c = l.Next() - yyrule = 145 + yyrule = 144 l.Mark() - goto yyrule145 + goto yyrule144 -yystate546: +yystate536: + c = l.Next() + yyrule = 147 + l.Mark() + switch { + default: + goto yyrule147 + case c == '{': + goto yystate537 + } + +yystate537: + c = l.Next() + yyrule = 146 + l.Mark() + goto yyrule146 + +yystate538: c = l.Next() yyrule = 148 l.Mark() switch { default: goto yyrule148 - case c == '{': + case c == '$': + goto yystate539 + } + +yystate539: + c = l.Next() + yyrule = 145 + l.Mark() + goto yyrule145 + + goto yystate540 // silence unused label error +yystate540: + c = l.Next() +yystart540: + switch { + default: + goto yyabort + case c == '$': + goto yystate542 + case c == '-': + goto yystate544 + case c == '[': + goto yystate549 + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate547 + case c >= '\x01' && c <= '#' || c >= '%' && c <= ',' || c >= '.' && c <= '@' || c >= '\\' && c <= '^' || c == '`' || c >= '{' && c <= '~': + goto yystate541 + } + +yystate541: + c = l.Next() + yyrule = 155 + l.Mark() + goto yyrule155 + +yystate542: + c = l.Next() + yyrule = 155 + l.Mark() + switch { + default: + goto yyrule155 + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate543 + } + +yystate543: + c = l.Next() + yyrule = 151 + l.Mark() + switch { + default: + goto yyrule151 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate543 + } + +yystate544: + c = l.Next() + yyrule = 155 + l.Mark() + switch { + default: + goto yyrule155 + case c == '>': + goto yystate545 + } + +yystate545: + c = l.Next() + switch { + default: + goto yyabort + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate546 + } + +yystate546: + c = l.Next() + yyrule = 152 + l.Mark() + switch { + default: + goto yyrule152 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate546 } yystate547: c = l.Next() - yyrule = 147 - l.Mark() - goto yyrule147 - -yystate548: - c = l.Next() - yyrule = 149 + yyrule = 153 l.Mark() switch { default: - goto yyrule149 - case c == '$': - goto yystate549 + goto yyrule153 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate548 + } + +yystate548: + c = l.Next() + yyrule = 153 + l.Mark() + switch { + default: + goto yyrule153 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate548 } yystate549: c = l.Next() - yyrule = 146 + yyrule = 154 l.Mark() - goto yyrule146 + goto yyrule154 goto yystate550 // silence unused label error yystate550: @@ -6988,168 +6982,150 @@ yystart550: switch { default: goto yyabort - case c == '$': - goto yystate552 - case c == '-': + case c == '!' || c == '%' || c == '&' || c >= '(' && c <= '/' || c >= ':' && c <= '@' || c == '[' || c == '^' || c == '|' || c == '~': goto yystate554 - case c == '[': - goto yystate559 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + case c == '$': + goto yystate555 + case c == '0': goto yystate557 - case c >= '\x01' && c <= '#' || c >= '%' && c <= ',' || c >= '.' && c <= '@' || c >= '\\' && c <= '^' || c == '`' || c >= '{' && c <= '~': + case c == '\n': + goto yystate553 + case c == '\t' || c == '\r' || c == ' ' || c == '#' || c == '\'' || c == '\\': + goto yystate552 + case c == ']': + goto yystate566 + case c >= '1' && c <= '9': + goto yystate563 + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate564 + case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c == '"' || c == '`' || c == '{' || c == '}': goto yystate551 } yystate551: c = l.Next() - yyrule = 156 + yyrule = 162 l.Mark() - goto yyrule156 + goto yyrule162 yystate552: c = l.Next() - yyrule = 156 + yyrule = 160 l.Mark() - switch { - default: - goto yyrule156 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate553 - } + goto yyrule160 yystate553: c = l.Next() - yyrule = 152 + yyrule = 160 l.Mark() - switch { - default: - goto yyrule152 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate553 - } + goto yyrule160 yystate554: c = l.Next() - yyrule = 156 + yyrule = 161 l.Mark() - switch { - default: - goto yyrule156 - case c == '>': - goto yystate555 - } + goto yyrule161 yystate555: c = l.Next() + yyrule = 161 + l.Mark() switch { default: - goto yyabort + goto yyrule161 case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate556 } yystate556: c = l.Next() - yyrule = 153 + yyrule = 157 l.Mark() switch { default: - goto yyrule153 + goto yyrule157 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate556 } yystate557: c = l.Next() - yyrule = 154 + yyrule = 156 l.Mark() switch { default: - goto yyrule154 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yyrule156 + case c == 'B' || c == 'b': + goto yystate559 + case c == 'X' || c == 'x': + goto yystate561 + case c >= '0' && c <= '9': goto yystate558 } yystate558: c = l.Next() - yyrule = 154 + yyrule = 156 l.Mark() switch { default: - goto yyrule154 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yyrule156 + case c >= '0' && c <= '9': goto yystate558 } yystate559: c = l.Next() - yyrule = 155 - l.Mark() - goto yyrule155 - - goto yystate560 // silence unused label error -yystate560: - c = l.Next() -yystart560: switch { default: goto yyabort - case c == '!' || c == '%' || c == '&' || c >= '(' && c <= '/' || c >= ':' && c <= '@' || c == '[' || c == '^' || c == '|' || c == '~': - goto yystate564 - case c == '$': - goto yystate565 - case c == '0': - goto yystate567 - case c == '\n': - goto yystate563 - case c == '\t' || c == '\r' || c == ' ' || c == '#' || c == '\'' || c == '\\': - goto yystate562 - case c == ']': - goto yystate576 - case c >= '1' && c <= '9': - goto yystate573 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate574 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c == '"' || c == '`' || c == '{' || c == '}': - goto yystate561 + case c == '0' || c == '1': + goto yystate560 + } + +yystate560: + c = l.Next() + yyrule = 156 + l.Mark() + switch { + default: + goto yyrule156 + case c == '0' || c == '1': + goto yystate560 } yystate561: c = l.Next() - yyrule = 163 - l.Mark() - goto yyrule163 + switch { + default: + goto yyabort + case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': + goto yystate562 + } yystate562: c = l.Next() - yyrule = 161 - l.Mark() - goto yyrule161 - -yystate563: - c = l.Next() - yyrule = 161 - l.Mark() - goto yyrule161 - -yystate564: - c = l.Next() - yyrule = 162 - l.Mark() - goto yyrule162 - -yystate565: - c = l.Next() - yyrule = 162 + yyrule = 156 l.Mark() switch { default: - goto yyrule162 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate566 + goto yyrule156 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': + goto yystate562 } -yystate566: +yystate563: + c = l.Next() + yyrule = 156 + l.Mark() + switch { + default: + goto yyrule156 + case c >= '0' && c <= '9': + goto yystate558 + } + +yystate564: c = l.Next() yyrule = 158 l.Mark() @@ -7157,378 +7133,239 @@ yystate566: default: goto yyrule158 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate566 + goto yystate565 } -yystate567: +yystate565: c = l.Next() - yyrule = 157 + yyrule = 158 l.Mark() switch { default: - goto yyrule157 - case c == 'B' || c == 'b': + goto yyrule158 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate565 + } + +yystate566: + c = l.Next() + yyrule = 159 + l.Mark() + goto yyrule159 + + goto yystate567 // silence unused label error +yystate567: + c = l.Next() +yystart567: + switch { + default: + goto yyabort + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate569 - case c == 'X' || c == 'x': - goto yystate571 - case c >= '0' && c <= '9': + case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': goto yystate568 } yystate568: c = l.Next() - yyrule = 157 + yyrule = 164 l.Mark() - switch { - default: - goto yyrule157 - case c >= '0' && c <= '9': - goto yystate568 - } + goto yyrule164 yystate569: c = l.Next() + yyrule = 164 + l.Mark() switch { default: - goto yyabort - case c == '0' || c == '1': + goto yyrule164 + case c == '[' || c == '}': + goto yystate571 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate570 } yystate570: c = l.Next() - yyrule = 157 - l.Mark() switch { default: - goto yyrule157 - case c == '0' || c == '1': + goto yyabort + case c == '[' || c == '}': + goto yystate571 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate570 } yystate571: c = l.Next() + yyrule = 163 + l.Mark() + goto yyrule163 + + goto yystate572 // silence unused label error +yystate572: + c = l.Next() +yystart572: switch { default: goto yyabort - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate572 - } - -yystate572: - c = l.Next() - yyrule = 157 - l.Mark() - switch { - default: - goto yyrule157 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate572 + case c == '-': + goto yystate576 + case c == '\n': + goto yystate575 + case c == '\t' || c == '\r' || c == ' ': + goto yystate574 + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate578 + case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c >= '!' && c <= ',' || c >= '.' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': + goto yystate573 } yystate573: c = l.Next() - yyrule = 157 + yyrule = 136 l.Mark() - switch { - default: - goto yyrule157 - case c >= '0' && c <= '9': - goto yystate568 - } + goto yyrule136 yystate574: c = l.Next() - yyrule = 159 + yyrule = 133 l.Mark() switch { default: - goto yyrule159 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yyrule133 + case c == '\t' || c == '\n' || c == '\r' || c == ' ': goto yystate575 } yystate575: c = l.Next() - yyrule = 159 + yyrule = 133 l.Mark() switch { default: - goto yyrule159 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yyrule133 + case c == '\t' || c == '\n' || c == '\r' || c == ' ': goto yystate575 } yystate576: c = l.Next() - yyrule = 160 + yyrule = 136 l.Mark() - goto yyrule160 - - goto yystate577 // silence unused label error -yystate577: - c = l.Next() -yystart577: switch { default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate579 - case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': - goto yystate578 + goto yyrule136 + case c == '>': + goto yystate577 } +yystate577: + c = l.Next() + yyrule = 134 + l.Mark() + goto yyrule134 + yystate578: c = l.Next() - yyrule = 165 + yyrule = 135 l.Mark() - goto yyrule165 + switch { + default: + goto yyrule135 + case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': + goto yystate579 + } yystate579: c = l.Next() - yyrule = 165 + yyrule = 135 l.Mark() switch { default: - goto yyrule165 - case c == '[' || c == '}': - goto yystate581 + goto yyrule135 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate580 + goto yystate579 } + goto yystate580 // silence unused label error yystate580: c = l.Next() +yystart580: switch { default: goto yyabort - case c == '[' || c == '}': + case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': goto yystate581 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate580 } yystate581: - c = l.Next() - yyrule = 164 - l.Mark() - goto yyrule164 - - goto yystate582 // silence unused label error -yystate582: - c = l.Next() -yystart582: - switch { - default: - goto yyabort - case c == '-': - goto yystate586 - case c == '\n': - goto yystate585 - case c == '\t' || c == '\r' || c == ' ': - goto yystate584 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate588 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c >= '!' && c <= ',' || c >= '.' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': - goto yystate583 - } - -yystate583: - c = l.Next() - yyrule = 137 - l.Mark() - goto yyrule137 - -yystate584: - c = l.Next() - yyrule = 134 - l.Mark() - switch { - default: - goto yyrule134 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate585 - } - -yystate585: - c = l.Next() - yyrule = 134 - l.Mark() - switch { - default: - goto yyrule134 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate585 - } - -yystate586: - c = l.Next() - yyrule = 137 - l.Mark() - switch { - default: - goto yyrule137 - case c == '>': - goto yystate587 - } - -yystate587: - c = l.Next() - yyrule = 135 - l.Mark() - goto yyrule135 - -yystate588: - c = l.Next() - yyrule = 136 - l.Mark() - switch { - default: - goto yyrule136 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate589 - } - -yystate589: - c = l.Next() - yyrule = 136 - l.Mark() - switch { - default: - goto yyrule136 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate589 - } - - goto yystate590 // silence unused label error -yystate590: - c = l.Next() -yystart590: - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate591 - } - -yystate591: c = l.Next() switch { default: goto yyabort case c == ';': - goto yystate592 + goto yystate582 case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate591 + goto yystate581 } -yystate592: - c = l.Next() - yyrule = 143 - l.Mark() - goto yyrule143 - - goto yystate593 // silence unused label error -yystate593: - c = l.Next() -yystart593: - switch { - default: - goto yyabort - case c >= '\x01' && c <= '\t' || c >= '\v' && c <= 'ÿ': - goto yystate594 - } - -yystate594: +yystate582: c = l.Next() yyrule = 142 l.Mark() goto yyrule142 - goto yystate595 // silence unused label error -yystate595: + goto yystate583 // silence unused label error +yystate583: c = l.Next() -yystart595: +yystart583: + switch { + default: + goto yyabort + case c >= '\x01' && c <= '\t' || c >= '\v' && c <= 'ÿ': + goto yystate584 + } + +yystate584: + c = l.Next() + yyrule = 141 + l.Mark() + goto yyrule141 + + goto yystate585 // silence unused label error +yystate585: + c = l.Next() +yystart585: switch { default: goto yyabort case c == '$': - goto yystate597 + goto yystate587 case c == '{': - goto yystate598 + goto yystate588 case c >= '\x01' && c <= '#' || c >= '%' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate596 + goto yystate586 } -yystate596: - c = l.Next() - yyrule = 151 - l.Mark() - goto yyrule151 - -yystate597: - c = l.Next() - yyrule = 148 - l.Mark() - switch { - default: - goto yyrule148 - case c == '{': - goto yystate547 - } - -yystate598: - c = l.Next() - yyrule = 151 - l.Mark() - switch { - default: - goto yyrule151 - case c == '$': - goto yystate549 - } - - goto yystate599 // silence unused label error -yystate599: - c = l.Next() -yystart599: - switch { - default: - goto yyabort - case c == '$': - goto yystate601 - case c == '`': - goto yystate602 - case c == '{': - goto yystate603 - case c >= '\x01' && c <= '#' || c >= '%' && c <= '_' || c >= 'a' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate600 - } - -yystate600: +yystate586: c = l.Next() yyrule = 150 l.Mark() goto yyrule150 -yystate601: +yystate587: c = l.Next() - yyrule = 148 + yyrule = 147 l.Mark() switch { default: - goto yyrule148 + goto yyrule147 case c == '{': - goto yystate547 + goto yystate537 } -yystate602: - c = l.Next() - yyrule = 140 - l.Mark() - goto yyrule140 - -yystate603: +yystate588: c = l.Next() yyrule = 150 l.Mark() @@ -7536,7 +7373,58 @@ yystate603: default: goto yyrule150 case c == '$': - goto yystate549 + goto yystate539 + } + + goto yystate589 // silence unused label error +yystate589: + c = l.Next() +yystart589: + switch { + default: + goto yyabort + case c == '$': + goto yystate591 + case c == '`': + goto yystate592 + case c == '{': + goto yystate593 + case c >= '\x01' && c <= '#' || c >= '%' && c <= '_' || c >= 'a' && c <= 'z' || c >= '|' && c <= 'ÿ': + goto yystate590 + } + +yystate590: + c = l.Next() + yyrule = 149 + l.Mark() + goto yyrule149 + +yystate591: + c = l.Next() + yyrule = 147 + l.Mark() + switch { + default: + goto yyrule147 + case c == '{': + goto yystate537 + } + +yystate592: + c = l.Next() + yyrule = 139 + l.Mark() + goto yyrule139 + +yystate593: + c = l.Next() + yyrule = 149 + l.Mark() + switch { + default: + goto yyrule149 + case c == '$': + goto yystate539 } yyrule1: // [ \t\n\r]+ @@ -8352,101 +8240,121 @@ yyrule125: // (#|[/][/]).*{NEW_LINE} lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) // return T_COMMENT; // TODO: handle ?> goto yystate0 } -yyrule126: // [/][*][^*]*[*]+([^*/][^*]*[*]+)*[/] +yyrule126: // ([/][*])|([/][*][*]) { - lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) // return T_COMMENT; // TODO: handle ?> + + tb := l.TokenBytes(nil) + is_doc_comment := false + if len(tb) > 2 { + is_doc_comment = true + l.phpDocComment = "" + } + for { + if c == -1 { + break // TODO: Unterminated comment starting line %d + } + p := c + c = l.Next() + if rune(p) == '*' && rune(c) == '/' { + c = l.Next() + break + } + } + lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) + if is_doc_comment { + l.phpDocComment = string(l.TokenBytes(nil)) + // return T_DOC_COMMENT + } else { + // return T_COMMENT + } goto yystate0 } -yyrule127: // [/][*][*][^*]*[*]+([^*/][^*]*[*]+)*[/] - { - lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) // return T_DOC_COMMENT; // TODO: handle ?> - goto yystate0 - } -yyrule128: // {OPERATORS} +yyrule127: // {OPERATORS} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule129: // \{ +yyrule128: // \{ { l.pushState(PHP) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule130: // \} +yyrule129: // \} { l.popState() lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) + l.phpDocComment = "" goto yystate0 } -yyrule131: // \${VAR_NAME} +yyrule130: // \${VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_VARIABLE goto yystate0 } -yyrule132: // {VAR_NAME} +yyrule131: // {VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_STRING goto yystate0 } -yyrule133: // -> +yyrule132: // -> { l.begin(PROPERTY) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_OBJECT_OPERATOR goto yystate0 } -yyrule134: // [ \t\n\r]+ +yyrule133: // [ \t\n\r]+ { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_WHITESPACE goto yystate0 } -yyrule135: // -> +yyrule134: // -> { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_OBJECT_OPERATOR goto yystate0 } -yyrule136: // {VAR_NAME} +yyrule135: // {VAR_NAME} { l.begin(PHP) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_STRING goto yystate0 } -yyrule137: // . +yyrule136: // . { l.ungetN(1) l.begin(PHP) goto yystate0 } -yyrule138: // [\']([^\\\']*([\\].)*)*[\'] +yyrule137: // [\']([^\\\']*([\\].)*)*[\'] { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_CONSTANT_ENCAPSED_STRING goto yystate0 } -yyrule139: // ` +yyrule138: // ` { l.begin(BACKQUOTE) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule140: // ` +yyrule139: // ` { l.begin(PHP) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule141: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} +yyrule140: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} { tb := l.TokenBytes(nil) @@ -8502,7 +8410,7 @@ yyrule141: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])) lval.token = token.NewToken(l.handleNewLine(tb)) return T_START_HEREDOC } -yyrule142: // . +yyrule141: // . { searchLabel := []byte{} @@ -8528,14 +8436,14 @@ yyrule142: // . lval.token = token.NewToken(l.handleNewLine(tb)) return T_ENCAPSED_AND_WHITESPACE } -yyrule143: // {VAR_NAME}\; +yyrule142: // {VAR_NAME}\; { l.begin(PHP) lval.token = token.NewToken(l.handleNewLine(l.ungetN(1))) return T_END_HEREDOC goto yystate0 } -yyrule144: // [b]?[\"] +yyrule143: // [b]?[\"] { binPrefix := l.TokenBytes(nil)[0] == 'b' @@ -8585,34 +8493,34 @@ yyrule144: // [b]?[\"] } goto yystate0 } -yyrule145: // \" +yyrule144: // \" { l.popState() lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule146: // \{\$ +yyrule145: // \{\$ { lval.token = token.NewToken(l.handleNewLine(l.ungetN(1))) l.pushState(PHP) return T_CURLY_OPEN goto yystate0 } -yyrule147: // \$\{ +yyrule146: // \$\{ { l.pushState(STRING_VAR_NAME) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_DOLLAR_OPEN_CURLY_BRACES goto yystate0 } -yyrule148: // \$ +yyrule147: // \$ { l.ungetN(1) l.pushState(STRING_VAR) goto yystate0 } -yyrule149: // .|[ \t\n\r] +yyrule148: // .|[ \t\n\r] { F1: @@ -8654,7 +8562,7 @@ yyrule149: // .|[ \t\n\r] } goto yystate0 } -yyrule150: // .|[ \t\n\r] +yyrule149: // .|[ \t\n\r] { F2: @@ -8696,7 +8604,7 @@ yyrule150: // .|[ \t\n\r] } goto yystate0 } -yyrule151: // .|[ \t\n\r] +yyrule150: // .|[ \t\n\r] { searchLabel := []byte{} @@ -8749,57 +8657,57 @@ yyrule151: // .|[ \t\n\r] lval.token = token.NewToken(l.handleNewLine(tb)) return T_ENCAPSED_AND_WHITESPACE } -yyrule152: // \${VAR_NAME} +yyrule151: // \${VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_VARIABLE goto yystate0 } -yyrule153: // ->{VAR_NAME} +yyrule152: // ->{VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.ungetN(len(l.TokenBytes(nil)) - 2))) return T_OBJECT_OPERATOR goto yystate0 } -yyrule154: // {VAR_NAME} +yyrule153: // {VAR_NAME} { l.popState() lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_STRING goto yystate0 } -yyrule155: // \[ +yyrule154: // \[ { l.pushState(STRING_VAR_INDEX) lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule156: // .|[ \t\n\r] +yyrule155: // .|[ \t\n\r] { l.ungetN(1) l.popState() goto yystate0 } -yyrule157: // {LNUM}|{HNUM}|{BNUM} +yyrule156: // {LNUM}|{HNUM}|{BNUM} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_NUM_STRING goto yystate0 } -yyrule158: // \${VAR_NAME} +yyrule157: // \${VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_VARIABLE goto yystate0 } -yyrule159: // {VAR_NAME} +yyrule158: // {VAR_NAME} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return T_STRING goto yystate0 } -yyrule160: // \] +yyrule159: // \] { l.popState() l.popState() @@ -8807,7 +8715,7 @@ yyrule160: // \] return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule161: // [ \n\r\t\\'#] +yyrule160: // [ \n\r\t\\'#] { l.popState() l.popState() @@ -8815,19 +8723,19 @@ yyrule161: // [ \n\r\t\\'#] return T_ENCAPSED_AND_WHITESPACE goto yystate0 } -yyrule162: // {OPERATORS} +yyrule161: // {OPERATORS} { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule163: // . +yyrule162: // . { lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) return rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } -yyrule164: // {VAR_NAME}[\[\}] +yyrule163: // {VAR_NAME}[\[\}] { l.popState() l.pushState(PHP) @@ -8835,7 +8743,7 @@ yyrule164: // {VAR_NAME}[\[\}] return T_STRING_VARNAME goto yystate0 } -yyrule165: // . +yyrule164: // . { l.ungetN(1) l.popState() diff --git a/parser/scanner.l b/parser/scanner.l index d90ab45..5f7809f 100644 --- a/parser/scanner.l +++ b/parser/scanner.l @@ -246,12 +246,40 @@ NEW_LINE (\r|\n|\r\n) \>\> lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return T_SR \?\? lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return T_COALESCE (#|[/][/]).*{NEW_LINE} lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil)));// return T_COMMENT; // TODO: handle ?> -[/][*][^*]*[*]+([^*/][^*]*[*]+)*[/] lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil)));// return T_COMMENT; // TODO: handle ?> -[/][*][*][^*]*[*]+([^*/][^*]*[*]+)*[/] lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil)));// return T_DOC_COMMENT; // TODO: handle ?> +([/][*])|([/][*][*]) + tb := l.TokenBytes(nil) + is_doc_comment := false + if len(tb) > 2 { + is_doc_comment = true + l.phpDocComment = "" + } + + for { + if c == -1 { + break; // TODO: Unterminated comment starting line %d + } + + p := c + c = l.Next() + + if rune(p) == '*' && rune(c) == '/' { + c = l.Next() + break; + } + } + + lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))) + if is_doc_comment { + l.phpDocComment = string(l.TokenBytes(nil)) + // return T_DOC_COMMENT + } else { + // return T_COMMENT + } + {OPERATORS} lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return rune2Class(rune(l.TokenBytes(nil)[0])) \{ l.pushState(PHP); lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return rune2Class(rune(l.TokenBytes(nil)[0])) -\} l.popState(); lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return rune2Class(rune(l.TokenBytes(nil)[0])) +\} l.popState(); lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return rune2Class(rune(l.TokenBytes(nil)[0])); l.phpDocComment = "" \${VAR_NAME} lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return T_VARIABLE {VAR_NAME} lval.token = token.NewToken(l.handleNewLine(l.TokenBytes(nil))); return T_STRING