@zenstackhq/language 0.6.0-pre.2 → 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.
package/grammar.js DELETED
@@ -1,2723 +0,0 @@
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": "vaue",
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": "vaue",
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