1{ 2 "name": "python", 3 "word": "identifier", 4 "rules": { 5 "module": { 6 "type": "REPEAT", 7 "content": { 8 "type": "SYMBOL", 9 "name": "_statement" 10 } 11 }, 12 "_statement": { 13 "type": "CHOICE", 14 "members": [ 15 { 16 "type": "SYMBOL", 17 "name": "_simple_statements" 18 }, 19 { 20 "type": "SYMBOL", 21 "name": "_compound_statement" 22 } 23 ] 24 }, 25 "_simple_statements": { 26 "type": "SEQ", 27 "members": [ 28 { 29 "type": "SYMBOL", 30 "name": "_simple_statement" 31 }, 32 { 33 "type": "CHOICE", 34 "members": [ 35 { 36 "type": "REPEAT", 37 "content": { 38 "type": "SEQ", 39 "members": [ 40 { 41 "type": "SYMBOL", 42 "name": "_semicolon" 43 }, 44 { 45 "type": "SYMBOL", 46 "name": "_simple_statement" 47 } 48 ] 49 } 50 }, 51 { 52 "type": "BLANK" 53 } 54 ] 55 }, 56 { 57 "type": "CHOICE", 58 "members": [ 59 { 60 "type": "SYMBOL", 61 "name": "_semicolon" 62 }, 63 { 64 "type": "BLANK" 65 } 66 ] 67 }, 68 { 69 "type": "SYMBOL", 70 "name": "_newline" 71 } 72 ] 73 }, 74 "_simple_statement": { 75 "type": "CHOICE", 76 "members": [ 77 { 78 "type": "SYMBOL", 79 "name": "future_import_statement" 80 }, 81 { 82 "type": "SYMBOL", 83 "name": "import_statement" 84 }, 85 { 86 "type": "SYMBOL", 87 "name": "import_from_statement" 88 }, 89 { 90 "type": "SYMBOL", 91 "name": "print_statement" 92 }, 93 { 94 "type": "SYMBOL", 95 "name": "assert_statement" 96 }, 97 { 98 "type": "SYMBOL", 99 "name": "expression_statement" 100 }, 101 { 102 "type": "SYMBOL", 103 "name": "return_statement" 104 }, 105 { 106 "type": "SYMBOL", 107 "name": "delete_statement" 108 }, 109 { 110 "type": "SYMBOL", 111 "name": "raise_statement" 112 }, 113 { 114 "type": "SYMBOL", 115 "name": "pass_statement" 116 }, 117 { 118 "type": "SYMBOL", 119 "name": "break_statement" 120 }, 121 { 122 "type": "SYMBOL", 123 "name": "continue_statement" 124 }, 125 { 126 "type": "SYMBOL", 127 "name": "global_statement" 128 }, 129 { 130 "type": "SYMBOL", 131 "name": "nonlocal_statement" 132 }, 133 { 134 "type": "SYMBOL", 135 "name": "exec_statement" 136 } 137 ] 138 }, 139 "import_statement": { 140 "type": "SEQ", 141 "members": [ 142 { 143 "type": "STRING", 144 "value": "import" 145 }, 146 { 147 "type": "SYMBOL", 148 "name": "_import_list" 149 } 150 ] 151 }, 152 "import_prefix": { 153 "type": "REPEAT1", 154 "content": { 155 "type": "STRING", 156 "value": "." 157 } 158 }, 159 "relative_import": { 160 "type": "SEQ", 161 "members": [ 162 { 163 "type": "SYMBOL", 164 "name": "import_prefix" 165 }, 166 { 167 "type": "CHOICE", 168 "members": [ 169 { 170 "type": "SYMBOL", 171 "name": "dotted_name" 172 }, 173 { 174 "type": "BLANK" 175 } 176 ] 177 } 178 ] 179 }, 180 "future_import_statement": { 181 "type": "SEQ", 182 "members": [ 183 { 184 "type": "STRING", 185 "value": "from" 186 }, 187 { 188 "type": "STRING", 189 "value": "__future__" 190 }, 191 { 192 "type": "STRING", 193 "value": "import" 194 }, 195 { 196 "type": "CHOICE", 197 "members": [ 198 { 199 "type": "SYMBOL", 200 "name": "_import_list" 201 }, 202 { 203 "type": "SEQ", 204 "members": [ 205 { 206 "type": "STRING", 207 "value": "(" 208 }, 209 { 210 "type": "SYMBOL", 211 "name": "_import_list" 212 }, 213 { 214 "type": "STRING", 215 "value": ")" 216 } 217 ] 218 } 219 ] 220 } 221 ] 222 }, 223 "import_from_statement": { 224 "type": "SEQ", 225 "members": [ 226 { 227 "type": "STRING", 228 "value": "from" 229 }, 230 { 231 "type": "FIELD", 232 "name": "module_name", 233 "content": { 234 "type": "CHOICE", 235 "members": [ 236 { 237 "type": "SYMBOL", 238 "name": "relative_import" 239 }, 240 { 241 "type": "SYMBOL", 242 "name": "dotted_name" 243 } 244 ] 245 } 246 }, 247 { 248 "type": "STRING", 249 "value": "import" 250 }, 251 { 252 "type": "CHOICE", 253 "members": [ 254 { 255 "type": "SYMBOL", 256 "name": "wildcard_import" 257 }, 258 { 259 "type": "SYMBOL", 260 "name": "_import_list" 261 }, 262 { 263 "type": "SEQ", 264 "members": [ 265 { 266 "type": "STRING", 267 "value": "(" 268 }, 269 { 270 "type": "SYMBOL", 271 "name": "_import_list" 272 }, 273 { 274 "type": "STRING", 275 "value": ")" 276 } 277 ] 278 } 279 ] 280 } 281 ] 282 }, 283 "_import_list": { 284 "type": "SEQ", 285 "members": [ 286 { 287 "type": "SEQ", 288 "members": [ 289 { 290 "type": "FIELD", 291 "name": "name", 292 "content": { 293 "type": "CHOICE", 294 "members": [ 295 { 296 "type": "SYMBOL", 297 "name": "dotted_name" 298 }, 299 { 300 "type": "SYMBOL", 301 "name": "aliased_import" 302 } 303 ] 304 } 305 }, 306 { 307 "type": "REPEAT", 308 "content": { 309 "type": "SEQ", 310 "members": [ 311 { 312 "type": "STRING", 313 "value": "," 314 }, 315 { 316 "type": "FIELD", 317 "name": "name", 318 "content": { 319 "type": "CHOICE", 320 "members": [ 321 { 322 "type": "SYMBOL", 323 "name": "dotted_name" 324 }, 325 { 326 "type": "SYMBOL", 327 "name": "aliased_import" 328 } 329 ] 330 } 331 } 332 ] 333 } 334 } 335 ] 336 }, 337 { 338 "type": "CHOICE", 339 "members": [ 340 { 341 "type": "STRING", 342 "value": "," 343 }, 344 { 345 "type": "BLANK" 346 } 347 ] 348 } 349 ] 350 }, 351 "aliased_import": { 352 "type": "SEQ", 353 "members": [ 354 { 355 "type": "FIELD", 356 "name": "name", 357 "content": { 358 "type": "SYMBOL", 359 "name": "dotted_name" 360 } 361 }, 362 { 363 "type": "STRING", 364 "value": "as" 365 }, 366 { 367 "type": "FIELD", 368 "name": "alias", 369 "content": { 370 "type": "SYMBOL", 371 "name": "identifier" 372 } 373 } 374 ] 375 }, 376 "wildcard_import": { 377 "type": "STRING", 378 "value": "*" 379 }, 380 "print_statement": { 381 "type": "CHOICE", 382 "members": [ 383 { 384 "type": "PREC", 385 "value": 1, 386 "content": { 387 "type": "SEQ", 388 "members": [ 389 { 390 "type": "STRING", 391 "value": "print" 392 }, 393 { 394 "type": "SYMBOL", 395 "name": "chevron" 396 }, 397 { 398 "type": "REPEAT", 399 "content": { 400 "type": "SEQ", 401 "members": [ 402 { 403 "type": "STRING", 404 "value": "," 405 }, 406 { 407 "type": "FIELD", 408 "name": "argument", 409 "content": { 410 "type": "SYMBOL", 411 "name": "expression" 412 } 413 } 414 ] 415 } 416 }, 417 { 418 "type": "CHOICE", 419 "members": [ 420 { 421 "type": "STRING", 422 "value": "," 423 }, 424 { 425 "type": "BLANK" 426 } 427 ] 428 } 429 ] 430 } 431 }, 432 { 433 "type": "PREC", 434 "value": -10, 435 "content": { 436 "type": "SEQ", 437 "members": [ 438 { 439 "type": "STRING", 440 "value": "print" 441 }, 442 { 443 "type": "SEQ", 444 "members": [ 445 { 446 "type": "FIELD", 447 "name": "argument", 448 "content": { 449 "type": "SYMBOL", 450 "name": "expression" 451 } 452 }, 453 { 454 "type": "REPEAT", 455 "content": { 456 "type": "SEQ", 457 "members": [ 458 { 459 "type": "STRING", 460 "value": "," 461 }, 462 { 463 "type": "FIELD", 464 "name": "argument", 465 "content": { 466 "type": "SYMBOL", 467 "name": "expression" 468 } 469 } 470 ] 471 } 472 } 473 ] 474 }, 475 { 476 "type": "CHOICE", 477 "members": [ 478 { 479 "type": "STRING", 480 "value": "," 481 }, 482 { 483 "type": "BLANK" 484 } 485 ] 486 } 487 ] 488 } 489 } 490 ] 491 }, 492 "chevron": { 493 "type": "SEQ", 494 "members": [ 495 { 496 "type": "STRING", 497 "value": ">>" 498 }, 499 { 500 "type": "SYMBOL", 501 "name": "expression" 502 } 503 ] 504 }, 505 "assert_statement": { 506 "type": "SEQ", 507 "members": [ 508 { 509 "type": "STRING", 510 "value": "assert" 511 }, 512 { 513 "type": "SEQ", 514 "members": [ 515 { 516 "type": "SYMBOL", 517 "name": "expression" 518 }, 519 { 520 "type": "REPEAT", 521 "content": { 522 "type": "SEQ", 523 "members": [ 524 { 525 "type": "STRING", 526 "value": "," 527 }, 528 { 529 "type": "SYMBOL", 530 "name": "expression" 531 } 532 ] 533 } 534 } 535 ] 536 } 537 ] 538 }, 539 "expression_statement": { 540 "type": "CHOICE", 541 "members": [ 542 { 543 "type": "SYMBOL", 544 "name": "expression" 545 }, 546 { 547 "type": "SEQ", 548 "members": [ 549 { 550 "type": "SEQ", 551 "members": [ 552 { 553 "type": "SYMBOL", 554 "name": "expression" 555 }, 556 { 557 "type": "REPEAT", 558 "content": { 559 "type": "SEQ", 560 "members": [ 561 { 562 "type": "STRING", 563 "value": "," 564 }, 565 { 566 "type": "SYMBOL", 567 "name": "expression" 568 } 569 ] 570 } 571 } 572 ] 573 }, 574 { 575 "type": "CHOICE", 576 "members": [ 577 { 578 "type": "STRING", 579 "value": "," 580 }, 581 { 582 "type": "BLANK" 583 } 584 ] 585 } 586 ] 587 }, 588 { 589 "type": "SYMBOL", 590 "name": "assignment" 591 }, 592 { 593 "type": "SYMBOL", 594 "name": "augmented_assignment" 595 }, 596 { 597 "type": "SYMBOL", 598 "name": "yield" 599 } 600 ] 601 }, 602 "named_expression": { 603 "type": "SEQ", 604 "members": [ 605 { 606 "type": "FIELD", 607 "name": "name", 608 "content": { 609 "type": "SYMBOL", 610 "name": "identifier" 611 } 612 }, 613 { 614 "type": "STRING", 615 "value": ":=" 616 }, 617 { 618 "type": "FIELD", 619 "name": "value", 620 "content": { 621 "type": "SYMBOL", 622 "name": "expression" 623 } 624 } 625 ] 626 }, 627 "return_statement": { 628 "type": "SEQ", 629 "members": [ 630 { 631 "type": "STRING", 632 "value": "return" 633 }, 634 { 635 "type": "CHOICE", 636 "members": [ 637 { 638 "type": "SYMBOL", 639 "name": "_expressions" 640 }, 641 { 642 "type": "BLANK" 643 } 644 ] 645 } 646 ] 647 }, 648 "delete_statement": { 649 "type": "SEQ", 650 "members": [ 651 { 652 "type": "STRING", 653 "value": "del" 654 }, 655 { 656 "type": "SYMBOL", 657 "name": "_expressions" 658 } 659 ] 660 }, 661 "_expressions": { 662 "type": "CHOICE", 663 "members": [ 664 { 665 "type": "SYMBOL", 666 "name": "expression" 667 }, 668 { 669 "type": "SYMBOL", 670 "name": "expression_list" 671 } 672 ] 673 }, 674 "raise_statement": { 675 "type": "SEQ", 676 "members": [ 677 { 678 "type": "STRING", 679 "value": "raise" 680 }, 681 { 682 "type": "CHOICE", 683 "members": [ 684 { 685 "type": "SYMBOL", 686 "name": "_expressions" 687 }, 688 { 689 "type": "BLANK" 690 } 691 ] 692 }, 693 { 694 "type": "CHOICE", 695 "members": [ 696 { 697 "type": "SEQ", 698 "members": [ 699 { 700 "type": "STRING", 701 "value": "from" 702 }, 703 { 704 "type": "FIELD", 705 "name": "cause", 706 "content": { 707 "type": "SYMBOL", 708 "name": "expression" 709 } 710 } 711 ] 712 }, 713 { 714 "type": "BLANK" 715 } 716 ] 717 } 718 ] 719 }, 720 "pass_statement": { 721 "type": "PREC_LEFT", 722 "value": 0, 723 "content": { 724 "type": "STRING", 725 "value": "pass" 726 } 727 }, 728 "break_statement": { 729 "type": "PREC_LEFT", 730 "value": 0, 731 "content": { 732 "type": "STRING", 733 "value": "break" 734 } 735 }, 736 "continue_statement": { 737 "type": "PREC_LEFT", 738 "value": 0, 739 "content": { 740 "type": "STRING", 741 "value": "continue" 742 } 743 }, 744 "_compound_statement": { 745 "type": "CHOICE", 746 "members": [ 747 { 748 "type": "SYMBOL", 749 "name": "if_statement" 750 }, 751 { 752 "type": "SYMBOL", 753 "name": "for_statement" 754 }, 755 { 756 "type": "SYMBOL", 757 "name": "while_statement" 758 }, 759 { 760 "type": "SYMBOL", 761 "name": "try_statement" 762 }, 763 { 764 "type": "SYMBOL", 765 "name": "with_statement" 766 }, 767 { 768 "type": "SYMBOL", 769 "name": "function_definition" 770 }, 771 { 772 "type": "SYMBOL", 773 "name": "class_definition" 774 }, 775 { 776 "type": "SYMBOL", 777 "name": "decorated_definition" 778 } 779 ] 780 }, 781 "if_statement": { 782 "type": "SEQ", 783 "members": [ 784 { 785 "type": "STRING", 786 "value": "if" 787 }, 788 { 789 "type": "FIELD", 790 "name": "condition", 791 "content": { 792 "type": "SYMBOL", 793 "name": "expression" 794 } 795 }, 796 { 797 "type": "STRING", 798 "value": ":" 799 }, 800 { 801 "type": "FIELD", 802 "name": "consequence", 803 "content": { 804 "type": "SYMBOL", 805 "name": "_suite" 806 } 807 }, 808 { 809 "type": "REPEAT", 810 "content": { 811 "type": "FIELD", 812 "name": "alternative", 813 "content": { 814 "type": "SYMBOL", 815 "name": "elif_clause" 816 } 817 } 818 }, 819 { 820 "type": "CHOICE", 821 "members": [ 822 { 823 "type": "FIELD", 824 "name": "alternative", 825 "content": { 826 "type": "SYMBOL", 827 "name": "else_clause" 828 } 829 }, 830 { 831 "type": "BLANK" 832 } 833 ] 834 } 835 ] 836 }, 837 "elif_clause": { 838 "type": "SEQ", 839 "members": [ 840 { 841 "type": "STRING", 842 "value": "elif" 843 }, 844 { 845 "type": "FIELD", 846 "name": "condition", 847 "content": { 848 "type": "SYMBOL", 849 "name": "expression" 850 } 851 }, 852 { 853 "type": "STRING", 854 "value": ":" 855 }, 856 { 857 "type": "FIELD", 858 "name": "consequence", 859 "content": { 860 "type": "SYMBOL", 861 "name": "_suite" 862 } 863 } 864 ] 865 }, 866 "else_clause": { 867 "type": "SEQ", 868 "members": [ 869 { 870 "type": "STRING", 871 "value": "else" 872 }, 873 { 874 "type": "STRING", 875 "value": ":" 876 }, 877 { 878 "type": "FIELD", 879 "name": "body", 880 "content": { 881 "type": "SYMBOL", 882 "name": "_suite" 883 } 884 } 885 ] 886 }, 887 "for_statement": { 888 "type": "SEQ", 889 "members": [ 890 { 891 "type": "CHOICE", 892 "members": [ 893 { 894 "type": "STRING", 895 "value": "async" 896 }, 897 { 898 "type": "BLANK" 899 } 900 ] 901 }, 902 { 903 "type": "STRING", 904 "value": "for" 905 }, 906 { 907 "type": "FIELD", 908 "name": "left", 909 "content": { 910 "type": "SYMBOL", 911 "name": "_left_hand_side" 912 } 913 }, 914 { 915 "type": "STRING", 916 "value": "in" 917 }, 918 { 919 "type": "FIELD", 920 "name": "right", 921 "content": { 922 "type": "SYMBOL", 923 "name": "_expressions" 924 } 925 }, 926 { 927 "type": "STRING", 928 "value": ":" 929 }, 930 { 931 "type": "FIELD", 932 "name": "body", 933 "content": { 934 "type": "SYMBOL", 935 "name": "_suite" 936 } 937 }, 938 { 939 "type": "FIELD", 940 "name": "alternative", 941 "content": { 942 "type": "CHOICE", 943 "members": [ 944 { 945 "type": "SYMBOL", 946 "name": "else_clause" 947 }, 948 { 949 "type": "BLANK" 950 } 951 ] 952 } 953 } 954 ] 955 }, 956 "while_statement": { 957 "type": "SEQ", 958 "members": [ 959 { 960 "type": "STRING", 961 "value": "while" 962 }, 963 { 964 "type": "FIELD", 965 "name": "condition", 966 "content": { 967 "type": "SYMBOL", 968 "name": "expression" 969 } 970 }, 971 { 972 "type": "STRING", 973 "value": ":" 974 }, 975 { 976 "type": "FIELD", 977 "name": "body", 978 "content": { 979 "type": "SYMBOL", 980 "name": "_suite" 981 } 982 }, 983 { 984 "type": "CHOICE", 985 "members": [ 986 { 987 "type": "FIELD", 988 "name": "alternative", 989 "content": { 990 "type": "SYMBOL", 991 "name": "else_clause" 992 } 993 }, 994 { 995 "type": "BLANK" 996 } 997 ] 998 } 999 ] 1000 }, 1001 "try_statement": { 1002 "type": "SEQ", 1003 "members": [ 1004 { 1005 "type": "STRING", 1006 "value": "try" 1007 }, 1008 { 1009 "type": "STRING", 1010 "value": ":" 1011 }, 1012 { 1013 "type": "FIELD", 1014 "name": "body", 1015 "content": { 1016 "type": "SYMBOL", 1017 "name": "_suite" 1018 } 1019 }, 1020 { 1021 "type": "CHOICE", 1022 "members": [ 1023 { 1024 "type": "SEQ", 1025 "members": [ 1026 { 1027 "type": "REPEAT1", 1028 "content": { 1029 "type": "SYMBOL", 1030 "name": "except_clause" 1031 } 1032 }, 1033 { 1034 "type": "CHOICE", 1035 "members": [ 1036 { 1037 "type": "SYMBOL", 1038 "name": "else_clause" 1039 }, 1040 { 1041 "type": "BLANK" 1042 } 1043 ] 1044 }, 1045 { 1046 "type": "CHOICE", 1047 "members": [ 1048 { 1049 "type": "SYMBOL", 1050 "name": "finally_clause" 1051 }, 1052 { 1053 "type": "BLANK" 1054 } 1055 ] 1056 } 1057 ] 1058 }, 1059 { 1060 "type": "SYMBOL", 1061 "name": "finally_clause" 1062 } 1063 ] 1064 } 1065 ] 1066 }, 1067 "except_clause": { 1068 "type": "SEQ", 1069 "members": [ 1070 { 1071 "type": "STRING", 1072 "value": "except" 1073 }, 1074 { 1075 "type": "CHOICE", 1076 "members": [ 1077 { 1078 "type": "SEQ", 1079 "members": [ 1080 { 1081 "type": "SYMBOL", 1082 "name": "expression" 1083 }, 1084 { 1085 "type": "CHOICE", 1086 "members": [ 1087 { 1088 "type": "SEQ", 1089 "members": [ 1090 { 1091 "type": "CHOICE", 1092 "members": [ 1093 { 1094 "type": "STRING", 1095 "value": "as" 1096 }, 1097 { 1098 "type": "STRING", 1099 "value": "," 1100 } 1101 ] 1102 }, 1103 { 1104 "type": "SYMBOL", 1105 "name": "expression" 1106 } 1107 ] 1108 }, 1109 { 1110 "type": "BLANK" 1111 } 1112 ] 1113 } 1114 ] 1115 }, 1116 { 1117 "type": "BLANK" 1118 } 1119 ] 1120 }, 1121 { 1122 "type": "STRING", 1123 "value": ":" 1124 }, 1125 { 1126 "type": "SYMBOL", 1127 "name": "_suite" 1128 } 1129 ] 1130 }, 1131 "finally_clause": { 1132 "type": "SEQ", 1133 "members": [ 1134 { 1135 "type": "STRING", 1136 "value": "finally" 1137 }, 1138 { 1139 "type": "STRING", 1140 "value": ":" 1141 }, 1142 { 1143 "type": "SYMBOL", 1144 "name": "_suite" 1145 } 1146 ] 1147 }, 1148 "with_statement": { 1149 "type": "SEQ", 1150 "members": [ 1151 { 1152 "type": "CHOICE", 1153 "members": [ 1154 { 1155 "type": "STRING", 1156 "value": "async" 1157 }, 1158 { 1159 "type": "BLANK" 1160 } 1161 ] 1162 }, 1163 { 1164 "type": "STRING", 1165 "value": "with" 1166 }, 1167 { 1168 "type": "SYMBOL", 1169 "name": "with_clause" 1170 }, 1171 { 1172 "type": "STRING", 1173 "value": ":" 1174 }, 1175 { 1176 "type": "FIELD", 1177 "name": "body", 1178 "content": { 1179 "type": "SYMBOL", 1180 "name": "_suite" 1181 } 1182 } 1183 ] 1184 }, 1185 "with_clause": { 1186 "type": "CHOICE", 1187 "members": [ 1188 { 1189 "type": "SEQ", 1190 "members": [ 1191 { 1192 "type": "SYMBOL", 1193 "name": "with_item" 1194 }, 1195 { 1196 "type": "REPEAT", 1197 "content": { 1198 "type": "SEQ", 1199 "members": [ 1200 { 1201 "type": "STRING", 1202 "value": "," 1203 }, 1204 { 1205 "type": "SYMBOL", 1206 "name": "with_item" 1207 } 1208 ] 1209 } 1210 } 1211 ] 1212 }, 1213 { 1214 "type": "SEQ", 1215 "members": [ 1216 { 1217 "type": "STRING", 1218 "value": "(" 1219 }, 1220 { 1221 "type": "SEQ", 1222 "members": [ 1223 { 1224 "type": "SYMBOL", 1225 "name": "with_item" 1226 }, 1227 { 1228 "type": "REPEAT", 1229 "content": { 1230 "type": "SEQ", 1231 "members": [ 1232 { 1233 "type": "STRING", 1234 "value": "," 1235 }, 1236 { 1237 "type": "SYMBOL", 1238 "name": "with_item" 1239 } 1240 ] 1241 } 1242 } 1243 ] 1244 }, 1245 { 1246 "type": "STRING", 1247 "value": ")" 1248 } 1249 ] 1250 } 1251 ] 1252 }, 1253 "with_item": { 1254 "type": "PREC_DYNAMIC", 1255 "value": -1, 1256 "content": { 1257 "type": "SEQ", 1258 "members": [ 1259 { 1260 "type": "FIELD", 1261 "name": "value", 1262 "content": { 1263 "type": "SYMBOL", 1264 "name": "expression" 1265 } 1266 }, 1267 { 1268 "type": "CHOICE", 1269 "members": [ 1270 { 1271 "type": "SEQ", 1272 "members": [ 1273 { 1274 "type": "STRING", 1275 "value": "as" 1276 }, 1277 { 1278 "type": "FIELD", 1279 "name": "alias", 1280 "content": { 1281 "type": "SYMBOL", 1282 "name": "pattern" 1283 } 1284 } 1285 ] 1286 }, 1287 { 1288 "type": "BLANK" 1289 } 1290 ] 1291 } 1292 ] 1293 } 1294 }, 1295 "function_definition": { 1296 "type": "SEQ", 1297 "members": [ 1298 { 1299 "type": "CHOICE", 1300 "members": [ 1301 { 1302 "type": "STRING", 1303 "value": "async" 1304 }, 1305 { 1306 "type": "BLANK" 1307 } 1308 ] 1309 }, 1310 { 1311 "type": "STRING", 1312 "value": "def" 1313 }, 1314 { 1315 "type": "FIELD", 1316 "name": "name", 1317 "content": { 1318 "type": "SYMBOL", 1319 "name": "identifier" 1320 } 1321 }, 1322 { 1323 "type": "FIELD", 1324 "name": "parameters", 1325 "content": { 1326 "type": "SYMBOL", 1327 "name": "parameters" 1328 } 1329 }, 1330 { 1331 "type": "CHOICE", 1332 "members": [ 1333 { 1334 "type": "SEQ", 1335 "members": [ 1336 { 1337 "type": "STRING", 1338 "value": "->" 1339 }, 1340 { 1341 "type": "FIELD", 1342 "name": "return_type", 1343 "content": { 1344 "type": "SYMBOL", 1345 "name": "type" 1346 } 1347 } 1348 ] 1349 }, 1350 { 1351 "type": "BLANK" 1352 } 1353 ] 1354 }, 1355 { 1356 "type": "STRING", 1357 "value": ":" 1358 }, 1359 { 1360 "type": "FIELD", 1361 "name": "body", 1362 "content": { 1363 "type": "SYMBOL", 1364 "name": "_suite" 1365 } 1366 } 1367 ] 1368 }, 1369 "parameters": { 1370 "type": "SEQ", 1371 "members": [ 1372 { 1373 "type": "STRING", 1374 "value": "(" 1375 }, 1376 { 1377 "type": "CHOICE", 1378 "members": [ 1379 { 1380 "type": "SYMBOL", 1381 "name": "_parameters" 1382 }, 1383 { 1384 "type": "BLANK" 1385 } 1386 ] 1387 }, 1388 { 1389 "type": "STRING", 1390 "value": ")" 1391 } 1392 ] 1393 }, 1394 "lambda_parameters": { 1395 "type": "SYMBOL", 1396 "name": "_parameters" 1397 }, 1398 "list_splat": { 1399 "type": "SEQ", 1400 "members": [ 1401 { 1402 "type": "STRING", 1403 "value": "*" 1404 }, 1405 { 1406 "type": "SYMBOL", 1407 "name": "expression" 1408 } 1409 ] 1410 }, 1411 "dictionary_splat": { 1412 "type": "SEQ", 1413 "members": [ 1414 { 1415 "type": "STRING", 1416 "value": "**" 1417 }, 1418 { 1419 "type": "SYMBOL", 1420 "name": "expression" 1421 } 1422 ] 1423 }, 1424 "global_statement": { 1425 "type": "SEQ", 1426 "members": [ 1427 { 1428 "type": "STRING", 1429 "value": "global" 1430 }, 1431 { 1432 "type": "SEQ", 1433 "members": [ 1434 { 1435 "type": "SYMBOL", 1436 "name": "identifier" 1437 }, 1438 { 1439 "type": "REPEAT", 1440 "content": { 1441 "type": "SEQ", 1442 "members": [ 1443 { 1444 "type": "STRING", 1445 "value": "," 1446 }, 1447 { 1448 "type": "SYMBOL", 1449 "name": "identifier" 1450 } 1451 ] 1452 } 1453 } 1454 ] 1455 } 1456 ] 1457 }, 1458 "nonlocal_statement": { 1459 "type": "SEQ", 1460 "members": [ 1461 { 1462 "type": "STRING", 1463 "value": "nonlocal" 1464 }, 1465 { 1466 "type": "SEQ", 1467 "members": [ 1468 { 1469 "type": "SYMBOL", 1470 "name": "identifier" 1471 }, 1472 { 1473 "type": "REPEAT", 1474 "content": { 1475 "type": "SEQ", 1476 "members": [ 1477 { 1478 "type": "STRING", 1479 "value": "," 1480 }, 1481 { 1482 "type": "SYMBOL", 1483 "name": "identifier" 1484 } 1485 ] 1486 } 1487 } 1488 ] 1489 } 1490 ] 1491 }, 1492 "exec_statement": { 1493 "type": "SEQ", 1494 "members": [ 1495 { 1496 "type": "STRING", 1497 "value": "exec" 1498 }, 1499 { 1500 "type": "FIELD", 1501 "name": "code", 1502 "content": { 1503 "type": "SYMBOL", 1504 "name": "string" 1505 } 1506 }, 1507 { 1508 "type": "CHOICE", 1509 "members": [ 1510 { 1511 "type": "SEQ", 1512 "members": [ 1513 { 1514 "type": "STRING", 1515 "value": "in" 1516 }, 1517 { 1518 "type": "SEQ", 1519 "members": [ 1520 { 1521 "type": "SYMBOL", 1522 "name": "expression" 1523 }, 1524 { 1525 "type": "REPEAT", 1526 "content": { 1527 "type": "SEQ", 1528 "members": [ 1529 { 1530 "type": "STRING", 1531 "value": "," 1532 }, 1533 { 1534 "type": "SYMBOL", 1535 "name": "expression" 1536 } 1537 ] 1538 } 1539 } 1540 ] 1541 } 1542 ] 1543 }, 1544 { 1545 "type": "BLANK" 1546 } 1547 ] 1548 } 1549 ] 1550 }, 1551 "class_definition": { 1552 "type": "SEQ", 1553 "members": [ 1554 { 1555 "type": "STRING", 1556 "value": "class" 1557 }, 1558 { 1559 "type": "FIELD", 1560 "name": "name", 1561 "content": { 1562 "type": "SYMBOL", 1563 "name": "identifier" 1564 } 1565 }, 1566 { 1567 "type": "FIELD", 1568 "name": "superclasses", 1569 "content": { 1570 "type": "CHOICE", 1571 "members": [ 1572 { 1573 "type": "SYMBOL", 1574 "name": "argument_list" 1575 }, 1576 { 1577 "type": "BLANK" 1578 } 1579 ] 1580 } 1581 }, 1582 { 1583 "type": "STRING", 1584 "value": ":" 1585 }, 1586 { 1587 "type": "FIELD", 1588 "name": "body", 1589 "content": { 1590 "type": "SYMBOL", 1591 "name": "_suite" 1592 } 1593 } 1594 ] 1595 }, 1596 "parenthesized_list_splat": { 1597 "type": "PREC", 1598 "value": 1, 1599 "content": { 1600 "type": "SEQ", 1601 "members": [ 1602 { 1603 "type": "STRING", 1604 "value": "(" 1605 }, 1606 { 1607 "type": "CHOICE", 1608 "members": [ 1609 { 1610 "type": "ALIAS", 1611 "content": { 1612 "type": "SYMBOL", 1613 "name": "parenthesized_list_splat" 1614 }, 1615 "named": true, 1616 "value": "parenthesized_expression" 1617 }, 1618 { 1619 "type": "SYMBOL", 1620 "name": "list_splat" 1621 } 1622 ] 1623 }, 1624 { 1625 "type": "STRING", 1626 "value": ")" 1627 } 1628 ] 1629 } 1630 }, 1631 "argument_list": { 1632 "type": "SEQ", 1633 "members": [ 1634 { 1635 "type": "STRING", 1636 "value": "(" 1637 }, 1638 { 1639 "type": "CHOICE", 1640 "members": [ 1641 { 1642 "type": "SEQ", 1643 "members": [ 1644 { 1645 "type": "CHOICE", 1646 "members": [ 1647 { 1648 "type": "SYMBOL", 1649 "name": "expression" 1650 }, 1651 { 1652 "type": "SYMBOL", 1653 "name": "list_splat" 1654 }, 1655 { 1656 "type": "SYMBOL", 1657 "name": "dictionary_splat" 1658 }, 1659 { 1660 "type": "ALIAS", 1661 "content": { 1662 "type": "SYMBOL", 1663 "name": "parenthesized_list_splat" 1664 }, 1665 "named": true, 1666 "value": "parenthesized_expression" 1667 }, 1668 { 1669 "type": "SYMBOL", 1670 "name": "keyword_argument" 1671 } 1672 ] 1673 }, 1674 { 1675 "type": "REPEAT", 1676 "content": { 1677 "type": "SEQ", 1678 "members": [ 1679 { 1680 "type": "STRING", 1681 "value": "," 1682 }, 1683 { 1684 "type": "CHOICE", 1685 "members": [ 1686 { 1687 "type": "SYMBOL", 1688 "name": "expression" 1689 }, 1690 { 1691 "type": "SYMBOL", 1692 "name": "list_splat" 1693 }, 1694 { 1695 "type": "SYMBOL", 1696 "name": "dictionary_splat" 1697 }, 1698 { 1699 "type": "ALIAS", 1700 "content": { 1701 "type": "SYMBOL", 1702 "name": "parenthesized_list_splat" 1703 }, 1704 "named": true, 1705 "value": "parenthesized_expression" 1706 }, 1707 { 1708 "type": "SYMBOL", 1709 "name": "keyword_argument" 1710 } 1711 ] 1712 } 1713 ] 1714 } 1715 } 1716 ] 1717 }, 1718 { 1719 "type": "BLANK" 1720 } 1721 ] 1722 }, 1723 { 1724 "type": "CHOICE", 1725 "members": [ 1726 { 1727 "type": "STRING", 1728 "value": "," 1729 }, 1730 { 1731 "type": "BLANK" 1732 } 1733 ] 1734 }, 1735 { 1736 "type": "STRING", 1737 "value": ")" 1738 } 1739 ] 1740 }, 1741 "decorated_definition": { 1742 "type": "SEQ", 1743 "members": [ 1744 { 1745 "type": "REPEAT1", 1746 "content": { 1747 "type": "SYMBOL", 1748 "name": "decorator" 1749 } 1750 }, 1751 { 1752 "type": "FIELD", 1753 "name": "definition", 1754 "content": { 1755 "type": "CHOICE", 1756 "members": [ 1757 { 1758 "type": "SYMBOL", 1759 "name": "class_definition" 1760 }, 1761 { 1762 "type": "SYMBOL", 1763 "name": "function_definition" 1764 } 1765 ] 1766 } 1767 } 1768 ] 1769 }, 1770 "decorator": { 1771 "type": "SEQ", 1772 "members": [ 1773 { 1774 "type": "STRING", 1775 "value": "@" 1776 }, 1777 { 1778 "type": "SYMBOL", 1779 "name": "primary_expression" 1780 }, 1781 { 1782 "type": "SYMBOL", 1783 "name": "_newline" 1784 } 1785 ] 1786 }, 1787 "_suite": { 1788 "type": "CHOICE", 1789 "members": [ 1790 { 1791 "type": "ALIAS", 1792 "content": { 1793 "type": "SYMBOL", 1794 "name": "_simple_statements" 1795 }, 1796 "named": true, 1797 "value": "block" 1798 }, 1799 { 1800 "type": "SEQ", 1801 "members": [ 1802 { 1803 "type": "SYMBOL", 1804 "name": "_indent" 1805 }, 1806 { 1807 "type": "SYMBOL", 1808 "name": "block" 1809 } 1810 ] 1811 }, 1812 { 1813 "type": "ALIAS", 1814 "content": { 1815 "type": "SYMBOL", 1816 "name": "_newline" 1817 }, 1818 "named": true, 1819 "value": "block" 1820 } 1821 ] 1822 }, 1823 "block": { 1824 "type": "SEQ", 1825 "members": [ 1826 { 1827 "type": "REPEAT", 1828 "content": { 1829 "type": "SYMBOL", 1830 "name": "_statement" 1831 } 1832 }, 1833 { 1834 "type": "SYMBOL", 1835 "name": "_dedent" 1836 } 1837 ] 1838 }, 1839 "expression_list": { 1840 "type": "PREC_RIGHT", 1841 "value": 0, 1842 "content": { 1843 "type": "SEQ", 1844 "members": [ 1845 { 1846 "type": "SYMBOL", 1847 "name": "expression" 1848 }, 1849 { 1850 "type": "CHOICE", 1851 "members": [ 1852 { 1853 "type": "STRING", 1854 "value": "," 1855 }, 1856 { 1857 "type": "SEQ", 1858 "members": [ 1859 { 1860 "type": "REPEAT1", 1861 "content": { 1862 "type": "SEQ", 1863 "members": [ 1864 { 1865 "type": "STRING", 1866 "value": "," 1867 }, 1868 { 1869 "type": "SYMBOL", 1870 "name": "expression" 1871 } 1872 ] 1873 } 1874 }, 1875 { 1876 "type": "CHOICE", 1877 "members": [ 1878 { 1879 "type": "STRING", 1880 "value": "," 1881 }, 1882 { 1883 "type": "BLANK" 1884 } 1885 ] 1886 } 1887 ] 1888 } 1889 ] 1890 } 1891 ] 1892 } 1893 }, 1894 "dotted_name": { 1895 "type": "SEQ", 1896 "members": [ 1897 { 1898 "type": "SYMBOL", 1899 "name": "identifier" 1900 }, 1901 { 1902 "type": "REPEAT", 1903 "content": { 1904 "type": "SEQ", 1905 "members": [ 1906 { 1907 "type": "STRING", 1908 "value": "." 1909 }, 1910 { 1911 "type": "SYMBOL", 1912 "name": "identifier" 1913 } 1914 ] 1915 } 1916 } 1917 ] 1918 }, 1919 "_parameters": { 1920 "type": "SEQ", 1921 "members": [ 1922 { 1923 "type": "SEQ", 1924 "members": [ 1925 { 1926 "type": "SYMBOL", 1927 "name": "parameter" 1928 }, 1929 { 1930 "type": "REPEAT", 1931 "content": { 1932 "type": "SEQ", 1933 "members": [ 1934 { 1935 "type": "STRING", 1936 "value": "," 1937 }, 1938 { 1939 "type": "SYMBOL", 1940 "name": "parameter" 1941 } 1942 ] 1943 } 1944 } 1945 ] 1946 }, 1947 { 1948 "type": "CHOICE", 1949 "members": [ 1950 { 1951 "type": "STRING", 1952 "value": "," 1953 }, 1954 { 1955 "type": "BLANK" 1956 } 1957 ] 1958 } 1959 ] 1960 }, 1961 "_patterns": { 1962 "type": "SEQ", 1963 "members": [ 1964 { 1965 "type": "SEQ", 1966 "members": [ 1967 { 1968 "type": "SYMBOL", 1969 "name": "pattern" 1970 }, 1971 { 1972 "type": "REPEAT", 1973 "content": { 1974 "type": "SEQ", 1975 "members": [ 1976 { 1977 "type": "STRING", 1978 "value": "," 1979 }, 1980 { 1981 "type": "SYMBOL", 1982 "name": "pattern" 1983 } 1984 ] 1985 } 1986 } 1987 ] 1988 }, 1989 { 1990 "type": "CHOICE", 1991 "members": [ 1992 { 1993 "type": "STRING", 1994 "value": "," 1995 }, 1996 { 1997 "type": "BLANK" 1998 } 1999 ] 2000 } 2001 ] 2002 }, 2003 "parameter": { 2004 "type": "CHOICE", 2005 "members": [ 2006 { 2007 "type": "SYMBOL", 2008 "name": "identifier" 2009 }, 2010 { 2011 "type": "SYMBOL", 2012 "name": "typed_parameter" 2013 }, 2014 { 2015 "type": "SYMBOL", 2016 "name": "default_parameter" 2017 }, 2018 { 2019 "type": "SYMBOL", 2020 "name": "typed_default_parameter" 2021 }, 2022 { 2023 "type": "SYMBOL", 2024 "name": "list_splat_pattern" 2025 }, 2026 { 2027 "type": "SYMBOL", 2028 "name": "tuple_pattern" 2029 }, 2030 { 2031 "type": "ALIAS", 2032 "content": { 2033 "type": "STRING", 2034 "value": "*" 2035 }, 2036 "named": true, 2037 "value": "list_splat_pattern" 2038 }, 2039 { 2040 "type": "SYMBOL", 2041 "name": "dictionary_splat_pattern" 2042 } 2043 ] 2044 }, 2045 "pattern": { 2046 "type": "CHOICE", 2047 "members": [ 2048 { 2049 "type": "SYMBOL", 2050 "name": "identifier" 2051 }, 2052 { 2053 "type": "SYMBOL", 2054 "name": "keyword_identifier" 2055 }, 2056 { 2057 "type": "SYMBOL", 2058 "name": "subscript" 2059 }, 2060 { 2061 "type": "SYMBOL", 2062 "name": "attribute" 2063 }, 2064 { 2065 "type": "SYMBOL", 2066 "name": "list_splat_pattern" 2067 }, 2068 { 2069 "type": "SYMBOL", 2070 "name": "tuple_pattern" 2071 }, 2072 { 2073 "type": "SYMBOL", 2074 "name": "list_pattern" 2075 } 2076 ] 2077 }, 2078 "tuple_pattern": { 2079 "type": "SEQ", 2080 "members": [ 2081 { 2082 "type": "STRING", 2083 "value": "(" 2084 }, 2085 { 2086 "type": "CHOICE", 2087 "members": [ 2088 { 2089 "type": "SYMBOL", 2090 "name": "_patterns" 2091 }, 2092 { 2093 "type": "BLANK" 2094 } 2095 ] 2096 }, 2097 { 2098 "type": "STRING", 2099 "value": ")" 2100 } 2101 ] 2102 }, 2103 "list_pattern": { 2104 "type": "SEQ", 2105 "members": [ 2106 { 2107 "type": "STRING", 2108 "value": "[" 2109 }, 2110 { 2111 "type": "CHOICE", 2112 "members": [ 2113 { 2114 "type": "SYMBOL", 2115 "name": "_patterns" 2116 }, 2117 { 2118 "type": "BLANK" 2119 } 2120 ] 2121 }, 2122 { 2123 "type": "STRING", 2124 "value": "]" 2125 } 2126 ] 2127 }, 2128 "default_parameter": { 2129 "type": "SEQ", 2130 "members": [ 2131 { 2132 "type": "FIELD", 2133 "name": "name", 2134 "content": { 2135 "type": "SYMBOL", 2136 "name": "identifier" 2137 } 2138 }, 2139 { 2140 "type": "STRING", 2141 "value": "=" 2142 }, 2143 { 2144 "type": "FIELD", 2145 "name": "value", 2146 "content": { 2147 "type": "SYMBOL", 2148 "name": "expression" 2149 } 2150 } 2151 ] 2152 }, 2153 "typed_default_parameter": { 2154 "type": "PREC", 2155 "value": -1, 2156 "content": { 2157 "type": "SEQ", 2158 "members": [ 2159 { 2160 "type": "FIELD", 2161 "name": "name", 2162 "content": { 2163 "type": "SYMBOL", 2164 "name": "identifier" 2165 } 2166 }, 2167 { 2168 "type": "STRING", 2169 "value": ":" 2170 }, 2171 { 2172 "type": "FIELD", 2173 "name": "type", 2174 "content": { 2175 "type": "SYMBOL", 2176 "name": "type" 2177 } 2178 }, 2179 { 2180 "type": "STRING", 2181 "value": "=" 2182 }, 2183 { 2184 "type": "FIELD", 2185 "name": "value", 2186 "content": { 2187 "type": "SYMBOL", 2188 "name": "expression" 2189 } 2190 } 2191 ] 2192 } 2193 }, 2194 "list_splat_pattern": { 2195 "type": "SEQ", 2196 "members": [ 2197 { 2198 "type": "STRING", 2199 "value": "*" 2200 }, 2201 { 2202 "type": "CHOICE", 2203 "members": [ 2204 { 2205 "type": "SYMBOL", 2206 "name": "identifier" 2207 }, 2208 { 2209 "type": "SYMBOL", 2210 "name": "keyword_identifier" 2211 }, 2212 { 2213 "type": "SYMBOL", 2214 "name": "subscript" 2215 }, 2216 { 2217 "type": "SYMBOL", 2218 "name": "attribute" 2219 } 2220 ] 2221 } 2222 ] 2223 }, 2224 "dictionary_splat_pattern": { 2225 "type": "SEQ", 2226 "members": [ 2227 { 2228 "type": "STRING", 2229 "value": "**" 2230 }, 2231 { 2232 "type": "CHOICE", 2233 "members": [ 2234 { 2235 "type": "SYMBOL", 2236 "name": "identifier" 2237 }, 2238 { 2239 "type": "SYMBOL", 2240 "name": "keyword_identifier" 2241 }, 2242 { 2243 "type": "SYMBOL", 2244 "name": "subscript" 2245 }, 2246 { 2247 "type": "SYMBOL", 2248 "name": "attribute" 2249 } 2250 ] 2251 } 2252 ] 2253 }, 2254 "_expression_within_for_in_clause": { 2255 "type": "CHOICE", 2256 "members": [ 2257 { 2258 "type": "SYMBOL", 2259 "name": "expression" 2260 }, 2261 { 2262 "type": "ALIAS", 2263 "content": { 2264 "type": "SYMBOL", 2265 "name": "lambda_within_for_in_clause" 2266 }, 2267 "named": true, 2268 "value": "lambda" 2269 } 2270 ] 2271 }, 2272 "expression": { 2273 "type": "CHOICE", 2274 "members": [ 2275 { 2276 "type": "SYMBOL", 2277 "name": "comparison_operator" 2278 }, 2279 { 2280 "type": "SYMBOL", 2281 "name": "not_operator" 2282 }, 2283 { 2284 "type": "SYMBOL", 2285 "name": "boolean_operator" 2286 }, 2287 { 2288 "type": "SYMBOL", 2289 "name": "await" 2290 }, 2291 { 2292 "type": "SYMBOL", 2293 "name": "lambda" 2294 }, 2295 { 2296 "type": "SYMBOL", 2297 "name": "primary_expression" 2298 }, 2299 { 2300 "type": "SYMBOL", 2301 "name": "conditional_expression" 2302 }, 2303 { 2304 "type": "SYMBOL", 2305 "name": "named_expression" 2306 } 2307 ] 2308 }, 2309 "primary_expression": { 2310 "type": "CHOICE", 2311 "members": [ 2312 { 2313 "type": "SYMBOL", 2314 "name": "binary_operator" 2315 }, 2316 { 2317 "type": "SYMBOL", 2318 "name": "identifier" 2319 }, 2320 { 2321 "type": "SYMBOL", 2322 "name": "keyword_identifier" 2323 }, 2324 { 2325 "type": "SYMBOL", 2326 "name": "string" 2327 }, 2328 { 2329 "type": "SYMBOL", 2330 "name": "concatenated_string" 2331 }, 2332 { 2333 "type": "SYMBOL", 2334 "name": "integer" 2335 }, 2336 { 2337 "type": "SYMBOL", 2338 "name": "float" 2339 }, 2340 { 2341 "type": "SYMBOL", 2342 "name": "true" 2343 }, 2344 { 2345 "type": "SYMBOL", 2346 "name": "false" 2347 }, 2348 { 2349 "type": "SYMBOL", 2350 "name": "none" 2351 }, 2352 { 2353 "type": "SYMBOL", 2354 "name": "unary_operator" 2355 }, 2356 { 2357 "type": "SYMBOL", 2358 "name": "attribute" 2359 }, 2360 { 2361 "type": "SYMBOL", 2362 "name": "subscript" 2363 }, 2364 { 2365 "type": "SYMBOL", 2366 "name": "call" 2367 }, 2368 { 2369 "type": "SYMBOL", 2370 "name": "list" 2371 }, 2372 { 2373 "type": "SYMBOL", 2374 "name": "list_comprehension" 2375 }, 2376 { 2377 "type": "SYMBOL", 2378 "name": "dictionary" 2379 }, 2380 { 2381 "type": "SYMBOL", 2382 "name": "dictionary_comprehension" 2383 }, 2384 { 2385 "type": "SYMBOL", 2386 "name": "set" 2387 }, 2388 { 2389 "type": "SYMBOL", 2390 "name": "set_comprehension" 2391 }, 2392 { 2393 "type": "SYMBOL", 2394 "name": "tuple" 2395 }, 2396 { 2397 "type": "SYMBOL", 2398 "name": "parenthesized_expression" 2399 }, 2400 { 2401 "type": "SYMBOL", 2402 "name": "generator_expression" 2403 }, 2404 { 2405 "type": "SYMBOL", 2406 "name": "ellipsis" 2407 } 2408 ] 2409 }, 2410 "not_operator": { 2411 "type": "PREC", 2412 "value": 1, 2413 "content": { 2414 "type": "SEQ", 2415 "members": [ 2416 { 2417 "type": "STRING", 2418 "value": "not" 2419 }, 2420 { 2421 "type": "FIELD", 2422 "name": "argument", 2423 "content": { 2424 "type": "SYMBOL", 2425 "name": "expression" 2426 } 2427 } 2428 ] 2429 } 2430 }, 2431 "boolean_operator": { 2432 "type": "CHOICE", 2433 "members": [ 2434 { 2435 "type": "PREC_LEFT", 2436 "value": 11, 2437 "content": { 2438 "type": "SEQ", 2439 "members": [ 2440 { 2441 "type": "FIELD", 2442 "name": "left", 2443 "content": { 2444 "type": "SYMBOL", 2445 "name": "expression" 2446 } 2447 }, 2448 { 2449 "type": "FIELD", 2450 "name": "operator", 2451 "content": { 2452 "type": "STRING", 2453 "value": "and" 2454 } 2455 }, 2456 { 2457 "type": "FIELD", 2458 "name": "right", 2459 "content": { 2460 "type": "SYMBOL", 2461 "name": "expression" 2462 } 2463 } 2464 ] 2465 } 2466 }, 2467 { 2468 "type": "PREC_LEFT", 2469 "value": 10, 2470 "content": { 2471 "type": "SEQ", 2472 "members": [ 2473 { 2474 "type": "FIELD", 2475 "name": "left", 2476 "content": { 2477 "type": "SYMBOL", 2478 "name": "expression" 2479 } 2480 }, 2481 { 2482 "type": "FIELD", 2483 "name": "operator", 2484 "content": { 2485 "type": "STRING", 2486 "value": "or" 2487 } 2488 }, 2489 { 2490 "type": "FIELD", 2491 "name": "right", 2492 "content": { 2493 "type": "SYMBOL", 2494 "name": "expression" 2495 } 2496 } 2497 ] 2498 } 2499 } 2500 ] 2501 }, 2502 "binary_operator": { 2503 "type": "CHOICE", 2504 "members": [ 2505 { 2506 "type": "PREC_LEFT", 2507 "value": 16, 2508 "content": { 2509 "type": "SEQ", 2510 "members": [ 2511 { 2512 "type": "FIELD", 2513 "name": "left", 2514 "content": { 2515 "type": "SYMBOL", 2516 "name": "primary_expression" 2517 } 2518 }, 2519 { 2520 "type": "FIELD", 2521 "name": "operator", 2522 "content": { 2523 "type": "STRING", 2524 "value": "+" 2525 } 2526 }, 2527 { 2528 "type": "FIELD", 2529 "name": "right", 2530 "content": { 2531 "type": "SYMBOL", 2532 "name": "primary_expression" 2533 } 2534 } 2535 ] 2536 } 2537 }, 2538 { 2539 "type": "PREC_LEFT", 2540 "value": 16, 2541 "content": { 2542 "type": "SEQ", 2543 "members": [ 2544 { 2545 "type": "FIELD", 2546 "name": "left", 2547 "content": { 2548 "type": "SYMBOL", 2549 "name": "primary_expression" 2550 } 2551 }, 2552 { 2553 "type": "FIELD", 2554 "name": "operator", 2555 "content": { 2556 "type": "STRING", 2557 "value": "-" 2558 } 2559 }, 2560 { 2561 "type": "FIELD", 2562 "name": "right", 2563 "content": { 2564 "type": "SYMBOL", 2565 "name": "primary_expression" 2566 } 2567 } 2568 ] 2569 } 2570 }, 2571 { 2572 "type": "PREC_LEFT", 2573 "value": 17, 2574 "content": { 2575 "type": "SEQ", 2576 "members": [ 2577 { 2578 "type": "FIELD", 2579 "name": "left", 2580 "content": { 2581 "type": "SYMBOL", 2582 "name": "primary_expression" 2583 } 2584 }, 2585 { 2586 "type": "FIELD", 2587 "name": "operator", 2588 "content": { 2589 "type": "STRING", 2590 "value": "*" 2591 } 2592 }, 2593 { 2594 "type": "FIELD", 2595 "name": "right", 2596 "content": { 2597 "type": "SYMBOL", 2598 "name": "primary_expression" 2599 } 2600 } 2601 ] 2602 } 2603 }, 2604 { 2605 "type": "PREC_LEFT", 2606 "value": 17, 2607 "content": { 2608 "type": "SEQ", 2609 "members": [ 2610 { 2611 "type": "FIELD", 2612 "name": "left", 2613 "content": { 2614 "type": "SYMBOL", 2615 "name": "primary_expression" 2616 } 2617 }, 2618 { 2619 "type": "FIELD", 2620 "name": "operator", 2621 "content": { 2622 "type": "STRING", 2623 "value": "@" 2624 } 2625 }, 2626 { 2627 "type": "FIELD", 2628 "name": "right", 2629 "content": { 2630 "type": "SYMBOL", 2631 "name": "primary_expression" 2632 } 2633 } 2634 ] 2635 } 2636 }, 2637 { 2638 "type": "PREC_LEFT", 2639 "value": 17, 2640 "content": { 2641 "type": "SEQ", 2642 "members": [ 2643 { 2644 "type": "FIELD", 2645 "name": "left", 2646 "content": { 2647 "type": "SYMBOL", 2648 "name": "primary_expression" 2649 } 2650 }, 2651 { 2652 "type": "FIELD", 2653 "name": "operator", 2654 "content": { 2655 "type": "STRING", 2656 "value": "/" 2657 } 2658 }, 2659 { 2660 "type": "FIELD", 2661 "name": "right", 2662 "content": { 2663 "type": "SYMBOL", 2664 "name": "primary_expression" 2665 } 2666 } 2667 ] 2668 } 2669 }, 2670 { 2671 "type": "PREC_LEFT", 2672 "value": 17, 2673 "content": { 2674 "type": "SEQ", 2675 "members": [ 2676 { 2677 "type": "FIELD", 2678 "name": "left", 2679 "content": { 2680 "type": "SYMBOL", 2681 "name": "primary_expression" 2682 } 2683 }, 2684 { 2685 "type": "FIELD", 2686 "name": "operator", 2687 "content": { 2688 "type": "STRING", 2689 "value": "%" 2690 } 2691 }, 2692 { 2693 "type": "FIELD", 2694 "name": "right", 2695 "content": { 2696 "type": "SYMBOL", 2697 "name": "primary_expression" 2698 } 2699 } 2700 ] 2701 } 2702 }, 2703 { 2704 "type": "PREC_LEFT", 2705 "value": 17, 2706 "content": { 2707 "type": "SEQ", 2708 "members": [ 2709 { 2710 "type": "FIELD", 2711 "name": "left", 2712 "content": { 2713 "type": "SYMBOL", 2714 "name": "primary_expression" 2715 } 2716 }, 2717 { 2718 "type": "FIELD", 2719 "name": "operator", 2720 "content": { 2721 "type": "STRING", 2722 "value": "//" 2723 } 2724 }, 2725 { 2726 "type": "FIELD", 2727 "name": "right", 2728 "content": { 2729 "type": "SYMBOL", 2730 "name": "primary_expression" 2731 } 2732 } 2733 ] 2734 } 2735 }, 2736 { 2737 "type": "PREC_RIGHT", 2738 "value": 19, 2739 "content": { 2740 "type": "SEQ", 2741 "members": [ 2742 { 2743 "type": "FIELD", 2744 "name": "left", 2745 "content": { 2746 "type": "SYMBOL", 2747 "name": "primary_expression" 2748 } 2749 }, 2750 { 2751 "type": "FIELD", 2752 "name": "operator", 2753 "content": { 2754 "type": "STRING", 2755 "value": "**" 2756 } 2757 }, 2758 { 2759 "type": "FIELD", 2760 "name": "right", 2761 "content": { 2762 "type": "SYMBOL", 2763 "name": "primary_expression" 2764 } 2765 } 2766 ] 2767 } 2768 }, 2769 { 2770 "type": "PREC_LEFT", 2771 "value": 12, 2772 "content": { 2773 "type": "SEQ", 2774 "members": [ 2775 { 2776 "type": "FIELD", 2777 "name": "left", 2778 "content": { 2779 "type": "SYMBOL", 2780 "name": "primary_expression" 2781 } 2782 }, 2783 { 2784 "type": "FIELD", 2785 "name": "operator", 2786 "content": { 2787 "type": "STRING", 2788 "value": "|" 2789 } 2790 }, 2791 { 2792 "type": "FIELD", 2793 "name": "right", 2794 "content": { 2795 "type": "SYMBOL", 2796 "name": "primary_expression" 2797 } 2798 } 2799 ] 2800 } 2801 }, 2802 { 2803 "type": "PREC_LEFT", 2804 "value": 13, 2805 "content": { 2806 "type": "SEQ", 2807 "members": [ 2808 { 2809 "type": "FIELD", 2810 "name": "left", 2811 "content": { 2812 "type": "SYMBOL", 2813 "name": "primary_expression" 2814 } 2815 }, 2816 { 2817 "type": "FIELD", 2818 "name": "operator", 2819 "content": { 2820 "type": "STRING", 2821 "value": "&" 2822 } 2823 }, 2824 { 2825 "type": "FIELD", 2826 "name": "right", 2827 "content": { 2828 "type": "SYMBOL", 2829 "name": "primary_expression" 2830 } 2831 } 2832 ] 2833 } 2834 }, 2835 { 2836 "type": "PREC_LEFT", 2837 "value": 14, 2838 "content": { 2839 "type": "SEQ", 2840 "members": [ 2841 { 2842 "type": "FIELD", 2843 "name": "left", 2844 "content": { 2845 "type": "SYMBOL", 2846 "name": "primary_expression" 2847 } 2848 }, 2849 { 2850 "type": "FIELD", 2851 "name": "operator", 2852 "content": { 2853 "type": "STRING", 2854 "value": "^" 2855 } 2856 }, 2857 { 2858 "type": "FIELD", 2859 "name": "right", 2860 "content": { 2861 "type": "SYMBOL", 2862 "name": "primary_expression" 2863 } 2864 } 2865 ] 2866 } 2867 }, 2868 { 2869 "type": "PREC_LEFT", 2870 "value": 15, 2871 "content": { 2872 "type": "SEQ", 2873 "members": [ 2874 { 2875 "type": "FIELD", 2876 "name": "left", 2877 "content": { 2878 "type": "SYMBOL", 2879 "name": "primary_expression" 2880 } 2881 }, 2882 { 2883 "type": "FIELD", 2884 "name": "operator", 2885 "content": { 2886 "type": "STRING", 2887 "value": "<<" 2888 } 2889 }, 2890 { 2891 "type": "FIELD", 2892 "name": "right", 2893 "content": { 2894 "type": "SYMBOL", 2895 "name": "primary_expression" 2896 } 2897 } 2898 ] 2899 } 2900 }, 2901 { 2902 "type": "PREC_LEFT", 2903 "value": 15, 2904 "content": { 2905 "type": "SEQ", 2906 "members": [ 2907 { 2908 "type": "FIELD", 2909 "name": "left", 2910 "content": { 2911 "type": "SYMBOL", 2912 "name": "primary_expression" 2913 } 2914 }, 2915 { 2916 "type": "FIELD", 2917 "name": "operator", 2918 "content": { 2919 "type": "STRING", 2920 "value": ">>" 2921 } 2922 }, 2923 { 2924 "type": "FIELD", 2925 "name": "right", 2926 "content": { 2927 "type": "SYMBOL", 2928 "name": "primary_expression" 2929 } 2930 } 2931 ] 2932 } 2933 } 2934 ] 2935 }, 2936 "unary_operator": { 2937 "type": "PREC", 2938 "value": 18, 2939 "content": { 2940 "type": "SEQ", 2941 "members": [ 2942 { 2943 "type": "FIELD", 2944 "name": "operator", 2945 "content": { 2946 "type": "CHOICE", 2947 "members": [ 2948 { 2949 "type": "STRING", 2950 "value": "+" 2951 }, 2952 { 2953 "type": "STRING", 2954 "value": "-" 2955 }, 2956 { 2957 "type": "STRING", 2958 "value": "~" 2959 } 2960 ] 2961 } 2962 }, 2963 { 2964 "type": "FIELD", 2965 "name": "argument", 2966 "content": { 2967 "type": "SYMBOL", 2968 "name": "primary_expression" 2969 } 2970 } 2971 ] 2972 } 2973 }, 2974 "comparison_operator": { 2975 "type": "PREC_LEFT", 2976 "value": 2, 2977 "content": { 2978 "type": "SEQ", 2979 "members": [ 2980 { 2981 "type": "SYMBOL", 2982 "name": "primary_expression" 2983 }, 2984 { 2985 "type": "REPEAT1", 2986 "content": { 2987 "type": "SEQ", 2988 "members": [ 2989 { 2990 "type": "FIELD", 2991 "name": "operators", 2992 "content": { 2993 "type": "CHOICE", 2994 "members": [ 2995 { 2996 "type": "STRING", 2997 "value": "<" 2998 }, 2999 { 3000 "type": "STRING", 3001 "value": "<=" 3002 }, 3003 { 3004 "type": "STRING", 3005 "value": "==" 3006 }, 3007 { 3008 "type": "STRING", 3009 "value": "!=" 3010 }, 3011 { 3012 "type": "STRING", 3013 "value": ">=" 3014 }, 3015 { 3016 "type": "STRING", 3017 "value": ">" 3018 }, 3019 { 3020 "type": "STRING", 3021 "value": "<>" 3022 }, 3023 { 3024 "type": "STRING", 3025 "value": "in" 3026 }, 3027 { 3028 "type": "SEQ", 3029 "members": [ 3030 { 3031 "type": "STRING", 3032 "value": "not" 3033 }, 3034 { 3035 "type": "STRING", 3036 "value": "in" 3037 } 3038 ] 3039 }, 3040 { 3041 "type": "STRING", 3042 "value": "is" 3043 }, 3044 { 3045 "type": "SEQ", 3046 "members": [ 3047 { 3048 "type": "STRING", 3049 "value": "is" 3050 }, 3051 { 3052 "type": "STRING", 3053 "value": "not" 3054 } 3055 ] 3056 } 3057 ] 3058 } 3059 }, 3060 { 3061 "type": "SYMBOL", 3062 "name": "primary_expression" 3063 } 3064 ] 3065 } 3066 } 3067 ] 3068 } 3069 }, 3070 "lambda": { 3071 "type": "PREC", 3072 "value": -2, 3073 "content": { 3074 "type": "SEQ", 3075 "members": [ 3076 { 3077 "type": "STRING", 3078 "value": "lambda" 3079 }, 3080 { 3081 "type": "FIELD", 3082 "name": "parameters", 3083 "content": { 3084 "type": "CHOICE", 3085 "members": [ 3086 { 3087 "type": "SYMBOL", 3088 "name": "lambda_parameters" 3089 }, 3090 { 3091 "type": "BLANK" 3092 } 3093 ] 3094 } 3095 }, 3096 { 3097 "type": "STRING", 3098 "value": ":" 3099 }, 3100 { 3101 "type": "FIELD", 3102 "name": "body", 3103 "content": { 3104 "type": "SYMBOL", 3105 "name": "expression" 3106 } 3107 } 3108 ] 3109 } 3110 }, 3111 "lambda_within_for_in_clause": { 3112 "type": "SEQ", 3113 "members": [ 3114 { 3115 "type": "STRING", 3116 "value": "lambda" 3117 }, 3118 { 3119 "type": "FIELD", 3120 "name": "parameters", 3121 "content": { 3122 "type": "CHOICE", 3123 "members": [ 3124 { 3125 "type": "SYMBOL", 3126 "name": "lambda_parameters" 3127 }, 3128 { 3129 "type": "BLANK" 3130 } 3131 ] 3132 } 3133 }, 3134 { 3135 "type": "STRING", 3136 "value": ":" 3137 }, 3138 { 3139 "type": "FIELD", 3140 "name": "body", 3141 "content": { 3142 "type": "SYMBOL", 3143 "name": "_expression_within_for_in_clause" 3144 } 3145 } 3146 ] 3147 }, 3148 "assignment": { 3149 "type": "SEQ", 3150 "members": [ 3151 { 3152 "type": "FIELD", 3153 "name": "left", 3154 "content": { 3155 "type": "SYMBOL", 3156 "name": "_left_hand_side" 3157 } 3158 }, 3159 { 3160 "type": "CHOICE", 3161 "members": [ 3162 { 3163 "type": "SEQ", 3164 "members": [ 3165 { 3166 "type": "STRING", 3167 "value": "=" 3168 }, 3169 { 3170 "type": "FIELD", 3171 "name": "right", 3172 "content": { 3173 "type": "SYMBOL", 3174 "name": "_right_hand_side" 3175 } 3176 } 3177 ] 3178 }, 3179 { 3180 "type": "SEQ", 3181 "members": [ 3182 { 3183 "type": "STRING", 3184 "value": ":" 3185 }, 3186 { 3187 "type": "FIELD", 3188 "name": "type", 3189 "content": { 3190 "type": "SYMBOL", 3191 "name": "type" 3192 } 3193 } 3194 ] 3195 }, 3196 { 3197 "type": "SEQ", 3198 "members": [ 3199 { 3200 "type": "STRING", 3201 "value": ":" 3202 }, 3203 { 3204 "type": "FIELD", 3205 "name": "type", 3206 "content": { 3207 "type": "SYMBOL", 3208 "name": "type" 3209 } 3210 }, 3211 { 3212 "type": "STRING", 3213 "value": "=" 3214 }, 3215 { 3216 "type": "FIELD", 3217 "name": "right", 3218 "content": { 3219 "type": "SYMBOL", 3220 "name": "_right_hand_side" 3221 } 3222 } 3223 ] 3224 } 3225 ] 3226 } 3227 ] 3228 }, 3229 "augmented_assignment": { 3230 "type": "SEQ", 3231 "members": [ 3232 { 3233 "type": "FIELD", 3234 "name": "left", 3235 "content": { 3236 "type": "SYMBOL", 3237 "name": "_left_hand_side" 3238 } 3239 }, 3240 { 3241 "type": "FIELD", 3242 "name": "operator", 3243 "content": { 3244 "type": "CHOICE", 3245 "members": [ 3246 { 3247 "type": "STRING", 3248 "value": "+=" 3249 }, 3250 { 3251 "type": "STRING", 3252 "value": "-=" 3253 }, 3254 { 3255 "type": "STRING", 3256 "value": "*=" 3257 }, 3258 { 3259 "type": "STRING", 3260 "value": "/=" 3261 }, 3262 { 3263 "type": "STRING", 3264 "value": "@=" 3265 }, 3266 { 3267 "type": "STRING", 3268 "value": "//=" 3269 }, 3270 { 3271 "type": "STRING", 3272 "value": "%=" 3273 }, 3274 { 3275 "type": "STRING", 3276 "value": "**=" 3277 }, 3278 { 3279 "type": "STRING", 3280 "value": ">>=" 3281 }, 3282 { 3283 "type": "STRING", 3284 "value": "<<=" 3285 }, 3286 { 3287 "type": "STRING", 3288 "value": "&=" 3289 }, 3290 { 3291 "type": "STRING", 3292 "value": "^=" 3293 }, 3294 { 3295 "type": "STRING", 3296 "value": "|=" 3297 } 3298 ] 3299 } 3300 }, 3301 { 3302 "type": "FIELD", 3303 "name": "right", 3304 "content": { 3305 "type": "SYMBOL", 3306 "name": "_right_hand_side" 3307 } 3308 } 3309 ] 3310 }, 3311 "_left_hand_side": { 3312 "type": "CHOICE", 3313 "members": [ 3314 { 3315 "type": "SYMBOL", 3316 "name": "pattern" 3317 }, 3318 { 3319 "type": "SYMBOL", 3320 "name": "pattern_list" 3321 } 3322 ] 3323 }, 3324 "pattern_list": { 3325 "type": "SEQ", 3326 "members": [ 3327 { 3328 "type": "SYMBOL", 3329 "name": "pattern" 3330 }, 3331 { 3332 "type": "CHOICE", 3333 "members": [ 3334 { 3335 "type": "STRING", 3336 "value": "," 3337 }, 3338 { 3339 "type": "SEQ", 3340 "members": [ 3341 { 3342 "type": "REPEAT1", 3343 "content": { 3344 "type": "SEQ", 3345 "members": [ 3346 { 3347 "type": "STRING", 3348 "value": "," 3349 }, 3350 { 3351 "type": "SYMBOL", 3352 "name": "pattern" 3353 } 3354 ] 3355 } 3356 }, 3357 { 3358 "type": "CHOICE", 3359 "members": [ 3360 { 3361 "type": "STRING", 3362 "value": "," 3363 }, 3364 { 3365 "type": "BLANK" 3366 } 3367 ] 3368 } 3369 ] 3370 } 3371 ] 3372 } 3373 ] 3374 }, 3375 "_right_hand_side": { 3376 "type": "CHOICE", 3377 "members": [ 3378 { 3379 "type": "SYMBOL", 3380 "name": "expression" 3381 }, 3382 { 3383 "type": "SYMBOL", 3384 "name": "expression_list" 3385 }, 3386 { 3387 "type": "SYMBOL", 3388 "name": "assignment" 3389 }, 3390 { 3391 "type": "SYMBOL", 3392 "name": "augmented_assignment" 3393 }, 3394 { 3395 "type": "SYMBOL", 3396 "name": "yield" 3397 } 3398 ] 3399 }, 3400 "yield": { 3401 "type": "PREC_RIGHT", 3402 "value": 0, 3403 "content": { 3404 "type": "SEQ", 3405 "members": [ 3406 { 3407 "type": "STRING", 3408 "value": "yield" 3409 }, 3410 { 3411 "type": "CHOICE", 3412 "members": [ 3413 { 3414 "type": "SEQ", 3415 "members": [ 3416 { 3417 "type": "STRING", 3418 "value": "from" 3419 }, 3420 { 3421 "type": "SYMBOL", 3422 "name": "expression" 3423 } 3424 ] 3425 }, 3426 { 3427 "type": "CHOICE", 3428 "members": [ 3429 { 3430 "type": "SYMBOL", 3431 "name": "_expressions" 3432 }, 3433 { 3434 "type": "BLANK" 3435 } 3436 ] 3437 } 3438 ] 3439 } 3440 ] 3441 } 3442 }, 3443 "attribute": { 3444 "type": "PREC", 3445 "value": 20, 3446 "content": { 3447 "type": "SEQ", 3448 "members": [ 3449 { 3450 "type": "FIELD", 3451 "name": "object", 3452 "content": { 3453 "type": "SYMBOL", 3454 "name": "primary_expression" 3455 } 3456 }, 3457 { 3458 "type": "STRING", 3459 "value": "." 3460 }, 3461 { 3462 "type": "FIELD", 3463 "name": "attribute", 3464 "content": { 3465 "type": "SYMBOL", 3466 "name": "identifier" 3467 } 3468 } 3469 ] 3470 } 3471 }, 3472 "subscript": { 3473 "type": "PREC", 3474 "value": 20, 3475 "content": { 3476 "type": "SEQ", 3477 "members": [ 3478 { 3479 "type": "FIELD", 3480 "name": "value", 3481 "content": { 3482 "type": "SYMBOL", 3483 "name": "primary_expression" 3484 } 3485 }, 3486 { 3487 "type": "STRING", 3488 "value": "[" 3489 }, 3490 { 3491 "type": "SEQ", 3492 "members": [ 3493 { 3494 "type": "FIELD", 3495 "name": "subscript", 3496 "content": { 3497 "type": "CHOICE", 3498 "members": [ 3499 { 3500 "type": "SYMBOL", 3501 "name": "expression" 3502 }, 3503 { 3504 "type": "SYMBOL", 3505 "name": "slice" 3506 } 3507 ] 3508 } 3509 }, 3510 { 3511 "type": "REPEAT", 3512 "content": { 3513 "type": "SEQ", 3514 "members": [ 3515 { 3516 "type": "STRING", 3517 "value": "," 3518 }, 3519 { 3520 "type": "FIELD", 3521 "name": "subscript", 3522 "content": { 3523 "type": "CHOICE", 3524 "members": [ 3525 { 3526 "type": "SYMBOL", 3527 "name": "expression" 3528 }, 3529 { 3530 "type": "SYMBOL", 3531 "name": "slice" 3532 } 3533 ] 3534 } 3535 } 3536 ] 3537 } 3538 } 3539 ] 3540 }, 3541 { 3542 "type": "CHOICE", 3543 "members": [ 3544 { 3545 "type": "STRING", 3546 "value": "," 3547 }, 3548 { 3549 "type": "BLANK" 3550 } 3551 ] 3552 }, 3553 { 3554 "type": "STRING", 3555 "value": "]" 3556 } 3557 ] 3558 } 3559 }, 3560 "slice": { 3561 "type": "SEQ", 3562 "members": [ 3563 { 3564 "type": "CHOICE", 3565 "members": [ 3566 { 3567 "type": "SYMBOL", 3568 "name": "expression" 3569 }, 3570 { 3571 "type": "BLANK" 3572 } 3573 ] 3574 }, 3575 { 3576 "type": "STRING", 3577 "value": ":" 3578 }, 3579 { 3580 "type": "CHOICE", 3581 "members": [ 3582 { 3583 "type": "SYMBOL", 3584 "name": "expression" 3585 }, 3586 { 3587 "type": "BLANK" 3588 } 3589 ] 3590 }, 3591 { 3592 "type": "CHOICE", 3593 "members": [ 3594 { 3595 "type": "SEQ", 3596 "members": [ 3597 { 3598 "type": "STRING", 3599 "value": ":" 3600 }, 3601 { 3602 "type": "CHOICE", 3603 "members": [ 3604 { 3605 "type": "SYMBOL", 3606 "name": "expression" 3607 }, 3608 { 3609 "type": "BLANK" 3610 } 3611 ] 3612 } 3613 ] 3614 }, 3615 { 3616 "type": "BLANK" 3617 } 3618 ] 3619 } 3620 ] 3621 }, 3622 "ellipsis": { 3623 "type": "STRING", 3624 "value": "..." 3625 }, 3626 "call": { 3627 "type": "PREC", 3628 "value": 20, 3629 "content": { 3630 "type": "SEQ", 3631 "members": [ 3632 { 3633 "type": "FIELD", 3634 "name": "function", 3635 "content": { 3636 "type": "SYMBOL", 3637 "name": "primary_expression" 3638 } 3639 }, 3640 { 3641 "type": "FIELD", 3642 "name": "arguments", 3643 "content": { 3644 "type": "CHOICE", 3645 "members": [ 3646 { 3647 "type": "SYMBOL", 3648 "name": "generator_expression" 3649 }, 3650 { 3651 "type": "SYMBOL", 3652 "name": "argument_list" 3653 } 3654 ] 3655 } 3656 } 3657 ] 3658 } 3659 }, 3660 "typed_parameter": { 3661 "type": "PREC", 3662 "value": -1, 3663 "content": { 3664 "type": "SEQ", 3665 "members": [ 3666 { 3667 "type": "CHOICE", 3668 "members": [ 3669 { 3670 "type": "SYMBOL", 3671 "name": "identifier" 3672 }, 3673 { 3674 "type": "SYMBOL", 3675 "name": "list_splat_pattern" 3676 }, 3677 { 3678 "type": "SYMBOL", 3679 "name": "dictionary_splat_pattern" 3680 } 3681 ] 3682 }, 3683 { 3684 "type": "STRING", 3685 "value": ":" 3686 }, 3687 { 3688 "type": "FIELD", 3689 "name": "type", 3690 "content": { 3691 "type": "SYMBOL", 3692 "name": "type" 3693 } 3694 } 3695 ] 3696 } 3697 }, 3698 "type": { 3699 "type": "SYMBOL", 3700 "name": "expression" 3701 }, 3702 "keyword_argument": { 3703 "type": "SEQ", 3704 "members": [ 3705 { 3706 "type": "FIELD", 3707 "name": "name", 3708 "content": { 3709 "type": "CHOICE", 3710 "members": [ 3711 { 3712 "type": "SYMBOL", 3713 "name": "identifier" 3714 }, 3715 { 3716 "type": "SYMBOL", 3717 "name": "keyword_identifier" 3718 } 3719 ] 3720 } 3721 }, 3722 { 3723 "type": "STRING", 3724 "value": "=" 3725 }, 3726 { 3727 "type": "FIELD", 3728 "name": "value", 3729 "content": { 3730 "type": "SYMBOL", 3731 "name": "expression" 3732 } 3733 } 3734 ] 3735 }, 3736 "list": { 3737 "type": "SEQ", 3738 "members": [ 3739 { 3740 "type": "STRING", 3741 "value": "[" 3742 }, 3743 { 3744 "type": "CHOICE", 3745 "members": [ 3746 { 3747 "type": "SYMBOL", 3748 "name": "_collection_elements" 3749 }, 3750 { 3751 "type": "BLANK" 3752 } 3753 ] 3754 }, 3755 { 3756 "type": "STRING", 3757 "value": "]" 3758 } 3759 ] 3760 }, 3761 "set": { 3762 "type": "SEQ", 3763 "members": [ 3764 { 3765 "type": "STRING", 3766 "value": "{" 3767 }, 3768 { 3769 "type": "SYMBOL", 3770 "name": "_collection_elements" 3771 }, 3772 { 3773 "type": "STRING", 3774 "value": "}" 3775 } 3776 ] 3777 }, 3778 "tuple": { 3779 "type": "SEQ", 3780 "members": [ 3781 { 3782 "type": "STRING", 3783 "value": "(" 3784 }, 3785 { 3786 "type": "CHOICE", 3787 "members": [ 3788 { 3789 "type": "SYMBOL", 3790 "name": "_collection_elements" 3791 }, 3792 { 3793 "type": "BLANK" 3794 } 3795 ] 3796 }, 3797 { 3798 "type": "STRING", 3799 "value": ")" 3800 } 3801 ] 3802 }, 3803 "dictionary": { 3804 "type": "SEQ", 3805 "members": [ 3806 { 3807 "type": "STRING", 3808 "value": "{" 3809 }, 3810 { 3811 "type": "CHOICE", 3812 "members": [ 3813 { 3814 "type": "SEQ", 3815 "members": [ 3816 { 3817 "type": "CHOICE", 3818 "members": [ 3819 { 3820 "type": "SYMBOL", 3821 "name": "pair" 3822 }, 3823 { 3824 "type": "SYMBOL", 3825 "name": "dictionary_splat" 3826 } 3827 ] 3828 }, 3829 { 3830 "type": "REPEAT", 3831 "content": { 3832 "type": "SEQ", 3833 "members": [ 3834 { 3835 "type": "STRING", 3836 "value": "," 3837 }, 3838 { 3839 "type": "CHOICE", 3840 "members": [ 3841 { 3842 "type": "SYMBOL", 3843 "name": "pair" 3844 }, 3845 { 3846 "type": "SYMBOL", 3847 "name": "dictionary_splat" 3848 } 3849 ] 3850 } 3851 ] 3852 } 3853 } 3854 ] 3855 }, 3856 { 3857 "type": "BLANK" 3858 } 3859 ] 3860 }, 3861 { 3862 "type": "CHOICE", 3863 "members": [ 3864 { 3865 "type": "STRING", 3866 "value": "," 3867 }, 3868 { 3869 "type": "BLANK" 3870 } 3871 ] 3872 }, 3873 { 3874 "type": "STRING", 3875 "value": "}" 3876 } 3877 ] 3878 }, 3879 "pair": { 3880 "type": "SEQ", 3881 "members": [ 3882 { 3883 "type": "FIELD", 3884 "name": "key", 3885 "content": { 3886 "type": "SYMBOL", 3887 "name": "expression" 3888 } 3889 }, 3890 { 3891 "type": "STRING", 3892 "value": ":" 3893 }, 3894 { 3895 "type": "FIELD", 3896 "name": "value", 3897 "content": { 3898 "type": "SYMBOL", 3899 "name": "expression" 3900 } 3901 } 3902 ] 3903 }, 3904 "list_comprehension": { 3905 "type": "SEQ", 3906 "members": [ 3907 { 3908 "type": "STRING", 3909 "value": "[" 3910 }, 3911 { 3912 "type": "FIELD", 3913 "name": "body", 3914 "content": { 3915 "type": "SYMBOL", 3916 "name": "expression" 3917 } 3918 }, 3919 { 3920 "type": "SYMBOL", 3921 "name": "_comprehension_clauses" 3922 }, 3923 { 3924 "type": "STRING", 3925 "value": "]" 3926 } 3927 ] 3928 }, 3929 "dictionary_comprehension": { 3930 "type": "SEQ", 3931 "members": [ 3932 { 3933 "type": "STRING", 3934 "value": "{" 3935 }, 3936 { 3937 "type": "FIELD", 3938 "name": "body", 3939 "content": { 3940 "type": "SYMBOL", 3941 "name": "pair" 3942 } 3943 }, 3944 { 3945 "type": "SYMBOL", 3946 "name": "_comprehension_clauses" 3947 }, 3948 { 3949 "type": "STRING", 3950 "value": "}" 3951 } 3952 ] 3953 }, 3954 "set_comprehension": { 3955 "type": "SEQ", 3956 "members": [ 3957 { 3958 "type": "STRING", 3959 "value": "{" 3960 }, 3961 { 3962 "type": "FIELD", 3963 "name": "body", 3964 "content": { 3965 "type": "SYMBOL", 3966 "name": "expression" 3967 } 3968 }, 3969 { 3970 "type": "SYMBOL", 3971 "name": "_comprehension_clauses" 3972 }, 3973 { 3974 "type": "STRING", 3975 "value": "}" 3976 } 3977 ] 3978 }, 3979 "generator_expression": { 3980 "type": "SEQ", 3981 "members": [ 3982 { 3983 "type": "STRING", 3984 "value": "(" 3985 }, 3986 { 3987 "type": "FIELD", 3988 "name": "body", 3989 "content": { 3990 "type": "SYMBOL", 3991 "name": "expression" 3992 } 3993 }, 3994 { 3995 "type": "SYMBOL", 3996 "name": "_comprehension_clauses" 3997 }, 3998 { 3999 "type": "STRING", 4000 "value": ")" 4001 } 4002 ] 4003 }, 4004 "_comprehension_clauses": { 4005 "type": "SEQ", 4006 "members": [ 4007 { 4008 "type": "SYMBOL", 4009 "name": "for_in_clause" 4010 }, 4011 { 4012 "type": "REPEAT", 4013 "content": { 4014 "type": "CHOICE", 4015 "members": [ 4016 { 4017 "type": "SYMBOL", 4018 "name": "for_in_clause" 4019 }, 4020 { 4021 "type": "SYMBOL", 4022 "name": "if_clause" 4023 } 4024 ] 4025 } 4026 } 4027 ] 4028 }, 4029 "parenthesized_expression": { 4030 "type": "PREC", 4031 "value": 1, 4032 "content": { 4033 "type": "SEQ", 4034 "members": [ 4035 { 4036 "type": "STRING", 4037 "value": "(" 4038 }, 4039 { 4040 "type": "CHOICE", 4041 "members": [ 4042 { 4043 "type": "SYMBOL", 4044 "name": "expression" 4045 }, 4046 { 4047 "type": "SYMBOL", 4048 "name": "yield" 4049 } 4050 ] 4051 }, 4052 { 4053 "type": "STRING", 4054 "value": ")" 4055 } 4056 ] 4057 } 4058 }, 4059 "_collection_elements": { 4060 "type": "SEQ", 4061 "members": [ 4062 { 4063 "type": "SEQ", 4064 "members": [ 4065 { 4066 "type": "CHOICE", 4067 "members": [ 4068 { 4069 "type": "SYMBOL", 4070 "name": "expression" 4071 }, 4072 { 4073 "type": "SYMBOL", 4074 "name": "yield" 4075 }, 4076 { 4077 "type": "SYMBOL", 4078 "name": "list_splat" 4079 }, 4080 { 4081 "type": "SYMBOL", 4082 "name": "parenthesized_list_splat" 4083 } 4084 ] 4085 }, 4086 { 4087 "type": "REPEAT", 4088 "content": { 4089 "type": "SEQ", 4090 "members": [ 4091 { 4092 "type": "STRING", 4093 "value": "," 4094 }, 4095 { 4096 "type": "CHOICE", 4097 "members": [ 4098 { 4099 "type": "SYMBOL", 4100 "name": "expression" 4101 }, 4102 { 4103 "type": "SYMBOL", 4104 "name": "yield" 4105 }, 4106 { 4107 "type": "SYMBOL", 4108 "name": "list_splat" 4109 }, 4110 { 4111 "type": "SYMBOL", 4112 "name": "parenthesized_list_splat" 4113 } 4114 ] 4115 } 4116 ] 4117 } 4118 } 4119 ] 4120 }, 4121 { 4122 "type": "CHOICE", 4123 "members": [ 4124 { 4125 "type": "STRING", 4126 "value": "," 4127 }, 4128 { 4129 "type": "BLANK" 4130 } 4131 ] 4132 } 4133 ] 4134 }, 4135 "for_in_clause": { 4136 "type": "PREC_LEFT", 4137 "value": 0, 4138 "content": { 4139 "type": "SEQ", 4140 "members": [ 4141 { 4142 "type": "CHOICE", 4143 "members": [ 4144 { 4145 "type": "STRING", 4146 "value": "async" 4147 }, 4148 { 4149 "type": "BLANK" 4150 } 4151 ] 4152 }, 4153 { 4154 "type": "STRING", 4155 "value": "for" 4156 }, 4157 { 4158 "type": "FIELD", 4159 "name": "left", 4160 "content": { 4161 "type": "SYMBOL", 4162 "name": "_left_hand_side" 4163 } 4164 }, 4165 { 4166 "type": "STRING", 4167 "value": "in" 4168 }, 4169 { 4170 "type": "FIELD", 4171 "name": "right", 4172 "content": { 4173 "type": "SEQ", 4174 "members": [ 4175 { 4176 "type": "SYMBOL", 4177 "name": "_expression_within_for_in_clause" 4178 }, 4179 { 4180 "type": "REPEAT", 4181 "content": { 4182 "type": "SEQ", 4183 "members": [ 4184 { 4185 "type": "STRING", 4186 "value": "," 4187 }, 4188 { 4189 "type": "SYMBOL", 4190 "name": "_expression_within_for_in_clause" 4191 } 4192 ] 4193 } 4194 } 4195 ] 4196 } 4197 }, 4198 { 4199 "type": "CHOICE", 4200 "members": [ 4201 { 4202 "type": "STRING", 4203 "value": "," 4204 }, 4205 { 4206 "type": "BLANK" 4207 } 4208 ] 4209 } 4210 ] 4211 } 4212 }, 4213 "if_clause": { 4214 "type": "SEQ", 4215 "members": [ 4216 { 4217 "type": "STRING", 4218 "value": "if" 4219 }, 4220 { 4221 "type": "SYMBOL", 4222 "name": "expression" 4223 } 4224 ] 4225 }, 4226 "conditional_expression": { 4227 "type": "PREC_RIGHT", 4228 "value": -1, 4229 "content": { 4230 "type": "SEQ", 4231 "members": [ 4232 { 4233 "type": "SYMBOL", 4234 "name": "expression" 4235 }, 4236 { 4237 "type": "STRING", 4238 "value": "if" 4239 }, 4240 { 4241 "type": "SYMBOL", 4242 "name": "expression" 4243 }, 4244 { 4245 "type": "STRING", 4246 "value": "else" 4247 }, 4248 { 4249 "type": "SYMBOL", 4250 "name": "expression" 4251 } 4252 ] 4253 } 4254 }, 4255 "concatenated_string": { 4256 "type": "SEQ", 4257 "members": [ 4258 { 4259 "type": "SYMBOL", 4260 "name": "string" 4261 }, 4262 { 4263 "type": "REPEAT1", 4264 "content": { 4265 "type": "SYMBOL", 4266 "name": "string" 4267 } 4268 } 4269 ] 4270 }, 4271 "string": { 4272 "type": "SEQ", 4273 "members": [ 4274 { 4275 "type": "ALIAS", 4276 "content": { 4277 "type": "SYMBOL", 4278 "name": "_string_start" 4279 }, 4280 "named": false, 4281 "value": "\"" 4282 }, 4283 { 4284 "type": "REPEAT", 4285 "content": { 4286 "type": "CHOICE", 4287 "members": [ 4288 { 4289 "type": "SYMBOL", 4290 "name": "interpolation" 4291 }, 4292 { 4293 "type": "SYMBOL", 4294 "name": "escape_sequence" 4295 }, 4296 { 4297 "type": "SYMBOL", 4298 "name": "_not_escape_sequence" 4299 }, 4300 { 4301 "type": "SYMBOL", 4302 "name": "_string_content" 4303 } 4304 ] 4305 } 4306 }, 4307 { 4308 "type": "ALIAS", 4309 "content": { 4310 "type": "SYMBOL", 4311 "name": "_string_end" 4312 }, 4313 "named": false, 4314 "value": "\"" 4315 } 4316 ] 4317 }, 4318 "interpolation": { 4319 "type": "SEQ", 4320 "members": [ 4321 { 4322 "type": "STRING", 4323 "value": "{" 4324 }, 4325 { 4326 "type": "SYMBOL", 4327 "name": "expression" 4328 }, 4329 { 4330 "type": "CHOICE", 4331 "members": [ 4332 { 4333 "type": "SYMBOL", 4334 "name": "type_conversion" 4335 }, 4336 { 4337 "type": "BLANK" 4338 } 4339 ] 4340 }, 4341 { 4342 "type": "CHOICE", 4343 "members": [ 4344 { 4345 "type": "SYMBOL", 4346 "name": "format_specifier" 4347 }, 4348 { 4349 "type": "BLANK" 4350 } 4351 ] 4352 }, 4353 { 4354 "type": "STRING", 4355 "value": "}" 4356 } 4357 ] 4358 }, 4359 "escape_sequence": { 4360 "type": "TOKEN", 4361 "content": { 4362 "type": "PREC", 4363 "value": 1, 4364 "content": { 4365 "type": "SEQ", 4366 "members": [ 4367 { 4368 "type": "STRING", 4369 "value": "\\" 4370 }, 4371 { 4372 "type": "CHOICE", 4373 "members": [ 4374 { 4375 "type": "PATTERN", 4376 "value": "u[a-fA-F\\d]{4}" 4377 }, 4378 { 4379 "type": "PATTERN", 4380 "value": "U[a-fA-F\\d]{8}" 4381 }, 4382 { 4383 "type": "PATTERN", 4384 "value": "x[a-fA-F\\d]{2}" 4385 }, 4386 { 4387 "type": "PATTERN", 4388 "value": "\\d{3}" 4389 }, 4390 { 4391 "type": "PATTERN", 4392 "value": "\\r?\\n" 4393 }, 4394 { 4395 "type": "PATTERN", 4396 "value": "['\"abfrntv\\\\]" 4397 } 4398 ] 4399 } 4400 ] 4401 } 4402 } 4403 }, 4404 "_not_escape_sequence": { 4405 "type": "STRING", 4406 "value": "\\" 4407 }, 4408 "format_specifier": { 4409 "type": "SEQ", 4410 "members": [ 4411 { 4412 "type": "STRING", 4413 "value": ":" 4414 }, 4415 { 4416 "type": "REPEAT", 4417 "content": { 4418 "type": "CHOICE", 4419 "members": [ 4420 { 4421 "type": "TOKEN", 4422 "content": { 4423 "type": "PREC", 4424 "value": 1, 4425 "content": { 4426 "type": "PATTERN", 4427 "value": "[^{}\\n]+" 4428 } 4429 } 4430 }, 4431 { 4432 "type": "SYMBOL", 4433 "name": "format_expression" 4434 } 4435 ] 4436 } 4437 } 4438 ] 4439 }, 4440 "format_expression": { 4441 "type": "SEQ", 4442 "members": [ 4443 { 4444 "type": "STRING", 4445 "value": "{" 4446 }, 4447 { 4448 "type": "SYMBOL", 4449 "name": "expression" 4450 }, 4451 { 4452 "type": "STRING", 4453 "value": "}" 4454 } 4455 ] 4456 }, 4457 "type_conversion": { 4458 "type": "PATTERN", 4459 "value": "![a-z]" 4460 }, 4461 "integer": { 4462 "type": "TOKEN", 4463 "content": { 4464 "type": "CHOICE", 4465 "members": [ 4466 { 4467 "type": "SEQ", 4468 "members": [ 4469 { 4470 "type": "CHOICE", 4471 "members": [ 4472 { 4473 "type": "STRING", 4474 "value": "0x" 4475 }, 4476 { 4477 "type": "STRING", 4478 "value": "0X" 4479 } 4480 ] 4481 }, 4482 { 4483 "type": "REPEAT1", 4484 "content": { 4485 "type": "PATTERN", 4486 "value": "_?[A-Fa-f0-9]+" 4487 } 4488 }, 4489 { 4490 "type": "CHOICE", 4491 "members": [ 4492 { 4493 "type": "PATTERN", 4494 "value": "[Ll]" 4495 }, 4496 { 4497 "type": "BLANK" 4498 } 4499 ] 4500 } 4501 ] 4502 }, 4503 { 4504 "type": "SEQ", 4505 "members": [ 4506 { 4507 "type": "CHOICE", 4508 "members": [ 4509 { 4510 "type": "STRING", 4511 "value": "0o" 4512 }, 4513 { 4514 "type": "STRING", 4515 "value": "0O" 4516 } 4517 ] 4518 }, 4519 { 4520 "type": "REPEAT1", 4521 "content": { 4522 "type": "PATTERN", 4523 "value": "_?[0-7]+" 4524 } 4525 }, 4526 { 4527 "type": "CHOICE", 4528 "members": [ 4529 { 4530 "type": "PATTERN", 4531 "value": "[Ll]" 4532 }, 4533 { 4534 "type": "BLANK" 4535 } 4536 ] 4537 } 4538 ] 4539 }, 4540 { 4541 "type": "SEQ", 4542 "members": [ 4543 { 4544 "type": "CHOICE", 4545 "members": [ 4546 { 4547 "type": "STRING", 4548 "value": "0b" 4549 }, 4550 { 4551 "type": "STRING", 4552 "value": "0B" 4553 } 4554 ] 4555 }, 4556 { 4557 "type": "REPEAT1", 4558 "content": { 4559 "type": "PATTERN", 4560 "value": "_?[0-1]+" 4561 } 4562 }, 4563 { 4564 "type": "CHOICE", 4565 "members": [ 4566 { 4567 "type": "PATTERN", 4568 "value": "[Ll]" 4569 }, 4570 { 4571 "type": "BLANK" 4572 } 4573 ] 4574 } 4575 ] 4576 }, 4577 { 4578 "type": "SEQ", 4579 "members": [ 4580 { 4581 "type": "REPEAT1", 4582 "content": { 4583 "type": "PATTERN", 4584 "value": "[0-9]+_?" 4585 } 4586 }, 4587 { 4588 "type": "CHOICE", 4589 "members": [ 4590 { 4591 "type": "CHOICE", 4592 "members": [ 4593 { 4594 "type": "PATTERN", 4595 "value": "[Ll]" 4596 }, 4597 { 4598 "type": "BLANK" 4599 } 4600 ] 4601 }, 4602 { 4603 "type": "CHOICE", 4604 "members": [ 4605 { 4606 "type": "PATTERN", 4607 "value": "[jJ]" 4608 }, 4609 { 4610 "type": "BLANK" 4611 } 4612 ] 4613 } 4614 ] 4615 } 4616 ] 4617 } 4618 ] 4619 } 4620 }, 4621 "float": { 4622 "type": "TOKEN", 4623 "content": { 4624 "type": "SEQ", 4625 "members": [ 4626 { 4627 "type": "CHOICE", 4628 "members": [ 4629 { 4630 "type": "SEQ", 4631 "members": [ 4632 { 4633 "type": "REPEAT1", 4634 "content": { 4635 "type": "PATTERN", 4636 "value": "[0-9]+_?" 4637 } 4638 }, 4639 { 4640 "type": "STRING", 4641 "value": "." 4642 }, 4643 { 4644 "type": "CHOICE", 4645 "members": [ 4646 { 4647 "type": "REPEAT1", 4648 "content": { 4649 "type": "PATTERN", 4650 "value": "[0-9]+_?" 4651 } 4652 }, 4653 { 4654 "type": "BLANK" 4655 } 4656 ] 4657 }, 4658 { 4659 "type": "CHOICE", 4660 "members": [ 4661 { 4662 "type": "SEQ", 4663 "members": [ 4664 { 4665 "type": "PATTERN", 4666 "value": "[eE][\\+-]?" 4667 }, 4668 { 4669 "type": "REPEAT1", 4670 "content": { 4671 "type": "PATTERN", 4672 "value": "[0-9]+_?" 4673 } 4674 } 4675 ] 4676 }, 4677 { 4678 "type": "BLANK" 4679 } 4680 ] 4681 } 4682 ] 4683 }, 4684 { 4685 "type": "SEQ", 4686 "members": [ 4687 { 4688 "type": "CHOICE", 4689 "members": [ 4690 { 4691 "type": "REPEAT1", 4692 "content": { 4693 "type": "PATTERN", 4694 "value": "[0-9]+_?" 4695 } 4696 }, 4697 { 4698 "type": "BLANK" 4699 } 4700 ] 4701 }, 4702 { 4703 "type": "STRING", 4704 "value": "." 4705 }, 4706 { 4707 "type": "REPEAT1", 4708 "content": { 4709 "type": "PATTERN", 4710 "value": "[0-9]+_?" 4711 } 4712 }, 4713 { 4714 "type": "CHOICE", 4715 "members": [ 4716 { 4717 "type": "SEQ", 4718 "members": [ 4719 { 4720 "type": "PATTERN", 4721 "value": "[eE][\\+-]?" 4722 }, 4723 { 4724 "type": "REPEAT1", 4725 "content": { 4726 "type": "PATTERN", 4727 "value": "[0-9]+_?" 4728 } 4729 } 4730 ] 4731 }, 4732 { 4733 "type": "BLANK" 4734 } 4735 ] 4736 } 4737 ] 4738 }, 4739 { 4740 "type": "SEQ", 4741 "members": [ 4742 { 4743 "type": "REPEAT1", 4744 "content": { 4745 "type": "PATTERN", 4746 "value": "[0-9]+_?" 4747 } 4748 }, 4749 { 4750 "type": "SEQ", 4751 "members": [ 4752 { 4753 "type": "PATTERN", 4754 "value": "[eE][\\+-]?" 4755 }, 4756 { 4757 "type": "REPEAT1", 4758 "content": { 4759 "type": "PATTERN", 4760 "value": "[0-9]+_?" 4761 } 4762 } 4763 ] 4764 } 4765 ] 4766 } 4767 ] 4768 }, 4769 { 4770 "type": "CHOICE", 4771 "members": [ 4772 { 4773 "type": "CHOICE", 4774 "members": [ 4775 { 4776 "type": "PATTERN", 4777 "value": "[Ll]" 4778 }, 4779 { 4780 "type": "PATTERN", 4781 "value": "[jJ]" 4782 } 4783 ] 4784 }, 4785 { 4786 "type": "BLANK" 4787 } 4788 ] 4789 } 4790 ] 4791 } 4792 }, 4793 "identifier": { 4794 "type": "PATTERN", 4795 "value": "[_\\p{XID_Start}][_\\p{XID_Continue}]*" 4796 }, 4797 "keyword_identifier": { 4798 "type": "PREC", 4799 "value": -3, 4800 "content": { 4801 "type": "ALIAS", 4802 "content": { 4803 "type": "CHOICE", 4804 "members": [ 4805 { 4806 "type": "STRING", 4807 "value": "print" 4808 }, 4809 { 4810 "type": "STRING", 4811 "value": "exec" 4812 }, 4813 { 4814 "type": "STRING", 4815 "value": "async" 4816 }, 4817 { 4818 "type": "STRING", 4819 "value": "await" 4820 } 4821 ] 4822 }, 4823 "named": true, 4824 "value": "identifier" 4825 } 4826 }, 4827 "true": { 4828 "type": "STRING", 4829 "value": "True" 4830 }, 4831 "false": { 4832 "type": "STRING", 4833 "value": "False" 4834 }, 4835 "none": { 4836 "type": "STRING", 4837 "value": "None" 4838 }, 4839 "await": { 4840 "type": "PREC", 4841 "value": 18, 4842 "content": { 4843 "type": "SEQ", 4844 "members": [ 4845 { 4846 "type": "STRING", 4847 "value": "await" 4848 }, 4849 { 4850 "type": "SYMBOL", 4851 "name": "expression" 4852 } 4853 ] 4854 } 4855 }, 4856 "comment": { 4857 "type": "TOKEN", 4858 "content": { 4859 "type": "SEQ", 4860 "members": [ 4861 { 4862 "type": "STRING", 4863 "value": "#" 4864 }, 4865 { 4866 "type": "PATTERN", 4867 "value": ".*" 4868 } 4869 ] 4870 } 4871 }, 4872 "_semicolon": { 4873 "type": "STRING", 4874 "value": ";" 4875 } 4876 }, 4877 "extras": [ 4878 { 4879 "type": "SYMBOL", 4880 "name": "comment" 4881 }, 4882 { 4883 "type": "PATTERN", 4884 "value": "[\\s\\f\\uFEFF\\u2060\\u200B]|\\\\\\r?\\n" 4885 } 4886 ], 4887 "conflicts": [ 4888 [ 4889 "primary_expression", 4890 "pattern" 4891 ], 4892 [ 4893 "primary_expression", 4894 "list_splat_pattern" 4895 ], 4896 [ 4897 "tuple", 4898 "tuple_pattern" 4899 ], 4900 [ 4901 "list", 4902 "list_pattern" 4903 ], 4904 [ 4905 "with_item", 4906 "_collection_elements" 4907 ] 4908 ], 4909 "precedences": [], 4910 "externals": [ 4911 { 4912 "type": "SYMBOL", 4913 "name": "_newline" 4914 }, 4915 { 4916 "type": "SYMBOL", 4917 "name": "_indent" 4918 }, 4919 { 4920 "type": "SYMBOL", 4921 "name": "_dedent" 4922 }, 4923 { 4924 "type": "SYMBOL", 4925 "name": "_string_start" 4926 }, 4927 { 4928 "type": "SYMBOL", 4929 "name": "_string_content" 4930 }, 4931 { 4932 "type": "SYMBOL", 4933 "name": "_string_end" 4934 } 4935 ], 4936 "inline": [ 4937 "_simple_statement", 4938 "_compound_statement", 4939 "_suite", 4940 "_expressions", 4941 "_left_hand_side", 4942 "keyword_identifier" 4943 ], 4944 "supertypes": [ 4945 "_simple_statement", 4946 "_compound_statement", 4947 "expression", 4948 "primary_expression", 4949 "pattern", 4950 "parameter" 4951 ] 4952} 4953 4954