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