rapydscript-ng 0.7.24 → 0.8.0

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