cariboujs 2.0.4 → 2.0.6

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 (109) hide show
  1. package/README.md +13 -3
  2. package/ada/ada2012/AdaLexer.js +486 -316
  3. package/ada/ada2012/AdaLexerBase.js +25 -0
  4. package/ada/ada2012/AdaParser.js +4547 -3823
  5. package/ada/ada2012/AdaParserBase.js +682 -0
  6. package/ada/ada2012/AdaParserListener.js +36 -0
  7. package/ada/ada2012/AdaParserVisitor.js +24 -0
  8. package/ada/ada2012/Symbol.js +20 -0
  9. package/ada/ada2012/SymbolTable.js +144 -0
  10. package/ada/ada2012/TypeClassification.js +15 -0
  11. package/ada/ada2022/AdaLexer.js +699 -0
  12. package/ada/ada2022/AdaLexerBase.js +25 -0
  13. package/ada/ada2022/AdaParser.js +37818 -0
  14. package/ada/ada2022/AdaParserBase.js +686 -0
  15. package/ada/ada2022/AdaParserListener.js +3024 -0
  16. package/ada/ada2022/AdaParserVisitor.js +2020 -0
  17. package/ada/ada2022/Symbol.js +20 -0
  18. package/ada/ada2022/SymbolTable.js +144 -0
  19. package/ada/ada2022/TypeClassification.js +15 -0
  20. package/c/CLexer.js +918 -0
  21. package/c/CLexerBase.js +96 -0
  22. package/c/CParser.js +14878 -0
  23. package/c/CParserBase.js +617 -0
  24. package/c/CParserListener.js +1062 -0
  25. package/c/CParserVisitor.js +712 -0
  26. package/c/ErrorListener.js +50 -0
  27. package/c/Symbol.js +28 -0
  28. package/c/SymbolTable.js +220 -0
  29. package/c/TypeClassification.js +21 -0
  30. package/cpp/CPP14Parser.js +630 -619
  31. package/cpp/CPP14ParserListener.js +56 -56
  32. package/cpp/CPP14ParserVisitor.js +28 -28
  33. package/csharp/v7/CSharpLexer.js +1339 -0
  34. package/csharp/v7/CSharpLexerBase.js +332 -0
  35. package/csharp/v7/CSharpParser.js +29239 -0
  36. package/csharp/v7/CSharpParserBase.js +48 -0
  37. package/csharp/v7/CSharpParserListener.js +2304 -0
  38. package/csharp/v7/CSharpParserVisitor.js +1540 -0
  39. package/csharp/v8-spec/CSharpLexer.js +1549 -0
  40. package/csharp/v8-spec/CSharpLexerBase.js +296 -0
  41. package/csharp/v8-spec/CSharpParser.js +45055 -0
  42. package/csharp/v8-spec/CSharpParserBase.js +587 -0
  43. package/csharp/v8-spec/CSharpParserListener.js +3582 -0
  44. package/csharp/v8-spec/CSharpParserVisitor.js +2392 -0
  45. package/cypher/CypherParser.js +1171 -780
  46. package/cypher/CypherParserListener.js +27 -0
  47. package/cypher/CypherParserVisitor.js +18 -0
  48. package/geekcode/geekcodeLexer.js +232 -0
  49. package/geekcode/geekcodeListener.js +81 -0
  50. package/geekcode/geekcodeParser.js +1516 -0
  51. package/geekcode/geekcodeVisitor.js +58 -0
  52. package/gql/GQLLexer.js +2203 -0
  53. package/gql/GQLListener.js +5499 -0
  54. package/gql/GQLParser.js +58653 -0
  55. package/gql/GQLVisitor.js +3670 -0
  56. package/kotlin/kotlin/KotlinLexer.js +1257 -1247
  57. package/kotlin/kotlin/KotlinParser.js +3991 -3425
  58. package/kotlin/kotlin/KotlinParserListener.js +36 -0
  59. package/kotlin/kotlin/KotlinParserVisitor.js +24 -0
  60. package/maml/MAMLLexer.js +116 -0
  61. package/maml/MAMLListener.js +72 -0
  62. package/maml/MAMLParser.js +935 -0
  63. package/maml/MAMLVisitor.js +52 -0
  64. package/odin/odinLexer.js +739 -0
  65. package/odin/odinListener.js +882 -0
  66. package/odin/odinParser.js +12189 -0
  67. package/odin/odinVisitor.js +592 -0
  68. package/package.json +1 -1
  69. package/plantUML/PlantUMLLexer.js +215 -316
  70. package/plantUML/PlantUMLParser.js +1045 -2393
  71. package/plantUML/PlantUMLParserListener.js +171 -0
  72. package/plantUML/PlantUMLParserVisitor.js +118 -0
  73. package/sql/mysql/Oracle/MySQLLexer.js +3689 -3668
  74. package/sql/mysql/Oracle/MySQLParser.js +4383 -4399
  75. package/sql/plsql/PlSqlLexer.js +13604 -13587
  76. package/sql/plsql/PlSqlParser.js +51622 -64188
  77. package/sql/plsql/PlSqlParserBase.js +30 -0
  78. package/sql/plsql/PlSqlParserListener.js +36 -9
  79. package/sql/plsql/PlSqlParserVisitor.js +24 -6
  80. package/sql/postgresql/PostgreSQLParser.js +91 -91
  81. package/sql/snowflake/SnowflakeLexer.js +5675 -5497
  82. package/sql/snowflake/SnowflakeParser.js +27252 -22655
  83. package/sql/snowflake/SnowflakeParserListener.js +278 -8
  84. package/sql/snowflake/SnowflakeParserVisitor.js +184 -4
  85. package/sql/sqlite/SQLiteParser.js +2638 -2301
  86. package/sql/sqlite/SQLiteParserListener.js +9 -9
  87. package/sql/sqlite/SQLiteParserVisitor.js +6 -6
  88. package/sysml-v2/SysMLv2Lexer.js +1047 -0
  89. package/sysml-v2/SysMLv2Parser.js +51339 -0
  90. package/sysml-v2/SysMLv2ParserListener.js +4464 -0
  91. package/sysml-v2/SysMLv2ParserVisitor.js +2980 -0
  92. package/turtle/TURTLELexer.js +155 -156
  93. package/vba/vba7_1/vbaLexer.js +1689 -0
  94. package/vba/vba7_1/vbaParser.js +42797 -0
  95. package/vba/vba7_1/vbaParserListener.js +3267 -0
  96. package/vba/vba7_1/vbaParserVisitor.js +2182 -0
  97. package/vhdl/vhdl2008/vhdl2008Listener.js +9 -0
  98. package/vhdl/vhdl2008/vhdl2008Parser.js +2840 -2705
  99. package/vhdl/vhdl2008/vhdl2008Visitor.js +6 -0
  100. package/wkt/wktLexer.js +177 -148
  101. package/wkt/wktListener.js +123 -60
  102. package/wkt/wktParser.js +1802 -1125
  103. package/wkt/wktVisitor.js +72 -30
  104. package/plantUML/PlantUMLListener.js +0 -279
  105. package/plantUML/PlantUMLVisitor.js +0 -190
  106. /package/scala/{ScalaLexer.js → scala2/ScalaLexer.js} +0 -0
  107. /package/scala/{ScalaListener.js → scala2/ScalaListener.js} +0 -0
  108. /package/scala/{ScalaParser.js → scala2/ScalaParser.js} +0 -0
  109. /package/scala/{ScalaVisitor.js → scala2/ScalaVisitor.js} +0 -0
@@ -878,6 +878,15 @@ export default class AdaParserListener extends antlr4.tree.ParseTreeListener {
878
878
  }
879
879
 
880
880
 
881
+ // Enter a parse tree produced by AdaParser#choice_simple_expression.
882
+ enterChoice_simple_expression(ctx) {
883
+ }
884
+
885
+ // Exit a parse tree produced by AdaParser#choice_simple_expression.
886
+ exitChoice_simple_expression(ctx) {
887
+ }
888
+
889
+
881
890
  // Enter a parse tree produced by AdaParser#term.
882
891
  enterTerm(ctx) {
883
892
  }
@@ -968,6 +977,15 @@ export default class AdaParserListener extends antlr4.tree.ParseTreeListener {
968
977
  }
969
978
 
970
979
 
980
+ // Enter a parse tree produced by AdaParser#raise_expression.
981
+ enterRaise_expression(ctx) {
982
+ }
983
+
984
+ // Exit a parse tree produced by AdaParser#raise_expression.
985
+ exitRaise_expression(ctx) {
986
+ }
987
+
988
+
971
989
  // Enter a parse tree produced by AdaParser#if_expression.
972
990
  enterIf_expression(ctx) {
973
991
  }
@@ -2606,5 +2624,23 @@ export default class AdaParserListener extends antlr4.tree.ParseTreeListener {
2606
2624
  }
2607
2625
 
2608
2626
 
2627
+ // Enter a parse tree produced by AdaParser#pragmaRule.
2628
+ enterPragmaRule(ctx) {
2629
+ }
2630
+
2631
+ // Exit a parse tree produced by AdaParser#pragmaRule.
2632
+ exitPragmaRule(ctx) {
2633
+ }
2634
+
2635
+
2636
+ // Enter a parse tree produced by AdaParser#pragma_argument_association.
2637
+ enterPragma_argument_association(ctx) {
2638
+ }
2639
+
2640
+ // Exit a parse tree produced by AdaParser#pragma_argument_association.
2641
+ exitPragma_argument_association(ctx) {
2642
+ }
2643
+
2644
+
2609
2645
 
2610
2646
  }
@@ -588,6 +588,12 @@ export default class AdaParserVisitor extends antlr4.tree.ParseTreeVisitor {
588
588
  }
589
589
 
590
590
 
591
+ // Visit a parse tree produced by AdaParser#choice_simple_expression.
592
+ visitChoice_simple_expression(ctx) {
593
+ return this.visitChildren(ctx);
594
+ }
595
+
596
+
591
597
  // Visit a parse tree produced by AdaParser#term.
592
598
  visitTerm(ctx) {
593
599
  return this.visitChildren(ctx);
@@ -648,6 +654,12 @@ export default class AdaParserVisitor extends antlr4.tree.ParseTreeVisitor {
648
654
  }
649
655
 
650
656
 
657
+ // Visit a parse tree produced by AdaParser#raise_expression.
658
+ visitRaise_expression(ctx) {
659
+ return this.visitChildren(ctx);
660
+ }
661
+
662
+
651
663
  // Visit a parse tree produced by AdaParser#if_expression.
652
664
  visitIf_expression(ctx) {
653
665
  return this.visitChildren(ctx);
@@ -1740,5 +1752,17 @@ export default class AdaParserVisitor extends antlr4.tree.ParseTreeVisitor {
1740
1752
  }
1741
1753
 
1742
1754
 
1755
+ // Visit a parse tree produced by AdaParser#pragmaRule.
1756
+ visitPragmaRule(ctx) {
1757
+ return this.visitChildren(ctx);
1758
+ }
1759
+
1760
+
1761
+ // Visit a parse tree produced by AdaParser#pragma_argument_association.
1762
+ visitPragma_argument_association(ctx) {
1763
+ return this.visitChildren(ctx);
1764
+ }
1765
+
1766
+
1743
1767
 
1744
1768
  }
@@ -0,0 +1,20 @@
1
+ export default class Symbol {
2
+ constructor() {
3
+ this.name = "";
4
+ this.classification = new Set();
5
+ this.members = new Map();
6
+ this.parent = null;
7
+ this.predefined = false;
8
+ this.isComposite = false;
9
+ this.definedFile = "";
10
+ this.definedLine = 0;
11
+ this.definedColumn = 0;
12
+ }
13
+ toString() {
14
+ let result = this.name;
15
+ result += " (with classification " + Array.from(this.classification).join(", ") + ")";
16
+ if (this.isComposite) result += " [composite]";
17
+ if (this.definedFile) result += " defined at " + this.definedFile + ":" + this.definedLine + ":" + this.definedColumn;
18
+ return result;
19
+ }
20
+ }
@@ -0,0 +1,144 @@
1
+ import Symbol from './Symbol.js';
2
+ import TypeClassification from './TypeClassification.js';
3
+
4
+ export default class SymbolTable {
5
+ constructor() {
6
+ this.scopeStack = [];
7
+ this.blockCounter = 0;
8
+
9
+ var globalScope = new Symbol();
10
+ globalScope.name = "global";
11
+ globalScope.classification = new Set([TypeClassification.Global_]);
12
+ this.scopeStack.push(globalScope);
13
+
14
+ // Predefined scalar types
15
+ this._defineType("integer", false);
16
+ this._defineType("natural", false);
17
+ this._defineType("positive", false);
18
+ this._defineType("float", false);
19
+ this._defineType("long_float", false);
20
+ this._defineType("character", false);
21
+ this._defineType("wide_character", false);
22
+ this._defineType("wide_wide_character", false);
23
+ this._defineType("boolean", false);
24
+ this._defineType("duration", false);
25
+
26
+ // Predefined composite types
27
+ this._defineType("string", true);
28
+ this._defineType("wide_string", true);
29
+ this._defineType("wide_wide_string", true);
30
+
31
+ // Predefined exceptions
32
+ this._definePredefined("constraint_error", TypeClassification.ExceptionName_);
33
+ this._definePredefined("program_error", TypeClassification.ExceptionName_);
34
+ this._definePredefined("storage_error", TypeClassification.ExceptionName_);
35
+ this._definePredefined("tasking_error", TypeClassification.ExceptionName_);
36
+ this._definePredefined("numeric_error", TypeClassification.ExceptionName_);
37
+
38
+ // Predefined enumeration literals
39
+ this._definePredefined("true", TypeClassification.EnumerationLiteral_);
40
+ this._definePredefined("false", TypeClassification.EnumerationLiteral_);
41
+ }
42
+
43
+ _defineType(name, isComposite) {
44
+ var sym = new Symbol();
45
+ sym.name = name;
46
+ sym.classification = new Set([TypeClassification.TypeName_]);
47
+ sym.predefined = true;
48
+ sym.isComposite = isComposite;
49
+ this.define(sym);
50
+ }
51
+
52
+ _definePredefined(name, classification) {
53
+ var sym = new Symbol();
54
+ sym.name = name;
55
+ sym.classification = new Set([classification]);
56
+ sym.predefined = true;
57
+ this.define(sym);
58
+ }
59
+
60
+ currentScope() {
61
+ if (this.scopeStack.length === 0) return null;
62
+ return this.scopeStack[this.scopeStack.length - 1];
63
+ }
64
+
65
+ define(symbol) {
66
+ var currentScope = this.currentScope();
67
+ if (currentScope === null) return false;
68
+ // Case-insensitive: normalize name to lowercase
69
+ symbol.name = symbol.name.toLowerCase();
70
+ if (currentScope.members.has(symbol.name)) {
71
+ return false;
72
+ }
73
+ symbol.parent = currentScope;
74
+ currentScope.members.set(symbol.name, symbol);
75
+ return true;
76
+ }
77
+
78
+ resolve(name) {
79
+ // Case-insensitive: normalize to lowercase
80
+ name = name.toLowerCase();
81
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
82
+ var scope = this.scopeStack[i];
83
+ if (scope.members.has(name)) {
84
+ return scope.members.get(name);
85
+ }
86
+ }
87
+ return null;
88
+ }
89
+
90
+ pushBlockScope() {
91
+ var blockScope = new Symbol();
92
+ blockScope.name = "block" + (++this.blockCounter);
93
+ blockScope.classification = new Set([TypeClassification.Block_]);
94
+ blockScope.predefined = true;
95
+ var current = this.currentScope();
96
+ if (current !== null && blockScope !== current) {
97
+ this.scopeStack.push(blockScope);
98
+ }
99
+ return blockScope;
100
+ }
101
+
102
+ popBlockScope() {
103
+ if (this.scopeStack.length <= 1) {
104
+ throw new Error("SymbolTable: scope stack underflow");
105
+ }
106
+ this.scopeStack.pop();
107
+ }
108
+
109
+ getExportedSymbols() {
110
+ var result = [];
111
+ if (this.scopeStack.length === 0) return result;
112
+ var global = this.scopeStack[0]; // bottom of stack = global scope
113
+ for (var [key, sym] of global.members) {
114
+ if (!sym.predefined) {
115
+ result.push(sym);
116
+ }
117
+ }
118
+ return result;
119
+ }
120
+
121
+ toString() {
122
+ var result = "";
123
+ if (this.scopeStack.length > 0) {
124
+ result = this._toStringHelper(this.scopeStack[0], 0);
125
+ }
126
+ return result;
127
+ }
128
+
129
+ _toStringHelper(scope, depth) {
130
+ var result = "";
131
+ var indent = " ".repeat(depth);
132
+ for (var [key, sym] of scope.members) {
133
+ if (!sym.predefined) {
134
+ result += indent + sym.toString() + "\n";
135
+ }
136
+ if (sym.classification.has(TypeClassification.Block_) ||
137
+ sym.classification.has(TypeClassification.SubprogramName_) ||
138
+ sym.classification.has(TypeClassification.PackageName_)) {
139
+ result += this._toStringHelper(sym, depth + 1);
140
+ }
141
+ }
142
+ return result;
143
+ }
144
+ }
@@ -0,0 +1,15 @@
1
+ const TypeClassification = Object.freeze({
2
+ Global_: 'Global_',
3
+ Block_: 'Block_',
4
+ TypeName_: 'TypeName_',
5
+ ObjectName_: 'ObjectName_',
6
+ SubprogramName_: 'SubprogramName_',
7
+ PackageName_: 'PackageName_',
8
+ ExceptionName_: 'ExceptionName_',
9
+ GenericName_: 'GenericName_',
10
+ EnumerationLiteral_: 'EnumerationLiteral_',
11
+ ComponentName_: 'ComponentName_',
12
+ LabelName_: 'LabelName_',
13
+ });
14
+
15
+ export default TypeClassification;