@zenstackhq/language 0.6.0-pre.19 → 1.0.0-alpha.100

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 0.5.0.
3
+ * This file was generated by langium-cli 1.1.0.
4
4
  * DO NOT EDIT MANUALLY!
5
5
  ******************************************************************************/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -23,7 +23,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
23
23
  "terminal": {
24
24
  "$type": "RuleCall",
25
25
  "rule": {
26
- "$refText": "AbstractDeclaration"
26
+ "$ref": "#/rules@1"
27
27
  },
28
28
  "arguments": []
29
29
  },
@@ -44,49 +44,49 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
44
44
  {
45
45
  "$type": "RuleCall",
46
46
  "rule": {
47
- "$refText": "DataSource"
47
+ "$ref": "#/rules@2"
48
48
  },
49
49
  "arguments": []
50
50
  },
51
51
  {
52
52
  "$type": "RuleCall",
53
53
  "rule": {
54
- "$refText": "Generator"
54
+ "$ref": "#/rules@4"
55
55
  },
56
56
  "arguments": []
57
57
  },
58
58
  {
59
59
  "$type": "RuleCall",
60
60
  "rule": {
61
- "$refText": "Plugin"
61
+ "$ref": "#/rules@6"
62
62
  },
63
63
  "arguments": []
64
64
  },
65
65
  {
66
66
  "$type": "RuleCall",
67
67
  "rule": {
68
- "$refText": "DataModel"
68
+ "$ref": "#/rules@29"
69
69
  },
70
70
  "arguments": []
71
71
  },
72
72
  {
73
73
  "$type": "RuleCall",
74
74
  "rule": {
75
- "$refText": "Enum"
75
+ "$ref": "#/rules@32"
76
76
  },
77
77
  "arguments": []
78
78
  },
79
79
  {
80
80
  "$type": "RuleCall",
81
81
  "rule": {
82
- "$refText": "Function"
82
+ "$ref": "#/rules@34"
83
83
  },
84
84
  "arguments": []
85
85
  },
86
86
  {
87
87
  "$type": "RuleCall",
88
88
  "rule": {
89
- "$refText": "Attribute"
89
+ "$ref": "#/rules@43"
90
90
  },
91
91
  "arguments": []
92
92
  }
@@ -105,6 +105,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
105
105
  "definition": {
106
106
  "$type": "Group",
107
107
  "elements": [
108
+ {
109
+ "$type": "RuleCall",
110
+ "rule": {
111
+ "$ref": "#/rules@60"
112
+ },
113
+ "arguments": [],
114
+ "cardinality": "*"
115
+ },
108
116
  {
109
117
  "$type": "Keyword",
110
118
  "value": "datasource"
@@ -116,7 +124,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
116
124
  "terminal": {
117
125
  "$type": "RuleCall",
118
126
  "rule": {
119
- "$refText": "ID"
127
+ "$ref": "#/rules@38"
120
128
  },
121
129
  "arguments": []
122
130
  }
@@ -132,7 +140,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
132
140
  "terminal": {
133
141
  "$type": "RuleCall",
134
142
  "rule": {
135
- "$refText": "DataSourceField"
143
+ "$ref": "#/rules@3"
136
144
  },
137
145
  "arguments": []
138
146
  },
@@ -157,6 +165,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
157
165
  "definition": {
158
166
  "$type": "Group",
159
167
  "elements": [
168
+ {
169
+ "$type": "RuleCall",
170
+ "rule": {
171
+ "$ref": "#/rules@60"
172
+ },
173
+ "arguments": [],
174
+ "cardinality": "*"
175
+ },
160
176
  {
161
177
  "$type": "Assignment",
162
178
  "feature": "name",
@@ -164,7 +180,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
164
180
  "terminal": {
165
181
  "$type": "RuleCall",
166
182
  "rule": {
167
- "$refText": "ID"
183
+ "$ref": "#/rules@38"
168
184
  },
169
185
  "arguments": []
170
186
  }
@@ -183,14 +199,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
183
199
  {
184
200
  "$type": "RuleCall",
185
201
  "rule": {
186
- "$refText": "LiteralExpr"
202
+ "$ref": "#/rules@9"
203
+ },
204
+ "arguments": []
205
+ },
206
+ {
207
+ "$type": "RuleCall",
208
+ "rule": {
209
+ "$ref": "#/rules@18"
187
210
  },
188
211
  "arguments": []
189
212
  },
190
213
  {
191
214
  "$type": "RuleCall",
192
215
  "rule": {
193
- "$refText": "InvocationExpr"
216
+ "$ref": "#/rules@10"
194
217
  },
195
218
  "arguments": []
196
219
  }
@@ -208,10 +231,18 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
208
231
  },
209
232
  {
210
233
  "$type": "ParserRule",
211
- "name": "Generator",
234
+ "name": "GeneratorDecl",
212
235
  "definition": {
213
236
  "$type": "Group",
214
237
  "elements": [
238
+ {
239
+ "$type": "RuleCall",
240
+ "rule": {
241
+ "$ref": "#/rules@60"
242
+ },
243
+ "arguments": [],
244
+ "cardinality": "*"
245
+ },
215
246
  {
216
247
  "$type": "Keyword",
217
248
  "value": "generator"
@@ -223,7 +254,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
223
254
  "terminal": {
224
255
  "$type": "RuleCall",
225
256
  "rule": {
226
- "$refText": "ID"
257
+ "$ref": "#/rules@38"
227
258
  },
228
259
  "arguments": []
229
260
  }
@@ -239,7 +270,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
239
270
  "terminal": {
240
271
  "$type": "RuleCall",
241
272
  "rule": {
242
- "$refText": "GeneratorField"
273
+ "$ref": "#/rules@5"
243
274
  },
244
275
  "arguments": []
245
276
  },
@@ -264,6 +295,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
264
295
  "definition": {
265
296
  "$type": "Group",
266
297
  "elements": [
298
+ {
299
+ "$type": "RuleCall",
300
+ "rule": {
301
+ "$ref": "#/rules@60"
302
+ },
303
+ "arguments": [],
304
+ "cardinality": "*"
305
+ },
267
306
  {
268
307
  "$type": "Assignment",
269
308
  "feature": "name",
@@ -271,7 +310,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
271
310
  "terminal": {
272
311
  "$type": "RuleCall",
273
312
  "rule": {
274
- "$refText": "ID"
313
+ "$ref": "#/rules@38"
275
314
  },
276
315
  "arguments": []
277
316
  }
@@ -290,14 +329,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
290
329
  {
291
330
  "$type": "RuleCall",
292
331
  "rule": {
293
- "$refText": "LiteralExpr"
332
+ "$ref": "#/rules@9"
294
333
  },
295
334
  "arguments": []
296
335
  },
297
336
  {
298
337
  "$type": "RuleCall",
299
338
  "rule": {
300
- "$refText": "ArrayExpr"
339
+ "$ref": "#/rules@10"
301
340
  },
302
341
  "arguments": []
303
342
  }
@@ -319,6 +358,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
319
358
  "definition": {
320
359
  "$type": "Group",
321
360
  "elements": [
361
+ {
362
+ "$type": "RuleCall",
363
+ "rule": {
364
+ "$ref": "#/rules@60"
365
+ },
366
+ "arguments": [],
367
+ "cardinality": "*"
368
+ },
322
369
  {
323
370
  "$type": "Keyword",
324
371
  "value": "plugin"
@@ -330,7 +377,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
330
377
  "terminal": {
331
378
  "$type": "RuleCall",
332
379
  "rule": {
333
- "$refText": "ID"
380
+ "$ref": "#/rules@38"
334
381
  },
335
382
  "arguments": []
336
383
  }
@@ -346,7 +393,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
346
393
  "terminal": {
347
394
  "$type": "RuleCall",
348
395
  "rule": {
349
- "$refText": "PluginField"
396
+ "$ref": "#/rules@7"
350
397
  },
351
398
  "arguments": []
352
399
  },
@@ -371,6 +418,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
371
418
  "definition": {
372
419
  "$type": "Group",
373
420
  "elements": [
421
+ {
422
+ "$type": "RuleCall",
423
+ "rule": {
424
+ "$ref": "#/rules@60"
425
+ },
426
+ "arguments": [],
427
+ "cardinality": "*"
428
+ },
374
429
  {
375
430
  "$type": "Assignment",
376
431
  "feature": "name",
@@ -378,7 +433,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
378
433
  "terminal": {
379
434
  "$type": "RuleCall",
380
435
  "rule": {
381
- "$refText": "ID"
436
+ "$ref": "#/rules@38"
382
437
  },
383
438
  "arguments": []
384
439
  }
@@ -397,14 +452,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
397
452
  {
398
453
  "$type": "RuleCall",
399
454
  "rule": {
400
- "$refText": "LiteralExpr"
455
+ "$ref": "#/rules@9"
401
456
  },
402
457
  "arguments": []
403
458
  },
404
459
  {
405
460
  "$type": "RuleCall",
406
461
  "rule": {
407
- "$refText": "ArrayExpr"
462
+ "$ref": "#/rules@10"
463
+ },
464
+ "arguments": []
465
+ },
466
+ {
467
+ "$type": "RuleCall",
468
+ "rule": {
469
+ "$ref": "#/rules@16"
408
470
  },
409
471
  "arguments": []
410
472
  }
@@ -426,7 +488,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
426
488
  "definition": {
427
489
  "$type": "RuleCall",
428
490
  "rule": {
429
- "$refText": "LogicalExpr"
491
+ "$ref": "#/rules@25"
430
492
  },
431
493
  "arguments": []
432
494
  },
@@ -450,21 +512,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
450
512
  {
451
513
  "$type": "RuleCall",
452
514
  "rule": {
453
- "$refText": "BOOLEAN"
515
+ "$ref": "#/rules@54"
454
516
  },
455
517
  "arguments": []
456
518
  },
457
519
  {
458
520
  "$type": "RuleCall",
459
521
  "rule": {
460
- "$refText": "NUMBER"
522
+ "$ref": "#/rules@59"
461
523
  },
462
524
  "arguments": []
463
525
  },
464
526
  {
465
527
  "$type": "RuleCall",
466
528
  "rule": {
467
- "$refText": "STRING"
529
+ "$ref": "#/rules@58"
468
530
  },
469
531
  "arguments": []
470
532
  }
@@ -498,7 +560,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
498
560
  "terminal": {
499
561
  "$type": "RuleCall",
500
562
  "rule": {
501
- "$refText": "Expression"
563
+ "$ref": "#/rules@8"
502
564
  },
503
565
  "arguments": []
504
566
  }
@@ -517,7 +579,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
517
579
  "terminal": {
518
580
  "$type": "RuleCall",
519
581
  "rule": {
520
- "$refText": "Expression"
582
+ "$ref": "#/rules@8"
521
583
  },
522
584
  "arguments": []
523
585
  }
@@ -551,7 +613,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
551
613
  "terminal": {
552
614
  "$type": "RuleCall",
553
615
  "rule": {
554
- "$refText": "THIS"
616
+ "$ref": "#/rules@56"
555
617
  },
556
618
  "arguments": []
557
619
  }
@@ -573,7 +635,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
573
635
  "terminal": {
574
636
  "$type": "RuleCall",
575
637
  "rule": {
576
- "$refText": "NULL"
638
+ "$ref": "#/rules@55"
577
639
  },
578
640
  "arguments": []
579
641
  }
@@ -598,12 +660,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
598
660
  "terminal": {
599
661
  "$type": "CrossReference",
600
662
  "type": {
601
- "$refText": "ReferenceTarget"
663
+ "$ref": "#/types@0"
602
664
  },
603
665
  "terminal": {
604
666
  "$type": "RuleCall",
605
667
  "rule": {
606
- "$refText": "ID"
668
+ "$ref": "#/rules@38"
607
669
  },
608
670
  "arguments": []
609
671
  },
@@ -620,7 +682,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
620
682
  {
621
683
  "$type": "RuleCall",
622
684
  "rule": {
623
- "$refText": "ReferenceArgList"
685
+ "$ref": "#/rules@14"
624
686
  },
625
687
  "arguments": []
626
688
  },
@@ -654,7 +716,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
654
716
  "terminal": {
655
717
  "$type": "RuleCall",
656
718
  "rule": {
657
- "$refText": "ReferenceArg"
719
+ "$ref": "#/rules@15"
658
720
  },
659
721
  "arguments": []
660
722
  }
@@ -673,7 +735,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
673
735
  "terminal": {
674
736
  "$type": "RuleCall",
675
737
  "rule": {
676
- "$refText": "ReferenceArg"
738
+ "$ref": "#/rules@15"
677
739
  },
678
740
  "arguments": []
679
741
  }
@@ -735,6 +797,117 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
735
797
  "parameters": [],
736
798
  "wildcard": false
737
799
  },
800
+ {
801
+ "$type": "ParserRule",
802
+ "name": "ObjectExpr",
803
+ "definition": {
804
+ "$type": "Group",
805
+ "elements": [
806
+ {
807
+ "$type": "Keyword",
808
+ "value": "{"
809
+ },
810
+ {
811
+ "$type": "Group",
812
+ "elements": [
813
+ {
814
+ "$type": "Assignment",
815
+ "feature": "fields",
816
+ "operator": "+=",
817
+ "terminal": {
818
+ "$type": "RuleCall",
819
+ "rule": {
820
+ "$ref": "#/rules@17"
821
+ },
822
+ "arguments": []
823
+ }
824
+ },
825
+ {
826
+ "$type": "Group",
827
+ "elements": [
828
+ {
829
+ "$type": "Keyword",
830
+ "value": ","
831
+ },
832
+ {
833
+ "$type": "Assignment",
834
+ "feature": "fields",
835
+ "operator": "+=",
836
+ "terminal": {
837
+ "$type": "RuleCall",
838
+ "rule": {
839
+ "$ref": "#/rules@17"
840
+ },
841
+ "arguments": []
842
+ }
843
+ }
844
+ ],
845
+ "cardinality": "*"
846
+ },
847
+ {
848
+ "$type": "Keyword",
849
+ "value": ",",
850
+ "cardinality": "?"
851
+ }
852
+ ],
853
+ "cardinality": "?"
854
+ },
855
+ {
856
+ "$type": "Keyword",
857
+ "value": "}"
858
+ }
859
+ ]
860
+ },
861
+ "definesHiddenTokens": false,
862
+ "entry": false,
863
+ "fragment": false,
864
+ "hiddenTokens": [],
865
+ "parameters": [],
866
+ "wildcard": false
867
+ },
868
+ {
869
+ "$type": "ParserRule",
870
+ "name": "FieldInitializer",
871
+ "definition": {
872
+ "$type": "Group",
873
+ "elements": [
874
+ {
875
+ "$type": "Assignment",
876
+ "feature": "name",
877
+ "operator": "=",
878
+ "terminal": {
879
+ "$type": "RuleCall",
880
+ "rule": {
881
+ "$ref": "#/rules@38"
882
+ },
883
+ "arguments": []
884
+ }
885
+ },
886
+ {
887
+ "$type": "Keyword",
888
+ "value": ":"
889
+ },
890
+ {
891
+ "$type": "Assignment",
892
+ "feature": "value",
893
+ "operator": "=",
894
+ "terminal": {
895
+ "$type": "RuleCall",
896
+ "rule": {
897
+ "$ref": "#/rules@8"
898
+ },
899
+ "arguments": []
900
+ }
901
+ }
902
+ ]
903
+ },
904
+ "definesHiddenTokens": false,
905
+ "entry": false,
906
+ "fragment": false,
907
+ "hiddenTokens": [],
908
+ "parameters": [],
909
+ "wildcard": false
910
+ },
738
911
  {
739
912
  "$type": "ParserRule",
740
913
  "name": "InvocationExpr",
@@ -748,7 +921,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
748
921
  "terminal": {
749
922
  "$type": "CrossReference",
750
923
  "type": {
751
- "$refText": "Function"
924
+ "$ref": "#/rules@34"
752
925
  },
753
926
  "deprecatedSyntax": false
754
927
  }
@@ -760,7 +933,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
760
933
  {
761
934
  "$type": "RuleCall",
762
935
  "rule": {
763
- "$refText": "ArgumentList"
936
+ "$ref": "#/rules@27"
764
937
  },
765
938
  "arguments": [],
766
939
  "cardinality": "?"
@@ -800,7 +973,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
800
973
  "terminal": {
801
974
  "$type": "RuleCall",
802
975
  "rule": {
803
- "$refText": "Expression"
976
+ "$ref": "#/rules@8"
804
977
  },
805
978
  "arguments": []
806
979
  }
@@ -827,7 +1000,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
827
1000
  {
828
1001
  "$type": "RuleCall",
829
1002
  "rule": {
830
- "$refText": "PrimaryExpr"
1003
+ "$ref": "#/rules@26"
831
1004
  },
832
1005
  "arguments": []
833
1006
  },
@@ -857,7 +1030,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
857
1030
  "terminal": {
858
1031
  "$type": "CrossReference",
859
1032
  "type": {
860
- "$refText": "DataModelField"
1033
+ "$ref": "#/rules@30"
861
1034
  },
862
1035
  "deprecatedSyntax": false
863
1036
  }
@@ -889,7 +1062,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
889
1062
  {
890
1063
  "$type": "RuleCall",
891
1064
  "rule": {
892
- "$refText": "MemberAccessExpr"
1065
+ "$ref": "#/rules@20"
893
1066
  },
894
1067
  "arguments": []
895
1068
  },
@@ -938,7 +1111,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
938
1111
  "terminal": {
939
1112
  "$type": "RuleCall",
940
1113
  "rule": {
941
- "$refText": "Expression"
1114
+ "$ref": "#/rules@8"
942
1115
  },
943
1116
  "arguments": []
944
1117
  }
@@ -959,6 +1132,68 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
959
1132
  "parameters": [],
960
1133
  "wildcard": false
961
1134
  },
1135
+ {
1136
+ "$type": "ParserRule",
1137
+ "name": "InExpr",
1138
+ "inferredType": {
1139
+ "$type": "InferredType",
1140
+ "name": "Expression"
1141
+ },
1142
+ "definition": {
1143
+ "$type": "Group",
1144
+ "elements": [
1145
+ {
1146
+ "$type": "RuleCall",
1147
+ "rule": {
1148
+ "$ref": "#/rules@21"
1149
+ },
1150
+ "arguments": []
1151
+ },
1152
+ {
1153
+ "$type": "Group",
1154
+ "elements": [
1155
+ {
1156
+ "$type": "Action",
1157
+ "inferredType": {
1158
+ "$type": "InferredType",
1159
+ "name": "BinaryExpr"
1160
+ },
1161
+ "feature": "left",
1162
+ "operator": "="
1163
+ },
1164
+ {
1165
+ "$type": "Assignment",
1166
+ "feature": "operator",
1167
+ "operator": "=",
1168
+ "terminal": {
1169
+ "$type": "Keyword",
1170
+ "value": "in"
1171
+ }
1172
+ },
1173
+ {
1174
+ "$type": "Assignment",
1175
+ "feature": "right",
1176
+ "operator": "=",
1177
+ "terminal": {
1178
+ "$type": "RuleCall",
1179
+ "rule": {
1180
+ "$ref": "#/rules@21"
1181
+ },
1182
+ "arguments": []
1183
+ }
1184
+ }
1185
+ ],
1186
+ "cardinality": "*"
1187
+ }
1188
+ ]
1189
+ },
1190
+ "definesHiddenTokens": false,
1191
+ "entry": false,
1192
+ "fragment": false,
1193
+ "hiddenTokens": [],
1194
+ "parameters": [],
1195
+ "wildcard": false
1196
+ },
962
1197
  {
963
1198
  "$type": "ParserRule",
964
1199
  "name": "ComparisonExpr",
@@ -972,7 +1207,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
972
1207
  {
973
1208
  "$type": "RuleCall",
974
1209
  "rule": {
975
- "$refText": "CollectionPredicateExpr"
1210
+ "$ref": "#/rules@22"
976
1211
  },
977
1212
  "arguments": []
978
1213
  },
@@ -1021,7 +1256,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1021
1256
  "terminal": {
1022
1257
  "$type": "RuleCall",
1023
1258
  "rule": {
1024
- "$refText": "CollectionPredicateExpr"
1259
+ "$ref": "#/rules@22"
1025
1260
  },
1026
1261
  "arguments": []
1027
1262
  }
@@ -1051,7 +1286,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1051
1286
  {
1052
1287
  "$type": "RuleCall",
1053
1288
  "rule": {
1054
- "$refText": "ComparisonExpr"
1289
+ "$ref": "#/rules@23"
1055
1290
  },
1056
1291
  "arguments": []
1057
1292
  },
@@ -1092,7 +1327,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1092
1327
  "terminal": {
1093
1328
  "$type": "RuleCall",
1094
1329
  "rule": {
1095
- "$refText": "ComparisonExpr"
1330
+ "$ref": "#/rules@23"
1096
1331
  },
1097
1332
  "arguments": []
1098
1333
  }
@@ -1122,7 +1357,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1122
1357
  {
1123
1358
  "$type": "RuleCall",
1124
1359
  "rule": {
1125
- "$refText": "EqualityExpr"
1360
+ "$ref": "#/rules@24"
1126
1361
  },
1127
1362
  "arguments": []
1128
1363
  },
@@ -1163,7 +1398,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1163
1398
  "terminal": {
1164
1399
  "$type": "RuleCall",
1165
1400
  "rule": {
1166
- "$refText": "EqualityExpr"
1401
+ "$ref": "#/rules@24"
1167
1402
  },
1168
1403
  "arguments": []
1169
1404
  }
@@ -1200,7 +1435,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1200
1435
  {
1201
1436
  "$type": "RuleCall",
1202
1437
  "rule": {
1203
- "$refText": "Expression"
1438
+ "$ref": "#/rules@8"
1204
1439
  },
1205
1440
  "arguments": []
1206
1441
  },
@@ -1213,49 +1448,56 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1213
1448
  {
1214
1449
  "$type": "RuleCall",
1215
1450
  "rule": {
1216
- "$refText": "ThisExpr"
1451
+ "$ref": "#/rules@11"
1452
+ },
1453
+ "arguments": []
1454
+ },
1455
+ {
1456
+ "$type": "RuleCall",
1457
+ "rule": {
1458
+ "$ref": "#/rules@12"
1217
1459
  },
1218
1460
  "arguments": []
1219
1461
  },
1220
1462
  {
1221
1463
  "$type": "RuleCall",
1222
1464
  "rule": {
1223
- "$refText": "NullExpr"
1465
+ "$ref": "#/rules@9"
1224
1466
  },
1225
1467
  "arguments": []
1226
1468
  },
1227
1469
  {
1228
1470
  "$type": "RuleCall",
1229
1471
  "rule": {
1230
- "$refText": "LiteralExpr"
1472
+ "$ref": "#/rules@18"
1231
1473
  },
1232
1474
  "arguments": []
1233
1475
  },
1234
1476
  {
1235
1477
  "$type": "RuleCall",
1236
1478
  "rule": {
1237
- "$refText": "InvocationExpr"
1479
+ "$ref": "#/rules@10"
1238
1480
  },
1239
1481
  "arguments": []
1240
1482
  },
1241
1483
  {
1242
1484
  "$type": "RuleCall",
1243
1485
  "rule": {
1244
- "$refText": "ArrayExpr"
1486
+ "$ref": "#/rules@13"
1245
1487
  },
1246
1488
  "arguments": []
1247
1489
  },
1248
1490
  {
1249
1491
  "$type": "RuleCall",
1250
1492
  "rule": {
1251
- "$refText": "ReferenceExpr"
1493
+ "$ref": "#/rules@19"
1252
1494
  },
1253
1495
  "arguments": []
1254
1496
  },
1255
1497
  {
1256
1498
  "$type": "RuleCall",
1257
1499
  "rule": {
1258
- "$refText": "UnaryExpr"
1500
+ "$ref": "#/rules@16"
1259
1501
  },
1260
1502
  "arguments": []
1261
1503
  }
@@ -1282,7 +1524,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1282
1524
  "terminal": {
1283
1525
  "$type": "RuleCall",
1284
1526
  "rule": {
1285
- "$refText": "Argument"
1527
+ "$ref": "#/rules@28"
1286
1528
  },
1287
1529
  "arguments": []
1288
1530
  }
@@ -1301,7 +1543,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1301
1543
  "terminal": {
1302
1544
  "$type": "RuleCall",
1303
1545
  "rule": {
1304
- "$refText": "Argument"
1546
+ "$ref": "#/rules@28"
1305
1547
  },
1306
1548
  "arguments": []
1307
1549
  }
@@ -1333,7 +1575,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1333
1575
  "terminal": {
1334
1576
  "$type": "RuleCall",
1335
1577
  "rule": {
1336
- "$refText": "ID"
1578
+ "$ref": "#/rules@38"
1337
1579
  },
1338
1580
  "arguments": []
1339
1581
  }
@@ -1352,7 +1594,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1352
1594
  "terminal": {
1353
1595
  "$type": "RuleCall",
1354
1596
  "rule": {
1355
- "$refText": "Expression"
1597
+ "$ref": "#/rules@8"
1356
1598
  },
1357
1599
  "arguments": []
1358
1600
  }
@@ -1372,6 +1614,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1372
1614
  "definition": {
1373
1615
  "$type": "Group",
1374
1616
  "elements": [
1617
+ {
1618
+ "$type": "Assignment",
1619
+ "feature": "comments",
1620
+ "operator": "+=",
1621
+ "terminal": {
1622
+ "$type": "RuleCall",
1623
+ "rule": {
1624
+ "$ref": "#/rules@60"
1625
+ },
1626
+ "arguments": []
1627
+ },
1628
+ "cardinality": "*"
1629
+ },
1375
1630
  {
1376
1631
  "$type": "Keyword",
1377
1632
  "value": "model"
@@ -1383,7 +1638,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1383
1638
  "terminal": {
1384
1639
  "$type": "RuleCall",
1385
1640
  "rule": {
1386
- "$refText": "ID"
1641
+ "$ref": "#/rules@38"
1387
1642
  },
1388
1643
  "arguments": []
1389
1644
  }
@@ -1402,7 +1657,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1402
1657
  "terminal": {
1403
1658
  "$type": "RuleCall",
1404
1659
  "rule": {
1405
- "$refText": "DataModelField"
1660
+ "$ref": "#/rules@30"
1406
1661
  },
1407
1662
  "arguments": []
1408
1663
  }
@@ -1414,7 +1669,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1414
1669
  "terminal": {
1415
1670
  "$type": "RuleCall",
1416
1671
  "rule": {
1417
- "$refText": "DataModelAttribute"
1672
+ "$ref": "#/rules@47"
1418
1673
  },
1419
1674
  "arguments": []
1420
1675
  }
@@ -1441,6 +1696,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1441
1696
  "definition": {
1442
1697
  "$type": "Group",
1443
1698
  "elements": [
1699
+ {
1700
+ "$type": "Assignment",
1701
+ "feature": "comments",
1702
+ "operator": "+=",
1703
+ "terminal": {
1704
+ "$type": "RuleCall",
1705
+ "rule": {
1706
+ "$ref": "#/rules@60"
1707
+ },
1708
+ "arguments": []
1709
+ },
1710
+ "cardinality": "*"
1711
+ },
1444
1712
  {
1445
1713
  "$type": "Assignment",
1446
1714
  "feature": "name",
@@ -1448,7 +1716,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1448
1716
  "terminal": {
1449
1717
  "$type": "RuleCall",
1450
1718
  "rule": {
1451
- "$refText": "ID"
1719
+ "$ref": "#/rules@38"
1452
1720
  },
1453
1721
  "arguments": []
1454
1722
  }
@@ -1460,7 +1728,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1460
1728
  "terminal": {
1461
1729
  "$type": "RuleCall",
1462
1730
  "rule": {
1463
- "$refText": "DataModelFieldType"
1731
+ "$ref": "#/rules@31"
1464
1732
  },
1465
1733
  "arguments": []
1466
1734
  }
@@ -1472,7 +1740,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1472
1740
  "terminal": {
1473
1741
  "$type": "RuleCall",
1474
1742
  "rule": {
1475
- "$refText": "DataModelFieldAttribute"
1743
+ "$ref": "#/rules@46"
1476
1744
  },
1477
1745
  "arguments": []
1478
1746
  },
@@ -1503,7 +1771,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1503
1771
  "terminal": {
1504
1772
  "$type": "RuleCall",
1505
1773
  "rule": {
1506
- "$refText": "BuiltinType"
1774
+ "$ref": "#/rules@52"
1507
1775
  },
1508
1776
  "arguments": []
1509
1777
  }
@@ -1515,12 +1783,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1515
1783
  "terminal": {
1516
1784
  "$type": "CrossReference",
1517
1785
  "type": {
1518
- "$refText": "TypeDeclaration"
1786
+ "$ref": "#/types@1"
1519
1787
  },
1520
1788
  "terminal": {
1521
1789
  "$type": "RuleCall",
1522
1790
  "rule": {
1523
- "$refText": "ID"
1791
+ "$ref": "#/rules@38"
1524
1792
  },
1525
1793
  "arguments": []
1526
1794
  },
@@ -1530,21 +1798,30 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1530
1798
  ]
1531
1799
  },
1532
1800
  {
1533
- "$type": "Assignment",
1534
- "feature": "array",
1535
- "operator": "?=",
1536
- "terminal": {
1537
- "$type": "Keyword",
1538
- "value": "[]"
1539
- },
1540
- "cardinality": "?"
1541
- },
1542
- {
1543
- "$type": "Assignment",
1544
- "feature": "optional",
1545
- "operator": "?=",
1546
- "terminal": {
1547
- "$type": "Keyword",
1801
+ "$type": "Group",
1802
+ "elements": [
1803
+ {
1804
+ "$type": "Assignment",
1805
+ "feature": "array",
1806
+ "operator": "?=",
1807
+ "terminal": {
1808
+ "$type": "Keyword",
1809
+ "value": "["
1810
+ }
1811
+ },
1812
+ {
1813
+ "$type": "Keyword",
1814
+ "value": "]"
1815
+ }
1816
+ ],
1817
+ "cardinality": "?"
1818
+ },
1819
+ {
1820
+ "$type": "Assignment",
1821
+ "feature": "optional",
1822
+ "operator": "?=",
1823
+ "terminal": {
1824
+ "$type": "Keyword",
1548
1825
  "value": "?"
1549
1826
  },
1550
1827
  "cardinality": "?"
@@ -1564,6 +1841,19 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1564
1841
  "definition": {
1565
1842
  "$type": "Group",
1566
1843
  "elements": [
1844
+ {
1845
+ "$type": "Assignment",
1846
+ "feature": "comments",
1847
+ "operator": "+=",
1848
+ "terminal": {
1849
+ "$type": "RuleCall",
1850
+ "rule": {
1851
+ "$ref": "#/rules@60"
1852
+ },
1853
+ "arguments": []
1854
+ },
1855
+ "cardinality": "*"
1856
+ },
1567
1857
  {
1568
1858
  "$type": "Keyword",
1569
1859
  "value": "enum"
@@ -1575,7 +1865,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1575
1865
  "terminal": {
1576
1866
  "$type": "RuleCall",
1577
1867
  "rule": {
1578
- "$refText": "ID"
1868
+ "$ref": "#/rules@38"
1579
1869
  },
1580
1870
  "arguments": []
1581
1871
  }
@@ -1585,16 +1875,33 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1585
1875
  "value": "{"
1586
1876
  },
1587
1877
  {
1588
- "$type": "Assignment",
1589
- "feature": "fields",
1590
- "operator": "+=",
1591
- "terminal": {
1592
- "$type": "RuleCall",
1593
- "rule": {
1594
- "$refText": "EnumField"
1878
+ "$type": "Alternatives",
1879
+ "elements": [
1880
+ {
1881
+ "$type": "Assignment",
1882
+ "feature": "fields",
1883
+ "operator": "+=",
1884
+ "terminal": {
1885
+ "$type": "RuleCall",
1886
+ "rule": {
1887
+ "$ref": "#/rules@33"
1888
+ },
1889
+ "arguments": []
1890
+ }
1595
1891
  },
1596
- "arguments": []
1597
- },
1892
+ {
1893
+ "$type": "Assignment",
1894
+ "feature": "attributes",
1895
+ "operator": "+=",
1896
+ "terminal": {
1897
+ "$type": "RuleCall",
1898
+ "rule": {
1899
+ "$ref": "#/rules@47"
1900
+ },
1901
+ "arguments": []
1902
+ }
1903
+ }
1904
+ ],
1598
1905
  "cardinality": "+"
1599
1906
  },
1600
1907
  {
@@ -1614,16 +1921,47 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1614
1921
  "$type": "ParserRule",
1615
1922
  "name": "EnumField",
1616
1923
  "definition": {
1617
- "$type": "Assignment",
1618
- "feature": "name",
1619
- "operator": "=",
1620
- "terminal": {
1621
- "$type": "RuleCall",
1622
- "rule": {
1623
- "$refText": "ID"
1924
+ "$type": "Group",
1925
+ "elements": [
1926
+ {
1927
+ "$type": "Assignment",
1928
+ "feature": "comments",
1929
+ "operator": "+=",
1930
+ "terminal": {
1931
+ "$type": "RuleCall",
1932
+ "rule": {
1933
+ "$ref": "#/rules@60"
1934
+ },
1935
+ "arguments": []
1936
+ },
1937
+ "cardinality": "*"
1624
1938
  },
1625
- "arguments": []
1626
- }
1939
+ {
1940
+ "$type": "Assignment",
1941
+ "feature": "name",
1942
+ "operator": "=",
1943
+ "terminal": {
1944
+ "$type": "RuleCall",
1945
+ "rule": {
1946
+ "$ref": "#/rules@38"
1947
+ },
1948
+ "arguments": []
1949
+ }
1950
+ },
1951
+ {
1952
+ "$type": "Assignment",
1953
+ "feature": "attributes",
1954
+ "operator": "+=",
1955
+ "terminal": {
1956
+ "$type": "RuleCall",
1957
+ "rule": {
1958
+ "$ref": "#/rules@46"
1959
+ },
1960
+ "arguments": []
1961
+ },
1962
+ "cardinality": "*"
1963
+ }
1964
+ ]
1627
1965
  },
1628
1966
  "definesHiddenTokens": false,
1629
1967
  "entry": false,
@@ -1634,10 +1972,18 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1634
1972
  },
1635
1973
  {
1636
1974
  "$type": "ParserRule",
1637
- "name": "Function",
1975
+ "name": "FunctionDecl",
1638
1976
  "definition": {
1639
1977
  "$type": "Group",
1640
1978
  "elements": [
1979
+ {
1980
+ "$type": "RuleCall",
1981
+ "rule": {
1982
+ "$ref": "#/rules@60"
1983
+ },
1984
+ "arguments": [],
1985
+ "cardinality": "*"
1986
+ },
1641
1987
  {
1642
1988
  "$type": "Keyword",
1643
1989
  "value": "function"
@@ -1649,7 +1995,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1649
1995
  "terminal": {
1650
1996
  "$type": "RuleCall",
1651
1997
  "rule": {
1652
- "$refText": "ID"
1998
+ "$ref": "#/rules@38"
1653
1999
  },
1654
2000
  "arguments": []
1655
2001
  }
@@ -1668,7 +2014,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1668
2014
  "terminal": {
1669
2015
  "$type": "RuleCall",
1670
2016
  "rule": {
1671
- "$refText": "FunctionParam"
2017
+ "$ref": "#/rules@35"
1672
2018
  },
1673
2019
  "arguments": []
1674
2020
  }
@@ -1687,7 +2033,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1687
2033
  "terminal": {
1688
2034
  "$type": "RuleCall",
1689
2035
  "rule": {
1690
- "$refText": "FunctionParam"
2036
+ "$ref": "#/rules@35"
1691
2037
  },
1692
2038
  "arguments": []
1693
2039
  }
@@ -1713,7 +2059,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1713
2059
  "terminal": {
1714
2060
  "$type": "RuleCall",
1715
2061
  "rule": {
1716
- "$refText": "FunctionParamType"
2062
+ "$ref": "#/rules@36"
1717
2063
  },
1718
2064
  "arguments": []
1719
2065
  }
@@ -1729,7 +2075,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1729
2075
  "terminal": {
1730
2076
  "$type": "RuleCall",
1731
2077
  "rule": {
1732
- "$refText": "Expression"
2078
+ "$ref": "#/rules@8"
1733
2079
  },
1734
2080
  "arguments": []
1735
2081
  },
@@ -1754,6 +2100,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1754
2100
  "definition": {
1755
2101
  "$type": "Group",
1756
2102
  "elements": [
2103
+ {
2104
+ "$type": "RuleCall",
2105
+ "rule": {
2106
+ "$ref": "#/rules@60"
2107
+ },
2108
+ "arguments": [],
2109
+ "cardinality": "*"
2110
+ },
1757
2111
  {
1758
2112
  "$type": "Assignment",
1759
2113
  "feature": "name",
@@ -1761,7 +2115,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1761
2115
  "terminal": {
1762
2116
  "$type": "RuleCall",
1763
2117
  "rule": {
1764
- "$refText": "ID"
2118
+ "$ref": "#/rules@38"
1765
2119
  },
1766
2120
  "arguments": []
1767
2121
  }
@@ -1777,10 +2131,20 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1777
2131
  "terminal": {
1778
2132
  "$type": "RuleCall",
1779
2133
  "rule": {
1780
- "$refText": "FunctionParamType"
2134
+ "$ref": "#/rules@36"
1781
2135
  },
1782
2136
  "arguments": []
1783
2137
  }
2138
+ },
2139
+ {
2140
+ "$type": "Assignment",
2141
+ "feature": "optional",
2142
+ "operator": "?=",
2143
+ "terminal": {
2144
+ "$type": "Keyword",
2145
+ "value": "?"
2146
+ },
2147
+ "cardinality": "?"
1784
2148
  }
1785
2149
  ]
1786
2150
  },
@@ -1807,7 +2171,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1807
2171
  "terminal": {
1808
2172
  "$type": "RuleCall",
1809
2173
  "rule": {
1810
- "$refText": "ExpressionType"
2174
+ "$ref": "#/rules@51"
1811
2175
  },
1812
2176
  "arguments": []
1813
2177
  }
@@ -1819,7 +2183,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1819
2183
  "terminal": {
1820
2184
  "$type": "CrossReference",
1821
2185
  "type": {
1822
- "$refText": "TypeDeclaration"
2186
+ "$ref": "#/types@1"
2187
+ },
2188
+ "terminal": {
2189
+ "$type": "RuleCall",
2190
+ "rule": {
2191
+ "$ref": "#/rules@38"
2192
+ },
2193
+ "arguments": []
1823
2194
  },
1824
2195
  "deprecatedSyntax": false
1825
2196
  }
@@ -1827,13 +2198,22 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1827
2198
  ]
1828
2199
  },
1829
2200
  {
1830
- "$type": "Assignment",
1831
- "feature": "array",
1832
- "operator": "?=",
1833
- "terminal": {
1834
- "$type": "Keyword",
1835
- "value": "[]"
1836
- },
2201
+ "$type": "Group",
2202
+ "elements": [
2203
+ {
2204
+ "$type": "Assignment",
2205
+ "feature": "array",
2206
+ "operator": "?=",
2207
+ "terminal": {
2208
+ "$type": "Keyword",
2209
+ "value": "["
2210
+ }
2211
+ },
2212
+ {
2213
+ "$type": "Keyword",
2214
+ "value": "]"
2215
+ }
2216
+ ],
1837
2217
  "cardinality": "?"
1838
2218
  }
1839
2219
  ]
@@ -1845,6 +2225,85 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1845
2225
  "parameters": [],
1846
2226
  "wildcard": false
1847
2227
  },
2228
+ {
2229
+ "$type": "ParserRule",
2230
+ "name": "QualifiedName",
2231
+ "dataType": "string",
2232
+ "definition": {
2233
+ "$type": "Group",
2234
+ "elements": [
2235
+ {
2236
+ "$type": "RuleCall",
2237
+ "rule": {
2238
+ "$ref": "#/rules@57"
2239
+ },
2240
+ "arguments": []
2241
+ },
2242
+ {
2243
+ "$type": "Group",
2244
+ "elements": [
2245
+ {
2246
+ "$type": "Keyword",
2247
+ "value": "."
2248
+ },
2249
+ {
2250
+ "$type": "Alternatives",
2251
+ "elements": [
2252
+ {
2253
+ "$type": "RuleCall",
2254
+ "rule": {
2255
+ "$ref": "#/rules@57"
2256
+ },
2257
+ "arguments": []
2258
+ },
2259
+ {
2260
+ "$type": "RuleCall",
2261
+ "rule": {
2262
+ "$ref": "#/rules@52"
2263
+ },
2264
+ "arguments": []
2265
+ }
2266
+ ]
2267
+ }
2268
+ ],
2269
+ "cardinality": "*"
2270
+ }
2271
+ ]
2272
+ },
2273
+ "definesHiddenTokens": false,
2274
+ "entry": false,
2275
+ "fragment": false,
2276
+ "hiddenTokens": [],
2277
+ "parameters": [],
2278
+ "wildcard": false
2279
+ },
2280
+ {
2281
+ "$type": "ParserRule",
2282
+ "name": "RegularID",
2283
+ "dataType": "string",
2284
+ "definition": {
2285
+ "$type": "Alternatives",
2286
+ "elements": [
2287
+ {
2288
+ "$type": "RuleCall",
2289
+ "rule": {
2290
+ "$ref": "#/rules@57"
2291
+ },
2292
+ "arguments": []
2293
+ },
2294
+ {
2295
+ "$type": "Keyword",
2296
+ "value": "in"
2297
+ }
2298
+ ]
2299
+ },
2300
+ "definesHiddenTokens": false,
2301
+ "entry": false,
2302
+ "fragment": false,
2303
+ "hiddenTokens": [],
2304
+ "parameters": [],
2305
+ "wildcard": false
2306
+ },
1848
2307
  {
1849
2308
  "$type": "ParserRule",
1850
2309
  "name": "AttributeAttributeName",
@@ -1859,7 +2318,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1859
2318
  {
1860
2319
  "$type": "RuleCall",
1861
2320
  "rule": {
1862
- "$refText": "ID"
2321
+ "$ref": "#/rules@37"
1863
2322
  },
1864
2323
  "arguments": []
1865
2324
  }
@@ -1886,7 +2345,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1886
2345
  {
1887
2346
  "$type": "RuleCall",
1888
2347
  "rule": {
1889
- "$refText": "ID"
2348
+ "$ref": "#/rules@37"
1890
2349
  },
1891
2350
  "arguments": []
1892
2351
  }
@@ -1913,7 +2372,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1913
2372
  {
1914
2373
  "$type": "RuleCall",
1915
2374
  "rule": {
1916
- "$refText": "ID"
2375
+ "$ref": "#/rules@37"
1917
2376
  },
1918
2377
  "arguments": []
1919
2378
  }
@@ -1936,21 +2395,21 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1936
2395
  {
1937
2396
  "$type": "RuleCall",
1938
2397
  "rule": {
1939
- "$refText": "DataModelAttributeName"
2398
+ "$ref": "#/rules@40"
1940
2399
  },
1941
2400
  "arguments": []
1942
2401
  },
1943
2402
  {
1944
2403
  "$type": "RuleCall",
1945
2404
  "rule": {
1946
- "$refText": "DataModelFieldAttributeName"
2405
+ "$ref": "#/rules@41"
1947
2406
  },
1948
2407
  "arguments": []
1949
2408
  },
1950
2409
  {
1951
2410
  "$type": "RuleCall",
1952
2411
  "rule": {
1953
- "$refText": "AttributeAttributeName"
2412
+ "$ref": "#/rules@39"
1954
2413
  },
1955
2414
  "arguments": []
1956
2415
  }
@@ -1969,6 +2428,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1969
2428
  "definition": {
1970
2429
  "$type": "Group",
1971
2430
  "elements": [
2431
+ {
2432
+ "$type": "RuleCall",
2433
+ "rule": {
2434
+ "$ref": "#/rules@60"
2435
+ },
2436
+ "arguments": [],
2437
+ "cardinality": "*"
2438
+ },
1972
2439
  {
1973
2440
  "$type": "Keyword",
1974
2441
  "value": "attribute"
@@ -1980,7 +2447,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1980
2447
  "terminal": {
1981
2448
  "$type": "RuleCall",
1982
2449
  "rule": {
1983
- "$refText": "AttributeName"
2450
+ "$ref": "#/rules@42"
1984
2451
  },
1985
2452
  "arguments": []
1986
2453
  }
@@ -1999,7 +2466,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
1999
2466
  "terminal": {
2000
2467
  "$type": "RuleCall",
2001
2468
  "rule": {
2002
- "$refText": "AttributeParam"
2469
+ "$ref": "#/rules@44"
2003
2470
  },
2004
2471
  "arguments": []
2005
2472
  }
@@ -2018,7 +2485,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2018
2485
  "terminal": {
2019
2486
  "$type": "RuleCall",
2020
2487
  "rule": {
2021
- "$refText": "AttributeParam"
2488
+ "$ref": "#/rules@44"
2022
2489
  },
2023
2490
  "arguments": []
2024
2491
  }
@@ -2040,7 +2507,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2040
2507
  "terminal": {
2041
2508
  "$type": "RuleCall",
2042
2509
  "rule": {
2043
- "$refText": "AttributeAttribute"
2510
+ "$ref": "#/rules@48"
2044
2511
  },
2045
2512
  "arguments": []
2046
2513
  },
@@ -2061,6 +2528,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2061
2528
  "definition": {
2062
2529
  "$type": "Group",
2063
2530
  "elements": [
2531
+ {
2532
+ "$type": "RuleCall",
2533
+ "rule": {
2534
+ "$ref": "#/rules@60"
2535
+ },
2536
+ "arguments": [],
2537
+ "cardinality": "*"
2538
+ },
2064
2539
  {
2065
2540
  "$type": "Assignment",
2066
2541
  "feature": "default",
@@ -2078,7 +2553,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2078
2553
  "terminal": {
2079
2554
  "$type": "RuleCall",
2080
2555
  "rule": {
2081
- "$refText": "ID"
2556
+ "$ref": "#/rules@38"
2082
2557
  },
2083
2558
  "arguments": []
2084
2559
  }
@@ -2094,7 +2569,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2094
2569
  "terminal": {
2095
2570
  "$type": "RuleCall",
2096
2571
  "rule": {
2097
- "$refText": "AttributeParamType"
2572
+ "$ref": "#/rules@45"
2098
2573
  },
2099
2574
  "arguments": []
2100
2575
  }
@@ -2127,7 +2602,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2127
2602
  {
2128
2603
  "$type": "RuleCall",
2129
2604
  "rule": {
2130
- "$refText": "ExpressionType"
2605
+ "$ref": "#/rules@51"
2131
2606
  },
2132
2607
  "arguments": []
2133
2608
  },
@@ -2153,12 +2628,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2153
2628
  "terminal": {
2154
2629
  "$type": "CrossReference",
2155
2630
  "type": {
2156
- "$refText": "TypeDeclaration"
2631
+ "$ref": "#/types@1"
2157
2632
  },
2158
2633
  "terminal": {
2159
2634
  "$type": "RuleCall",
2160
2635
  "rule": {
2161
- "$refText": "ID"
2636
+ "$ref": "#/rules@38"
2162
2637
  },
2163
2638
  "arguments": []
2164
2639
  },
@@ -2168,13 +2643,22 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2168
2643
  ]
2169
2644
  },
2170
2645
  {
2171
- "$type": "Assignment",
2172
- "feature": "array",
2173
- "operator": "?=",
2174
- "terminal": {
2175
- "$type": "Keyword",
2176
- "value": "[]"
2177
- },
2646
+ "$type": "Group",
2647
+ "elements": [
2648
+ {
2649
+ "$type": "Assignment",
2650
+ "feature": "array",
2651
+ "operator": "?=",
2652
+ "terminal": {
2653
+ "$type": "Keyword",
2654
+ "value": "["
2655
+ }
2656
+ },
2657
+ {
2658
+ "$type": "Keyword",
2659
+ "value": "]"
2660
+ }
2661
+ ],
2178
2662
  "cardinality": "?"
2179
2663
  },
2180
2664
  {
@@ -2209,12 +2693,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2209
2693
  "terminal": {
2210
2694
  "$type": "CrossReference",
2211
2695
  "type": {
2212
- "$refText": "Attribute"
2696
+ "$ref": "#/rules@43"
2213
2697
  },
2214
2698
  "terminal": {
2215
2699
  "$type": "RuleCall",
2216
2700
  "rule": {
2217
- "$refText": "DataModelFieldAttributeName"
2701
+ "$ref": "#/rules@41"
2218
2702
  },
2219
2703
  "arguments": []
2220
2704
  },
@@ -2231,7 +2715,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2231
2715
  {
2232
2716
  "$type": "RuleCall",
2233
2717
  "rule": {
2234
- "$refText": "AttributeArgList"
2718
+ "$ref": "#/rules@49"
2235
2719
  },
2236
2720
  "arguments": [],
2237
2721
  "cardinality": "?"
@@ -2258,6 +2742,14 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2258
2742
  "definition": {
2259
2743
  "$type": "Group",
2260
2744
  "elements": [
2745
+ {
2746
+ "$type": "RuleCall",
2747
+ "rule": {
2748
+ "$ref": "#/rules@60"
2749
+ },
2750
+ "arguments": [],
2751
+ "cardinality": "*"
2752
+ },
2261
2753
  {
2262
2754
  "$type": "Assignment",
2263
2755
  "feature": "decl",
@@ -2265,12 +2757,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2265
2757
  "terminal": {
2266
2758
  "$type": "CrossReference",
2267
2759
  "type": {
2268
- "$refText": "Attribute"
2760
+ "$ref": "#/rules@43"
2269
2761
  },
2270
2762
  "terminal": {
2271
2763
  "$type": "RuleCall",
2272
2764
  "rule": {
2273
- "$refText": "DataModelAttributeName"
2765
+ "$ref": "#/rules@40"
2274
2766
  },
2275
2767
  "arguments": []
2276
2768
  },
@@ -2287,7 +2779,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2287
2779
  {
2288
2780
  "$type": "RuleCall",
2289
2781
  "rule": {
2290
- "$refText": "AttributeArgList"
2782
+ "$ref": "#/rules@49"
2291
2783
  },
2292
2784
  "arguments": [],
2293
2785
  "cardinality": "?"
@@ -2321,12 +2813,12 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2321
2813
  "terminal": {
2322
2814
  "$type": "CrossReference",
2323
2815
  "type": {
2324
- "$refText": "Attribute"
2816
+ "$ref": "#/rules@43"
2325
2817
  },
2326
2818
  "terminal": {
2327
2819
  "$type": "RuleCall",
2328
2820
  "rule": {
2329
- "$refText": "AttributeAttributeName"
2821
+ "$ref": "#/rules@39"
2330
2822
  },
2331
2823
  "arguments": []
2332
2824
  },
@@ -2343,7 +2835,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2343
2835
  {
2344
2836
  "$type": "RuleCall",
2345
2837
  "rule": {
2346
- "$refText": "AttributeArgList"
2838
+ "$ref": "#/rules@49"
2347
2839
  },
2348
2840
  "arguments": [],
2349
2841
  "cardinality": "?"
@@ -2378,7 +2870,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2378
2870
  "terminal": {
2379
2871
  "$type": "RuleCall",
2380
2872
  "rule": {
2381
- "$refText": "AttributeArg"
2873
+ "$ref": "#/rules@50"
2382
2874
  },
2383
2875
  "arguments": []
2384
2876
  }
@@ -2397,7 +2889,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2397
2889
  "terminal": {
2398
2890
  "$type": "RuleCall",
2399
2891
  "rule": {
2400
- "$refText": "AttributeArg"
2892
+ "$ref": "#/rules@50"
2401
2893
  },
2402
2894
  "arguments": []
2403
2895
  }
@@ -2429,7 +2921,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2429
2921
  "terminal": {
2430
2922
  "$type": "RuleCall",
2431
2923
  "rule": {
2432
- "$refText": "ID"
2924
+ "$ref": "#/rules@38"
2433
2925
  },
2434
2926
  "arguments": []
2435
2927
  }
@@ -2448,7 +2940,7 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2448
2940
  "terminal": {
2449
2941
  "$type": "RuleCall",
2450
2942
  "rule": {
2451
- "$refText": "Expression"
2943
+ "$ref": "#/rules@8"
2452
2944
  },
2453
2945
  "arguments": []
2454
2946
  }
@@ -2493,6 +2985,10 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2493
2985
  "$type": "Keyword",
2494
2986
  "value": "Null"
2495
2987
  },
2988
+ {
2989
+ "$type": "Keyword",
2990
+ "value": "Object"
2991
+ },
2496
2992
  {
2497
2993
  "$type": "Keyword",
2498
2994
  "value": "Any"
@@ -2642,6 +3138,16 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2642
3138
  "fragment": false,
2643
3139
  "hidden": false
2644
3140
  },
3141
+ {
3142
+ "$type": "TerminalRule",
3143
+ "name": "TRIPLE_SLASH_COMMENT",
3144
+ "definition": {
3145
+ "$type": "RegexToken",
3146
+ "regex": "\\\\/\\\\/\\\\/[^\\\\n\\\\r]*"
3147
+ },
3148
+ "fragment": false,
3149
+ "hidden": false
3150
+ },
2645
3151
  {
2646
3152
  "$type": "TerminalRule",
2647
3153
  "hidden": true,
@@ -2666,55 +3172,51 @@ const ZModelGrammar = () => loadedZModelGrammar !== null && loadedZModelGrammar
2666
3172
  "types": [
2667
3173
  {
2668
3174
  "$type": "Type",
2669
- "typeAlternatives": [
2670
- {
2671
- "$type": "AtomType",
2672
- "refType": {
2673
- "$refText": "FunctionParam"
2674
- },
2675
- "isArray": false,
2676
- "isRef": false
2677
- },
2678
- {
2679
- "$type": "AtomType",
2680
- "refType": {
2681
- "$refText": "DataModelField"
3175
+ "name": "ReferenceTarget",
3176
+ "type": {
3177
+ "$type": "UnionType",
3178
+ "types": [
3179
+ {
3180
+ "$type": "SimpleType",
3181
+ "typeRef": {
3182
+ "$ref": "#/rules@35"
3183
+ }
2682
3184
  },
2683
- "isArray": false,
2684
- "isRef": false
2685
- },
2686
- {
2687
- "$type": "AtomType",
2688
- "refType": {
2689
- "$refText": "EnumField"
3185
+ {
3186
+ "$type": "SimpleType",
3187
+ "typeRef": {
3188
+ "$ref": "#/rules@30"
3189
+ }
2690
3190
  },
2691
- "isArray": false,
2692
- "isRef": false
2693
- }
2694
- ],
2695
- "name": "ReferenceTarget"
3191
+ {
3192
+ "$type": "SimpleType",
3193
+ "typeRef": {
3194
+ "$ref": "#/rules@33"
3195
+ }
3196
+ }
3197
+ ]
3198
+ }
2696
3199
  },
2697
3200
  {
2698
3201
  "$type": "Type",
2699
- "typeAlternatives": [
2700
- {
2701
- "$type": "AtomType",
2702
- "refType": {
2703
- "$refText": "DataModel"
2704
- },
2705
- "isArray": false,
2706
- "isRef": false
2707
- },
2708
- {
2709
- "$type": "AtomType",
2710
- "refType": {
2711
- "$refText": "Enum"
3202
+ "name": "TypeDeclaration",
3203
+ "type": {
3204
+ "$type": "UnionType",
3205
+ "types": [
3206
+ {
3207
+ "$type": "SimpleType",
3208
+ "typeRef": {
3209
+ "$ref": "#/rules@29"
3210
+ }
2712
3211
  },
2713
- "isArray": false,
2714
- "isRef": false
2715
- }
2716
- ],
2717
- "name": "TypeDeclaration"
3212
+ {
3213
+ "$type": "SimpleType",
3214
+ "typeRef": {
3215
+ "$ref": "#/rules@32"
3216
+ }
3217
+ }
3218
+ ]
3219
+ }
2718
3220
  }
2719
3221
  ],
2720
3222
  "definesHiddenTokens": false,