@nowline/core 0.2.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 (69) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +84 -0
  3. package/dist/generated/ast.d.ts +958 -0
  4. package/dist/generated/ast.d.ts.map +1 -0
  5. package/dist/generated/ast.js +795 -0
  6. package/dist/generated/ast.js.map +1 -0
  7. package/dist/generated/grammar.d.ts +7 -0
  8. package/dist/generated/grammar.d.ts.map +1 -0
  9. package/dist/generated/grammar.js +2509 -0
  10. package/dist/generated/grammar.js.map +1 -0
  11. package/dist/generated/module.d.ts +14 -0
  12. package/dist/generated/module.d.ts.map +1 -0
  13. package/dist/generated/module.js +21 -0
  14. package/dist/generated/module.js.map +1 -0
  15. package/dist/i18n/codes.d.ts +3 -0
  16. package/dist/i18n/codes.d.ts.map +1 -0
  17. package/dist/i18n/codes.js +54 -0
  18. package/dist/i18n/codes.js.map +1 -0
  19. package/dist/i18n/index.d.ts +17 -0
  20. package/dist/i18n/index.d.ts.map +1 -0
  21. package/dist/i18n/index.js +82 -0
  22. package/dist/i18n/index.js.map +1 -0
  23. package/dist/i18n/messages.en.d.ts +96 -0
  24. package/dist/i18n/messages.en.d.ts.map +1 -0
  25. package/dist/i18n/messages.en.js +57 -0
  26. package/dist/i18n/messages.en.js.map +1 -0
  27. package/dist/i18n/messages.fr-CA.d.ts +3 -0
  28. package/dist/i18n/messages.fr-CA.d.ts.map +1 -0
  29. package/dist/i18n/messages.fr-CA.js +11 -0
  30. package/dist/i18n/messages.fr-CA.js.map +1 -0
  31. package/dist/i18n/messages.fr-FR.d.ts +3 -0
  32. package/dist/i18n/messages.fr-FR.d.ts.map +1 -0
  33. package/dist/i18n/messages.fr-FR.js +11 -0
  34. package/dist/i18n/messages.fr-FR.js.map +1 -0
  35. package/dist/i18n/messages.fr.d.ts +3 -0
  36. package/dist/i18n/messages.fr.d.ts.map +1 -0
  37. package/dist/i18n/messages.fr.js +55 -0
  38. package/dist/i18n/messages.fr.js.map +1 -0
  39. package/dist/index.d.ts +9 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +8 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/language/include-resolver.d.ts +46 -0
  44. package/dist/language/include-resolver.d.ts.map +1 -0
  45. package/dist/language/include-resolver.js +306 -0
  46. package/dist/language/include-resolver.js.map +1 -0
  47. package/dist/language/nowline-module.d.ts +18 -0
  48. package/dist/language/nowline-module.d.ts.map +1 -0
  49. package/dist/language/nowline-module.js +63 -0
  50. package/dist/language/nowline-module.js.map +1 -0
  51. package/dist/language/nowline-validator.d.ts +65 -0
  52. package/dist/language/nowline-validator.d.ts.map +1 -0
  53. package/dist/language/nowline-validator.js +1654 -0
  54. package/dist/language/nowline-validator.js.map +1 -0
  55. package/package.json +37 -0
  56. package/src/generated/ast.ts +1178 -0
  57. package/src/generated/grammar.ts +2511 -0
  58. package/src/generated/module.ts +25 -0
  59. package/src/i18n/codes.ts +102 -0
  60. package/src/i18n/index.ts +102 -0
  61. package/src/i18n/messages.en.ts +86 -0
  62. package/src/i18n/messages.fr-CA.ts +13 -0
  63. package/src/i18n/messages.fr-FR.ts +13 -0
  64. package/src/i18n/messages.fr.ts +91 -0
  65. package/src/index.ts +22 -0
  66. package/src/language/include-resolver.ts +470 -0
  67. package/src/language/nowline-module.ts +114 -0
  68. package/src/language/nowline-validator.ts +1991 -0
  69. package/src/language/nowline.langium +217 -0
@@ -0,0 +1,2511 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.2.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+
6
+ import type { Grammar } from 'langium';
7
+ import { loadGrammarFromJson } from 'langium';
8
+
9
+ let loadedNowlineGrammar: Grammar | undefined;
10
+ export const NowlineGrammar = (): Grammar => loadedNowlineGrammar ?? (loadedNowlineGrammar = loadGrammarFromJson(`{
11
+ "$type": "Grammar",
12
+ "isDeclared": true,
13
+ "name": "Nowline",
14
+ "rules": [
15
+ {
16
+ "$type": "ParserRule",
17
+ "entry": true,
18
+ "name": "NowlineFile",
19
+ "definition": {
20
+ "$type": "Group",
21
+ "elements": [
22
+ {
23
+ "$type": "Assignment",
24
+ "feature": "directive",
25
+ "operator": "=",
26
+ "terminal": {
27
+ "$type": "RuleCall",
28
+ "rule": {
29
+ "$ref": "#/rules@1"
30
+ },
31
+ "arguments": []
32
+ },
33
+ "cardinality": "?"
34
+ },
35
+ {
36
+ "$type": "Assignment",
37
+ "feature": "includes",
38
+ "operator": "+=",
39
+ "terminal": {
40
+ "$type": "RuleCall",
41
+ "rule": {
42
+ "$ref": "#/rules@2"
43
+ },
44
+ "arguments": []
45
+ },
46
+ "cardinality": "*"
47
+ },
48
+ {
49
+ "$type": "Group",
50
+ "elements": [
51
+ {
52
+ "$type": "Assignment",
53
+ "feature": "hasConfig",
54
+ "operator": "?=",
55
+ "terminal": {
56
+ "$type": "Keyword",
57
+ "value": "config"
58
+ }
59
+ },
60
+ {
61
+ "$type": "Assignment",
62
+ "feature": "configEntries",
63
+ "operator": "+=",
64
+ "terminal": {
65
+ "$type": "RuleCall",
66
+ "rule": {
67
+ "$ref": "#/rules@4"
68
+ },
69
+ "arguments": []
70
+ },
71
+ "cardinality": "*"
72
+ }
73
+ ],
74
+ "cardinality": "?"
75
+ },
76
+ {
77
+ "$type": "Assignment",
78
+ "feature": "roadmapDecl",
79
+ "operator": "=",
80
+ "terminal": {
81
+ "$type": "RuleCall",
82
+ "rule": {
83
+ "$ref": "#/rules@13"
84
+ },
85
+ "arguments": []
86
+ },
87
+ "cardinality": "?"
88
+ },
89
+ {
90
+ "$type": "Assignment",
91
+ "feature": "roadmapEntries",
92
+ "operator": "+=",
93
+ "terminal": {
94
+ "$type": "RuleCall",
95
+ "rule": {
96
+ "$ref": "#/rules@14"
97
+ },
98
+ "arguments": []
99
+ },
100
+ "cardinality": "*"
101
+ }
102
+ ]
103
+ },
104
+ "fragment": false,
105
+ "parameters": []
106
+ },
107
+ {
108
+ "$type": "ParserRule",
109
+ "name": "NowlineDirective",
110
+ "definition": {
111
+ "$type": "Group",
112
+ "elements": [
113
+ {
114
+ "$type": "Keyword",
115
+ "value": "nowline"
116
+ },
117
+ {
118
+ "$type": "Assignment",
119
+ "feature": "version",
120
+ "operator": "=",
121
+ "terminal": {
122
+ "$type": "RuleCall",
123
+ "rule": {
124
+ "$ref": "#/rules@49"
125
+ },
126
+ "arguments": []
127
+ }
128
+ },
129
+ {
130
+ "$type": "Assignment",
131
+ "feature": "properties",
132
+ "operator": "+=",
133
+ "terminal": {
134
+ "$type": "RuleCall",
135
+ "rule": {
136
+ "$ref": "#/rules@34"
137
+ },
138
+ "arguments": []
139
+ },
140
+ "cardinality": "*"
141
+ }
142
+ ]
143
+ },
144
+ "entry": false,
145
+ "fragment": false,
146
+ "parameters": []
147
+ },
148
+ {
149
+ "$type": "ParserRule",
150
+ "name": "IncludeDeclaration",
151
+ "definition": {
152
+ "$type": "Group",
153
+ "elements": [
154
+ {
155
+ "$type": "Keyword",
156
+ "value": "include"
157
+ },
158
+ {
159
+ "$type": "Assignment",
160
+ "feature": "path",
161
+ "operator": "=",
162
+ "terminal": {
163
+ "$type": "RuleCall",
164
+ "rule": {
165
+ "$ref": "#/rules@41"
166
+ },
167
+ "arguments": []
168
+ }
169
+ },
170
+ {
171
+ "$type": "Assignment",
172
+ "feature": "options",
173
+ "operator": "+=",
174
+ "terminal": {
175
+ "$type": "RuleCall",
176
+ "rule": {
177
+ "$ref": "#/rules@3"
178
+ },
179
+ "arguments": []
180
+ },
181
+ "cardinality": "*"
182
+ }
183
+ ]
184
+ },
185
+ "entry": false,
186
+ "fragment": false,
187
+ "parameters": []
188
+ },
189
+ {
190
+ "$type": "ParserRule",
191
+ "name": "IncludeOption",
192
+ "definition": {
193
+ "$type": "Group",
194
+ "elements": [
195
+ {
196
+ "$type": "Assignment",
197
+ "feature": "key",
198
+ "operator": "=",
199
+ "terminal": {
200
+ "$type": "RuleCall",
201
+ "rule": {
202
+ "$ref": "#/rules@39"
203
+ },
204
+ "arguments": []
205
+ }
206
+ },
207
+ {
208
+ "$type": "Assignment",
209
+ "feature": "value",
210
+ "operator": "=",
211
+ "terminal": {
212
+ "$type": "RuleCall",
213
+ "rule": {
214
+ "$ref": "#/rules@49"
215
+ },
216
+ "arguments": []
217
+ }
218
+ }
219
+ ]
220
+ },
221
+ "entry": false,
222
+ "fragment": false,
223
+ "parameters": []
224
+ },
225
+ {
226
+ "$type": "ParserRule",
227
+ "name": "ConfigEntry",
228
+ "definition": {
229
+ "$type": "Alternatives",
230
+ "elements": [
231
+ {
232
+ "$type": "RuleCall",
233
+ "rule": {
234
+ "$ref": "#/rules@5"
235
+ },
236
+ "arguments": []
237
+ },
238
+ {
239
+ "$type": "RuleCall",
240
+ "rule": {
241
+ "$ref": "#/rules@6"
242
+ },
243
+ "arguments": []
244
+ },
245
+ {
246
+ "$type": "RuleCall",
247
+ "rule": {
248
+ "$ref": "#/rules@8"
249
+ },
250
+ "arguments": []
251
+ },
252
+ {
253
+ "$type": "RuleCall",
254
+ "rule": {
255
+ "$ref": "#/rules@9"
256
+ },
257
+ "arguments": []
258
+ },
259
+ {
260
+ "$type": "RuleCall",
261
+ "rule": {
262
+ "$ref": "#/rules@11"
263
+ },
264
+ "arguments": []
265
+ }
266
+ ]
267
+ },
268
+ "entry": false,
269
+ "fragment": false,
270
+ "parameters": []
271
+ },
272
+ {
273
+ "$type": "ParserRule",
274
+ "name": "ScaleBlock",
275
+ "definition": {
276
+ "$type": "Group",
277
+ "elements": [
278
+ {
279
+ "$type": "Keyword",
280
+ "value": "scale"
281
+ },
282
+ {
283
+ "$type": "Group",
284
+ "elements": [
285
+ {
286
+ "$type": "RuleCall",
287
+ "rule": {
288
+ "$ref": "#/rules@37"
289
+ },
290
+ "arguments": []
291
+ },
292
+ {
293
+ "$type": "Assignment",
294
+ "feature": "properties",
295
+ "operator": "+=",
296
+ "terminal": {
297
+ "$type": "RuleCall",
298
+ "rule": {
299
+ "$ref": "#/rules@34"
300
+ },
301
+ "arguments": []
302
+ },
303
+ "cardinality": "+"
304
+ },
305
+ {
306
+ "$type": "RuleCall",
307
+ "rule": {
308
+ "$ref": "#/rules@38"
309
+ },
310
+ "arguments": []
311
+ }
312
+ ],
313
+ "cardinality": "?"
314
+ }
315
+ ]
316
+ },
317
+ "entry": false,
318
+ "fragment": false,
319
+ "parameters": []
320
+ },
321
+ {
322
+ "$type": "ParserRule",
323
+ "name": "CalendarBlock",
324
+ "definition": {
325
+ "$type": "Group",
326
+ "elements": [
327
+ {
328
+ "$type": "Keyword",
329
+ "value": "calendar"
330
+ },
331
+ {
332
+ "$type": "Group",
333
+ "elements": [
334
+ {
335
+ "$type": "RuleCall",
336
+ "rule": {
337
+ "$ref": "#/rules@37"
338
+ },
339
+ "arguments": []
340
+ },
341
+ {
342
+ "$type": "Assignment",
343
+ "feature": "properties",
344
+ "operator": "+=",
345
+ "terminal": {
346
+ "$type": "RuleCall",
347
+ "rule": {
348
+ "$ref": "#/rules@34"
349
+ },
350
+ "arguments": []
351
+ },
352
+ "cardinality": "+"
353
+ },
354
+ {
355
+ "$type": "RuleCall",
356
+ "rule": {
357
+ "$ref": "#/rules@38"
358
+ },
359
+ "arguments": []
360
+ }
361
+ ],
362
+ "cardinality": "?"
363
+ }
364
+ ]
365
+ },
366
+ "entry": false,
367
+ "fragment": false,
368
+ "parameters": []
369
+ },
370
+ {
371
+ "$type": "ParserRule",
372
+ "name": "BlockPropertyValue",
373
+ "dataType": "string",
374
+ "definition": {
375
+ "$type": "Alternatives",
376
+ "elements": [
377
+ {
378
+ "$type": "RuleCall",
379
+ "rule": {
380
+ "$ref": "#/rules@49"
381
+ },
382
+ "arguments": []
383
+ },
384
+ {
385
+ "$type": "RuleCall",
386
+ "rule": {
387
+ "$ref": "#/rules@47"
388
+ },
389
+ "arguments": []
390
+ },
391
+ {
392
+ "$type": "RuleCall",
393
+ "rule": {
394
+ "$ref": "#/rules@41"
395
+ },
396
+ "arguments": []
397
+ },
398
+ {
399
+ "$type": "RuleCall",
400
+ "rule": {
401
+ "$ref": "#/rules@43"
402
+ },
403
+ "arguments": []
404
+ }
405
+ ]
406
+ },
407
+ "entry": false,
408
+ "fragment": false,
409
+ "parameters": []
410
+ },
411
+ {
412
+ "$type": "ParserRule",
413
+ "name": "StyleDeclaration",
414
+ "definition": {
415
+ "$type": "Group",
416
+ "elements": [
417
+ {
418
+ "$type": "Keyword",
419
+ "value": "style"
420
+ },
421
+ {
422
+ "$type": "Assignment",
423
+ "feature": "name",
424
+ "operator": "=",
425
+ "terminal": {
426
+ "$type": "RuleCall",
427
+ "rule": {
428
+ "$ref": "#/rules@49"
429
+ },
430
+ "arguments": []
431
+ },
432
+ "cardinality": "?"
433
+ },
434
+ {
435
+ "$type": "Assignment",
436
+ "feature": "title",
437
+ "operator": "=",
438
+ "terminal": {
439
+ "$type": "RuleCall",
440
+ "rule": {
441
+ "$ref": "#/rules@41"
442
+ },
443
+ "arguments": []
444
+ },
445
+ "cardinality": "?"
446
+ },
447
+ {
448
+ "$type": "Group",
449
+ "elements": [
450
+ {
451
+ "$type": "RuleCall",
452
+ "rule": {
453
+ "$ref": "#/rules@37"
454
+ },
455
+ "arguments": []
456
+ },
457
+ {
458
+ "$type": "Assignment",
459
+ "feature": "properties",
460
+ "operator": "+=",
461
+ "terminal": {
462
+ "$type": "RuleCall",
463
+ "rule": {
464
+ "$ref": "#/rules@35"
465
+ },
466
+ "arguments": []
467
+ },
468
+ "cardinality": "+"
469
+ },
470
+ {
471
+ "$type": "RuleCall",
472
+ "rule": {
473
+ "$ref": "#/rules@38"
474
+ },
475
+ "arguments": []
476
+ }
477
+ ],
478
+ "cardinality": "?"
479
+ }
480
+ ]
481
+ },
482
+ "entry": false,
483
+ "fragment": false,
484
+ "parameters": []
485
+ },
486
+ {
487
+ "$type": "ParserRule",
488
+ "name": "SymbolDeclaration",
489
+ "definition": {
490
+ "$type": "Group",
491
+ "elements": [
492
+ {
493
+ "$type": "Keyword",
494
+ "value": "symbol"
495
+ },
496
+ {
497
+ "$type": "Assignment",
498
+ "feature": "name",
499
+ "operator": "=",
500
+ "terminal": {
501
+ "$type": "RuleCall",
502
+ "rule": {
503
+ "$ref": "#/rules@49"
504
+ },
505
+ "arguments": []
506
+ },
507
+ "cardinality": "?"
508
+ },
509
+ {
510
+ "$type": "Assignment",
511
+ "feature": "title",
512
+ "operator": "=",
513
+ "terminal": {
514
+ "$type": "RuleCall",
515
+ "rule": {
516
+ "$ref": "#/rules@41"
517
+ },
518
+ "arguments": []
519
+ },
520
+ "cardinality": "?"
521
+ },
522
+ {
523
+ "$type": "Assignment",
524
+ "feature": "properties",
525
+ "operator": "+=",
526
+ "terminal": {
527
+ "$type": "RuleCall",
528
+ "rule": {
529
+ "$ref": "#/rules@33"
530
+ },
531
+ "arguments": []
532
+ },
533
+ "cardinality": "*"
534
+ },
535
+ {
536
+ "$type": "Group",
537
+ "elements": [
538
+ {
539
+ "$type": "RuleCall",
540
+ "rule": {
541
+ "$ref": "#/rules@37"
542
+ },
543
+ "arguments": []
544
+ },
545
+ {
546
+ "$type": "Assignment",
547
+ "feature": "description",
548
+ "operator": "=",
549
+ "terminal": {
550
+ "$type": "RuleCall",
551
+ "rule": {
552
+ "$ref": "#/rules@32"
553
+ },
554
+ "arguments": []
555
+ }
556
+ },
557
+ {
558
+ "$type": "RuleCall",
559
+ "rule": {
560
+ "$ref": "#/rules@38"
561
+ },
562
+ "arguments": []
563
+ }
564
+ ],
565
+ "cardinality": "?"
566
+ }
567
+ ]
568
+ },
569
+ "entry": false,
570
+ "fragment": false,
571
+ "parameters": []
572
+ },
573
+ {
574
+ "$type": "ParserRule",
575
+ "name": "StylePropertyValue",
576
+ "dataType": "string",
577
+ "definition": {
578
+ "$type": "Alternatives",
579
+ "elements": [
580
+ {
581
+ "$type": "RuleCall",
582
+ "rule": {
583
+ "$ref": "#/rules@49"
584
+ },
585
+ "arguments": []
586
+ },
587
+ {
588
+ "$type": "RuleCall",
589
+ "rule": {
590
+ "$ref": "#/rules@45"
591
+ },
592
+ "arguments": []
593
+ },
594
+ {
595
+ "$type": "RuleCall",
596
+ "rule": {
597
+ "$ref": "#/rules@41"
598
+ },
599
+ "arguments": []
600
+ },
601
+ {
602
+ "$type": "Keyword",
603
+ "value": "person"
604
+ }
605
+ ]
606
+ },
607
+ "entry": false,
608
+ "fragment": false,
609
+ "parameters": []
610
+ },
611
+ {
612
+ "$type": "ParserRule",
613
+ "name": "DefaultDeclaration",
614
+ "definition": {
615
+ "$type": "Group",
616
+ "elements": [
617
+ {
618
+ "$type": "Keyword",
619
+ "value": "default"
620
+ },
621
+ {
622
+ "$type": "Assignment",
623
+ "feature": "entityType",
624
+ "operator": "=",
625
+ "terminal": {
626
+ "$type": "RuleCall",
627
+ "rule": {
628
+ "$ref": "#/rules@12"
629
+ },
630
+ "arguments": []
631
+ }
632
+ },
633
+ {
634
+ "$type": "Assignment",
635
+ "feature": "properties",
636
+ "operator": "+=",
637
+ "terminal": {
638
+ "$type": "RuleCall",
639
+ "rule": {
640
+ "$ref": "#/rules@33"
641
+ },
642
+ "arguments": []
643
+ },
644
+ "cardinality": "*"
645
+ }
646
+ ]
647
+ },
648
+ "entry": false,
649
+ "fragment": false,
650
+ "parameters": []
651
+ },
652
+ {
653
+ "$type": "ParserRule",
654
+ "name": "DefaultEntityType",
655
+ "dataType": "string",
656
+ "definition": {
657
+ "$type": "Alternatives",
658
+ "elements": [
659
+ {
660
+ "$type": "Keyword",
661
+ "value": "item"
662
+ },
663
+ {
664
+ "$type": "Keyword",
665
+ "value": "label"
666
+ },
667
+ {
668
+ "$type": "Keyword",
669
+ "value": "swimlane"
670
+ },
671
+ {
672
+ "$type": "Keyword",
673
+ "value": "roadmap"
674
+ },
675
+ {
676
+ "$type": "Keyword",
677
+ "value": "milestone"
678
+ },
679
+ {
680
+ "$type": "Keyword",
681
+ "value": "footnote"
682
+ },
683
+ {
684
+ "$type": "Keyword",
685
+ "value": "anchor"
686
+ },
687
+ {
688
+ "$type": "Keyword",
689
+ "value": "parallel"
690
+ },
691
+ {
692
+ "$type": "Keyword",
693
+ "value": "group"
694
+ }
695
+ ]
696
+ },
697
+ "entry": false,
698
+ "fragment": false,
699
+ "parameters": []
700
+ },
701
+ {
702
+ "$type": "ParserRule",
703
+ "name": "RoadmapDeclaration",
704
+ "definition": {
705
+ "$type": "Group",
706
+ "elements": [
707
+ {
708
+ "$type": "Keyword",
709
+ "value": "roadmap"
710
+ },
711
+ {
712
+ "$type": "Assignment",
713
+ "feature": "name",
714
+ "operator": "=",
715
+ "terminal": {
716
+ "$type": "RuleCall",
717
+ "rule": {
718
+ "$ref": "#/rules@49"
719
+ },
720
+ "arguments": []
721
+ },
722
+ "cardinality": "?"
723
+ },
724
+ {
725
+ "$type": "Assignment",
726
+ "feature": "title",
727
+ "operator": "=",
728
+ "terminal": {
729
+ "$type": "RuleCall",
730
+ "rule": {
731
+ "$ref": "#/rules@41"
732
+ },
733
+ "arguments": []
734
+ },
735
+ "cardinality": "?"
736
+ },
737
+ {
738
+ "$type": "Assignment",
739
+ "feature": "properties",
740
+ "operator": "+=",
741
+ "terminal": {
742
+ "$type": "RuleCall",
743
+ "rule": {
744
+ "$ref": "#/rules@33"
745
+ },
746
+ "arguments": []
747
+ },
748
+ "cardinality": "*"
749
+ }
750
+ ]
751
+ },
752
+ "entry": false,
753
+ "fragment": false,
754
+ "parameters": []
755
+ },
756
+ {
757
+ "$type": "ParserRule",
758
+ "name": "RoadmapEntry",
759
+ "definition": {
760
+ "$type": "Alternatives",
761
+ "elements": [
762
+ {
763
+ "$type": "RuleCall",
764
+ "rule": {
765
+ "$ref": "#/rules@15"
766
+ },
767
+ "arguments": []
768
+ },
769
+ {
770
+ "$type": "RuleCall",
771
+ "rule": {
772
+ "$ref": "#/rules@16"
773
+ },
774
+ "arguments": []
775
+ },
776
+ {
777
+ "$type": "RuleCall",
778
+ "rule": {
779
+ "$ref": "#/rules@19"
780
+ },
781
+ "arguments": []
782
+ },
783
+ {
784
+ "$type": "RuleCall",
785
+ "rule": {
786
+ "$ref": "#/rules@20"
787
+ },
788
+ "arguments": []
789
+ },
790
+ {
791
+ "$type": "RuleCall",
792
+ "rule": {
793
+ "$ref": "#/rules@21"
794
+ },
795
+ "arguments": []
796
+ },
797
+ {
798
+ "$type": "RuleCall",
799
+ "rule": {
800
+ "$ref": "#/rules@22"
801
+ },
802
+ "arguments": []
803
+ },
804
+ {
805
+ "$type": "RuleCall",
806
+ "rule": {
807
+ "$ref": "#/rules@23"
808
+ },
809
+ "arguments": []
810
+ },
811
+ {
812
+ "$type": "RuleCall",
813
+ "rule": {
814
+ "$ref": "#/rules@30"
815
+ },
816
+ "arguments": []
817
+ },
818
+ {
819
+ "$type": "RuleCall",
820
+ "rule": {
821
+ "$ref": "#/rules@31"
822
+ },
823
+ "arguments": []
824
+ }
825
+ ]
826
+ },
827
+ "entry": false,
828
+ "fragment": false,
829
+ "parameters": []
830
+ },
831
+ {
832
+ "$type": "ParserRule",
833
+ "name": "PersonDeclaration",
834
+ "definition": {
835
+ "$type": "Group",
836
+ "elements": [
837
+ {
838
+ "$type": "Keyword",
839
+ "value": "person"
840
+ },
841
+ {
842
+ "$type": "Assignment",
843
+ "feature": "name",
844
+ "operator": "=",
845
+ "terminal": {
846
+ "$type": "RuleCall",
847
+ "rule": {
848
+ "$ref": "#/rules@49"
849
+ },
850
+ "arguments": []
851
+ },
852
+ "cardinality": "?"
853
+ },
854
+ {
855
+ "$type": "Assignment",
856
+ "feature": "title",
857
+ "operator": "=",
858
+ "terminal": {
859
+ "$type": "RuleCall",
860
+ "rule": {
861
+ "$ref": "#/rules@41"
862
+ },
863
+ "arguments": []
864
+ },
865
+ "cardinality": "?"
866
+ },
867
+ {
868
+ "$type": "Assignment",
869
+ "feature": "properties",
870
+ "operator": "+=",
871
+ "terminal": {
872
+ "$type": "RuleCall",
873
+ "rule": {
874
+ "$ref": "#/rules@33"
875
+ },
876
+ "arguments": []
877
+ },
878
+ "cardinality": "*"
879
+ },
880
+ {
881
+ "$type": "Group",
882
+ "elements": [
883
+ {
884
+ "$type": "RuleCall",
885
+ "rule": {
886
+ "$ref": "#/rules@37"
887
+ },
888
+ "arguments": []
889
+ },
890
+ {
891
+ "$type": "Assignment",
892
+ "feature": "description",
893
+ "operator": "=",
894
+ "terminal": {
895
+ "$type": "RuleCall",
896
+ "rule": {
897
+ "$ref": "#/rules@32"
898
+ },
899
+ "arguments": []
900
+ }
901
+ },
902
+ {
903
+ "$type": "RuleCall",
904
+ "rule": {
905
+ "$ref": "#/rules@38"
906
+ },
907
+ "arguments": []
908
+ }
909
+ ],
910
+ "cardinality": "?"
911
+ }
912
+ ]
913
+ },
914
+ "entry": false,
915
+ "fragment": false,
916
+ "parameters": []
917
+ },
918
+ {
919
+ "$type": "ParserRule",
920
+ "name": "TeamDeclaration",
921
+ "definition": {
922
+ "$type": "Group",
923
+ "elements": [
924
+ {
925
+ "$type": "Keyword",
926
+ "value": "team"
927
+ },
928
+ {
929
+ "$type": "Assignment",
930
+ "feature": "name",
931
+ "operator": "=",
932
+ "terminal": {
933
+ "$type": "RuleCall",
934
+ "rule": {
935
+ "$ref": "#/rules@49"
936
+ },
937
+ "arguments": []
938
+ },
939
+ "cardinality": "?"
940
+ },
941
+ {
942
+ "$type": "Assignment",
943
+ "feature": "title",
944
+ "operator": "=",
945
+ "terminal": {
946
+ "$type": "RuleCall",
947
+ "rule": {
948
+ "$ref": "#/rules@41"
949
+ },
950
+ "arguments": []
951
+ },
952
+ "cardinality": "?"
953
+ },
954
+ {
955
+ "$type": "Assignment",
956
+ "feature": "properties",
957
+ "operator": "+=",
958
+ "terminal": {
959
+ "$type": "RuleCall",
960
+ "rule": {
961
+ "$ref": "#/rules@33"
962
+ },
963
+ "arguments": []
964
+ },
965
+ "cardinality": "*"
966
+ },
967
+ {
968
+ "$type": "Group",
969
+ "elements": [
970
+ {
971
+ "$type": "RuleCall",
972
+ "rule": {
973
+ "$ref": "#/rules@37"
974
+ },
975
+ "arguments": []
976
+ },
977
+ {
978
+ "$type": "Assignment",
979
+ "feature": "content",
980
+ "operator": "+=",
981
+ "terminal": {
982
+ "$type": "RuleCall",
983
+ "rule": {
984
+ "$ref": "#/rules@17"
985
+ },
986
+ "arguments": []
987
+ },
988
+ "cardinality": "+"
989
+ },
990
+ {
991
+ "$type": "RuleCall",
992
+ "rule": {
993
+ "$ref": "#/rules@38"
994
+ },
995
+ "arguments": []
996
+ }
997
+ ],
998
+ "cardinality": "?"
999
+ }
1000
+ ]
1001
+ },
1002
+ "entry": false,
1003
+ "fragment": false,
1004
+ "parameters": []
1005
+ },
1006
+ {
1007
+ "$type": "ParserRule",
1008
+ "name": "TeamContent",
1009
+ "definition": {
1010
+ "$type": "Alternatives",
1011
+ "elements": [
1012
+ {
1013
+ "$type": "RuleCall",
1014
+ "rule": {
1015
+ "$ref": "#/rules@32"
1016
+ },
1017
+ "arguments": []
1018
+ },
1019
+ {
1020
+ "$type": "RuleCall",
1021
+ "rule": {
1022
+ "$ref": "#/rules@18"
1023
+ },
1024
+ "arguments": []
1025
+ },
1026
+ {
1027
+ "$type": "RuleCall",
1028
+ "rule": {
1029
+ "$ref": "#/rules@16"
1030
+ },
1031
+ "arguments": []
1032
+ }
1033
+ ]
1034
+ },
1035
+ "entry": false,
1036
+ "fragment": false,
1037
+ "parameters": []
1038
+ },
1039
+ {
1040
+ "$type": "ParserRule",
1041
+ "name": "PersonMemberRef",
1042
+ "definition": {
1043
+ "$type": "Group",
1044
+ "elements": [
1045
+ {
1046
+ "$type": "Keyword",
1047
+ "value": "person"
1048
+ },
1049
+ {
1050
+ "$type": "Assignment",
1051
+ "feature": "ref",
1052
+ "operator": "=",
1053
+ "terminal": {
1054
+ "$type": "RuleCall",
1055
+ "rule": {
1056
+ "$ref": "#/rules@49"
1057
+ },
1058
+ "arguments": []
1059
+ }
1060
+ }
1061
+ ]
1062
+ },
1063
+ "entry": false,
1064
+ "fragment": false,
1065
+ "parameters": []
1066
+ },
1067
+ {
1068
+ "$type": "ParserRule",
1069
+ "name": "AnchorDeclaration",
1070
+ "definition": {
1071
+ "$type": "Group",
1072
+ "elements": [
1073
+ {
1074
+ "$type": "Keyword",
1075
+ "value": "anchor"
1076
+ },
1077
+ {
1078
+ "$type": "Assignment",
1079
+ "feature": "name",
1080
+ "operator": "=",
1081
+ "terminal": {
1082
+ "$type": "RuleCall",
1083
+ "rule": {
1084
+ "$ref": "#/rules@49"
1085
+ },
1086
+ "arguments": []
1087
+ },
1088
+ "cardinality": "?"
1089
+ },
1090
+ {
1091
+ "$type": "Assignment",
1092
+ "feature": "title",
1093
+ "operator": "=",
1094
+ "terminal": {
1095
+ "$type": "RuleCall",
1096
+ "rule": {
1097
+ "$ref": "#/rules@41"
1098
+ },
1099
+ "arguments": []
1100
+ },
1101
+ "cardinality": "?"
1102
+ },
1103
+ {
1104
+ "$type": "Assignment",
1105
+ "feature": "properties",
1106
+ "operator": "+=",
1107
+ "terminal": {
1108
+ "$type": "RuleCall",
1109
+ "rule": {
1110
+ "$ref": "#/rules@33"
1111
+ },
1112
+ "arguments": []
1113
+ },
1114
+ "cardinality": "*"
1115
+ },
1116
+ {
1117
+ "$type": "Group",
1118
+ "elements": [
1119
+ {
1120
+ "$type": "RuleCall",
1121
+ "rule": {
1122
+ "$ref": "#/rules@37"
1123
+ },
1124
+ "arguments": []
1125
+ },
1126
+ {
1127
+ "$type": "Assignment",
1128
+ "feature": "description",
1129
+ "operator": "=",
1130
+ "terminal": {
1131
+ "$type": "RuleCall",
1132
+ "rule": {
1133
+ "$ref": "#/rules@32"
1134
+ },
1135
+ "arguments": []
1136
+ }
1137
+ },
1138
+ {
1139
+ "$type": "RuleCall",
1140
+ "rule": {
1141
+ "$ref": "#/rules@38"
1142
+ },
1143
+ "arguments": []
1144
+ }
1145
+ ],
1146
+ "cardinality": "?"
1147
+ }
1148
+ ]
1149
+ },
1150
+ "entry": false,
1151
+ "fragment": false,
1152
+ "parameters": []
1153
+ },
1154
+ {
1155
+ "$type": "ParserRule",
1156
+ "name": "LabelDeclaration",
1157
+ "definition": {
1158
+ "$type": "Group",
1159
+ "elements": [
1160
+ {
1161
+ "$type": "Keyword",
1162
+ "value": "label"
1163
+ },
1164
+ {
1165
+ "$type": "Assignment",
1166
+ "feature": "name",
1167
+ "operator": "=",
1168
+ "terminal": {
1169
+ "$type": "RuleCall",
1170
+ "rule": {
1171
+ "$ref": "#/rules@49"
1172
+ },
1173
+ "arguments": []
1174
+ },
1175
+ "cardinality": "?"
1176
+ },
1177
+ {
1178
+ "$type": "Assignment",
1179
+ "feature": "title",
1180
+ "operator": "=",
1181
+ "terminal": {
1182
+ "$type": "RuleCall",
1183
+ "rule": {
1184
+ "$ref": "#/rules@41"
1185
+ },
1186
+ "arguments": []
1187
+ },
1188
+ "cardinality": "?"
1189
+ },
1190
+ {
1191
+ "$type": "Assignment",
1192
+ "feature": "properties",
1193
+ "operator": "+=",
1194
+ "terminal": {
1195
+ "$type": "RuleCall",
1196
+ "rule": {
1197
+ "$ref": "#/rules@33"
1198
+ },
1199
+ "arguments": []
1200
+ },
1201
+ "cardinality": "*"
1202
+ },
1203
+ {
1204
+ "$type": "Group",
1205
+ "elements": [
1206
+ {
1207
+ "$type": "RuleCall",
1208
+ "rule": {
1209
+ "$ref": "#/rules@37"
1210
+ },
1211
+ "arguments": []
1212
+ },
1213
+ {
1214
+ "$type": "Assignment",
1215
+ "feature": "description",
1216
+ "operator": "=",
1217
+ "terminal": {
1218
+ "$type": "RuleCall",
1219
+ "rule": {
1220
+ "$ref": "#/rules@32"
1221
+ },
1222
+ "arguments": []
1223
+ }
1224
+ },
1225
+ {
1226
+ "$type": "RuleCall",
1227
+ "rule": {
1228
+ "$ref": "#/rules@38"
1229
+ },
1230
+ "arguments": []
1231
+ }
1232
+ ],
1233
+ "cardinality": "?"
1234
+ }
1235
+ ]
1236
+ },
1237
+ "entry": false,
1238
+ "fragment": false,
1239
+ "parameters": []
1240
+ },
1241
+ {
1242
+ "$type": "ParserRule",
1243
+ "name": "SizeDeclaration",
1244
+ "definition": {
1245
+ "$type": "Group",
1246
+ "elements": [
1247
+ {
1248
+ "$type": "Keyword",
1249
+ "value": "size"
1250
+ },
1251
+ {
1252
+ "$type": "Assignment",
1253
+ "feature": "name",
1254
+ "operator": "=",
1255
+ "terminal": {
1256
+ "$type": "RuleCall",
1257
+ "rule": {
1258
+ "$ref": "#/rules@49"
1259
+ },
1260
+ "arguments": []
1261
+ },
1262
+ "cardinality": "?"
1263
+ },
1264
+ {
1265
+ "$type": "Assignment",
1266
+ "feature": "title",
1267
+ "operator": "=",
1268
+ "terminal": {
1269
+ "$type": "RuleCall",
1270
+ "rule": {
1271
+ "$ref": "#/rules@41"
1272
+ },
1273
+ "arguments": []
1274
+ },
1275
+ "cardinality": "?"
1276
+ },
1277
+ {
1278
+ "$type": "Assignment",
1279
+ "feature": "properties",
1280
+ "operator": "+=",
1281
+ "terminal": {
1282
+ "$type": "RuleCall",
1283
+ "rule": {
1284
+ "$ref": "#/rules@33"
1285
+ },
1286
+ "arguments": []
1287
+ },
1288
+ "cardinality": "*"
1289
+ },
1290
+ {
1291
+ "$type": "Group",
1292
+ "elements": [
1293
+ {
1294
+ "$type": "RuleCall",
1295
+ "rule": {
1296
+ "$ref": "#/rules@37"
1297
+ },
1298
+ "arguments": []
1299
+ },
1300
+ {
1301
+ "$type": "Assignment",
1302
+ "feature": "description",
1303
+ "operator": "=",
1304
+ "terminal": {
1305
+ "$type": "RuleCall",
1306
+ "rule": {
1307
+ "$ref": "#/rules@32"
1308
+ },
1309
+ "arguments": []
1310
+ }
1311
+ },
1312
+ {
1313
+ "$type": "RuleCall",
1314
+ "rule": {
1315
+ "$ref": "#/rules@38"
1316
+ },
1317
+ "arguments": []
1318
+ }
1319
+ ],
1320
+ "cardinality": "?"
1321
+ }
1322
+ ]
1323
+ },
1324
+ "entry": false,
1325
+ "fragment": false,
1326
+ "parameters": []
1327
+ },
1328
+ {
1329
+ "$type": "ParserRule",
1330
+ "name": "StatusDeclaration",
1331
+ "definition": {
1332
+ "$type": "Group",
1333
+ "elements": [
1334
+ {
1335
+ "$type": "Keyword",
1336
+ "value": "status"
1337
+ },
1338
+ {
1339
+ "$type": "Assignment",
1340
+ "feature": "name",
1341
+ "operator": "=",
1342
+ "terminal": {
1343
+ "$type": "RuleCall",
1344
+ "rule": {
1345
+ "$ref": "#/rules@49"
1346
+ },
1347
+ "arguments": []
1348
+ },
1349
+ "cardinality": "?"
1350
+ },
1351
+ {
1352
+ "$type": "Assignment",
1353
+ "feature": "title",
1354
+ "operator": "=",
1355
+ "terminal": {
1356
+ "$type": "RuleCall",
1357
+ "rule": {
1358
+ "$ref": "#/rules@41"
1359
+ },
1360
+ "arguments": []
1361
+ },
1362
+ "cardinality": "?"
1363
+ },
1364
+ {
1365
+ "$type": "Assignment",
1366
+ "feature": "properties",
1367
+ "operator": "+=",
1368
+ "terminal": {
1369
+ "$type": "RuleCall",
1370
+ "rule": {
1371
+ "$ref": "#/rules@33"
1372
+ },
1373
+ "arguments": []
1374
+ },
1375
+ "cardinality": "*"
1376
+ },
1377
+ {
1378
+ "$type": "Group",
1379
+ "elements": [
1380
+ {
1381
+ "$type": "RuleCall",
1382
+ "rule": {
1383
+ "$ref": "#/rules@37"
1384
+ },
1385
+ "arguments": []
1386
+ },
1387
+ {
1388
+ "$type": "Assignment",
1389
+ "feature": "description",
1390
+ "operator": "=",
1391
+ "terminal": {
1392
+ "$type": "RuleCall",
1393
+ "rule": {
1394
+ "$ref": "#/rules@32"
1395
+ },
1396
+ "arguments": []
1397
+ }
1398
+ },
1399
+ {
1400
+ "$type": "RuleCall",
1401
+ "rule": {
1402
+ "$ref": "#/rules@38"
1403
+ },
1404
+ "arguments": []
1405
+ }
1406
+ ],
1407
+ "cardinality": "?"
1408
+ }
1409
+ ]
1410
+ },
1411
+ "entry": false,
1412
+ "fragment": false,
1413
+ "parameters": []
1414
+ },
1415
+ {
1416
+ "$type": "ParserRule",
1417
+ "name": "SwimlaneDeclaration",
1418
+ "definition": {
1419
+ "$type": "Group",
1420
+ "elements": [
1421
+ {
1422
+ "$type": "Keyword",
1423
+ "value": "swimlane"
1424
+ },
1425
+ {
1426
+ "$type": "Assignment",
1427
+ "feature": "name",
1428
+ "operator": "=",
1429
+ "terminal": {
1430
+ "$type": "RuleCall",
1431
+ "rule": {
1432
+ "$ref": "#/rules@49"
1433
+ },
1434
+ "arguments": []
1435
+ },
1436
+ "cardinality": "?"
1437
+ },
1438
+ {
1439
+ "$type": "Assignment",
1440
+ "feature": "title",
1441
+ "operator": "=",
1442
+ "terminal": {
1443
+ "$type": "RuleCall",
1444
+ "rule": {
1445
+ "$ref": "#/rules@41"
1446
+ },
1447
+ "arguments": []
1448
+ },
1449
+ "cardinality": "?"
1450
+ },
1451
+ {
1452
+ "$type": "Assignment",
1453
+ "feature": "properties",
1454
+ "operator": "+=",
1455
+ "terminal": {
1456
+ "$type": "RuleCall",
1457
+ "rule": {
1458
+ "$ref": "#/rules@33"
1459
+ },
1460
+ "arguments": []
1461
+ },
1462
+ "cardinality": "*"
1463
+ },
1464
+ {
1465
+ "$type": "Group",
1466
+ "elements": [
1467
+ {
1468
+ "$type": "RuleCall",
1469
+ "rule": {
1470
+ "$ref": "#/rules@37"
1471
+ },
1472
+ "arguments": []
1473
+ },
1474
+ {
1475
+ "$type": "Assignment",
1476
+ "feature": "content",
1477
+ "operator": "+=",
1478
+ "terminal": {
1479
+ "$type": "RuleCall",
1480
+ "rule": {
1481
+ "$ref": "#/rules@24"
1482
+ },
1483
+ "arguments": []
1484
+ },
1485
+ "cardinality": "+"
1486
+ },
1487
+ {
1488
+ "$type": "RuleCall",
1489
+ "rule": {
1490
+ "$ref": "#/rules@38"
1491
+ },
1492
+ "arguments": []
1493
+ }
1494
+ ],
1495
+ "cardinality": "?"
1496
+ }
1497
+ ]
1498
+ },
1499
+ "entry": false,
1500
+ "fragment": false,
1501
+ "parameters": []
1502
+ },
1503
+ {
1504
+ "$type": "ParserRule",
1505
+ "name": "SwimlaneContent",
1506
+ "definition": {
1507
+ "$type": "Alternatives",
1508
+ "elements": [
1509
+ {
1510
+ "$type": "RuleCall",
1511
+ "rule": {
1512
+ "$ref": "#/rules@32"
1513
+ },
1514
+ "arguments": []
1515
+ },
1516
+ {
1517
+ "$type": "RuleCall",
1518
+ "rule": {
1519
+ "$ref": "#/rules@25"
1520
+ },
1521
+ "arguments": []
1522
+ },
1523
+ {
1524
+ "$type": "RuleCall",
1525
+ "rule": {
1526
+ "$ref": "#/rules@26"
1527
+ },
1528
+ "arguments": []
1529
+ },
1530
+ {
1531
+ "$type": "RuleCall",
1532
+ "rule": {
1533
+ "$ref": "#/rules@28"
1534
+ },
1535
+ "arguments": []
1536
+ }
1537
+ ]
1538
+ },
1539
+ "entry": false,
1540
+ "fragment": false,
1541
+ "parameters": []
1542
+ },
1543
+ {
1544
+ "$type": "ParserRule",
1545
+ "name": "ItemDeclaration",
1546
+ "definition": {
1547
+ "$type": "Group",
1548
+ "elements": [
1549
+ {
1550
+ "$type": "Keyword",
1551
+ "value": "item"
1552
+ },
1553
+ {
1554
+ "$type": "Assignment",
1555
+ "feature": "name",
1556
+ "operator": "=",
1557
+ "terminal": {
1558
+ "$type": "RuleCall",
1559
+ "rule": {
1560
+ "$ref": "#/rules@49"
1561
+ },
1562
+ "arguments": []
1563
+ },
1564
+ "cardinality": "?"
1565
+ },
1566
+ {
1567
+ "$type": "Assignment",
1568
+ "feature": "title",
1569
+ "operator": "=",
1570
+ "terminal": {
1571
+ "$type": "RuleCall",
1572
+ "rule": {
1573
+ "$ref": "#/rules@41"
1574
+ },
1575
+ "arguments": []
1576
+ },
1577
+ "cardinality": "?"
1578
+ },
1579
+ {
1580
+ "$type": "Assignment",
1581
+ "feature": "properties",
1582
+ "operator": "+=",
1583
+ "terminal": {
1584
+ "$type": "RuleCall",
1585
+ "rule": {
1586
+ "$ref": "#/rules@33"
1587
+ },
1588
+ "arguments": []
1589
+ },
1590
+ "cardinality": "*"
1591
+ },
1592
+ {
1593
+ "$type": "Group",
1594
+ "elements": [
1595
+ {
1596
+ "$type": "RuleCall",
1597
+ "rule": {
1598
+ "$ref": "#/rules@37"
1599
+ },
1600
+ "arguments": []
1601
+ },
1602
+ {
1603
+ "$type": "Assignment",
1604
+ "feature": "description",
1605
+ "operator": "=",
1606
+ "terminal": {
1607
+ "$type": "RuleCall",
1608
+ "rule": {
1609
+ "$ref": "#/rules@32"
1610
+ },
1611
+ "arguments": []
1612
+ }
1613
+ },
1614
+ {
1615
+ "$type": "RuleCall",
1616
+ "rule": {
1617
+ "$ref": "#/rules@38"
1618
+ },
1619
+ "arguments": []
1620
+ }
1621
+ ],
1622
+ "cardinality": "?"
1623
+ }
1624
+ ]
1625
+ },
1626
+ "entry": false,
1627
+ "fragment": false,
1628
+ "parameters": []
1629
+ },
1630
+ {
1631
+ "$type": "ParserRule",
1632
+ "name": "ParallelBlock",
1633
+ "definition": {
1634
+ "$type": "Group",
1635
+ "elements": [
1636
+ {
1637
+ "$type": "Keyword",
1638
+ "value": "parallel"
1639
+ },
1640
+ {
1641
+ "$type": "Assignment",
1642
+ "feature": "name",
1643
+ "operator": "=",
1644
+ "terminal": {
1645
+ "$type": "RuleCall",
1646
+ "rule": {
1647
+ "$ref": "#/rules@49"
1648
+ },
1649
+ "arguments": []
1650
+ },
1651
+ "cardinality": "?"
1652
+ },
1653
+ {
1654
+ "$type": "Assignment",
1655
+ "feature": "title",
1656
+ "operator": "=",
1657
+ "terminal": {
1658
+ "$type": "RuleCall",
1659
+ "rule": {
1660
+ "$ref": "#/rules@41"
1661
+ },
1662
+ "arguments": []
1663
+ },
1664
+ "cardinality": "?"
1665
+ },
1666
+ {
1667
+ "$type": "Assignment",
1668
+ "feature": "properties",
1669
+ "operator": "+=",
1670
+ "terminal": {
1671
+ "$type": "RuleCall",
1672
+ "rule": {
1673
+ "$ref": "#/rules@33"
1674
+ },
1675
+ "arguments": []
1676
+ },
1677
+ "cardinality": "*"
1678
+ },
1679
+ {
1680
+ "$type": "RuleCall",
1681
+ "rule": {
1682
+ "$ref": "#/rules@37"
1683
+ },
1684
+ "arguments": []
1685
+ },
1686
+ {
1687
+ "$type": "Assignment",
1688
+ "feature": "content",
1689
+ "operator": "+=",
1690
+ "terminal": {
1691
+ "$type": "RuleCall",
1692
+ "rule": {
1693
+ "$ref": "#/rules@27"
1694
+ },
1695
+ "arguments": []
1696
+ },
1697
+ "cardinality": "+"
1698
+ },
1699
+ {
1700
+ "$type": "RuleCall",
1701
+ "rule": {
1702
+ "$ref": "#/rules@38"
1703
+ },
1704
+ "arguments": []
1705
+ }
1706
+ ]
1707
+ },
1708
+ "entry": false,
1709
+ "fragment": false,
1710
+ "parameters": []
1711
+ },
1712
+ {
1713
+ "$type": "ParserRule",
1714
+ "name": "ParallelContent",
1715
+ "definition": {
1716
+ "$type": "Alternatives",
1717
+ "elements": [
1718
+ {
1719
+ "$type": "RuleCall",
1720
+ "rule": {
1721
+ "$ref": "#/rules@32"
1722
+ },
1723
+ "arguments": []
1724
+ },
1725
+ {
1726
+ "$type": "RuleCall",
1727
+ "rule": {
1728
+ "$ref": "#/rules@25"
1729
+ },
1730
+ "arguments": []
1731
+ },
1732
+ {
1733
+ "$type": "RuleCall",
1734
+ "rule": {
1735
+ "$ref": "#/rules@28"
1736
+ },
1737
+ "arguments": []
1738
+ }
1739
+ ]
1740
+ },
1741
+ "entry": false,
1742
+ "fragment": false,
1743
+ "parameters": []
1744
+ },
1745
+ {
1746
+ "$type": "ParserRule",
1747
+ "name": "GroupBlock",
1748
+ "definition": {
1749
+ "$type": "Group",
1750
+ "elements": [
1751
+ {
1752
+ "$type": "Keyword",
1753
+ "value": "group"
1754
+ },
1755
+ {
1756
+ "$type": "Assignment",
1757
+ "feature": "name",
1758
+ "operator": "=",
1759
+ "terminal": {
1760
+ "$type": "RuleCall",
1761
+ "rule": {
1762
+ "$ref": "#/rules@49"
1763
+ },
1764
+ "arguments": []
1765
+ },
1766
+ "cardinality": "?"
1767
+ },
1768
+ {
1769
+ "$type": "Assignment",
1770
+ "feature": "title",
1771
+ "operator": "=",
1772
+ "terminal": {
1773
+ "$type": "RuleCall",
1774
+ "rule": {
1775
+ "$ref": "#/rules@41"
1776
+ },
1777
+ "arguments": []
1778
+ },
1779
+ "cardinality": "?"
1780
+ },
1781
+ {
1782
+ "$type": "Assignment",
1783
+ "feature": "properties",
1784
+ "operator": "+=",
1785
+ "terminal": {
1786
+ "$type": "RuleCall",
1787
+ "rule": {
1788
+ "$ref": "#/rules@33"
1789
+ },
1790
+ "arguments": []
1791
+ },
1792
+ "cardinality": "*"
1793
+ },
1794
+ {
1795
+ "$type": "RuleCall",
1796
+ "rule": {
1797
+ "$ref": "#/rules@37"
1798
+ },
1799
+ "arguments": []
1800
+ },
1801
+ {
1802
+ "$type": "Assignment",
1803
+ "feature": "content",
1804
+ "operator": "+=",
1805
+ "terminal": {
1806
+ "$type": "RuleCall",
1807
+ "rule": {
1808
+ "$ref": "#/rules@29"
1809
+ },
1810
+ "arguments": []
1811
+ },
1812
+ "cardinality": "+"
1813
+ },
1814
+ {
1815
+ "$type": "RuleCall",
1816
+ "rule": {
1817
+ "$ref": "#/rules@38"
1818
+ },
1819
+ "arguments": []
1820
+ }
1821
+ ]
1822
+ },
1823
+ "entry": false,
1824
+ "fragment": false,
1825
+ "parameters": []
1826
+ },
1827
+ {
1828
+ "$type": "ParserRule",
1829
+ "name": "GroupContent",
1830
+ "definition": {
1831
+ "$type": "Alternatives",
1832
+ "elements": [
1833
+ {
1834
+ "$type": "RuleCall",
1835
+ "rule": {
1836
+ "$ref": "#/rules@32"
1837
+ },
1838
+ "arguments": []
1839
+ },
1840
+ {
1841
+ "$type": "RuleCall",
1842
+ "rule": {
1843
+ "$ref": "#/rules@25"
1844
+ },
1845
+ "arguments": []
1846
+ },
1847
+ {
1848
+ "$type": "RuleCall",
1849
+ "rule": {
1850
+ "$ref": "#/rules@26"
1851
+ },
1852
+ "arguments": []
1853
+ },
1854
+ {
1855
+ "$type": "RuleCall",
1856
+ "rule": {
1857
+ "$ref": "#/rules@28"
1858
+ },
1859
+ "arguments": []
1860
+ }
1861
+ ]
1862
+ },
1863
+ "entry": false,
1864
+ "fragment": false,
1865
+ "parameters": []
1866
+ },
1867
+ {
1868
+ "$type": "ParserRule",
1869
+ "name": "MilestoneDeclaration",
1870
+ "definition": {
1871
+ "$type": "Group",
1872
+ "elements": [
1873
+ {
1874
+ "$type": "Keyword",
1875
+ "value": "milestone"
1876
+ },
1877
+ {
1878
+ "$type": "Assignment",
1879
+ "feature": "name",
1880
+ "operator": "=",
1881
+ "terminal": {
1882
+ "$type": "RuleCall",
1883
+ "rule": {
1884
+ "$ref": "#/rules@49"
1885
+ },
1886
+ "arguments": []
1887
+ },
1888
+ "cardinality": "?"
1889
+ },
1890
+ {
1891
+ "$type": "Assignment",
1892
+ "feature": "title",
1893
+ "operator": "=",
1894
+ "terminal": {
1895
+ "$type": "RuleCall",
1896
+ "rule": {
1897
+ "$ref": "#/rules@41"
1898
+ },
1899
+ "arguments": []
1900
+ },
1901
+ "cardinality": "?"
1902
+ },
1903
+ {
1904
+ "$type": "Assignment",
1905
+ "feature": "properties",
1906
+ "operator": "+=",
1907
+ "terminal": {
1908
+ "$type": "RuleCall",
1909
+ "rule": {
1910
+ "$ref": "#/rules@33"
1911
+ },
1912
+ "arguments": []
1913
+ },
1914
+ "cardinality": "*"
1915
+ },
1916
+ {
1917
+ "$type": "Group",
1918
+ "elements": [
1919
+ {
1920
+ "$type": "RuleCall",
1921
+ "rule": {
1922
+ "$ref": "#/rules@37"
1923
+ },
1924
+ "arguments": []
1925
+ },
1926
+ {
1927
+ "$type": "Assignment",
1928
+ "feature": "description",
1929
+ "operator": "=",
1930
+ "terminal": {
1931
+ "$type": "RuleCall",
1932
+ "rule": {
1933
+ "$ref": "#/rules@32"
1934
+ },
1935
+ "arguments": []
1936
+ }
1937
+ },
1938
+ {
1939
+ "$type": "RuleCall",
1940
+ "rule": {
1941
+ "$ref": "#/rules@38"
1942
+ },
1943
+ "arguments": []
1944
+ }
1945
+ ],
1946
+ "cardinality": "?"
1947
+ }
1948
+ ]
1949
+ },
1950
+ "entry": false,
1951
+ "fragment": false,
1952
+ "parameters": []
1953
+ },
1954
+ {
1955
+ "$type": "ParserRule",
1956
+ "name": "FootnoteDeclaration",
1957
+ "definition": {
1958
+ "$type": "Group",
1959
+ "elements": [
1960
+ {
1961
+ "$type": "Keyword",
1962
+ "value": "footnote"
1963
+ },
1964
+ {
1965
+ "$type": "Assignment",
1966
+ "feature": "name",
1967
+ "operator": "=",
1968
+ "terminal": {
1969
+ "$type": "RuleCall",
1970
+ "rule": {
1971
+ "$ref": "#/rules@49"
1972
+ },
1973
+ "arguments": []
1974
+ },
1975
+ "cardinality": "?"
1976
+ },
1977
+ {
1978
+ "$type": "Assignment",
1979
+ "feature": "title",
1980
+ "operator": "=",
1981
+ "terminal": {
1982
+ "$type": "RuleCall",
1983
+ "rule": {
1984
+ "$ref": "#/rules@41"
1985
+ },
1986
+ "arguments": []
1987
+ },
1988
+ "cardinality": "?"
1989
+ },
1990
+ {
1991
+ "$type": "Assignment",
1992
+ "feature": "properties",
1993
+ "operator": "+=",
1994
+ "terminal": {
1995
+ "$type": "RuleCall",
1996
+ "rule": {
1997
+ "$ref": "#/rules@33"
1998
+ },
1999
+ "arguments": []
2000
+ },
2001
+ "cardinality": "*"
2002
+ },
2003
+ {
2004
+ "$type": "Group",
2005
+ "elements": [
2006
+ {
2007
+ "$type": "RuleCall",
2008
+ "rule": {
2009
+ "$ref": "#/rules@37"
2010
+ },
2011
+ "arguments": []
2012
+ },
2013
+ {
2014
+ "$type": "Assignment",
2015
+ "feature": "description",
2016
+ "operator": "=",
2017
+ "terminal": {
2018
+ "$type": "RuleCall",
2019
+ "rule": {
2020
+ "$ref": "#/rules@32"
2021
+ },
2022
+ "arguments": []
2023
+ }
2024
+ },
2025
+ {
2026
+ "$type": "RuleCall",
2027
+ "rule": {
2028
+ "$ref": "#/rules@38"
2029
+ },
2030
+ "arguments": []
2031
+ }
2032
+ ],
2033
+ "cardinality": "?"
2034
+ }
2035
+ ]
2036
+ },
2037
+ "entry": false,
2038
+ "fragment": false,
2039
+ "parameters": []
2040
+ },
2041
+ {
2042
+ "$type": "ParserRule",
2043
+ "name": "DescriptionDirective",
2044
+ "definition": {
2045
+ "$type": "Group",
2046
+ "elements": [
2047
+ {
2048
+ "$type": "Keyword",
2049
+ "value": "description"
2050
+ },
2051
+ {
2052
+ "$type": "Assignment",
2053
+ "feature": "text",
2054
+ "operator": "=",
2055
+ "terminal": {
2056
+ "$type": "RuleCall",
2057
+ "rule": {
2058
+ "$ref": "#/rules@41"
2059
+ },
2060
+ "arguments": []
2061
+ }
2062
+ }
2063
+ ]
2064
+ },
2065
+ "entry": false,
2066
+ "fragment": false,
2067
+ "parameters": []
2068
+ },
2069
+ {
2070
+ "$type": "ParserRule",
2071
+ "name": "EntityProperty",
2072
+ "definition": {
2073
+ "$type": "Group",
2074
+ "elements": [
2075
+ {
2076
+ "$type": "Assignment",
2077
+ "feature": "key",
2078
+ "operator": "=",
2079
+ "terminal": {
2080
+ "$type": "RuleCall",
2081
+ "rule": {
2082
+ "$ref": "#/rules@48"
2083
+ },
2084
+ "arguments": []
2085
+ }
2086
+ },
2087
+ {
2088
+ "$type": "Alternatives",
2089
+ "elements": [
2090
+ {
2091
+ "$type": "Assignment",
2092
+ "feature": "value",
2093
+ "operator": "=",
2094
+ "terminal": {
2095
+ "$type": "RuleCall",
2096
+ "rule": {
2097
+ "$ref": "#/rules@36"
2098
+ },
2099
+ "arguments": []
2100
+ }
2101
+ },
2102
+ {
2103
+ "$type": "Group",
2104
+ "elements": [
2105
+ {
2106
+ "$type": "Keyword",
2107
+ "value": "["
2108
+ },
2109
+ {
2110
+ "$type": "Assignment",
2111
+ "feature": "values",
2112
+ "operator": "+=",
2113
+ "terminal": {
2114
+ "$type": "RuleCall",
2115
+ "rule": {
2116
+ "$ref": "#/rules@36"
2117
+ },
2118
+ "arguments": []
2119
+ }
2120
+ },
2121
+ {
2122
+ "$type": "Group",
2123
+ "elements": [
2124
+ {
2125
+ "$type": "Keyword",
2126
+ "value": ","
2127
+ },
2128
+ {
2129
+ "$type": "Assignment",
2130
+ "feature": "values",
2131
+ "operator": "+=",
2132
+ "terminal": {
2133
+ "$type": "RuleCall",
2134
+ "rule": {
2135
+ "$ref": "#/rules@36"
2136
+ },
2137
+ "arguments": []
2138
+ }
2139
+ }
2140
+ ],
2141
+ "cardinality": "*"
2142
+ },
2143
+ {
2144
+ "$type": "Keyword",
2145
+ "value": "]"
2146
+ }
2147
+ ]
2148
+ }
2149
+ ]
2150
+ }
2151
+ ]
2152
+ },
2153
+ "entry": false,
2154
+ "fragment": false,
2155
+ "parameters": []
2156
+ },
2157
+ {
2158
+ "$type": "ParserRule",
2159
+ "name": "BlockProperty",
2160
+ "definition": {
2161
+ "$type": "Group",
2162
+ "elements": [
2163
+ {
2164
+ "$type": "Assignment",
2165
+ "feature": "key",
2166
+ "operator": "=",
2167
+ "terminal": {
2168
+ "$type": "RuleCall",
2169
+ "rule": {
2170
+ "$ref": "#/rules@48"
2171
+ },
2172
+ "arguments": []
2173
+ }
2174
+ },
2175
+ {
2176
+ "$type": "Assignment",
2177
+ "feature": "value",
2178
+ "operator": "=",
2179
+ "terminal": {
2180
+ "$type": "RuleCall",
2181
+ "rule": {
2182
+ "$ref": "#/rules@7"
2183
+ },
2184
+ "arguments": []
2185
+ }
2186
+ }
2187
+ ]
2188
+ },
2189
+ "entry": false,
2190
+ "fragment": false,
2191
+ "parameters": []
2192
+ },
2193
+ {
2194
+ "$type": "ParserRule",
2195
+ "name": "StyleProperty",
2196
+ "definition": {
2197
+ "$type": "Group",
2198
+ "elements": [
2199
+ {
2200
+ "$type": "Assignment",
2201
+ "feature": "key",
2202
+ "operator": "=",
2203
+ "terminal": {
2204
+ "$type": "RuleCall",
2205
+ "rule": {
2206
+ "$ref": "#/rules@48"
2207
+ },
2208
+ "arguments": []
2209
+ }
2210
+ },
2211
+ {
2212
+ "$type": "Assignment",
2213
+ "feature": "value",
2214
+ "operator": "=",
2215
+ "terminal": {
2216
+ "$type": "RuleCall",
2217
+ "rule": {
2218
+ "$ref": "#/rules@10"
2219
+ },
2220
+ "arguments": []
2221
+ }
2222
+ }
2223
+ ]
2224
+ },
2225
+ "entry": false,
2226
+ "fragment": false,
2227
+ "parameters": []
2228
+ },
2229
+ {
2230
+ "$type": "ParserRule",
2231
+ "name": "PropertyAtom",
2232
+ "dataType": "string",
2233
+ "definition": {
2234
+ "$type": "Alternatives",
2235
+ "elements": [
2236
+ {
2237
+ "$type": "RuleCall",
2238
+ "rule": {
2239
+ "$ref": "#/rules@49"
2240
+ },
2241
+ "arguments": []
2242
+ },
2243
+ {
2244
+ "$type": "RuleCall",
2245
+ "rule": {
2246
+ "$ref": "#/rules@41"
2247
+ },
2248
+ "arguments": []
2249
+ },
2250
+ {
2251
+ "$type": "RuleCall",
2252
+ "rule": {
2253
+ "$ref": "#/rules@43"
2254
+ },
2255
+ "arguments": []
2256
+ },
2257
+ {
2258
+ "$type": "RuleCall",
2259
+ "rule": {
2260
+ "$ref": "#/rules@44"
2261
+ },
2262
+ "arguments": []
2263
+ },
2264
+ {
2265
+ "$type": "RuleCall",
2266
+ "rule": {
2267
+ "$ref": "#/rules@40"
2268
+ },
2269
+ "arguments": []
2270
+ },
2271
+ {
2272
+ "$type": "RuleCall",
2273
+ "rule": {
2274
+ "$ref": "#/rules@42"
2275
+ },
2276
+ "arguments": []
2277
+ },
2278
+ {
2279
+ "$type": "RuleCall",
2280
+ "rule": {
2281
+ "$ref": "#/rules@45"
2282
+ },
2283
+ "arguments": []
2284
+ },
2285
+ {
2286
+ "$type": "RuleCall",
2287
+ "rule": {
2288
+ "$ref": "#/rules@46"
2289
+ },
2290
+ "arguments": []
2291
+ },
2292
+ {
2293
+ "$type": "RuleCall",
2294
+ "rule": {
2295
+ "$ref": "#/rules@47"
2296
+ },
2297
+ "arguments": []
2298
+ },
2299
+ {
2300
+ "$type": "Keyword",
2301
+ "value": "person"
2302
+ }
2303
+ ]
2304
+ },
2305
+ "entry": false,
2306
+ "fragment": false,
2307
+ "parameters": []
2308
+ },
2309
+ {
2310
+ "$type": "TerminalRule",
2311
+ "name": "INDENT",
2312
+ "definition": {
2313
+ "$type": "RegexToken",
2314
+ "regex": "/\\\\x01/",
2315
+ "parenthesized": false
2316
+ },
2317
+ "fragment": false,
2318
+ "hidden": false
2319
+ },
2320
+ {
2321
+ "$type": "TerminalRule",
2322
+ "name": "DEDENT",
2323
+ "definition": {
2324
+ "$type": "RegexToken",
2325
+ "regex": "/\\\\x02/",
2326
+ "parenthesized": false
2327
+ },
2328
+ "fragment": false,
2329
+ "hidden": false
2330
+ },
2331
+ {
2332
+ "$type": "TerminalRule",
2333
+ "name": "INCLUDE_OPTION_KEY",
2334
+ "definition": {
2335
+ "$type": "RegexToken",
2336
+ "regex": "/(config|roadmap):/",
2337
+ "parenthesized": false
2338
+ },
2339
+ "fragment": false,
2340
+ "hidden": false
2341
+ },
2342
+ {
2343
+ "$type": "TerminalRule",
2344
+ "name": "URL",
2345
+ "definition": {
2346
+ "$type": "RegexToken",
2347
+ "regex": "/https?:\\\\/\\\\/[^\\\\s\\\\[\\\\],]+/",
2348
+ "parenthesized": false
2349
+ },
2350
+ "fragment": false,
2351
+ "hidden": false
2352
+ },
2353
+ {
2354
+ "$type": "TerminalRule",
2355
+ "name": "STRING",
2356
+ "definition": {
2357
+ "$type": "RegexToken",
2358
+ "regex": "/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"/",
2359
+ "parenthesized": false
2360
+ },
2361
+ "fragment": false,
2362
+ "hidden": false
2363
+ },
2364
+ {
2365
+ "$type": "TerminalRule",
2366
+ "name": "DATE_LITERAL",
2367
+ "definition": {
2368
+ "$type": "RegexToken",
2369
+ "regex": "/\\\\d{4}-\\\\d{2}-\\\\d{2}/",
2370
+ "parenthesized": false
2371
+ },
2372
+ "fragment": false,
2373
+ "hidden": false
2374
+ },
2375
+ {
2376
+ "$type": "TerminalRule",
2377
+ "name": "DURATION_LITERAL",
2378
+ "definition": {
2379
+ "$type": "RegexToken",
2380
+ "regex": "/\\\\d+(\\\\.\\\\d+)?[dwmqy]/",
2381
+ "parenthesized": false
2382
+ },
2383
+ "fragment": false,
2384
+ "hidden": false
2385
+ },
2386
+ {
2387
+ "$type": "TerminalRule",
2388
+ "name": "PERCENTAGE",
2389
+ "definition": {
2390
+ "$type": "RegexToken",
2391
+ "regex": "/\\\\d+(\\\\.\\\\d+)?%/",
2392
+ "parenthesized": false
2393
+ },
2394
+ "fragment": false,
2395
+ "hidden": false
2396
+ },
2397
+ {
2398
+ "$type": "TerminalRule",
2399
+ "name": "COLOR_HEX",
2400
+ "definition": {
2401
+ "$type": "RegexToken",
2402
+ "regex": "/#[0-9a-fA-F]{3,8}/",
2403
+ "parenthesized": false
2404
+ },
2405
+ "fragment": false,
2406
+ "hidden": false
2407
+ },
2408
+ {
2409
+ "$type": "TerminalRule",
2410
+ "name": "DECIMAL",
2411
+ "definition": {
2412
+ "$type": "RegexToken",
2413
+ "regex": "/\\\\d+\\\\.\\\\d+/",
2414
+ "parenthesized": false
2415
+ },
2416
+ "fragment": false,
2417
+ "hidden": false
2418
+ },
2419
+ {
2420
+ "$type": "TerminalRule",
2421
+ "name": "INTEGER",
2422
+ "definition": {
2423
+ "$type": "RegexToken",
2424
+ "regex": "/\\\\d+/",
2425
+ "parenthesized": false
2426
+ },
2427
+ "fragment": false,
2428
+ "hidden": false
2429
+ },
2430
+ {
2431
+ "$type": "TerminalRule",
2432
+ "name": "PROPERTY_KEY_WITH_COLON",
2433
+ "definition": {
2434
+ "$type": "RegexToken",
2435
+ "regex": "/[a-zA-Z_][a-zA-Z0-9_-]*:/",
2436
+ "parenthesized": false
2437
+ },
2438
+ "fragment": false,
2439
+ "hidden": false
2440
+ },
2441
+ {
2442
+ "$type": "TerminalRule",
2443
+ "name": "ID",
2444
+ "definition": {
2445
+ "$type": "RegexToken",
2446
+ "regex": "/[a-zA-Z_][a-zA-Z0-9_-]*/",
2447
+ "parenthesized": false
2448
+ },
2449
+ "fragment": false,
2450
+ "hidden": false
2451
+ },
2452
+ {
2453
+ "$type": "TerminalRule",
2454
+ "hidden": true,
2455
+ "name": "WS",
2456
+ "definition": {
2457
+ "$type": "RegexToken",
2458
+ "regex": "/[\\\\t ]+/",
2459
+ "parenthesized": false
2460
+ },
2461
+ "fragment": false
2462
+ },
2463
+ {
2464
+ "$type": "TerminalRule",
2465
+ "hidden": true,
2466
+ "name": "NL",
2467
+ "definition": {
2468
+ "$type": "RegexToken",
2469
+ "regex": "/[\\\\r\\\\n]+/",
2470
+ "parenthesized": false
2471
+ },
2472
+ "fragment": false
2473
+ },
2474
+ {
2475
+ "$type": "TerminalRule",
2476
+ "hidden": true,
2477
+ "name": "SL_COMMENT",
2478
+ "definition": {
2479
+ "$type": "RegexToken",
2480
+ "regex": "/\\\\/\\\\/[^\\\\r\\\\n]*/",
2481
+ "parenthesized": false
2482
+ },
2483
+ "fragment": false
2484
+ },
2485
+ {
2486
+ "$type": "TerminalRule",
2487
+ "hidden": true,
2488
+ "name": "ML_COMMENT",
2489
+ "definition": {
2490
+ "$type": "RegexToken",
2491
+ "regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//",
2492
+ "parenthesized": false
2493
+ },
2494
+ "fragment": false
2495
+ },
2496
+ {
2497
+ "$type": "TerminalRule",
2498
+ "hidden": true,
2499
+ "name": "LINE_CONTINUATION",
2500
+ "definition": {
2501
+ "$type": "RegexToken",
2502
+ "regex": "/\\\\\\\\[ \\\\t]*\\\\r?\\\\n[ \\\\t]*/",
2503
+ "parenthesized": false
2504
+ },
2505
+ "fragment": false
2506
+ }
2507
+ ],
2508
+ "imports": [],
2509
+ "interfaces": [],
2510
+ "types": []
2511
+ }`));