@zenstackhq/language 1.0.0-alpha.101 → 1.0.0-alpha.110

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.
@@ -17,17 +17,35 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
17
17
  "name": "Model",
18
18
  "entry": true,
19
19
  "definition": {
20
- "$type": "Assignment",
21
- "feature": "declarations",
22
- "operator": "+=",
23
- "terminal": {
24
- "$type": "RuleCall",
25
- "rule": {
26
- "$ref": "#/rules@1"
20
+ "$type": "Group",
21
+ "elements": [
22
+ {
23
+ "$type": "Assignment",
24
+ "feature": "imports",
25
+ "operator": "+=",
26
+ "terminal": {
27
+ "$type": "RuleCall",
28
+ "rule": {
29
+ "$ref": "#/rules@1"
30
+ },
31
+ "arguments": []
32
+ },
33
+ "cardinality": "*"
27
34
  },
28
- "arguments": []
29
- },
30
- "cardinality": "*"
35
+ {
36
+ "$type": "Assignment",
37
+ "feature": "declarations",
38
+ "operator": "+=",
39
+ "terminal": {
40
+ "$type": "RuleCall",
41
+ "rule": {
42
+ "$ref": "#/rules@2"
43
+ },
44
+ "arguments": []
45
+ },
46
+ "cardinality": "*"
47
+ }
48
+ ]
31
49
  },
32
50
  "definesHiddenTokens": false,
33
51
  "fragment": false,
@@ -35,6 +53,42 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
35
53
  "parameters": [],
36
54
  "wildcard": false
37
55
  },
56
+ {
57
+ "$type": "ParserRule",
58
+ "name": "ModelImport",
59
+ "definition": {
60
+ "$type": "Group",
61
+ "elements": [
62
+ {
63
+ "$type": "Keyword",
64
+ "value": "import"
65
+ },
66
+ {
67
+ "$type": "Assignment",
68
+ "feature": "path",
69
+ "operator": "=",
70
+ "terminal": {
71
+ "$type": "RuleCall",
72
+ "rule": {
73
+ "$ref": "#/rules@60"
74
+ },
75
+ "arguments": []
76
+ }
77
+ },
78
+ {
79
+ "$type": "Keyword",
80
+ "value": ";",
81
+ "cardinality": "?"
82
+ }
83
+ ]
84
+ },
85
+ "definesHiddenTokens": false,
86
+ "entry": false,
87
+ "fragment": false,
88
+ "hiddenTokens": [],
89
+ "parameters": [],
90
+ "wildcard": false
91
+ },
38
92
  {
39
93
  "$type": "ParserRule",
40
94
  "name": "AbstractDeclaration",
@@ -44,49 +98,49 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
44
98
  {
45
99
  "$type": "RuleCall",
46
100
  "rule": {
47
- "$ref": "#/rules@2"
101
+ "$ref": "#/rules@3"
48
102
  },
49
103
  "arguments": []
50
104
  },
51
105
  {
52
106
  "$type": "RuleCall",
53
107
  "rule": {
54
- "$ref": "#/rules@4"
108
+ "$ref": "#/rules@5"
55
109
  },
56
110
  "arguments": []
57
111
  },
58
112
  {
59
113
  "$type": "RuleCall",
60
114
  "rule": {
61
- "$ref": "#/rules@6"
115
+ "$ref": "#/rules@7"
62
116
  },
63
117
  "arguments": []
64
118
  },
65
119
  {
66
120
  "$type": "RuleCall",
67
121
  "rule": {
68
- "$ref": "#/rules@29"
122
+ "$ref": "#/rules@30"
69
123
  },
70
124
  "arguments": []
71
125
  },
72
126
  {
73
127
  "$type": "RuleCall",
74
128
  "rule": {
75
- "$ref": "#/rules@32"
129
+ "$ref": "#/rules@34"
76
130
  },
77
131
  "arguments": []
78
132
  },
79
133
  {
80
134
  "$type": "RuleCall",
81
135
  "rule": {
82
- "$ref": "#/rules@34"
136
+ "$ref": "#/rules@36"
83
137
  },
84
138
  "arguments": []
85
139
  },
86
140
  {
87
141
  "$type": "RuleCall",
88
142
  "rule": {
89
- "$ref": "#/rules@43"
143
+ "$ref": "#/rules@45"
90
144
  },
91
145
  "arguments": []
92
146
  }
@@ -108,7 +162,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
108
162
  {
109
163
  "$type": "RuleCall",
110
164
  "rule": {
111
- "$ref": "#/rules@60"
165
+ "$ref": "#/rules@62"
112
166
  },
113
167
  "arguments": [],
114
168
  "cardinality": "*"
@@ -124,7 +178,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
124
178
  "terminal": {
125
179
  "$type": "RuleCall",
126
180
  "rule": {
127
- "$ref": "#/rules@38"
181
+ "$ref": "#/rules@40"
128
182
  },
129
183
  "arguments": []
130
184
  }
@@ -140,7 +194,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
140
194
  "terminal": {
141
195
  "$type": "RuleCall",
142
196
  "rule": {
143
- "$ref": "#/rules@3"
197
+ "$ref": "#/rules@4"
144
198
  },
145
199
  "arguments": []
146
200
  },
@@ -168,7 +222,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
168
222
  {
169
223
  "$type": "RuleCall",
170
224
  "rule": {
171
- "$ref": "#/rules@60"
225
+ "$ref": "#/rules@62"
172
226
  },
173
227
  "arguments": [],
174
228
  "cardinality": "*"
@@ -180,7 +234,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
180
234
  "terminal": {
181
235
  "$type": "RuleCall",
182
236
  "rule": {
183
- "$ref": "#/rules@38"
237
+ "$ref": "#/rules@40"
184
238
  },
185
239
  "arguments": []
186
240
  }
@@ -199,21 +253,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
199
253
  {
200
254
  "$type": "RuleCall",
201
255
  "rule": {
202
- "$ref": "#/rules@9"
256
+ "$ref": "#/rules@10"
203
257
  },
204
258
  "arguments": []
205
259
  },
206
260
  {
207
261
  "$type": "RuleCall",
208
262
  "rule": {
209
- "$ref": "#/rules@18"
263
+ "$ref": "#/rules@19"
210
264
  },
211
265
  "arguments": []
212
266
  },
213
267
  {
214
268
  "$type": "RuleCall",
215
269
  "rule": {
216
- "$ref": "#/rules@10"
270
+ "$ref": "#/rules@11"
217
271
  },
218
272
  "arguments": []
219
273
  }
@@ -238,7 +292,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
238
292
  {
239
293
  "$type": "RuleCall",
240
294
  "rule": {
241
- "$ref": "#/rules@60"
295
+ "$ref": "#/rules@62"
242
296
  },
243
297
  "arguments": [],
244
298
  "cardinality": "*"
@@ -254,7 +308,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
254
308
  "terminal": {
255
309
  "$type": "RuleCall",
256
310
  "rule": {
257
- "$ref": "#/rules@38"
311
+ "$ref": "#/rules@40"
258
312
  },
259
313
  "arguments": []
260
314
  }
@@ -270,7 +324,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
270
324
  "terminal": {
271
325
  "$type": "RuleCall",
272
326
  "rule": {
273
- "$ref": "#/rules@5"
327
+ "$ref": "#/rules@6"
274
328
  },
275
329
  "arguments": []
276
330
  },
@@ -298,7 +352,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
298
352
  {
299
353
  "$type": "RuleCall",
300
354
  "rule": {
301
- "$ref": "#/rules@60"
355
+ "$ref": "#/rules@62"
302
356
  },
303
357
  "arguments": [],
304
358
  "cardinality": "*"
@@ -310,7 +364,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
310
364
  "terminal": {
311
365
  "$type": "RuleCall",
312
366
  "rule": {
313
- "$ref": "#/rules@38"
367
+ "$ref": "#/rules@40"
314
368
  },
315
369
  "arguments": []
316
370
  }
@@ -329,14 +383,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
329
383
  {
330
384
  "$type": "RuleCall",
331
385
  "rule": {
332
- "$ref": "#/rules@9"
386
+ "$ref": "#/rules@10"
333
387
  },
334
388
  "arguments": []
335
389
  },
336
390
  {
337
391
  "$type": "RuleCall",
338
392
  "rule": {
339
- "$ref": "#/rules@10"
393
+ "$ref": "#/rules@11"
340
394
  },
341
395
  "arguments": []
342
396
  }
@@ -361,7 +415,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
361
415
  {
362
416
  "$type": "RuleCall",
363
417
  "rule": {
364
- "$ref": "#/rules@60"
418
+ "$ref": "#/rules@62"
365
419
  },
366
420
  "arguments": [],
367
421
  "cardinality": "*"
@@ -377,7 +431,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
377
431
  "terminal": {
378
432
  "$type": "RuleCall",
379
433
  "rule": {
380
- "$ref": "#/rules@38"
434
+ "$ref": "#/rules@40"
381
435
  },
382
436
  "arguments": []
383
437
  }
@@ -393,7 +447,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
393
447
  "terminal": {
394
448
  "$type": "RuleCall",
395
449
  "rule": {
396
- "$ref": "#/rules@7"
450
+ "$ref": "#/rules@8"
397
451
  },
398
452
  "arguments": []
399
453
  },
@@ -421,7 +475,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
421
475
  {
422
476
  "$type": "RuleCall",
423
477
  "rule": {
424
- "$ref": "#/rules@60"
478
+ "$ref": "#/rules@62"
425
479
  },
426
480
  "arguments": [],
427
481
  "cardinality": "*"
@@ -433,7 +487,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
433
487
  "terminal": {
434
488
  "$type": "RuleCall",
435
489
  "rule": {
436
- "$ref": "#/rules@38"
490
+ "$ref": "#/rules@40"
437
491
  },
438
492
  "arguments": []
439
493
  }
@@ -452,21 +506,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
452
506
  {
453
507
  "$type": "RuleCall",
454
508
  "rule": {
455
- "$ref": "#/rules@9"
509
+ "$ref": "#/rules@10"
456
510
  },
457
511
  "arguments": []
458
512
  },
459
513
  {
460
514
  "$type": "RuleCall",
461
515
  "rule": {
462
- "$ref": "#/rules@10"
516
+ "$ref": "#/rules@11"
463
517
  },
464
518
  "arguments": []
465
519
  },
466
520
  {
467
521
  "$type": "RuleCall",
468
522
  "rule": {
469
- "$ref": "#/rules@16"
523
+ "$ref": "#/rules@17"
470
524
  },
471
525
  "arguments": []
472
526
  }
@@ -488,7 +542,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
488
542
  "definition": {
489
543
  "$type": "RuleCall",
490
544
  "rule": {
491
- "$ref": "#/rules@25"
545
+ "$ref": "#/rules@26"
492
546
  },
493
547
  "arguments": []
494
548
  },
@@ -512,21 +566,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
512
566
  {
513
567
  "$type": "RuleCall",
514
568
  "rule": {
515
- "$ref": "#/rules@54"
569
+ "$ref": "#/rules@56"
516
570
  },
517
571
  "arguments": []
518
572
  },
519
573
  {
520
574
  "$type": "RuleCall",
521
575
  "rule": {
522
- "$ref": "#/rules@59"
576
+ "$ref": "#/rules@61"
523
577
  },
524
578
  "arguments": []
525
579
  },
526
580
  {
527
581
  "$type": "RuleCall",
528
582
  "rule": {
529
- "$ref": "#/rules@58"
583
+ "$ref": "#/rules@60"
530
584
  },
531
585
  "arguments": []
532
586
  }
@@ -560,7 +614,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
560
614
  "terminal": {
561
615
  "$type": "RuleCall",
562
616
  "rule": {
563
- "$ref": "#/rules@8"
617
+ "$ref": "#/rules@9"
564
618
  },
565
619
  "arguments": []
566
620
  }
@@ -579,7 +633,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
579
633
  "terminal": {
580
634
  "$type": "RuleCall",
581
635
  "rule": {
582
- "$ref": "#/rules@8"
636
+ "$ref": "#/rules@9"
583
637
  },
584
638
  "arguments": []
585
639
  }
@@ -613,7 +667,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
613
667
  "terminal": {
614
668
  "$type": "RuleCall",
615
669
  "rule": {
616
- "$ref": "#/rules@56"
670
+ "$ref": "#/rules@58"
617
671
  },
618
672
  "arguments": []
619
673
  }
@@ -635,7 +689,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
635
689
  "terminal": {
636
690
  "$type": "RuleCall",
637
691
  "rule": {
638
- "$ref": "#/rules@55"
692
+ "$ref": "#/rules@57"
639
693
  },
640
694
  "arguments": []
641
695
  }
@@ -665,7 +719,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
665
719
  "terminal": {
666
720
  "$type": "RuleCall",
667
721
  "rule": {
668
- "$ref": "#/rules@38"
722
+ "$ref": "#/rules@40"
669
723
  },
670
724
  "arguments": []
671
725
  },
@@ -682,7 +736,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
682
736
  {
683
737
  "$type": "RuleCall",
684
738
  "rule": {
685
- "$ref": "#/rules@14"
739
+ "$ref": "#/rules@15"
686
740
  },
687
741
  "arguments": []
688
742
  },
@@ -716,7 +770,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
716
770
  "terminal": {
717
771
  "$type": "RuleCall",
718
772
  "rule": {
719
- "$ref": "#/rules@15"
773
+ "$ref": "#/rules@16"
720
774
  },
721
775
  "arguments": []
722
776
  }
@@ -735,7 +789,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
735
789
  "terminal": {
736
790
  "$type": "RuleCall",
737
791
  "rule": {
738
- "$ref": "#/rules@15"
792
+ "$ref": "#/rules@16"
739
793
  },
740
794
  "arguments": []
741
795
  }
@@ -817,7 +871,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
817
871
  "terminal": {
818
872
  "$type": "RuleCall",
819
873
  "rule": {
820
- "$ref": "#/rules@17"
874
+ "$ref": "#/rules@18"
821
875
  },
822
876
  "arguments": []
823
877
  }
@@ -836,7 +890,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
836
890
  "terminal": {
837
891
  "$type": "RuleCall",
838
892
  "rule": {
839
- "$ref": "#/rules@17"
893
+ "$ref": "#/rules@18"
840
894
  },
841
895
  "arguments": []
842
896
  }
@@ -878,7 +932,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
878
932
  "terminal": {
879
933
  "$type": "RuleCall",
880
934
  "rule": {
881
- "$ref": "#/rules@38"
935
+ "$ref": "#/rules@40"
882
936
  },
883
937
  "arguments": []
884
938
  }
@@ -894,7 +948,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
894
948
  "terminal": {
895
949
  "$type": "RuleCall",
896
950
  "rule": {
897
- "$ref": "#/rules@8"
951
+ "$ref": "#/rules@9"
898
952
  },
899
953
  "arguments": []
900
954
  }
@@ -921,7 +975,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
921
975
  "terminal": {
922
976
  "$type": "CrossReference",
923
977
  "type": {
924
- "$ref": "#/rules@34"
978
+ "$ref": "#/rules@36"
925
979
  },
926
980
  "deprecatedSyntax": false
927
981
  }
@@ -933,7 +987,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
933
987
  {
934
988
  "$type": "RuleCall",
935
989
  "rule": {
936
- "$ref": "#/rules@27"
990
+ "$ref": "#/rules@28"
937
991
  },
938
992
  "arguments": [],
939
993
  "cardinality": "?"
@@ -973,7 +1027,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
973
1027
  "terminal": {
974
1028
  "$type": "RuleCall",
975
1029
  "rule": {
976
- "$ref": "#/rules@8"
1030
+ "$ref": "#/rules@9"
977
1031
  },
978
1032
  "arguments": []
979
1033
  }
@@ -1000,7 +1054,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1000
1054
  {
1001
1055
  "$type": "RuleCall",
1002
1056
  "rule": {
1003
- "$ref": "#/rules@26"
1057
+ "$ref": "#/rules@27"
1004
1058
  },
1005
1059
  "arguments": []
1006
1060
  },
@@ -1030,7 +1084,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1030
1084
  "terminal": {
1031
1085
  "$type": "CrossReference",
1032
1086
  "type": {
1033
- "$ref": "#/rules@30"
1087
+ "$ref": "#/rules@31"
1034
1088
  },
1035
1089
  "deprecatedSyntax": false
1036
1090
  }
@@ -1062,7 +1116,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1062
1116
  {
1063
1117
  "$type": "RuleCall",
1064
1118
  "rule": {
1065
- "$ref": "#/rules@20"
1119
+ "$ref": "#/rules@21"
1066
1120
  },
1067
1121
  "arguments": []
1068
1122
  },
@@ -1111,7 +1165,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1111
1165
  "terminal": {
1112
1166
  "$type": "RuleCall",
1113
1167
  "rule": {
1114
- "$ref": "#/rules@8"
1168
+ "$ref": "#/rules@9"
1115
1169
  },
1116
1170
  "arguments": []
1117
1171
  }
@@ -1145,7 +1199,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1145
1199
  {
1146
1200
  "$type": "RuleCall",
1147
1201
  "rule": {
1148
- "$ref": "#/rules@21"
1202
+ "$ref": "#/rules@22"
1149
1203
  },
1150
1204
  "arguments": []
1151
1205
  },
@@ -1177,7 +1231,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1177
1231
  "terminal": {
1178
1232
  "$type": "RuleCall",
1179
1233
  "rule": {
1180
- "$ref": "#/rules@21"
1234
+ "$ref": "#/rules@22"
1181
1235
  },
1182
1236
  "arguments": []
1183
1237
  }
@@ -1207,7 +1261,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1207
1261
  {
1208
1262
  "$type": "RuleCall",
1209
1263
  "rule": {
1210
- "$ref": "#/rules@22"
1264
+ "$ref": "#/rules@23"
1211
1265
  },
1212
1266
  "arguments": []
1213
1267
  },
@@ -1256,7 +1310,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1256
1310
  "terminal": {
1257
1311
  "$type": "RuleCall",
1258
1312
  "rule": {
1259
- "$ref": "#/rules@22"
1313
+ "$ref": "#/rules@23"
1260
1314
  },
1261
1315
  "arguments": []
1262
1316
  }
@@ -1286,7 +1340,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1286
1340
  {
1287
1341
  "$type": "RuleCall",
1288
1342
  "rule": {
1289
- "$ref": "#/rules@23"
1343
+ "$ref": "#/rules@24"
1290
1344
  },
1291
1345
  "arguments": []
1292
1346
  },
@@ -1327,7 +1381,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1327
1381
  "terminal": {
1328
1382
  "$type": "RuleCall",
1329
1383
  "rule": {
1330
- "$ref": "#/rules@23"
1384
+ "$ref": "#/rules@24"
1331
1385
  },
1332
1386
  "arguments": []
1333
1387
  }
@@ -1357,7 +1411,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1357
1411
  {
1358
1412
  "$type": "RuleCall",
1359
1413
  "rule": {
1360
- "$ref": "#/rules@24"
1414
+ "$ref": "#/rules@25"
1361
1415
  },
1362
1416
  "arguments": []
1363
1417
  },
@@ -1398,7 +1452,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1398
1452
  "terminal": {
1399
1453
  "$type": "RuleCall",
1400
1454
  "rule": {
1401
- "$ref": "#/rules@24"
1455
+ "$ref": "#/rules@25"
1402
1456
  },
1403
1457
  "arguments": []
1404
1458
  }
@@ -1435,7 +1489,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1435
1489
  {
1436
1490
  "$type": "RuleCall",
1437
1491
  "rule": {
1438
- "$ref": "#/rules@8"
1492
+ "$ref": "#/rules@9"
1439
1493
  },
1440
1494
  "arguments": []
1441
1495
  },
@@ -1448,56 +1502,56 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1448
1502
  {
1449
1503
  "$type": "RuleCall",
1450
1504
  "rule": {
1451
- "$ref": "#/rules@11"
1505
+ "$ref": "#/rules@12"
1452
1506
  },
1453
1507
  "arguments": []
1454
1508
  },
1455
1509
  {
1456
1510
  "$type": "RuleCall",
1457
1511
  "rule": {
1458
- "$ref": "#/rules@12"
1512
+ "$ref": "#/rules@13"
1459
1513
  },
1460
1514
  "arguments": []
1461
1515
  },
1462
1516
  {
1463
1517
  "$type": "RuleCall",
1464
1518
  "rule": {
1465
- "$ref": "#/rules@9"
1519
+ "$ref": "#/rules@10"
1466
1520
  },
1467
1521
  "arguments": []
1468
1522
  },
1469
1523
  {
1470
1524
  "$type": "RuleCall",
1471
1525
  "rule": {
1472
- "$ref": "#/rules@18"
1526
+ "$ref": "#/rules@19"
1473
1527
  },
1474
1528
  "arguments": []
1475
1529
  },
1476
1530
  {
1477
1531
  "$type": "RuleCall",
1478
1532
  "rule": {
1479
- "$ref": "#/rules@10"
1533
+ "$ref": "#/rules@11"
1480
1534
  },
1481
1535
  "arguments": []
1482
1536
  },
1483
1537
  {
1484
1538
  "$type": "RuleCall",
1485
1539
  "rule": {
1486
- "$ref": "#/rules@13"
1540
+ "$ref": "#/rules@14"
1487
1541
  },
1488
1542
  "arguments": []
1489
1543
  },
1490
1544
  {
1491
1545
  "$type": "RuleCall",
1492
1546
  "rule": {
1493
- "$ref": "#/rules@19"
1547
+ "$ref": "#/rules@20"
1494
1548
  },
1495
1549
  "arguments": []
1496
1550
  },
1497
1551
  {
1498
1552
  "$type": "RuleCall",
1499
1553
  "rule": {
1500
- "$ref": "#/rules@16"
1554
+ "$ref": "#/rules@17"
1501
1555
  },
1502
1556
  "arguments": []
1503
1557
  }
@@ -1524,7 +1578,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1524
1578
  "terminal": {
1525
1579
  "$type": "RuleCall",
1526
1580
  "rule": {
1527
- "$ref": "#/rules@28"
1581
+ "$ref": "#/rules@29"
1528
1582
  },
1529
1583
  "arguments": []
1530
1584
  }
@@ -1543,7 +1597,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1543
1597
  "terminal": {
1544
1598
  "$type": "RuleCall",
1545
1599
  "rule": {
1546
- "$ref": "#/rules@28"
1600
+ "$ref": "#/rules@29"
1547
1601
  },
1548
1602
  "arguments": []
1549
1603
  }
@@ -1575,7 +1629,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1575
1629
  "terminal": {
1576
1630
  "$type": "RuleCall",
1577
1631
  "rule": {
1578
- "$ref": "#/rules@38"
1632
+ "$ref": "#/rules@40"
1579
1633
  },
1580
1634
  "arguments": []
1581
1635
  }
@@ -1594,7 +1648,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1594
1648
  "terminal": {
1595
1649
  "$type": "RuleCall",
1596
1650
  "rule": {
1597
- "$ref": "#/rules@8"
1651
+ "$ref": "#/rules@9"
1598
1652
  },
1599
1653
  "arguments": []
1600
1654
  }
@@ -1621,12 +1675,22 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1621
1675
  "terminal": {
1622
1676
  "$type": "RuleCall",
1623
1677
  "rule": {
1624
- "$ref": "#/rules@60"
1678
+ "$ref": "#/rules@62"
1625
1679
  },
1626
1680
  "arguments": []
1627
1681
  },
1628
1682
  "cardinality": "*"
1629
1683
  },
1684
+ {
1685
+ "$type": "Assignment",
1686
+ "feature": "isAbstract",
1687
+ "operator": "?=",
1688
+ "terminal": {
1689
+ "$type": "Keyword",
1690
+ "value": "abstract"
1691
+ },
1692
+ "cardinality": "?"
1693
+ },
1630
1694
  {
1631
1695
  "$type": "Keyword",
1632
1696
  "value": "model"
@@ -1638,11 +1702,55 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1638
1702
  "terminal": {
1639
1703
  "$type": "RuleCall",
1640
1704
  "rule": {
1641
- "$ref": "#/rules@38"
1705
+ "$ref": "#/rules@40"
1642
1706
  },
1643
1707
  "arguments": []
1644
1708
  }
1645
1709
  },
1710
+ {
1711
+ "$type": "Group",
1712
+ "elements": [
1713
+ {
1714
+ "$type": "Keyword",
1715
+ "value": "extends"
1716
+ },
1717
+ {
1718
+ "$type": "Assignment",
1719
+ "feature": "superTypes",
1720
+ "operator": "+=",
1721
+ "terminal": {
1722
+ "$type": "CrossReference",
1723
+ "type": {
1724
+ "$ref": "#/rules@30"
1725
+ },
1726
+ "deprecatedSyntax": false
1727
+ }
1728
+ },
1729
+ {
1730
+ "$type": "Group",
1731
+ "elements": [
1732
+ {
1733
+ "$type": "Keyword",
1734
+ "value": ","
1735
+ },
1736
+ {
1737
+ "$type": "Assignment",
1738
+ "feature": "superTypes",
1739
+ "operator": "+=",
1740
+ "terminal": {
1741
+ "$type": "CrossReference",
1742
+ "type": {
1743
+ "$ref": "#/rules@30"
1744
+ },
1745
+ "deprecatedSyntax": false
1746
+ }
1747
+ }
1748
+ ],
1749
+ "cardinality": "*"
1750
+ }
1751
+ ],
1752
+ "cardinality": "?"
1753
+ },
1646
1754
  {
1647
1755
  "$type": "Keyword",
1648
1756
  "value": "{"
@@ -1657,7 +1765,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1657
1765
  "terminal": {
1658
1766
  "$type": "RuleCall",
1659
1767
  "rule": {
1660
- "$ref": "#/rules@30"
1768
+ "$ref": "#/rules@31"
1661
1769
  },
1662
1770
  "arguments": []
1663
1771
  }
@@ -1669,7 +1777,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1669
1777
  "terminal": {
1670
1778
  "$type": "RuleCall",
1671
1779
  "rule": {
1672
- "$ref": "#/rules@47"
1780
+ "$ref": "#/rules@49"
1673
1781
  },
1674
1782
  "arguments": []
1675
1783
  }
@@ -1703,7 +1811,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1703
1811
  "terminal": {
1704
1812
  "$type": "RuleCall",
1705
1813
  "rule": {
1706
- "$ref": "#/rules@60"
1814
+ "$ref": "#/rules@62"
1707
1815
  },
1708
1816
  "arguments": []
1709
1817
  },
@@ -1716,7 +1824,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1716
1824
  "terminal": {
1717
1825
  "$type": "RuleCall",
1718
1826
  "rule": {
1719
- "$ref": "#/rules@38"
1827
+ "$ref": "#/rules@40"
1720
1828
  },
1721
1829
  "arguments": []
1722
1830
  }
@@ -1728,7 +1836,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1728
1836
  "terminal": {
1729
1837
  "$type": "RuleCall",
1730
1838
  "rule": {
1731
- "$ref": "#/rules@31"
1839
+ "$ref": "#/rules@32"
1732
1840
  },
1733
1841
  "arguments": []
1734
1842
  }
@@ -1740,7 +1848,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1740
1848
  "terminal": {
1741
1849
  "$type": "RuleCall",
1742
1850
  "rule": {
1743
- "$ref": "#/rules@46"
1851
+ "$ref": "#/rules@48"
1744
1852
  },
1745
1853
  "arguments": []
1746
1854
  },
@@ -1771,7 +1879,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1771
1879
  "terminal": {
1772
1880
  "$type": "RuleCall",
1773
1881
  "rule": {
1774
- "$ref": "#/rules@52"
1882
+ "$ref": "#/rules@54"
1883
+ },
1884
+ "arguments": []
1885
+ }
1886
+ },
1887
+ {
1888
+ "$type": "Assignment",
1889
+ "feature": "unsupported",
1890
+ "operator": "=",
1891
+ "terminal": {
1892
+ "$type": "RuleCall",
1893
+ "rule": {
1894
+ "$ref": "#/rules@33"
1775
1895
  },
1776
1896
  "arguments": []
1777
1897
  }
@@ -1788,7 +1908,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1788
1908
  "terminal": {
1789
1909
  "$type": "RuleCall",
1790
1910
  "rule": {
1791
- "$ref": "#/rules@38"
1911
+ "$ref": "#/rules@40"
1792
1912
  },
1793
1913
  "arguments": []
1794
1914
  },
@@ -1835,6 +1955,45 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1835
1955
  "parameters": [],
1836
1956
  "wildcard": false
1837
1957
  },
1958
+ {
1959
+ "$type": "ParserRule",
1960
+ "name": "UnsupportedFieldType",
1961
+ "definition": {
1962
+ "$type": "Group",
1963
+ "elements": [
1964
+ {
1965
+ "$type": "Keyword",
1966
+ "value": "Unsupported"
1967
+ },
1968
+ {
1969
+ "$type": "Keyword",
1970
+ "value": "("
1971
+ },
1972
+ {
1973
+ "$type": "Assignment",
1974
+ "feature": "value",
1975
+ "operator": "=",
1976
+ "terminal": {
1977
+ "$type": "RuleCall",
1978
+ "rule": {
1979
+ "$ref": "#/rules@10"
1980
+ },
1981
+ "arguments": []
1982
+ }
1983
+ },
1984
+ {
1985
+ "$type": "Keyword",
1986
+ "value": ")"
1987
+ }
1988
+ ]
1989
+ },
1990
+ "definesHiddenTokens": false,
1991
+ "entry": false,
1992
+ "fragment": false,
1993
+ "hiddenTokens": [],
1994
+ "parameters": [],
1995
+ "wildcard": false
1996
+ },
1838
1997
  {
1839
1998
  "$type": "ParserRule",
1840
1999
  "name": "Enum",
@@ -1848,7 +2007,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1848
2007
  "terminal": {
1849
2008
  "$type": "RuleCall",
1850
2009
  "rule": {
1851
- "$ref": "#/rules@60"
2010
+ "$ref": "#/rules@62"
1852
2011
  },
1853
2012
  "arguments": []
1854
2013
  },
@@ -1865,7 +2024,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1865
2024
  "terminal": {
1866
2025
  "$type": "RuleCall",
1867
2026
  "rule": {
1868
- "$ref": "#/rules@38"
2027
+ "$ref": "#/rules@40"
1869
2028
  },
1870
2029
  "arguments": []
1871
2030
  }
@@ -1884,7 +2043,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1884
2043
  "terminal": {
1885
2044
  "$type": "RuleCall",
1886
2045
  "rule": {
1887
- "$ref": "#/rules@33"
2046
+ "$ref": "#/rules@35"
1888
2047
  },
1889
2048
  "arguments": []
1890
2049
  }
@@ -1896,7 +2055,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1896
2055
  "terminal": {
1897
2056
  "$type": "RuleCall",
1898
2057
  "rule": {
1899
- "$ref": "#/rules@47"
2058
+ "$ref": "#/rules@49"
1900
2059
  },
1901
2060
  "arguments": []
1902
2061
  }
@@ -1930,7 +2089,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1930
2089
  "terminal": {
1931
2090
  "$type": "RuleCall",
1932
2091
  "rule": {
1933
- "$ref": "#/rules@60"
2092
+ "$ref": "#/rules@62"
1934
2093
  },
1935
2094
  "arguments": []
1936
2095
  },
@@ -1943,7 +2102,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1943
2102
  "terminal": {
1944
2103
  "$type": "RuleCall",
1945
2104
  "rule": {
1946
- "$ref": "#/rules@38"
2105
+ "$ref": "#/rules@40"
1947
2106
  },
1948
2107
  "arguments": []
1949
2108
  }
@@ -1955,7 +2114,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1955
2114
  "terminal": {
1956
2115
  "$type": "RuleCall",
1957
2116
  "rule": {
1958
- "$ref": "#/rules@46"
2117
+ "$ref": "#/rules@48"
1959
2118
  },
1960
2119
  "arguments": []
1961
2120
  },
@@ -1979,7 +2138,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1979
2138
  {
1980
2139
  "$type": "RuleCall",
1981
2140
  "rule": {
1982
- "$ref": "#/rules@60"
2141
+ "$ref": "#/rules@62"
1983
2142
  },
1984
2143
  "arguments": [],
1985
2144
  "cardinality": "*"
@@ -1995,7 +2154,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1995
2154
  "terminal": {
1996
2155
  "$type": "RuleCall",
1997
2156
  "rule": {
1998
- "$ref": "#/rules@38"
2157
+ "$ref": "#/rules@40"
1999
2158
  },
2000
2159
  "arguments": []
2001
2160
  }
@@ -2014,7 +2173,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2014
2173
  "terminal": {
2015
2174
  "$type": "RuleCall",
2016
2175
  "rule": {
2017
- "$ref": "#/rules@35"
2176
+ "$ref": "#/rules@37"
2018
2177
  },
2019
2178
  "arguments": []
2020
2179
  }
@@ -2033,7 +2192,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2033
2192
  "terminal": {
2034
2193
  "$type": "RuleCall",
2035
2194
  "rule": {
2036
- "$ref": "#/rules@35"
2195
+ "$ref": "#/rules@37"
2037
2196
  },
2038
2197
  "arguments": []
2039
2198
  }
@@ -2059,7 +2218,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2059
2218
  "terminal": {
2060
2219
  "$type": "RuleCall",
2061
2220
  "rule": {
2062
- "$ref": "#/rules@36"
2221
+ "$ref": "#/rules@38"
2063
2222
  },
2064
2223
  "arguments": []
2065
2224
  }
@@ -2075,7 +2234,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2075
2234
  "terminal": {
2076
2235
  "$type": "RuleCall",
2077
2236
  "rule": {
2078
- "$ref": "#/rules@8"
2237
+ "$ref": "#/rules@9"
2079
2238
  },
2080
2239
  "arguments": []
2081
2240
  },
@@ -2103,7 +2262,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2103
2262
  {
2104
2263
  "$type": "RuleCall",
2105
2264
  "rule": {
2106
- "$ref": "#/rules@60"
2265
+ "$ref": "#/rules@62"
2107
2266
  },
2108
2267
  "arguments": [],
2109
2268
  "cardinality": "*"
@@ -2115,7 +2274,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2115
2274
  "terminal": {
2116
2275
  "$type": "RuleCall",
2117
2276
  "rule": {
2118
- "$ref": "#/rules@38"
2277
+ "$ref": "#/rules@40"
2119
2278
  },
2120
2279
  "arguments": []
2121
2280
  }
@@ -2131,7 +2290,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2131
2290
  "terminal": {
2132
2291
  "$type": "RuleCall",
2133
2292
  "rule": {
2134
- "$ref": "#/rules@36"
2293
+ "$ref": "#/rules@38"
2135
2294
  },
2136
2295
  "arguments": []
2137
2296
  }
@@ -2171,7 +2330,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2171
2330
  "terminal": {
2172
2331
  "$type": "RuleCall",
2173
2332
  "rule": {
2174
- "$ref": "#/rules@51"
2333
+ "$ref": "#/rules@53"
2175
2334
  },
2176
2335
  "arguments": []
2177
2336
  }
@@ -2188,7 +2347,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2188
2347
  "terminal": {
2189
2348
  "$type": "RuleCall",
2190
2349
  "rule": {
2191
- "$ref": "#/rules@38"
2350
+ "$ref": "#/rules@40"
2192
2351
  },
2193
2352
  "arguments": []
2194
2353
  },
@@ -2235,7 +2394,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2235
2394
  {
2236
2395
  "$type": "RuleCall",
2237
2396
  "rule": {
2238
- "$ref": "#/rules@57"
2397
+ "$ref": "#/rules@59"
2239
2398
  },
2240
2399
  "arguments": []
2241
2400
  },
@@ -2252,14 +2411,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2252
2411
  {
2253
2412
  "$type": "RuleCall",
2254
2413
  "rule": {
2255
- "$ref": "#/rules@57"
2414
+ "$ref": "#/rules@59"
2256
2415
  },
2257
2416
  "arguments": []
2258
2417
  },
2259
2418
  {
2260
2419
  "$type": "RuleCall",
2261
2420
  "rule": {
2262
- "$ref": "#/rules@52"
2421
+ "$ref": "#/rules@54"
2263
2422
  },
2264
2423
  "arguments": []
2265
2424
  }
@@ -2287,7 +2446,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2287
2446
  {
2288
2447
  "$type": "RuleCall",
2289
2448
  "rule": {
2290
- "$ref": "#/rules@57"
2449
+ "$ref": "#/rules@59"
2291
2450
  },
2292
2451
  "arguments": []
2293
2452
  },
@@ -2318,7 +2477,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2318
2477
  {
2319
2478
  "$type": "RuleCall",
2320
2479
  "rule": {
2321
- "$ref": "#/rules@37"
2480
+ "$ref": "#/rules@39"
2322
2481
  },
2323
2482
  "arguments": []
2324
2483
  }
@@ -2345,7 +2504,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2345
2504
  {
2346
2505
  "$type": "RuleCall",
2347
2506
  "rule": {
2348
- "$ref": "#/rules@37"
2507
+ "$ref": "#/rules@39"
2349
2508
  },
2350
2509
  "arguments": []
2351
2510
  }
@@ -2372,7 +2531,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2372
2531
  {
2373
2532
  "$type": "RuleCall",
2374
2533
  "rule": {
2375
- "$ref": "#/rules@37"
2534
+ "$ref": "#/rules@39"
2376
2535
  },
2377
2536
  "arguments": []
2378
2537
  }
@@ -2395,21 +2554,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2395
2554
  {
2396
2555
  "$type": "RuleCall",
2397
2556
  "rule": {
2398
- "$ref": "#/rules@40"
2557
+ "$ref": "#/rules@42"
2399
2558
  },
2400
2559
  "arguments": []
2401
2560
  },
2402
2561
  {
2403
2562
  "$type": "RuleCall",
2404
2563
  "rule": {
2405
- "$ref": "#/rules@41"
2564
+ "$ref": "#/rules@43"
2406
2565
  },
2407
2566
  "arguments": []
2408
2567
  },
2409
2568
  {
2410
2569
  "$type": "RuleCall",
2411
2570
  "rule": {
2412
- "$ref": "#/rules@39"
2571
+ "$ref": "#/rules@41"
2413
2572
  },
2414
2573
  "arguments": []
2415
2574
  }
@@ -2431,7 +2590,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2431
2590
  {
2432
2591
  "$type": "RuleCall",
2433
2592
  "rule": {
2434
- "$ref": "#/rules@60"
2593
+ "$ref": "#/rules@62"
2435
2594
  },
2436
2595
  "arguments": [],
2437
2596
  "cardinality": "*"
@@ -2447,7 +2606,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2447
2606
  "terminal": {
2448
2607
  "$type": "RuleCall",
2449
2608
  "rule": {
2450
- "$ref": "#/rules@42"
2609
+ "$ref": "#/rules@44"
2451
2610
  },
2452
2611
  "arguments": []
2453
2612
  }
@@ -2466,7 +2625,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2466
2625
  "terminal": {
2467
2626
  "$type": "RuleCall",
2468
2627
  "rule": {
2469
- "$ref": "#/rules@44"
2628
+ "$ref": "#/rules@46"
2470
2629
  },
2471
2630
  "arguments": []
2472
2631
  }
@@ -2485,7 +2644,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2485
2644
  "terminal": {
2486
2645
  "$type": "RuleCall",
2487
2646
  "rule": {
2488
- "$ref": "#/rules@44"
2647
+ "$ref": "#/rules@46"
2489
2648
  },
2490
2649
  "arguments": []
2491
2650
  }
@@ -2507,7 +2666,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2507
2666
  "terminal": {
2508
2667
  "$type": "RuleCall",
2509
2668
  "rule": {
2510
- "$ref": "#/rules@48"
2669
+ "$ref": "#/rules@50"
2511
2670
  },
2512
2671
  "arguments": []
2513
2672
  },
@@ -2531,7 +2690,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2531
2690
  {
2532
2691
  "$type": "RuleCall",
2533
2692
  "rule": {
2534
- "$ref": "#/rules@60"
2693
+ "$ref": "#/rules@62"
2535
2694
  },
2536
2695
  "arguments": [],
2537
2696
  "cardinality": "*"
@@ -2553,7 +2712,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2553
2712
  "terminal": {
2554
2713
  "$type": "RuleCall",
2555
2714
  "rule": {
2556
- "$ref": "#/rules@38"
2715
+ "$ref": "#/rules@40"
2557
2716
  },
2558
2717
  "arguments": []
2559
2718
  }
@@ -2569,7 +2728,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2569
2728
  "terminal": {
2570
2729
  "$type": "RuleCall",
2571
2730
  "rule": {
2572
- "$ref": "#/rules@45"
2731
+ "$ref": "#/rules@47"
2573
2732
  },
2574
2733
  "arguments": []
2575
2734
  }
@@ -2602,7 +2761,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2602
2761
  {
2603
2762
  "$type": "RuleCall",
2604
2763
  "rule": {
2605
- "$ref": "#/rules@51"
2764
+ "$ref": "#/rules@53"
2606
2765
  },
2607
2766
  "arguments": []
2608
2767
  },
@@ -2633,7 +2792,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2633
2792
  "terminal": {
2634
2793
  "$type": "RuleCall",
2635
2794
  "rule": {
2636
- "$ref": "#/rules@38"
2795
+ "$ref": "#/rules@40"
2637
2796
  },
2638
2797
  "arguments": []
2639
2798
  },
@@ -2693,12 +2852,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2693
2852
  "terminal": {
2694
2853
  "$type": "CrossReference",
2695
2854
  "type": {
2696
- "$ref": "#/rules@43"
2855
+ "$ref": "#/rules@45"
2697
2856
  },
2698
2857
  "terminal": {
2699
2858
  "$type": "RuleCall",
2700
2859
  "rule": {
2701
- "$ref": "#/rules@41"
2860
+ "$ref": "#/rules@43"
2702
2861
  },
2703
2862
  "arguments": []
2704
2863
  },
@@ -2715,7 +2874,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2715
2874
  {
2716
2875
  "$type": "RuleCall",
2717
2876
  "rule": {
2718
- "$ref": "#/rules@49"
2877
+ "$ref": "#/rules@51"
2719
2878
  },
2720
2879
  "arguments": [],
2721
2880
  "cardinality": "?"
@@ -2745,7 +2904,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2745
2904
  {
2746
2905
  "$type": "RuleCall",
2747
2906
  "rule": {
2748
- "$ref": "#/rules@60"
2907
+ "$ref": "#/rules@62"
2749
2908
  },
2750
2909
  "arguments": [],
2751
2910
  "cardinality": "*"
@@ -2757,12 +2916,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2757
2916
  "terminal": {
2758
2917
  "$type": "CrossReference",
2759
2918
  "type": {
2760
- "$ref": "#/rules@43"
2919
+ "$ref": "#/rules@45"
2761
2920
  },
2762
2921
  "terminal": {
2763
2922
  "$type": "RuleCall",
2764
2923
  "rule": {
2765
- "$ref": "#/rules@40"
2924
+ "$ref": "#/rules@42"
2766
2925
  },
2767
2926
  "arguments": []
2768
2927
  },
@@ -2779,7 +2938,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2779
2938
  {
2780
2939
  "$type": "RuleCall",
2781
2940
  "rule": {
2782
- "$ref": "#/rules@49"
2941
+ "$ref": "#/rules@51"
2783
2942
  },
2784
2943
  "arguments": [],
2785
2944
  "cardinality": "?"
@@ -2813,12 +2972,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2813
2972
  "terminal": {
2814
2973
  "$type": "CrossReference",
2815
2974
  "type": {
2816
- "$ref": "#/rules@43"
2975
+ "$ref": "#/rules@45"
2817
2976
  },
2818
2977
  "terminal": {
2819
2978
  "$type": "RuleCall",
2820
2979
  "rule": {
2821
- "$ref": "#/rules@39"
2980
+ "$ref": "#/rules@41"
2822
2981
  },
2823
2982
  "arguments": []
2824
2983
  },
@@ -2835,7 +2994,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2835
2994
  {
2836
2995
  "$type": "RuleCall",
2837
2996
  "rule": {
2838
- "$ref": "#/rules@49"
2997
+ "$ref": "#/rules@51"
2839
2998
  },
2840
2999
  "arguments": [],
2841
3000
  "cardinality": "?"
@@ -2870,7 +3029,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2870
3029
  "terminal": {
2871
3030
  "$type": "RuleCall",
2872
3031
  "rule": {
2873
- "$ref": "#/rules@50"
3032
+ "$ref": "#/rules@52"
2874
3033
  },
2875
3034
  "arguments": []
2876
3035
  }
@@ -2889,7 +3048,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2889
3048
  "terminal": {
2890
3049
  "$type": "RuleCall",
2891
3050
  "rule": {
2892
- "$ref": "#/rules@50"
3051
+ "$ref": "#/rules@52"
2893
3052
  },
2894
3053
  "arguments": []
2895
3054
  }
@@ -2921,7 +3080,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2921
3080
  "terminal": {
2922
3081
  "$type": "RuleCall",
2923
3082
  "rule": {
2924
- "$ref": "#/rules@38"
3083
+ "$ref": "#/rules@40"
2925
3084
  },
2926
3085
  "arguments": []
2927
3086
  }
@@ -2940,7 +3099,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2940
3099
  "terminal": {
2941
3100
  "$type": "RuleCall",
2942
3101
  "rule": {
2943
- "$ref": "#/rules@8"
3102
+ "$ref": "#/rules@9"
2944
3103
  },
2945
3104
  "arguments": []
2946
3105
  }
@@ -2992,6 +3151,10 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2992
3151
  {
2993
3152
  "$type": "Keyword",
2994
3153
  "value": "Any"
3154
+ },
3155
+ {
3156
+ "$type": "Keyword",
3157
+ "value": "Unsupported"
2995
3158
  }
2996
3159
  ]
2997
3160
  },
@@ -3179,19 +3342,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
3179
3342
  {
3180
3343
  "$type": "SimpleType",
3181
3344
  "typeRef": {
3182
- "$ref": "#/rules@35"
3345
+ "$ref": "#/rules@37"
3183
3346
  }
3184
3347
  },
3185
3348
  {
3186
3349
  "$type": "SimpleType",
3187
3350
  "typeRef": {
3188
- "$ref": "#/rules@30"
3351
+ "$ref": "#/rules@31"
3189
3352
  }
3190
3353
  },
3191
3354
  {
3192
3355
  "$type": "SimpleType",
3193
3356
  "typeRef": {
3194
- "$ref": "#/rules@33"
3357
+ "$ref": "#/rules@35"
3195
3358
  }
3196
3359
  }
3197
3360
  ]
@@ -3206,13 +3369,13 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
3206
3369
  {
3207
3370
  "$type": "SimpleType",
3208
3371
  "typeRef": {
3209
- "$ref": "#/rules@29"
3372
+ "$ref": "#/rules@30"
3210
3373
  }
3211
3374
  },
3212
3375
  {
3213
3376
  "$type": "SimpleType",
3214
3377
  "typeRef": {
3215
- "$ref": "#/rules@32"
3378
+ "$ref": "#/rules@34"
3216
3379
  }
3217
3380
  }
3218
3381
  ]