@reqlan/language 1.4.1 → 1.5.0

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.
Files changed (43) hide show
  1. package/README.md +6 -0
  2. package/out/generated/ast.d.ts +39 -1
  3. package/out/generated/ast.js +35 -1
  4. package/out/generated/ast.js.map +1 -1
  5. package/out/generated/grammar.js +365 -110
  6. package/out/generated/grammar.js.map +1 -1
  7. package/out/reqlan-definition-provider.js +2 -2
  8. package/out/reqlan-definition-provider.js.map +1 -1
  9. package/out/reqlan-file-link-resolver.js +6 -1
  10. package/out/reqlan-file-link-resolver.js.map +1 -1
  11. package/out/reqlan-import-bindings.d.ts +6 -1
  12. package/out/reqlan-import-bindings.js +18 -1
  13. package/out/reqlan-import-bindings.js.map +1 -1
  14. package/out/reqlan-namespace-import-links.js +4 -3
  15. package/out/reqlan-namespace-import-links.js.map +1 -1
  16. package/out/reqlan-path-resolve.d.ts +1 -0
  17. package/out/reqlan-path-resolve.js +3 -0
  18. package/out/reqlan-path-resolve.js.map +1 -1
  19. package/out/reqlan-references.js +3 -2
  20. package/out/reqlan-references.js.map +1 -1
  21. package/out/reqlan-scope.js +9 -4
  22. package/out/reqlan-scope.js.map +1 -1
  23. package/out/reqlan-semantic-token-provider.js +23 -5
  24. package/out/reqlan-semantic-token-provider.js.map +1 -1
  25. package/out/reqlan-validator.d.ts +7 -0
  26. package/out/reqlan-validator.js +35 -3
  27. package/out/reqlan-validator.js.map +1 -1
  28. package/out/reqlan-workspace-attribute-catalog.js +37 -15
  29. package/out/reqlan-workspace-attribute-catalog.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/generated/ast.ts +53 -2
  32. package/src/generated/grammar.ts +365 -110
  33. package/src/reqlan-definition-provider.ts +2 -1
  34. package/src/reqlan-file-link-resolver.ts +6 -1
  35. package/src/reqlan-import-bindings.ts +26 -1
  36. package/src/reqlan-namespace-import-links.ts +4 -3
  37. package/src/reqlan-path-resolve.ts +4 -0
  38. package/src/reqlan-references.ts +3 -2
  39. package/src/reqlan-scope.ts +9 -5
  40. package/src/reqlan-semantic-token-provider.ts +22 -4
  41. package/src/reqlan-validator.ts +50 -2
  42. package/src/reqlan-workspace-attribute-catalog.ts +50 -15
  43. package/src/reqlan.langium +18 -2
@@ -22,7 +22,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
22
22
  {
23
23
  "$type": "RuleCall",
24
24
  "rule": {
25
- "$ref": "#/rules@51"
25
+ "$ref": "#/rules@54"
26
26
  },
27
27
  "arguments": [],
28
28
  "cardinality": "*"
@@ -48,7 +48,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
48
48
  {
49
49
  "$type": "RuleCall",
50
50
  "rule": {
51
- "$ref": "#/rules@51"
51
+ "$ref": "#/rules@54"
52
52
  },
53
53
  "arguments": [],
54
54
  "cardinality": "*"
@@ -71,7 +71,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
71
71
  {
72
72
  "$type": "RuleCall",
73
73
  "rule": {
74
- "$ref": "#/rules@51"
74
+ "$ref": "#/rules@54"
75
75
  },
76
76
  "arguments": [],
77
77
  "cardinality": "*"
@@ -251,7 +251,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
251
251
  {
252
252
  "$type": "RuleCall",
253
253
  "rule": {
254
- "$ref": "#/rules@51"
254
+ "$ref": "#/rules@54"
255
255
  },
256
256
  "arguments": [],
257
257
  "cardinality": "*"
@@ -274,7 +274,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
274
274
  {
275
275
  "$type": "RuleCall",
276
276
  "rule": {
277
- "$ref": "#/rules@51"
277
+ "$ref": "#/rules@54"
278
278
  },
279
279
  "arguments": [],
280
280
  "cardinality": "*"
@@ -314,7 +314,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
314
314
  {
315
315
  "$type": "RuleCall",
316
316
  "rule": {
317
- "$ref": "#/rules@51"
317
+ "$ref": "#/rules@54"
318
318
  },
319
319
  "arguments": [],
320
320
  "cardinality": "*"
@@ -345,7 +345,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
345
345
  {
346
346
  "$type": "RuleCall",
347
347
  "rule": {
348
- "$ref": "#/rules@51"
348
+ "$ref": "#/rules@54"
349
349
  },
350
350
  "arguments": [],
351
351
  "cardinality": "*"
@@ -357,7 +357,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
357
357
  {
358
358
  "$type": "RuleCall",
359
359
  "rule": {
360
- "$ref": "#/rules@51"
360
+ "$ref": "#/rules@54"
361
361
  },
362
362
  "arguments": [],
363
363
  "cardinality": "*"
@@ -388,7 +388,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
388
388
  {
389
389
  "$type": "RuleCall",
390
390
  "rule": {
391
- "$ref": "#/rules@51"
391
+ "$ref": "#/rules@54"
392
392
  },
393
393
  "arguments": [],
394
394
  "cardinality": "*"
@@ -413,14 +413,14 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
413
413
  {
414
414
  "$type": "RuleCall",
415
415
  "rule": {
416
- "$ref": "#/rules@56"
416
+ "$ref": "#/rules@59"
417
417
  },
418
418
  "arguments": []
419
419
  },
420
420
  {
421
421
  "$type": "RuleCall",
422
422
  "rule": {
423
- "$ref": "#/rules@57"
423
+ "$ref": "#/rules@60"
424
424
  },
425
425
  "arguments": []
426
426
  }
@@ -440,14 +440,14 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
440
440
  {
441
441
  "$type": "RuleCall",
442
442
  "rule": {
443
- "$ref": "#/rules@56"
443
+ "$ref": "#/rules@59"
444
444
  },
445
445
  "arguments": []
446
446
  },
447
447
  {
448
448
  "$type": "RuleCall",
449
449
  "rule": {
450
- "$ref": "#/rules@57"
450
+ "$ref": "#/rules@60"
451
451
  },
452
452
  "arguments": []
453
453
  }
@@ -464,7 +464,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
464
464
  "definition": {
465
465
  "$type": "RuleCall",
466
466
  "rule": {
467
- "$ref": "#/rules@56"
467
+ "$ref": "#/rules@59"
468
468
  },
469
469
  "arguments": []
470
470
  },
@@ -573,7 +573,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
573
573
  "terminal": {
574
574
  "$type": "RuleCall",
575
575
  "rule": {
576
- "$ref": "#/rules@61"
576
+ "$ref": "#/rules@64"
577
577
  },
578
578
  "arguments": []
579
579
  }
@@ -648,7 +648,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
648
648
  "terminal": {
649
649
  "$type": "RuleCall",
650
650
  "rule": {
651
- "$ref": "#/rules@61"
651
+ "$ref": "#/rules@64"
652
652
  },
653
653
  "arguments": []
654
654
  }
@@ -681,7 +681,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
681
681
  "terminal": {
682
682
  "$type": "RuleCall",
683
683
  "rule": {
684
- "$ref": "#/rules@62"
684
+ "$ref": "#/rules@65"
685
685
  },
686
686
  "arguments": []
687
687
  }
@@ -700,35 +700,35 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
700
700
  {
701
701
  "$type": "RuleCall",
702
702
  "rule": {
703
- "$ref": "#/rules@59"
703
+ "$ref": "#/rules@62"
704
704
  },
705
705
  "arguments": []
706
706
  },
707
707
  {
708
708
  "$type": "RuleCall",
709
709
  "rule": {
710
- "$ref": "#/rules@56"
710
+ "$ref": "#/rules@59"
711
711
  },
712
712
  "arguments": []
713
713
  },
714
714
  {
715
715
  "$type": "RuleCall",
716
716
  "rule": {
717
- "$ref": "#/rules@58"
717
+ "$ref": "#/rules@61"
718
718
  },
719
719
  "arguments": []
720
720
  },
721
721
  {
722
722
  "$type": "RuleCall",
723
723
  "rule": {
724
- "$ref": "#/rules@61"
724
+ "$ref": "#/rules@64"
725
725
  },
726
726
  "arguments": []
727
727
  },
728
728
  {
729
729
  "$type": "RuleCall",
730
730
  "rule": {
731
- "$ref": "#/rules@60"
731
+ "$ref": "#/rules@63"
732
732
  },
733
733
  "arguments": []
734
734
  },
@@ -783,28 +783,28 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
783
783
  {
784
784
  "$type": "RuleCall",
785
785
  "rule": {
786
- "$ref": "#/rules@59"
786
+ "$ref": "#/rules@62"
787
787
  },
788
788
  "arguments": []
789
789
  },
790
790
  {
791
791
  "$type": "RuleCall",
792
792
  "rule": {
793
- "$ref": "#/rules@56"
793
+ "$ref": "#/rules@59"
794
794
  },
795
795
  "arguments": []
796
796
  },
797
797
  {
798
798
  "$type": "RuleCall",
799
799
  "rule": {
800
- "$ref": "#/rules@58"
800
+ "$ref": "#/rules@61"
801
801
  },
802
802
  "arguments": []
803
803
  },
804
804
  {
805
805
  "$type": "RuleCall",
806
806
  "rule": {
807
- "$ref": "#/rules@60"
807
+ "$ref": "#/rules@63"
808
808
  },
809
809
  "arguments": []
810
810
  },
@@ -907,7 +907,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
907
907
  "terminal": {
908
908
  "$type": "RuleCall",
909
909
  "rule": {
910
- "$ref": "#/rules@56"
910
+ "$ref": "#/rules@59"
911
911
  },
912
912
  "arguments": []
913
913
  }
@@ -1070,7 +1070,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1070
1070
  "terminal": {
1071
1071
  "$type": "RuleCall",
1072
1072
  "rule": {
1073
- "$ref": "#/rules@61"
1073
+ "$ref": "#/rules@64"
1074
1074
  },
1075
1075
  "arguments": []
1076
1076
  }
@@ -1103,28 +1103,28 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1103
1103
  {
1104
1104
  "$type": "RuleCall",
1105
1105
  "rule": {
1106
- "$ref": "#/rules@59"
1106
+ "$ref": "#/rules@62"
1107
1107
  },
1108
1108
  "arguments": []
1109
1109
  },
1110
1110
  {
1111
1111
  "$type": "RuleCall",
1112
1112
  "rule": {
1113
- "$ref": "#/rules@56"
1113
+ "$ref": "#/rules@59"
1114
1114
  },
1115
1115
  "arguments": []
1116
1116
  },
1117
1117
  {
1118
1118
  "$type": "RuleCall",
1119
1119
  "rule": {
1120
- "$ref": "#/rules@58"
1120
+ "$ref": "#/rules@61"
1121
1121
  },
1122
1122
  "arguments": []
1123
1123
  },
1124
1124
  {
1125
1125
  "$type": "RuleCall",
1126
1126
  "rule": {
1127
- "$ref": "#/rules@60"
1127
+ "$ref": "#/rules@63"
1128
1128
  },
1129
1129
  "arguments": []
1130
1130
  },
@@ -1218,7 +1218,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1218
1218
  {
1219
1219
  "$type": "RuleCall",
1220
1220
  "rule": {
1221
- "$ref": "#/rules@51"
1221
+ "$ref": "#/rules@54"
1222
1222
  },
1223
1223
  "arguments": [],
1224
1224
  "cardinality": "*"
@@ -1241,7 +1241,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1241
1241
  {
1242
1242
  "$type": "RuleCall",
1243
1243
  "rule": {
1244
- "$ref": "#/rules@51"
1244
+ "$ref": "#/rules@54"
1245
1245
  },
1246
1246
  "arguments": [],
1247
1247
  "cardinality": "*"
@@ -1336,7 +1336,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1336
1336
  {
1337
1337
  "$type": "RuleCall",
1338
1338
  "rule": {
1339
- "$ref": "#/rules@51"
1339
+ "$ref": "#/rules@54"
1340
1340
  },
1341
1341
  "arguments": [],
1342
1342
  "cardinality": "*"
@@ -1365,7 +1365,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1365
1365
  {
1366
1366
  "$type": "RuleCall",
1367
1367
  "rule": {
1368
- "$ref": "#/rules@51"
1368
+ "$ref": "#/rules@54"
1369
1369
  },
1370
1370
  "arguments": [],
1371
1371
  "cardinality": "*"
@@ -1377,7 +1377,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1377
1377
  {
1378
1378
  "$type": "RuleCall",
1379
1379
  "rule": {
1380
- "$ref": "#/rules@51"
1380
+ "$ref": "#/rules@54"
1381
1381
  },
1382
1382
  "arguments": [],
1383
1383
  "cardinality": "*"
@@ -1387,7 +1387,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1387
1387
  {
1388
1388
  "$type": "RuleCall",
1389
1389
  "rule": {
1390
- "$ref": "#/rules@51"
1390
+ "$ref": "#/rules@54"
1391
1391
  },
1392
1392
  "arguments": [],
1393
1393
  "cardinality": "+"
@@ -1412,7 +1412,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1412
1412
  {
1413
1413
  "$type": "RuleCall",
1414
1414
  "rule": {
1415
- "$ref": "#/rules@51"
1415
+ "$ref": "#/rules@54"
1416
1416
  },
1417
1417
  "arguments": [],
1418
1418
  "cardinality": "*"
@@ -1427,7 +1427,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1427
1427
  {
1428
1428
  "$type": "RuleCall",
1429
1429
  "rule": {
1430
- "$ref": "#/rules@51"
1430
+ "$ref": "#/rules@54"
1431
1431
  },
1432
1432
  "arguments": [],
1433
1433
  "cardinality": "*"
@@ -1458,7 +1458,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1458
1458
  "terminal": {
1459
1459
  "$type": "RuleCall",
1460
1460
  "rule": {
1461
- "$ref": "#/rules@56"
1461
+ "$ref": "#/rules@59"
1462
1462
  },
1463
1463
  "arguments": []
1464
1464
  }
@@ -1470,7 +1470,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1470
1470
  {
1471
1471
  "$type": "RuleCall",
1472
1472
  "rule": {
1473
- "$ref": "#/rules@51"
1473
+ "$ref": "#/rules@54"
1474
1474
  },
1475
1475
  "arguments": [],
1476
1476
  "cardinality": "+"
@@ -1499,7 +1499,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1499
1499
  {
1500
1500
  "$type": "RuleCall",
1501
1501
  "rule": {
1502
- "$ref": "#/rules@51"
1502
+ "$ref": "#/rules@54"
1503
1503
  },
1504
1504
  "arguments": [],
1505
1505
  "cardinality": "*"
@@ -1511,7 +1511,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1511
1511
  {
1512
1512
  "$type": "RuleCall",
1513
1513
  "rule": {
1514
- "$ref": "#/rules@51"
1514
+ "$ref": "#/rules@54"
1515
1515
  },
1516
1516
  "arguments": [],
1517
1517
  "cardinality": "*"
@@ -1521,7 +1521,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1521
1521
  {
1522
1522
  "$type": "RuleCall",
1523
1523
  "rule": {
1524
- "$ref": "#/rules@51"
1524
+ "$ref": "#/rules@54"
1525
1525
  },
1526
1526
  "arguments": [],
1527
1527
  "cardinality": "+"
@@ -1546,7 +1546,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1546
1546
  {
1547
1547
  "$type": "RuleCall",
1548
1548
  "rule": {
1549
- "$ref": "#/rules@51"
1549
+ "$ref": "#/rules@54"
1550
1550
  },
1551
1551
  "arguments": [],
1552
1552
  "cardinality": "*"
@@ -1561,7 +1561,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1561
1561
  {
1562
1562
  "$type": "RuleCall",
1563
1563
  "rule": {
1564
- "$ref": "#/rules@51"
1564
+ "$ref": "#/rules@54"
1565
1565
  },
1566
1566
  "arguments": [],
1567
1567
  "cardinality": "*"
@@ -1592,7 +1592,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1592
1592
  {
1593
1593
  "$type": "RuleCall",
1594
1594
  "rule": {
1595
- "$ref": "#/rules@51"
1595
+ "$ref": "#/rules@54"
1596
1596
  },
1597
1597
  "arguments": [],
1598
1598
  "cardinality": "+"
@@ -1621,7 +1621,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1621
1621
  {
1622
1622
  "$type": "RuleCall",
1623
1623
  "rule": {
1624
- "$ref": "#/rules@51"
1624
+ "$ref": "#/rules@54"
1625
1625
  },
1626
1626
  "arguments": [],
1627
1627
  "cardinality": "*"
@@ -1633,7 +1633,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1633
1633
  {
1634
1634
  "$type": "RuleCall",
1635
1635
  "rule": {
1636
- "$ref": "#/rules@51"
1636
+ "$ref": "#/rules@54"
1637
1637
  },
1638
1638
  "arguments": [],
1639
1639
  "cardinality": "*"
@@ -1643,7 +1643,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1643
1643
  {
1644
1644
  "$type": "RuleCall",
1645
1645
  "rule": {
1646
- "$ref": "#/rules@51"
1646
+ "$ref": "#/rules@54"
1647
1647
  },
1648
1648
  "arguments": [],
1649
1649
  "cardinality": "+"
@@ -1668,7 +1668,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1668
1668
  {
1669
1669
  "$type": "RuleCall",
1670
1670
  "rule": {
1671
- "$ref": "#/rules@51"
1671
+ "$ref": "#/rules@54"
1672
1672
  },
1673
1673
  "arguments": [],
1674
1674
  "cardinality": "*"
@@ -1683,7 +1683,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1683
1683
  {
1684
1684
  "$type": "RuleCall",
1685
1685
  "rule": {
1686
- "$ref": "#/rules@51"
1686
+ "$ref": "#/rules@54"
1687
1687
  },
1688
1688
  "arguments": [],
1689
1689
  "cardinality": "*"
@@ -1816,35 +1816,35 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1816
1816
  {
1817
1817
  "$type": "RuleCall",
1818
1818
  "rule": {
1819
- "$ref": "#/rules@59"
1819
+ "$ref": "#/rules@62"
1820
1820
  },
1821
1821
  "arguments": []
1822
1822
  },
1823
1823
  {
1824
1824
  "$type": "RuleCall",
1825
1825
  "rule": {
1826
- "$ref": "#/rules@56"
1826
+ "$ref": "#/rules@59"
1827
1827
  },
1828
1828
  "arguments": []
1829
1829
  },
1830
1830
  {
1831
1831
  "$type": "RuleCall",
1832
1832
  "rule": {
1833
- "$ref": "#/rules@58"
1833
+ "$ref": "#/rules@61"
1834
1834
  },
1835
1835
  "arguments": []
1836
1836
  },
1837
1837
  {
1838
1838
  "$type": "RuleCall",
1839
1839
  "rule": {
1840
- "$ref": "#/rules@61"
1840
+ "$ref": "#/rules@64"
1841
1841
  },
1842
1842
  "arguments": []
1843
1843
  },
1844
1844
  {
1845
1845
  "$type": "RuleCall",
1846
1846
  "rule": {
1847
- "$ref": "#/rules@60"
1847
+ "$ref": "#/rules@63"
1848
1848
  },
1849
1849
  "arguments": []
1850
1850
  },
@@ -1935,7 +1935,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1935
1935
  "terminal": {
1936
1936
  "$type": "RuleCall",
1937
1937
  "rule": {
1938
- "$ref": "#/rules@56"
1938
+ "$ref": "#/rules@59"
1939
1939
  },
1940
1940
  "arguments": []
1941
1941
  }
@@ -1950,7 +1950,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1950
1950
  {
1951
1951
  "$type": "RuleCall",
1952
1952
  "rule": {
1953
- "$ref": "#/rules@51"
1953
+ "$ref": "#/rules@54"
1954
1954
  },
1955
1955
  "arguments": [],
1956
1956
  "cardinality": "*"
@@ -1973,7 +1973,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
1973
1973
  {
1974
1974
  "$type": "RuleCall",
1975
1975
  "rule": {
1976
- "$ref": "#/rules@51"
1976
+ "$ref": "#/rules@54"
1977
1977
  },
1978
1978
  "arguments": [],
1979
1979
  "cardinality": "*"
@@ -2004,7 +2004,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2004
2004
  {
2005
2005
  "$type": "RuleCall",
2006
2006
  "rule": {
2007
- "$ref": "#/rules@51"
2007
+ "$ref": "#/rules@54"
2008
2008
  },
2009
2009
  "arguments": [],
2010
2010
  "cardinality": "*"
@@ -2027,7 +2027,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2027
2027
  {
2028
2028
  "$type": "RuleCall",
2029
2029
  "rule": {
2030
- "$ref": "#/rules@51"
2030
+ "$ref": "#/rules@54"
2031
2031
  },
2032
2032
  "arguments": [],
2033
2033
  "cardinality": "*"
@@ -2052,7 +2052,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2052
2052
  "terminal": {
2053
2053
  "$type": "RuleCall",
2054
2054
  "rule": {
2055
- "$ref": "#/rules@55"
2055
+ "$ref": "#/rules@58"
2056
2056
  },
2057
2057
  "arguments": []
2058
2058
  }
@@ -2217,7 +2217,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2217
2217
  "terminal": {
2218
2218
  "$type": "RuleCall",
2219
2219
  "rule": {
2220
- "$ref": "#/rules@57"
2220
+ "$ref": "#/rules@60"
2221
2221
  },
2222
2222
  "arguments": []
2223
2223
  }
@@ -2239,7 +2239,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2239
2239
  "terminal": {
2240
2240
  "$type": "RuleCall",
2241
2241
  "rule": {
2242
- "$ref": "#/rules@57"
2242
+ "$ref": "#/rules@60"
2243
2243
  },
2244
2244
  "arguments": []
2245
2245
  }
@@ -2255,7 +2255,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2255
2255
  "terminal": {
2256
2256
  "$type": "RuleCall",
2257
2257
  "rule": {
2258
- "$ref": "#/rules@56"
2258
+ "$ref": "#/rules@59"
2259
2259
  },
2260
2260
  "arguments": []
2261
2261
  }
@@ -2271,7 +2271,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2271
2271
  "terminal": {
2272
2272
  "$type": "RuleCall",
2273
2273
  "rule": {
2274
- "$ref": "#/rules@56"
2274
+ "$ref": "#/rules@59"
2275
2275
  },
2276
2276
  "arguments": []
2277
2277
  }
@@ -2287,7 +2287,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2287
2287
  "terminal": {
2288
2288
  "$type": "RuleCall",
2289
2289
  "rule": {
2290
- "$ref": "#/rules@56"
2290
+ "$ref": "#/rules@59"
2291
2291
  },
2292
2292
  "arguments": []
2293
2293
  }
@@ -2306,7 +2306,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2306
2306
  "terminal": {
2307
2307
  "$type": "RuleCall",
2308
2308
  "rule": {
2309
- "$ref": "#/rules@56"
2309
+ "$ref": "#/rules@59"
2310
2310
  },
2311
2311
  "arguments": []
2312
2312
  }
@@ -2341,7 +2341,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2341
2341
  "terminal": {
2342
2342
  "$type": "RuleCall",
2343
2343
  "rule": {
2344
- "$ref": "#/rules@57"
2344
+ "$ref": "#/rules@60"
2345
2345
  },
2346
2346
  "arguments": []
2347
2347
  },
@@ -2361,7 +2361,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2361
2361
  "terminal": {
2362
2362
  "$type": "RuleCall",
2363
2363
  "rule": {
2364
- "$ref": "#/rules@56"
2364
+ "$ref": "#/rules@59"
2365
2365
  },
2366
2366
  "arguments": []
2367
2367
  },
@@ -2484,6 +2484,13 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2484
2484
  "$ref": "#/rules@50"
2485
2485
  },
2486
2486
  "arguments": []
2487
+ },
2488
+ {
2489
+ "$type": "RuleCall",
2490
+ "rule": {
2491
+ "$ref": "#/rules@51"
2492
+ },
2493
+ "arguments": []
2487
2494
  }
2488
2495
  ]
2489
2496
  },
@@ -2508,48 +2515,80 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2508
2515
  "terminal": {
2509
2516
  "$type": "RuleCall",
2510
2517
  "rule": {
2511
- "$ref": "#/rules@57"
2512
- },
2513
- "arguments": []
2514
- }
2515
- },
2516
- {
2517
- "$type": "Keyword",
2518
- "value": "import"
2519
- },
2520
- {
2521
- "$type": "Assignment",
2522
- "feature": "specifiers",
2523
- "operator": "+=",
2524
- "terminal": {
2525
- "$type": "RuleCall",
2526
- "rule": {
2527
- "$ref": "#/rules@48"
2518
+ "$ref": "#/rules@60"
2528
2519
  },
2529
2520
  "arguments": []
2530
2521
  }
2531
2522
  },
2532
2523
  {
2533
- "$type": "Group",
2524
+ "$type": "Alternatives",
2534
2525
  "elements": [
2535
2526
  {
2536
- "$type": "Keyword",
2537
- "value": ","
2527
+ "$type": "Group",
2528
+ "elements": [
2529
+ {
2530
+ "$type": "Keyword",
2531
+ "value": "import"
2532
+ },
2533
+ {
2534
+ "$type": "Assignment",
2535
+ "feature": "specifiers",
2536
+ "operator": "+=",
2537
+ "terminal": {
2538
+ "$type": "RuleCall",
2539
+ "rule": {
2540
+ "$ref": "#/rules@48"
2541
+ },
2542
+ "arguments": []
2543
+ }
2544
+ },
2545
+ {
2546
+ "$type": "Group",
2547
+ "elements": [
2548
+ {
2549
+ "$type": "Keyword",
2550
+ "value": ","
2551
+ },
2552
+ {
2553
+ "$type": "Assignment",
2554
+ "feature": "specifiers",
2555
+ "operator": "+=",
2556
+ "terminal": {
2557
+ "$type": "RuleCall",
2558
+ "rule": {
2559
+ "$ref": "#/rules@48"
2560
+ },
2561
+ "arguments": []
2562
+ }
2563
+ }
2564
+ ],
2565
+ "cardinality": "*"
2566
+ }
2567
+ ]
2538
2568
  },
2539
2569
  {
2540
- "$type": "Assignment",
2541
- "feature": "specifiers",
2542
- "operator": "+=",
2543
- "terminal": {
2544
- "$type": "RuleCall",
2545
- "rule": {
2546
- "$ref": "#/rules@48"
2570
+ "$type": "Group",
2571
+ "elements": [
2572
+ {
2573
+ "$type": "Keyword",
2574
+ "value": "as"
2547
2575
  },
2548
- "arguments": []
2549
- }
2576
+ {
2577
+ "$type": "Assignment",
2578
+ "feature": "alias",
2579
+ "operator": "=",
2580
+ "terminal": {
2581
+ "$type": "RuleCall",
2582
+ "rule": {
2583
+ "$ref": "#/rules@59"
2584
+ },
2585
+ "arguments": []
2586
+ }
2587
+ }
2588
+ ]
2550
2589
  }
2551
2590
  ],
2552
- "cardinality": "*"
2591
+ "cardinality": "?"
2553
2592
  }
2554
2593
  ]
2555
2594
  },
@@ -2575,7 +2614,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2575
2614
  "terminal": {
2576
2615
  "$type": "RuleCall",
2577
2616
  "rule": {
2578
- "$ref": "#/rules@56"
2617
+ "$ref": "#/rules@59"
2579
2618
  },
2580
2619
  "arguments": []
2581
2620
  },
@@ -2597,7 +2636,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2597
2636
  "terminal": {
2598
2637
  "$type": "RuleCall",
2599
2638
  "rule": {
2600
- "$ref": "#/rules@56"
2639
+ "$ref": "#/rules@59"
2601
2640
  },
2602
2641
  "arguments": []
2603
2642
  }
@@ -2628,7 +2667,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2628
2667
  "terminal": {
2629
2668
  "$type": "RuleCall",
2630
2669
  "rule": {
2631
- "$ref": "#/rules@57"
2670
+ "$ref": "#/rules@60"
2632
2671
  },
2633
2672
  "arguments": []
2634
2673
  }
@@ -2647,7 +2686,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2647
2686
  "terminal": {
2648
2687
  "$type": "RuleCall",
2649
2688
  "rule": {
2650
- "$ref": "#/rules@56"
2689
+ "$ref": "#/rules@59"
2651
2690
  },
2652
2691
  "arguments": []
2653
2692
  }
@@ -2678,7 +2717,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2678
2717
  "terminal": {
2679
2718
  "$type": "RuleCall",
2680
2719
  "rule": {
2681
- "$ref": "#/rules@57"
2720
+ "$ref": "#/rules@60"
2682
2721
  },
2683
2722
  "arguments": []
2684
2723
  }
@@ -2694,7 +2733,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2694
2733
  "terminal": {
2695
2734
  "$type": "RuleCall",
2696
2735
  "rule": {
2697
- "$ref": "#/rules@56"
2736
+ "$ref": "#/rules@59"
2698
2737
  },
2699
2738
  "arguments": []
2700
2739
  }
@@ -2715,7 +2754,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2715
2754
  "terminal": {
2716
2755
  "$type": "RuleCall",
2717
2756
  "rule": {
2718
- "$ref": "#/rules@56"
2757
+ "$ref": "#/rules@59"
2719
2758
  },
2720
2759
  "arguments": []
2721
2760
  },
@@ -2737,7 +2776,7 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2737
2776
  "terminal": {
2738
2777
  "$type": "RuleCall",
2739
2778
  "rule": {
2740
- "$ref": "#/rules@56"
2779
+ "$ref": "#/rules@59"
2741
2780
  },
2742
2781
  "arguments": []
2743
2782
  }
@@ -2751,6 +2790,222 @@ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar =
2751
2790
  "fragment": false,
2752
2791
  "parameters": []
2753
2792
  },
2793
+ {
2794
+ "$type": "ParserRule",
2795
+ "name": "InvalidFromImport",
2796
+ "definition": {
2797
+ "$type": "Group",
2798
+ "elements": [
2799
+ {
2800
+ "$type": "Keyword",
2801
+ "value": "from"
2802
+ },
2803
+ {
2804
+ "$type": "Assignment",
2805
+ "feature": "head",
2806
+ "operator": "=",
2807
+ "terminal": {
2808
+ "$type": "RuleCall",
2809
+ "rule": {
2810
+ "$ref": "#/rules@52"
2811
+ },
2812
+ "arguments": []
2813
+ }
2814
+ },
2815
+ {
2816
+ "$type": "Assignment",
2817
+ "feature": "tokens",
2818
+ "operator": "+=",
2819
+ "terminal": {
2820
+ "$type": "RuleCall",
2821
+ "rule": {
2822
+ "$ref": "#/rules@53"
2823
+ },
2824
+ "arguments": []
2825
+ },
2826
+ "cardinality": "*"
2827
+ }
2828
+ ]
2829
+ },
2830
+ "entry": false,
2831
+ "fragment": false,
2832
+ "parameters": []
2833
+ },
2834
+ {
2835
+ "$type": "ParserRule",
2836
+ "name": "InvalidImportHeadToken",
2837
+ "dataType": "string",
2838
+ "definition": {
2839
+ "$type": "Alternatives",
2840
+ "elements": [
2841
+ {
2842
+ "$type": "RuleCall",
2843
+ "rule": {
2844
+ "$ref": "#/rules@59"
2845
+ },
2846
+ "arguments": []
2847
+ },
2848
+ {
2849
+ "$type": "RuleCall",
2850
+ "rule": {
2851
+ "$ref": "#/rules@62"
2852
+ },
2853
+ "arguments": []
2854
+ },
2855
+ {
2856
+ "$type": "RuleCall",
2857
+ "rule": {
2858
+ "$ref": "#/rules@61"
2859
+ },
2860
+ "arguments": []
2861
+ },
2862
+ {
2863
+ "$type": "RuleCall",
2864
+ "rule": {
2865
+ "$ref": "#/rules@63"
2866
+ },
2867
+ "arguments": []
2868
+ },
2869
+ {
2870
+ "$type": "RuleCall",
2871
+ "rule": {
2872
+ "$ref": "#/rules@17"
2873
+ },
2874
+ "arguments": []
2875
+ },
2876
+ {
2877
+ "$type": "Keyword",
2878
+ "value": "("
2879
+ },
2880
+ {
2881
+ "$type": "Keyword",
2882
+ "value": ")"
2883
+ },
2884
+ {
2885
+ "$type": "Keyword",
2886
+ "value": "|"
2887
+ },
2888
+ {
2889
+ "$type": "Keyword",
2890
+ "value": "as"
2891
+ },
2892
+ {
2893
+ "$type": "Keyword",
2894
+ "value": "import"
2895
+ },
2896
+ {
2897
+ "$type": "Keyword",
2898
+ "value": "from"
2899
+ },
2900
+ {
2901
+ "$type": "Keyword",
2902
+ "value": "\`"
2903
+ },
2904
+ {
2905
+ "$type": "Keyword",
2906
+ "value": "["
2907
+ },
2908
+ {
2909
+ "$type": "Keyword",
2910
+ "value": "]"
2911
+ }
2912
+ ]
2913
+ },
2914
+ "entry": false,
2915
+ "fragment": false,
2916
+ "parameters": []
2917
+ },
2918
+ {
2919
+ "$type": "ParserRule",
2920
+ "name": "InvalidImportToken",
2921
+ "dataType": "string",
2922
+ "definition": {
2923
+ "$type": "Alternatives",
2924
+ "elements": [
2925
+ {
2926
+ "$type": "RuleCall",
2927
+ "rule": {
2928
+ "$ref": "#/rules@59"
2929
+ },
2930
+ "arguments": []
2931
+ },
2932
+ {
2933
+ "$type": "RuleCall",
2934
+ "rule": {
2935
+ "$ref": "#/rules@60"
2936
+ },
2937
+ "arguments": []
2938
+ },
2939
+ {
2940
+ "$type": "RuleCall",
2941
+ "rule": {
2942
+ "$ref": "#/rules@62"
2943
+ },
2944
+ "arguments": []
2945
+ },
2946
+ {
2947
+ "$type": "RuleCall",
2948
+ "rule": {
2949
+ "$ref": "#/rules@61"
2950
+ },
2951
+ "arguments": []
2952
+ },
2953
+ {
2954
+ "$type": "RuleCall",
2955
+ "rule": {
2956
+ "$ref": "#/rules@63"
2957
+ },
2958
+ "arguments": []
2959
+ },
2960
+ {
2961
+ "$type": "RuleCall",
2962
+ "rule": {
2963
+ "$ref": "#/rules@17"
2964
+ },
2965
+ "arguments": []
2966
+ },
2967
+ {
2968
+ "$type": "Keyword",
2969
+ "value": "("
2970
+ },
2971
+ {
2972
+ "$type": "Keyword",
2973
+ "value": ")"
2974
+ },
2975
+ {
2976
+ "$type": "Keyword",
2977
+ "value": "|"
2978
+ },
2979
+ {
2980
+ "$type": "Keyword",
2981
+ "value": "as"
2982
+ },
2983
+ {
2984
+ "$type": "Keyword",
2985
+ "value": "import"
2986
+ },
2987
+ {
2988
+ "$type": "Keyword",
2989
+ "value": "from"
2990
+ },
2991
+ {
2992
+ "$type": "Keyword",
2993
+ "value": "\`"
2994
+ },
2995
+ {
2996
+ "$type": "Keyword",
2997
+ "value": "["
2998
+ },
2999
+ {
3000
+ "$type": "Keyword",
3001
+ "value": "]"
3002
+ }
3003
+ ]
3004
+ },
3005
+ "entry": false,
3006
+ "fragment": false,
3007
+ "parameters": []
3008
+ },
2754
3009
  {
2755
3010
  "$type": "TerminalRule",
2756
3011
  "name": "NL",