@zenstackhq/language 1.0.0-alpha.98 → 1.0.0-beta.1

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /******************************************************************************
3
- * This file was generated by langium-cli 1.1.0.
3
+ * This file was generated by langium-cli 1.2.0.
4
4
  * DO NOT EDIT MANUALLY!
5
5
  ******************************************************************************/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -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@42"
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@59"
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@56"
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@59"
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@56"
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@16"
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@59"
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@56"
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@59"
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@56"
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@59"
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@56"
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@59"
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@56"
490
+ "$ref": "#/rules@40"
437
491
  },
438
492
  "arguments": []
439
493
  }
@@ -452,14 +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"
517
+ },
518
+ "arguments": []
519
+ },
520
+ {
521
+ "$type": "RuleCall",
522
+ "rule": {
523
+ "$ref": "#/rules@17"
463
524
  },
464
525
  "arguments": []
465
526
  }
@@ -481,7 +542,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
481
542
  "definition": {
482
543
  "$type": "RuleCall",
483
544
  "rule": {
484
- "$ref": "#/rules@23"
545
+ "$ref": "#/rules@26"
485
546
  },
486
547
  "arguments": []
487
548
  },
@@ -505,21 +566,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
505
566
  {
506
567
  "$type": "RuleCall",
507
568
  "rule": {
508
- "$ref": "#/rules@53"
569
+ "$ref": "#/rules@56"
509
570
  },
510
571
  "arguments": []
511
572
  },
512
573
  {
513
574
  "$type": "RuleCall",
514
575
  "rule": {
515
- "$ref": "#/rules@58"
576
+ "$ref": "#/rules@61"
516
577
  },
517
578
  "arguments": []
518
579
  },
519
580
  {
520
581
  "$type": "RuleCall",
521
582
  "rule": {
522
- "$ref": "#/rules@57"
583
+ "$ref": "#/rules@60"
523
584
  },
524
585
  "arguments": []
525
586
  }
@@ -553,7 +614,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
553
614
  "terminal": {
554
615
  "$type": "RuleCall",
555
616
  "rule": {
556
- "$ref": "#/rules@8"
617
+ "$ref": "#/rules@9"
557
618
  },
558
619
  "arguments": []
559
620
  }
@@ -572,7 +633,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
572
633
  "terminal": {
573
634
  "$type": "RuleCall",
574
635
  "rule": {
575
- "$ref": "#/rules@8"
636
+ "$ref": "#/rules@9"
576
637
  },
577
638
  "arguments": []
578
639
  }
@@ -606,7 +667,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
606
667
  "terminal": {
607
668
  "$type": "RuleCall",
608
669
  "rule": {
609
- "$ref": "#/rules@55"
670
+ "$ref": "#/rules@58"
610
671
  },
611
672
  "arguments": []
612
673
  }
@@ -628,7 +689,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
628
689
  "terminal": {
629
690
  "$type": "RuleCall",
630
691
  "rule": {
631
- "$ref": "#/rules@54"
692
+ "$ref": "#/rules@57"
632
693
  },
633
694
  "arguments": []
634
695
  }
@@ -658,7 +719,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
658
719
  "terminal": {
659
720
  "$type": "RuleCall",
660
721
  "rule": {
661
- "$ref": "#/rules@56"
722
+ "$ref": "#/rules@40"
662
723
  },
663
724
  "arguments": []
664
725
  },
@@ -675,7 +736,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
675
736
  {
676
737
  "$type": "RuleCall",
677
738
  "rule": {
678
- "$ref": "#/rules@14"
739
+ "$ref": "#/rules@15"
679
740
  },
680
741
  "arguments": []
681
742
  },
@@ -709,7 +770,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
709
770
  "terminal": {
710
771
  "$type": "RuleCall",
711
772
  "rule": {
712
- "$ref": "#/rules@15"
773
+ "$ref": "#/rules@16"
713
774
  },
714
775
  "arguments": []
715
776
  }
@@ -728,7 +789,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
728
789
  "terminal": {
729
790
  "$type": "RuleCall",
730
791
  "rule": {
731
- "$ref": "#/rules@15"
792
+ "$ref": "#/rules@16"
732
793
  },
733
794
  "arguments": []
734
795
  }
@@ -790,6 +851,117 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
790
851
  "parameters": [],
791
852
  "wildcard": false
792
853
  },
854
+ {
855
+ "$type": "ParserRule",
856
+ "name": "ObjectExpr",
857
+ "definition": {
858
+ "$type": "Group",
859
+ "elements": [
860
+ {
861
+ "$type": "Keyword",
862
+ "value": "{"
863
+ },
864
+ {
865
+ "$type": "Group",
866
+ "elements": [
867
+ {
868
+ "$type": "Assignment",
869
+ "feature": "fields",
870
+ "operator": "+=",
871
+ "terminal": {
872
+ "$type": "RuleCall",
873
+ "rule": {
874
+ "$ref": "#/rules@18"
875
+ },
876
+ "arguments": []
877
+ }
878
+ },
879
+ {
880
+ "$type": "Group",
881
+ "elements": [
882
+ {
883
+ "$type": "Keyword",
884
+ "value": ","
885
+ },
886
+ {
887
+ "$type": "Assignment",
888
+ "feature": "fields",
889
+ "operator": "+=",
890
+ "terminal": {
891
+ "$type": "RuleCall",
892
+ "rule": {
893
+ "$ref": "#/rules@18"
894
+ },
895
+ "arguments": []
896
+ }
897
+ }
898
+ ],
899
+ "cardinality": "*"
900
+ },
901
+ {
902
+ "$type": "Keyword",
903
+ "value": ",",
904
+ "cardinality": "?"
905
+ }
906
+ ],
907
+ "cardinality": "?"
908
+ },
909
+ {
910
+ "$type": "Keyword",
911
+ "value": "}"
912
+ }
913
+ ]
914
+ },
915
+ "definesHiddenTokens": false,
916
+ "entry": false,
917
+ "fragment": false,
918
+ "hiddenTokens": [],
919
+ "parameters": [],
920
+ "wildcard": false
921
+ },
922
+ {
923
+ "$type": "ParserRule",
924
+ "name": "FieldInitializer",
925
+ "definition": {
926
+ "$type": "Group",
927
+ "elements": [
928
+ {
929
+ "$type": "Assignment",
930
+ "feature": "name",
931
+ "operator": "=",
932
+ "terminal": {
933
+ "$type": "RuleCall",
934
+ "rule": {
935
+ "$ref": "#/rules@40"
936
+ },
937
+ "arguments": []
938
+ }
939
+ },
940
+ {
941
+ "$type": "Keyword",
942
+ "value": ":"
943
+ },
944
+ {
945
+ "$type": "Assignment",
946
+ "feature": "value",
947
+ "operator": "=",
948
+ "terminal": {
949
+ "$type": "RuleCall",
950
+ "rule": {
951
+ "$ref": "#/rules@9"
952
+ },
953
+ "arguments": []
954
+ }
955
+ }
956
+ ]
957
+ },
958
+ "definesHiddenTokens": false,
959
+ "entry": false,
960
+ "fragment": false,
961
+ "hiddenTokens": [],
962
+ "parameters": [],
963
+ "wildcard": false
964
+ },
793
965
  {
794
966
  "$type": "ParserRule",
795
967
  "name": "InvocationExpr",
@@ -803,7 +975,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
803
975
  "terminal": {
804
976
  "$type": "CrossReference",
805
977
  "type": {
806
- "$ref": "#/rules@34"
978
+ "$ref": "#/rules@36"
807
979
  },
808
980
  "deprecatedSyntax": false
809
981
  }
@@ -815,7 +987,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
815
987
  {
816
988
  "$type": "RuleCall",
817
989
  "rule": {
818
- "$ref": "#/rules@27"
990
+ "$ref": "#/rules@28"
819
991
  },
820
992
  "arguments": [],
821
993
  "cardinality": "?"
@@ -855,7 +1027,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
855
1027
  "terminal": {
856
1028
  "$type": "RuleCall",
857
1029
  "rule": {
858
- "$ref": "#/rules@8"
1030
+ "$ref": "#/rules@9"
859
1031
  },
860
1032
  "arguments": []
861
1033
  }
@@ -882,7 +1054,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
882
1054
  {
883
1055
  "$type": "RuleCall",
884
1056
  "rule": {
885
- "$ref": "#/rules@24"
1057
+ "$ref": "#/rules@27"
886
1058
  },
887
1059
  "arguments": []
888
1060
  },
@@ -912,7 +1084,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
912
1084
  "terminal": {
913
1085
  "$type": "CrossReference",
914
1086
  "type": {
915
- "$ref": "#/rules@30"
1087
+ "$ref": "#/rules@31"
916
1088
  },
917
1089
  "deprecatedSyntax": false
918
1090
  }
@@ -944,7 +1116,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
944
1116
  {
945
1117
  "$type": "RuleCall",
946
1118
  "rule": {
947
- "$ref": "#/rules@18"
1119
+ "$ref": "#/rules@21"
948
1120
  },
949
1121
  "arguments": []
950
1122
  },
@@ -993,7 +1165,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
993
1165
  "terminal": {
994
1166
  "$type": "RuleCall",
995
1167
  "rule": {
996
- "$ref": "#/rules@8"
1168
+ "$ref": "#/rules@9"
997
1169
  },
998
1170
  "arguments": []
999
1171
  }
@@ -1027,7 +1199,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1027
1199
  {
1028
1200
  "$type": "RuleCall",
1029
1201
  "rule": {
1030
- "$ref": "#/rules@19"
1202
+ "$ref": "#/rules@22"
1031
1203
  },
1032
1204
  "arguments": []
1033
1205
  },
@@ -1059,7 +1231,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1059
1231
  "terminal": {
1060
1232
  "$type": "RuleCall",
1061
1233
  "rule": {
1062
- "$ref": "#/rules@19"
1234
+ "$ref": "#/rules@22"
1063
1235
  },
1064
1236
  "arguments": []
1065
1237
  }
@@ -1089,7 +1261,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1089
1261
  {
1090
1262
  "$type": "RuleCall",
1091
1263
  "rule": {
1092
- "$ref": "#/rules@20"
1264
+ "$ref": "#/rules@23"
1093
1265
  },
1094
1266
  "arguments": []
1095
1267
  },
@@ -1138,7 +1310,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1138
1310
  "terminal": {
1139
1311
  "$type": "RuleCall",
1140
1312
  "rule": {
1141
- "$ref": "#/rules@20"
1313
+ "$ref": "#/rules@23"
1142
1314
  },
1143
1315
  "arguments": []
1144
1316
  }
@@ -1168,7 +1340,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1168
1340
  {
1169
1341
  "$type": "RuleCall",
1170
1342
  "rule": {
1171
- "$ref": "#/rules@21"
1343
+ "$ref": "#/rules@24"
1172
1344
  },
1173
1345
  "arguments": []
1174
1346
  },
@@ -1209,7 +1381,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1209
1381
  "terminal": {
1210
1382
  "$type": "RuleCall",
1211
1383
  "rule": {
1212
- "$ref": "#/rules@21"
1384
+ "$ref": "#/rules@24"
1213
1385
  },
1214
1386
  "arguments": []
1215
1387
  }
@@ -1239,7 +1411,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1239
1411
  {
1240
1412
  "$type": "RuleCall",
1241
1413
  "rule": {
1242
- "$ref": "#/rules@22"
1414
+ "$ref": "#/rules@25"
1243
1415
  },
1244
1416
  "arguments": []
1245
1417
  },
@@ -1280,7 +1452,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1280
1452
  "terminal": {
1281
1453
  "$type": "RuleCall",
1282
1454
  "rule": {
1283
- "$ref": "#/rules@22"
1455
+ "$ref": "#/rules@25"
1284
1456
  },
1285
1457
  "arguments": []
1286
1458
  }
@@ -1317,7 +1489,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1317
1489
  {
1318
1490
  "$type": "RuleCall",
1319
1491
  "rule": {
1320
- "$ref": "#/rules@8"
1492
+ "$ref": "#/rules@9"
1321
1493
  },
1322
1494
  "arguments": []
1323
1495
  },
@@ -1327,13 +1499,6 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1327
1499
  }
1328
1500
  ]
1329
1501
  },
1330
- {
1331
- "$type": "RuleCall",
1332
- "rule": {
1333
- "$ref": "#/rules@11"
1334
- },
1335
- "arguments": []
1336
- },
1337
1502
  {
1338
1503
  "$type": "RuleCall",
1339
1504
  "rule": {
@@ -1341,27 +1506,6 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1341
1506
  },
1342
1507
  "arguments": []
1343
1508
  },
1344
- {
1345
- "$type": "RuleCall",
1346
- "rule": {
1347
- "$ref": "#/rules@9"
1348
- },
1349
- "arguments": []
1350
- },
1351
- {
1352
- "$type": "RuleCall",
1353
- "rule": {
1354
- "$ref": "#/rules@16"
1355
- },
1356
- "arguments": []
1357
- },
1358
- {
1359
- "$type": "RuleCall",
1360
- "rule": {
1361
- "$ref": "#/rules@10"
1362
- },
1363
- "arguments": []
1364
- },
1365
1509
  {
1366
1510
  "$type": "RuleCall",
1367
1511
  "rule": {
@@ -1372,127 +1516,44 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1372
1516
  {
1373
1517
  "$type": "RuleCall",
1374
1518
  "rule": {
1375
- "$ref": "#/rules@17"
1519
+ "$ref": "#/rules@10"
1376
1520
  },
1377
1521
  "arguments": []
1378
1522
  },
1379
1523
  {
1380
1524
  "$type": "RuleCall",
1381
- "rule": {
1382
- "$ref": "#/rules@25"
1383
- },
1384
- "arguments": []
1385
- }
1386
- ]
1387
- },
1388
- "definesHiddenTokens": false,
1389
- "entry": false,
1390
- "fragment": false,
1391
- "hiddenTokens": [],
1392
- "parameters": [],
1393
- "wildcard": false
1394
- },
1395
- {
1396
- "$type": "ParserRule",
1397
- "name": "ObjectExpr",
1398
- "definition": {
1399
- "$type": "Group",
1400
- "elements": [
1401
- {
1402
- "$type": "Keyword",
1403
- "value": "{"
1404
- },
1405
- {
1406
- "$type": "Group",
1407
- "elements": [
1408
- {
1409
- "$type": "Assignment",
1410
- "feature": "fields",
1411
- "operator": "+=",
1412
- "terminal": {
1413
- "$type": "RuleCall",
1414
- "rule": {
1415
- "$ref": "#/rules@26"
1416
- },
1417
- "arguments": []
1418
- }
1419
- },
1420
- {
1421
- "$type": "Group",
1422
- "elements": [
1423
- {
1424
- "$type": "Keyword",
1425
- "value": ","
1426
- },
1427
- {
1428
- "$type": "Assignment",
1429
- "feature": "fields",
1430
- "operator": "+=",
1431
- "terminal": {
1432
- "$type": "RuleCall",
1433
- "rule": {
1434
- "$ref": "#/rules@26"
1435
- },
1436
- "arguments": []
1437
- }
1438
- }
1439
- ],
1440
- "cardinality": "*"
1441
- },
1442
- {
1443
- "$type": "Keyword",
1444
- "value": ",",
1445
- "cardinality": "?"
1446
- }
1447
- ],
1448
- "cardinality": "?"
1449
- },
1450
- {
1451
- "$type": "Keyword",
1452
- "value": "}"
1453
- }
1454
- ]
1455
- },
1456
- "definesHiddenTokens": false,
1457
- "entry": false,
1458
- "fragment": false,
1459
- "hiddenTokens": [],
1460
- "parameters": [],
1461
- "wildcard": false
1462
- },
1463
- {
1464
- "$type": "ParserRule",
1465
- "name": "FieldInitializer",
1466
- "definition": {
1467
- "$type": "Group",
1468
- "elements": [
1525
+ "rule": {
1526
+ "$ref": "#/rules@19"
1527
+ },
1528
+ "arguments": []
1529
+ },
1469
1530
  {
1470
- "$type": "Assignment",
1471
- "feature": "name",
1472
- "operator": "=",
1473
- "terminal": {
1474
- "$type": "RuleCall",
1475
- "rule": {
1476
- "$ref": "#/rules@56"
1477
- },
1478
- "arguments": []
1479
- }
1531
+ "$type": "RuleCall",
1532
+ "rule": {
1533
+ "$ref": "#/rules@11"
1534
+ },
1535
+ "arguments": []
1480
1536
  },
1481
1537
  {
1482
- "$type": "Keyword",
1483
- "value": ":"
1538
+ "$type": "RuleCall",
1539
+ "rule": {
1540
+ "$ref": "#/rules@14"
1541
+ },
1542
+ "arguments": []
1484
1543
  },
1485
1544
  {
1486
- "$type": "Assignment",
1487
- "feature": "value",
1488
- "operator": "=",
1489
- "terminal": {
1490
- "$type": "RuleCall",
1491
- "rule": {
1492
- "$ref": "#/rules@8"
1493
- },
1494
- "arguments": []
1495
- }
1545
+ "$type": "RuleCall",
1546
+ "rule": {
1547
+ "$ref": "#/rules@20"
1548
+ },
1549
+ "arguments": []
1550
+ },
1551
+ {
1552
+ "$type": "RuleCall",
1553
+ "rule": {
1554
+ "$ref": "#/rules@17"
1555
+ },
1556
+ "arguments": []
1496
1557
  }
1497
1558
  ]
1498
1559
  },
@@ -1517,7 +1578,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1517
1578
  "terminal": {
1518
1579
  "$type": "RuleCall",
1519
1580
  "rule": {
1520
- "$ref": "#/rules@28"
1581
+ "$ref": "#/rules@29"
1521
1582
  },
1522
1583
  "arguments": []
1523
1584
  }
@@ -1536,7 +1597,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1536
1597
  "terminal": {
1537
1598
  "$type": "RuleCall",
1538
1599
  "rule": {
1539
- "$ref": "#/rules@28"
1600
+ "$ref": "#/rules@29"
1540
1601
  },
1541
1602
  "arguments": []
1542
1603
  }
@@ -1568,7 +1629,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1568
1629
  "terminal": {
1569
1630
  "$type": "RuleCall",
1570
1631
  "rule": {
1571
- "$ref": "#/rules@56"
1632
+ "$ref": "#/rules@40"
1572
1633
  },
1573
1634
  "arguments": []
1574
1635
  }
@@ -1587,7 +1648,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1587
1648
  "terminal": {
1588
1649
  "$type": "RuleCall",
1589
1650
  "rule": {
1590
- "$ref": "#/rules@8"
1651
+ "$ref": "#/rules@9"
1591
1652
  },
1592
1653
  "arguments": []
1593
1654
  }
@@ -1614,12 +1675,22 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1614
1675
  "terminal": {
1615
1676
  "$type": "RuleCall",
1616
1677
  "rule": {
1617
- "$ref": "#/rules@59"
1678
+ "$ref": "#/rules@62"
1618
1679
  },
1619
1680
  "arguments": []
1620
1681
  },
1621
1682
  "cardinality": "*"
1622
1683
  },
1684
+ {
1685
+ "$type": "Assignment",
1686
+ "feature": "isAbstract",
1687
+ "operator": "?=",
1688
+ "terminal": {
1689
+ "$type": "Keyword",
1690
+ "value": "abstract"
1691
+ },
1692
+ "cardinality": "?"
1693
+ },
1623
1694
  {
1624
1695
  "$type": "Keyword",
1625
1696
  "value": "model"
@@ -1631,11 +1702,55 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1631
1702
  "terminal": {
1632
1703
  "$type": "RuleCall",
1633
1704
  "rule": {
1634
- "$ref": "#/rules@56"
1705
+ "$ref": "#/rules@40"
1635
1706
  },
1636
1707
  "arguments": []
1637
1708
  }
1638
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
+ },
1639
1754
  {
1640
1755
  "$type": "Keyword",
1641
1756
  "value": "{"
@@ -1650,7 +1765,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1650
1765
  "terminal": {
1651
1766
  "$type": "RuleCall",
1652
1767
  "rule": {
1653
- "$ref": "#/rules@30"
1768
+ "$ref": "#/rules@31"
1654
1769
  },
1655
1770
  "arguments": []
1656
1771
  }
@@ -1662,7 +1777,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1662
1777
  "terminal": {
1663
1778
  "$type": "RuleCall",
1664
1779
  "rule": {
1665
- "$ref": "#/rules@46"
1780
+ "$ref": "#/rules@49"
1666
1781
  },
1667
1782
  "arguments": []
1668
1783
  }
@@ -1696,7 +1811,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1696
1811
  "terminal": {
1697
1812
  "$type": "RuleCall",
1698
1813
  "rule": {
1699
- "$ref": "#/rules@59"
1814
+ "$ref": "#/rules@62"
1700
1815
  },
1701
1816
  "arguments": []
1702
1817
  },
@@ -1709,7 +1824,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1709
1824
  "terminal": {
1710
1825
  "$type": "RuleCall",
1711
1826
  "rule": {
1712
- "$ref": "#/rules@56"
1827
+ "$ref": "#/rules@40"
1713
1828
  },
1714
1829
  "arguments": []
1715
1830
  }
@@ -1721,7 +1836,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1721
1836
  "terminal": {
1722
1837
  "$type": "RuleCall",
1723
1838
  "rule": {
1724
- "$ref": "#/rules@31"
1839
+ "$ref": "#/rules@32"
1725
1840
  },
1726
1841
  "arguments": []
1727
1842
  }
@@ -1733,7 +1848,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1733
1848
  "terminal": {
1734
1849
  "$type": "RuleCall",
1735
1850
  "rule": {
1736
- "$ref": "#/rules@45"
1851
+ "$ref": "#/rules@48"
1737
1852
  },
1738
1853
  "arguments": []
1739
1854
  },
@@ -1764,7 +1879,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1764
1879
  "terminal": {
1765
1880
  "$type": "RuleCall",
1766
1881
  "rule": {
1767
- "$ref": "#/rules@51"
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"
1768
1895
  },
1769
1896
  "arguments": []
1770
1897
  }
@@ -1781,7 +1908,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1781
1908
  "terminal": {
1782
1909
  "$type": "RuleCall",
1783
1910
  "rule": {
1784
- "$ref": "#/rules@56"
1911
+ "$ref": "#/rules@40"
1785
1912
  },
1786
1913
  "arguments": []
1787
1914
  },
@@ -1828,6 +1955,45 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1828
1955
  "parameters": [],
1829
1956
  "wildcard": false
1830
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
+ },
1831
1997
  {
1832
1998
  "$type": "ParserRule",
1833
1999
  "name": "Enum",
@@ -1841,7 +2007,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1841
2007
  "terminal": {
1842
2008
  "$type": "RuleCall",
1843
2009
  "rule": {
1844
- "$ref": "#/rules@59"
2010
+ "$ref": "#/rules@62"
1845
2011
  },
1846
2012
  "arguments": []
1847
2013
  },
@@ -1858,7 +2024,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1858
2024
  "terminal": {
1859
2025
  "$type": "RuleCall",
1860
2026
  "rule": {
1861
- "$ref": "#/rules@56"
2027
+ "$ref": "#/rules@40"
1862
2028
  },
1863
2029
  "arguments": []
1864
2030
  }
@@ -1877,7 +2043,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1877
2043
  "terminal": {
1878
2044
  "$type": "RuleCall",
1879
2045
  "rule": {
1880
- "$ref": "#/rules@33"
2046
+ "$ref": "#/rules@35"
1881
2047
  },
1882
2048
  "arguments": []
1883
2049
  }
@@ -1889,7 +2055,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1889
2055
  "terminal": {
1890
2056
  "$type": "RuleCall",
1891
2057
  "rule": {
1892
- "$ref": "#/rules@46"
2058
+ "$ref": "#/rules@49"
1893
2059
  },
1894
2060
  "arguments": []
1895
2061
  }
@@ -1923,7 +2089,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1923
2089
  "terminal": {
1924
2090
  "$type": "RuleCall",
1925
2091
  "rule": {
1926
- "$ref": "#/rules@59"
2092
+ "$ref": "#/rules@62"
1927
2093
  },
1928
2094
  "arguments": []
1929
2095
  },
@@ -1936,7 +2102,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1936
2102
  "terminal": {
1937
2103
  "$type": "RuleCall",
1938
2104
  "rule": {
1939
- "$ref": "#/rules@56"
2105
+ "$ref": "#/rules@40"
1940
2106
  },
1941
2107
  "arguments": []
1942
2108
  }
@@ -1948,7 +2114,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1948
2114
  "terminal": {
1949
2115
  "$type": "RuleCall",
1950
2116
  "rule": {
1951
- "$ref": "#/rules@45"
2117
+ "$ref": "#/rules@48"
1952
2118
  },
1953
2119
  "arguments": []
1954
2120
  },
@@ -1972,7 +2138,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1972
2138
  {
1973
2139
  "$type": "RuleCall",
1974
2140
  "rule": {
1975
- "$ref": "#/rules@59"
2141
+ "$ref": "#/rules@62"
1976
2142
  },
1977
2143
  "arguments": [],
1978
2144
  "cardinality": "*"
@@ -1988,7 +2154,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1988
2154
  "terminal": {
1989
2155
  "$type": "RuleCall",
1990
2156
  "rule": {
1991
- "$ref": "#/rules@56"
2157
+ "$ref": "#/rules@40"
1992
2158
  },
1993
2159
  "arguments": []
1994
2160
  }
@@ -2007,7 +2173,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2007
2173
  "terminal": {
2008
2174
  "$type": "RuleCall",
2009
2175
  "rule": {
2010
- "$ref": "#/rules@35"
2176
+ "$ref": "#/rules@37"
2011
2177
  },
2012
2178
  "arguments": []
2013
2179
  }
@@ -2026,7 +2192,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2026
2192
  "terminal": {
2027
2193
  "$type": "RuleCall",
2028
2194
  "rule": {
2029
- "$ref": "#/rules@35"
2195
+ "$ref": "#/rules@37"
2030
2196
  },
2031
2197
  "arguments": []
2032
2198
  }
@@ -2052,7 +2218,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2052
2218
  "terminal": {
2053
2219
  "$type": "RuleCall",
2054
2220
  "rule": {
2055
- "$ref": "#/rules@36"
2221
+ "$ref": "#/rules@38"
2056
2222
  },
2057
2223
  "arguments": []
2058
2224
  }
@@ -2068,7 +2234,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2068
2234
  "terminal": {
2069
2235
  "$type": "RuleCall",
2070
2236
  "rule": {
2071
- "$ref": "#/rules@8"
2237
+ "$ref": "#/rules@9"
2072
2238
  },
2073
2239
  "arguments": []
2074
2240
  },
@@ -2096,7 +2262,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2096
2262
  {
2097
2263
  "$type": "RuleCall",
2098
2264
  "rule": {
2099
- "$ref": "#/rules@59"
2265
+ "$ref": "#/rules@62"
2100
2266
  },
2101
2267
  "arguments": [],
2102
2268
  "cardinality": "*"
@@ -2108,7 +2274,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2108
2274
  "terminal": {
2109
2275
  "$type": "RuleCall",
2110
2276
  "rule": {
2111
- "$ref": "#/rules@56"
2277
+ "$ref": "#/rules@40"
2112
2278
  },
2113
2279
  "arguments": []
2114
2280
  }
@@ -2124,7 +2290,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2124
2290
  "terminal": {
2125
2291
  "$type": "RuleCall",
2126
2292
  "rule": {
2127
- "$ref": "#/rules@36"
2293
+ "$ref": "#/rules@38"
2128
2294
  },
2129
2295
  "arguments": []
2130
2296
  }
@@ -2164,7 +2330,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2164
2330
  "terminal": {
2165
2331
  "$type": "RuleCall",
2166
2332
  "rule": {
2167
- "$ref": "#/rules@50"
2333
+ "$ref": "#/rules@53"
2168
2334
  },
2169
2335
  "arguments": []
2170
2336
  }
@@ -2178,6 +2344,13 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2178
2344
  "type": {
2179
2345
  "$ref": "#/types@1"
2180
2346
  },
2347
+ "terminal": {
2348
+ "$type": "RuleCall",
2349
+ "rule": {
2350
+ "$ref": "#/rules@40"
2351
+ },
2352
+ "arguments": []
2353
+ },
2181
2354
  "deprecatedSyntax": false
2182
2355
  }
2183
2356
  }
@@ -2221,7 +2394,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2221
2394
  {
2222
2395
  "$type": "RuleCall",
2223
2396
  "rule": {
2224
- "$ref": "#/rules@56"
2397
+ "$ref": "#/rules@59"
2225
2398
  },
2226
2399
  "arguments": []
2227
2400
  },
@@ -2238,14 +2411,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2238
2411
  {
2239
2412
  "$type": "RuleCall",
2240
2413
  "rule": {
2241
- "$ref": "#/rules@56"
2414
+ "$ref": "#/rules@59"
2242
2415
  },
2243
2416
  "arguments": []
2244
2417
  },
2245
2418
  {
2246
2419
  "$type": "RuleCall",
2247
2420
  "rule": {
2248
- "$ref": "#/rules@51"
2421
+ "$ref": "#/rules@54"
2249
2422
  },
2250
2423
  "arguments": []
2251
2424
  }
@@ -2263,6 +2436,61 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2263
2436
  "parameters": [],
2264
2437
  "wildcard": false
2265
2438
  },
2439
+ {
2440
+ "$type": "ParserRule",
2441
+ "name": "RegularID",
2442
+ "dataType": "string",
2443
+ "definition": {
2444
+ "$type": "Alternatives",
2445
+ "elements": [
2446
+ {
2447
+ "$type": "RuleCall",
2448
+ "rule": {
2449
+ "$ref": "#/rules@59"
2450
+ },
2451
+ "arguments": []
2452
+ },
2453
+ {
2454
+ "$type": "Keyword",
2455
+ "value": "model"
2456
+ },
2457
+ {
2458
+ "$type": "Keyword",
2459
+ "value": "enum"
2460
+ },
2461
+ {
2462
+ "$type": "Keyword",
2463
+ "value": "attribute"
2464
+ },
2465
+ {
2466
+ "$type": "Keyword",
2467
+ "value": "datasource"
2468
+ },
2469
+ {
2470
+ "$type": "Keyword",
2471
+ "value": "plugin"
2472
+ },
2473
+ {
2474
+ "$type": "Keyword",
2475
+ "value": "abstract"
2476
+ },
2477
+ {
2478
+ "$type": "Keyword",
2479
+ "value": "in"
2480
+ },
2481
+ {
2482
+ "$type": "Keyword",
2483
+ "value": "sort"
2484
+ }
2485
+ ]
2486
+ },
2487
+ "definesHiddenTokens": false,
2488
+ "entry": false,
2489
+ "fragment": false,
2490
+ "hiddenTokens": [],
2491
+ "parameters": [],
2492
+ "wildcard": false
2493
+ },
2266
2494
  {
2267
2495
  "$type": "ParserRule",
2268
2496
  "name": "AttributeAttributeName",
@@ -2277,7 +2505,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2277
2505
  {
2278
2506
  "$type": "RuleCall",
2279
2507
  "rule": {
2280
- "$ref": "#/rules@37"
2508
+ "$ref": "#/rules@39"
2281
2509
  },
2282
2510
  "arguments": []
2283
2511
  }
@@ -2304,7 +2532,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2304
2532
  {
2305
2533
  "$type": "RuleCall",
2306
2534
  "rule": {
2307
- "$ref": "#/rules@37"
2535
+ "$ref": "#/rules@39"
2308
2536
  },
2309
2537
  "arguments": []
2310
2538
  }
@@ -2331,7 +2559,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2331
2559
  {
2332
2560
  "$type": "RuleCall",
2333
2561
  "rule": {
2334
- "$ref": "#/rules@37"
2562
+ "$ref": "#/rules@39"
2335
2563
  },
2336
2564
  "arguments": []
2337
2565
  }
@@ -2354,21 +2582,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2354
2582
  {
2355
2583
  "$type": "RuleCall",
2356
2584
  "rule": {
2357
- "$ref": "#/rules@39"
2585
+ "$ref": "#/rules@42"
2358
2586
  },
2359
2587
  "arguments": []
2360
2588
  },
2361
2589
  {
2362
2590
  "$type": "RuleCall",
2363
2591
  "rule": {
2364
- "$ref": "#/rules@40"
2592
+ "$ref": "#/rules@43"
2365
2593
  },
2366
2594
  "arguments": []
2367
2595
  },
2368
2596
  {
2369
2597
  "$type": "RuleCall",
2370
2598
  "rule": {
2371
- "$ref": "#/rules@38"
2599
+ "$ref": "#/rules@41"
2372
2600
  },
2373
2601
  "arguments": []
2374
2602
  }
@@ -2390,7 +2618,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2390
2618
  {
2391
2619
  "$type": "RuleCall",
2392
2620
  "rule": {
2393
- "$ref": "#/rules@59"
2621
+ "$ref": "#/rules@62"
2394
2622
  },
2395
2623
  "arguments": [],
2396
2624
  "cardinality": "*"
@@ -2406,7 +2634,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2406
2634
  "terminal": {
2407
2635
  "$type": "RuleCall",
2408
2636
  "rule": {
2409
- "$ref": "#/rules@41"
2637
+ "$ref": "#/rules@44"
2410
2638
  },
2411
2639
  "arguments": []
2412
2640
  }
@@ -2425,7 +2653,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2425
2653
  "terminal": {
2426
2654
  "$type": "RuleCall",
2427
2655
  "rule": {
2428
- "$ref": "#/rules@43"
2656
+ "$ref": "#/rules@46"
2429
2657
  },
2430
2658
  "arguments": []
2431
2659
  }
@@ -2444,7 +2672,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2444
2672
  "terminal": {
2445
2673
  "$type": "RuleCall",
2446
2674
  "rule": {
2447
- "$ref": "#/rules@43"
2675
+ "$ref": "#/rules@46"
2448
2676
  },
2449
2677
  "arguments": []
2450
2678
  }
@@ -2466,7 +2694,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2466
2694
  "terminal": {
2467
2695
  "$type": "RuleCall",
2468
2696
  "rule": {
2469
- "$ref": "#/rules@47"
2697
+ "$ref": "#/rules@50"
2470
2698
  },
2471
2699
  "arguments": []
2472
2700
  },
@@ -2490,7 +2718,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2490
2718
  {
2491
2719
  "$type": "RuleCall",
2492
2720
  "rule": {
2493
- "$ref": "#/rules@59"
2721
+ "$ref": "#/rules@62"
2494
2722
  },
2495
2723
  "arguments": [],
2496
2724
  "cardinality": "*"
@@ -2512,7 +2740,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2512
2740
  "terminal": {
2513
2741
  "$type": "RuleCall",
2514
2742
  "rule": {
2515
- "$ref": "#/rules@56"
2743
+ "$ref": "#/rules@40"
2516
2744
  },
2517
2745
  "arguments": []
2518
2746
  }
@@ -2528,7 +2756,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2528
2756
  "terminal": {
2529
2757
  "$type": "RuleCall",
2530
2758
  "rule": {
2531
- "$ref": "#/rules@44"
2759
+ "$ref": "#/rules@47"
2532
2760
  },
2533
2761
  "arguments": []
2534
2762
  }
@@ -2561,7 +2789,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2561
2789
  {
2562
2790
  "$type": "RuleCall",
2563
2791
  "rule": {
2564
- "$ref": "#/rules@50"
2792
+ "$ref": "#/rules@53"
2565
2793
  },
2566
2794
  "arguments": []
2567
2795
  },
@@ -2592,7 +2820,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2592
2820
  "terminal": {
2593
2821
  "$type": "RuleCall",
2594
2822
  "rule": {
2595
- "$ref": "#/rules@56"
2823
+ "$ref": "#/rules@40"
2596
2824
  },
2597
2825
  "arguments": []
2598
2826
  },
@@ -2652,12 +2880,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2652
2880
  "terminal": {
2653
2881
  "$type": "CrossReference",
2654
2882
  "type": {
2655
- "$ref": "#/rules@42"
2883
+ "$ref": "#/rules@45"
2656
2884
  },
2657
2885
  "terminal": {
2658
2886
  "$type": "RuleCall",
2659
2887
  "rule": {
2660
- "$ref": "#/rules@40"
2888
+ "$ref": "#/rules@43"
2661
2889
  },
2662
2890
  "arguments": []
2663
2891
  },
@@ -2674,7 +2902,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2674
2902
  {
2675
2903
  "$type": "RuleCall",
2676
2904
  "rule": {
2677
- "$ref": "#/rules@48"
2905
+ "$ref": "#/rules@51"
2678
2906
  },
2679
2907
  "arguments": [],
2680
2908
  "cardinality": "?"
@@ -2704,7 +2932,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2704
2932
  {
2705
2933
  "$type": "RuleCall",
2706
2934
  "rule": {
2707
- "$ref": "#/rules@59"
2935
+ "$ref": "#/rules@62"
2708
2936
  },
2709
2937
  "arguments": [],
2710
2938
  "cardinality": "*"
@@ -2716,12 +2944,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2716
2944
  "terminal": {
2717
2945
  "$type": "CrossReference",
2718
2946
  "type": {
2719
- "$ref": "#/rules@42"
2947
+ "$ref": "#/rules@45"
2720
2948
  },
2721
2949
  "terminal": {
2722
2950
  "$type": "RuleCall",
2723
2951
  "rule": {
2724
- "$ref": "#/rules@39"
2952
+ "$ref": "#/rules@42"
2725
2953
  },
2726
2954
  "arguments": []
2727
2955
  },
@@ -2738,7 +2966,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2738
2966
  {
2739
2967
  "$type": "RuleCall",
2740
2968
  "rule": {
2741
- "$ref": "#/rules@48"
2969
+ "$ref": "#/rules@51"
2742
2970
  },
2743
2971
  "arguments": [],
2744
2972
  "cardinality": "?"
@@ -2772,12 +3000,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2772
3000
  "terminal": {
2773
3001
  "$type": "CrossReference",
2774
3002
  "type": {
2775
- "$ref": "#/rules@42"
3003
+ "$ref": "#/rules@45"
2776
3004
  },
2777
3005
  "terminal": {
2778
3006
  "$type": "RuleCall",
2779
3007
  "rule": {
2780
- "$ref": "#/rules@38"
3008
+ "$ref": "#/rules@41"
2781
3009
  },
2782
3010
  "arguments": []
2783
3011
  },
@@ -2794,7 +3022,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2794
3022
  {
2795
3023
  "$type": "RuleCall",
2796
3024
  "rule": {
2797
- "$ref": "#/rules@48"
3025
+ "$ref": "#/rules@51"
2798
3026
  },
2799
3027
  "arguments": [],
2800
3028
  "cardinality": "?"
@@ -2829,7 +3057,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2829
3057
  "terminal": {
2830
3058
  "$type": "RuleCall",
2831
3059
  "rule": {
2832
- "$ref": "#/rules@49"
3060
+ "$ref": "#/rules@52"
2833
3061
  },
2834
3062
  "arguments": []
2835
3063
  }
@@ -2848,7 +3076,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2848
3076
  "terminal": {
2849
3077
  "$type": "RuleCall",
2850
3078
  "rule": {
2851
- "$ref": "#/rules@49"
3079
+ "$ref": "#/rules@52"
2852
3080
  },
2853
3081
  "arguments": []
2854
3082
  }
@@ -2880,7 +3108,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2880
3108
  "terminal": {
2881
3109
  "$type": "RuleCall",
2882
3110
  "rule": {
2883
- "$ref": "#/rules@56"
3111
+ "$ref": "#/rules@40"
2884
3112
  },
2885
3113
  "arguments": []
2886
3114
  }
@@ -2899,7 +3127,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2899
3127
  "terminal": {
2900
3128
  "$type": "RuleCall",
2901
3129
  "rule": {
2902
- "$ref": "#/rules@8"
3130
+ "$ref": "#/rules@9"
2903
3131
  },
2904
3132
  "arguments": []
2905
3133
  }
@@ -2951,6 +3179,10 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2951
3179
  {
2952
3180
  "$type": "Keyword",
2953
3181
  "value": "Any"
3182
+ },
3183
+ {
3184
+ "$type": "Keyword",
3185
+ "value": "Unsupported"
2954
3186
  }
2955
3187
  ]
2956
3188
  },
@@ -3138,19 +3370,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
3138
3370
  {
3139
3371
  "$type": "SimpleType",
3140
3372
  "typeRef": {
3141
- "$ref": "#/rules@35"
3373
+ "$ref": "#/rules@37"
3142
3374
  }
3143
3375
  },
3144
3376
  {
3145
3377
  "$type": "SimpleType",
3146
3378
  "typeRef": {
3147
- "$ref": "#/rules@30"
3379
+ "$ref": "#/rules@31"
3148
3380
  }
3149
3381
  },
3150
3382
  {
3151
3383
  "$type": "SimpleType",
3152
3384
  "typeRef": {
3153
- "$ref": "#/rules@33"
3385
+ "$ref": "#/rules@35"
3154
3386
  }
3155
3387
  }
3156
3388
  ]
@@ -3165,13 +3397,13 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
3165
3397
  {
3166
3398
  "$type": "SimpleType",
3167
3399
  "typeRef": {
3168
- "$ref": "#/rules@29"
3400
+ "$ref": "#/rules@30"
3169
3401
  }
3170
3402
  },
3171
3403
  {
3172
3404
  "$type": "SimpleType",
3173
3405
  "typeRef": {
3174
- "$ref": "#/rules@32"
3406
+ "$ref": "#/rules@34"
3175
3407
  }
3176
3408
  }
3177
3409
  ]