@reqlan/language 1.6.2 → 1.7.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 (55) hide show
  1. package/README.md +6 -0
  2. package/out/generated/ast.d.ts +3 -3
  3. package/out/generated/ast.js +1 -1
  4. package/out/generated/ast.js.map +1 -1
  5. package/out/generated/grammar.js +2 -3318
  6. package/out/generated/grammar.js.map +1 -1
  7. package/out/generated/module.d.ts +2 -2
  8. package/out/generated/module.js +2 -2
  9. package/out/generated/module.js.map +1 -1
  10. package/out/index.d.ts +3 -0
  11. package/out/index.js +3 -0
  12. package/out/index.js.map +1 -1
  13. package/out/reqlan-async-parser.d.ts +37 -0
  14. package/out/reqlan-async-parser.js +117 -0
  15. package/out/reqlan-async-parser.js.map +1 -0
  16. package/out/reqlan-completion-provider.js +1 -1
  17. package/out/reqlan-completion-provider.js.map +1 -1
  18. package/out/reqlan-document-factory.d.ts +16 -0
  19. package/out/reqlan-document-factory.js +50 -0
  20. package/out/reqlan-document-factory.js.map +1 -0
  21. package/out/reqlan-linker.js +2 -2
  22. package/out/reqlan-linker.js.map +1 -1
  23. package/out/reqlan-module.d.ts +2 -1
  24. package/out/reqlan-module.js +12 -2
  25. package/out/reqlan-module.js.map +1 -1
  26. package/out/reqlan-parse-budget.d.ts +50 -0
  27. package/out/reqlan-parse-budget.js +89 -0
  28. package/out/reqlan-parse-budget.js.map +1 -0
  29. package/out/reqlan-parse-worker.d.ts +1 -0
  30. package/out/reqlan-parse-worker.js +34 -0
  31. package/out/reqlan-parse-worker.js.map +1 -0
  32. package/out/reqlan-token-builder.js +102 -25
  33. package/out/reqlan-token-builder.js.map +1 -1
  34. package/out/reqlan-validator.d.ts +9 -1
  35. package/out/reqlan-validator.js +16 -2
  36. package/out/reqlan-validator.js.map +1 -1
  37. package/out/reqlan-workspace-manager.d.ts +11 -0
  38. package/out/reqlan-workspace-manager.js +24 -0
  39. package/out/reqlan-workspace-manager.js.map +1 -0
  40. package/package.json +1 -1
  41. package/src/generated/ast.ts +3 -3
  42. package/src/generated/grammar.ts +2 -3318
  43. package/src/generated/module.ts +2 -2
  44. package/src/index.ts +3 -0
  45. package/src/reqlan-async-parser.ts +178 -0
  46. package/src/reqlan-completion-provider.ts +1 -1
  47. package/src/reqlan-document-factory.ts +75 -0
  48. package/src/reqlan-linker.ts +4 -2
  49. package/src/reqlan-module.ts +15 -3
  50. package/src/reqlan-parse-budget.ts +155 -0
  51. package/src/reqlan-parse-worker.ts +35 -0
  52. package/src/reqlan-token-builder.ts +122 -25
  53. package/src/reqlan-validator.ts +22 -1
  54. package/src/reqlan-workspace-manager.ts +38 -0
  55. package/src/reqlan.langium +3 -1
@@ -7,3323 +7,7 @@ import type { Grammar } from 'langium';
7
7
  import { loadGrammarFromJson } from 'langium';
8
8
 
9
9
  let loadedReqlanGrammar: Grammar | undefined;
10
- export const ReqlanGrammar = (): Grammar => loadedReqlanGrammar ?? (loadedReqlanGrammar = loadGrammarFromJson(`{
11
- "$type": "Grammar",
12
- "isDeclared": true,
13
- "name": "Reqlan",
14
- "rules": [
15
- {
16
- "$type": "ParserRule",
17
- "entry": true,
18
- "name": "Model",
19
- "definition": {
20
- "$type": "Group",
21
- "elements": [
22
- {
23
- "$type": "Group",
24
- "elements": [
25
- {
26
- "$type": "RuleCall",
27
- "rule": {
28
- "$ref": "#/rules@54"
29
- },
30
- "arguments": [],
31
- "cardinality": "*"
32
- },
33
- {
34
- "$type": "Assignment",
35
- "feature": "imports",
36
- "operator": "+=",
37
- "terminal": {
38
- "$type": "RuleCall",
39
- "rule": {
40
- "$ref": "#/rules@46"
41
- },
42
- "arguments": []
43
- }
44
- }
45
- ],
46
- "cardinality": "*"
47
- },
48
- {
49
- "$type": "Group",
50
- "elements": [
51
- {
52
- "$type": "RuleCall",
53
- "rule": {
54
- "$ref": "#/rules@54"
55
- },
56
- "arguments": [],
57
- "cardinality": "*"
58
- },
59
- {
60
- "$type": "Assignment",
61
- "feature": "elements",
62
- "operator": "+=",
63
- "terminal": {
64
- "$type": "RuleCall",
65
- "rule": {
66
- "$ref": "#/rules@1"
67
- },
68
- "arguments": []
69
- }
70
- }
71
- ],
72
- "cardinality": "*"
73
- },
74
- {
75
- "$type": "RuleCall",
76
- "rule": {
77
- "$ref": "#/rules@54"
78
- },
79
- "arguments": [],
80
- "cardinality": "*"
81
- }
82
- ]
83
- },
84
- "fragment": false,
85
- "parameters": []
86
- },
87
- {
88
- "$type": "ParserRule",
89
- "name": "TopLevelElement",
90
- "definition": {
91
- "$type": "Alternatives",
92
- "elements": [
93
- {
94
- "$type": "RuleCall",
95
- "rule": {
96
- "$ref": "#/rules@5"
97
- },
98
- "arguments": []
99
- },
100
- {
101
- "$type": "RuleCall",
102
- "rule": {
103
- "$ref": "#/rules@6"
104
- },
105
- "arguments": []
106
- },
107
- {
108
- "$type": "RuleCall",
109
- "rule": {
110
- "$ref": "#/rules@2"
111
- },
112
- "arguments": []
113
- }
114
- ]
115
- },
116
- "entry": false,
117
- "fragment": false,
118
- "parameters": []
119
- },
120
- {
121
- "$type": "ParserRule",
122
- "name": "OneLinerIdea",
123
- "definition": {
124
- "$type": "Group",
125
- "elements": [
126
- {
127
- "$type": "Assignment",
128
- "feature": "name",
129
- "operator": "=",
130
- "terminal": {
131
- "$type": "RuleCall",
132
- "rule": {
133
- "$ref": "#/rules@7"
134
- },
135
- "arguments": []
136
- }
137
- },
138
- {
139
- "$type": "Assignment",
140
- "feature": "body",
141
- "operator": "=",
142
- "terminal": {
143
- "$type": "RuleCall",
144
- "rule": {
145
- "$ref": "#/rules@3"
146
- },
147
- "arguments": []
148
- },
149
- "cardinality": "?"
150
- }
151
- ]
152
- },
153
- "entry": false,
154
- "fragment": false,
155
- "parameters": []
156
- },
157
- {
158
- "$type": "ParserRule",
159
- "name": "OneLinerBody",
160
- "definition": {
161
- "$type": "Assignment",
162
- "feature": "content",
163
- "operator": "+=",
164
- "terminal": {
165
- "$type": "Alternatives",
166
- "elements": [
167
- {
168
- "$type": "RuleCall",
169
- "rule": {
170
- "$ref": "#/rules@37"
171
- },
172
- "arguments": []
173
- },
174
- {
175
- "$type": "RuleCall",
176
- "rule": {
177
- "$ref": "#/rules@40"
178
- },
179
- "arguments": []
180
- },
181
- {
182
- "$type": "RuleCall",
183
- "rule": {
184
- "$ref": "#/rules@38"
185
- },
186
- "arguments": []
187
- },
188
- {
189
- "$type": "RuleCall",
190
- "rule": {
191
- "$ref": "#/rules@15"
192
- },
193
- "arguments": []
194
- }
195
- ]
196
- },
197
- "cardinality": "+"
198
- },
199
- "entry": false,
200
- "fragment": false,
201
- "parameters": []
202
- },
203
- {
204
- "$type": "ParserRule",
205
- "name": "IdeaDeclaration",
206
- "definition": {
207
- "$type": "Alternatives",
208
- "elements": [
209
- {
210
- "$type": "RuleCall",
211
- "rule": {
212
- "$ref": "#/rules@5"
213
- },
214
- "arguments": []
215
- },
216
- {
217
- "$type": "RuleCall",
218
- "rule": {
219
- "$ref": "#/rules@2"
220
- },
221
- "arguments": []
222
- }
223
- ]
224
- },
225
- "entry": false,
226
- "fragment": false,
227
- "parameters": []
228
- },
229
- {
230
- "$type": "ParserRule",
231
- "name": "Idea",
232
- "definition": {
233
- "$type": "Group",
234
- "elements": [
235
- {
236
- "$type": "Assignment",
237
- "feature": "name",
238
- "operator": "=",
239
- "terminal": {
240
- "$type": "RuleCall",
241
- "rule": {
242
- "$ref": "#/rules@7"
243
- },
244
- "arguments": []
245
- }
246
- },
247
- {
248
- "$type": "Keyword",
249
- "value": "{"
250
- },
251
- {
252
- "$type": "Group",
253
- "elements": [
254
- {
255
- "$type": "RuleCall",
256
- "rule": {
257
- "$ref": "#/rules@54"
258
- },
259
- "arguments": [],
260
- "cardinality": "*"
261
- },
262
- {
263
- "$type": "Assignment",
264
- "feature": "elements",
265
- "operator": "+=",
266
- "terminal": {
267
- "$type": "RuleCall",
268
- "rule": {
269
- "$ref": "#/rules@10"
270
- },
271
- "arguments": []
272
- }
273
- }
274
- ],
275
- "cardinality": "*"
276
- },
277
- {
278
- "$type": "RuleCall",
279
- "rule": {
280
- "$ref": "#/rules@54"
281
- },
282
- "arguments": [],
283
- "cardinality": "*"
284
- },
285
- {
286
- "$type": "Keyword",
287
- "value": "}"
288
- }
289
- ]
290
- },
291
- "entry": false,
292
- "fragment": false,
293
- "parameters": []
294
- },
295
- {
296
- "$type": "ParserRule",
297
- "name": "IdeaSet",
298
- "definition": {
299
- "$type": "Group",
300
- "elements": [
301
- {
302
- "$type": "Assignment",
303
- "feature": "name",
304
- "operator": "=",
305
- "terminal": {
306
- "$type": "RuleCall",
307
- "rule": {
308
- "$ref": "#/rules@7"
309
- },
310
- "arguments": []
311
- }
312
- },
313
- {
314
- "$type": "Keyword",
315
- "value": "("
316
- },
317
- {
318
- "$type": "RuleCall",
319
- "rule": {
320
- "$ref": "#/rules@54"
321
- },
322
- "arguments": [],
323
- "cardinality": "*"
324
- },
325
- {
326
- "$type": "Assignment",
327
- "feature": "members",
328
- "operator": "+=",
329
- "terminal": {
330
- "$type": "CrossReference",
331
- "type": {
332
- "$ref": "#/rules@4"
333
- },
334
- "terminal": {
335
- "$type": "RuleCall",
336
- "rule": {
337
- "$ref": "#/rules@8"
338
- },
339
- "arguments": []
340
- },
341
- "deprecatedSyntax": false,
342
- "isMulti": false
343
- }
344
- },
345
- {
346
- "$type": "Group",
347
- "elements": [
348
- {
349
- "$type": "RuleCall",
350
- "rule": {
351
- "$ref": "#/rules@54"
352
- },
353
- "arguments": [],
354
- "cardinality": "*"
355
- },
356
- {
357
- "$type": "Keyword",
358
- "value": ","
359
- },
360
- {
361
- "$type": "RuleCall",
362
- "rule": {
363
- "$ref": "#/rules@54"
364
- },
365
- "arguments": [],
366
- "cardinality": "*"
367
- },
368
- {
369
- "$type": "Assignment",
370
- "feature": "members",
371
- "operator": "+=",
372
- "terminal": {
373
- "$type": "CrossReference",
374
- "type": {
375
- "$ref": "#/rules@4"
376
- },
377
- "terminal": {
378
- "$type": "RuleCall",
379
- "rule": {
380
- "$ref": "#/rules@8"
381
- },
382
- "arguments": []
383
- },
384
- "deprecatedSyntax": false,
385
- "isMulti": false
386
- }
387
- }
388
- ],
389
- "cardinality": "*"
390
- },
391
- {
392
- "$type": "RuleCall",
393
- "rule": {
394
- "$ref": "#/rules@54"
395
- },
396
- "arguments": [],
397
- "cardinality": "*"
398
- },
399
- {
400
- "$type": "Keyword",
401
- "value": ")"
402
- }
403
- ]
404
- },
405
- "entry": false,
406
- "fragment": false,
407
- "parameters": []
408
- },
409
- {
410
- "$type": "ParserRule",
411
- "name": "IdeaName",
412
- "dataType": "string",
413
- "definition": {
414
- "$type": "Alternatives",
415
- "elements": [
416
- {
417
- "$type": "RuleCall",
418
- "rule": {
419
- "$ref": "#/rules@59"
420
- },
421
- "arguments": []
422
- },
423
- {
424
- "$type": "RuleCall",
425
- "rule": {
426
- "$ref": "#/rules@60"
427
- },
428
- "arguments": []
429
- }
430
- ]
431
- },
432
- "entry": false,
433
- "fragment": false,
434
- "parameters": []
435
- },
436
- {
437
- "$type": "ParserRule",
438
- "name": "IdeaMemberName",
439
- "dataType": "string",
440
- "definition": {
441
- "$type": "Alternatives",
442
- "elements": [
443
- {
444
- "$type": "RuleCall",
445
- "rule": {
446
- "$ref": "#/rules@59"
447
- },
448
- "arguments": []
449
- },
450
- {
451
- "$type": "RuleCall",
452
- "rule": {
453
- "$ref": "#/rules@60"
454
- },
455
- "arguments": []
456
- }
457
- ]
458
- },
459
- "entry": false,
460
- "fragment": false,
461
- "parameters": []
462
- },
463
- {
464
- "$type": "ParserRule",
465
- "name": "ReferenceName",
466
- "dataType": "string",
467
- "definition": {
468
- "$type": "RuleCall",
469
- "rule": {
470
- "$ref": "#/rules@59"
471
- },
472
- "arguments": []
473
- },
474
- "entry": false,
475
- "fragment": false,
476
- "parameters": []
477
- },
478
- {
479
- "$type": "ParserRule",
480
- "name": "BodyElement",
481
- "definition": {
482
- "$type": "Alternatives",
483
- "elements": [
484
- {
485
- "$type": "RuleCall",
486
- "rule": {
487
- "$ref": "#/rules@18"
488
- },
489
- "arguments": []
490
- },
491
- {
492
- "$type": "RuleCall",
493
- "rule": {
494
- "$ref": "#/rules@14"
495
- },
496
- "arguments": []
497
- },
498
- {
499
- "$type": "RuleCall",
500
- "rule": {
501
- "$ref": "#/rules@28"
502
- },
503
- "arguments": []
504
- },
505
- {
506
- "$type": "RuleCall",
507
- "rule": {
508
- "$ref": "#/rules@29"
509
- },
510
- "arguments": []
511
- },
512
- {
513
- "$type": "RuleCall",
514
- "rule": {
515
- "$ref": "#/rules@11"
516
- },
517
- "arguments": []
518
- }
519
- ]
520
- },
521
- "entry": false,
522
- "fragment": false,
523
- "parameters": []
524
- },
525
- {
526
- "$type": "ParserRule",
527
- "name": "BodyLine",
528
- "definition": {
529
- "$type": "Assignment",
530
- "feature": "parts",
531
- "operator": "+=",
532
- "terminal": {
533
- "$type": "RuleCall",
534
- "rule": {
535
- "$ref": "#/rules@12"
536
- },
537
- "arguments": []
538
- },
539
- "cardinality": "+"
540
- },
541
- "entry": false,
542
- "fragment": false,
543
- "parameters": []
544
- },
545
- {
546
- "$type": "ParserRule",
547
- "name": "RichTextPart",
548
- "definition": {
549
- "$type": "Alternatives",
550
- "elements": [
551
- {
552
- "$type": "RuleCall",
553
- "rule": {
554
- "$ref": "#/rules@37"
555
- },
556
- "arguments": []
557
- },
558
- {
559
- "$type": "RuleCall",
560
- "rule": {
561
- "$ref": "#/rules@38"
562
- },
563
- "arguments": []
564
- },
565
- {
566
- "$type": "RuleCall",
567
- "rule": {
568
- "$ref": "#/rules@40"
569
- },
570
- "arguments": []
571
- },
572
- {
573
- "$type": "Assignment",
574
- "feature": "inlineCode",
575
- "operator": "=",
576
- "terminal": {
577
- "$type": "RuleCall",
578
- "rule": {
579
- "$ref": "#/rules@64"
580
- },
581
- "arguments": []
582
- }
583
- },
584
- {
585
- "$type": "Assignment",
586
- "feature": "text",
587
- "operator": "=",
588
- "terminal": {
589
- "$type": "RuleCall",
590
- "rule": {
591
- "$ref": "#/rules@16"
592
- },
593
- "arguments": []
594
- }
595
- },
596
- {
597
- "$type": "Assignment",
598
- "feature": "lparen",
599
- "operator": "=",
600
- "terminal": {
601
- "$type": "Keyword",
602
- "value": "("
603
- }
604
- },
605
- {
606
- "$type": "Assignment",
607
- "feature": "rparen",
608
- "operator": "=",
609
- "terminal": {
610
- "$type": "Keyword",
611
- "value": ")"
612
- }
613
- }
614
- ]
615
- },
616
- "entry": false,
617
- "fragment": false,
618
- "parameters": []
619
- },
620
- {
621
- "$type": "ParserRule",
622
- "name": "InlineTextPart",
623
- "definition": {
624
- "$type": "Alternatives",
625
- "elements": [
626
- {
627
- "$type": "RuleCall",
628
- "rule": {
629
- "$ref": "#/rules@37"
630
- },
631
- "arguments": []
632
- },
633
- {
634
- "$type": "RuleCall",
635
- "rule": {
636
- "$ref": "#/rules@38"
637
- },
638
- "arguments": []
639
- },
640
- {
641
- "$type": "RuleCall",
642
- "rule": {
643
- "$ref": "#/rules@40"
644
- },
645
- "arguments": []
646
- },
647
- {
648
- "$type": "Assignment",
649
- "feature": "inlineCode",
650
- "operator": "=",
651
- "terminal": {
652
- "$type": "RuleCall",
653
- "rule": {
654
- "$ref": "#/rules@64"
655
- },
656
- "arguments": []
657
- }
658
- },
659
- {
660
- "$type": "Assignment",
661
- "feature": "text",
662
- "operator": "=",
663
- "terminal": {
664
- "$type": "RuleCall",
665
- "rule": {
666
- "$ref": "#/rules@16"
667
- },
668
- "arguments": []
669
- }
670
- }
671
- ]
672
- },
673
- "entry": false,
674
- "fragment": false,
675
- "parameters": []
676
- },
677
- {
678
- "$type": "ParserRule",
679
- "name": "CodeSnippet",
680
- "definition": {
681
- "$type": "Assignment",
682
- "feature": "raw",
683
- "operator": "=",
684
- "terminal": {
685
- "$type": "RuleCall",
686
- "rule": {
687
- "$ref": "#/rules@65"
688
- },
689
- "arguments": []
690
- }
691
- },
692
- "entry": false,
693
- "fragment": false,
694
- "parameters": []
695
- },
696
- {
697
- "$type": "ParserRule",
698
- "name": "OneLinerText",
699
- "dataType": "string",
700
- "definition": {
701
- "$type": "Alternatives",
702
- "elements": [
703
- {
704
- "$type": "RuleCall",
705
- "rule": {
706
- "$ref": "#/rules@62"
707
- },
708
- "arguments": []
709
- },
710
- {
711
- "$type": "RuleCall",
712
- "rule": {
713
- "$ref": "#/rules@59"
714
- },
715
- "arguments": []
716
- },
717
- {
718
- "$type": "RuleCall",
719
- "rule": {
720
- "$ref": "#/rules@61"
721
- },
722
- "arguments": []
723
- },
724
- {
725
- "$type": "RuleCall",
726
- "rule": {
727
- "$ref": "#/rules@64"
728
- },
729
- "arguments": []
730
- },
731
- {
732
- "$type": "RuleCall",
733
- "rule": {
734
- "$ref": "#/rules@63"
735
- },
736
- "arguments": []
737
- },
738
- {
739
- "$type": "RuleCall",
740
- "rule": {
741
- "$ref": "#/rules@17"
742
- },
743
- "arguments": []
744
- },
745
- {
746
- "$type": "Keyword",
747
- "value": "("
748
- },
749
- {
750
- "$type": "Keyword",
751
- "value": ")"
752
- },
753
- {
754
- "$type": "Keyword",
755
- "value": "|"
756
- },
757
- {
758
- "$type": "Keyword",
759
- "value": "from"
760
- },
761
- {
762
- "$type": "Keyword",
763
- "value": "import"
764
- },
765
- {
766
- "$type": "Keyword",
767
- "value": "as"
768
- },
769
- {
770
- "$type": "Keyword",
771
- "value": "\`"
772
- }
773
- ]
774
- },
775
- "entry": false,
776
- "fragment": false,
777
- "parameters": []
778
- },
779
- {
780
- "$type": "ParserRule",
781
- "name": "PlainText",
782
- "dataType": "string",
783
- "definition": {
784
- "$type": "Alternatives",
785
- "elements": [
786
- {
787
- "$type": "RuleCall",
788
- "rule": {
789
- "$ref": "#/rules@62"
790
- },
791
- "arguments": []
792
- },
793
- {
794
- "$type": "RuleCall",
795
- "rule": {
796
- "$ref": "#/rules@59"
797
- },
798
- "arguments": []
799
- },
800
- {
801
- "$type": "RuleCall",
802
- "rule": {
803
- "$ref": "#/rules@61"
804
- },
805
- "arguments": []
806
- },
807
- {
808
- "$type": "RuleCall",
809
- "rule": {
810
- "$ref": "#/rules@63"
811
- },
812
- "arguments": []
813
- },
814
- {
815
- "$type": "RuleCall",
816
- "rule": {
817
- "$ref": "#/rules@17"
818
- },
819
- "arguments": []
820
- },
821
- {
822
- "$type": "Keyword",
823
- "value": "["
824
- },
825
- {
826
- "$type": "Keyword",
827
- "value": "]"
828
- },
829
- {
830
- "$type": "Keyword",
831
- "value": "|"
832
- },
833
- {
834
- "$type": "Keyword",
835
- "value": "from"
836
- },
837
- {
838
- "$type": "Keyword",
839
- "value": "import"
840
- },
841
- {
842
- "$type": "Keyword",
843
- "value": "as"
844
- },
845
- {
846
- "$type": "Keyword",
847
- "value": "\`"
848
- }
849
- ]
850
- },
851
- "entry": false,
852
- "fragment": false,
853
- "parameters": []
854
- },
855
- {
856
- "$type": "ParserRule",
857
- "name": "PlainPunctuation",
858
- "dataType": "string",
859
- "definition": {
860
- "$type": "Alternatives",
861
- "elements": [
862
- {
863
- "$type": "Keyword",
864
- "value": "."
865
- },
866
- {
867
- "$type": "Keyword",
868
- "value": ","
869
- },
870
- {
871
- "$type": "Keyword",
872
- "value": ":"
873
- },
874
- {
875
- "$type": "Keyword",
876
- "value": ";"
877
- },
878
- {
879
- "$type": "Keyword",
880
- "value": "!"
881
- },
882
- {
883
- "$type": "Keyword",
884
- "value": "?"
885
- },
886
- {
887
- "$type": "Keyword",
888
- "value": "-"
889
- }
890
- ]
891
- },
892
- "entry": false,
893
- "fragment": false,
894
- "parameters": []
895
- },
896
- {
897
- "$type": "ParserRule",
898
- "name": "Attribute",
899
- "definition": {
900
- "$type": "Group",
901
- "elements": [
902
- {
903
- "$type": "Keyword",
904
- "value": "@"
905
- },
906
- {
907
- "$type": "Assignment",
908
- "feature": "name",
909
- "operator": "=",
910
- "terminal": {
911
- "$type": "RuleCall",
912
- "rule": {
913
- "$ref": "#/rules@59"
914
- },
915
- "arguments": []
916
- }
917
- },
918
- {
919
- "$type": "Alternatives",
920
- "elements": [
921
- {
922
- "$type": "Assignment",
923
- "feature": "negated",
924
- "operator": "?=",
925
- "terminal": {
926
- "$type": "Keyword",
927
- "value": "!"
928
- }
929
- },
930
- {
931
- "$type": "Group",
932
- "elements": [
933
- {
934
- "$type": "Keyword",
935
- "value": ":"
936
- },
937
- {
938
- "$type": "Assignment",
939
- "feature": "value",
940
- "operator": "=",
941
- "terminal": {
942
- "$type": "RuleCall",
943
- "rule": {
944
- "$ref": "#/rules@19"
945
- },
946
- "arguments": []
947
- }
948
- }
949
- ]
950
- },
951
- {
952
- "$type": "Assignment",
953
- "feature": "value",
954
- "operator": "=",
955
- "terminal": {
956
- "$type": "RuleCall",
957
- "rule": {
958
- "$ref": "#/rules@19"
959
- },
960
- "arguments": []
961
- }
962
- }
963
- ],
964
- "cardinality": "?"
965
- }
966
- ]
967
- },
968
- "entry": false,
969
- "fragment": false,
970
- "parameters": []
971
- },
972
- {
973
- "$type": "ParserRule",
974
- "name": "AttributeValue",
975
- "definition": {
976
- "$type": "Alternatives",
977
- "elements": [
978
- {
979
- "$type": "RuleCall",
980
- "rule": {
981
- "$ref": "#/rules@24"
982
- },
983
- "arguments": []
984
- },
985
- {
986
- "$type": "RuleCall",
987
- "rule": {
988
- "$ref": "#/rules@27"
989
- },
990
- "arguments": []
991
- },
992
- {
993
- "$type": "RuleCall",
994
- "rule": {
995
- "$ref": "#/rules@20"
996
- },
997
- "arguments": []
998
- }
999
- ]
1000
- },
1001
- "entry": false,
1002
- "fragment": false,
1003
- "parameters": []
1004
- },
1005
- {
1006
- "$type": "ParserRule",
1007
- "name": "ScalarValue",
1008
- "definition": {
1009
- "$type": "Group",
1010
- "elements": [
1011
- {
1012
- "$type": "Assignment",
1013
- "feature": "parts",
1014
- "operator": "+=",
1015
- "terminal": {
1016
- "$type": "RuleCall",
1017
- "rule": {
1018
- "$ref": "#/rules@21"
1019
- },
1020
- "arguments": []
1021
- }
1022
- },
1023
- {
1024
- "$type": "Assignment",
1025
- "feature": "parts",
1026
- "operator": "+=",
1027
- "terminal": {
1028
- "$type": "RuleCall",
1029
- "rule": {
1030
- "$ref": "#/rules@13"
1031
- },
1032
- "arguments": []
1033
- },
1034
- "cardinality": "*"
1035
- }
1036
- ]
1037
- },
1038
- "entry": false,
1039
- "fragment": false,
1040
- "parameters": []
1041
- },
1042
- {
1043
- "$type": "ParserRule",
1044
- "name": "NonBangInlineTextPart",
1045
- "definition": {
1046
- "$type": "Alternatives",
1047
- "elements": [
1048
- {
1049
- "$type": "RuleCall",
1050
- "rule": {
1051
- "$ref": "#/rules@37"
1052
- },
1053
- "arguments": []
1054
- },
1055
- {
1056
- "$type": "RuleCall",
1057
- "rule": {
1058
- "$ref": "#/rules@38"
1059
- },
1060
- "arguments": []
1061
- },
1062
- {
1063
- "$type": "RuleCall",
1064
- "rule": {
1065
- "$ref": "#/rules@40"
1066
- },
1067
- "arguments": []
1068
- },
1069
- {
1070
- "$type": "Assignment",
1071
- "feature": "inlineCode",
1072
- "operator": "=",
1073
- "terminal": {
1074
- "$type": "RuleCall",
1075
- "rule": {
1076
- "$ref": "#/rules@64"
1077
- },
1078
- "arguments": []
1079
- }
1080
- },
1081
- {
1082
- "$type": "Assignment",
1083
- "feature": "text",
1084
- "operator": "=",
1085
- "terminal": {
1086
- "$type": "RuleCall",
1087
- "rule": {
1088
- "$ref": "#/rules@22"
1089
- },
1090
- "arguments": []
1091
- }
1092
- }
1093
- ]
1094
- },
1095
- "entry": false,
1096
- "fragment": false,
1097
- "parameters": []
1098
- },
1099
- {
1100
- "$type": "ParserRule",
1101
- "name": "NonBangPlainText",
1102
- "dataType": "string",
1103
- "definition": {
1104
- "$type": "Alternatives",
1105
- "elements": [
1106
- {
1107
- "$type": "RuleCall",
1108
- "rule": {
1109
- "$ref": "#/rules@62"
1110
- },
1111
- "arguments": []
1112
- },
1113
- {
1114
- "$type": "RuleCall",
1115
- "rule": {
1116
- "$ref": "#/rules@59"
1117
- },
1118
- "arguments": []
1119
- },
1120
- {
1121
- "$type": "RuleCall",
1122
- "rule": {
1123
- "$ref": "#/rules@61"
1124
- },
1125
- "arguments": []
1126
- },
1127
- {
1128
- "$type": "RuleCall",
1129
- "rule": {
1130
- "$ref": "#/rules@63"
1131
- },
1132
- "arguments": []
1133
- },
1134
- {
1135
- "$type": "RuleCall",
1136
- "rule": {
1137
- "$ref": "#/rules@23"
1138
- },
1139
- "arguments": []
1140
- },
1141
- {
1142
- "$type": "Keyword",
1143
- "value": "["
1144
- },
1145
- {
1146
- "$type": "Keyword",
1147
- "value": "]"
1148
- },
1149
- {
1150
- "$type": "Keyword",
1151
- "value": "|"
1152
- },
1153
- {
1154
- "$type": "Keyword",
1155
- "value": "from"
1156
- },
1157
- {
1158
- "$type": "Keyword",
1159
- "value": "import"
1160
- },
1161
- {
1162
- "$type": "Keyword",
1163
- "value": "as"
1164
- },
1165
- {
1166
- "$type": "Keyword",
1167
- "value": "\`"
1168
- }
1169
- ]
1170
- },
1171
- "entry": false,
1172
- "fragment": false,
1173
- "parameters": []
1174
- },
1175
- {
1176
- "$type": "ParserRule",
1177
- "name": "NonBangPunctuation",
1178
- "dataType": "string",
1179
- "definition": {
1180
- "$type": "Alternatives",
1181
- "elements": [
1182
- {
1183
- "$type": "Keyword",
1184
- "value": "."
1185
- },
1186
- {
1187
- "$type": "Keyword",
1188
- "value": ","
1189
- },
1190
- {
1191
- "$type": "Keyword",
1192
- "value": ";"
1193
- },
1194
- {
1195
- "$type": "Keyword",
1196
- "value": "?"
1197
- },
1198
- {
1199
- "$type": "Keyword",
1200
- "value": "-"
1201
- }
1202
- ]
1203
- },
1204
- "entry": false,
1205
- "fragment": false,
1206
- "parameters": []
1207
- },
1208
- {
1209
- "$type": "ParserRule",
1210
- "name": "BlockValue",
1211
- "definition": {
1212
- "$type": "Group",
1213
- "elements": [
1214
- {
1215
- "$type": "Keyword",
1216
- "value": "{"
1217
- },
1218
- {
1219
- "$type": "Group",
1220
- "elements": [
1221
- {
1222
- "$type": "RuleCall",
1223
- "rule": {
1224
- "$ref": "#/rules@54"
1225
- },
1226
- "arguments": [],
1227
- "cardinality": "*"
1228
- },
1229
- {
1230
- "$type": "Assignment",
1231
- "feature": "elements",
1232
- "operator": "+=",
1233
- "terminal": {
1234
- "$type": "RuleCall",
1235
- "rule": {
1236
- "$ref": "#/rules@25"
1237
- },
1238
- "arguments": []
1239
- }
1240
- }
1241
- ],
1242
- "cardinality": "*"
1243
- },
1244
- {
1245
- "$type": "RuleCall",
1246
- "rule": {
1247
- "$ref": "#/rules@54"
1248
- },
1249
- "arguments": [],
1250
- "cardinality": "*"
1251
- },
1252
- {
1253
- "$type": "Keyword",
1254
- "value": "}"
1255
- }
1256
- ]
1257
- },
1258
- "entry": false,
1259
- "fragment": false,
1260
- "parameters": []
1261
- },
1262
- {
1263
- "$type": "ParserRule",
1264
- "name": "BlockElement",
1265
- "definition": {
1266
- "$type": "Alternatives",
1267
- "elements": [
1268
- {
1269
- "$type": "RuleCall",
1270
- "rule": {
1271
- "$ref": "#/rules@18"
1272
- },
1273
- "arguments": []
1274
- },
1275
- {
1276
- "$type": "RuleCall",
1277
- "rule": {
1278
- "$ref": "#/rules@14"
1279
- },
1280
- "arguments": []
1281
- },
1282
- {
1283
- "$type": "RuleCall",
1284
- "rule": {
1285
- "$ref": "#/rules@28"
1286
- },
1287
- "arguments": []
1288
- },
1289
- {
1290
- "$type": "RuleCall",
1291
- "rule": {
1292
- "$ref": "#/rules@29"
1293
- },
1294
- "arguments": []
1295
- },
1296
- {
1297
- "$type": "RuleCall",
1298
- "rule": {
1299
- "$ref": "#/rules@26"
1300
- },
1301
- "arguments": []
1302
- }
1303
- ]
1304
- },
1305
- "entry": false,
1306
- "fragment": false,
1307
- "parameters": []
1308
- },
1309
- {
1310
- "$type": "ParserRule",
1311
- "name": "BlockLine",
1312
- "definition": {
1313
- "$type": "Assignment",
1314
- "feature": "parts",
1315
- "operator": "+=",
1316
- "terminal": {
1317
- "$type": "RuleCall",
1318
- "rule": {
1319
- "$ref": "#/rules@12"
1320
- },
1321
- "arguments": []
1322
- },
1323
- "cardinality": "+"
1324
- },
1325
- "entry": false,
1326
- "fragment": false,
1327
- "parameters": []
1328
- },
1329
- {
1330
- "$type": "ParserRule",
1331
- "name": "ListValue",
1332
- "definition": {
1333
- "$type": "Group",
1334
- "elements": [
1335
- {
1336
- "$type": "Keyword",
1337
- "value": "("
1338
- },
1339
- {
1340
- "$type": "RuleCall",
1341
- "rule": {
1342
- "$ref": "#/rules@54"
1343
- },
1344
- "arguments": [],
1345
- "cardinality": "*"
1346
- },
1347
- {
1348
- "$type": "Assignment",
1349
- "feature": "items",
1350
- "operator": "+=",
1351
- "terminal": {
1352
- "$type": "RuleCall",
1353
- "rule": {
1354
- "$ref": "#/rules@30"
1355
- },
1356
- "arguments": []
1357
- }
1358
- },
1359
- {
1360
- "$type": "Group",
1361
- "elements": [
1362
- {
1363
- "$type": "Alternatives",
1364
- "elements": [
1365
- {
1366
- "$type": "Group",
1367
- "elements": [
1368
- {
1369
- "$type": "RuleCall",
1370
- "rule": {
1371
- "$ref": "#/rules@54"
1372
- },
1373
- "arguments": [],
1374
- "cardinality": "*"
1375
- },
1376
- {
1377
- "$type": "Keyword",
1378
- "value": ","
1379
- },
1380
- {
1381
- "$type": "RuleCall",
1382
- "rule": {
1383
- "$ref": "#/rules@54"
1384
- },
1385
- "arguments": [],
1386
- "cardinality": "*"
1387
- }
1388
- ]
1389
- },
1390
- {
1391
- "$type": "RuleCall",
1392
- "rule": {
1393
- "$ref": "#/rules@54"
1394
- },
1395
- "arguments": [],
1396
- "cardinality": "+"
1397
- }
1398
- ]
1399
- },
1400
- {
1401
- "$type": "Assignment",
1402
- "feature": "items",
1403
- "operator": "+=",
1404
- "terminal": {
1405
- "$type": "RuleCall",
1406
- "rule": {
1407
- "$ref": "#/rules@30"
1408
- },
1409
- "arguments": []
1410
- }
1411
- }
1412
- ],
1413
- "cardinality": "*"
1414
- },
1415
- {
1416
- "$type": "RuleCall",
1417
- "rule": {
1418
- "$ref": "#/rules@54"
1419
- },
1420
- "arguments": [],
1421
- "cardinality": "*"
1422
- },
1423
- {
1424
- "$type": "Group",
1425
- "elements": [
1426
- {
1427
- "$type": "Keyword",
1428
- "value": ","
1429
- },
1430
- {
1431
- "$type": "RuleCall",
1432
- "rule": {
1433
- "$ref": "#/rules@54"
1434
- },
1435
- "arguments": [],
1436
- "cardinality": "*"
1437
- }
1438
- ],
1439
- "cardinality": "?"
1440
- },
1441
- {
1442
- "$type": "Keyword",
1443
- "value": ")"
1444
- }
1445
- ]
1446
- },
1447
- "entry": false,
1448
- "fragment": false,
1449
- "parameters": []
1450
- },
1451
- {
1452
- "$type": "ParserRule",
1453
- "name": "NamedList",
1454
- "definition": {
1455
- "$type": "Group",
1456
- "elements": [
1457
- {
1458
- "$type": "Assignment",
1459
- "feature": "label",
1460
- "operator": "=",
1461
- "terminal": {
1462
- "$type": "RuleCall",
1463
- "rule": {
1464
- "$ref": "#/rules@59"
1465
- },
1466
- "arguments": []
1467
- }
1468
- },
1469
- {
1470
- "$type": "Keyword",
1471
- "value": "("
1472
- },
1473
- {
1474
- "$type": "RuleCall",
1475
- "rule": {
1476
- "$ref": "#/rules@54"
1477
- },
1478
- "arguments": [],
1479
- "cardinality": "+"
1480
- },
1481
- {
1482
- "$type": "Assignment",
1483
- "feature": "items",
1484
- "operator": "+=",
1485
- "terminal": {
1486
- "$type": "RuleCall",
1487
- "rule": {
1488
- "$ref": "#/rules@30"
1489
- },
1490
- "arguments": []
1491
- }
1492
- },
1493
- {
1494
- "$type": "Group",
1495
- "elements": [
1496
- {
1497
- "$type": "Alternatives",
1498
- "elements": [
1499
- {
1500
- "$type": "Group",
1501
- "elements": [
1502
- {
1503
- "$type": "RuleCall",
1504
- "rule": {
1505
- "$ref": "#/rules@54"
1506
- },
1507
- "arguments": [],
1508
- "cardinality": "*"
1509
- },
1510
- {
1511
- "$type": "Keyword",
1512
- "value": ","
1513
- },
1514
- {
1515
- "$type": "RuleCall",
1516
- "rule": {
1517
- "$ref": "#/rules@54"
1518
- },
1519
- "arguments": [],
1520
- "cardinality": "*"
1521
- }
1522
- ]
1523
- },
1524
- {
1525
- "$type": "RuleCall",
1526
- "rule": {
1527
- "$ref": "#/rules@54"
1528
- },
1529
- "arguments": [],
1530
- "cardinality": "+"
1531
- }
1532
- ]
1533
- },
1534
- {
1535
- "$type": "Assignment",
1536
- "feature": "items",
1537
- "operator": "+=",
1538
- "terminal": {
1539
- "$type": "RuleCall",
1540
- "rule": {
1541
- "$ref": "#/rules@30"
1542
- },
1543
- "arguments": []
1544
- }
1545
- }
1546
- ],
1547
- "cardinality": "*"
1548
- },
1549
- {
1550
- "$type": "RuleCall",
1551
- "rule": {
1552
- "$ref": "#/rules@54"
1553
- },
1554
- "arguments": [],
1555
- "cardinality": "*"
1556
- },
1557
- {
1558
- "$type": "Group",
1559
- "elements": [
1560
- {
1561
- "$type": "Keyword",
1562
- "value": ","
1563
- },
1564
- {
1565
- "$type": "RuleCall",
1566
- "rule": {
1567
- "$ref": "#/rules@54"
1568
- },
1569
- "arguments": [],
1570
- "cardinality": "*"
1571
- }
1572
- ],
1573
- "cardinality": "?"
1574
- },
1575
- {
1576
- "$type": "Keyword",
1577
- "value": ")"
1578
- }
1579
- ]
1580
- },
1581
- "entry": false,
1582
- "fragment": false,
1583
- "parameters": []
1584
- },
1585
- {
1586
- "$type": "ParserRule",
1587
- "name": "NestedList",
1588
- "definition": {
1589
- "$type": "Group",
1590
- "elements": [
1591
- {
1592
- "$type": "Keyword",
1593
- "value": "("
1594
- },
1595
- {
1596
- "$type": "RuleCall",
1597
- "rule": {
1598
- "$ref": "#/rules@54"
1599
- },
1600
- "arguments": [],
1601
- "cardinality": "+"
1602
- },
1603
- {
1604
- "$type": "Assignment",
1605
- "feature": "items",
1606
- "operator": "+=",
1607
- "terminal": {
1608
- "$type": "RuleCall",
1609
- "rule": {
1610
- "$ref": "#/rules@30"
1611
- },
1612
- "arguments": []
1613
- }
1614
- },
1615
- {
1616
- "$type": "Group",
1617
- "elements": [
1618
- {
1619
- "$type": "Alternatives",
1620
- "elements": [
1621
- {
1622
- "$type": "Group",
1623
- "elements": [
1624
- {
1625
- "$type": "RuleCall",
1626
- "rule": {
1627
- "$ref": "#/rules@54"
1628
- },
1629
- "arguments": [],
1630
- "cardinality": "*"
1631
- },
1632
- {
1633
- "$type": "Keyword",
1634
- "value": ","
1635
- },
1636
- {
1637
- "$type": "RuleCall",
1638
- "rule": {
1639
- "$ref": "#/rules@54"
1640
- },
1641
- "arguments": [],
1642
- "cardinality": "*"
1643
- }
1644
- ]
1645
- },
1646
- {
1647
- "$type": "RuleCall",
1648
- "rule": {
1649
- "$ref": "#/rules@54"
1650
- },
1651
- "arguments": [],
1652
- "cardinality": "+"
1653
- }
1654
- ]
1655
- },
1656
- {
1657
- "$type": "Assignment",
1658
- "feature": "items",
1659
- "operator": "+=",
1660
- "terminal": {
1661
- "$type": "RuleCall",
1662
- "rule": {
1663
- "$ref": "#/rules@30"
1664
- },
1665
- "arguments": []
1666
- }
1667
- }
1668
- ],
1669
- "cardinality": "*"
1670
- },
1671
- {
1672
- "$type": "RuleCall",
1673
- "rule": {
1674
- "$ref": "#/rules@54"
1675
- },
1676
- "arguments": [],
1677
- "cardinality": "*"
1678
- },
1679
- {
1680
- "$type": "Group",
1681
- "elements": [
1682
- {
1683
- "$type": "Keyword",
1684
- "value": ","
1685
- },
1686
- {
1687
- "$type": "RuleCall",
1688
- "rule": {
1689
- "$ref": "#/rules@54"
1690
- },
1691
- "arguments": [],
1692
- "cardinality": "*"
1693
- }
1694
- ],
1695
- "cardinality": "?"
1696
- },
1697
- {
1698
- "$type": "Keyword",
1699
- "value": ")"
1700
- }
1701
- ]
1702
- },
1703
- "entry": false,
1704
- "fragment": false,
1705
- "parameters": []
1706
- },
1707
- {
1708
- "$type": "ParserRule",
1709
- "name": "ListItem",
1710
- "definition": {
1711
- "$type": "Alternatives",
1712
- "elements": [
1713
- {
1714
- "$type": "RuleCall",
1715
- "rule": {
1716
- "$ref": "#/rules@31"
1717
- },
1718
- "arguments": []
1719
- },
1720
- {
1721
- "$type": "RuleCall",
1722
- "rule": {
1723
- "$ref": "#/rules@36"
1724
- },
1725
- "arguments": []
1726
- },
1727
- {
1728
- "$type": "RuleCall",
1729
- "rule": {
1730
- "$ref": "#/rules@35"
1731
- },
1732
- "arguments": []
1733
- },
1734
- {
1735
- "$type": "RuleCall",
1736
- "rule": {
1737
- "$ref": "#/rules@29"
1738
- },
1739
- "arguments": []
1740
- }
1741
- ]
1742
- },
1743
- "entry": false,
1744
- "fragment": false,
1745
- "parameters": []
1746
- },
1747
- {
1748
- "$type": "ParserRule",
1749
- "name": "OneLinerListItem",
1750
- "definition": {
1751
- "$type": "Assignment",
1752
- "feature": "body",
1753
- "operator": "=",
1754
- "terminal": {
1755
- "$type": "RuleCall",
1756
- "rule": {
1757
- "$ref": "#/rules@32"
1758
- },
1759
- "arguments": []
1760
- }
1761
- },
1762
- "entry": false,
1763
- "fragment": false,
1764
- "parameters": []
1765
- },
1766
- {
1767
- "$type": "ParserRule",
1768
- "name": "ListItemBody",
1769
- "definition": {
1770
- "$type": "Assignment",
1771
- "feature": "content",
1772
- "operator": "+=",
1773
- "terminal": {
1774
- "$type": "Alternatives",
1775
- "elements": [
1776
- {
1777
- "$type": "RuleCall",
1778
- "rule": {
1779
- "$ref": "#/rules@37"
1780
- },
1781
- "arguments": []
1782
- },
1783
- {
1784
- "$type": "RuleCall",
1785
- "rule": {
1786
- "$ref": "#/rules@40"
1787
- },
1788
- "arguments": []
1789
- },
1790
- {
1791
- "$type": "RuleCall",
1792
- "rule": {
1793
- "$ref": "#/rules@38"
1794
- },
1795
- "arguments": []
1796
- },
1797
- {
1798
- "$type": "RuleCall",
1799
- "rule": {
1800
- "$ref": "#/rules@33"
1801
- },
1802
- "arguments": []
1803
- }
1804
- ]
1805
- },
1806
- "cardinality": "+"
1807
- },
1808
- "entry": false,
1809
- "fragment": false,
1810
- "parameters": []
1811
- },
1812
- {
1813
- "$type": "ParserRule",
1814
- "name": "ListItemText",
1815
- "dataType": "string",
1816
- "definition": {
1817
- "$type": "Alternatives",
1818
- "elements": [
1819
- {
1820
- "$type": "RuleCall",
1821
- "rule": {
1822
- "$ref": "#/rules@62"
1823
- },
1824
- "arguments": []
1825
- },
1826
- {
1827
- "$type": "RuleCall",
1828
- "rule": {
1829
- "$ref": "#/rules@59"
1830
- },
1831
- "arguments": []
1832
- },
1833
- {
1834
- "$type": "RuleCall",
1835
- "rule": {
1836
- "$ref": "#/rules@61"
1837
- },
1838
- "arguments": []
1839
- },
1840
- {
1841
- "$type": "RuleCall",
1842
- "rule": {
1843
- "$ref": "#/rules@64"
1844
- },
1845
- "arguments": []
1846
- },
1847
- {
1848
- "$type": "RuleCall",
1849
- "rule": {
1850
- "$ref": "#/rules@63"
1851
- },
1852
- "arguments": []
1853
- },
1854
- {
1855
- "$type": "RuleCall",
1856
- "rule": {
1857
- "$ref": "#/rules@34"
1858
- },
1859
- "arguments": []
1860
- },
1861
- {
1862
- "$type": "Keyword",
1863
- "value": "("
1864
- },
1865
- {
1866
- "$type": "Keyword",
1867
- "value": "|"
1868
- },
1869
- {
1870
- "$type": "Keyword",
1871
- "value": "from"
1872
- },
1873
- {
1874
- "$type": "Keyword",
1875
- "value": "import"
1876
- },
1877
- {
1878
- "$type": "Keyword",
1879
- "value": "as"
1880
- },
1881
- {
1882
- "$type": "Keyword",
1883
- "value": "\`"
1884
- }
1885
- ]
1886
- },
1887
- "entry": false,
1888
- "fragment": false,
1889
- "parameters": []
1890
- },
1891
- {
1892
- "$type": "ParserRule",
1893
- "name": "ListItemPunctuation",
1894
- "dataType": "string",
1895
- "definition": {
1896
- "$type": "Alternatives",
1897
- "elements": [
1898
- {
1899
- "$type": "Keyword",
1900
- "value": "."
1901
- },
1902
- {
1903
- "$type": "Keyword",
1904
- "value": ":"
1905
- },
1906
- {
1907
- "$type": "Keyword",
1908
- "value": ";"
1909
- },
1910
- {
1911
- "$type": "Keyword",
1912
- "value": "!"
1913
- },
1914
- {
1915
- "$type": "Keyword",
1916
- "value": "?"
1917
- },
1918
- {
1919
- "$type": "Keyword",
1920
- "value": "-"
1921
- }
1922
- ]
1923
- },
1924
- "entry": false,
1925
- "fragment": false,
1926
- "parameters": []
1927
- },
1928
- {
1929
- "$type": "ParserRule",
1930
- "name": "NamedBlockListItem",
1931
- "definition": {
1932
- "$type": "Group",
1933
- "elements": [
1934
- {
1935
- "$type": "Assignment",
1936
- "feature": "name",
1937
- "operator": "=",
1938
- "terminal": {
1939
- "$type": "RuleCall",
1940
- "rule": {
1941
- "$ref": "#/rules@59"
1942
- },
1943
- "arguments": []
1944
- }
1945
- },
1946
- {
1947
- "$type": "Keyword",
1948
- "value": "{"
1949
- },
1950
- {
1951
- "$type": "Group",
1952
- "elements": [
1953
- {
1954
- "$type": "RuleCall",
1955
- "rule": {
1956
- "$ref": "#/rules@54"
1957
- },
1958
- "arguments": [],
1959
- "cardinality": "*"
1960
- },
1961
- {
1962
- "$type": "Assignment",
1963
- "feature": "elements",
1964
- "operator": "+=",
1965
- "terminal": {
1966
- "$type": "RuleCall",
1967
- "rule": {
1968
- "$ref": "#/rules@10"
1969
- },
1970
- "arguments": []
1971
- }
1972
- }
1973
- ],
1974
- "cardinality": "*"
1975
- },
1976
- {
1977
- "$type": "RuleCall",
1978
- "rule": {
1979
- "$ref": "#/rules@54"
1980
- },
1981
- "arguments": [],
1982
- "cardinality": "*"
1983
- },
1984
- {
1985
- "$type": "Keyword",
1986
- "value": "}"
1987
- }
1988
- ]
1989
- },
1990
- "entry": false,
1991
- "fragment": false,
1992
- "parameters": []
1993
- },
1994
- {
1995
- "$type": "ParserRule",
1996
- "name": "AnonymousBlock",
1997
- "definition": {
1998
- "$type": "Group",
1999
- "elements": [
2000
- {
2001
- "$type": "Keyword",
2002
- "value": "{"
2003
- },
2004
- {
2005
- "$type": "Group",
2006
- "elements": [
2007
- {
2008
- "$type": "RuleCall",
2009
- "rule": {
2010
- "$ref": "#/rules@54"
2011
- },
2012
- "arguments": [],
2013
- "cardinality": "*"
2014
- },
2015
- {
2016
- "$type": "Assignment",
2017
- "feature": "elements",
2018
- "operator": "+=",
2019
- "terminal": {
2020
- "$type": "RuleCall",
2021
- "rule": {
2022
- "$ref": "#/rules@10"
2023
- },
2024
- "arguments": []
2025
- }
2026
- }
2027
- ],
2028
- "cardinality": "*"
2029
- },
2030
- {
2031
- "$type": "RuleCall",
2032
- "rule": {
2033
- "$ref": "#/rules@54"
2034
- },
2035
- "arguments": [],
2036
- "cardinality": "*"
2037
- },
2038
- {
2039
- "$type": "Keyword",
2040
- "value": "}"
2041
- }
2042
- ]
2043
- },
2044
- "entry": false,
2045
- "fragment": false,
2046
- "parameters": []
2047
- },
2048
- {
2049
- "$type": "ParserRule",
2050
- "name": "MarkdownLink",
2051
- "definition": {
2052
- "$type": "Assignment",
2053
- "feature": "raw",
2054
- "operator": "=",
2055
- "terminal": {
2056
- "$type": "RuleCall",
2057
- "rule": {
2058
- "$ref": "#/rules@58"
2059
- },
2060
- "arguments": []
2061
- }
2062
- },
2063
- "entry": false,
2064
- "fragment": false,
2065
- "parameters": []
2066
- },
2067
- {
2068
- "$type": "ParserRule",
2069
- "name": "WikiLink",
2070
- "definition": {
2071
- "$type": "Group",
2072
- "elements": [
2073
- {
2074
- "$type": "Keyword",
2075
- "value": "[["
2076
- },
2077
- {
2078
- "$type": "Assignment",
2079
- "feature": "target",
2080
- "operator": "=",
2081
- "terminal": {
2082
- "$type": "RuleCall",
2083
- "rule": {
2084
- "$ref": "#/rules@41"
2085
- },
2086
- "arguments": []
2087
- }
2088
- },
2089
- {
2090
- "$type": "Group",
2091
- "elements": [
2092
- {
2093
- "$type": "Keyword",
2094
- "value": "|"
2095
- },
2096
- {
2097
- "$type": "Assignment",
2098
- "feature": "alias",
2099
- "operator": "+=",
2100
- "terminal": {
2101
- "$type": "RuleCall",
2102
- "rule": {
2103
- "$ref": "#/rules@39"
2104
- },
2105
- "arguments": []
2106
- },
2107
- "cardinality": "+"
2108
- }
2109
- ],
2110
- "cardinality": "?"
2111
- },
2112
- {
2113
- "$type": "Keyword",
2114
- "value": "]]"
2115
- }
2116
- ]
2117
- },
2118
- "entry": false,
2119
- "fragment": false,
2120
- "parameters": []
2121
- },
2122
- {
2123
- "$type": "ParserRule",
2124
- "name": "AliasPart",
2125
- "definition": {
2126
- "$type": "Assignment",
2127
- "feature": "text",
2128
- "operator": "=",
2129
- "terminal": {
2130
- "$type": "RuleCall",
2131
- "rule": {
2132
- "$ref": "#/rules@16"
2133
- },
2134
- "arguments": []
2135
- }
2136
- },
2137
- "entry": false,
2138
- "fragment": false,
2139
- "parameters": []
2140
- },
2141
- {
2142
- "$type": "ParserRule",
2143
- "name": "BracketReference",
2144
- "definition": {
2145
- "$type": "Group",
2146
- "elements": [
2147
- {
2148
- "$type": "Keyword",
2149
- "value": "["
2150
- },
2151
- {
2152
- "$type": "Assignment",
2153
- "feature": "target",
2154
- "operator": "=",
2155
- "terminal": {
2156
- "$type": "RuleCall",
2157
- "rule": {
2158
- "$ref": "#/rules@41"
2159
- },
2160
- "arguments": []
2161
- }
2162
- },
2163
- {
2164
- "$type": "Keyword",
2165
- "value": "]"
2166
- }
2167
- ]
2168
- },
2169
- "entry": false,
2170
- "fragment": false,
2171
- "parameters": []
2172
- },
2173
- {
2174
- "$type": "ParserRule",
2175
- "name": "ReferenceTarget",
2176
- "definition": {
2177
- "$type": "Alternatives",
2178
- "elements": [
2179
- {
2180
- "$type": "RuleCall",
2181
- "rule": {
2182
- "$ref": "#/rules@44"
2183
- },
2184
- "arguments": []
2185
- },
2186
- {
2187
- "$type": "RuleCall",
2188
- "rule": {
2189
- "$ref": "#/rules@43"
2190
- },
2191
- "arguments": []
2192
- },
2193
- {
2194
- "$type": "RuleCall",
2195
- "rule": {
2196
- "$ref": "#/rules@42"
2197
- },
2198
- "arguments": []
2199
- },
2200
- {
2201
- "$type": "RuleCall",
2202
- "rule": {
2203
- "$ref": "#/rules@45"
2204
- },
2205
- "arguments": []
2206
- }
2207
- ]
2208
- },
2209
- "entry": false,
2210
- "fragment": false,
2211
- "parameters": []
2212
- },
2213
- {
2214
- "$type": "ParserRule",
2215
- "name": "FileReference",
2216
- "definition": {
2217
- "$type": "Assignment",
2218
- "feature": "file",
2219
- "operator": "=",
2220
- "terminal": {
2221
- "$type": "RuleCall",
2222
- "rule": {
2223
- "$ref": "#/rules@60"
2224
- },
2225
- "arguments": []
2226
- }
2227
- },
2228
- "entry": false,
2229
- "fragment": false,
2230
- "parameters": []
2231
- },
2232
- {
2233
- "$type": "ParserRule",
2234
- "name": "FileSymbolReference",
2235
- "definition": {
2236
- "$type": "Group",
2237
- "elements": [
2238
- {
2239
- "$type": "Assignment",
2240
- "feature": "file",
2241
- "operator": "=",
2242
- "terminal": {
2243
- "$type": "RuleCall",
2244
- "rule": {
2245
- "$ref": "#/rules@60"
2246
- },
2247
- "arguments": []
2248
- }
2249
- },
2250
- {
2251
- "$type": "Keyword",
2252
- "value": "."
2253
- },
2254
- {
2255
- "$type": "Assignment",
2256
- "feature": "symbols",
2257
- "operator": "+=",
2258
- "terminal": {
2259
- "$type": "RuleCall",
2260
- "rule": {
2261
- "$ref": "#/rules@59"
2262
- },
2263
- "arguments": []
2264
- }
2265
- },
2266
- {
2267
- "$type": "Keyword",
2268
- "value": "."
2269
- },
2270
- {
2271
- "$type": "Assignment",
2272
- "feature": "symbols",
2273
- "operator": "+=",
2274
- "terminal": {
2275
- "$type": "RuleCall",
2276
- "rule": {
2277
- "$ref": "#/rules@59"
2278
- },
2279
- "arguments": []
2280
- }
2281
- },
2282
- {
2283
- "$type": "Keyword",
2284
- "value": "."
2285
- },
2286
- {
2287
- "$type": "Assignment",
2288
- "feature": "symbols",
2289
- "operator": "+=",
2290
- "terminal": {
2291
- "$type": "RuleCall",
2292
- "rule": {
2293
- "$ref": "#/rules@59"
2294
- },
2295
- "arguments": []
2296
- }
2297
- },
2298
- {
2299
- "$type": "Group",
2300
- "elements": [
2301
- {
2302
- "$type": "Keyword",
2303
- "value": "."
2304
- },
2305
- {
2306
- "$type": "Assignment",
2307
- "feature": "symbols",
2308
- "operator": "+=",
2309
- "terminal": {
2310
- "$type": "RuleCall",
2311
- "rule": {
2312
- "$ref": "#/rules@59"
2313
- },
2314
- "arguments": []
2315
- }
2316
- }
2317
- ],
2318
- "cardinality": "*"
2319
- }
2320
- ]
2321
- },
2322
- "entry": false,
2323
- "fragment": false,
2324
- "parameters": []
2325
- },
2326
- {
2327
- "$type": "ParserRule",
2328
- "name": "QualifiedReference",
2329
- "definition": {
2330
- "$type": "Group",
2331
- "elements": [
2332
- {
2333
- "$type": "Alternatives",
2334
- "elements": [
2335
- {
2336
- "$type": "Assignment",
2337
- "feature": "path",
2338
- "operator": "=",
2339
- "terminal": {
2340
- "$type": "CrossReference",
2341
- "type": {
2342
- "$ref": "#/rules@46"
2343
- },
2344
- "terminal": {
2345
- "$type": "RuleCall",
2346
- "rule": {
2347
- "$ref": "#/rules@60"
2348
- },
2349
- "arguments": []
2350
- },
2351
- "deprecatedSyntax": false,
2352
- "isMulti": false
2353
- }
2354
- },
2355
- {
2356
- "$type": "Assignment",
2357
- "feature": "qualifier",
2358
- "operator": "=",
2359
- "terminal": {
2360
- "$type": "CrossReference",
2361
- "type": {
2362
- "$ref": "#/rules@46"
2363
- },
2364
- "terminal": {
2365
- "$type": "RuleCall",
2366
- "rule": {
2367
- "$ref": "#/rules@59"
2368
- },
2369
- "arguments": []
2370
- },
2371
- "deprecatedSyntax": false,
2372
- "isMulti": false
2373
- }
2374
- }
2375
- ]
2376
- },
2377
- {
2378
- "$type": "Keyword",
2379
- "value": "."
2380
- },
2381
- {
2382
- "$type": "Group",
2383
- "elements": [
2384
- {
2385
- "$type": "Assignment",
2386
- "feature": "ideaset",
2387
- "operator": "=",
2388
- "terminal": {
2389
- "$type": "CrossReference",
2390
- "type": {
2391
- "$ref": "#/rules@6"
2392
- },
2393
- "terminal": {
2394
- "$type": "RuleCall",
2395
- "rule": {
2396
- "$ref": "#/rules@9"
2397
- },
2398
- "arguments": []
2399
- },
2400
- "deprecatedSyntax": false,
2401
- "isMulti": false
2402
- }
2403
- },
2404
- {
2405
- "$type": "Keyword",
2406
- "value": "."
2407
- }
2408
- ],
2409
- "cardinality": "?"
2410
- },
2411
- {
2412
- "$type": "Assignment",
2413
- "feature": "idea",
2414
- "operator": "=",
2415
- "terminal": {
2416
- "$type": "CrossReference",
2417
- "type": {
2418
- "$ref": "#/rules@4"
2419
- },
2420
- "terminal": {
2421
- "$type": "RuleCall",
2422
- "rule": {
2423
- "$ref": "#/rules@9"
2424
- },
2425
- "arguments": []
2426
- },
2427
- "deprecatedSyntax": false,
2428
- "isMulti": false
2429
- }
2430
- }
2431
- ]
2432
- },
2433
- "entry": false,
2434
- "fragment": false,
2435
- "parameters": []
2436
- },
2437
- {
2438
- "$type": "ParserRule",
2439
- "name": "LocalReference",
2440
- "definition": {
2441
- "$type": "Assignment",
2442
- "feature": "idea",
2443
- "operator": "=",
2444
- "terminal": {
2445
- "$type": "CrossReference",
2446
- "type": {
2447
- "$ref": "#/rules@4"
2448
- },
2449
- "terminal": {
2450
- "$type": "RuleCall",
2451
- "rule": {
2452
- "$ref": "#/rules@9"
2453
- },
2454
- "arguments": []
2455
- },
2456
- "deprecatedSyntax": false,
2457
- "isMulti": false
2458
- }
2459
- },
2460
- "entry": false,
2461
- "fragment": false,
2462
- "parameters": []
2463
- },
2464
- {
2465
- "$type": "ParserRule",
2466
- "name": "Import",
2467
- "definition": {
2468
- "$type": "Alternatives",
2469
- "elements": [
2470
- {
2471
- "$type": "RuleCall",
2472
- "rule": {
2473
- "$ref": "#/rules@47"
2474
- },
2475
- "arguments": []
2476
- },
2477
- {
2478
- "$type": "RuleCall",
2479
- "rule": {
2480
- "$ref": "#/rules@49"
2481
- },
2482
- "arguments": []
2483
- },
2484
- {
2485
- "$type": "RuleCall",
2486
- "rule": {
2487
- "$ref": "#/rules@50"
2488
- },
2489
- "arguments": []
2490
- },
2491
- {
2492
- "$type": "RuleCall",
2493
- "rule": {
2494
- "$ref": "#/rules@51"
2495
- },
2496
- "arguments": []
2497
- }
2498
- ]
2499
- },
2500
- "entry": false,
2501
- "fragment": false,
2502
- "parameters": []
2503
- },
2504
- {
2505
- "$type": "ParserRule",
2506
- "name": "FromImport",
2507
- "definition": {
2508
- "$type": "Group",
2509
- "elements": [
2510
- {
2511
- "$type": "Keyword",
2512
- "value": "from"
2513
- },
2514
- {
2515
- "$type": "Assignment",
2516
- "feature": "path",
2517
- "operator": "=",
2518
- "terminal": {
2519
- "$type": "RuleCall",
2520
- "rule": {
2521
- "$ref": "#/rules@60"
2522
- },
2523
- "arguments": []
2524
- }
2525
- },
2526
- {
2527
- "$type": "Alternatives",
2528
- "elements": [
2529
- {
2530
- "$type": "Group",
2531
- "elements": [
2532
- {
2533
- "$type": "Keyword",
2534
- "value": "import"
2535
- },
2536
- {
2537
- "$type": "Assignment",
2538
- "feature": "specifiers",
2539
- "operator": "+=",
2540
- "terminal": {
2541
- "$type": "RuleCall",
2542
- "rule": {
2543
- "$ref": "#/rules@48"
2544
- },
2545
- "arguments": []
2546
- }
2547
- },
2548
- {
2549
- "$type": "Group",
2550
- "elements": [
2551
- {
2552
- "$type": "Keyword",
2553
- "value": ","
2554
- },
2555
- {
2556
- "$type": "Assignment",
2557
- "feature": "specifiers",
2558
- "operator": "+=",
2559
- "terminal": {
2560
- "$type": "RuleCall",
2561
- "rule": {
2562
- "$ref": "#/rules@48"
2563
- },
2564
- "arguments": []
2565
- }
2566
- }
2567
- ],
2568
- "cardinality": "*"
2569
- }
2570
- ]
2571
- },
2572
- {
2573
- "$type": "Group",
2574
- "elements": [
2575
- {
2576
- "$type": "Keyword",
2577
- "value": "as"
2578
- },
2579
- {
2580
- "$type": "Assignment",
2581
- "feature": "alias",
2582
- "operator": "=",
2583
- "terminal": {
2584
- "$type": "RuleCall",
2585
- "rule": {
2586
- "$ref": "#/rules@59"
2587
- },
2588
- "arguments": []
2589
- }
2590
- }
2591
- ]
2592
- }
2593
- ],
2594
- "cardinality": "?"
2595
- }
2596
- ]
2597
- },
2598
- "entry": false,
2599
- "fragment": false,
2600
- "parameters": []
2601
- },
2602
- {
2603
- "$type": "ParserRule",
2604
- "name": "FromImportSpecifier",
2605
- "definition": {
2606
- "$type": "Group",
2607
- "elements": [
2608
- {
2609
- "$type": "Assignment",
2610
- "feature": "idea",
2611
- "operator": "=",
2612
- "terminal": {
2613
- "$type": "CrossReference",
2614
- "type": {
2615
- "$ref": "#/rules@4"
2616
- },
2617
- "terminal": {
2618
- "$type": "RuleCall",
2619
- "rule": {
2620
- "$ref": "#/rules@59"
2621
- },
2622
- "arguments": []
2623
- },
2624
- "deprecatedSyntax": false,
2625
- "isMulti": false
2626
- }
2627
- },
2628
- {
2629
- "$type": "Group",
2630
- "elements": [
2631
- {
2632
- "$type": "Keyword",
2633
- "value": "as"
2634
- },
2635
- {
2636
- "$type": "Assignment",
2637
- "feature": "alias",
2638
- "operator": "=",
2639
- "terminal": {
2640
- "$type": "RuleCall",
2641
- "rule": {
2642
- "$ref": "#/rules@59"
2643
- },
2644
- "arguments": []
2645
- }
2646
- }
2647
- ],
2648
- "cardinality": "?"
2649
- }
2650
- ]
2651
- },
2652
- "entry": false,
2653
- "fragment": false,
2654
- "parameters": []
2655
- },
2656
- {
2657
- "$type": "ParserRule",
2658
- "name": "NamespaceImport",
2659
- "definition": {
2660
- "$type": "Group",
2661
- "elements": [
2662
- {
2663
- "$type": "Keyword",
2664
- "value": "import"
2665
- },
2666
- {
2667
- "$type": "Assignment",
2668
- "feature": "path",
2669
- "operator": "=",
2670
- "terminal": {
2671
- "$type": "RuleCall",
2672
- "rule": {
2673
- "$ref": "#/rules@60"
2674
- },
2675
- "arguments": []
2676
- }
2677
- },
2678
- {
2679
- "$type": "Group",
2680
- "elements": [
2681
- {
2682
- "$type": "Keyword",
2683
- "value": "as"
2684
- },
2685
- {
2686
- "$type": "Assignment",
2687
- "feature": "alias",
2688
- "operator": "=",
2689
- "terminal": {
2690
- "$type": "RuleCall",
2691
- "rule": {
2692
- "$ref": "#/rules@59"
2693
- },
2694
- "arguments": []
2695
- }
2696
- }
2697
- ],
2698
- "cardinality": "?"
2699
- }
2700
- ]
2701
- },
2702
- "entry": false,
2703
- "fragment": false,
2704
- "parameters": []
2705
- },
2706
- {
2707
- "$type": "ParserRule",
2708
- "name": "QualifiedImport",
2709
- "definition": {
2710
- "$type": "Group",
2711
- "elements": [
2712
- {
2713
- "$type": "Keyword",
2714
- "value": "import"
2715
- },
2716
- {
2717
- "$type": "Assignment",
2718
- "feature": "path",
2719
- "operator": "=",
2720
- "terminal": {
2721
- "$type": "RuleCall",
2722
- "rule": {
2723
- "$ref": "#/rules@60"
2724
- },
2725
- "arguments": []
2726
- }
2727
- },
2728
- {
2729
- "$type": "Keyword",
2730
- "value": "."
2731
- },
2732
- {
2733
- "$type": "Assignment",
2734
- "feature": "ideaset",
2735
- "operator": "=",
2736
- "terminal": {
2737
- "$type": "RuleCall",
2738
- "rule": {
2739
- "$ref": "#/rules@59"
2740
- },
2741
- "arguments": []
2742
- }
2743
- },
2744
- {
2745
- "$type": "Keyword",
2746
- "value": "."
2747
- },
2748
- {
2749
- "$type": "Assignment",
2750
- "feature": "idea",
2751
- "operator": "=",
2752
- "terminal": {
2753
- "$type": "CrossReference",
2754
- "type": {
2755
- "$ref": "#/rules@4"
2756
- },
2757
- "terminal": {
2758
- "$type": "RuleCall",
2759
- "rule": {
2760
- "$ref": "#/rules@59"
2761
- },
2762
- "arguments": []
2763
- },
2764
- "deprecatedSyntax": false,
2765
- "isMulti": false
2766
- }
2767
- },
2768
- {
2769
- "$type": "Group",
2770
- "elements": [
2771
- {
2772
- "$type": "Keyword",
2773
- "value": "as"
2774
- },
2775
- {
2776
- "$type": "Assignment",
2777
- "feature": "alias",
2778
- "operator": "=",
2779
- "terminal": {
2780
- "$type": "RuleCall",
2781
- "rule": {
2782
- "$ref": "#/rules@59"
2783
- },
2784
- "arguments": []
2785
- }
2786
- }
2787
- ],
2788
- "cardinality": "?"
2789
- }
2790
- ]
2791
- },
2792
- "entry": false,
2793
- "fragment": false,
2794
- "parameters": []
2795
- },
2796
- {
2797
- "$type": "ParserRule",
2798
- "name": "InvalidFromImport",
2799
- "definition": {
2800
- "$type": "Group",
2801
- "elements": [
2802
- {
2803
- "$type": "Keyword",
2804
- "value": "from"
2805
- },
2806
- {
2807
- "$type": "Assignment",
2808
- "feature": "head",
2809
- "operator": "=",
2810
- "terminal": {
2811
- "$type": "RuleCall",
2812
- "rule": {
2813
- "$ref": "#/rules@52"
2814
- },
2815
- "arguments": []
2816
- }
2817
- },
2818
- {
2819
- "$type": "Assignment",
2820
- "feature": "tokens",
2821
- "operator": "+=",
2822
- "terminal": {
2823
- "$type": "RuleCall",
2824
- "rule": {
2825
- "$ref": "#/rules@53"
2826
- },
2827
- "arguments": []
2828
- },
2829
- "cardinality": "*"
2830
- }
2831
- ]
2832
- },
2833
- "entry": false,
2834
- "fragment": false,
2835
- "parameters": []
2836
- },
2837
- {
2838
- "$type": "ParserRule",
2839
- "name": "InvalidImportHeadToken",
2840
- "dataType": "string",
2841
- "definition": {
2842
- "$type": "Alternatives",
2843
- "elements": [
2844
- {
2845
- "$type": "RuleCall",
2846
- "rule": {
2847
- "$ref": "#/rules@59"
2848
- },
2849
- "arguments": []
2850
- },
2851
- {
2852
- "$type": "RuleCall",
2853
- "rule": {
2854
- "$ref": "#/rules@62"
2855
- },
2856
- "arguments": []
2857
- },
2858
- {
2859
- "$type": "RuleCall",
2860
- "rule": {
2861
- "$ref": "#/rules@61"
2862
- },
2863
- "arguments": []
2864
- },
2865
- {
2866
- "$type": "RuleCall",
2867
- "rule": {
2868
- "$ref": "#/rules@63"
2869
- },
2870
- "arguments": []
2871
- },
2872
- {
2873
- "$type": "RuleCall",
2874
- "rule": {
2875
- "$ref": "#/rules@17"
2876
- },
2877
- "arguments": []
2878
- },
2879
- {
2880
- "$type": "Keyword",
2881
- "value": "("
2882
- },
2883
- {
2884
- "$type": "Keyword",
2885
- "value": ")"
2886
- },
2887
- {
2888
- "$type": "Keyword",
2889
- "value": "|"
2890
- },
2891
- {
2892
- "$type": "Keyword",
2893
- "value": "as"
2894
- },
2895
- {
2896
- "$type": "Keyword",
2897
- "value": "import"
2898
- },
2899
- {
2900
- "$type": "Keyword",
2901
- "value": "from"
2902
- },
2903
- {
2904
- "$type": "Keyword",
2905
- "value": "\`"
2906
- },
2907
- {
2908
- "$type": "Keyword",
2909
- "value": "["
2910
- },
2911
- {
2912
- "$type": "Keyword",
2913
- "value": "]"
2914
- }
2915
- ]
2916
- },
2917
- "entry": false,
2918
- "fragment": false,
2919
- "parameters": []
2920
- },
2921
- {
2922
- "$type": "ParserRule",
2923
- "name": "InvalidImportToken",
2924
- "dataType": "string",
2925
- "definition": {
2926
- "$type": "Alternatives",
2927
- "elements": [
2928
- {
2929
- "$type": "RuleCall",
2930
- "rule": {
2931
- "$ref": "#/rules@59"
2932
- },
2933
- "arguments": []
2934
- },
2935
- {
2936
- "$type": "RuleCall",
2937
- "rule": {
2938
- "$ref": "#/rules@60"
2939
- },
2940
- "arguments": []
2941
- },
2942
- {
2943
- "$type": "RuleCall",
2944
- "rule": {
2945
- "$ref": "#/rules@62"
2946
- },
2947
- "arguments": []
2948
- },
2949
- {
2950
- "$type": "RuleCall",
2951
- "rule": {
2952
- "$ref": "#/rules@61"
2953
- },
2954
- "arguments": []
2955
- },
2956
- {
2957
- "$type": "RuleCall",
2958
- "rule": {
2959
- "$ref": "#/rules@63"
2960
- },
2961
- "arguments": []
2962
- },
2963
- {
2964
- "$type": "RuleCall",
2965
- "rule": {
2966
- "$ref": "#/rules@17"
2967
- },
2968
- "arguments": []
2969
- },
2970
- {
2971
- "$type": "Keyword",
2972
- "value": "("
2973
- },
2974
- {
2975
- "$type": "Keyword",
2976
- "value": ")"
2977
- },
2978
- {
2979
- "$type": "Keyword",
2980
- "value": "|"
2981
- },
2982
- {
2983
- "$type": "Keyword",
2984
- "value": "as"
2985
- },
2986
- {
2987
- "$type": "Keyword",
2988
- "value": "import"
2989
- },
2990
- {
2991
- "$type": "Keyword",
2992
- "value": "from"
2993
- },
2994
- {
2995
- "$type": "Keyword",
2996
- "value": "\`"
2997
- },
2998
- {
2999
- "$type": "Keyword",
3000
- "value": "["
3001
- },
3002
- {
3003
- "$type": "Keyword",
3004
- "value": "]"
3005
- }
3006
- ]
3007
- },
3008
- "entry": false,
3009
- "fragment": false,
3010
- "parameters": []
3011
- },
3012
- {
3013
- "$type": "TerminalRule",
3014
- "name": "NL",
3015
- "definition": {
3016
- "$type": "RegexToken",
3017
- "regex": "/\\\\r?\\\\n/",
3018
- "parenthesized": false
3019
- },
3020
- "fragment": false,
3021
- "hidden": false
3022
- },
3023
- {
3024
- "$type": "TerminalRule",
3025
- "hidden": true,
3026
- "name": "WS",
3027
- "definition": {
3028
- "$type": "RegexToken",
3029
- "regex": "/[ \\\\t]+/",
3030
- "parenthesized": false
3031
- },
3032
- "fragment": false
3033
- },
3034
- {
3035
- "$type": "TerminalRule",
3036
- "hidden": true,
3037
- "name": "ML_COMMENT",
3038
- "definition": {
3039
- "$type": "RegexToken",
3040
- "regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//",
3041
- "parenthesized": false
3042
- },
3043
- "fragment": false
3044
- },
3045
- {
3046
- "$type": "TerminalRule",
3047
- "hidden": true,
3048
- "name": "SL_COMMENT",
3049
- "definition": {
3050
- "$type": "RegexToken",
3051
- "regex": "/\\\\/\\\\/[^\\\\n\\\\r]*/",
3052
- "parenthesized": false
3053
- },
3054
- "fragment": false
3055
- },
3056
- {
3057
- "$type": "TerminalRule",
3058
- "name": "MARKDOWN_LINK",
3059
- "definition": {
3060
- "$type": "RegexToken",
3061
- "regex": "/\\\\[(?!\\\\[)[^\\\\]]+\\\\]\\\\([^)]+\\\\)/",
3062
- "parenthesized": false
3063
- },
3064
- "fragment": false,
3065
- "hidden": false
3066
- },
3067
- {
3068
- "$type": "TerminalRule",
3069
- "name": "ID",
3070
- "definition": {
3071
- "$type": "RegexToken",
3072
- "regex": "/[_a-zA-Z][\\\\w-]*/",
3073
- "parenthesized": false
3074
- },
3075
- "fragment": false,
3076
- "hidden": false
3077
- },
3078
- {
3079
- "$type": "TerminalRule",
3080
- "name": "STRING",
3081
- "definition": {
3082
- "$type": "RegexToken",
3083
- "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\\\\\r\\\\n])*\\"|'(\\\\\\\\.|[^'\\\\\\\\\\\\r\\\\n])*'/",
3084
- "parenthesized": false
3085
- },
3086
- "fragment": false,
3087
- "hidden": false
3088
- },
3089
- {
3090
- "$type": "TerminalRule",
3091
- "name": "NUMBER",
3092
- "definition": {
3093
- "$type": "RegexToken",
3094
- "regex": "/\\\\d+/",
3095
- "parenthesized": false
3096
- },
3097
- "fragment": false,
3098
- "hidden": false
3099
- },
3100
- {
3101
- "$type": "TerminalRule",
3102
- "name": "WORD",
3103
- "definition": {
3104
- "$type": "RegexToken",
3105
- "regex": "/[A-Za-z_][\\\\w']*/",
3106
- "parenthesized": false
3107
- },
3108
- "fragment": false,
3109
- "hidden": false
3110
- },
3111
- {
3112
- "$type": "TerminalRule",
3113
- "name": "OTHER",
3114
- "definition": {
3115
- "$type": "RegexToken",
3116
- "regex": "/[^\\\\s\\\\w\\\\[\\\\]()\`]/",
3117
- "parenthesized": false
3118
- },
3119
- "fragment": false,
3120
- "hidden": false
3121
- },
3122
- {
3123
- "$type": "TerminalRule",
3124
- "name": "INLINE_CODE",
3125
- "definition": {
3126
- "$type": "RegexToken",
3127
- "regex": "/\`[^\`\\\\n]+\`/",
3128
- "parenthesized": false
3129
- },
3130
- "fragment": false,
3131
- "hidden": false
3132
- },
3133
- {
3134
- "$type": "TerminalRule",
3135
- "name": "CODE_FENCE",
3136
- "definition": {
3137
- "$type": "RegexToken",
3138
- "regex": "/\`\`\`[^\\\\n]*(?:\\\\r?\\\\n[\\\\s\\\\S]*?)?\`\`\`/",
3139
- "parenthesized": false
3140
- },
3141
- "fragment": false,
3142
- "hidden": false
3143
- }
3144
- ],
3145
- "imports": [],
3146
- "interfaces": [],
3147
- "types": [],
3148
- "$comment": "/**\\n * Implementation of the rules described in reqlan rq/language/syntax.rq.\\n *\\n * Design:\\n * - Imports and top-level declarations are line-oriented; import/from/as are keywords only there.\\n * - One-liner ideas are name + body on a single line; block ideas use braces for rich content.\\n * - ReferenceTarget covers local members, import-qualified, alias-qualified, and file targets.\\n */"
3149
- }`));
10
+ export const ReqlanGrammar = (): Grammar => loadedReqlanGrammar ?? (loadedReqlanGrammar = loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"Reqlan","rules":[{"$type":"ParserRule","entry":true,"name":"Model","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"imports","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"TopLevelElement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"OneLinerIdea","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"OneLinerBody","definition":{"$type":"Assignment","feature":"content","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"IdeaDeclaration","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Idea","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"IdeaSet","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"IdeaName","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"IdeaMemberName","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ReferenceName","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BodyElement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BodyLine","definition":{"$type":"Assignment","feature":"parts","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RichTextPart","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"Assignment","feature":"inlineCode","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]}},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"lparen","operator":"=","terminal":{"$type":"Keyword","value":"("}},{"$type":"Assignment","feature":"rparen","operator":"=","terminal":{"$type":"Keyword","value":")"}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"InlineTextPart","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"Assignment","feature":"inlineCode","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]}},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CodeSnippet","definition":{"$type":"Assignment","feature":"raw","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@65"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"OneLinerText","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":"("},{"$type":"Keyword","value":")"},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"`"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PlainText","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"`"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PlainPunctuation","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"."},{"$type":"Keyword","value":","},{"$type":"Keyword","value":":"},{"$type":"Keyword","value":";"},{"$type":"Keyword","value":"!"},{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"-"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Attribute","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"negated","operator":"?=","terminal":{"$type":"Keyword","value":"!"}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AttributeValue","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ScalarValue","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"parts","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"parts","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NonBangInlineTextPart","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"Assignment","feature":"inlineCode","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]}},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NonBangPlainText","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"`"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NonBangPunctuation","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"."},{"$type":"Keyword","value":","},{"$type":"Keyword","value":";"},{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"-"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BlockValue","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BlockElement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BlockLine","definition":{"$type":"Assignment","feature":"parts","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ListValue","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"+"}]},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NamedList","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"+"}]},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NestedList","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"+"}]},{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ListItem","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"OneLinerListItem","definition":{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ListItemBody","definition":{"$type":"Assignment","feature":"content","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]}]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ListItemText","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Keyword","value":"("},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"`"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ListItemPunctuation","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"."},{"$type":"Keyword","value":":"},{"$type":"Keyword","value":";"},{"$type":"Keyword","value":"!"},{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"-"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NamedBlockListItem","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AnonymousBlock","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"MarkdownLink","definition":{"$type":"Assignment","feature":"raw","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"WikiLink","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alias","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"]]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AliasPart","definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"BracketReference","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ReferenceTarget","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@43"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"FileReference","definition":{"$type":"Assignment","feature":"file","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"FileSymbolReference","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"file","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"symbols","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"symbols","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"symbols","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"symbols","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedReference","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@46"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Assignment","feature":"qualifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@46"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},{"$type":"Keyword","value":"."},{"$type":"Group","elements":[{"$type":"Assignment","feature":"ideaset","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@6"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"."}],"cardinality":"?"},{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"LocalReference","definition":{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Import","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"FromImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"from"},{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"specifiers","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"specifiers","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}]}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"FromImportSpecifier","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NamespaceImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"ideaset","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"InvalidFromImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"from"},{"$type":"Assignment","feature":"head","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]}},{"$type":"Assignment","feature":"tokens","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"InvalidImportHeadToken","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":"("},{"$type":"Keyword","value":")"},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"`"},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"InvalidImportToken","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":"("},{"$type":"Keyword","value":")"},{"$type":"Keyword","value":"|"},{"$type":"Keyword","value":"as"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"from"},{"$type":"Keyword","value":"`"},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"MARKDOWN_LINK","definition":{"$type":"RegexToken","regex":"/\\\\[(?!\\\\[)[^\\\\]]+\\\\]\\\\([^)]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"(\\\\\\\\.|[^\\"\\\\\\\\\\\\r\\\\n])*\\"|\'(\\\\\\\\.|[^\'\\\\\\\\\\\\r\\\\n])*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","definition":{"$type":"RegexToken","regex":"/\\\\d+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"WORD","definition":{"$type":"RegexToken","regex":"/[A-Za-z_][\\\\w\']*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"OTHER","definition":{"$type":"RegexToken","regex":"/[^\\\\s\\\\w\\\\[\\\\]()`]/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INLINE_CODE","definition":{"$type":"RegexToken","regex":"/`[^`\\\\n]+`/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CODE_FENCE","definition":{"$type":"RegexToken","regex":"/```[^\\\\n]*(?:\\\\r?\\\\n[\\\\s\\\\S]*?)?```/","parenthesized":false},"fragment":false,"hidden":false}],"imports":[],"interfaces":[],"types":[],"$comment":"/**\\n * Implementation of the rules described in reqlan rq/language/syntax.rq.\\n *\\n * Design:\\n * - Imports and top-level declarations are line-oriented; import/from/as are keywords only there.\\n * - One-liner ideas are name + body on a single line; block ideas use braces for rich content.\\n * - ReferenceTarget covers local members, import-qualified, alias-qualified, and file targets.\\n */"}'));
3150
11
 
3151
12
  let loadedReqlanCommentGrammar: Grammar | undefined;
3152
- export const ReqlanCommentGrammar = (): Grammar => loadedReqlanCommentGrammar ?? (loadedReqlanCommentGrammar = loadGrammarFromJson(`{
3153
- "$type": "Grammar",
3154
- "isDeclared": true,
3155
- "name": "ReqlanComment",
3156
- "rules": [
3157
- {
3158
- "$type": "ParserRule",
3159
- "entry": true,
3160
- "name": "CommentModel",
3161
- "definition": {
3162
- "$type": "Assignment",
3163
- "feature": "references",
3164
- "operator": "+=",
3165
- "terminal": {
3166
- "$type": "RuleCall",
3167
- "rule": {
3168
- "$ref": "#/rules@1"
3169
- },
3170
- "arguments": []
3171
- },
3172
- "cardinality": "*"
3173
- },
3174
- "fragment": false,
3175
- "parameters": []
3176
- },
3177
- {
3178
- "$type": "ParserRule",
3179
- "name": "CommentReference",
3180
- "definition": {
3181
- "$type": "Group",
3182
- "elements": [
3183
- {
3184
- "$type": "Keyword",
3185
- "value": "rq"
3186
- },
3187
- {
3188
- "$type": "Keyword",
3189
- "value": ":"
3190
- },
3191
- {
3192
- "$type": "Keyword",
3193
- "value": "["
3194
- },
3195
- {
3196
- "$type": "Assignment",
3197
- "feature": "target",
3198
- "operator": "=",
3199
- "terminal": {
3200
- "$type": "RuleCall",
3201
- "rule": {
3202
- "$ref": "#/rules@2"
3203
- },
3204
- "arguments": []
3205
- }
3206
- },
3207
- {
3208
- "$type": "Keyword",
3209
- "value": "]"
3210
- }
3211
- ]
3212
- },
3213
- "entry": false,
3214
- "fragment": false,
3215
- "parameters": []
3216
- },
3217
- {
3218
- "$type": "ParserRule",
3219
- "name": "CommentReferenceTarget",
3220
- "definition": {
3221
- "$type": "Alternatives",
3222
- "elements": [
3223
- {
3224
- "$type": "RuleCall",
3225
- "rule": {
3226
- "$ref": "#/rules@3"
3227
- },
3228
- "arguments": []
3229
- },
3230
- {
3231
- "$type": "RuleCall",
3232
- "rule": {
3233
- "$ref": "#/rules@4"
3234
- },
3235
- "arguments": []
3236
- }
3237
- ]
3238
- },
3239
- "entry": false,
3240
- "fragment": false,
3241
- "parameters": []
3242
- },
3243
- {
3244
- "$type": "ParserRule",
3245
- "name": "QualifiedCommentReference",
3246
- "definition": {
3247
- "$type": "Group",
3248
- "elements": [
3249
- {
3250
- "$type": "Assignment",
3251
- "feature": "path",
3252
- "operator": "=",
3253
- "terminal": {
3254
- "$type": "RuleCall",
3255
- "rule": {
3256
- "$ref": "#/rules@6"
3257
- },
3258
- "arguments": []
3259
- }
3260
- },
3261
- {
3262
- "$type": "Keyword",
3263
- "value": "."
3264
- },
3265
- {
3266
- "$type": "Assignment",
3267
- "feature": "idea",
3268
- "operator": "=",
3269
- "terminal": {
3270
- "$type": "RuleCall",
3271
- "rule": {
3272
- "$ref": "#/rules@5"
3273
- },
3274
- "arguments": []
3275
- }
3276
- }
3277
- ]
3278
- },
3279
- "entry": false,
3280
- "fragment": false,
3281
- "parameters": []
3282
- },
3283
- {
3284
- "$type": "ParserRule",
3285
- "name": "LocalCommentReference",
3286
- "definition": {
3287
- "$type": "Assignment",
3288
- "feature": "idea",
3289
- "operator": "=",
3290
- "terminal": {
3291
- "$type": "RuleCall",
3292
- "rule": {
3293
- "$ref": "#/rules@5"
3294
- },
3295
- "arguments": []
3296
- }
3297
- },
3298
- "entry": false,
3299
- "fragment": false,
3300
- "parameters": []
3301
- },
3302
- {
3303
- "$type": "TerminalRule",
3304
- "name": "ID",
3305
- "definition": {
3306
- "$type": "RegexToken",
3307
- "regex": "/[_a-zA-Z][\\\\w-]*/",
3308
- "parenthesized": false
3309
- },
3310
- "fragment": false,
3311
- "hidden": false
3312
- },
3313
- {
3314
- "$type": "TerminalRule",
3315
- "name": "STRING",
3316
- "definition": {
3317
- "$type": "RegexToken",
3318
- "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"/",
3319
- "parenthesized": false
3320
- },
3321
- "fragment": false,
3322
- "hidden": false
3323
- }
3324
- ],
3325
- "imports": [],
3326
- "interfaces": [],
3327
- "types": [],
3328
- "$comment": "/**\\n * Embedded reqlan references in comments of arbitrary source files.\\n * Syntax: rq:[idea] or rq:[\\"./reqfile.rq\\".idea_name]\\n */"
3329
- }`));
13
+ export const ReqlanCommentGrammar = (): Grammar => loadedReqlanCommentGrammar ?? (loadedReqlanCommentGrammar = loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"ReqlanComment","rules":[{"$type":"ParserRule","entry":true,"name":"CommentModel","definition":{"$type":"Assignment","feature":"references","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CommentReference","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"rq"},{"$type":"Keyword","value":":"},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CommentReferenceTarget","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedCommentReference","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"LocalCommentReference","definition":{"$type":"Assignment","feature":"idea","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"/","parenthesized":false},"fragment":false,"hidden":false}],"imports":[],"interfaces":[],"types":[],"$comment":"/**\\n * Embedded reqlan references in comments of arbitrary source files.\\n * Syntax: rq:[idea] or rq:[\\"./reqfile.rq\\".idea_name]\\n */"}'));