1{ 2 "name": "php", 3 "word": "name", 4 "rules": { 5 "program": { 6 "type": "SEQ", 7 "members": [ 8 { 9 "type": "CHOICE", 10 "members": [ 11 { 12 "type": "SYMBOL", 13 "name": "text" 14 }, 15 { 16 "type": "BLANK" 17 } 18 ] 19 }, 20 { 21 "type": "CHOICE", 22 "members": [ 23 { 24 "type": "SEQ", 25 "members": [ 26 { 27 "type": "SYMBOL", 28 "name": "php_tag" 29 }, 30 { 31 "type": "REPEAT", 32 "content": { 33 "type": "SYMBOL", 34 "name": "_statement" 35 } 36 } 37 ] 38 }, 39 { 40 "type": "BLANK" 41 } 42 ] 43 } 44 ] 45 }, 46 "php_tag": { 47 "type": "PATTERN", 48 "value": "<\\?([pP][hH][pP]|=)?" 49 }, 50 "text_interpolation": { 51 "type": "SEQ", 52 "members": [ 53 { 54 "type": "STRING", 55 "value": "?>" 56 }, 57 { 58 "type": "CHOICE", 59 "members": [ 60 { 61 "type": "SYMBOL", 62 "name": "text" 63 }, 64 { 65 "type": "BLANK" 66 } 67 ] 68 }, 69 { 70 "type": "CHOICE", 71 "members": [ 72 { 73 "type": "SYMBOL", 74 "name": "php_tag" 75 }, 76 { 77 "type": "SYMBOL", 78 "name": "_eof" 79 } 80 ] 81 } 82 ] 83 }, 84 "text": { 85 "type": "REPEAT1", 86 "content": { 87 "type": "CHOICE", 88 "members": [ 89 { 90 "type": "TOKEN", 91 "content": { 92 "type": "PREC", 93 "value": -1, 94 "content": { 95 "type": "PATTERN", 96 "value": "<" 97 } 98 } 99 }, 100 { 101 "type": "PATTERN", 102 "value": "[^\\s<][^<]*" 103 } 104 ] 105 } 106 }, 107 "_statement": { 108 "type": "CHOICE", 109 "members": [ 110 { 111 "type": "SYMBOL", 112 "name": "empty_statement" 113 }, 114 { 115 "type": "SYMBOL", 116 "name": "compound_statement" 117 }, 118 { 119 "type": "SYMBOL", 120 "name": "named_label_statement" 121 }, 122 { 123 "type": "SYMBOL", 124 "name": "expression_statement" 125 }, 126 { 127 "type": "SYMBOL", 128 "name": "if_statement" 129 }, 130 { 131 "type": "SYMBOL", 132 "name": "switch_statement" 133 }, 134 { 135 "type": "SYMBOL", 136 "name": "while_statement" 137 }, 138 { 139 "type": "SYMBOL", 140 "name": "do_statement" 141 }, 142 { 143 "type": "SYMBOL", 144 "name": "for_statement" 145 }, 146 { 147 "type": "SYMBOL", 148 "name": "foreach_statement" 149 }, 150 { 151 "type": "SYMBOL", 152 "name": "goto_statement" 153 }, 154 { 155 "type": "SYMBOL", 156 "name": "continue_statement" 157 }, 158 { 159 "type": "SYMBOL", 160 "name": "break_statement" 161 }, 162 { 163 "type": "SYMBOL", 164 "name": "return_statement" 165 }, 166 { 167 "type": "SYMBOL", 168 "name": "throw_statement" 169 }, 170 { 171 "type": "SYMBOL", 172 "name": "try_statement" 173 }, 174 { 175 "type": "SYMBOL", 176 "name": "declare_statement" 177 }, 178 { 179 "type": "SYMBOL", 180 "name": "echo_statement" 181 }, 182 { 183 "type": "SYMBOL", 184 "name": "unset_statement" 185 }, 186 { 187 "type": "SYMBOL", 188 "name": "const_declaration" 189 }, 190 { 191 "type": "SYMBOL", 192 "name": "function_definition" 193 }, 194 { 195 "type": "SYMBOL", 196 "name": "class_declaration" 197 }, 198 { 199 "type": "SYMBOL", 200 "name": "interface_declaration" 201 }, 202 { 203 "type": "SYMBOL", 204 "name": "trait_declaration" 205 }, 206 { 207 "type": "SYMBOL", 208 "name": "namespace_definition" 209 }, 210 { 211 "type": "SYMBOL", 212 "name": "namespace_use_declaration" 213 }, 214 { 215 "type": "SYMBOL", 216 "name": "global_declaration" 217 }, 218 { 219 "type": "SYMBOL", 220 "name": "function_static_declaration" 221 } 222 ] 223 }, 224 "empty_statement": { 225 "type": "PREC", 226 "value": -1, 227 "content": { 228 "type": "STRING", 229 "value": ";" 230 } 231 }, 232 "function_static_declaration": { 233 "type": "SEQ", 234 "members": [ 235 { 236 "type": "ALIAS", 237 "content": { 238 "type": "PATTERN", 239 "value": "[sS][tT][aA][tT][iI][cC]" 240 }, 241 "named": false, 242 "value": "static" 243 }, 244 { 245 "type": "SEQ", 246 "members": [ 247 { 248 "type": "SYMBOL", 249 "name": "static_variable_declaration" 250 }, 251 { 252 "type": "REPEAT", 253 "content": { 254 "type": "SEQ", 255 "members": [ 256 { 257 "type": "STRING", 258 "value": "," 259 }, 260 { 261 "type": "SYMBOL", 262 "name": "static_variable_declaration" 263 } 264 ] 265 } 266 } 267 ] 268 }, 269 { 270 "type": "SYMBOL", 271 "name": "_semicolon" 272 } 273 ] 274 }, 275 "static_variable_declaration": { 276 "type": "SEQ", 277 "members": [ 278 { 279 "type": "FIELD", 280 "name": "name", 281 "content": { 282 "type": "SYMBOL", 283 "name": "variable_name" 284 } 285 }, 286 { 287 "type": "CHOICE", 288 "members": [ 289 { 290 "type": "SEQ", 291 "members": [ 292 { 293 "type": "STRING", 294 "value": "=" 295 }, 296 { 297 "type": "FIELD", 298 "name": "value", 299 "content": { 300 "type": "SYMBOL", 301 "name": "_expression" 302 } 303 } 304 ] 305 }, 306 { 307 "type": "BLANK" 308 } 309 ] 310 } 311 ] 312 }, 313 "global_declaration": { 314 "type": "SEQ", 315 "members": [ 316 { 317 "type": "ALIAS", 318 "content": { 319 "type": "PATTERN", 320 "value": "[gG][lL][oO][bB][aA][lL]" 321 }, 322 "named": false, 323 "value": "global" 324 }, 325 { 326 "type": "SEQ", 327 "members": [ 328 { 329 "type": "SYMBOL", 330 "name": "_variable_name" 331 }, 332 { 333 "type": "REPEAT", 334 "content": { 335 "type": "SEQ", 336 "members": [ 337 { 338 "type": "STRING", 339 "value": "," 340 }, 341 { 342 "type": "SYMBOL", 343 "name": "_variable_name" 344 } 345 ] 346 } 347 } 348 ] 349 }, 350 { 351 "type": "SYMBOL", 352 "name": "_semicolon" 353 } 354 ] 355 }, 356 "namespace_definition": { 357 "type": "SEQ", 358 "members": [ 359 { 360 "type": "ALIAS", 361 "content": { 362 "type": "PATTERN", 363 "value": "[nN][aA][mM][eE][sS][pP][aA][cC][eE]" 364 }, 365 "named": false, 366 "value": "namespace" 367 }, 368 { 369 "type": "CHOICE", 370 "members": [ 371 { 372 "type": "SEQ", 373 "members": [ 374 { 375 "type": "FIELD", 376 "name": "name", 377 "content": { 378 "type": "SYMBOL", 379 "name": "namespace_name" 380 } 381 }, 382 { 383 "type": "SYMBOL", 384 "name": "_semicolon" 385 } 386 ] 387 }, 388 { 389 "type": "SEQ", 390 "members": [ 391 { 392 "type": "FIELD", 393 "name": "name", 394 "content": { 395 "type": "CHOICE", 396 "members": [ 397 { 398 "type": "SYMBOL", 399 "name": "namespace_name" 400 }, 401 { 402 "type": "BLANK" 403 } 404 ] 405 } 406 }, 407 { 408 "type": "FIELD", 409 "name": "body", 410 "content": { 411 "type": "SYMBOL", 412 "name": "compound_statement" 413 } 414 } 415 ] 416 } 417 ] 418 } 419 ] 420 }, 421 "namespace_use_declaration": { 422 "type": "SEQ", 423 "members": [ 424 { 425 "type": "ALIAS", 426 "content": { 427 "type": "PATTERN", 428 "value": "[uU][sS][eE]" 429 }, 430 "named": false, 431 "value": "use" 432 }, 433 { 434 "type": "CHOICE", 435 "members": [ 436 { 437 "type": "CHOICE", 438 "members": [ 439 { 440 "type": "ALIAS", 441 "content": { 442 "type": "PATTERN", 443 "value": "[fF][uU][nN][cC][tT][iI][oO][nN]" 444 }, 445 "named": false, 446 "value": "function" 447 }, 448 { 449 "type": "ALIAS", 450 "content": { 451 "type": "PATTERN", 452 "value": "[cC][oO][nN][sS][tT]" 453 }, 454 "named": false, 455 "value": "const" 456 } 457 ] 458 }, 459 { 460 "type": "BLANK" 461 } 462 ] 463 }, 464 { 465 "type": "CHOICE", 466 "members": [ 467 { 468 "type": "SEQ", 469 "members": [ 470 { 471 "type": "SEQ", 472 "members": [ 473 { 474 "type": "SYMBOL", 475 "name": "namespace_use_clause" 476 }, 477 { 478 "type": "REPEAT", 479 "content": { 480 "type": "SEQ", 481 "members": [ 482 { 483 "type": "STRING", 484 "value": "," 485 }, 486 { 487 "type": "SYMBOL", 488 "name": "namespace_use_clause" 489 } 490 ] 491 } 492 } 493 ] 494 } 495 ] 496 }, 497 { 498 "type": "SEQ", 499 "members": [ 500 { 501 "type": "CHOICE", 502 "members": [ 503 { 504 "type": "STRING", 505 "value": "\\" 506 }, 507 { 508 "type": "BLANK" 509 } 510 ] 511 }, 512 { 513 "type": "SYMBOL", 514 "name": "namespace_name" 515 }, 516 { 517 "type": "STRING", 518 "value": "\\" 519 }, 520 { 521 "type": "SYMBOL", 522 "name": "namespace_use_group" 523 } 524 ] 525 } 526 ] 527 }, 528 { 529 "type": "SYMBOL", 530 "name": "_semicolon" 531 } 532 ] 533 }, 534 "namespace_use_clause": { 535 "type": "SEQ", 536 "members": [ 537 { 538 "type": "SYMBOL", 539 "name": "qualified_name" 540 }, 541 { 542 "type": "CHOICE", 543 "members": [ 544 { 545 "type": "SYMBOL", 546 "name": "namespace_aliasing_clause" 547 }, 548 { 549 "type": "BLANK" 550 } 551 ] 552 } 553 ] 554 }, 555 "qualified_name": { 556 "type": "SEQ", 557 "members": [ 558 { 559 "type": "CHOICE", 560 "members": [ 561 { 562 "type": "SYMBOL", 563 "name": "namespace_name_as_prefix" 564 }, 565 { 566 "type": "BLANK" 567 } 568 ] 569 }, 570 { 571 "type": "CHOICE", 572 "members": [ 573 { 574 "type": "SYMBOL", 575 "name": "name" 576 }, 577 { 578 "type": "ALIAS", 579 "content": { 580 "type": "SYMBOL", 581 "name": "_reserved_identifier" 582 }, 583 "named": true, 584 "value": "name" 585 } 586 ] 587 } 588 ] 589 }, 590 "namespace_name_as_prefix": { 591 "type": "CHOICE", 592 "members": [ 593 { 594 "type": "STRING", 595 "value": "\\" 596 }, 597 { 598 "type": "SEQ", 599 "members": [ 600 { 601 "type": "CHOICE", 602 "members": [ 603 { 604 "type": "STRING", 605 "value": "\\" 606 }, 607 { 608 "type": "BLANK" 609 } 610 ] 611 }, 612 { 613 "type": "SYMBOL", 614 "name": "namespace_name" 615 }, 616 { 617 "type": "STRING", 618 "value": "\\" 619 } 620 ] 621 }, 622 { 623 "type": "SEQ", 624 "members": [ 625 { 626 "type": "ALIAS", 627 "content": { 628 "type": "PATTERN", 629 "value": "[nN][aA][mM][eE][sS][pP][aA][cC][eE]" 630 }, 631 "named": false, 632 "value": "namespace" 633 }, 634 { 635 "type": "STRING", 636 "value": "\\" 637 } 638 ] 639 }, 640 { 641 "type": "SEQ", 642 "members": [ 643 { 644 "type": "ALIAS", 645 "content": { 646 "type": "PATTERN", 647 "value": "[nN][aA][mM][eE][sS][pP][aA][cC][eE]" 648 }, 649 "named": false, 650 "value": "namespace" 651 }, 652 { 653 "type": "CHOICE", 654 "members": [ 655 { 656 "type": "STRING", 657 "value": "\\" 658 }, 659 { 660 "type": "BLANK" 661 } 662 ] 663 }, 664 { 665 "type": "SYMBOL", 666 "name": "namespace_name" 667 }, 668 { 669 "type": "STRING", 670 "value": "\\" 671 } 672 ] 673 } 674 ] 675 }, 676 "namespace_name": { 677 "type": "SEQ", 678 "members": [ 679 { 680 "type": "SYMBOL", 681 "name": "name" 682 }, 683 { 684 "type": "REPEAT", 685 "content": { 686 "type": "SEQ", 687 "members": [ 688 { 689 "type": "STRING", 690 "value": "\\" 691 }, 692 { 693 "type": "SYMBOL", 694 "name": "name" 695 } 696 ] 697 } 698 } 699 ] 700 }, 701 "namespace_aliasing_clause": { 702 "type": "SEQ", 703 "members": [ 704 { 705 "type": "ALIAS", 706 "content": { 707 "type": "PATTERN", 708 "value": "[aA][sS]" 709 }, 710 "named": false, 711 "value": "as" 712 }, 713 { 714 "type": "SYMBOL", 715 "name": "name" 716 } 717 ] 718 }, 719 "namespace_use_group": { 720 "type": "SEQ", 721 "members": [ 722 { 723 "type": "STRING", 724 "value": "{" 725 }, 726 { 727 "type": "SEQ", 728 "members": [ 729 { 730 "type": "SYMBOL", 731 "name": "namespace_use_group_clause" 732 }, 733 { 734 "type": "REPEAT", 735 "content": { 736 "type": "SEQ", 737 "members": [ 738 { 739 "type": "STRING", 740 "value": "," 741 }, 742 { 743 "type": "SYMBOL", 744 "name": "namespace_use_group_clause" 745 } 746 ] 747 } 748 } 749 ] 750 }, 751 { 752 "type": "STRING", 753 "value": "}" 754 } 755 ] 756 }, 757 "namespace_use_group_clause": { 758 "type": "SEQ", 759 "members": [ 760 { 761 "type": "CHOICE", 762 "members": [ 763 { 764 "type": "CHOICE", 765 "members": [ 766 { 767 "type": "ALIAS", 768 "content": { 769 "type": "PATTERN", 770 "value": "[fF][uU][nN][cC][tT][iI][oO][nN]" 771 }, 772 "named": false, 773 "value": "function" 774 }, 775 { 776 "type": "ALIAS", 777 "content": { 778 "type": "PATTERN", 779 "value": "[cC][oO][nN][sS][tT]" 780 }, 781 "named": false, 782 "value": "const" 783 } 784 ] 785 }, 786 { 787 "type": "BLANK" 788 } 789 ] 790 }, 791 { 792 "type": "SYMBOL", 793 "name": "namespace_name" 794 }, 795 { 796 "type": "CHOICE", 797 "members": [ 798 { 799 "type": "SYMBOL", 800 "name": "namespace_aliasing_clause" 801 }, 802 { 803 "type": "BLANK" 804 } 805 ] 806 } 807 ] 808 }, 809 "trait_declaration": { 810 "type": "SEQ", 811 "members": [ 812 { 813 "type": "ALIAS", 814 "content": { 815 "type": "PATTERN", 816 "value": "[tT][rR][aA][iI][tT]" 817 }, 818 "named": false, 819 "value": "trait" 820 }, 821 { 822 "type": "FIELD", 823 "name": "name", 824 "content": { 825 "type": "SYMBOL", 826 "name": "name" 827 } 828 }, 829 { 830 "type": "FIELD", 831 "name": "body", 832 "content": { 833 "type": "SYMBOL", 834 "name": "declaration_list" 835 } 836 } 837 ] 838 }, 839 "interface_declaration": { 840 "type": "SEQ", 841 "members": [ 842 { 843 "type": "ALIAS", 844 "content": { 845 "type": "PATTERN", 846 "value": "[iI][nN][tT][eE][rR][fF][aA][cC][eE]" 847 }, 848 "named": false, 849 "value": "interface" 850 }, 851 { 852 "type": "FIELD", 853 "name": "name", 854 "content": { 855 "type": "SYMBOL", 856 "name": "name" 857 } 858 }, 859 { 860 "type": "CHOICE", 861 "members": [ 862 { 863 "type": "SYMBOL", 864 "name": "base_clause" 865 }, 866 { 867 "type": "BLANK" 868 } 869 ] 870 }, 871 { 872 "type": "FIELD", 873 "name": "body", 874 "content": { 875 "type": "SYMBOL", 876 "name": "declaration_list" 877 } 878 } 879 ] 880 }, 881 "base_clause": { 882 "type": "SEQ", 883 "members": [ 884 { 885 "type": "ALIAS", 886 "content": { 887 "type": "PATTERN", 888 "value": "[eE][xX][tT][eE][nN][dD][sS]" 889 }, 890 "named": false, 891 "value": "extends" 892 }, 893 { 894 "type": "SEQ", 895 "members": [ 896 { 897 "type": "SYMBOL", 898 "name": "qualified_name" 899 }, 900 { 901 "type": "REPEAT", 902 "content": { 903 "type": "SEQ", 904 "members": [ 905 { 906 "type": "STRING", 907 "value": "," 908 }, 909 { 910 "type": "SYMBOL", 911 "name": "qualified_name" 912 } 913 ] 914 } 915 } 916 ] 917 } 918 ] 919 }, 920 "class_declaration": { 921 "type": "PREC_RIGHT", 922 "value": 0, 923 "content": { 924 "type": "SEQ", 925 "members": [ 926 { 927 "type": "CHOICE", 928 "members": [ 929 { 930 "type": "SYMBOL", 931 "name": "class_modifier" 932 }, 933 { 934 "type": "BLANK" 935 } 936 ] 937 }, 938 { 939 "type": "ALIAS", 940 "content": { 941 "type": "PATTERN", 942 "value": "[cC][lL][aA][sS][sS]" 943 }, 944 "named": false, 945 "value": "class" 946 }, 947 { 948 "type": "FIELD", 949 "name": "name", 950 "content": { 951 "type": "SYMBOL", 952 "name": "name" 953 } 954 }, 955 { 956 "type": "CHOICE", 957 "members": [ 958 { 959 "type": "SYMBOL", 960 "name": "base_clause" 961 }, 962 { 963 "type": "BLANK" 964 } 965 ] 966 }, 967 { 968 "type": "CHOICE", 969 "members": [ 970 { 971 "type": "SYMBOL", 972 "name": "class_interface_clause" 973 }, 974 { 975 "type": "BLANK" 976 } 977 ] 978 }, 979 { 980 "type": "FIELD", 981 "name": "body", 982 "content": { 983 "type": "SYMBOL", 984 "name": "declaration_list" 985 } 986 }, 987 { 988 "type": "CHOICE", 989 "members": [ 990 { 991 "type": "SYMBOL", 992 "name": "_semicolon" 993 }, 994 { 995 "type": "BLANK" 996 } 997 ] 998 } 999 ] 1000 } 1001 }, 1002 "declaration_list": { 1003 "type": "SEQ", 1004 "members": [ 1005 { 1006 "type": "STRING", 1007 "value": "{" 1008 }, 1009 { 1010 "type": "REPEAT", 1011 "content": { 1012 "type": "SYMBOL", 1013 "name": "_member_declaration" 1014 } 1015 }, 1016 { 1017 "type": "STRING", 1018 "value": "}" 1019 } 1020 ] 1021 }, 1022 "class_modifier": { 1023 "type": "CHOICE", 1024 "members": [ 1025 { 1026 "type": "ALIAS", 1027 "content": { 1028 "type": "PATTERN", 1029 "value": "[aA][bB][sS][tT][rR][aA][cC][tT]" 1030 }, 1031 "named": false, 1032 "value": "abstract" 1033 }, 1034 { 1035 "type": "ALIAS", 1036 "content": { 1037 "type": "PATTERN", 1038 "value": "[fF][iI][nN][aA][lL]" 1039 }, 1040 "named": false, 1041 "value": "final" 1042 } 1043 ] 1044 }, 1045 "class_interface_clause": { 1046 "type": "SEQ", 1047 "members": [ 1048 { 1049 "type": "ALIAS", 1050 "content": { 1051 "type": "PATTERN", 1052 "value": "[iI][mM][pP][lL][eE][mM][eE][nN][tT][sS]" 1053 }, 1054 "named": false, 1055 "value": "implements" 1056 }, 1057 { 1058 "type": "SEQ", 1059 "members": [ 1060 { 1061 "type": "SYMBOL", 1062 "name": "qualified_name" 1063 }, 1064 { 1065 "type": "REPEAT", 1066 "content": { 1067 "type": "SEQ", 1068 "members": [ 1069 { 1070 "type": "STRING", 1071 "value": "," 1072 }, 1073 { 1074 "type": "SYMBOL", 1075 "name": "qualified_name" 1076 } 1077 ] 1078 } 1079 } 1080 ] 1081 } 1082 ] 1083 }, 1084 "_member_declaration": { 1085 "type": "CHOICE", 1086 "members": [ 1087 { 1088 "type": "SYMBOL", 1089 "name": "const_declaration" 1090 }, 1091 { 1092 "type": "SYMBOL", 1093 "name": "property_declaration" 1094 }, 1095 { 1096 "type": "SYMBOL", 1097 "name": "method_declaration" 1098 }, 1099 { 1100 "type": "SYMBOL", 1101 "name": "use_declaration" 1102 } 1103 ] 1104 }, 1105 "const_declaration": { 1106 "type": "SEQ", 1107 "members": [ 1108 { 1109 "type": "CHOICE", 1110 "members": [ 1111 { 1112 "type": "SYMBOL", 1113 "name": "visibility_modifier" 1114 }, 1115 { 1116 "type": "BLANK" 1117 } 1118 ] 1119 }, 1120 { 1121 "type": "ALIAS", 1122 "content": { 1123 "type": "PATTERN", 1124 "value": "[cC][oO][nN][sS][tT]" 1125 }, 1126 "named": false, 1127 "value": "const" 1128 }, 1129 { 1130 "type": "SEQ", 1131 "members": [ 1132 { 1133 "type": "SYMBOL", 1134 "name": "const_element" 1135 }, 1136 { 1137 "type": "REPEAT", 1138 "content": { 1139 "type": "SEQ", 1140 "members": [ 1141 { 1142 "type": "STRING", 1143 "value": "," 1144 }, 1145 { 1146 "type": "SYMBOL", 1147 "name": "const_element" 1148 } 1149 ] 1150 } 1151 } 1152 ] 1153 }, 1154 { 1155 "type": "SYMBOL", 1156 "name": "_semicolon" 1157 } 1158 ] 1159 }, 1160 "property_declaration": { 1161 "type": "SEQ", 1162 "members": [ 1163 { 1164 "type": "REPEAT1", 1165 "content": { 1166 "type": "SYMBOL", 1167 "name": "_modifier" 1168 } 1169 }, 1170 { 1171 "type": "CHOICE", 1172 "members": [ 1173 { 1174 "type": "FIELD", 1175 "name": "type", 1176 "content": { 1177 "type": "SYMBOL", 1178 "name": "_type" 1179 } 1180 }, 1181 { 1182 "type": "BLANK" 1183 } 1184 ] 1185 }, 1186 { 1187 "type": "SEQ", 1188 "members": [ 1189 { 1190 "type": "SYMBOL", 1191 "name": "property_element" 1192 }, 1193 { 1194 "type": "REPEAT", 1195 "content": { 1196 "type": "SEQ", 1197 "members": [ 1198 { 1199 "type": "STRING", 1200 "value": "," 1201 }, 1202 { 1203 "type": "SYMBOL", 1204 "name": "property_element" 1205 } 1206 ] 1207 } 1208 } 1209 ] 1210 }, 1211 { 1212 "type": "SYMBOL", 1213 "name": "_semicolon" 1214 } 1215 ] 1216 }, 1217 "_modifier": { 1218 "type": "CHOICE", 1219 "members": [ 1220 { 1221 "type": "SYMBOL", 1222 "name": "var_modifier" 1223 }, 1224 { 1225 "type": "SYMBOL", 1226 "name": "visibility_modifier" 1227 }, 1228 { 1229 "type": "SYMBOL", 1230 "name": "static_modifier" 1231 }, 1232 { 1233 "type": "SYMBOL", 1234 "name": "class_modifier" 1235 } 1236 ] 1237 }, 1238 "property_element": { 1239 "type": "SEQ", 1240 "members": [ 1241 { 1242 "type": "SYMBOL", 1243 "name": "variable_name" 1244 }, 1245 { 1246 "type": "CHOICE", 1247 "members": [ 1248 { 1249 "type": "SYMBOL", 1250 "name": "property_initializer" 1251 }, 1252 { 1253 "type": "BLANK" 1254 } 1255 ] 1256 } 1257 ] 1258 }, 1259 "property_initializer": { 1260 "type": "SEQ", 1261 "members": [ 1262 { 1263 "type": "STRING", 1264 "value": "=" 1265 }, 1266 { 1267 "type": "SYMBOL", 1268 "name": "_expression" 1269 } 1270 ] 1271 }, 1272 "method_declaration": { 1273 "type": "SEQ", 1274 "members": [ 1275 { 1276 "type": "REPEAT", 1277 "content": { 1278 "type": "SYMBOL", 1279 "name": "_modifier" 1280 } 1281 }, 1282 { 1283 "type": "SYMBOL", 1284 "name": "_function_definition_header" 1285 }, 1286 { 1287 "type": "CHOICE", 1288 "members": [ 1289 { 1290 "type": "FIELD", 1291 "name": "body", 1292 "content": { 1293 "type": "SYMBOL", 1294 "name": "compound_statement" 1295 } 1296 }, 1297 { 1298 "type": "SYMBOL", 1299 "name": "_semicolon" 1300 } 1301 ] 1302 } 1303 ] 1304 }, 1305 "var_modifier": { 1306 "type": "PATTERN", 1307 "value": "[vV][aA][rR]" 1308 }, 1309 "static_modifier": { 1310 "type": "ALIAS", 1311 "content": { 1312 "type": "PATTERN", 1313 "value": "[sS][tT][aA][tT][iI][cC]" 1314 }, 1315 "named": false, 1316 "value": "static" 1317 }, 1318 "use_declaration": { 1319 "type": "SEQ", 1320 "members": [ 1321 { 1322 "type": "ALIAS", 1323 "content": { 1324 "type": "PATTERN", 1325 "value": "[uU][sS][eE]" 1326 }, 1327 "named": false, 1328 "value": "use" 1329 }, 1330 { 1331 "type": "SEQ", 1332 "members": [ 1333 { 1334 "type": "SYMBOL", 1335 "name": "qualified_name" 1336 }, 1337 { 1338 "type": "REPEAT", 1339 "content": { 1340 "type": "SEQ", 1341 "members": [ 1342 { 1343 "type": "STRING", 1344 "value": "," 1345 }, 1346 { 1347 "type": "SYMBOL", 1348 "name": "qualified_name" 1349 } 1350 ] 1351 } 1352 } 1353 ] 1354 }, 1355 { 1356 "type": "CHOICE", 1357 "members": [ 1358 { 1359 "type": "SYMBOL", 1360 "name": "use_list" 1361 }, 1362 { 1363 "type": "SYMBOL", 1364 "name": "_semicolon" 1365 } 1366 ] 1367 } 1368 ] 1369 }, 1370 "use_list": { 1371 "type": "SEQ", 1372 "members": [ 1373 { 1374 "type": "STRING", 1375 "value": "{" 1376 }, 1377 { 1378 "type": "REPEAT", 1379 "content": { 1380 "type": "SEQ", 1381 "members": [ 1382 { 1383 "type": "CHOICE", 1384 "members": [ 1385 { 1386 "type": "SYMBOL", 1387 "name": "use_instead_of_clause" 1388 }, 1389 { 1390 "type": "SYMBOL", 1391 "name": "use_as_clause" 1392 } 1393 ] 1394 }, 1395 { 1396 "type": "SYMBOL", 1397 "name": "_semicolon" 1398 } 1399 ] 1400 } 1401 }, 1402 { 1403 "type": "STRING", 1404 "value": "}" 1405 } 1406 ] 1407 }, 1408 "use_instead_of_clause": { 1409 "type": "PREC_LEFT", 1410 "value": 0, 1411 "content": { 1412 "type": "SEQ", 1413 "members": [ 1414 { 1415 "type": "CHOICE", 1416 "members": [ 1417 { 1418 "type": "SYMBOL", 1419 "name": "class_constant_access_expression" 1420 }, 1421 { 1422 "type": "SYMBOL", 1423 "name": "name" 1424 } 1425 ] 1426 }, 1427 { 1428 "type": "ALIAS", 1429 "content": { 1430 "type": "PATTERN", 1431 "value": "[iI][nN][sS][tT][eE][aA][dD][oO][fF]" 1432 }, 1433 "named": false, 1434 "value": "insteadof" 1435 }, 1436 { 1437 "type": "SYMBOL", 1438 "name": "name" 1439 } 1440 ] 1441 } 1442 }, 1443 "use_as_clause": { 1444 "type": "SEQ", 1445 "members": [ 1446 { 1447 "type": "CHOICE", 1448 "members": [ 1449 { 1450 "type": "SYMBOL", 1451 "name": "class_constant_access_expression" 1452 }, 1453 { 1454 "type": "SYMBOL", 1455 "name": "name" 1456 } 1457 ] 1458 }, 1459 { 1460 "type": "ALIAS", 1461 "content": { 1462 "type": "PATTERN", 1463 "value": "[aA][sS]" 1464 }, 1465 "named": false, 1466 "value": "as" 1467 }, 1468 { 1469 "type": "CHOICE", 1470 "members": [ 1471 { 1472 "type": "SEQ", 1473 "members": [ 1474 { 1475 "type": "CHOICE", 1476 "members": [ 1477 { 1478 "type": "SYMBOL", 1479 "name": "visibility_modifier" 1480 }, 1481 { 1482 "type": "BLANK" 1483 } 1484 ] 1485 }, 1486 { 1487 "type": "SYMBOL", 1488 "name": "name" 1489 } 1490 ] 1491 }, 1492 { 1493 "type": "SEQ", 1494 "members": [ 1495 { 1496 "type": "SYMBOL", 1497 "name": "visibility_modifier" 1498 }, 1499 { 1500 "type": "CHOICE", 1501 "members": [ 1502 { 1503 "type": "SYMBOL", 1504 "name": "name" 1505 }, 1506 { 1507 "type": "BLANK" 1508 } 1509 ] 1510 } 1511 ] 1512 } 1513 ] 1514 } 1515 ] 1516 }, 1517 "visibility_modifier": { 1518 "type": "CHOICE", 1519 "members": [ 1520 { 1521 "type": "ALIAS", 1522 "content": { 1523 "type": "PATTERN", 1524 "value": "[pP][uU][bB][lL][iI][cC]" 1525 }, 1526 "named": false, 1527 "value": "public" 1528 }, 1529 { 1530 "type": "ALIAS", 1531 "content": { 1532 "type": "PATTERN", 1533 "value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]" 1534 }, 1535 "named": false, 1536 "value": "protected" 1537 }, 1538 { 1539 "type": "ALIAS", 1540 "content": { 1541 "type": "PATTERN", 1542 "value": "[pP][rR][iI][vV][aA][tT][eE]" 1543 }, 1544 "named": false, 1545 "value": "private" 1546 } 1547 ] 1548 }, 1549 "function_definition": { 1550 "type": "SEQ", 1551 "members": [ 1552 { 1553 "type": "SYMBOL", 1554 "name": "_function_definition_header" 1555 }, 1556 { 1557 "type": "FIELD", 1558 "name": "body", 1559 "content": { 1560 "type": "SYMBOL", 1561 "name": "compound_statement" 1562 } 1563 } 1564 ] 1565 }, 1566 "_function_definition_header": { 1567 "type": "SEQ", 1568 "members": [ 1569 { 1570 "type": "ALIAS", 1571 "content": { 1572 "type": "PATTERN", 1573 "value": "[fF][uU][nN][cC][tT][iI][oO][nN]" 1574 }, 1575 "named": false, 1576 "value": "function" 1577 }, 1578 { 1579 "type": "CHOICE", 1580 "members": [ 1581 { 1582 "type": "STRING", 1583 "value": "&" 1584 }, 1585 { 1586 "type": "BLANK" 1587 } 1588 ] 1589 }, 1590 { 1591 "type": "FIELD", 1592 "name": "name", 1593 "content": { 1594 "type": "CHOICE", 1595 "members": [ 1596 { 1597 "type": "SYMBOL", 1598 "name": "name" 1599 }, 1600 { 1601 "type": "ALIAS", 1602 "content": { 1603 "type": "SYMBOL", 1604 "name": "_reserved_identifier" 1605 }, 1606 "named": true, 1607 "value": "name" 1608 } 1609 ] 1610 } 1611 }, 1612 { 1613 "type": "FIELD", 1614 "name": "parameters", 1615 "content": { 1616 "type": "SYMBOL", 1617 "name": "formal_parameters" 1618 } 1619 }, 1620 { 1621 "type": "CHOICE", 1622 "members": [ 1623 { 1624 "type": "SYMBOL", 1625 "name": "_return_type" 1626 }, 1627 { 1628 "type": "BLANK" 1629 } 1630 ] 1631 } 1632 ] 1633 }, 1634 "formal_parameters": { 1635 "type": "SEQ", 1636 "members": [ 1637 { 1638 "type": "STRING", 1639 "value": "(" 1640 }, 1641 { 1642 "type": "CHOICE", 1643 "members": [ 1644 { 1645 "type": "SEQ", 1646 "members": [ 1647 { 1648 "type": "CHOICE", 1649 "members": [ 1650 { 1651 "type": "SYMBOL", 1652 "name": "simple_parameter" 1653 }, 1654 { 1655 "type": "SYMBOL", 1656 "name": "variadic_parameter" 1657 } 1658 ] 1659 }, 1660 { 1661 "type": "REPEAT", 1662 "content": { 1663 "type": "SEQ", 1664 "members": [ 1665 { 1666 "type": "STRING", 1667 "value": "," 1668 }, 1669 { 1670 "type": "CHOICE", 1671 "members": [ 1672 { 1673 "type": "SYMBOL", 1674 "name": "simple_parameter" 1675 }, 1676 { 1677 "type": "SYMBOL", 1678 "name": "variadic_parameter" 1679 } 1680 ] 1681 } 1682 ] 1683 } 1684 } 1685 ] 1686 }, 1687 { 1688 "type": "BLANK" 1689 } 1690 ] 1691 }, 1692 { 1693 "type": "STRING", 1694 "value": ")" 1695 } 1696 ] 1697 }, 1698 "simple_parameter": { 1699 "type": "SEQ", 1700 "members": [ 1701 { 1702 "type": "FIELD", 1703 "name": "type", 1704 "content": { 1705 "type": "CHOICE", 1706 "members": [ 1707 { 1708 "type": "SYMBOL", 1709 "name": "_type" 1710 }, 1711 { 1712 "type": "BLANK" 1713 } 1714 ] 1715 } 1716 }, 1717 { 1718 "type": "CHOICE", 1719 "members": [ 1720 { 1721 "type": "STRING", 1722 "value": "&" 1723 }, 1724 { 1725 "type": "BLANK" 1726 } 1727 ] 1728 }, 1729 { 1730 "type": "FIELD", 1731 "name": "name", 1732 "content": { 1733 "type": "SYMBOL", 1734 "name": "variable_name" 1735 } 1736 }, 1737 { 1738 "type": "CHOICE", 1739 "members": [ 1740 { 1741 "type": "SEQ", 1742 "members": [ 1743 { 1744 "type": "STRING", 1745 "value": "=" 1746 }, 1747 { 1748 "type": "FIELD", 1749 "name": "default_value", 1750 "content": { 1751 "type": "SYMBOL", 1752 "name": "_expression" 1753 } 1754 } 1755 ] 1756 }, 1757 { 1758 "type": "BLANK" 1759 } 1760 ] 1761 } 1762 ] 1763 }, 1764 "variadic_parameter": { 1765 "type": "SEQ", 1766 "members": [ 1767 { 1768 "type": "FIELD", 1769 "name": "type", 1770 "content": { 1771 "type": "CHOICE", 1772 "members": [ 1773 { 1774 "type": "SYMBOL", 1775 "name": "_type" 1776 }, 1777 { 1778 "type": "BLANK" 1779 } 1780 ] 1781 } 1782 }, 1783 { 1784 "type": "CHOICE", 1785 "members": [ 1786 { 1787 "type": "STRING", 1788 "value": "&" 1789 }, 1790 { 1791 "type": "BLANK" 1792 } 1793 ] 1794 }, 1795 { 1796 "type": "STRING", 1797 "value": "..." 1798 }, 1799 { 1800 "type": "FIELD", 1801 "name": "name", 1802 "content": { 1803 "type": "SYMBOL", 1804 "name": "variable_name" 1805 } 1806 } 1807 ] 1808 }, 1809 "_type": { 1810 "type": "CHOICE", 1811 "members": [ 1812 { 1813 "type": "SYMBOL", 1814 "name": "optional_type" 1815 }, 1816 { 1817 "type": "SYMBOL", 1818 "name": "_type_name" 1819 }, 1820 { 1821 "type": "SYMBOL", 1822 "name": "primitive_type" 1823 } 1824 ] 1825 }, 1826 "_type_name": { 1827 "type": "ALIAS", 1828 "content": { 1829 "type": "SYMBOL", 1830 "name": "qualified_name" 1831 }, 1832 "named": true, 1833 "value": "type_name" 1834 }, 1835 "optional_type": { 1836 "type": "SEQ", 1837 "members": [ 1838 { 1839 "type": "STRING", 1840 "value": "?" 1841 }, 1842 { 1843 "type": "CHOICE", 1844 "members": [ 1845 { 1846 "type": "SYMBOL", 1847 "name": "_type_name" 1848 }, 1849 { 1850 "type": "SYMBOL", 1851 "name": "primitive_type" 1852 } 1853 ] 1854 } 1855 ] 1856 }, 1857 "primitive_type": { 1858 "type": "CHOICE", 1859 "members": [ 1860 { 1861 "type": "STRING", 1862 "value": "array" 1863 }, 1864 { 1865 "type": "STRING", 1866 "value": "callable" 1867 }, 1868 { 1869 "type": "STRING", 1870 "value": "iterable" 1871 }, 1872 { 1873 "type": "STRING", 1874 "value": "bool" 1875 }, 1876 { 1877 "type": "STRING", 1878 "value": "float" 1879 }, 1880 { 1881 "type": "STRING", 1882 "value": "int" 1883 }, 1884 { 1885 "type": "STRING", 1886 "value": "string" 1887 }, 1888 { 1889 "type": "STRING", 1890 "value": "void" 1891 } 1892 ] 1893 }, 1894 "cast_type": { 1895 "type": "CHOICE", 1896 "members": [ 1897 { 1898 "type": "STRING", 1899 "value": "array" 1900 }, 1901 { 1902 "type": "STRING", 1903 "value": "binary" 1904 }, 1905 { 1906 "type": "STRING", 1907 "value": "bool" 1908 }, 1909 { 1910 "type": "STRING", 1911 "value": "boolean" 1912 }, 1913 { 1914 "type": "STRING", 1915 "value": "double" 1916 }, 1917 { 1918 "type": "STRING", 1919 "value": "int" 1920 }, 1921 { 1922 "type": "STRING", 1923 "value": "integer" 1924 }, 1925 { 1926 "type": "STRING", 1927 "value": "float" 1928 }, 1929 { 1930 "type": "STRING", 1931 "value": "object" 1932 }, 1933 { 1934 "type": "STRING", 1935 "value": "real" 1936 }, 1937 { 1938 "type": "STRING", 1939 "value": "string" 1940 }, 1941 { 1942 "type": "STRING", 1943 "value": "unset" 1944 } 1945 ] 1946 }, 1947 "_return_type": { 1948 "type": "SEQ", 1949 "members": [ 1950 { 1951 "type": "STRING", 1952 "value": ":" 1953 }, 1954 { 1955 "type": "FIELD", 1956 "name": "return_type", 1957 "content": { 1958 "type": "SYMBOL", 1959 "name": "_type" 1960 } 1961 } 1962 ] 1963 }, 1964 "const_element": { 1965 "type": "SEQ", 1966 "members": [ 1967 { 1968 "type": "CHOICE", 1969 "members": [ 1970 { 1971 "type": "SYMBOL", 1972 "name": "name" 1973 }, 1974 { 1975 "type": "ALIAS", 1976 "content": { 1977 "type": "SYMBOL", 1978 "name": "_reserved_identifier" 1979 }, 1980 "named": true, 1981 "value": "name" 1982 } 1983 ] 1984 }, 1985 { 1986 "type": "STRING", 1987 "value": "=" 1988 }, 1989 { 1990 "type": "SYMBOL", 1991 "name": "_expression" 1992 } 1993 ] 1994 }, 1995 "echo_statement": { 1996 "type": "SEQ", 1997 "members": [ 1998 { 1999 "type": "ALIAS", 2000 "content": { 2001 "type": "PATTERN", 2002 "value": "[eE][cC][hH][oO]" 2003 }, 2004 "named": false, 2005 "value": "echo" 2006 }, 2007 { 2008 "type": "SYMBOL", 2009 "name": "_expressions" 2010 }, 2011 { 2012 "type": "SYMBOL", 2013 "name": "_semicolon" 2014 } 2015 ] 2016 }, 2017 "unset_statement": { 2018 "type": "SEQ", 2019 "members": [ 2020 { 2021 "type": "STRING", 2022 "value": "unset" 2023 }, 2024 { 2025 "type": "STRING", 2026 "value": "(" 2027 }, 2028 { 2029 "type": "SEQ", 2030 "members": [ 2031 { 2032 "type": "SYMBOL", 2033 "name": "_variable" 2034 }, 2035 { 2036 "type": "REPEAT", 2037 "content": { 2038 "type": "SEQ", 2039 "members": [ 2040 { 2041 "type": "STRING", 2042 "value": "," 2043 }, 2044 { 2045 "type": "SYMBOL", 2046 "name": "_variable" 2047 } 2048 ] 2049 } 2050 } 2051 ] 2052 }, 2053 { 2054 "type": "STRING", 2055 "value": ")" 2056 }, 2057 { 2058 "type": "SYMBOL", 2059 "name": "_semicolon" 2060 } 2061 ] 2062 }, 2063 "declare_statement": { 2064 "type": "SEQ", 2065 "members": [ 2066 { 2067 "type": "STRING", 2068 "value": "declare" 2069 }, 2070 { 2071 "type": "STRING", 2072 "value": "(" 2073 }, 2074 { 2075 "type": "SYMBOL", 2076 "name": "declare_directive" 2077 }, 2078 { 2079 "type": "STRING", 2080 "value": ")" 2081 }, 2082 { 2083 "type": "CHOICE", 2084 "members": [ 2085 { 2086 "type": "SYMBOL", 2087 "name": "_statement" 2088 }, 2089 { 2090 "type": "SEQ", 2091 "members": [ 2092 { 2093 "type": "STRING", 2094 "value": ":" 2095 }, 2096 { 2097 "type": "REPEAT", 2098 "content": { 2099 "type": "SYMBOL", 2100 "name": "_statement" 2101 } 2102 }, 2103 { 2104 "type": "ALIAS", 2105 "content": { 2106 "type": "PATTERN", 2107 "value": "[eE][nN][dD][dD][eE][cC][lL][aA][rR][eE]" 2108 }, 2109 "named": false, 2110 "value": "enddeclare" 2111 }, 2112 { 2113 "type": "SYMBOL", 2114 "name": "_semicolon" 2115 } 2116 ] 2117 }, 2118 { 2119 "type": "SYMBOL", 2120 "name": "_semicolon" 2121 } 2122 ] 2123 } 2124 ] 2125 }, 2126 "declare_directive": { 2127 "type": "SEQ", 2128 "members": [ 2129 { 2130 "type": "CHOICE", 2131 "members": [ 2132 { 2133 "type": "STRING", 2134 "value": "ticks" 2135 }, 2136 { 2137 "type": "STRING", 2138 "value": "encoding" 2139 }, 2140 { 2141 "type": "STRING", 2142 "value": "strict_types" 2143 } 2144 ] 2145 }, 2146 { 2147 "type": "STRING", 2148 "value": "=" 2149 }, 2150 { 2151 "type": "SYMBOL", 2152 "name": "_literal" 2153 } 2154 ] 2155 }, 2156 "_literal": { 2157 "type": "CHOICE", 2158 "members": [ 2159 { 2160 "type": "SYMBOL", 2161 "name": "integer" 2162 }, 2163 { 2164 "type": "SYMBOL", 2165 "name": "float" 2166 }, 2167 { 2168 "type": "SYMBOL", 2169 "name": "_string" 2170 }, 2171 { 2172 "type": "SYMBOL", 2173 "name": "boolean" 2174 }, 2175 { 2176 "type": "SYMBOL", 2177 "name": "null" 2178 } 2179 ] 2180 }, 2181 "float": { 2182 "type": "PATTERN", 2183 "value": "\\d*((\\.\\d*)?([eE][\\+-]?\\d+)|(\\.\\d*)([eE][\\+-]?\\d+)?)" 2184 }, 2185 "try_statement": { 2186 "type": "SEQ", 2187 "members": [ 2188 { 2189 "type": "ALIAS", 2190 "content": { 2191 "type": "PATTERN", 2192 "value": "[tT][rR][yY]" 2193 }, 2194 "named": false, 2195 "value": "try" 2196 }, 2197 { 2198 "type": "FIELD", 2199 "name": "body", 2200 "content": { 2201 "type": "SYMBOL", 2202 "name": "compound_statement" 2203 } 2204 }, 2205 { 2206 "type": "REPEAT1", 2207 "content": { 2208 "type": "CHOICE", 2209 "members": [ 2210 { 2211 "type": "SYMBOL", 2212 "name": "catch_clause" 2213 }, 2214 { 2215 "type": "SYMBOL", 2216 "name": "finally_clause" 2217 } 2218 ] 2219 } 2220 } 2221 ] 2222 }, 2223 "catch_clause": { 2224 "type": "SEQ", 2225 "members": [ 2226 { 2227 "type": "ALIAS", 2228 "content": { 2229 "type": "PATTERN", 2230 "value": "[cC][aA][tT][cC][hH]" 2231 }, 2232 "named": false, 2233 "value": "catch" 2234 }, 2235 { 2236 "type": "STRING", 2237 "value": "(" 2238 }, 2239 { 2240 "type": "FIELD", 2241 "name": "type", 2242 "content": { 2243 "type": "SYMBOL", 2244 "name": "_type_name" 2245 } 2246 }, 2247 { 2248 "type": "FIELD", 2249 "name": "name", 2250 "content": { 2251 "type": "SYMBOL", 2252 "name": "variable_name" 2253 } 2254 }, 2255 { 2256 "type": "STRING", 2257 "value": ")" 2258 }, 2259 { 2260 "type": "FIELD", 2261 "name": "body", 2262 "content": { 2263 "type": "SYMBOL", 2264 "name": "compound_statement" 2265 } 2266 } 2267 ] 2268 }, 2269 "finally_clause": { 2270 "type": "SEQ", 2271 "members": [ 2272 { 2273 "type": "ALIAS", 2274 "content": { 2275 "type": "PATTERN", 2276 "value": "[fF][iI][nN][aA][lL][lL][yY]" 2277 }, 2278 "named": false, 2279 "value": "finally" 2280 }, 2281 { 2282 "type": "FIELD", 2283 "name": "body", 2284 "content": { 2285 "type": "SYMBOL", 2286 "name": "compound_statement" 2287 } 2288 } 2289 ] 2290 }, 2291 "goto_statement": { 2292 "type": "SEQ", 2293 "members": [ 2294 { 2295 "type": "ALIAS", 2296 "content": { 2297 "type": "PATTERN", 2298 "value": "[gG][oO][tT][oO]" 2299 }, 2300 "named": false, 2301 "value": "goto" 2302 }, 2303 { 2304 "type": "SYMBOL", 2305 "name": "name" 2306 }, 2307 { 2308 "type": "SYMBOL", 2309 "name": "_semicolon" 2310 } 2311 ] 2312 }, 2313 "continue_statement": { 2314 "type": "SEQ", 2315 "members": [ 2316 { 2317 "type": "ALIAS", 2318 "content": { 2319 "type": "PATTERN", 2320 "value": "[cC][oO][nN][tT][iI][nN][uU][eE]" 2321 }, 2322 "named": false, 2323 "value": "continue" 2324 }, 2325 { 2326 "type": "CHOICE", 2327 "members": [ 2328 { 2329 "type": "SYMBOL", 2330 "name": "_expression" 2331 }, 2332 { 2333 "type": "BLANK" 2334 } 2335 ] 2336 }, 2337 { 2338 "type": "SYMBOL", 2339 "name": "_semicolon" 2340 } 2341 ] 2342 }, 2343 "break_statement": { 2344 "type": "SEQ", 2345 "members": [ 2346 { 2347 "type": "ALIAS", 2348 "content": { 2349 "type": "PATTERN", 2350 "value": "[bB][rR][eE][aA][kK]" 2351 }, 2352 "named": false, 2353 "value": "break" 2354 }, 2355 { 2356 "type": "CHOICE", 2357 "members": [ 2358 { 2359 "type": "SYMBOL", 2360 "name": "_expression" 2361 }, 2362 { 2363 "type": "BLANK" 2364 } 2365 ] 2366 }, 2367 { 2368 "type": "SYMBOL", 2369 "name": "_semicolon" 2370 } 2371 ] 2372 }, 2373 "integer": { 2374 "type": "TOKEN", 2375 "content": { 2376 "type": "CHOICE", 2377 "members": [ 2378 { 2379 "type": "PATTERN", 2380 "value": "[1-9]\\d*" 2381 }, 2382 { 2383 "type": "PATTERN", 2384 "value": "0[0-7]*" 2385 }, 2386 { 2387 "type": "PATTERN", 2388 "value": "0[xX][0-9a-fA-F]+" 2389 }, 2390 { 2391 "type": "PATTERN", 2392 "value": "0[bB][01]+" 2393 } 2394 ] 2395 } 2396 }, 2397 "return_statement": { 2398 "type": "SEQ", 2399 "members": [ 2400 { 2401 "type": "ALIAS", 2402 "content": { 2403 "type": "PATTERN", 2404 "value": "[rR][eE][tT][uU][rR][nN]" 2405 }, 2406 "named": false, 2407 "value": "return" 2408 }, 2409 { 2410 "type": "CHOICE", 2411 "members": [ 2412 { 2413 "type": "SYMBOL", 2414 "name": "_expression" 2415 }, 2416 { 2417 "type": "BLANK" 2418 } 2419 ] 2420 }, 2421 { 2422 "type": "SYMBOL", 2423 "name": "_semicolon" 2424 } 2425 ] 2426 }, 2427 "throw_statement": { 2428 "type": "SEQ", 2429 "members": [ 2430 { 2431 "type": "ALIAS", 2432 "content": { 2433 "type": "PATTERN", 2434 "value": "[tT][hH][rR][oO][wW]" 2435 }, 2436 "named": false, 2437 "value": "throw" 2438 }, 2439 { 2440 "type": "SYMBOL", 2441 "name": "_expression" 2442 }, 2443 { 2444 "type": "SYMBOL", 2445 "name": "_semicolon" 2446 } 2447 ] 2448 }, 2449 "while_statement": { 2450 "type": "SEQ", 2451 "members": [ 2452 { 2453 "type": "ALIAS", 2454 "content": { 2455 "type": "PATTERN", 2456 "value": "[wW][hH][iI][lL][eE]" 2457 }, 2458 "named": false, 2459 "value": "while" 2460 }, 2461 { 2462 "type": "FIELD", 2463 "name": "condition", 2464 "content": { 2465 "type": "SYMBOL", 2466 "name": "parenthesized_expression" 2467 } 2468 }, 2469 { 2470 "type": "CHOICE", 2471 "members": [ 2472 { 2473 "type": "FIELD", 2474 "name": "body", 2475 "content": { 2476 "type": "SYMBOL", 2477 "name": "_statement" 2478 } 2479 }, 2480 { 2481 "type": "SEQ", 2482 "members": [ 2483 { 2484 "type": "FIELD", 2485 "name": "body", 2486 "content": { 2487 "type": "SYMBOL", 2488 "name": "colon_block" 2489 } 2490 }, 2491 { 2492 "type": "ALIAS", 2493 "content": { 2494 "type": "PATTERN", 2495 "value": "[eE][nN][dD][wW][hH][iI][lL][eE]" 2496 }, 2497 "named": false, 2498 "value": "endwhile" 2499 }, 2500 { 2501 "type": "SYMBOL", 2502 "name": "_semicolon" 2503 } 2504 ] 2505 } 2506 ] 2507 } 2508 ] 2509 }, 2510 "do_statement": { 2511 "type": "SEQ", 2512 "members": [ 2513 { 2514 "type": "ALIAS", 2515 "content": { 2516 "type": "PATTERN", 2517 "value": "[dD][oO]" 2518 }, 2519 "named": false, 2520 "value": "do" 2521 }, 2522 { 2523 "type": "FIELD", 2524 "name": "body", 2525 "content": { 2526 "type": "SYMBOL", 2527 "name": "_statement" 2528 } 2529 }, 2530 { 2531 "type": "ALIAS", 2532 "content": { 2533 "type": "PATTERN", 2534 "value": "[wW][hH][iI][lL][eE]" 2535 }, 2536 "named": false, 2537 "value": "while" 2538 }, 2539 { 2540 "type": "FIELD", 2541 "name": "condition", 2542 "content": { 2543 "type": "SYMBOL", 2544 "name": "parenthesized_expression" 2545 } 2546 }, 2547 { 2548 "type": "SYMBOL", 2549 "name": "_semicolon" 2550 } 2551 ] 2552 }, 2553 "for_statement": { 2554 "type": "SEQ", 2555 "members": [ 2556 { 2557 "type": "ALIAS", 2558 "content": { 2559 "type": "PATTERN", 2560 "value": "[fF][oO][rR]" 2561 }, 2562 "named": false, 2563 "value": "for" 2564 }, 2565 { 2566 "type": "STRING", 2567 "value": "(" 2568 }, 2569 { 2570 "type": "CHOICE", 2571 "members": [ 2572 { 2573 "type": "SYMBOL", 2574 "name": "_expressions" 2575 }, 2576 { 2577 "type": "BLANK" 2578 } 2579 ] 2580 }, 2581 { 2582 "type": "STRING", 2583 "value": ";" 2584 }, 2585 { 2586 "type": "CHOICE", 2587 "members": [ 2588 { 2589 "type": "SYMBOL", 2590 "name": "_expressions" 2591 }, 2592 { 2593 "type": "BLANK" 2594 } 2595 ] 2596 }, 2597 { 2598 "type": "STRING", 2599 "value": ";" 2600 }, 2601 { 2602 "type": "CHOICE", 2603 "members": [ 2604 { 2605 "type": "SYMBOL", 2606 "name": "_expressions" 2607 }, 2608 { 2609 "type": "BLANK" 2610 } 2611 ] 2612 }, 2613 { 2614 "type": "STRING", 2615 "value": ")" 2616 }, 2617 { 2618 "type": "CHOICE", 2619 "members": [ 2620 { 2621 "type": "SYMBOL", 2622 "name": "_semicolon" 2623 }, 2624 { 2625 "type": "SYMBOL", 2626 "name": "_statement" 2627 }, 2628 { 2629 "type": "SEQ", 2630 "members": [ 2631 { 2632 "type": "STRING", 2633 "value": ":" 2634 }, 2635 { 2636 "type": "REPEAT", 2637 "content": { 2638 "type": "SYMBOL", 2639 "name": "_statement" 2640 } 2641 }, 2642 { 2643 "type": "ALIAS", 2644 "content": { 2645 "type": "PATTERN", 2646 "value": "[eE][nN][dD][fF][oO][rR]" 2647 }, 2648 "named": false, 2649 "value": "endfor" 2650 }, 2651 { 2652 "type": "SYMBOL", 2653 "name": "_semicolon" 2654 } 2655 ] 2656 } 2657 ] 2658 } 2659 ] 2660 }, 2661 "_expressions": { 2662 "type": "CHOICE", 2663 "members": [ 2664 { 2665 "type": "SYMBOL", 2666 "name": "_expression" 2667 }, 2668 { 2669 "type": "SYMBOL", 2670 "name": "sequence_expression" 2671 } 2672 ] 2673 }, 2674 "sequence_expression": { 2675 "type": "PREC", 2676 "value": -1, 2677 "content": { 2678 "type": "SEQ", 2679 "members": [ 2680 { 2681 "type": "SYMBOL", 2682 "name": "_expression" 2683 }, 2684 { 2685 "type": "STRING", 2686 "value": "," 2687 }, 2688 { 2689 "type": "CHOICE", 2690 "members": [ 2691 { 2692 "type": "SYMBOL", 2693 "name": "sequence_expression" 2694 }, 2695 { 2696 "type": "SYMBOL", 2697 "name": "_expression" 2698 } 2699 ] 2700 } 2701 ] 2702 } 2703 }, 2704 "foreach_statement": { 2705 "type": "SEQ", 2706 "members": [ 2707 { 2708 "type": "ALIAS", 2709 "content": { 2710 "type": "PATTERN", 2711 "value": "[fF][oO][rR][eE][aA][cC][hH]" 2712 }, 2713 "named": false, 2714 "value": "foreach" 2715 }, 2716 { 2717 "type": "STRING", 2718 "value": "(" 2719 }, 2720 { 2721 "type": "SYMBOL", 2722 "name": "_expression" 2723 }, 2724 { 2725 "type": "ALIAS", 2726 "content": { 2727 "type": "PATTERN", 2728 "value": "[aA][sS]" 2729 }, 2730 "named": false, 2731 "value": "as" 2732 }, 2733 { 2734 "type": "CHOICE", 2735 "members": [ 2736 { 2737 "type": "ALIAS", 2738 "content": { 2739 "type": "SYMBOL", 2740 "name": "foreach_pair" 2741 }, 2742 "named": true, 2743 "value": "pair" 2744 }, 2745 { 2746 "type": "SYMBOL", 2747 "name": "_foreach_value" 2748 } 2749 ] 2750 }, 2751 { 2752 "type": "STRING", 2753 "value": ")" 2754 }, 2755 { 2756 "type": "CHOICE", 2757 "members": [ 2758 { 2759 "type": "SYMBOL", 2760 "name": "_semicolon" 2761 }, 2762 { 2763 "type": "FIELD", 2764 "name": "body", 2765 "content": { 2766 "type": "SYMBOL", 2767 "name": "_statement" 2768 } 2769 }, 2770 { 2771 "type": "SEQ", 2772 "members": [ 2773 { 2774 "type": "FIELD", 2775 "name": "body", 2776 "content": { 2777 "type": "SYMBOL", 2778 "name": "colon_block" 2779 } 2780 }, 2781 { 2782 "type": "ALIAS", 2783 "content": { 2784 "type": "PATTERN", 2785 "value": "[eE][nN][dD][fF][oO][rR][eE][aA][cC][hH]" 2786 }, 2787 "named": false, 2788 "value": "endforeach" 2789 }, 2790 { 2791 "type": "SYMBOL", 2792 "name": "_semicolon" 2793 } 2794 ] 2795 } 2796 ] 2797 } 2798 ] 2799 }, 2800 "foreach_pair": { 2801 "type": "SEQ", 2802 "members": [ 2803 { 2804 "type": "SYMBOL", 2805 "name": "_expression" 2806 }, 2807 { 2808 "type": "STRING", 2809 "value": "=>" 2810 }, 2811 { 2812 "type": "SYMBOL", 2813 "name": "_foreach_value" 2814 } 2815 ] 2816 }, 2817 "_foreach_value": { 2818 "type": "CHOICE", 2819 "members": [ 2820 { 2821 "type": "SEQ", 2822 "members": [ 2823 { 2824 "type": "CHOICE", 2825 "members": [ 2826 { 2827 "type": "STRING", 2828 "value": "&" 2829 }, 2830 { 2831 "type": "BLANK" 2832 } 2833 ] 2834 }, 2835 { 2836 "type": "SYMBOL", 2837 "name": "_expression" 2838 } 2839 ] 2840 }, 2841 { 2842 "type": "SYMBOL", 2843 "name": "list_literal" 2844 } 2845 ] 2846 }, 2847 "if_statement": { 2848 "type": "PREC_RIGHT", 2849 "value": 0, 2850 "content": { 2851 "type": "SEQ", 2852 "members": [ 2853 { 2854 "type": "ALIAS", 2855 "content": { 2856 "type": "PATTERN", 2857 "value": "[iI][fF]" 2858 }, 2859 "named": false, 2860 "value": "if" 2861 }, 2862 { 2863 "type": "FIELD", 2864 "name": "condition", 2865 "content": { 2866 "type": "SYMBOL", 2867 "name": "parenthesized_expression" 2868 } 2869 }, 2870 { 2871 "type": "CHOICE", 2872 "members": [ 2873 { 2874 "type": "SEQ", 2875 "members": [ 2876 { 2877 "type": "FIELD", 2878 "name": "body", 2879 "content": { 2880 "type": "SYMBOL", 2881 "name": "_statement" 2882 } 2883 }, 2884 { 2885 "type": "REPEAT", 2886 "content": { 2887 "type": "FIELD", 2888 "name": "alternative", 2889 "content": { 2890 "type": "SYMBOL", 2891 "name": "else_if_clause" 2892 } 2893 } 2894 }, 2895 { 2896 "type": "CHOICE", 2897 "members": [ 2898 { 2899 "type": "FIELD", 2900 "name": "alternative", 2901 "content": { 2902 "type": "SYMBOL", 2903 "name": "else_clause" 2904 } 2905 }, 2906 { 2907 "type": "BLANK" 2908 } 2909 ] 2910 } 2911 ] 2912 }, 2913 { 2914 "type": "SEQ", 2915 "members": [ 2916 { 2917 "type": "FIELD", 2918 "name": "body", 2919 "content": { 2920 "type": "SYMBOL", 2921 "name": "colon_block" 2922 } 2923 }, 2924 { 2925 "type": "REPEAT", 2926 "content": { 2927 "type": "FIELD", 2928 "name": "alternative", 2929 "content": { 2930 "type": "ALIAS", 2931 "content": { 2932 "type": "SYMBOL", 2933 "name": "else_if_clause_2" 2934 }, 2935 "named": true, 2936 "value": "else_if_clause" 2937 } 2938 } 2939 }, 2940 { 2941 "type": "CHOICE", 2942 "members": [ 2943 { 2944 "type": "FIELD", 2945 "name": "alternative", 2946 "content": { 2947 "type": "ALIAS", 2948 "content": { 2949 "type": "SYMBOL", 2950 "name": "else_clause_2" 2951 }, 2952 "named": true, 2953 "value": "else_clause" 2954 } 2955 }, 2956 { 2957 "type": "BLANK" 2958 } 2959 ] 2960 }, 2961 { 2962 "type": "ALIAS", 2963 "content": { 2964 "type": "PATTERN", 2965 "value": "[eE][nN][dD][iI][fF]" 2966 }, 2967 "named": false, 2968 "value": "endif" 2969 }, 2970 { 2971 "type": "SYMBOL", 2972 "name": "_semicolon" 2973 } 2974 ] 2975 } 2976 ] 2977 } 2978 ] 2979 } 2980 }, 2981 "colon_block": { 2982 "type": "SEQ", 2983 "members": [ 2984 { 2985 "type": "STRING", 2986 "value": ":" 2987 }, 2988 { 2989 "type": "REPEAT", 2990 "content": { 2991 "type": "SYMBOL", 2992 "name": "_statement" 2993 } 2994 } 2995 ] 2996 }, 2997 "else_if_clause": { 2998 "type": "SEQ", 2999 "members": [ 3000 { 3001 "type": "ALIAS", 3002 "content": { 3003 "type": "PATTERN", 3004 "value": "[eE][lL][sS][eE][iI][fF]" 3005 }, 3006 "named": false, 3007 "value": "elseif" 3008 }, 3009 { 3010 "type": "FIELD", 3011 "name": "condition", 3012 "content": { 3013 "type": "SYMBOL", 3014 "name": "parenthesized_expression" 3015 } 3016 }, 3017 { 3018 "type": "FIELD", 3019 "name": "body", 3020 "content": { 3021 "type": "SYMBOL", 3022 "name": "_statement" 3023 } 3024 } 3025 ] 3026 }, 3027 "else_clause": { 3028 "type": "SEQ", 3029 "members": [ 3030 { 3031 "type": "ALIAS", 3032 "content": { 3033 "type": "PATTERN", 3034 "value": "[eE][lL][sS][eE]" 3035 }, 3036 "named": false, 3037 "value": "else" 3038 }, 3039 { 3040 "type": "FIELD", 3041 "name": "body", 3042 "content": { 3043 "type": "SYMBOL", 3044 "name": "_statement" 3045 } 3046 } 3047 ] 3048 }, 3049 "else_if_clause_2": { 3050 "type": "SEQ", 3051 "members": [ 3052 { 3053 "type": "ALIAS", 3054 "content": { 3055 "type": "PATTERN", 3056 "value": "[eE][lL][sS][eE][iI][fF]" 3057 }, 3058 "named": false, 3059 "value": "elseif" 3060 }, 3061 { 3062 "type": "FIELD", 3063 "name": "condition", 3064 "content": { 3065 "type": "SYMBOL", 3066 "name": "parenthesized_expression" 3067 } 3068 }, 3069 { 3070 "type": "FIELD", 3071 "name": "body", 3072 "content": { 3073 "type": "SYMBOL", 3074 "name": "colon_block" 3075 } 3076 } 3077 ] 3078 }, 3079 "else_clause_2": { 3080 "type": "SEQ", 3081 "members": [ 3082 { 3083 "type": "ALIAS", 3084 "content": { 3085 "type": "PATTERN", 3086 "value": "[eE][lL][sS][eE]" 3087 }, 3088 "named": false, 3089 "value": "else" 3090 }, 3091 { 3092 "type": "FIELD", 3093 "name": "body", 3094 "content": { 3095 "type": "SYMBOL", 3096 "name": "colon_block" 3097 } 3098 } 3099 ] 3100 }, 3101 "switch_statement": { 3102 "type": "SEQ", 3103 "members": [ 3104 { 3105 "type": "ALIAS", 3106 "content": { 3107 "type": "PATTERN", 3108 "value": "[sS][wW][iI][tT][cC][hH]" 3109 }, 3110 "named": false, 3111 "value": "switch" 3112 }, 3113 { 3114 "type": "FIELD", 3115 "name": "condition", 3116 "content": { 3117 "type": "SYMBOL", 3118 "name": "parenthesized_expression" 3119 } 3120 }, 3121 { 3122 "type": "FIELD", 3123 "name": "body", 3124 "content": { 3125 "type": "SYMBOL", 3126 "name": "switch_block" 3127 } 3128 } 3129 ] 3130 }, 3131 "switch_block": { 3132 "type": "CHOICE", 3133 "members": [ 3134 { 3135 "type": "SEQ", 3136 "members": [ 3137 { 3138 "type": "STRING", 3139 "value": "{" 3140 }, 3141 { 3142 "type": "REPEAT", 3143 "content": { 3144 "type": "CHOICE", 3145 "members": [ 3146 { 3147 "type": "SYMBOL", 3148 "name": "case_statement" 3149 }, 3150 { 3151 "type": "SYMBOL", 3152 "name": "default_statement" 3153 } 3154 ] 3155 } 3156 }, 3157 { 3158 "type": "STRING", 3159 "value": "}" 3160 } 3161 ] 3162 }, 3163 { 3164 "type": "SEQ", 3165 "members": [ 3166 { 3167 "type": "STRING", 3168 "value": ":" 3169 }, 3170 { 3171 "type": "REPEAT", 3172 "content": { 3173 "type": "CHOICE", 3174 "members": [ 3175 { 3176 "type": "SYMBOL", 3177 "name": "case_statement" 3178 }, 3179 { 3180 "type": "SYMBOL", 3181 "name": "default_statement" 3182 } 3183 ] 3184 } 3185 }, 3186 { 3187 "type": "ALIAS", 3188 "content": { 3189 "type": "PATTERN", 3190 "value": "[eE][nN][dD][sS][wW][iI][tT][cC][hH]" 3191 }, 3192 "named": false, 3193 "value": "endswitch" 3194 }, 3195 { 3196 "type": "SYMBOL", 3197 "name": "_semicolon" 3198 } 3199 ] 3200 } 3201 ] 3202 }, 3203 "case_statement": { 3204 "type": "SEQ", 3205 "members": [ 3206 { 3207 "type": "ALIAS", 3208 "content": { 3209 "type": "PATTERN", 3210 "value": "[cC][aA][sS][eE]" 3211 }, 3212 "named": false, 3213 "value": "case" 3214 }, 3215 { 3216 "type": "FIELD", 3217 "name": "value", 3218 "content": { 3219 "type": "SYMBOL", 3220 "name": "_expression" 3221 } 3222 }, 3223 { 3224 "type": "CHOICE", 3225 "members": [ 3226 { 3227 "type": "STRING", 3228 "value": ":" 3229 }, 3230 { 3231 "type": "STRING", 3232 "value": ";" 3233 } 3234 ] 3235 }, 3236 { 3237 "type": "REPEAT", 3238 "content": { 3239 "type": "SYMBOL", 3240 "name": "_statement" 3241 } 3242 } 3243 ] 3244 }, 3245 "default_statement": { 3246 "type": "SEQ", 3247 "members": [ 3248 { 3249 "type": "ALIAS", 3250 "content": { 3251 "type": "PATTERN", 3252 "value": "[dD][eE][fF][aA][uU][lL][tT]" 3253 }, 3254 "named": false, 3255 "value": "default" 3256 }, 3257 { 3258 "type": "CHOICE", 3259 "members": [ 3260 { 3261 "type": "STRING", 3262 "value": ":" 3263 }, 3264 { 3265 "type": "STRING", 3266 "value": ";" 3267 } 3268 ] 3269 }, 3270 { 3271 "type": "REPEAT", 3272 "content": { 3273 "type": "SYMBOL", 3274 "name": "_statement" 3275 } 3276 } 3277 ] 3278 }, 3279 "compound_statement": { 3280 "type": "SEQ", 3281 "members": [ 3282 { 3283 "type": "STRING", 3284 "value": "{" 3285 }, 3286 { 3287 "type": "REPEAT", 3288 "content": { 3289 "type": "SYMBOL", 3290 "name": "_statement" 3291 } 3292 }, 3293 { 3294 "type": "STRING", 3295 "value": "}" 3296 } 3297 ] 3298 }, 3299 "named_label_statement": { 3300 "type": "SEQ", 3301 "members": [ 3302 { 3303 "type": "SYMBOL", 3304 "name": "name" 3305 }, 3306 { 3307 "type": "STRING", 3308 "value": ":" 3309 } 3310 ] 3311 }, 3312 "expression_statement": { 3313 "type": "SEQ", 3314 "members": [ 3315 { 3316 "type": "SYMBOL", 3317 "name": "_expression" 3318 }, 3319 { 3320 "type": "SYMBOL", 3321 "name": "_semicolon" 3322 } 3323 ] 3324 }, 3325 "_expression": { 3326 "type": "CHOICE", 3327 "members": [ 3328 { 3329 "type": "SYMBOL", 3330 "name": "conditional_expression" 3331 }, 3332 { 3333 "type": "SYMBOL", 3334 "name": "augmented_assignment_expression" 3335 }, 3336 { 3337 "type": "SYMBOL", 3338 "name": "assignment_expression" 3339 }, 3340 { 3341 "type": "SYMBOL", 3342 "name": "yield_expression" 3343 }, 3344 { 3345 "type": "SYMBOL", 3346 "name": "_unary_expression" 3347 }, 3348 { 3349 "type": "SYMBOL", 3350 "name": "binary_expression" 3351 }, 3352 { 3353 "type": "SYMBOL", 3354 "name": "include_expression" 3355 }, 3356 { 3357 "type": "SYMBOL", 3358 "name": "include_once_expression" 3359 }, 3360 { 3361 "type": "SYMBOL", 3362 "name": "require_expression" 3363 }, 3364 { 3365 "type": "SYMBOL", 3366 "name": "require_once_expression" 3367 } 3368 ] 3369 }, 3370 "_unary_expression": { 3371 "type": "CHOICE", 3372 "members": [ 3373 { 3374 "type": "SYMBOL", 3375 "name": "clone_expression" 3376 }, 3377 { 3378 "type": "SYMBOL", 3379 "name": "_primary_expression" 3380 }, 3381 { 3382 "type": "SYMBOL", 3383 "name": "exponentiation_expression" 3384 }, 3385 { 3386 "type": "SYMBOL", 3387 "name": "unary_op_expression" 3388 }, 3389 { 3390 "type": "SYMBOL", 3391 "name": "cast_expression" 3392 } 3393 ] 3394 }, 3395 "unary_op_expression": { 3396 "type": "CHOICE", 3397 "members": [ 3398 { 3399 "type": "SEQ", 3400 "members": [ 3401 { 3402 "type": "STRING", 3403 "value": "@" 3404 }, 3405 { 3406 "type": "SYMBOL", 3407 "name": "_expression" 3408 } 3409 ] 3410 }, 3411 { 3412 "type": "PREC_LEFT", 3413 "value": 17, 3414 "content": { 3415 "type": "SEQ", 3416 "members": [ 3417 { 3418 "type": "CHOICE", 3419 "members": [ 3420 { 3421 "type": "STRING", 3422 "value": "+" 3423 }, 3424 { 3425 "type": "STRING", 3426 "value": "-" 3427 }, 3428 { 3429 "type": "STRING", 3430 "value": "~" 3431 }, 3432 { 3433 "type": "STRING", 3434 "value": "!" 3435 } 3436 ] 3437 }, 3438 { 3439 "type": "SYMBOL", 3440 "name": "_expression" 3441 } 3442 ] 3443 } 3444 } 3445 ] 3446 }, 3447 "exponentiation_expression": { 3448 "type": "PREC_RIGHT", 3449 "value": 16, 3450 "content": { 3451 "type": "SEQ", 3452 "members": [ 3453 { 3454 "type": "CHOICE", 3455 "members": [ 3456 { 3457 "type": "SYMBOL", 3458 "name": "clone_expression" 3459 }, 3460 { 3461 "type": "SYMBOL", 3462 "name": "_primary_expression" 3463 } 3464 ] 3465 }, 3466 { 3467 "type": "STRING", 3468 "value": "**" 3469 }, 3470 { 3471 "type": "CHOICE", 3472 "members": [ 3473 { 3474 "type": "SYMBOL", 3475 "name": "exponentiation_expression" 3476 }, 3477 { 3478 "type": "SYMBOL", 3479 "name": "clone_expression" 3480 }, 3481 { 3482 "type": "SYMBOL", 3483 "name": "_primary_expression" 3484 } 3485 ] 3486 } 3487 ] 3488 } 3489 }, 3490 "clone_expression": { 3491 "type": "SEQ", 3492 "members": [ 3493 { 3494 "type": "STRING", 3495 "value": "clone" 3496 }, 3497 { 3498 "type": "SYMBOL", 3499 "name": "_primary_expression" 3500 } 3501 ] 3502 }, 3503 "_primary_expression": { 3504 "type": "CHOICE", 3505 "members": [ 3506 { 3507 "type": "SYMBOL", 3508 "name": "_variable" 3509 }, 3510 { 3511 "type": "SYMBOL", 3512 "name": "_literal" 3513 }, 3514 { 3515 "type": "SYMBOL", 3516 "name": "class_constant_access_expression" 3517 }, 3518 { 3519 "type": "SYMBOL", 3520 "name": "qualified_name" 3521 }, 3522 { 3523 "type": "SYMBOL", 3524 "name": "array_creation_expression" 3525 }, 3526 { 3527 "type": "SYMBOL", 3528 "name": "print_intrinsic" 3529 }, 3530 { 3531 "type": "SYMBOL", 3532 "name": "anonymous_function_creation_expression" 3533 }, 3534 { 3535 "type": "SYMBOL", 3536 "name": "object_creation_expression" 3537 }, 3538 { 3539 "type": "SYMBOL", 3540 "name": "update_expression" 3541 }, 3542 { 3543 "type": "SYMBOL", 3544 "name": "shell_command_expression" 3545 }, 3546 { 3547 "type": "SYMBOL", 3548 "name": "parenthesized_expression" 3549 } 3550 ] 3551 }, 3552 "parenthesized_expression": { 3553 "type": "SEQ", 3554 "members": [ 3555 { 3556 "type": "STRING", 3557 "value": "(" 3558 }, 3559 { 3560 "type": "SYMBOL", 3561 "name": "_expression" 3562 }, 3563 { 3564 "type": "STRING", 3565 "value": ")" 3566 } 3567 ] 3568 }, 3569 "class_constant_access_expression": { 3570 "type": "SEQ", 3571 "members": [ 3572 { 3573 "type": "SYMBOL", 3574 "name": "_scope_resolution_qualifier" 3575 }, 3576 { 3577 "type": "STRING", 3578 "value": "::" 3579 }, 3580 { 3581 "type": "CHOICE", 3582 "members": [ 3583 { 3584 "type": "SYMBOL", 3585 "name": "name" 3586 }, 3587 { 3588 "type": "ALIAS", 3589 "content": { 3590 "type": "SYMBOL", 3591 "name": "_reserved_identifier" 3592 }, 3593 "named": true, 3594 "value": "name" 3595 } 3596 ] 3597 } 3598 ] 3599 }, 3600 "print_intrinsic": { 3601 "type": "SEQ", 3602 "members": [ 3603 { 3604 "type": "STRING", 3605 "value": "print" 3606 }, 3607 { 3608 "type": "SYMBOL", 3609 "name": "_expression" 3610 } 3611 ] 3612 }, 3613 "anonymous_function_creation_expression": { 3614 "type": "SEQ", 3615 "members": [ 3616 { 3617 "type": "CHOICE", 3618 "members": [ 3619 { 3620 "type": "ALIAS", 3621 "content": { 3622 "type": "PATTERN", 3623 "value": "[sS][tT][aA][tT][iI][cC]" 3624 }, 3625 "named": false, 3626 "value": "static" 3627 }, 3628 { 3629 "type": "BLANK" 3630 } 3631 ] 3632 }, 3633 { 3634 "type": "ALIAS", 3635 "content": { 3636 "type": "PATTERN", 3637 "value": "[fF][uU][nN][cC][tT][iI][oO][nN]" 3638 }, 3639 "named": false, 3640 "value": "function" 3641 }, 3642 { 3643 "type": "CHOICE", 3644 "members": [ 3645 { 3646 "type": "STRING", 3647 "value": "&" 3648 }, 3649 { 3650 "type": "BLANK" 3651 } 3652 ] 3653 }, 3654 { 3655 "type": "FIELD", 3656 "name": "parameters", 3657 "content": { 3658 "type": "SYMBOL", 3659 "name": "formal_parameters" 3660 } 3661 }, 3662 { 3663 "type": "CHOICE", 3664 "members": [ 3665 { 3666 "type": "SYMBOL", 3667 "name": "anonymous_function_use_clause" 3668 }, 3669 { 3670 "type": "BLANK" 3671 } 3672 ] 3673 }, 3674 { 3675 "type": "CHOICE", 3676 "members": [ 3677 { 3678 "type": "SYMBOL", 3679 "name": "_return_type" 3680 }, 3681 { 3682 "type": "BLANK" 3683 } 3684 ] 3685 }, 3686 { 3687 "type": "FIELD", 3688 "name": "body", 3689 "content": { 3690 "type": "SYMBOL", 3691 "name": "compound_statement" 3692 } 3693 } 3694 ] 3695 }, 3696 "anonymous_function_use_clause": { 3697 "type": "SEQ", 3698 "members": [ 3699 { 3700 "type": "ALIAS", 3701 "content": { 3702 "type": "PATTERN", 3703 "value": "[uU][sS][eE]" 3704 }, 3705 "named": false, 3706 "value": "use" 3707 }, 3708 { 3709 "type": "STRING", 3710 "value": "(" 3711 }, 3712 { 3713 "type": "SEQ", 3714 "members": [ 3715 { 3716 "type": "SEQ", 3717 "members": [ 3718 { 3719 "type": "CHOICE", 3720 "members": [ 3721 { 3722 "type": "STRING", 3723 "value": "&" 3724 }, 3725 { 3726 "type": "BLANK" 3727 } 3728 ] 3729 }, 3730 { 3731 "type": "SYMBOL", 3732 "name": "variable_name" 3733 } 3734 ] 3735 }, 3736 { 3737 "type": "REPEAT", 3738 "content": { 3739 "type": "SEQ", 3740 "members": [ 3741 { 3742 "type": "STRING", 3743 "value": "," 3744 }, 3745 { 3746 "type": "SEQ", 3747 "members": [ 3748 { 3749 "type": "CHOICE", 3750 "members": [ 3751 { 3752 "type": "STRING", 3753 "value": "&" 3754 }, 3755 { 3756 "type": "BLANK" 3757 } 3758 ] 3759 }, 3760 { 3761 "type": "SYMBOL", 3762 "name": "variable_name" 3763 } 3764 ] 3765 } 3766 ] 3767 } 3768 } 3769 ] 3770 }, 3771 { 3772 "type": "STRING", 3773 "value": ")" 3774 } 3775 ] 3776 }, 3777 "object_creation_expression": { 3778 "type": "PREC_RIGHT", 3779 "value": 21, 3780 "content": { 3781 "type": "CHOICE", 3782 "members": [ 3783 { 3784 "type": "SEQ", 3785 "members": [ 3786 { 3787 "type": "STRING", 3788 "value": "new" 3789 }, 3790 { 3791 "type": "SYMBOL", 3792 "name": "_class_type_designator" 3793 }, 3794 { 3795 "type": "CHOICE", 3796 "members": [ 3797 { 3798 "type": "SYMBOL", 3799 "name": "arguments" 3800 }, 3801 { 3802 "type": "BLANK" 3803 } 3804 ] 3805 } 3806 ] 3807 }, 3808 { 3809 "type": "SEQ", 3810 "members": [ 3811 { 3812 "type": "STRING", 3813 "value": "new" 3814 }, 3815 { 3816 "type": "ALIAS", 3817 "content": { 3818 "type": "PATTERN", 3819 "value": "[cC][lL][aA][sS][sS]" 3820 }, 3821 "named": false, 3822 "value": "class" 3823 }, 3824 { 3825 "type": "CHOICE", 3826 "members": [ 3827 { 3828 "type": "SYMBOL", 3829 "name": "arguments" 3830 }, 3831 { 3832 "type": "BLANK" 3833 } 3834 ] 3835 }, 3836 { 3837 "type": "CHOICE", 3838 "members": [ 3839 { 3840 "type": "SYMBOL", 3841 "name": "base_clause" 3842 }, 3843 { 3844 "type": "BLANK" 3845 } 3846 ] 3847 }, 3848 { 3849 "type": "CHOICE", 3850 "members": [ 3851 { 3852 "type": "SYMBOL", 3853 "name": "class_interface_clause" 3854 }, 3855 { 3856 "type": "BLANK" 3857 } 3858 ] 3859 }, 3860 { 3861 "type": "SYMBOL", 3862 "name": "declaration_list" 3863 } 3864 ] 3865 } 3866 ] 3867 } 3868 }, 3869 "_class_type_designator": { 3870 "type": "CHOICE", 3871 "members": [ 3872 { 3873 "type": "SYMBOL", 3874 "name": "qualified_name" 3875 }, 3876 { 3877 "type": "SYMBOL", 3878 "name": "subscript_expression" 3879 }, 3880 { 3881 "type": "SYMBOL", 3882 "name": "member_access_expression" 3883 }, 3884 { 3885 "type": "SYMBOL", 3886 "name": "scoped_property_access_expression" 3887 }, 3888 { 3889 "type": "SYMBOL", 3890 "name": "_variable_name" 3891 } 3892 ] 3893 }, 3894 "update_expression": { 3895 "type": "PREC_LEFT", 3896 "value": 19, 3897 "content": { 3898 "type": "CHOICE", 3899 "members": [ 3900 { 3901 "type": "SEQ", 3902 "members": [ 3903 { 3904 "type": "SYMBOL", 3905 "name": "_variable" 3906 }, 3907 { 3908 "type": "STRING", 3909 "value": "++" 3910 } 3911 ] 3912 }, 3913 { 3914 "type": "SEQ", 3915 "members": [ 3916 { 3917 "type": "SYMBOL", 3918 "name": "_variable" 3919 }, 3920 { 3921 "type": "STRING", 3922 "value": "--" 3923 } 3924 ] 3925 }, 3926 { 3927 "type": "SEQ", 3928 "members": [ 3929 { 3930 "type": "STRING", 3931 "value": "++" 3932 }, 3933 { 3934 "type": "SYMBOL", 3935 "name": "_variable" 3936 } 3937 ] 3938 }, 3939 { 3940 "type": "SEQ", 3941 "members": [ 3942 { 3943 "type": "STRING", 3944 "value": "--" 3945 }, 3946 { 3947 "type": "SYMBOL", 3948 "name": "_variable" 3949 } 3950 ] 3951 } 3952 ] 3953 } 3954 }, 3955 "shell_command_expression": { 3956 "type": "TOKEN", 3957 "content": { 3958 "type": "SEQ", 3959 "members": [ 3960 { 3961 "type": "STRING", 3962 "value": "`" 3963 }, 3964 { 3965 "type": "REPEAT", 3966 "content": { 3967 "type": "CHOICE", 3968 "members": [ 3969 { 3970 "type": "CHOICE", 3971 "members": [ 3972 { 3973 "type": "PATTERN", 3974 "value": "\\\\\"|\\\\\\\\|\\\\\\$|\\\\e|\\\\f|\\\\n|\\\\r|\\\\t|\\\\v" 3975 }, 3976 { 3977 "type": "SEQ", 3978 "members": [ 3979 { 3980 "type": "STRING", 3981 "value": "\\" 3982 }, 3983 { 3984 "type": "PATTERN", 3985 "value": "[0-7]" 3986 }, 3987 { 3988 "type": "CHOICE", 3989 "members": [ 3990 { 3991 "type": "PATTERN", 3992 "value": "[0-7]" 3993 }, 3994 { 3995 "type": "BLANK" 3996 } 3997 ] 3998 }, 3999 { 4000 "type": "CHOICE", 4001 "members": [ 4002 { 4003 "type": "PATTERN", 4004 "value": "[0-7]" 4005 }, 4006 { 4007 "type": "BLANK" 4008 } 4009 ] 4010 } 4011 ] 4012 }, 4013 { 4014 "type": "SEQ", 4015 "members": [ 4016 { 4017 "type": "PATTERN", 4018 "value": "\\\\[xX]" 4019 }, 4020 { 4021 "type": "PATTERN", 4022 "value": "\\d|a-f|A-F" 4023 }, 4024 { 4025 "type": "CHOICE", 4026 "members": [ 4027 { 4028 "type": "PATTERN", 4029 "value": "\\d|a-f|A-F" 4030 }, 4031 { 4032 "type": "BLANK" 4033 } 4034 ] 4035 } 4036 ] 4037 }, 4038 { 4039 "type": "SEQ", 4040 "members": [ 4041 { 4042 "type": "STRING", 4043 "value": "\\u{" 4044 }, 4045 { 4046 "type": "REPEAT1", 4047 "content": { 4048 "type": "PATTERN", 4049 "value": "\\d|a-f|A-F" 4050 } 4051 }, 4052 { 4053 "type": "STRING", 4054 "value": "}" 4055 } 4056 ] 4057 } 4058 ] 4059 }, 4060 { 4061 "type": "PATTERN", 4062 "value": "[^\"\\\\]|\\\\[^\"\\\\$efnrtv0-7]" 4063 } 4064 ] 4065 } 4066 }, 4067 { 4068 "type": "STRING", 4069 "value": "`" 4070 } 4071 ] 4072 } 4073 }, 4074 "cast_expression": { 4075 "type": "PREC", 4076 "value": -1, 4077 "content": { 4078 "type": "SEQ", 4079 "members": [ 4080 { 4081 "type": "STRING", 4082 "value": "(" 4083 }, 4084 { 4085 "type": "FIELD", 4086 "name": "type", 4087 "content": { 4088 "type": "SYMBOL", 4089 "name": "cast_type" 4090 } 4091 }, 4092 { 4093 "type": "STRING", 4094 "value": ")" 4095 }, 4096 { 4097 "type": "FIELD", 4098 "name": "value", 4099 "content": { 4100 "type": "SYMBOL", 4101 "name": "_unary_expression" 4102 } 4103 } 4104 ] 4105 } 4106 }, 4107 "cast_variable": { 4108 "type": "PREC", 4109 "value": -1, 4110 "content": { 4111 "type": "SEQ", 4112 "members": [ 4113 { 4114 "type": "STRING", 4115 "value": "(" 4116 }, 4117 { 4118 "type": "FIELD", 4119 "name": "type", 4120 "content": { 4121 "type": "SYMBOL", 4122 "name": "cast_type" 4123 } 4124 }, 4125 { 4126 "type": "STRING", 4127 "value": ")" 4128 }, 4129 { 4130 "type": "FIELD", 4131 "name": "value", 4132 "content": { 4133 "type": "SYMBOL", 4134 "name": "_variable" 4135 } 4136 } 4137 ] 4138 } 4139 }, 4140 "assignment_expression": { 4141 "type": "PREC_RIGHT", 4142 "value": 4, 4143 "content": { 4144 "type": "SEQ", 4145 "members": [ 4146 { 4147 "type": "FIELD", 4148 "name": "left", 4149 "content": { 4150 "type": "CHOICE", 4151 "members": [ 4152 { 4153 "type": "SYMBOL", 4154 "name": "_variable" 4155 }, 4156 { 4157 "type": "SYMBOL", 4158 "name": "list_literal" 4159 }, 4160 { 4161 "type": "SYMBOL", 4162 "name": "array_creation_expression" 4163 } 4164 ] 4165 } 4166 }, 4167 { 4168 "type": "STRING", 4169 "value": "=" 4170 }, 4171 { 4172 "type": "CHOICE", 4173 "members": [ 4174 { 4175 "type": "STRING", 4176 "value": "&" 4177 }, 4178 { 4179 "type": "BLANK" 4180 } 4181 ] 4182 }, 4183 { 4184 "type": "FIELD", 4185 "name": "right", 4186 "content": { 4187 "type": "SYMBOL", 4188 "name": "_expression" 4189 } 4190 } 4191 ] 4192 } 4193 }, 4194 "conditional_expression": { 4195 "type": "PREC_LEFT", 4196 "value": 5, 4197 "content": { 4198 "type": "SEQ", 4199 "members": [ 4200 { 4201 "type": "FIELD", 4202 "name": "condition", 4203 "content": { 4204 "type": "SYMBOL", 4205 "name": "_expression" 4206 } 4207 }, 4208 { 4209 "type": "STRING", 4210 "value": "?" 4211 }, 4212 { 4213 "type": "FIELD", 4214 "name": "body", 4215 "content": { 4216 "type": "CHOICE", 4217 "members": [ 4218 { 4219 "type": "SYMBOL", 4220 "name": "_expression" 4221 }, 4222 { 4223 "type": "BLANK" 4224 } 4225 ] 4226 } 4227 }, 4228 { 4229 "type": "STRING", 4230 "value": ":" 4231 }, 4232 { 4233 "type": "FIELD", 4234 "name": "alternative", 4235 "content": { 4236 "type": "SYMBOL", 4237 "name": "_expression" 4238 } 4239 } 4240 ] 4241 } 4242 }, 4243 "augmented_assignment_expression": { 4244 "type": "PREC_RIGHT", 4245 "value": 4, 4246 "content": { 4247 "type": "SEQ", 4248 "members": [ 4249 { 4250 "type": "FIELD", 4251 "name": "left", 4252 "content": { 4253 "type": "SYMBOL", 4254 "name": "_variable" 4255 } 4256 }, 4257 { 4258 "type": "FIELD", 4259 "name": "operator", 4260 "content": { 4261 "type": "CHOICE", 4262 "members": [ 4263 { 4264 "type": "STRING", 4265 "value": "**=" 4266 }, 4267 { 4268 "type": "STRING", 4269 "value": "*=" 4270 }, 4271 { 4272 "type": "STRING", 4273 "value": "/=" 4274 }, 4275 { 4276 "type": "STRING", 4277 "value": "%=" 4278 }, 4279 { 4280 "type": "STRING", 4281 "value": "+=" 4282 }, 4283 { 4284 "type": "STRING", 4285 "value": "-=" 4286 }, 4287 { 4288 "type": "STRING", 4289 "value": ".=" 4290 }, 4291 { 4292 "type": "STRING", 4293 "value": "<<=" 4294 }, 4295 { 4296 "type": "STRING", 4297 "value": ">>=" 4298 }, 4299 { 4300 "type": "STRING", 4301 "value": "&=" 4302 }, 4303 { 4304 "type": "STRING", 4305 "value": "^=" 4306 }, 4307 { 4308 "type": "STRING", 4309 "value": "|=" 4310 } 4311 ] 4312 } 4313 }, 4314 { 4315 "type": "FIELD", 4316 "name": "right", 4317 "content": { 4318 "type": "SYMBOL", 4319 "name": "_expression" 4320 } 4321 } 4322 ] 4323 } 4324 }, 4325 "_variable": { 4326 "type": "CHOICE", 4327 "members": [ 4328 { 4329 "type": "ALIAS", 4330 "content": { 4331 "type": "SYMBOL", 4332 "name": "cast_variable" 4333 }, 4334 "named": true, 4335 "value": "cast_expression" 4336 }, 4337 { 4338 "type": "SYMBOL", 4339 "name": "_callable_variable" 4340 }, 4341 { 4342 "type": "SYMBOL", 4343 "name": "scoped_property_access_expression" 4344 }, 4345 { 4346 "type": "SYMBOL", 4347 "name": "member_access_expression" 4348 } 4349 ] 4350 }, 4351 "member_access_expression": { 4352 "type": "PREC", 4353 "value": 23, 4354 "content": { 4355 "type": "SEQ", 4356 "members": [ 4357 { 4358 "type": "FIELD", 4359 "name": "object", 4360 "content": { 4361 "type": "SYMBOL", 4362 "name": "_dereferencable_expression" 4363 } 4364 }, 4365 { 4366 "type": "STRING", 4367 "value": "->" 4368 }, 4369 { 4370 "type": "SYMBOL", 4371 "name": "_member_name" 4372 } 4373 ] 4374 } 4375 }, 4376 "scoped_property_access_expression": { 4377 "type": "PREC", 4378 "value": 23, 4379 "content": { 4380 "type": "SEQ", 4381 "members": [ 4382 { 4383 "type": "FIELD", 4384 "name": "scope", 4385 "content": { 4386 "type": "SYMBOL", 4387 "name": "_scope_resolution_qualifier" 4388 } 4389 }, 4390 { 4391 "type": "STRING", 4392 "value": "::" 4393 }, 4394 { 4395 "type": "FIELD", 4396 "name": "name", 4397 "content": { 4398 "type": "SYMBOL", 4399 "name": "_variable_name" 4400 } 4401 } 4402 ] 4403 } 4404 }, 4405 "list_literal": { 4406 "type": "SEQ", 4407 "members": [ 4408 { 4409 "type": "STRING", 4410 "value": "list" 4411 }, 4412 { 4413 "type": "STRING", 4414 "value": "(" 4415 }, 4416 { 4417 "type": "CHOICE", 4418 "members": [ 4419 { 4420 "type": "SEQ", 4421 "members": [ 4422 { 4423 "type": "CHOICE", 4424 "members": [ 4425 { 4426 "type": "CHOICE", 4427 "members": [ 4428 { 4429 "type": "CHOICE", 4430 "members": [ 4431 { 4432 "type": "SYMBOL", 4433 "name": "list_literal" 4434 }, 4435 { 4436 "type": "SYMBOL", 4437 "name": "_variable" 4438 } 4439 ] 4440 }, 4441 { 4442 "type": "SEQ", 4443 "members": [ 4444 { 4445 "type": "SYMBOL", 4446 "name": "_expression" 4447 }, 4448 { 4449 "type": "STRING", 4450 "value": "=>" 4451 }, 4452 { 4453 "type": "CHOICE", 4454 "members": [ 4455 { 4456 "type": "SYMBOL", 4457 "name": "list_literal" 4458 }, 4459 { 4460 "type": "SYMBOL", 4461 "name": "_variable" 4462 } 4463 ] 4464 } 4465 ] 4466 } 4467 ] 4468 }, 4469 { 4470 "type": "BLANK" 4471 } 4472 ] 4473 }, 4474 { 4475 "type": "REPEAT", 4476 "content": { 4477 "type": "SEQ", 4478 "members": [ 4479 { 4480 "type": "STRING", 4481 "value": "," 4482 }, 4483 { 4484 "type": "CHOICE", 4485 "members": [ 4486 { 4487 "type": "CHOICE", 4488 "members": [ 4489 { 4490 "type": "CHOICE", 4491 "members": [ 4492 { 4493 "type": "SYMBOL", 4494 "name": "list_literal" 4495 }, 4496 { 4497 "type": "SYMBOL", 4498 "name": "_variable" 4499 } 4500 ] 4501 }, 4502 { 4503 "type": "SEQ", 4504 "members": [ 4505 { 4506 "type": "SYMBOL", 4507 "name": "_expression" 4508 }, 4509 { 4510 "type": "STRING", 4511 "value": "=>" 4512 }, 4513 { 4514 "type": "CHOICE", 4515 "members": [ 4516 { 4517 "type": "SYMBOL", 4518 "name": "list_literal" 4519 }, 4520 { 4521 "type": "SYMBOL", 4522 "name": "_variable" 4523 } 4524 ] 4525 } 4526 ] 4527 } 4528 ] 4529 }, 4530 { 4531 "type": "BLANK" 4532 } 4533 ] 4534 } 4535 ] 4536 } 4537 } 4538 ] 4539 }, 4540 { 4541 "type": "BLANK" 4542 } 4543 ] 4544 }, 4545 { 4546 "type": "STRING", 4547 "value": ")" 4548 } 4549 ] 4550 }, 4551 "_callable_variable": { 4552 "type": "CHOICE", 4553 "members": [ 4554 { 4555 "type": "SYMBOL", 4556 "name": "_variable_name" 4557 }, 4558 { 4559 "type": "SYMBOL", 4560 "name": "subscript_expression" 4561 }, 4562 { 4563 "type": "SYMBOL", 4564 "name": "member_call_expression" 4565 }, 4566 { 4567 "type": "SYMBOL", 4568 "name": "scoped_call_expression" 4569 }, 4570 { 4571 "type": "SYMBOL", 4572 "name": "function_call_expression" 4573 } 4574 ] 4575 }, 4576 "function_call_expression": { 4577 "type": "PREC", 4578 "value": 22, 4579 "content": { 4580 "type": "SEQ", 4581 "members": [ 4582 { 4583 "type": "FIELD", 4584 "name": "function", 4585 "content": { 4586 "type": "CHOICE", 4587 "members": [ 4588 { 4589 "type": "SYMBOL", 4590 "name": "qualified_name" 4591 }, 4592 { 4593 "type": "SYMBOL", 4594 "name": "_callable_expression" 4595 } 4596 ] 4597 } 4598 }, 4599 { 4600 "type": "FIELD", 4601 "name": "arguments", 4602 "content": { 4603 "type": "SYMBOL", 4604 "name": "arguments" 4605 } 4606 } 4607 ] 4608 } 4609 }, 4610 "_callable_expression": { 4611 "type": "CHOICE", 4612 "members": [ 4613 { 4614 "type": "SYMBOL", 4615 "name": "_callable_variable" 4616 }, 4617 { 4618 "type": "SYMBOL", 4619 "name": "parenthesized_expression" 4620 }, 4621 { 4622 "type": "SYMBOL", 4623 "name": "array_creation_expression" 4624 }, 4625 { 4626 "type": "SYMBOL", 4627 "name": "_string" 4628 } 4629 ] 4630 }, 4631 "scoped_call_expression": { 4632 "type": "PREC", 4633 "value": 22, 4634 "content": { 4635 "type": "SEQ", 4636 "members": [ 4637 { 4638 "type": "FIELD", 4639 "name": "scope", 4640 "content": { 4641 "type": "SYMBOL", 4642 "name": "_scope_resolution_qualifier" 4643 } 4644 }, 4645 { 4646 "type": "STRING", 4647 "value": "::" 4648 }, 4649 { 4650 "type": "SYMBOL", 4651 "name": "_member_name" 4652 }, 4653 { 4654 "type": "FIELD", 4655 "name": "arguments", 4656 "content": { 4657 "type": "SYMBOL", 4658 "name": "arguments" 4659 } 4660 } 4661 ] 4662 } 4663 }, 4664 "_scope_resolution_qualifier": { 4665 "type": "CHOICE", 4666 "members": [ 4667 { 4668 "type": "SYMBOL", 4669 "name": "relative_scope" 4670 }, 4671 { 4672 "type": "SYMBOL", 4673 "name": "qualified_name" 4674 }, 4675 { 4676 "type": "SYMBOL", 4677 "name": "_dereferencable_expression" 4678 } 4679 ] 4680 }, 4681 "relative_scope": { 4682 "type": "PREC", 4683 "value": 20, 4684 "content": { 4685 "type": "CHOICE", 4686 "members": [ 4687 { 4688 "type": "STRING", 4689 "value": "self" 4690 }, 4691 { 4692 "type": "STRING", 4693 "value": "parent" 4694 }, 4695 { 4696 "type": "ALIAS", 4697 "content": { 4698 "type": "PATTERN", 4699 "value": "[sS][tT][aA][tT][iI][cC]" 4700 }, 4701 "named": false, 4702 "value": "static" 4703 } 4704 ] 4705 } 4706 }, 4707 "arguments": { 4708 "type": "SEQ", 4709 "members": [ 4710 { 4711 "type": "STRING", 4712 "value": "(" 4713 }, 4714 { 4715 "type": "CHOICE", 4716 "members": [ 4717 { 4718 "type": "SEQ", 4719 "members": [ 4720 { 4721 "type": "CHOICE", 4722 "members": [ 4723 { 4724 "type": "SYMBOL", 4725 "name": "variadic_unpacking" 4726 }, 4727 { 4728 "type": "SYMBOL", 4729 "name": "_expression" 4730 } 4731 ] 4732 }, 4733 { 4734 "type": "REPEAT", 4735 "content": { 4736 "type": "SEQ", 4737 "members": [ 4738 { 4739 "type": "STRING", 4740 "value": "," 4741 }, 4742 { 4743 "type": "CHOICE", 4744 "members": [ 4745 { 4746 "type": "SYMBOL", 4747 "name": "variadic_unpacking" 4748 }, 4749 { 4750 "type": "SYMBOL", 4751 "name": "_expression" 4752 } 4753 ] 4754 } 4755 ] 4756 } 4757 } 4758 ] 4759 }, 4760 { 4761 "type": "BLANK" 4762 } 4763 ] 4764 }, 4765 { 4766 "type": "STRING", 4767 "value": ")" 4768 } 4769 ] 4770 }, 4771 "member_call_expression": { 4772 "type": "PREC", 4773 "value": 22, 4774 "content": { 4775 "type": "SEQ", 4776 "members": [ 4777 { 4778 "type": "FIELD", 4779 "name": "object", 4780 "content": { 4781 "type": "SYMBOL", 4782 "name": "_dereferencable_expression" 4783 } 4784 }, 4785 { 4786 "type": "STRING", 4787 "value": "->" 4788 }, 4789 { 4790 "type": "SYMBOL", 4791 "name": "_member_name" 4792 }, 4793 { 4794 "type": "FIELD", 4795 "name": "arguments", 4796 "content": { 4797 "type": "SYMBOL", 4798 "name": "arguments" 4799 } 4800 } 4801 ] 4802 } 4803 }, 4804 "variadic_unpacking": { 4805 "type": "SEQ", 4806 "members": [ 4807 { 4808 "type": "STRING", 4809 "value": "..." 4810 }, 4811 { 4812 "type": "SYMBOL", 4813 "name": "_expression" 4814 } 4815 ] 4816 }, 4817 "_member_name": { 4818 "type": "CHOICE", 4819 "members": [ 4820 { 4821 "type": "FIELD", 4822 "name": "name", 4823 "content": { 4824 "type": "CHOICE", 4825 "members": [ 4826 { 4827 "type": "ALIAS", 4828 "content": { 4829 "type": "SYMBOL", 4830 "name": "_reserved_identifier" 4831 }, 4832 "named": true, 4833 "value": "name" 4834 }, 4835 { 4836 "type": "SYMBOL", 4837 "name": "name" 4838 }, 4839 { 4840 "type": "SYMBOL", 4841 "name": "_variable_name" 4842 } 4843 ] 4844 } 4845 }, 4846 { 4847 "type": "SEQ", 4848 "members": [ 4849 { 4850 "type": "STRING", 4851 "value": "{" 4852 }, 4853 { 4854 "type": "FIELD", 4855 "name": "name", 4856 "content": { 4857 "type": "SYMBOL", 4858 "name": "_expression" 4859 } 4860 }, 4861 { 4862 "type": "STRING", 4863 "value": "}" 4864 } 4865 ] 4866 } 4867 ] 4868 }, 4869 "subscript_expression": { 4870 "type": "SEQ", 4871 "members": [ 4872 { 4873 "type": "SYMBOL", 4874 "name": "_dereferencable_expression" 4875 }, 4876 { 4877 "type": "CHOICE", 4878 "members": [ 4879 { 4880 "type": "SEQ", 4881 "members": [ 4882 { 4883 "type": "STRING", 4884 "value": "[" 4885 }, 4886 { 4887 "type": "CHOICE", 4888 "members": [ 4889 { 4890 "type": "SYMBOL", 4891 "name": "_expression" 4892 }, 4893 { 4894 "type": "BLANK" 4895 } 4896 ] 4897 }, 4898 { 4899 "type": "STRING", 4900 "value": "]" 4901 } 4902 ] 4903 }, 4904 { 4905 "type": "SEQ", 4906 "members": [ 4907 { 4908 "type": "STRING", 4909 "value": "{" 4910 }, 4911 { 4912 "type": "SYMBOL", 4913 "name": "_expression" 4914 }, 4915 { 4916 "type": "STRING", 4917 "value": "}" 4918 } 4919 ] 4920 } 4921 ] 4922 } 4923 ] 4924 }, 4925 "_dereferencable_expression": { 4926 "type": "PREC", 4927 "value": 24, 4928 "content": { 4929 "type": "CHOICE", 4930 "members": [ 4931 { 4932 "type": "SYMBOL", 4933 "name": "_variable" 4934 }, 4935 { 4936 "type": "SYMBOL", 4937 "name": "class_constant_access_expression" 4938 }, 4939 { 4940 "type": "SYMBOL", 4941 "name": "parenthesized_expression" 4942 }, 4943 { 4944 "type": "SYMBOL", 4945 "name": "array_creation_expression" 4946 }, 4947 { 4948 "type": "SYMBOL", 4949 "name": "qualified_name" 4950 }, 4951 { 4952 "type": "SYMBOL", 4953 "name": "_string" 4954 } 4955 ] 4956 } 4957 }, 4958 "array_creation_expression": { 4959 "type": "CHOICE", 4960 "members": [ 4961 { 4962 "type": "SEQ", 4963 "members": [ 4964 { 4965 "type": "STRING", 4966 "value": "array" 4967 }, 4968 { 4969 "type": "STRING", 4970 "value": "(" 4971 }, 4972 { 4973 "type": "CHOICE", 4974 "members": [ 4975 { 4976 "type": "SEQ", 4977 "members": [ 4978 { 4979 "type": "SYMBOL", 4980 "name": "array_element_initializer" 4981 }, 4982 { 4983 "type": "REPEAT", 4984 "content": { 4985 "type": "SEQ", 4986 "members": [ 4987 { 4988 "type": "STRING", 4989 "value": "," 4990 }, 4991 { 4992 "type": "SYMBOL", 4993 "name": "array_element_initializer" 4994 } 4995 ] 4996 } 4997 } 4998 ] 4999 }, 5000 { 5001 "type": "BLANK" 5002 } 5003 ] 5004 }, 5005 { 5006 "type": "CHOICE", 5007 "members": [ 5008 { 5009 "type": "STRING", 5010 "value": "," 5011 }, 5012 { 5013 "type": "BLANK" 5014 } 5015 ] 5016 }, 5017 { 5018 "type": "STRING", 5019 "value": ")" 5020 } 5021 ] 5022 }, 5023 { 5024 "type": "SEQ", 5025 "members": [ 5026 { 5027 "type": "STRING", 5028 "value": "[" 5029 }, 5030 { 5031 "type": "CHOICE", 5032 "members": [ 5033 { 5034 "type": "SEQ", 5035 "members": [ 5036 { 5037 "type": "SYMBOL", 5038 "name": "array_element_initializer" 5039 }, 5040 { 5041 "type": "REPEAT", 5042 "content": { 5043 "type": "SEQ", 5044 "members": [ 5045 { 5046 "type": "STRING", 5047 "value": "," 5048 }, 5049 { 5050 "type": "SYMBOL", 5051 "name": "array_element_initializer" 5052 } 5053 ] 5054 } 5055 } 5056 ] 5057 }, 5058 { 5059 "type": "BLANK" 5060 } 5061 ] 5062 }, 5063 { 5064 "type": "CHOICE", 5065 "members": [ 5066 { 5067 "type": "STRING", 5068 "value": "," 5069 }, 5070 { 5071 "type": "BLANK" 5072 } 5073 ] 5074 }, 5075 { 5076 "type": "STRING", 5077 "value": "]" 5078 } 5079 ] 5080 } 5081 ] 5082 }, 5083 "string": { 5084 "type": "TOKEN", 5085 "content": { 5086 "type": "CHOICE", 5087 "members": [ 5088 { 5089 "type": "SEQ", 5090 "members": [ 5091 { 5092 "type": "CHOICE", 5093 "members": [ 5094 { 5095 "type": "PATTERN", 5096 "value": "[bB]" 5097 }, 5098 { 5099 "type": "BLANK" 5100 } 5101 ] 5102 }, 5103 { 5104 "type": "STRING", 5105 "value": "'" 5106 }, 5107 { 5108 "type": "REPEAT", 5109 "content": { 5110 "type": "PATTERN", 5111 "value": "\\\\'|\\\\\\\\|\\\\?[^'\\\\]" 5112 } 5113 }, 5114 { 5115 "type": "STRING", 5116 "value": "'" 5117 } 5118 ] 5119 }, 5120 { 5121 "type": "SEQ", 5122 "members": [ 5123 { 5124 "type": "CHOICE", 5125 "members": [ 5126 { 5127 "type": "PATTERN", 5128 "value": "[bB]" 5129 }, 5130 { 5131 "type": "BLANK" 5132 } 5133 ] 5134 }, 5135 { 5136 "type": "STRING", 5137 "value": "\"" 5138 }, 5139 { 5140 "type": "REPEAT", 5141 "content": { 5142 "type": "CHOICE", 5143 "members": [ 5144 { 5145 "type": "CHOICE", 5146 "members": [ 5147 { 5148 "type": "PATTERN", 5149 "value": "\\\\\"|\\\\\\\\|\\\\\\$|\\\\e|\\\\f|\\\\n|\\\\r|\\\\t|\\\\v" 5150 }, 5151 { 5152 "type": "SEQ", 5153 "members": [ 5154 { 5155 "type": "STRING", 5156 "value": "\\" 5157 }, 5158 { 5159 "type": "PATTERN", 5160 "value": "[0-7]" 5161 }, 5162 { 5163 "type": "CHOICE", 5164 "members": [ 5165 { 5166 "type": "PATTERN", 5167 "value": "[0-7]" 5168 }, 5169 { 5170 "type": "BLANK" 5171 } 5172 ] 5173 }, 5174 { 5175 "type": "CHOICE", 5176 "members": [ 5177 { 5178 "type": "PATTERN", 5179 "value": "[0-7]" 5180 }, 5181 { 5182 "type": "BLANK" 5183 } 5184 ] 5185 } 5186 ] 5187 }, 5188 { 5189 "type": "SEQ", 5190 "members": [ 5191 { 5192 "type": "PATTERN", 5193 "value": "\\\\[xX]" 5194 }, 5195 { 5196 "type": "PATTERN", 5197 "value": "\\d|a-f|A-F" 5198 }, 5199 { 5200 "type": "CHOICE", 5201 "members": [ 5202 { 5203 "type": "PATTERN", 5204 "value": "\\d|a-f|A-F" 5205 }, 5206 { 5207 "type": "BLANK" 5208 } 5209 ] 5210 } 5211 ] 5212 }, 5213 { 5214 "type": "SEQ", 5215 "members": [ 5216 { 5217 "type": "STRING", 5218 "value": "\\u{" 5219 }, 5220 { 5221 "type": "REPEAT1", 5222 "content": { 5223 "type": "PATTERN", 5224 "value": "\\d|a-f|A-F" 5225 } 5226 }, 5227 { 5228 "type": "STRING", 5229 "value": "}" 5230 } 5231 ] 5232 } 5233 ] 5234 }, 5235 { 5236 "type": "PATTERN", 5237 "value": "[^\"\\\\]|\\\\[^\"\\\\$efnrtv0-7]" 5238 } 5239 ] 5240 } 5241 }, 5242 { 5243 "type": "STRING", 5244 "value": "\"" 5245 } 5246 ] 5247 } 5248 ] 5249 } 5250 }, 5251 "boolean": { 5252 "type": "PATTERN", 5253 "value": "[Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee]" 5254 }, 5255 "null": { 5256 "type": "PATTERN", 5257 "value": "[nN][uU][lL][lL]" 5258 }, 5259 "_string": { 5260 "type": "CHOICE", 5261 "members": [ 5262 { 5263 "type": "SYMBOL", 5264 "name": "string" 5265 }, 5266 { 5267 "type": "SYMBOL", 5268 "name": "heredoc" 5269 } 5270 ] 5271 }, 5272 "dynamic_variable_name": { 5273 "type": "CHOICE", 5274 "members": [ 5275 { 5276 "type": "SEQ", 5277 "members": [ 5278 { 5279 "type": "STRING", 5280 "value": "$" 5281 }, 5282 { 5283 "type": "SYMBOL", 5284 "name": "_variable_name" 5285 } 5286 ] 5287 }, 5288 { 5289 "type": "SEQ", 5290 "members": [ 5291 { 5292 "type": "STRING", 5293 "value": "$" 5294 }, 5295 { 5296 "type": "STRING", 5297 "value": "{" 5298 }, 5299 { 5300 "type": "SYMBOL", 5301 "name": "_expression" 5302 }, 5303 { 5304 "type": "STRING", 5305 "value": "}" 5306 } 5307 ] 5308 } 5309 ] 5310 }, 5311 "_variable_name": { 5312 "type": "CHOICE", 5313 "members": [ 5314 { 5315 "type": "SYMBOL", 5316 "name": "dynamic_variable_name" 5317 }, 5318 { 5319 "type": "SYMBOL", 5320 "name": "variable_name" 5321 } 5322 ] 5323 }, 5324 "variable_name": { 5325 "type": "SEQ", 5326 "members": [ 5327 { 5328 "type": "STRING", 5329 "value": "$" 5330 }, 5331 { 5332 "type": "SYMBOL", 5333 "name": "name" 5334 } 5335 ] 5336 }, 5337 "yield_expression": { 5338 "type": "PREC_RIGHT", 5339 "value": 0, 5340 "content": { 5341 "type": "SEQ", 5342 "members": [ 5343 { 5344 "type": "STRING", 5345 "value": "yield" 5346 }, 5347 { 5348 "type": "CHOICE", 5349 "members": [ 5350 { 5351 "type": "CHOICE", 5352 "members": [ 5353 { 5354 "type": "SYMBOL", 5355 "name": "array_element_initializer" 5356 }, 5357 { 5358 "type": "SEQ", 5359 "members": [ 5360 { 5361 "type": "STRING", 5362 "value": "from" 5363 }, 5364 { 5365 "type": "SYMBOL", 5366 "name": "_expression" 5367 } 5368 ] 5369 } 5370 ] 5371 }, 5372 { 5373 "type": "BLANK" 5374 } 5375 ] 5376 } 5377 ] 5378 } 5379 }, 5380 "array_element_initializer": { 5381 "type": "PREC_RIGHT", 5382 "value": 0, 5383 "content": { 5384 "type": "CHOICE", 5385 "members": [ 5386 { 5387 "type": "SEQ", 5388 "members": [ 5389 { 5390 "type": "CHOICE", 5391 "members": [ 5392 { 5393 "type": "STRING", 5394 "value": "&" 5395 }, 5396 { 5397 "type": "BLANK" 5398 } 5399 ] 5400 }, 5401 { 5402 "type": "SYMBOL", 5403 "name": "_expression" 5404 } 5405 ] 5406 }, 5407 { 5408 "type": "SEQ", 5409 "members": [ 5410 { 5411 "type": "SYMBOL", 5412 "name": "_expression" 5413 }, 5414 { 5415 "type": "STRING", 5416 "value": "=>" 5417 }, 5418 { 5419 "type": "CHOICE", 5420 "members": [ 5421 { 5422 "type": "STRING", 5423 "value": "&" 5424 }, 5425 { 5426 "type": "BLANK" 5427 } 5428 ] 5429 }, 5430 { 5431 "type": "SYMBOL", 5432 "name": "_expression" 5433 } 5434 ] 5435 } 5436 ] 5437 } 5438 }, 5439 "binary_expression": { 5440 "type": "CHOICE", 5441 "members": [ 5442 { 5443 "type": "PREC", 5444 "value": 18, 5445 "content": { 5446 "type": "SEQ", 5447 "members": [ 5448 { 5449 "type": "FIELD", 5450 "name": "left", 5451 "content": { 5452 "type": "SYMBOL", 5453 "name": "_unary_expression" 5454 } 5455 }, 5456 { 5457 "type": "FIELD", 5458 "name": "operator", 5459 "content": { 5460 "type": "ALIAS", 5461 "content": { 5462 "type": "PATTERN", 5463 "value": "[iI][nN][sS][tT][aA][nN][cC][eE][oO][fF]" 5464 }, 5465 "named": false, 5466 "value": "instanceof" 5467 } 5468 }, 5469 { 5470 "type": "FIELD", 5471 "name": "right", 5472 "content": { 5473 "type": "SYMBOL", 5474 "name": "_class_type_designator" 5475 } 5476 } 5477 ] 5478 } 5479 }, 5480 { 5481 "type": "PREC_RIGHT", 5482 "value": 6, 5483 "content": { 5484 "type": "SEQ", 5485 "members": [ 5486 { 5487 "type": "SYMBOL", 5488 "name": "_expression" 5489 }, 5490 { 5491 "type": "STRING", 5492 "value": "??" 5493 }, 5494 { 5495 "type": "SYMBOL", 5496 "name": "_expression" 5497 } 5498 ] 5499 } 5500 }, 5501 { 5502 "type": "PREC_LEFT", 5503 "value": 3, 5504 "content": { 5505 "type": "SEQ", 5506 "members": [ 5507 { 5508 "type": "FIELD", 5509 "name": "left", 5510 "content": { 5511 "type": "SYMBOL", 5512 "name": "_expression" 5513 } 5514 }, 5515 { 5516 "type": "FIELD", 5517 "name": "operator", 5518 "content": { 5519 "type": "ALIAS", 5520 "content": { 5521 "type": "PATTERN", 5522 "value": "and|AND" 5523 }, 5524 "named": false, 5525 "value": "and" 5526 } 5527 }, 5528 { 5529 "type": "FIELD", 5530 "name": "right", 5531 "content": { 5532 "type": "SYMBOL", 5533 "name": "_expression" 5534 } 5535 } 5536 ] 5537 } 5538 }, 5539 { 5540 "type": "PREC_LEFT", 5541 "value": 1, 5542 "content": { 5543 "type": "SEQ", 5544 "members": [ 5545 { 5546 "type": "FIELD", 5547 "name": "left", 5548 "content": { 5549 "type": "SYMBOL", 5550 "name": "_expression" 5551 } 5552 }, 5553 { 5554 "type": "FIELD", 5555 "name": "operator", 5556 "content": { 5557 "type": "ALIAS", 5558 "content": { 5559 "type": "PATTERN", 5560 "value": "or|OR" 5561 }, 5562 "named": false, 5563 "value": "or" 5564 } 5565 }, 5566 { 5567 "type": "FIELD", 5568 "name": "right", 5569 "content": { 5570 "type": "SYMBOL", 5571 "name": "_expression" 5572 } 5573 } 5574 ] 5575 } 5576 }, 5577 { 5578 "type": "PREC_LEFT", 5579 "value": 2, 5580 "content": { 5581 "type": "SEQ", 5582 "members": [ 5583 { 5584 "type": "FIELD", 5585 "name": "left", 5586 "content": { 5587 "type": "SYMBOL", 5588 "name": "_expression" 5589 } 5590 }, 5591 { 5592 "type": "FIELD", 5593 "name": "operator", 5594 "content": { 5595 "type": "ALIAS", 5596 "content": { 5597 "type": "PATTERN", 5598 "value": "xor|XOR" 5599 }, 5600 "named": false, 5601 "value": "xor" 5602 } 5603 }, 5604 { 5605 "type": "FIELD", 5606 "name": "right", 5607 "content": { 5608 "type": "SYMBOL", 5609 "name": "_expression" 5610 } 5611 } 5612 ] 5613 } 5614 }, 5615 { 5616 "type": "PREC_LEFT", 5617 "value": 7, 5618 "content": { 5619 "type": "SEQ", 5620 "members": [ 5621 { 5622 "type": "FIELD", 5623 "name": "left", 5624 "content": { 5625 "type": "SYMBOL", 5626 "name": "_expression" 5627 } 5628 }, 5629 { 5630 "type": "FIELD", 5631 "name": "operator", 5632 "content": { 5633 "type": "STRING", 5634 "value": "||" 5635 } 5636 }, 5637 { 5638 "type": "FIELD", 5639 "name": "right", 5640 "content": { 5641 "type": "SYMBOL", 5642 "name": "_expression" 5643 } 5644 } 5645 ] 5646 } 5647 }, 5648 { 5649 "type": "PREC_LEFT", 5650 "value": 8, 5651 "content": { 5652 "type": "SEQ", 5653 "members": [ 5654 { 5655 "type": "FIELD", 5656 "name": "left", 5657 "content": { 5658 "type": "SYMBOL", 5659 "name": "_expression" 5660 } 5661 }, 5662 { 5663 "type": "FIELD", 5664 "name": "operator", 5665 "content": { 5666 "type": "STRING", 5667 "value": "&&" 5668 } 5669 }, 5670 { 5671 "type": "FIELD", 5672 "name": "right", 5673 "content": { 5674 "type": "SYMBOL", 5675 "name": "_expression" 5676 } 5677 } 5678 ] 5679 } 5680 }, 5681 { 5682 "type": "PREC_LEFT", 5683 "value": 9, 5684 "content": { 5685 "type": "SEQ", 5686 "members": [ 5687 { 5688 "type": "FIELD", 5689 "name": "left", 5690 "content": { 5691 "type": "SYMBOL", 5692 "name": "_expression" 5693 } 5694 }, 5695 { 5696 "type": "FIELD", 5697 "name": "operator", 5698 "content": { 5699 "type": "STRING", 5700 "value": "|" 5701 } 5702 }, 5703 { 5704 "type": "FIELD", 5705 "name": "right", 5706 "content": { 5707 "type": "SYMBOL", 5708 "name": "_expression" 5709 } 5710 } 5711 ] 5712 } 5713 }, 5714 { 5715 "type": "PREC_LEFT", 5716 "value": 10, 5717 "content": { 5718 "type": "SEQ", 5719 "members": [ 5720 { 5721 "type": "FIELD", 5722 "name": "left", 5723 "content": { 5724 "type": "SYMBOL", 5725 "name": "_expression" 5726 } 5727 }, 5728 { 5729 "type": "FIELD", 5730 "name": "operator", 5731 "content": { 5732 "type": "STRING", 5733 "value": "^" 5734 } 5735 }, 5736 { 5737 "type": "FIELD", 5738 "name": "right", 5739 "content": { 5740 "type": "SYMBOL", 5741 "name": "_expression" 5742 } 5743 } 5744 ] 5745 } 5746 }, 5747 { 5748 "type": "PREC_LEFT", 5749 "value": 11, 5750 "content": { 5751 "type": "SEQ", 5752 "members": [ 5753 { 5754 "type": "FIELD", 5755 "name": "left", 5756 "content": { 5757 "type": "SYMBOL", 5758 "name": "_expression" 5759 } 5760 }, 5761 { 5762 "type": "FIELD", 5763 "name": "operator", 5764 "content": { 5765 "type": "STRING", 5766 "value": "&" 5767 } 5768 }, 5769 { 5770 "type": "FIELD", 5771 "name": "right", 5772 "content": { 5773 "type": "SYMBOL", 5774 "name": "_expression" 5775 } 5776 } 5777 ] 5778 } 5779 }, 5780 { 5781 "type": "PREC_LEFT", 5782 "value": 12, 5783 "content": { 5784 "type": "SEQ", 5785 "members": [ 5786 { 5787 "type": "FIELD", 5788 "name": "left", 5789 "content": { 5790 "type": "SYMBOL", 5791 "name": "_expression" 5792 } 5793 }, 5794 { 5795 "type": "FIELD", 5796 "name": "operator", 5797 "content": { 5798 "type": "STRING", 5799 "value": "==" 5800 } 5801 }, 5802 { 5803 "type": "FIELD", 5804 "name": "right", 5805 "content": { 5806 "type": "SYMBOL", 5807 "name": "_expression" 5808 } 5809 } 5810 ] 5811 } 5812 }, 5813 { 5814 "type": "PREC_LEFT", 5815 "value": 12, 5816 "content": { 5817 "type": "SEQ", 5818 "members": [ 5819 { 5820 "type": "FIELD", 5821 "name": "left", 5822 "content": { 5823 "type": "SYMBOL", 5824 "name": "_expression" 5825 } 5826 }, 5827 { 5828 "type": "FIELD", 5829 "name": "operator", 5830 "content": { 5831 "type": "STRING", 5832 "value": "!=" 5833 } 5834 }, 5835 { 5836 "type": "FIELD", 5837 "name": "right", 5838 "content": { 5839 "type": "SYMBOL", 5840 "name": "_expression" 5841 } 5842 } 5843 ] 5844 } 5845 }, 5846 { 5847 "type": "PREC_LEFT", 5848 "value": 12, 5849 "content": { 5850 "type": "SEQ", 5851 "members": [ 5852 { 5853 "type": "FIELD", 5854 "name": "left", 5855 "content": { 5856 "type": "SYMBOL", 5857 "name": "_expression" 5858 } 5859 }, 5860 { 5861 "type": "FIELD", 5862 "name": "operator", 5863 "content": { 5864 "type": "STRING", 5865 "value": "<>" 5866 } 5867 }, 5868 { 5869 "type": "FIELD", 5870 "name": "right", 5871 "content": { 5872 "type": "SYMBOL", 5873 "name": "_expression" 5874 } 5875 } 5876 ] 5877 } 5878 }, 5879 { 5880 "type": "PREC_LEFT", 5881 "value": 12, 5882 "content": { 5883 "type": "SEQ", 5884 "members": [ 5885 { 5886 "type": "FIELD", 5887 "name": "left", 5888 "content": { 5889 "type": "SYMBOL", 5890 "name": "_expression" 5891 } 5892 }, 5893 { 5894 "type": "FIELD", 5895 "name": "operator", 5896 "content": { 5897 "type": "STRING", 5898 "value": "===" 5899 } 5900 }, 5901 { 5902 "type": "FIELD", 5903 "name": "right", 5904 "content": { 5905 "type": "SYMBOL", 5906 "name": "_expression" 5907 } 5908 } 5909 ] 5910 } 5911 }, 5912 { 5913 "type": "PREC_LEFT", 5914 "value": 12, 5915 "content": { 5916 "type": "SEQ", 5917 "members": [ 5918 { 5919 "type": "FIELD", 5920 "name": "left", 5921 "content": { 5922 "type": "SYMBOL", 5923 "name": "_expression" 5924 } 5925 }, 5926 { 5927 "type": "FIELD", 5928 "name": "operator", 5929 "content": { 5930 "type": "STRING", 5931 "value": "!==" 5932 } 5933 }, 5934 { 5935 "type": "FIELD", 5936 "name": "right", 5937 "content": { 5938 "type": "SYMBOL", 5939 "name": "_expression" 5940 } 5941 } 5942 ] 5943 } 5944 }, 5945 { 5946 "type": "PREC_LEFT", 5947 "value": 13, 5948 "content": { 5949 "type": "SEQ", 5950 "members": [ 5951 { 5952 "type": "FIELD", 5953 "name": "left", 5954 "content": { 5955 "type": "SYMBOL", 5956 "name": "_expression" 5957 } 5958 }, 5959 { 5960 "type": "FIELD", 5961 "name": "operator", 5962 "content": { 5963 "type": "STRING", 5964 "value": "<" 5965 } 5966 }, 5967 { 5968 "type": "FIELD", 5969 "name": "right", 5970 "content": { 5971 "type": "SYMBOL", 5972 "name": "_expression" 5973 } 5974 } 5975 ] 5976 } 5977 }, 5978 { 5979 "type": "PREC_LEFT", 5980 "value": 13, 5981 "content": { 5982 "type": "SEQ", 5983 "members": [ 5984 { 5985 "type": "FIELD", 5986 "name": "left", 5987 "content": { 5988 "type": "SYMBOL", 5989 "name": "_expression" 5990 } 5991 }, 5992 { 5993 "type": "FIELD", 5994 "name": "operator", 5995 "content": { 5996 "type": "STRING", 5997 "value": ">" 5998 } 5999 }, 6000 { 6001 "type": "FIELD", 6002 "name": "right", 6003 "content": { 6004 "type": "SYMBOL", 6005 "name": "_expression" 6006 } 6007 } 6008 ] 6009 } 6010 }, 6011 { 6012 "type": "PREC_LEFT", 6013 "value": 13, 6014 "content": { 6015 "type": "SEQ", 6016 "members": [ 6017 { 6018 "type": "FIELD", 6019 "name": "left", 6020 "content": { 6021 "type": "SYMBOL", 6022 "name": "_expression" 6023 } 6024 }, 6025 { 6026 "type": "FIELD", 6027 "name": "operator", 6028 "content": { 6029 "type": "STRING", 6030 "value": "<=" 6031 } 6032 }, 6033 { 6034 "type": "FIELD", 6035 "name": "right", 6036 "content": { 6037 "type": "SYMBOL", 6038 "name": "_expression" 6039 } 6040 } 6041 ] 6042 } 6043 }, 6044 { 6045 "type": "PREC_LEFT", 6046 "value": 13, 6047 "content": { 6048 "type": "SEQ", 6049 "members": [ 6050 { 6051 "type": "FIELD", 6052 "name": "left", 6053 "content": { 6054 "type": "SYMBOL", 6055 "name": "_expression" 6056 } 6057 }, 6058 { 6059 "type": "FIELD", 6060 "name": "operator", 6061 "content": { 6062 "type": "STRING", 6063 "value": ">=" 6064 } 6065 }, 6066 { 6067 "type": "FIELD", 6068 "name": "right", 6069 "content": { 6070 "type": "SYMBOL", 6071 "name": "_expression" 6072 } 6073 } 6074 ] 6075 } 6076 }, 6077 { 6078 "type": "PREC_LEFT", 6079 "value": 12, 6080 "content": { 6081 "type": "SEQ", 6082 "members": [ 6083 { 6084 "type": "FIELD", 6085 "name": "left", 6086 "content": { 6087 "type": "SYMBOL", 6088 "name": "_expression" 6089 } 6090 }, 6091 { 6092 "type": "FIELD", 6093 "name": "operator", 6094 "content": { 6095 "type": "STRING", 6096 "value": "<=>" 6097 } 6098 }, 6099 { 6100 "type": "FIELD", 6101 "name": "right", 6102 "content": { 6103 "type": "SYMBOL", 6104 "name": "_expression" 6105 } 6106 } 6107 ] 6108 } 6109 }, 6110 { 6111 "type": "PREC_LEFT", 6112 "value": 14, 6113 "content": { 6114 "type": "SEQ", 6115 "members": [ 6116 { 6117 "type": "FIELD", 6118 "name": "left", 6119 "content": { 6120 "type": "SYMBOL", 6121 "name": "_expression" 6122 } 6123 }, 6124 { 6125 "type": "FIELD", 6126 "name": "operator", 6127 "content": { 6128 "type": "STRING", 6129 "value": "<<" 6130 } 6131 }, 6132 { 6133 "type": "FIELD", 6134 "name": "right", 6135 "content": { 6136 "type": "SYMBOL", 6137 "name": "_expression" 6138 } 6139 } 6140 ] 6141 } 6142 }, 6143 { 6144 "type": "PREC_LEFT", 6145 "value": 14, 6146 "content": { 6147 "type": "SEQ", 6148 "members": [ 6149 { 6150 "type": "FIELD", 6151 "name": "left", 6152 "content": { 6153 "type": "SYMBOL", 6154 "name": "_expression" 6155 } 6156 }, 6157 { 6158 "type": "FIELD", 6159 "name": "operator", 6160 "content": { 6161 "type": "STRING", 6162 "value": ">>" 6163 } 6164 }, 6165 { 6166 "type": "FIELD", 6167 "name": "right", 6168 "content": { 6169 "type": "SYMBOL", 6170 "name": "_expression" 6171 } 6172 } 6173 ] 6174 } 6175 }, 6176 { 6177 "type": "PREC_LEFT", 6178 "value": 15, 6179 "content": { 6180 "type": "SEQ", 6181 "members": [ 6182 { 6183 "type": "FIELD", 6184 "name": "left", 6185 "content": { 6186 "type": "SYMBOL", 6187 "name": "_expression" 6188 } 6189 }, 6190 { 6191 "type": "FIELD", 6192 "name": "operator", 6193 "content": { 6194 "type": "STRING", 6195 "value": "+" 6196 } 6197 }, 6198 { 6199 "type": "FIELD", 6200 "name": "right", 6201 "content": { 6202 "type": "SYMBOL", 6203 "name": "_expression" 6204 } 6205 } 6206 ] 6207 } 6208 }, 6209 { 6210 "type": "PREC_LEFT", 6211 "value": 15, 6212 "content": { 6213 "type": "SEQ", 6214 "members": [ 6215 { 6216 "type": "FIELD", 6217 "name": "left", 6218 "content": { 6219 "type": "SYMBOL", 6220 "name": "_expression" 6221 } 6222 }, 6223 { 6224 "type": "FIELD", 6225 "name": "operator", 6226 "content": { 6227 "type": "STRING", 6228 "value": "-" 6229 } 6230 }, 6231 { 6232 "type": "FIELD", 6233 "name": "right", 6234 "content": { 6235 "type": "SYMBOL", 6236 "name": "_expression" 6237 } 6238 } 6239 ] 6240 } 6241 }, 6242 { 6243 "type": "PREC_LEFT", 6244 "value": 15, 6245 "content": { 6246 "type": "SEQ", 6247 "members": [ 6248 { 6249 "type": "FIELD", 6250 "name": "left", 6251 "content": { 6252 "type": "SYMBOL", 6253 "name": "_expression" 6254 } 6255 }, 6256 { 6257 "type": "FIELD", 6258 "name": "operator", 6259 "content": { 6260 "type": "STRING", 6261 "value": "." 6262 } 6263 }, 6264 { 6265 "type": "FIELD", 6266 "name": "right", 6267 "content": { 6268 "type": "SYMBOL", 6269 "name": "_expression" 6270 } 6271 } 6272 ] 6273 } 6274 }, 6275 { 6276 "type": "PREC_LEFT", 6277 "value": 16, 6278 "content": { 6279 "type": "SEQ", 6280 "members": [ 6281 { 6282 "type": "FIELD", 6283 "name": "left", 6284 "content": { 6285 "type": "SYMBOL", 6286 "name": "_expression" 6287 } 6288 }, 6289 { 6290 "type": "FIELD", 6291 "name": "operator", 6292 "content": { 6293 "type": "STRING", 6294 "value": "*" 6295 } 6296 }, 6297 { 6298 "type": "FIELD", 6299 "name": "right", 6300 "content": { 6301 "type": "SYMBOL", 6302 "name": "_expression" 6303 } 6304 } 6305 ] 6306 } 6307 }, 6308 { 6309 "type": "PREC_LEFT", 6310 "value": 16, 6311 "content": { 6312 "type": "SEQ", 6313 "members": [ 6314 { 6315 "type": "FIELD", 6316 "name": "left", 6317 "content": { 6318 "type": "SYMBOL", 6319 "name": "_expression" 6320 } 6321 }, 6322 { 6323 "type": "FIELD", 6324 "name": "operator", 6325 "content": { 6326 "type": "STRING", 6327 "value": "/" 6328 } 6329 }, 6330 { 6331 "type": "FIELD", 6332 "name": "right", 6333 "content": { 6334 "type": "SYMBOL", 6335 "name": "_expression" 6336 } 6337 } 6338 ] 6339 } 6340 }, 6341 { 6342 "type": "PREC_LEFT", 6343 "value": 16, 6344 "content": { 6345 "type": "SEQ", 6346 "members": [ 6347 { 6348 "type": "FIELD", 6349 "name": "left", 6350 "content": { 6351 "type": "SYMBOL", 6352 "name": "_expression" 6353 } 6354 }, 6355 { 6356 "type": "FIELD", 6357 "name": "operator", 6358 "content": { 6359 "type": "STRING", 6360 "value": "%" 6361 } 6362 }, 6363 { 6364 "type": "FIELD", 6365 "name": "right", 6366 "content": { 6367 "type": "SYMBOL", 6368 "name": "_expression" 6369 } 6370 } 6371 ] 6372 } 6373 } 6374 ] 6375 }, 6376 "include_expression": { 6377 "type": "SEQ", 6378 "members": [ 6379 { 6380 "type": "ALIAS", 6381 "content": { 6382 "type": "PATTERN", 6383 "value": "[iI][nN][cC][lL][uU][dD][eE]" 6384 }, 6385 "named": false, 6386 "value": "include" 6387 }, 6388 { 6389 "type": "SYMBOL", 6390 "name": "_expression" 6391 } 6392 ] 6393 }, 6394 "include_once_expression": { 6395 "type": "SEQ", 6396 "members": [ 6397 { 6398 "type": "ALIAS", 6399 "content": { 6400 "type": "PATTERN", 6401 "value": "[iI][nN][cC][lL][uU][dD][eE][__][oO][nN][cC][eE]" 6402 }, 6403 "named": false, 6404 "value": "include_once" 6405 }, 6406 { 6407 "type": "SYMBOL", 6408 "name": "_expression" 6409 } 6410 ] 6411 }, 6412 "require_expression": { 6413 "type": "SEQ", 6414 "members": [ 6415 { 6416 "type": "ALIAS", 6417 "content": { 6418 "type": "PATTERN", 6419 "value": "[rR][eE][qQ][uU][iI][rR][eE]" 6420 }, 6421 "named": false, 6422 "value": "require" 6423 }, 6424 { 6425 "type": "SYMBOL", 6426 "name": "_expression" 6427 } 6428 ] 6429 }, 6430 "require_once_expression": { 6431 "type": "SEQ", 6432 "members": [ 6433 { 6434 "type": "ALIAS", 6435 "content": { 6436 "type": "PATTERN", 6437 "value": "[rR][eE][qQ][uU][iI][rR][eE][__][oO][nN][cC][eE]" 6438 }, 6439 "named": false, 6440 "value": "require_once" 6441 }, 6442 { 6443 "type": "SYMBOL", 6444 "name": "_expression" 6445 } 6446 ] 6447 }, 6448 "name": { 6449 "type": "PATTERN", 6450 "value": "[_a-zA-Z\\u00A1-\\u00ff][_a-zA-Z\\u00A1-\\u00ff\\d]*" 6451 }, 6452 "_reserved_identifier": { 6453 "type": "CHOICE", 6454 "members": [ 6455 { 6456 "type": "STRING", 6457 "value": "self" 6458 }, 6459 { 6460 "type": "STRING", 6461 "value": "parent" 6462 }, 6463 { 6464 "type": "ALIAS", 6465 "content": { 6466 "type": "PATTERN", 6467 "value": "[sS][tT][aA][tT][iI][cC]" 6468 }, 6469 "named": false, 6470 "value": "static" 6471 } 6472 ] 6473 }, 6474 "comment": { 6475 "type": "TOKEN", 6476 "content": { 6477 "type": "CHOICE", 6478 "members": [ 6479 { 6480 "type": "SEQ", 6481 "members": [ 6482 { 6483 "type": "CHOICE", 6484 "members": [ 6485 { 6486 "type": "STRING", 6487 "value": "//" 6488 }, 6489 { 6490 "type": "STRING", 6491 "value": "#" 6492 } 6493 ] 6494 }, 6495 { 6496 "type": "REPEAT", 6497 "content": { 6498 "type": "PATTERN", 6499 "value": "[^?\\r?\\n]|\\?[^>\\r\\n]" 6500 } 6501 }, 6502 { 6503 "type": "CHOICE", 6504 "members": [ 6505 { 6506 "type": "PATTERN", 6507 "value": "\\?\\r?\\n" 6508 }, 6509 { 6510 "type": "BLANK" 6511 } 6512 ] 6513 } 6514 ] 6515 }, 6516 { 6517 "type": "SEQ", 6518 "members": [ 6519 { 6520 "type": "STRING", 6521 "value": "/*" 6522 }, 6523 { 6524 "type": "PATTERN", 6525 "value": "[^*]*\\*+([^\\/*][^*]*\\*+)*" 6526 }, 6527 { 6528 "type": "STRING", 6529 "value": "/" 6530 } 6531 ] 6532 } 6533 ] 6534 } 6535 }, 6536 "_semicolon": { 6537 "type": "CHOICE", 6538 "members": [ 6539 { 6540 "type": "SYMBOL", 6541 "name": "_automatic_semicolon" 6542 }, 6543 { 6544 "type": "STRING", 6545 "value": ";" 6546 } 6547 ] 6548 } 6549 }, 6550 "extras": [ 6551 { 6552 "type": "SYMBOL", 6553 "name": "comment" 6554 }, 6555 { 6556 "type": "PATTERN", 6557 "value": "[\\s\\uFEFF\\u2060\\u200B\\u00A0]" 6558 }, 6559 { 6560 "type": "SYMBOL", 6561 "name": "text_interpolation" 6562 } 6563 ], 6564 "conflicts": [ 6565 [ 6566 "simple_parameter", 6567 "name" 6568 ], 6569 [ 6570 "variadic_parameter", 6571 "name" 6572 ], 6573 [ 6574 "static_modifier", 6575 "_reserved_identifier" 6576 ], 6577 [ 6578 "qualified_name", 6579 "namespace_name" 6580 ], 6581 [ 6582 "namespace_name" 6583 ], 6584 [ 6585 "namespace_aliasing_clause", 6586 "name" 6587 ], 6588 [ 6589 "namespace_name_as_prefix" 6590 ], 6591 [ 6592 "namespace_use_declaration", 6593 "namespace_name_as_prefix" 6594 ] 6595 ], 6596 "precedences": [], 6597 "externals": [ 6598 { 6599 "type": "SYMBOL", 6600 "name": "_automatic_semicolon" 6601 }, 6602 { 6603 "type": "SYMBOL", 6604 "name": "heredoc" 6605 }, 6606 { 6607 "type": "SYMBOL", 6608 "name": "_eof" 6609 } 6610 ], 6611 "inline": [ 6612 "_statement", 6613 "_semicolon", 6614 "_member_name", 6615 "_variable", 6616 "_callable_variable", 6617 "_callable_expression", 6618 "_foreach_value", 6619 "_literal", 6620 "ReferenceError", 6621 "_class_type_designator", 6622 "_variable_name", 6623 "_type_name" 6624 ], 6625 "supertypes": [ 6626 "_statement", 6627 "_expression", 6628 "_primary_expression", 6629 "_type", 6630 "_literal" 6631 ] 6632} 6633 6634