@likec4/language-server 0.6.1 → 0.6.2

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 (101) hide show
  1. package/package.json +5 -5
  2. package/contrib/likec4.monarch.ts +0 -31
  3. package/contrib/likec4.tmLanguage.json +0 -73
  4. package/dist/__test__/parser-smoke/01-Specification.d.ts +0 -3
  5. package/dist/__test__/parser-smoke/01-Specification.js +0 -42
  6. package/dist/__test__/parser-smoke/02-Model.d.ts +0 -9
  7. package/dist/__test__/parser-smoke/02-Model.js +0 -110
  8. package/dist/__test__/parser-smoke/03-ModelRelation.d.ts +0 -6
  9. package/dist/__test__/parser-smoke/03-ModelRelation.js +0 -81
  10. package/dist/__test__/parser-smoke/04-Scope.d.ts +0 -2
  11. package/dist/__test__/parser-smoke/04-Scope.js +0 -38
  12. package/dist/__test__/parser-smoke/05-StrictElementRef.d.ts +0 -3
  13. package/dist/__test__/parser-smoke/05-StrictElementRef.js +0 -46
  14. package/dist/__test__/parser-smoke/06-ElementRef.d.ts +0 -2
  15. package/dist/__test__/parser-smoke/06-ElementRef.js +0 -59
  16. package/dist/__test__/parser-smoke/07-Views.d.ts +0 -10
  17. package/dist/__test__/parser-smoke/07-Views.js +0 -146
  18. package/dist/__test__/parser-smoke/08-Structurizr.d.ts +0 -1
  19. package/dist/__test__/parser-smoke/08-Structurizr.js +0 -22
  20. package/dist/__test__/parser-smoke/index.d.ts +0 -8
  21. package/dist/__test__/parser-smoke/index.js +0 -8
  22. package/dist/__test__/parser-smoke-extendsElement.spec.d.ts +0 -1
  23. package/dist/__test__/parser-smoke-extendsElement.spec.js +0 -36
  24. package/dist/__test__/parser-smoke.spec.d.ts +0 -1
  25. package/dist/__test__/parser-smoke.spec.js +0 -28
  26. package/dist/ast.d.ts +0 -73
  27. package/dist/ast.js +0 -133
  28. package/dist/builtin.d.ts +0 -4
  29. package/dist/builtin.js +0 -8
  30. package/dist/elementRef.d.ts +0 -6
  31. package/dist/elementRef.js +0 -39
  32. package/dist/generated/ast.d.ts +0 -359
  33. package/dist/generated/ast.js +0 -376
  34. package/dist/generated/grammar.d.ts +0 -6
  35. package/dist/generated/grammar.js +0 -2542
  36. package/dist/generated/module.d.ts +0 -9
  37. package/dist/generated/module.js +0 -26
  38. package/dist/index.d.ts +0 -3
  39. package/dist/index.js +0 -14
  40. package/dist/logger.d.ts +0 -8
  41. package/dist/logger.js +0 -20
  42. package/dist/lsp/DocumentSymbolProvider.d.ts +0 -21
  43. package/dist/lsp/DocumentSymbolProvider.js +0 -149
  44. package/dist/lsp/HoverProvider.d.ts +0 -8
  45. package/dist/lsp/HoverProvider.js +0 -54
  46. package/dist/lsp/SemanticTokenProvider.d.ts +0 -6
  47. package/dist/lsp/SemanticTokenProvider.js +0 -221
  48. package/dist/lsp/index.d.ts +0 -3
  49. package/dist/lsp/index.js +0 -3
  50. package/dist/model/fqn-index.d.ts +0 -17
  51. package/dist/model/fqn-index.js +0 -138
  52. package/dist/model/index.d.ts +0 -3
  53. package/dist/model/index.js +0 -3
  54. package/dist/model/model-builder.d.ts +0 -26
  55. package/dist/model/model-builder.js +0 -332
  56. package/dist/model/model-builder.spec.d.ts +0 -1
  57. package/dist/model/model-builder.spec.js +0 -141
  58. package/dist/model/model-locator.d.ts +0 -16
  59. package/dist/model/model-locator.js +0 -108
  60. package/dist/module.d.ts +0 -18
  61. package/dist/module.js +0 -61
  62. package/dist/protocol.d.ts +0 -39
  63. package/dist/protocol.js +0 -19
  64. package/dist/references/index.d.ts +0 -2
  65. package/dist/references/index.js +0 -2
  66. package/dist/references/scope-computation.d.ts +0 -10
  67. package/dist/references/scope-computation.js +0 -76
  68. package/dist/references/scope-provider.d.ts +0 -15
  69. package/dist/references/scope-provider.js +0 -110
  70. package/dist/registerProtocolHandlers.d.ts +0 -2
  71. package/dist/registerProtocolHandlers.js +0 -64
  72. package/dist/shared/CodeLensProvider.d.ts +0 -8
  73. package/dist/shared/CodeLensProvider.js +0 -35
  74. package/dist/shared/WorkspaceManager.d.ts +0 -13
  75. package/dist/shared/WorkspaceManager.js +0 -19
  76. package/dist/shared/index.d.ts +0 -2
  77. package/dist/shared/index.js +0 -2
  78. package/dist/test/index.d.ts +0 -1
  79. package/dist/test/index.js +0 -1
  80. package/dist/test/testServices.d.ts +0 -15
  81. package/dist/test/testServices.js +0 -57
  82. package/dist/utils.d.ts +0 -2
  83. package/dist/utils.js +0 -7
  84. package/dist/validation/element.d.ts +0 -5
  85. package/dist/validation/element.js +0 -20
  86. package/dist/validation/element.spec.d.ts +0 -1
  87. package/dist/validation/element.spec.js +0 -65
  88. package/dist/validation/index.d.ts +0 -2
  89. package/dist/validation/index.js +0 -22
  90. package/dist/validation/relation.d.ts +0 -4
  91. package/dist/validation/relation.js +0 -53
  92. package/dist/validation/relation.spec.d.ts +0 -1
  93. package/dist/validation/relation.spec.js +0 -93
  94. package/dist/validation/specification.d.ts +0 -5
  95. package/dist/validation/specification.js +0 -33
  96. package/dist/validation/specification.spec.d.ts +0 -1
  97. package/dist/validation/specification.spec.js +0 -31
  98. package/dist/validation/view.d.ts +0 -4
  99. package/dist/validation/view.js +0 -20
  100. package/dist/validation/view.spec.d.ts +0 -1
  101. package/dist/validation/view.spec.js +0 -20
@@ -1,2542 +0,0 @@
1
- /******************************************************************************
2
- * This file was generated by langium-cli 1.1.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": "RuleCall",
769
- "rule": {
770
- "$ref": "#/rules@45"
771
- },
772
- "arguments": []
773
- },
774
- {
775
- "$type": "Assignment",
776
- "feature": "body",
777
- "operator": "=",
778
- "terminal": {
779
- "$type": "RuleCall",
780
- "rule": {
781
- "$ref": "#/rules@10"
782
- },
783
- "arguments": []
784
- }
785
- },
786
- {
787
- "$type": "RuleCall",
788
- "rule": {
789
- "$ref": "#/rules@46"
790
- },
791
- "arguments": []
792
- }
793
- ]
794
- },
795
- "definesHiddenTokens": false,
796
- "entry": false,
797
- "fragment": false,
798
- "hiddenTokens": [],
799
- "parameters": [],
800
- "wildcard": false
801
- },
802
- {
803
- "$type": "ParserRule",
804
- "name": "ExtendElementBody",
805
- "definition": {
806
- "$type": "Assignment",
807
- "feature": "elements",
808
- "operator": "+=",
809
- "terminal": {
810
- "$type": "Alternatives",
811
- "elements": [
812
- {
813
- "$type": "RuleCall",
814
- "rule": {
815
- "$ref": "#/rules@6"
816
- },
817
- "arguments": []
818
- },
819
- {
820
- "$type": "RuleCall",
821
- "rule": {
822
- "$ref": "#/rules@17"
823
- },
824
- "arguments": []
825
- }
826
- ]
827
- },
828
- "cardinality": "*"
829
- },
830
- "definesHiddenTokens": false,
831
- "entry": false,
832
- "fragment": false,
833
- "hiddenTokens": [],
834
- "parameters": [],
835
- "wildcard": false
836
- },
837
- {
838
- "$type": "ParserRule",
839
- "name": "StrictElementRef",
840
- "definition": {
841
- "$type": "Group",
842
- "elements": [
843
- {
844
- "$type": "Assignment",
845
- "feature": "el",
846
- "operator": "=",
847
- "terminal": {
848
- "$type": "CrossReference",
849
- "type": {
850
- "$ref": "#/rules@6"
851
- },
852
- "terminal": {
853
- "$type": "RuleCall",
854
- "rule": {
855
- "$ref": "#/rules@36"
856
- },
857
- "arguments": []
858
- },
859
- "deprecatedSyntax": false
860
- }
861
- },
862
- {
863
- "$type": "Group",
864
- "elements": [
865
- {
866
- "$type": "RuleCall",
867
- "rule": {
868
- "$ref": "#/rules@43"
869
- },
870
- "arguments": []
871
- },
872
- {
873
- "$type": "Assignment",
874
- "feature": "next",
875
- "operator": "=",
876
- "terminal": {
877
- "$type": "RuleCall",
878
- "rule": {
879
- "$ref": "#/rules@11"
880
- },
881
- "arguments": []
882
- }
883
- }
884
- ],
885
- "cardinality": "?"
886
- }
887
- ]
888
- },
889
- "definesHiddenTokens": false,
890
- "entry": false,
891
- "fragment": false,
892
- "hiddenTokens": [],
893
- "parameters": [],
894
- "wildcard": false
895
- },
896
- {
897
- "$type": "ParserRule",
898
- "name": "ElementRef",
899
- "definition": {
900
- "$type": "Group",
901
- "elements": [
902
- {
903
- "$type": "Assignment",
904
- "feature": "el",
905
- "operator": "=",
906
- "terminal": {
907
- "$type": "CrossReference",
908
- "type": {
909
- "$ref": "#/rules@6"
910
- },
911
- "terminal": {
912
- "$type": "RuleCall",
913
- "rule": {
914
- "$ref": "#/rules@36"
915
- },
916
- "arguments": []
917
- },
918
- "deprecatedSyntax": false
919
- }
920
- },
921
- {
922
- "$type": "Group",
923
- "elements": [
924
- {
925
- "$type": "RuleCall",
926
- "rule": {
927
- "$ref": "#/rules@43"
928
- },
929
- "arguments": []
930
- },
931
- {
932
- "$type": "Assignment",
933
- "feature": "next",
934
- "operator": "=",
935
- "terminal": {
936
- "$type": "RuleCall",
937
- "rule": {
938
- "$ref": "#/rules@12"
939
- },
940
- "arguments": []
941
- }
942
- }
943
- ],
944
- "cardinality": "?"
945
- }
946
- ]
947
- },
948
- "definesHiddenTokens": false,
949
- "entry": false,
950
- "fragment": false,
951
- "hiddenTokens": [],
952
- "parameters": [],
953
- "wildcard": false
954
- },
955
- {
956
- "$type": "ParserRule",
957
- "name": "Tags",
958
- "definition": {
959
- "$type": "Assignment",
960
- "feature": "value",
961
- "operator": "+=",
962
- "terminal": {
963
- "$type": "CrossReference",
964
- "type": {
965
- "$ref": "#/rules@33"
966
- },
967
- "terminal": {
968
- "$type": "RuleCall",
969
- "rule": {
970
- "$ref": "#/rules@49"
971
- },
972
- "arguments": []
973
- },
974
- "deprecatedSyntax": false
975
- }
976
- },
977
- "definesHiddenTokens": false,
978
- "entry": false,
979
- "fragment": false,
980
- "hiddenTokens": [],
981
- "parameters": [],
982
- "wildcard": false
983
- },
984
- {
985
- "$type": "ParserRule",
986
- "name": "Relation",
987
- "definition": {
988
- "$type": "Alternatives",
989
- "elements": [
990
- {
991
- "$type": "RuleCall",
992
- "rule": {
993
- "$ref": "#/rules@17"
994
- },
995
- "arguments": []
996
- },
997
- {
998
- "$type": "RuleCall",
999
- "rule": {
1000
- "$ref": "#/rules@16"
1001
- },
1002
- "arguments": []
1003
- }
1004
- ]
1005
- },
1006
- "definesHiddenTokens": false,
1007
- "entry": false,
1008
- "fragment": false,
1009
- "hiddenTokens": [],
1010
- "parameters": [],
1011
- "wildcard": false
1012
- },
1013
- {
1014
- "$type": "ParserRule",
1015
- "name": "RelationFragment",
1016
- "fragment": true,
1017
- "definition": {
1018
- "$type": "Group",
1019
- "elements": [
1020
- {
1021
- "$type": "Assignment",
1022
- "feature": "target",
1023
- "operator": "=",
1024
- "terminal": {
1025
- "$type": "RuleCall",
1026
- "rule": {
1027
- "$ref": "#/rules@12"
1028
- },
1029
- "arguments": []
1030
- }
1031
- },
1032
- {
1033
- "$type": "Assignment",
1034
- "feature": "title",
1035
- "operator": "=",
1036
- "terminal": {
1037
- "$type": "RuleCall",
1038
- "rule": {
1039
- "$ref": "#/rules@50"
1040
- },
1041
- "arguments": []
1042
- },
1043
- "cardinality": "?"
1044
- },
1045
- {
1046
- "$type": "Assignment",
1047
- "feature": "definition",
1048
- "operator": "=",
1049
- "terminal": {
1050
- "$type": "RuleCall",
1051
- "rule": {
1052
- "$ref": "#/rules@18"
1053
- },
1054
- "arguments": []
1055
- },
1056
- "cardinality": "?"
1057
- }
1058
- ]
1059
- },
1060
- "definesHiddenTokens": false,
1061
- "entry": false,
1062
- "hiddenTokens": [],
1063
- "parameters": [],
1064
- "wildcard": false
1065
- },
1066
- {
1067
- "$type": "ParserRule",
1068
- "name": "RelationWithoutSource",
1069
- "inferredType": {
1070
- "$type": "InferredType",
1071
- "name": "Relation"
1072
- },
1073
- "definition": {
1074
- "$type": "Group",
1075
- "elements": [
1076
- {
1077
- "$type": "Alternatives",
1078
- "elements": [
1079
- {
1080
- "$type": "Keyword",
1081
- "value": "this"
1082
- },
1083
- {
1084
- "$type": "Keyword",
1085
- "value": "it"
1086
- }
1087
- ],
1088
- "cardinality": "?"
1089
- },
1090
- {
1091
- "$type": "Keyword",
1092
- "value": "->"
1093
- },
1094
- {
1095
- "$type": "RuleCall",
1096
- "rule": {
1097
- "$ref": "#/rules@15"
1098
- },
1099
- "arguments": []
1100
- }
1101
- ]
1102
- },
1103
- "definesHiddenTokens": false,
1104
- "entry": false,
1105
- "fragment": false,
1106
- "hiddenTokens": [],
1107
- "parameters": [],
1108
- "wildcard": false
1109
- },
1110
- {
1111
- "$type": "ParserRule",
1112
- "name": "RelationWithSource",
1113
- "definition": {
1114
- "$type": "Group",
1115
- "elements": [
1116
- {
1117
- "$type": "Assignment",
1118
- "feature": "source",
1119
- "operator": "=",
1120
- "terminal": {
1121
- "$type": "RuleCall",
1122
- "rule": {
1123
- "$ref": "#/rules@12"
1124
- },
1125
- "arguments": []
1126
- }
1127
- },
1128
- {
1129
- "$type": "Keyword",
1130
- "value": "->"
1131
- },
1132
- {
1133
- "$type": "RuleCall",
1134
- "rule": {
1135
- "$ref": "#/rules@15"
1136
- },
1137
- "arguments": []
1138
- }
1139
- ]
1140
- },
1141
- "definesHiddenTokens": false,
1142
- "entry": false,
1143
- "fragment": false,
1144
- "hiddenTokens": [],
1145
- "parameters": [],
1146
- "wildcard": false
1147
- },
1148
- {
1149
- "$type": "ParserRule",
1150
- "name": "RelationBody",
1151
- "definition": {
1152
- "$type": "Group",
1153
- "elements": [
1154
- {
1155
- "$type": "RuleCall",
1156
- "rule": {
1157
- "$ref": "#/rules@45"
1158
- },
1159
- "arguments": []
1160
- },
1161
- {
1162
- "$type": "Assignment",
1163
- "feature": "tags",
1164
- "operator": "=",
1165
- "terminal": {
1166
- "$type": "RuleCall",
1167
- "rule": {
1168
- "$ref": "#/rules@13"
1169
- },
1170
- "arguments": []
1171
- },
1172
- "cardinality": "?"
1173
- },
1174
- {
1175
- "$type": "Assignment",
1176
- "feature": "props",
1177
- "operator": "+=",
1178
- "terminal": {
1179
- "$type": "RuleCall",
1180
- "rule": {
1181
- "$ref": "#/rules@19"
1182
- },
1183
- "arguments": []
1184
- },
1185
- "cardinality": "*"
1186
- },
1187
- {
1188
- "$type": "RuleCall",
1189
- "rule": {
1190
- "$ref": "#/rules@46"
1191
- },
1192
- "arguments": []
1193
- }
1194
- ]
1195
- },
1196
- "definesHiddenTokens": false,
1197
- "entry": false,
1198
- "fragment": false,
1199
- "hiddenTokens": [],
1200
- "parameters": [],
1201
- "wildcard": false
1202
- },
1203
- {
1204
- "$type": "ParserRule",
1205
- "name": "RelationStringProperty",
1206
- "definition": {
1207
- "$type": "Group",
1208
- "elements": [
1209
- {
1210
- "$type": "Assignment",
1211
- "feature": "key",
1212
- "operator": "=",
1213
- "terminal": {
1214
- "$type": "Keyword",
1215
- "value": "title"
1216
- }
1217
- },
1218
- {
1219
- "$type": "RuleCall",
1220
- "rule": {
1221
- "$ref": "#/rules@47"
1222
- },
1223
- "arguments": [],
1224
- "cardinality": "?"
1225
- },
1226
- {
1227
- "$type": "Assignment",
1228
- "feature": "value",
1229
- "operator": "=",
1230
- "terminal": {
1231
- "$type": "RuleCall",
1232
- "rule": {
1233
- "$ref": "#/rules@50"
1234
- },
1235
- "arguments": []
1236
- }
1237
- }
1238
- ]
1239
- },
1240
- "definesHiddenTokens": false,
1241
- "entry": false,
1242
- "fragment": false,
1243
- "hiddenTokens": [],
1244
- "parameters": [],
1245
- "wildcard": false
1246
- },
1247
- {
1248
- "$type": "ParserRule",
1249
- "name": "ModelViews",
1250
- "definition": {
1251
- "$type": "Group",
1252
- "elements": [
1253
- {
1254
- "$type": "Assignment",
1255
- "feature": "name",
1256
- "operator": "=",
1257
- "terminal": {
1258
- "$type": "Keyword",
1259
- "value": "views"
1260
- }
1261
- },
1262
- {
1263
- "$type": "RuleCall",
1264
- "rule": {
1265
- "$ref": "#/rules@45"
1266
- },
1267
- "arguments": []
1268
- },
1269
- {
1270
- "$type": "Assignment",
1271
- "feature": "views",
1272
- "operator": "+=",
1273
- "terminal": {
1274
- "$type": "RuleCall",
1275
- "rule": {
1276
- "$ref": "#/rules@21"
1277
- },
1278
- "arguments": []
1279
- },
1280
- "cardinality": "*"
1281
- },
1282
- {
1283
- "$type": "RuleCall",
1284
- "rule": {
1285
- "$ref": "#/rules@46"
1286
- },
1287
- "arguments": []
1288
- }
1289
- ]
1290
- },
1291
- "definesHiddenTokens": false,
1292
- "entry": false,
1293
- "fragment": false,
1294
- "hiddenTokens": [],
1295
- "parameters": [],
1296
- "wildcard": false
1297
- },
1298
- {
1299
- "$type": "ParserRule",
1300
- "name": "View",
1301
- "definition": {
1302
- "$type": "Group",
1303
- "elements": [
1304
- {
1305
- "$type": "Action",
1306
- "inferredType": {
1307
- "$type": "InferredType",
1308
- "name": "ElementView"
1309
- }
1310
- },
1311
- {
1312
- "$type": "Keyword",
1313
- "value": "view"
1314
- },
1315
- {
1316
- "$type": "Assignment",
1317
- "feature": "name",
1318
- "operator": "=",
1319
- "terminal": {
1320
- "$type": "RuleCall",
1321
- "rule": {
1322
- "$ref": "#/rules@36"
1323
- },
1324
- "arguments": []
1325
- },
1326
- "cardinality": "?"
1327
- },
1328
- {
1329
- "$type": "Group",
1330
- "elements": [
1331
- {
1332
- "$type": "Keyword",
1333
- "value": "of"
1334
- },
1335
- {
1336
- "$type": "Assignment",
1337
- "feature": "viewOf",
1338
- "operator": "=",
1339
- "terminal": {
1340
- "$type": "RuleCall",
1341
- "rule": {
1342
- "$ref": "#/rules@12"
1343
- },
1344
- "arguments": []
1345
- }
1346
- }
1347
- ],
1348
- "cardinality": "?"
1349
- },
1350
- {
1351
- "$type": "RuleCall",
1352
- "rule": {
1353
- "$ref": "#/rules@45"
1354
- },
1355
- "arguments": []
1356
- },
1357
- {
1358
- "$type": "Assignment",
1359
- "feature": "properties",
1360
- "operator": "+=",
1361
- "terminal": {
1362
- "$type": "RuleCall",
1363
- "rule": {
1364
- "$ref": "#/rules@22"
1365
- },
1366
- "arguments": []
1367
- },
1368
- "cardinality": "*"
1369
- },
1370
- {
1371
- "$type": "Assignment",
1372
- "feature": "rules",
1373
- "operator": "+=",
1374
- "terminal": {
1375
- "$type": "Alternatives",
1376
- "elements": [
1377
- {
1378
- "$type": "RuleCall",
1379
- "rule": {
1380
- "$ref": "#/rules@23"
1381
- },
1382
- "arguments": []
1383
- },
1384
- {
1385
- "$type": "RuleCall",
1386
- "rule": {
1387
- "$ref": "#/rules@26"
1388
- },
1389
- "arguments": []
1390
- },
1391
- {
1392
- "$type": "RuleCall",
1393
- "rule": {
1394
- "$ref": "#/rules@25"
1395
- },
1396
- "arguments": []
1397
- }
1398
- ]
1399
- },
1400
- "cardinality": "*"
1401
- },
1402
- {
1403
- "$type": "RuleCall",
1404
- "rule": {
1405
- "$ref": "#/rules@46"
1406
- },
1407
- "arguments": []
1408
- }
1409
- ]
1410
- },
1411
- "definesHiddenTokens": false,
1412
- "entry": false,
1413
- "fragment": false,
1414
- "hiddenTokens": [],
1415
- "parameters": [],
1416
- "wildcard": false
1417
- },
1418
- {
1419
- "$type": "ParserRule",
1420
- "name": "ViewProperty",
1421
- "definition": {
1422
- "$type": "Group",
1423
- "elements": [
1424
- {
1425
- "$type": "Assignment",
1426
- "feature": "key",
1427
- "operator": "=",
1428
- "terminal": {
1429
- "$type": "Alternatives",
1430
- "elements": [
1431
- {
1432
- "$type": "Keyword",
1433
- "value": "title"
1434
- },
1435
- {
1436
- "$type": "Keyword",
1437
- "value": "description"
1438
- }
1439
- ]
1440
- }
1441
- },
1442
- {
1443
- "$type": "RuleCall",
1444
- "rule": {
1445
- "$ref": "#/rules@47"
1446
- },
1447
- "arguments": [],
1448
- "cardinality": "?"
1449
- },
1450
- {
1451
- "$type": "Assignment",
1452
- "feature": "value",
1453
- "operator": "=",
1454
- "terminal": {
1455
- "$type": "RuleCall",
1456
- "rule": {
1457
- "$ref": "#/rules@50"
1458
- },
1459
- "arguments": []
1460
- }
1461
- }
1462
- ]
1463
- },
1464
- "definesHiddenTokens": false,
1465
- "entry": false,
1466
- "fragment": false,
1467
- "hiddenTokens": [],
1468
- "parameters": [],
1469
- "wildcard": false
1470
- },
1471
- {
1472
- "$type": "ParserRule",
1473
- "name": "ViewRuleExpression",
1474
- "definition": {
1475
- "$type": "Group",
1476
- "elements": [
1477
- {
1478
- "$type": "Alternatives",
1479
- "elements": [
1480
- {
1481
- "$type": "Assignment",
1482
- "feature": "isInclude",
1483
- "operator": "?=",
1484
- "terminal": {
1485
- "$type": "Keyword",
1486
- "value": "include"
1487
- }
1488
- },
1489
- {
1490
- "$type": "Keyword",
1491
- "value": "exclude"
1492
- }
1493
- ]
1494
- },
1495
- {
1496
- "$type": "Assignment",
1497
- "feature": "expressions",
1498
- "operator": "+=",
1499
- "terminal": {
1500
- "$type": "RuleCall",
1501
- "rule": {
1502
- "$ref": "#/rules@27"
1503
- },
1504
- "arguments": []
1505
- }
1506
- },
1507
- {
1508
- "$type": "Group",
1509
- "elements": [
1510
- {
1511
- "$type": "RuleCall",
1512
- "rule": {
1513
- "$ref": "#/rules@48"
1514
- },
1515
- "arguments": []
1516
- },
1517
- {
1518
- "$type": "Assignment",
1519
- "feature": "expressions",
1520
- "operator": "+=",
1521
- "terminal": {
1522
- "$type": "RuleCall",
1523
- "rule": {
1524
- "$ref": "#/rules@27"
1525
- },
1526
- "arguments": []
1527
- }
1528
- }
1529
- ],
1530
- "cardinality": "*"
1531
- }
1532
- ]
1533
- },
1534
- "definesHiddenTokens": false,
1535
- "entry": false,
1536
- "fragment": false,
1537
- "hiddenTokens": [],
1538
- "parameters": [],
1539
- "wildcard": false
1540
- },
1541
- {
1542
- "$type": "ParserRule",
1543
- "name": "ViewRuleLayoutDirection",
1544
- "dataType": "string",
1545
- "definition": {
1546
- "$type": "Alternatives",
1547
- "elements": [
1548
- {
1549
- "$type": "Keyword",
1550
- "value": "TopBottom"
1551
- },
1552
- {
1553
- "$type": "Keyword",
1554
- "value": "LeftRight"
1555
- },
1556
- {
1557
- "$type": "Keyword",
1558
- "value": "BottomTop"
1559
- },
1560
- {
1561
- "$type": "Keyword",
1562
- "value": "RightLeft"
1563
- }
1564
- ]
1565
- },
1566
- "definesHiddenTokens": false,
1567
- "entry": false,
1568
- "fragment": false,
1569
- "hiddenTokens": [],
1570
- "parameters": [],
1571
- "wildcard": false
1572
- },
1573
- {
1574
- "$type": "ParserRule",
1575
- "name": "ViewRuleAutoLayout",
1576
- "definition": {
1577
- "$type": "Group",
1578
- "elements": [
1579
- {
1580
- "$type": "Keyword",
1581
- "value": "autoLayout"
1582
- },
1583
- {
1584
- "$type": "Assignment",
1585
- "feature": "direction",
1586
- "operator": "=",
1587
- "terminal": {
1588
- "$type": "RuleCall",
1589
- "rule": {
1590
- "$ref": "#/rules@24"
1591
- },
1592
- "arguments": []
1593
- }
1594
- }
1595
- ]
1596
- },
1597
- "definesHiddenTokens": false,
1598
- "entry": false,
1599
- "fragment": false,
1600
- "hiddenTokens": [],
1601
- "parameters": [],
1602
- "wildcard": false
1603
- },
1604
- {
1605
- "$type": "ParserRule",
1606
- "name": "ViewRuleStyle",
1607
- "definition": {
1608
- "$type": "Group",
1609
- "elements": [
1610
- {
1611
- "$type": "Keyword",
1612
- "value": "style"
1613
- },
1614
- {
1615
- "$type": "Assignment",
1616
- "feature": "targets",
1617
- "operator": "+=",
1618
- "terminal": {
1619
- "$type": "RuleCall",
1620
- "rule": {
1621
- "$ref": "#/rules@28"
1622
- },
1623
- "arguments": []
1624
- }
1625
- },
1626
- {
1627
- "$type": "Group",
1628
- "elements": [
1629
- {
1630
- "$type": "RuleCall",
1631
- "rule": {
1632
- "$ref": "#/rules@48"
1633
- },
1634
- "arguments": []
1635
- },
1636
- {
1637
- "$type": "Assignment",
1638
- "feature": "targets",
1639
- "operator": "+=",
1640
- "terminal": {
1641
- "$type": "RuleCall",
1642
- "rule": {
1643
- "$ref": "#/rules@28"
1644
- },
1645
- "arguments": []
1646
- }
1647
- }
1648
- ],
1649
- "cardinality": "*"
1650
- },
1651
- {
1652
- "$type": "RuleCall",
1653
- "rule": {
1654
- "$ref": "#/rules@45"
1655
- },
1656
- "arguments": []
1657
- },
1658
- {
1659
- "$type": "Assignment",
1660
- "feature": "props",
1661
- "operator": "+=",
1662
- "terminal": {
1663
- "$type": "Alternatives",
1664
- "elements": [
1665
- {
1666
- "$type": "RuleCall",
1667
- "rule": {
1668
- "$ref": "#/rules@30"
1669
- },
1670
- "arguments": []
1671
- },
1672
- {
1673
- "$type": "RuleCall",
1674
- "rule": {
1675
- "$ref": "#/rules@31"
1676
- },
1677
- "arguments": []
1678
- }
1679
- ]
1680
- },
1681
- "cardinality": "*"
1682
- },
1683
- {
1684
- "$type": "RuleCall",
1685
- "rule": {
1686
- "$ref": "#/rules@46"
1687
- },
1688
- "arguments": []
1689
- }
1690
- ]
1691
- },
1692
- "definesHiddenTokens": false,
1693
- "entry": false,
1694
- "fragment": false,
1695
- "hiddenTokens": [],
1696
- "parameters": [],
1697
- "wildcard": false
1698
- },
1699
- {
1700
- "$type": "ParserRule",
1701
- "name": "Expression",
1702
- "definition": {
1703
- "$type": "Alternatives",
1704
- "elements": [
1705
- {
1706
- "$type": "Group",
1707
- "elements": [
1708
- {
1709
- "$type": "Action",
1710
- "inferredType": {
1711
- "$type": "InferredType",
1712
- "name": "IncomingExpression"
1713
- }
1714
- },
1715
- {
1716
- "$type": "Keyword",
1717
- "value": "->"
1718
- },
1719
- {
1720
- "$type": "Assignment",
1721
- "feature": "target",
1722
- "operator": "=",
1723
- "terminal": {
1724
- "$type": "RuleCall",
1725
- "rule": {
1726
- "$ref": "#/rules@28"
1727
- },
1728
- "arguments": []
1729
- }
1730
- },
1731
- {
1732
- "$type": "Group",
1733
- "elements": [
1734
- {
1735
- "$type": "Action",
1736
- "inferredType": {
1737
- "$type": "InferredType",
1738
- "name": "InOutExpression"
1739
- },
1740
- "feature": "inout",
1741
- "operator": "="
1742
- },
1743
- {
1744
- "$type": "Keyword",
1745
- "value": "->"
1746
- }
1747
- ],
1748
- "cardinality": "?"
1749
- }
1750
- ]
1751
- },
1752
- {
1753
- "$type": "Group",
1754
- "elements": [
1755
- {
1756
- "$type": "RuleCall",
1757
- "rule": {
1758
- "$ref": "#/rules@28"
1759
- },
1760
- "arguments": []
1761
- },
1762
- {
1763
- "$type": "Alternatives",
1764
- "elements": [
1765
- {
1766
- "$type": "Group",
1767
- "elements": [
1768
- {
1769
- "$type": "Action",
1770
- "inferredType": {
1771
- "$type": "InferredType",
1772
- "name": "RelationExpression"
1773
- },
1774
- "feature": "source",
1775
- "operator": "="
1776
- },
1777
- {
1778
- "$type": "Keyword",
1779
- "value": "->"
1780
- },
1781
- {
1782
- "$type": "Assignment",
1783
- "feature": "target",
1784
- "operator": "=",
1785
- "terminal": {
1786
- "$type": "RuleCall",
1787
- "rule": {
1788
- "$ref": "#/rules@28"
1789
- },
1790
- "arguments": []
1791
- }
1792
- }
1793
- ]
1794
- },
1795
- {
1796
- "$type": "Group",
1797
- "elements": [
1798
- {
1799
- "$type": "Action",
1800
- "inferredType": {
1801
- "$type": "InferredType",
1802
- "name": "OutgoingExpression"
1803
- },
1804
- "feature": "source",
1805
- "operator": "="
1806
- },
1807
- {
1808
- "$type": "Keyword",
1809
- "value": "->"
1810
- }
1811
- ]
1812
- }
1813
- ],
1814
- "cardinality": "?"
1815
- }
1816
- ]
1817
- }
1818
- ]
1819
- },
1820
- "definesHiddenTokens": false,
1821
- "entry": false,
1822
- "fragment": false,
1823
- "hiddenTokens": [],
1824
- "parameters": [],
1825
- "wildcard": false
1826
- },
1827
- {
1828
- "$type": "ParserRule",
1829
- "name": "ElementExpression",
1830
- "definition": {
1831
- "$type": "Alternatives",
1832
- "elements": [
1833
- {
1834
- "$type": "Group",
1835
- "elements": [
1836
- {
1837
- "$type": "Action",
1838
- "inferredType": {
1839
- "$type": "InferredType",
1840
- "name": "WildcardExpression"
1841
- }
1842
- },
1843
- {
1844
- "$type": "Assignment",
1845
- "feature": "isWildcard",
1846
- "operator": "?=",
1847
- "terminal": {
1848
- "$type": "Keyword",
1849
- "value": "*"
1850
- }
1851
- }
1852
- ]
1853
- },
1854
- {
1855
- "$type": "RuleCall",
1856
- "rule": {
1857
- "$ref": "#/rules@29"
1858
- },
1859
- "arguments": []
1860
- }
1861
- ]
1862
- },
1863
- "definesHiddenTokens": false,
1864
- "entry": false,
1865
- "fragment": false,
1866
- "hiddenTokens": [],
1867
- "parameters": [],
1868
- "wildcard": false
1869
- },
1870
- {
1871
- "$type": "ParserRule",
1872
- "name": "ElementRefExpression",
1873
- "definition": {
1874
- "$type": "Group",
1875
- "elements": [
1876
- {
1877
- "$type": "Assignment",
1878
- "feature": "id",
1879
- "operator": "=",
1880
- "terminal": {
1881
- "$type": "RuleCall",
1882
- "rule": {
1883
- "$ref": "#/rules@12"
1884
- },
1885
- "arguments": []
1886
- }
1887
- },
1888
- {
1889
- "$type": "Assignment",
1890
- "feature": "isDescedants",
1891
- "operator": "?=",
1892
- "terminal": {
1893
- "$type": "Keyword",
1894
- "value": ".*"
1895
- },
1896
- "cardinality": "?"
1897
- }
1898
- ]
1899
- },
1900
- "definesHiddenTokens": false,
1901
- "entry": false,
1902
- "fragment": false,
1903
- "hiddenTokens": [],
1904
- "parameters": [],
1905
- "wildcard": false
1906
- },
1907
- {
1908
- "$type": "ParserRule",
1909
- "name": "ColorProperty",
1910
- "definition": {
1911
- "$type": "Group",
1912
- "elements": [
1913
- {
1914
- "$type": "Assignment",
1915
- "feature": "key",
1916
- "operator": "=",
1917
- "terminal": {
1918
- "$type": "Keyword",
1919
- "value": "color"
1920
- }
1921
- },
1922
- {
1923
- "$type": "RuleCall",
1924
- "rule": {
1925
- "$ref": "#/rules@47"
1926
- },
1927
- "arguments": [],
1928
- "cardinality": "?"
1929
- },
1930
- {
1931
- "$type": "Assignment",
1932
- "feature": "value",
1933
- "operator": "=",
1934
- "terminal": {
1935
- "$type": "RuleCall",
1936
- "rule": {
1937
- "$ref": "#/rules@34"
1938
- },
1939
- "arguments": []
1940
- }
1941
- }
1942
- ]
1943
- },
1944
- "definesHiddenTokens": false,
1945
- "entry": false,
1946
- "fragment": false,
1947
- "hiddenTokens": [],
1948
- "parameters": [],
1949
- "wildcard": false
1950
- },
1951
- {
1952
- "$type": "ParserRule",
1953
- "name": "ShapeProperty",
1954
- "definition": {
1955
- "$type": "Group",
1956
- "elements": [
1957
- {
1958
- "$type": "Assignment",
1959
- "feature": "key",
1960
- "operator": "=",
1961
- "terminal": {
1962
- "$type": "Keyword",
1963
- "value": "shape"
1964
- }
1965
- },
1966
- {
1967
- "$type": "RuleCall",
1968
- "rule": {
1969
- "$ref": "#/rules@47"
1970
- },
1971
- "arguments": [],
1972
- "cardinality": "?"
1973
- },
1974
- {
1975
- "$type": "Assignment",
1976
- "feature": "value",
1977
- "operator": "=",
1978
- "terminal": {
1979
- "$type": "RuleCall",
1980
- "rule": {
1981
- "$ref": "#/rules@35"
1982
- },
1983
- "arguments": []
1984
- }
1985
- }
1986
- ]
1987
- },
1988
- "definesHiddenTokens": false,
1989
- "entry": false,
1990
- "fragment": false,
1991
- "hiddenTokens": [],
1992
- "parameters": [],
1993
- "wildcard": false
1994
- },
1995
- {
1996
- "$type": "ParserRule",
1997
- "name": "ElementKind",
1998
- "definition": {
1999
- "$type": "Assignment",
2000
- "feature": "name",
2001
- "operator": "=",
2002
- "terminal": {
2003
- "$type": "RuleCall",
2004
- "rule": {
2005
- "$ref": "#/rules@36"
2006
- },
2007
- "arguments": []
2008
- }
2009
- },
2010
- "definesHiddenTokens": false,
2011
- "entry": false,
2012
- "fragment": false,
2013
- "hiddenTokens": [],
2014
- "parameters": [],
2015
- "wildcard": false
2016
- },
2017
- {
2018
- "$type": "ParserRule",
2019
- "name": "Tag",
2020
- "definition": {
2021
- "$type": "Assignment",
2022
- "feature": "name",
2023
- "operator": "=",
2024
- "terminal": {
2025
- "$type": "RuleCall",
2026
- "rule": {
2027
- "$ref": "#/rules@36"
2028
- },
2029
- "arguments": []
2030
- }
2031
- },
2032
- "definesHiddenTokens": false,
2033
- "entry": false,
2034
- "fragment": false,
2035
- "hiddenTokens": [],
2036
- "parameters": [],
2037
- "wildcard": false
2038
- },
2039
- {
2040
- "$type": "ParserRule",
2041
- "name": "ThemeColor",
2042
- "dataType": "string",
2043
- "definition": {
2044
- "$type": "Alternatives",
2045
- "elements": [
2046
- {
2047
- "$type": "Keyword",
2048
- "value": "primary"
2049
- },
2050
- {
2051
- "$type": "Keyword",
2052
- "value": "secondary"
2053
- },
2054
- {
2055
- "$type": "Keyword",
2056
- "value": "muted"
2057
- }
2058
- ]
2059
- },
2060
- "definesHiddenTokens": false,
2061
- "entry": false,
2062
- "fragment": false,
2063
- "hiddenTokens": [],
2064
- "parameters": [],
2065
- "wildcard": false
2066
- },
2067
- {
2068
- "$type": "ParserRule",
2069
- "name": "ElementShape",
2070
- "dataType": "string",
2071
- "definition": {
2072
- "$type": "Alternatives",
2073
- "elements": [
2074
- {
2075
- "$type": "Keyword",
2076
- "value": "rectangle"
2077
- },
2078
- {
2079
- "$type": "Keyword",
2080
- "value": "person"
2081
- },
2082
- {
2083
- "$type": "Keyword",
2084
- "value": "browser"
2085
- },
2086
- {
2087
- "$type": "Keyword",
2088
- "value": "cylinder"
2089
- },
2090
- {
2091
- "$type": "Keyword",
2092
- "value": "storage"
2093
- },
2094
- {
2095
- "$type": "Keyword",
2096
- "value": "queue"
2097
- }
2098
- ]
2099
- },
2100
- "definesHiddenTokens": false,
2101
- "entry": false,
2102
- "fragment": false,
2103
- "hiddenTokens": [],
2104
- "parameters": [],
2105
- "wildcard": false
2106
- },
2107
- {
2108
- "$type": "ParserRule",
2109
- "name": "Name",
2110
- "dataType": "string",
2111
- "definition": {
2112
- "$type": "Alternatives",
2113
- "elements": [
2114
- {
2115
- "$type": "RuleCall",
2116
- "rule": {
2117
- "$ref": "#/rules@35"
2118
- },
2119
- "arguments": []
2120
- },
2121
- {
2122
- "$type": "RuleCall",
2123
- "rule": {
2124
- "$ref": "#/rules@34"
2125
- },
2126
- "arguments": []
2127
- },
2128
- {
2129
- "$type": "Keyword",
2130
- "value": "element"
2131
- },
2132
- {
2133
- "$type": "Keyword",
2134
- "value": "model"
2135
- },
2136
- {
2137
- "$type": "RuleCall",
2138
- "rule": {
2139
- "$ref": "#/rules@51"
2140
- },
2141
- "arguments": []
2142
- }
2143
- ]
2144
- },
2145
- "definesHiddenTokens": false,
2146
- "entry": false,
2147
- "fragment": false,
2148
- "hiddenTokens": [],
2149
- "parameters": [],
2150
- "wildcard": false
2151
- },
2152
- {
2153
- "$type": "TerminalRule",
2154
- "fragment": true,
2155
- "name": "HASH",
2156
- "definition": {
2157
- "$type": "CharacterRange",
2158
- "left": {
2159
- "$type": "Keyword",
2160
- "value": "#"
2161
- }
2162
- },
2163
- "hidden": false
2164
- },
2165
- {
2166
- "$type": "TerminalRule",
2167
- "fragment": true,
2168
- "name": "UNDERSCORE",
2169
- "definition": {
2170
- "$type": "CharacterRange",
2171
- "left": {
2172
- "$type": "Keyword",
2173
- "value": "_"
2174
- }
2175
- },
2176
- "hidden": false
2177
- },
2178
- {
2179
- "$type": "TerminalRule",
2180
- "fragment": true,
2181
- "name": "LETTER",
2182
- "definition": {
2183
- "$type": "RegexToken",
2184
- "regex": "[^\\\\W\\\\d_]"
2185
- },
2186
- "hidden": false
2187
- },
2188
- {
2189
- "$type": "TerminalRule",
2190
- "fragment": true,
2191
- "name": "DIGIT",
2192
- "definition": {
2193
- "$type": "RegexToken",
2194
- "regex": "[0-9]"
2195
- },
2196
- "hidden": false
2197
- },
2198
- {
2199
- "$type": "TerminalRule",
2200
- "fragment": true,
2201
- "name": "NEWLINE",
2202
- "definition": {
2203
- "$type": "RegexToken",
2204
- "regex": "[\\\\t\\\\r\\\\n\\\\v\\\\f]"
2205
- },
2206
- "hidden": false
2207
- },
2208
- {
2209
- "$type": "TerminalRule",
2210
- "fragment": true,
2211
- "name": "SPACE",
2212
- "definition": {
2213
- "$type": "RegexToken",
2214
- "regex": "[^\\\\S\\\\r\\\\n]"
2215
- },
2216
- "hidden": false
2217
- },
2218
- {
2219
- "$type": "TerminalRule",
2220
- "name": "Dot",
2221
- "definition": {
2222
- "$type": "CharacterRange",
2223
- "left": {
2224
- "$type": "Keyword",
2225
- "value": "."
2226
- }
2227
- },
2228
- "fragment": false,
2229
- "hidden": false
2230
- },
2231
- {
2232
- "$type": "TerminalRule",
2233
- "name": "Eq",
2234
- "definition": {
2235
- "$type": "CharacterRange",
2236
- "left": {
2237
- "$type": "Keyword",
2238
- "value": "="
2239
- }
2240
- },
2241
- "fragment": false,
2242
- "hidden": false
2243
- },
2244
- {
2245
- "$type": "TerminalRule",
2246
- "name": "OpenBlock",
2247
- "definition": {
2248
- "$type": "CharacterRange",
2249
- "left": {
2250
- "$type": "Keyword",
2251
- "value": "{"
2252
- }
2253
- },
2254
- "fragment": false,
2255
- "hidden": false
2256
- },
2257
- {
2258
- "$type": "TerminalRule",
2259
- "name": "CloseBlock",
2260
- "definition": {
2261
- "$type": "CharacterRange",
2262
- "left": {
2263
- "$type": "Keyword",
2264
- "value": "}"
2265
- }
2266
- },
2267
- "fragment": false,
2268
- "hidden": false
2269
- },
2270
- {
2271
- "$type": "TerminalRule",
2272
- "name": "Colon",
2273
- "definition": {
2274
- "$type": "CharacterRange",
2275
- "left": {
2276
- "$type": "Keyword",
2277
- "value": ":"
2278
- }
2279
- },
2280
- "fragment": false,
2281
- "hidden": false
2282
- },
2283
- {
2284
- "$type": "TerminalRule",
2285
- "name": "Comma",
2286
- "definition": {
2287
- "$type": "CharacterRange",
2288
- "left": {
2289
- "$type": "Keyword",
2290
- "value": ","
2291
- }
2292
- },
2293
- "fragment": false,
2294
- "hidden": false
2295
- },
2296
- {
2297
- "$type": "TerminalRule",
2298
- "name": "TagID",
2299
- "definition": {
2300
- "$type": "TerminalGroup",
2301
- "elements": [
2302
- {
2303
- "$type": "TerminalRuleCall",
2304
- "rule": {
2305
- "$ref": "#/rules@37"
2306
- }
2307
- },
2308
- {
2309
- "$type": "TerminalRuleCall",
2310
- "rule": {
2311
- "$ref": "#/rules@39"
2312
- }
2313
- },
2314
- {
2315
- "$type": "TerminalAlternatives",
2316
- "elements": [
2317
- {
2318
- "$type": "TerminalAlternatives",
2319
- "elements": [
2320
- {
2321
- "$type": "TerminalRuleCall",
2322
- "rule": {
2323
- "$ref": "#/rules@39"
2324
- }
2325
- },
2326
- {
2327
- "$type": "TerminalRuleCall",
2328
- "rule": {
2329
- "$ref": "#/rules@40"
2330
- }
2331
- }
2332
- ]
2333
- },
2334
- {
2335
- "$type": "TerminalRuleCall",
2336
- "rule": {
2337
- "$ref": "#/rules@38"
2338
- }
2339
- }
2340
- ],
2341
- "cardinality": "*"
2342
- }
2343
- ]
2344
- },
2345
- "fragment": false,
2346
- "hidden": false
2347
- },
2348
- {
2349
- "$type": "TerminalRule",
2350
- "name": "STRING",
2351
- "definition": {
2352
- "$type": "RegexToken",
2353
- "regex": "\\"[^\\"]*\\"|'[^']*'"
2354
- },
2355
- "fragment": false,
2356
- "hidden": false
2357
- },
2358
- {
2359
- "$type": "TerminalRule",
2360
- "name": "ID",
2361
- "definition": {
2362
- "$type": "TerminalGroup",
2363
- "elements": [
2364
- {
2365
- "$type": "TerminalAlternatives",
2366
- "elements": [
2367
- {
2368
- "$type": "TerminalRuleCall",
2369
- "rule": {
2370
- "$ref": "#/rules@39"
2371
- }
2372
- },
2373
- {
2374
- "$type": "TerminalRuleCall",
2375
- "rule": {
2376
- "$ref": "#/rules@38"
2377
- }
2378
- }
2379
- ]
2380
- },
2381
- {
2382
- "$type": "TerminalAlternatives",
2383
- "elements": [
2384
- {
2385
- "$type": "TerminalAlternatives",
2386
- "elements": [
2387
- {
2388
- "$type": "TerminalRuleCall",
2389
- "rule": {
2390
- "$ref": "#/rules@39"
2391
- }
2392
- },
2393
- {
2394
- "$type": "TerminalRuleCall",
2395
- "rule": {
2396
- "$ref": "#/rules@40"
2397
- }
2398
- }
2399
- ]
2400
- },
2401
- {
2402
- "$type": "TerminalRuleCall",
2403
- "rule": {
2404
- "$ref": "#/rules@38"
2405
- }
2406
- }
2407
- ],
2408
- "cardinality": "*"
2409
- }
2410
- ]
2411
- },
2412
- "fragment": false,
2413
- "hidden": false
2414
- },
2415
- {
2416
- "$type": "TerminalRule",
2417
- "hidden": true,
2418
- "name": "WS",
2419
- "definition": {
2420
- "$type": "TerminalAlternatives",
2421
- "elements": [
2422
- {
2423
- "$type": "TerminalRuleCall",
2424
- "rule": {
2425
- "$ref": "#/rules@41"
2426
- }
2427
- },
2428
- {
2429
- "$type": "TerminalRuleCall",
2430
- "rule": {
2431
- "$ref": "#/rules@42"
2432
- }
2433
- }
2434
- ],
2435
- "cardinality": "+"
2436
- },
2437
- "fragment": false
2438
- },
2439
- {
2440
- "$type": "TerminalRule",
2441
- "hidden": true,
2442
- "name": "BLOCK_COMMENT",
2443
- "definition": {
2444
- "$type": "RegexToken",
2445
- "regex": "\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/"
2446
- },
2447
- "fragment": false
2448
- },
2449
- {
2450
- "$type": "TerminalRule",
2451
- "hidden": true,
2452
- "name": "LINE_COMMENT",
2453
- "definition": {
2454
- "$type": "RegexToken",
2455
- "regex": "\\\\/\\\\/[^\\\\n\\\\r]*"
2456
- },
2457
- "fragment": false
2458
- }
2459
- ],
2460
- "types": [
2461
- {
2462
- "$type": "Type",
2463
- "name": "ViewRule",
2464
- "type": {
2465
- "$type": "UnionType",
2466
- "types": [
2467
- {
2468
- "$type": "SimpleType",
2469
- "typeRef": {
2470
- "$ref": "#/rules@23"
2471
- }
2472
- },
2473
- {
2474
- "$type": "SimpleType",
2475
- "typeRef": {
2476
- "$ref": "#/rules@26"
2477
- }
2478
- },
2479
- {
2480
- "$type": "SimpleType",
2481
- "typeRef": {
2482
- "$ref": "#/rules@25"
2483
- }
2484
- }
2485
- ]
2486
- }
2487
- },
2488
- {
2489
- "$type": "Type",
2490
- "name": "AnyStringProperty",
2491
- "type": {
2492
- "$type": "UnionType",
2493
- "types": [
2494
- {
2495
- "$type": "SimpleType",
2496
- "typeRef": {
2497
- "$ref": "#/rules@22"
2498
- }
2499
- },
2500
- {
2501
- "$type": "SimpleType",
2502
- "typeRef": {
2503
- "$ref": "#/rules@8/definition/elements@0/elements@0"
2504
- }
2505
- },
2506
- {
2507
- "$type": "SimpleType",
2508
- "typeRef": {
2509
- "$ref": "#/rules@19"
2510
- }
2511
- }
2512
- ]
2513
- }
2514
- },
2515
- {
2516
- "$type": "Type",
2517
- "name": "AStyleProperty",
2518
- "type": {
2519
- "$type": "UnionType",
2520
- "types": [
2521
- {
2522
- "$type": "SimpleType",
2523
- "typeRef": {
2524
- "$ref": "#/rules@30"
2525
- }
2526
- },
2527
- {
2528
- "$type": "SimpleType",
2529
- "typeRef": {
2530
- "$ref": "#/rules@31"
2531
- }
2532
- }
2533
- ]
2534
- }
2535
- }
2536
- ],
2537
- "definesHiddenTokens": false,
2538
- "hiddenTokens": [],
2539
- "imports": [],
2540
- "interfaces": [],
2541
- "usedGrammars": []
2542
- }`));