@likec4/language-server 0.6.2 → 0.8.0

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