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