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