@guardian-network/policy-dsl 0.3.2

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 (121) hide show
  1. package/README.md +82 -0
  2. package/dist/antlr/generated/grammar/LacLangLexer.d.ts +53 -0
  3. package/dist/antlr/generated/grammar/LacLangLexer.d.ts.map +1 -0
  4. package/dist/antlr/generated/grammar/LacLangLexer.js +322 -0
  5. package/dist/antlr/generated/grammar/LacLangLexer.js.map +1 -0
  6. package/dist/antlr/generated/grammar/LacLangListener.d.ts +39 -0
  7. package/dist/antlr/generated/grammar/LacLangListener.d.ts.map +1 -0
  8. package/dist/antlr/generated/grammar/LacLangListener.js +3 -0
  9. package/dist/antlr/generated/grammar/LacLangListener.js.map +1 -0
  10. package/dist/antlr/generated/grammar/LacLangParser.d.ts +231 -0
  11. package/dist/antlr/generated/grammar/LacLangParser.d.ts.map +1 -0
  12. package/dist/antlr/generated/grammar/LacLangParser.js +1399 -0
  13. package/dist/antlr/generated/grammar/LacLangParser.js.map +1 -0
  14. package/dist/antlr/index.d.ts +4 -0
  15. package/dist/antlr/index.d.ts.map +1 -0
  16. package/dist/antlr/index.js +20 -0
  17. package/dist/antlr/index.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +23 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/ir-generation/hashing.helper.d.ts +3 -0
  23. package/dist/ir-generation/hashing.helper.d.ts.map +1 -0
  24. package/dist/ir-generation/hashing.helper.js +12 -0
  25. package/dist/ir-generation/hashing.helper.js.map +1 -0
  26. package/dist/ir-generation/index.d.ts +3 -0
  27. package/dist/ir-generation/index.d.ts.map +1 -0
  28. package/dist/ir-generation/index.js +19 -0
  29. package/dist/ir-generation/index.js.map +1 -0
  30. package/dist/ir-generation/parsed-state-to-ir.transformer.d.ts +11 -0
  31. package/dist/ir-generation/parsed-state-to-ir.transformer.d.ts.map +1 -0
  32. package/dist/ir-generation/parsed-state-to-ir.transformer.js +30 -0
  33. package/dist/ir-generation/parsed-state-to-ir.transformer.js.map +1 -0
  34. package/dist/transpiler/Transpiler.d.ts +17 -0
  35. package/dist/transpiler/Transpiler.d.ts.map +1 -0
  36. package/dist/transpiler/Transpiler.js +43 -0
  37. package/dist/transpiler/Transpiler.js.map +1 -0
  38. package/dist/transpiler/errors/ErrorFactory.d.ts +22 -0
  39. package/dist/transpiler/errors/ErrorFactory.d.ts.map +1 -0
  40. package/dist/transpiler/errors/ErrorFactory.js +62 -0
  41. package/dist/transpiler/errors/ErrorFactory.js.map +1 -0
  42. package/dist/transpiler/errors/helpers.d.ts +3 -0
  43. package/dist/transpiler/errors/helpers.d.ts.map +1 -0
  44. package/dist/transpiler/errors/helpers.js +6 -0
  45. package/dist/transpiler/errors/helpers.js.map +1 -0
  46. package/dist/transpiler/errors/index.d.ts +2 -0
  47. package/dist/transpiler/errors/index.d.ts.map +1 -0
  48. package/dist/transpiler/errors/index.js +18 -0
  49. package/dist/transpiler/errors/index.js.map +1 -0
  50. package/dist/transpiler/errors/validation-errors.d.ts +57 -0
  51. package/dist/transpiler/errors/validation-errors.d.ts.map +1 -0
  52. package/dist/transpiler/errors/validation-errors.js +132 -0
  53. package/dist/transpiler/errors/validation-errors.js.map +1 -0
  54. package/dist/transpiler/helpers/formatter.d.ts +10 -0
  55. package/dist/transpiler/helpers/formatter.d.ts.map +1 -0
  56. package/dist/transpiler/helpers/formatter.js +140 -0
  57. package/dist/transpiler/helpers/formatter.js.map +1 -0
  58. package/dist/transpiler/helpers/index.d.ts +5 -0
  59. package/dist/transpiler/helpers/index.d.ts.map +1 -0
  60. package/dist/transpiler/helpers/index.js +21 -0
  61. package/dist/transpiler/helpers/index.js.map +1 -0
  62. package/dist/transpiler/helpers/resources.helper.d.ts +4 -0
  63. package/dist/transpiler/helpers/resources.helper.d.ts.map +1 -0
  64. package/dist/transpiler/helpers/resources.helper.js +50 -0
  65. package/dist/transpiler/helpers/resources.helper.js.map +1 -0
  66. package/dist/transpiler/helpers/types.d.ts +12 -0
  67. package/dist/transpiler/helpers/types.d.ts.map +1 -0
  68. package/dist/transpiler/helpers/types.js +3 -0
  69. package/dist/transpiler/helpers/types.js.map +1 -0
  70. package/dist/transpiler/helpers/validations.helper.d.ts +8 -0
  71. package/dist/transpiler/helpers/validations.helper.d.ts.map +1 -0
  72. package/dist/transpiler/helpers/validations.helper.js +41 -0
  73. package/dist/transpiler/helpers/validations.helper.js.map +1 -0
  74. package/dist/transpiler/index.d.ts +3 -0
  75. package/dist/transpiler/index.d.ts.map +1 -0
  76. package/dist/transpiler/index.js +21 -0
  77. package/dist/transpiler/index.js.map +1 -0
  78. package/dist/transpiler/listener.d.ts +17 -0
  79. package/dist/transpiler/listener.d.ts.map +1 -0
  80. package/dist/transpiler/listener.js +94 -0
  81. package/dist/transpiler/listener.js.map +1 -0
  82. package/dist/transpiler/state/LatentState.d.ts +30 -0
  83. package/dist/transpiler/state/LatentState.d.ts.map +1 -0
  84. package/dist/transpiler/state/LatentState.js +130 -0
  85. package/dist/transpiler/state/LatentState.js.map +1 -0
  86. package/dist/transpiler/state/index.d.ts +3 -0
  87. package/dist/transpiler/state/index.d.ts.map +1 -0
  88. package/dist/transpiler/state/index.js +19 -0
  89. package/dist/transpiler/state/index.js.map +1 -0
  90. package/dist/transpiler/state/types.d.ts +42 -0
  91. package/dist/transpiler/state/types.d.ts.map +1 -0
  92. package/dist/transpiler/state/types.js +3 -0
  93. package/dist/transpiler/state/types.js.map +1 -0
  94. package/package.json +79 -0
  95. package/src/antlr/generated/grammar/LacLang.interp +88 -0
  96. package/src/antlr/generated/grammar/LacLang.tokens +52 -0
  97. package/src/antlr/generated/grammar/LacLangLexer.interp +108 -0
  98. package/src/antlr/generated/grammar/LacLangLexer.tokens +52 -0
  99. package/src/antlr/generated/grammar/LacLangLexer.ts +331 -0
  100. package/src/antlr/generated/grammar/LacLangListener.ts +216 -0
  101. package/src/antlr/generated/grammar/LacLangParser.ts +1484 -0
  102. package/src/antlr/index.ts +3 -0
  103. package/src/index.ts +3 -0
  104. package/src/ir-generation/hashing.helper.ts +13 -0
  105. package/src/ir-generation/index.ts +2 -0
  106. package/src/ir-generation/parsed-state-to-ir.transformer.ts +50 -0
  107. package/src/transpiler/Transpiler.ts +58 -0
  108. package/src/transpiler/errors/ErrorFactory.ts +130 -0
  109. package/src/transpiler/errors/helpers.ts +4 -0
  110. package/src/transpiler/errors/index.ts +1 -0
  111. package/src/transpiler/errors/validation-errors.ts +157 -0
  112. package/src/transpiler/helpers/formatter.ts +173 -0
  113. package/src/transpiler/helpers/index.ts +4 -0
  114. package/src/transpiler/helpers/resources.helper.ts +83 -0
  115. package/src/transpiler/helpers/types.ts +23 -0
  116. package/src/transpiler/helpers/validations.helper.ts +69 -0
  117. package/src/transpiler/index.ts +2 -0
  118. package/src/transpiler/listener.ts +180 -0
  119. package/src/transpiler/state/LatentState.ts +202 -0
  120. package/src/transpiler/state/index.ts +2 -0
  121. package/src/transpiler/state/types.ts +50 -0
package/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # Policy definition DSL translator (LacLang)
2
+ The DSL is used to define policy structure and translate it to intermediate representation, that will further be translated into actual policy configuration for onchain initialization.
3
+ The DSL is high-level markup language without expressions, with imports, declarations and compiler directives.
4
+ The syntax is simple yet versatile, so anyone can combine artifacts into policies almost intuitively.
5
+
6
+ #### Data types
7
+ There are 5 data types, which are mapped 1 to 1 with solidity data types.
8
+ The bytes can hold any encoded type as a workaround for absent types (like arrays).
9
+
10
+ `bool `:= true | false (↦ `bool`)
11
+
12
+ `string` := "any string" (↦ `string`)
13
+
14
+ `bytes` := 'bytes with 0x prefix' (↦ `bytes`)
15
+
16
+ `address` := address with 0x prefix (↦ `address`)
17
+
18
+ `number` := any unsigned decimal number fitting uint256 (↦ `uint256`)
19
+
20
+ #### Declarations
21
+ Values can be declared as constans and variables. Constants must be initialized right away.
22
+
23
+ `constant` - declares constant
24
+ > `constant bytes = '0xdeadbeef';`
25
+
26
+  
27
+ `var` - declares variable (variables must not be initialized!) (`var address proxyAddress;`)
28
+ Variables can be **injected** - meaning their value is meant to be replaced with the value of a corresponding attribute on some kind of an interceptor (*e.g. backend*).
29
+ Then the `inject("<name_of_the_attribute>")` syntax must be used.
30
+ > `var inject("IS_PRODUCTION") bool mutateState;`
31
+
32
+ &nbsp;
33
+ `artifact` - declares artifact via its address literal (no reference yet)
34
+ > `artifact dayOrNight = 0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5`
35
+
36
+ &nbsp;
37
+ `instance <return type> * of <artifact> takes ([<constants, vars, instances>]) /*OPTIONAL:*/ with ([<constants>]);` - declares instance, that implements artifact (can be literal or artifact reference), that consumes `takes...` in `exec` and `with...` in `init`.
38
+ If no `with` clause used, the instance considered stateless (`init` method will not be dispatched).
39
+
40
+ > `instance bytes codedImage of imageCoder takes (imageInBmp, resolutionInstanceOutput) with (codec);`
41
+
42
+ #### Statements:
43
+ `import <path>` - prepends `.lac` code found under `<path>` to the current source file. Must be used in the very beginning of the file if used at all.
44
+
45
+ &nbsp;
46
+ `pragma <directive>` - compiler directive. Used right after `import` statement.
47
+ Available directives:
48
+ - `injected-only`
49
+ Forces the compiler to allow only `injected` variables.
50
+
51
+ &nbsp;
52
+ `evaluate <instance name that returns bool>` - defines the root of the policy = boolean! instance that will return as a policy evaluation result `evaluate finalInstance;`
53
+
54
+ &nbsp;
55
+ **All constuctions end with semicolon ; \
56
+ Pay allention to quotes \
57
+ Only boolean artifact can be evaluated \
58
+ Only single string comments using //**
59
+
60
+
61
+ Valid example:
62
+
63
+ ```
64
+ import "./header.lac";
65
+ import "./lib.lac";
66
+
67
+ pragma injected-only;
68
+
69
+ var inject("is_dev") bool boolVar;
70
+ // var bytes spare;
71
+
72
+ constant number init1 = 0;
73
+
74
+ artifact art2 = 0xB60B02062d1256A79C81A061a9277e84ffbB0Ff7; // random
75
+
76
+ instance number inst1 of art1 takes (num1, str1, "here I am") with (init1, bts1, bool1);
77
+ instance bool statefulInstance of art2 takes (inst1, addr1, boolVar, bts1, inst1, bool1) with ();
78
+ instance string inst3 of art2 takes (inst1, statefulInstance) with ("initialize me", '0xd00d', 0xB60B02062d1256A79C81A061a9277e84ffbB0Ff7);
79
+ instance bool statelessInstance of 0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97 takes (inst3);
80
+
81
+ evaluate statelessInstance;
82
+ ```
@@ -0,0 +1,53 @@
1
+ import { ATN } from 'antlr4ts/atn/ATN';
2
+ import { CharStream } from 'antlr4ts/CharStream';
3
+ import { Lexer } from 'antlr4ts/Lexer';
4
+ import { Vocabulary } from 'antlr4ts/Vocabulary';
5
+ export declare class LacLangLexer extends Lexer {
6
+ static readonly T__0 = 1;
7
+ static readonly T__1 = 2;
8
+ static readonly T__2 = 3;
9
+ static readonly T__3 = 4;
10
+ static readonly T__4 = 5;
11
+ static readonly T__5 = 6;
12
+ static readonly T__6 = 7;
13
+ static readonly T__7 = 8;
14
+ static readonly T__8 = 9;
15
+ static readonly T__9 = 10;
16
+ static readonly T__10 = 11;
17
+ static readonly T__11 = 12;
18
+ static readonly T__12 = 13;
19
+ static readonly T__13 = 14;
20
+ static readonly T__14 = 15;
21
+ static readonly T__15 = 16;
22
+ static readonly T__16 = 17;
23
+ static readonly T__17 = 18;
24
+ static readonly T__18 = 19;
25
+ static readonly T__19 = 20;
26
+ static readonly T__20 = 21;
27
+ static readonly WITH_KEYWORD = 22;
28
+ static readonly ADDRESS_LITERAL = 23;
29
+ static readonly BOOL_LITERAL = 24;
30
+ static readonly NUMBER_LITERAL = 25;
31
+ static readonly STRING_LITERAL = 26;
32
+ static readonly BYTES_LITERAL = 27;
33
+ static readonly IDENTIFIER = 28;
34
+ static readonly WHITESPACE = 29;
35
+ static readonly COMMENT = 30;
36
+ static readonly channelNames: string[];
37
+ static readonly modeNames: string[];
38
+ static readonly ruleNames: string[];
39
+ private static readonly _LITERAL_NAMES;
40
+ private static readonly _SYMBOLIC_NAMES;
41
+ static readonly VOCABULARY: Vocabulary;
42
+ get vocabulary(): Vocabulary;
43
+ constructor(input: CharStream);
44
+ get grammarFileName(): string;
45
+ get ruleNames(): string[];
46
+ get serializedATN(): string;
47
+ get channelNames(): string[];
48
+ get modeNames(): string[];
49
+ static readonly _serializedATN: string;
50
+ static __ATN: ATN;
51
+ static get _ATN(): ATN;
52
+ }
53
+ //# sourceMappingURL=LacLangLexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LacLangLexer.d.ts","sourceRoot":"","sources":["../../../../src/antlr/generated/grammar/LacLangLexer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,qBAAa,YAAa,SAAQ,KAAK;IACrC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,YAAY,MAAM;IACzC,gBAAuB,eAAe,MAAM;IAC5C,gBAAuB,YAAY,MAAM;IACzC,gBAAuB,cAAc,MAAM;IAC3C,gBAAuB,cAAc,MAAM;IAC3C,gBAAuB,aAAa,MAAM;IAC1C,gBAAuB,UAAU,MAAM;IACvC,gBAAuB,UAAU,MAAM;IACvC,gBAAuB,OAAO,MAAM;IAGpC,gBAAuB,YAAY,EAAE,MAAM,EAAE,CAG3C;IAGF,gBAAuB,SAAS,EAAE,MAAM,EAAE,CAAoB;IAE9D,gBAAuB,SAAS,EAAE,MAAM,EAAE,CAgCxC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAwBpC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAgCrC;IACF,gBAAuB,UAAU,EAAE,UAAU,CAI3C;IAIF,IAAW,UAAU,IAAI,UAAU,CAElC;gBAGW,KAAK,EAAE,UAAU;IAM7B,IAAW,eAAe,IAAI,MAAM,CAEnC;IAGD,IAAW,SAAS,IAAI,MAAM,EAAE,CAE/B;IAGD,IAAW,aAAa,IAAI,MAAM,CAEjC;IAGD,IAAW,YAAY,IAAI,MAAM,EAAE,CAElC;IAGD,IAAW,SAAS,IAAI,MAAM,EAAE,CAE/B;IAED,gBAAuB,cAAc,EAAE,MAAM,CAmIwB;IACrE,OAAc,KAAK,EAAE,GAAG,CAAC;IACzB,WAAkB,IAAI,IAAI,GAAG,CAQ5B;CACF"}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.LacLangLexer = void 0;
27
+ const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
28
+ const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
29
+ const Lexer_1 = require("antlr4ts/Lexer");
30
+ const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
31
+ const Utils = __importStar(require("antlr4ts/misc/Utils"));
32
+ class LacLangLexer extends Lexer_1.Lexer {
33
+ static T__0 = 1;
34
+ static T__1 = 2;
35
+ static T__2 = 3;
36
+ static T__3 = 4;
37
+ static T__4 = 5;
38
+ static T__5 = 6;
39
+ static T__6 = 7;
40
+ static T__7 = 8;
41
+ static T__8 = 9;
42
+ static T__9 = 10;
43
+ static T__10 = 11;
44
+ static T__11 = 12;
45
+ static T__12 = 13;
46
+ static T__13 = 14;
47
+ static T__14 = 15;
48
+ static T__15 = 16;
49
+ static T__16 = 17;
50
+ static T__17 = 18;
51
+ static T__18 = 19;
52
+ static T__19 = 20;
53
+ static T__20 = 21;
54
+ static WITH_KEYWORD = 22;
55
+ static ADDRESS_LITERAL = 23;
56
+ static BOOL_LITERAL = 24;
57
+ static NUMBER_LITERAL = 25;
58
+ static STRING_LITERAL = 26;
59
+ static BYTES_LITERAL = 27;
60
+ static IDENTIFIER = 28;
61
+ static WHITESPACE = 29;
62
+ static COMMENT = 30;
63
+ static channelNames = [
64
+ 'DEFAULT_TOKEN_CHANNEL',
65
+ 'HIDDEN',
66
+ ];
67
+ static modeNames = ['DEFAULT_MODE'];
68
+ static ruleNames = [
69
+ 'T__0',
70
+ 'T__1',
71
+ 'T__2',
72
+ 'T__3',
73
+ 'T__4',
74
+ 'T__5',
75
+ 'T__6',
76
+ 'T__7',
77
+ 'T__8',
78
+ 'T__9',
79
+ 'T__10',
80
+ 'T__11',
81
+ 'T__12',
82
+ 'T__13',
83
+ 'T__14',
84
+ 'T__15',
85
+ 'T__16',
86
+ 'T__17',
87
+ 'T__18',
88
+ 'T__19',
89
+ 'T__20',
90
+ 'WITH_KEYWORD',
91
+ 'ADDRESS_LITERAL',
92
+ 'HEX_DIGIT',
93
+ 'BOOL_LITERAL',
94
+ 'NUMBER_LITERAL',
95
+ 'STRING_LITERAL',
96
+ 'BYTES_LITERAL',
97
+ 'IDENTIFIER',
98
+ 'WHITESPACE',
99
+ 'COMMENT',
100
+ ];
101
+ static _LITERAL_NAMES = [
102
+ undefined,
103
+ "'import'",
104
+ "';'",
105
+ "'pragma'",
106
+ "'injected-only'",
107
+ "'var'",
108
+ "'inject'",
109
+ "'('",
110
+ "')'",
111
+ "'constant'",
112
+ "'='",
113
+ "'artifact'",
114
+ "'instance'",
115
+ "'of'",
116
+ "'takes'",
117
+ "'evaluate'",
118
+ "'bool'",
119
+ "'number'",
120
+ "'string'",
121
+ "'bytes'",
122
+ "'address'",
123
+ "','",
124
+ "'with'",
125
+ ];
126
+ static _SYMBOLIC_NAMES = [
127
+ undefined,
128
+ undefined,
129
+ undefined,
130
+ undefined,
131
+ undefined,
132
+ undefined,
133
+ undefined,
134
+ undefined,
135
+ undefined,
136
+ undefined,
137
+ undefined,
138
+ undefined,
139
+ undefined,
140
+ undefined,
141
+ undefined,
142
+ undefined,
143
+ undefined,
144
+ undefined,
145
+ undefined,
146
+ undefined,
147
+ undefined,
148
+ undefined,
149
+ 'WITH_KEYWORD',
150
+ 'ADDRESS_LITERAL',
151
+ 'BOOL_LITERAL',
152
+ 'NUMBER_LITERAL',
153
+ 'STRING_LITERAL',
154
+ 'BYTES_LITERAL',
155
+ 'IDENTIFIER',
156
+ 'WHITESPACE',
157
+ 'COMMENT',
158
+ ];
159
+ static VOCABULARY = new VocabularyImpl_1.VocabularyImpl(LacLangLexer._LITERAL_NAMES, LacLangLexer._SYMBOLIC_NAMES, []);
160
+ get vocabulary() {
161
+ return LacLangLexer.VOCABULARY;
162
+ }
163
+ constructor(input) {
164
+ super(input);
165
+ this._interp = new LexerATNSimulator_1.LexerATNSimulator(LacLangLexer._ATN, this);
166
+ }
167
+ get grammarFileName() {
168
+ return 'LacLang.g4';
169
+ }
170
+ get ruleNames() {
171
+ return LacLangLexer.ruleNames;
172
+ }
173
+ get serializedATN() {
174
+ return LacLangLexer._serializedATN;
175
+ }
176
+ get channelNames() {
177
+ return LacLangLexer.channelNames;
178
+ }
179
+ get modeNames() {
180
+ return LacLangLexer.modeNames;
181
+ }
182
+ static _serializedATN = '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02 \u012E\b\x01' +
183
+ '\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06' +
184
+ '\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r' +
185
+ '\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t' +
186
+ '\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t' +
187
+ '\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t' +
188
+ '\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x03\x02\x03\x02' +
189
+ '\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04' +
190
+ '\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05' +
191
+ '\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05' +
192
+ '\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07' +
193
+ '\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\n\x03' +
194
+ '\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03' +
195
+ '\f\x03\f\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03' +
196
+ '\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F' +
197
+ '\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10' +
198
+ '\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12' +
199
+ '\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13' +
200
+ '\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15' +
201
+ '\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16' +
202
+ '\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x18' +
203
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18' +
204
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18' +
205
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18' +
206
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18' +
207
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1A' +
208
+ '\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x05\x1A\xFD\n\x1A\x03' +
209
+ '\x1B\x06\x1B\u0100\n\x1B\r\x1B\x0E\x1B\u0101\x03\x1C\x03\x1C\x07\x1C\u0106' +
210
+ '\n\x1C\f\x1C\x0E\x1C\u0109\v\x1C\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x07\x1D' +
211
+ '\u010F\n\x1D\f\x1D\x0E\x1D\u0112\v\x1D\x03\x1D\x03\x1D\x03\x1E\x03\x1E' +
212
+ '\x07\x1E\u0118\n\x1E\f\x1E\x0E\x1E\u011B\v\x1E\x03\x1F\x06\x1F\u011E\n' +
213
+ '\x1F\r\x1F\x0E\x1F\u011F\x03\x1F\x03\x1F\x03 \x03 \x03 \x03 \x07 \u0128' +
214
+ '\n \f \x0E \u012B\v \x03 \x03 \x04\u0107\u0110\x02\x02!\x03\x02\x03\x05' +
215
+ '\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13' +
216
+ '\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02' +
217
+ "\x11!\x02\x12#\x02\x13%\x02\x14'\x02\x15)\x02\x16+\x02\x17-\x02\x18/" +
218
+ '\x02\x191\x02\x023\x02\x1A5\x02\x1B7\x02\x1C9\x02\x1D;\x02\x1E=\x02\x1F' +
219
+ '?\x02 \x03\x02\b\x05\x022;CHch\x03\x022;\x05\x02C\\aac|\x06\x022;C\\a' +
220
+ 'ac|\x05\x02\v\f\x0F\x0F""\x04\x02\f\f\x0F\x0F\x02\u0133\x02\x03\x03' +
221
+ '\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03' +
222
+ '\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02' +
223
+ '\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02' +
224
+ '\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02' +
225
+ '\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03\x02\x02\x02\x02!\x03\x02' +
226
+ "\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02'\x03\x02\x02\x02" +
227
+ '\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03' +
228
+ '\x02\x02\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02' +
229
+ '\x02\x029\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02' +
230
+ '?\x03\x02\x02\x02\x03A\x03\x02\x02\x02\x05H\x03\x02\x02\x02\x07J\x03\x02' +
231
+ '\x02\x02\tQ\x03\x02\x02\x02\v_\x03\x02\x02\x02\rc\x03\x02\x02\x02\x0F' +
232
+ 'j\x03\x02\x02\x02\x11l\x03\x02\x02\x02\x13n\x03\x02\x02\x02\x15w\x03\x02' +
233
+ '\x02\x02\x17y\x03\x02\x02\x02\x19\x82\x03\x02\x02\x02\x1B\x8B\x03\x02' +
234
+ '\x02\x02\x1D\x8E\x03\x02\x02\x02\x1F\x94\x03\x02\x02\x02!\x9D\x03\x02' +
235
+ "\x02\x02#\xA2\x03\x02\x02\x02%\xA9\x03\x02\x02\x02'\xB0\x03\x02\x02\x02" +
236
+ ')\xB6\x03\x02\x02\x02+\xBE\x03\x02\x02\x02-\xC0\x03\x02\x02\x02/\xC5\x03' +
237
+ '\x02\x02\x021\xF1\x03\x02\x02\x023\xFC\x03\x02\x02\x025\xFF\x03\x02\x02' +
238
+ '\x027\u0103\x03\x02\x02\x029\u010C\x03\x02\x02\x02;\u0115\x03\x02\x02' +
239
+ '\x02=\u011D\x03\x02\x02\x02?\u0123\x03\x02\x02\x02AB\x07k\x02\x02BC\x07' +
240
+ 'o\x02\x02CD\x07r\x02\x02DE\x07q\x02\x02EF\x07t\x02\x02FG\x07v\x02\x02' +
241
+ 'G\x04\x03\x02\x02\x02HI\x07=\x02\x02I\x06\x03\x02\x02\x02JK\x07r\x02\x02' +
242
+ 'KL\x07t\x02\x02LM\x07c\x02\x02MN\x07i\x02\x02NO\x07o\x02\x02OP\x07c\x02' +
243
+ '\x02P\b\x03\x02\x02\x02QR\x07k\x02\x02RS\x07p\x02\x02ST\x07l\x02\x02T' +
244
+ 'U\x07g\x02\x02UV\x07e\x02\x02VW\x07v\x02\x02WX\x07g\x02\x02XY\x07f\x02' +
245
+ '\x02YZ\x07/\x02\x02Z[\x07q\x02\x02[\\\x07p\x02\x02\\]\x07n\x02\x02]^\x07' +
246
+ '{\x02\x02^\n\x03\x02\x02\x02_`\x07x\x02\x02`a\x07c\x02\x02ab\x07t\x02' +
247
+ '\x02b\f\x03\x02\x02\x02cd\x07k\x02\x02de\x07p\x02\x02ef\x07l\x02\x02f' +
248
+ 'g\x07g\x02\x02gh\x07e\x02\x02hi\x07v\x02\x02i\x0E\x03\x02\x02\x02jk\x07' +
249
+ '*\x02\x02k\x10\x03\x02\x02\x02lm\x07+\x02\x02m\x12\x03\x02\x02\x02no\x07' +
250
+ 'e\x02\x02op\x07q\x02\x02pq\x07p\x02\x02qr\x07u\x02\x02rs\x07v\x02\x02' +
251
+ 'st\x07c\x02\x02tu\x07p\x02\x02uv\x07v\x02\x02v\x14\x03\x02\x02\x02wx\x07' +
252
+ '?\x02\x02x\x16\x03\x02\x02\x02yz\x07c\x02\x02z{\x07t\x02\x02{|\x07v\x02' +
253
+ '\x02|}\x07k\x02\x02}~\x07h\x02\x02~\x7F\x07c\x02\x02\x7F\x80\x07e\x02' +
254
+ '\x02\x80\x81\x07v\x02\x02\x81\x18\x03\x02\x02\x02\x82\x83\x07k\x02\x02' +
255
+ '\x83\x84\x07p\x02\x02\x84\x85\x07u\x02\x02\x85\x86\x07v\x02\x02\x86\x87' +
256
+ '\x07c\x02\x02\x87\x88\x07p\x02\x02\x88\x89\x07e\x02\x02\x89\x8A\x07g\x02' +
257
+ '\x02\x8A\x1A\x03\x02\x02\x02\x8B\x8C\x07q\x02\x02\x8C\x8D\x07h\x02\x02' +
258
+ '\x8D\x1C\x03\x02\x02\x02\x8E\x8F\x07v\x02\x02\x8F\x90\x07c\x02\x02\x90' +
259
+ '\x91\x07m\x02\x02\x91\x92\x07g\x02\x02\x92\x93\x07u\x02\x02\x93\x1E\x03' +
260
+ '\x02\x02\x02\x94\x95\x07g\x02\x02\x95\x96\x07x\x02\x02\x96\x97\x07c\x02' +
261
+ '\x02\x97\x98\x07n\x02\x02\x98\x99\x07w\x02\x02\x99\x9A\x07c\x02\x02\x9A' +
262
+ '\x9B\x07v\x02\x02\x9B\x9C\x07g\x02\x02\x9C \x03\x02\x02\x02\x9D\x9E\x07' +
263
+ 'd\x02\x02\x9E\x9F\x07q\x02\x02\x9F\xA0\x07q\x02\x02\xA0\xA1\x07n\x02\x02' +
264
+ '\xA1"\x03\x02\x02\x02\xA2\xA3\x07p\x02\x02\xA3\xA4\x07w\x02\x02\xA4\xA5' +
265
+ '\x07o\x02\x02\xA5\xA6\x07d\x02\x02\xA6\xA7\x07g\x02\x02\xA7\xA8\x07t\x02' +
266
+ '\x02\xA8$\x03\x02\x02\x02\xA9\xAA\x07u\x02\x02\xAA\xAB\x07v\x02\x02\xAB' +
267
+ '\xAC\x07t\x02\x02\xAC\xAD\x07k\x02\x02\xAD\xAE\x07p\x02\x02\xAE\xAF\x07' +
268
+ 'i\x02\x02\xAF&\x03\x02\x02\x02\xB0\xB1\x07d\x02\x02\xB1\xB2\x07{\x02\x02' +
269
+ '\xB2\xB3\x07v\x02\x02\xB3\xB4\x07g\x02\x02\xB4\xB5\x07u\x02\x02\xB5(\x03' +
270
+ '\x02\x02\x02\xB6\xB7\x07c\x02\x02\xB7\xB8\x07f\x02\x02\xB8\xB9\x07f\x02' +
271
+ '\x02\xB9\xBA\x07t\x02\x02\xBA\xBB\x07g\x02\x02\xBB\xBC\x07u\x02\x02\xBC' +
272
+ '\xBD\x07u\x02\x02\xBD*\x03\x02\x02\x02\xBE\xBF\x07.\x02\x02\xBF,\x03\x02' +
273
+ '\x02\x02\xC0\xC1\x07y\x02\x02\xC1\xC2\x07k\x02\x02\xC2\xC3\x07v\x02\x02' +
274
+ '\xC3\xC4\x07j\x02\x02\xC4.\x03\x02\x02\x02\xC5\xC6\x072\x02\x02\xC6\xC7' +
275
+ '\x07z\x02\x02\xC7\xC8\x03\x02\x02\x02\xC8\xC9\x051\x19\x02\xC9\xCA\x05' +
276
+ '1\x19\x02\xCA\xCB\x051\x19\x02\xCB\xCC\x051\x19\x02\xCC\xCD\x051\x19\x02' +
277
+ '\xCD\xCE\x051\x19\x02\xCE\xCF\x051\x19\x02\xCF\xD0\x051\x19\x02\xD0\xD1' +
278
+ '\x051\x19\x02\xD1\xD2\x051\x19\x02\xD2\xD3\x051\x19\x02\xD3\xD4\x051\x19' +
279
+ '\x02\xD4\xD5\x051\x19\x02\xD5\xD6\x051\x19\x02\xD6\xD7\x051\x19\x02\xD7' +
280
+ '\xD8\x051\x19\x02\xD8\xD9\x051\x19\x02\xD9\xDA\x051\x19\x02\xDA\xDB\x05' +
281
+ '1\x19\x02\xDB\xDC\x051\x19\x02\xDC\xDD\x051\x19\x02\xDD\xDE\x051\x19\x02' +
282
+ '\xDE\xDF\x051\x19\x02\xDF\xE0\x051\x19\x02\xE0\xE1\x051\x19\x02\xE1\xE2' +
283
+ '\x051\x19\x02\xE2\xE3\x051\x19\x02\xE3\xE4\x051\x19\x02\xE4\xE5\x051\x19' +
284
+ '\x02\xE5\xE6\x051\x19\x02\xE6\xE7\x051\x19\x02\xE7\xE8\x051\x19\x02\xE8' +
285
+ '\xE9\x051\x19\x02\xE9\xEA\x051\x19\x02\xEA\xEB\x051\x19\x02\xEB\xEC\x05' +
286
+ '1\x19\x02\xEC\xED\x051\x19\x02\xED\xEE\x051\x19\x02\xEE\xEF\x051\x19\x02' +
287
+ '\xEF\xF0\x051\x19\x02\xF00\x03\x02\x02\x02\xF1\xF2\t\x02\x02\x02\xF22' +
288
+ '\x03\x02\x02\x02\xF3\xF4\x07v\x02\x02\xF4\xF5\x07t\x02\x02\xF5\xF6\x07' +
289
+ 'w\x02\x02\xF6\xFD\x07g\x02\x02\xF7\xF8\x07h\x02\x02\xF8\xF9\x07c\x02\x02' +
290
+ '\xF9\xFA\x07n\x02\x02\xFA\xFB\x07u\x02\x02\xFB\xFD\x07g\x02\x02\xFC\xF3' +
291
+ '\x03\x02\x02\x02\xFC\xF7\x03\x02\x02\x02\xFD4\x03\x02\x02\x02\xFE\u0100' +
292
+ '\t\x03\x02\x02\xFF\xFE\x03\x02\x02\x02\u0100\u0101\x03\x02\x02\x02\u0101' +
293
+ '\xFF\x03\x02\x02\x02\u0101\u0102\x03\x02\x02\x02\u01026\x03\x02\x02\x02' +
294
+ '\u0103\u0107\x07$\x02\x02\u0104\u0106\v\x02\x02\x02\u0105\u0104\x03\x02' +
295
+ '\x02\x02\u0106\u0109\x03\x02\x02\x02\u0107\u0108\x03\x02\x02\x02\u0107' +
296
+ '\u0105\x03\x02\x02\x02\u0108\u010A\x03\x02\x02\x02\u0109\u0107\x03\x02' +
297
+ '\x02\x02\u010A\u010B\x07$\x02\x02\u010B8\x03\x02\x02\x02\u010C\u0110\x07' +
298
+ ')\x02\x02\u010D\u010F\v\x02\x02\x02\u010E\u010D\x03\x02\x02\x02\u010F' +
299
+ '\u0112\x03\x02\x02\x02\u0110\u0111\x03\x02\x02\x02\u0110\u010E\x03\x02' +
300
+ '\x02\x02\u0111\u0113\x03\x02\x02\x02\u0112\u0110\x03\x02\x02\x02\u0113' +
301
+ '\u0114\x07)\x02\x02\u0114:\x03\x02\x02\x02\u0115\u0119\t\x04\x02\x02\u0116' +
302
+ '\u0118\t\x05\x02\x02\u0117\u0116\x03\x02\x02\x02\u0118\u011B\x03\x02\x02' +
303
+ '\x02\u0119\u0117\x03\x02\x02\x02\u0119\u011A\x03\x02\x02\x02\u011A<\x03' +
304
+ '\x02\x02\x02\u011B\u0119\x03\x02\x02\x02\u011C\u011E\t\x06\x02\x02\u011D' +
305
+ '\u011C\x03\x02\x02\x02\u011E\u011F\x03\x02\x02\x02\u011F\u011D\x03\x02' +
306
+ '\x02\x02\u011F\u0120\x03\x02\x02\x02\u0120\u0121\x03\x02\x02\x02\u0121' +
307
+ '\u0122\b\x1F\x02\x02\u0122>\x03\x02\x02\x02\u0123\u0124\x071\x02\x02\u0124' +
308
+ '\u0125\x071\x02\x02\u0125\u0129\x03\x02\x02\x02\u0126\u0128\n\x07\x02' +
309
+ '\x02\u0127\u0126\x03\x02\x02\x02\u0128\u012B\x03\x02\x02\x02\u0129\u0127' +
310
+ '\x03\x02\x02\x02\u0129\u012A\x03\x02\x02\x02\u012A\u012C\x03\x02\x02\x02' +
311
+ '\u012B\u0129\x03\x02\x02\x02\u012C\u012D\b \x02\x02\u012D@\x03\x02\x02' +
312
+ '\x02\n\x02\xFC\u0101\u0107\u0110\u0119\u011F\u0129\x03\b\x02\x02';
313
+ static __ATN;
314
+ static get _ATN() {
315
+ if (!LacLangLexer.__ATN) {
316
+ LacLangLexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(LacLangLexer._serializedATN));
317
+ }
318
+ return LacLangLexer.__ATN;
319
+ }
320
+ }
321
+ exports.LacLangLexer = LacLangLexer;
322
+ //# sourceMappingURL=LacLangLexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LacLangLexer.js","sourceRoot":"","sources":["../../../../src/antlr/generated/grammar/LacLangLexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { ParseTreeListener } from 'antlr4ts/tree/ParseTreeListener';
2
+ import { ArgumentsListContext, ArtifactDeclarationContext, ConstantDeclarationContext, ConstantsListContext, DataTypeContext, DirectiveContext, DirectiveIndentifierContext, EvaluateStatementContext, Identifier_or_literalContext, ImportStatementContext, InjectedOnlyDirectiveContext, InjectionModifierContext, InstanceDeclarationContext, LiteralContext, ProgramContext, StatementContext, VarDeclarationContext } from './LacLangParser';
3
+ export interface LacLangListener extends ParseTreeListener {
4
+ enterProgram?: (ctx: ProgramContext) => void;
5
+ exitProgram?: (ctx: ProgramContext) => void;
6
+ enterStatement?: (ctx: StatementContext) => void;
7
+ exitStatement?: (ctx: StatementContext) => void;
8
+ enterImportStatement?: (ctx: ImportStatementContext) => void;
9
+ exitImportStatement?: (ctx: ImportStatementContext) => void;
10
+ enterDirective?: (ctx: DirectiveContext) => void;
11
+ exitDirective?: (ctx: DirectiveContext) => void;
12
+ enterDirectiveIndentifier?: (ctx: DirectiveIndentifierContext) => void;
13
+ exitDirectiveIndentifier?: (ctx: DirectiveIndentifierContext) => void;
14
+ enterInjectedOnlyDirective?: (ctx: InjectedOnlyDirectiveContext) => void;
15
+ exitInjectedOnlyDirective?: (ctx: InjectedOnlyDirectiveContext) => void;
16
+ enterVarDeclaration?: (ctx: VarDeclarationContext) => void;
17
+ exitVarDeclaration?: (ctx: VarDeclarationContext) => void;
18
+ enterInjectionModifier?: (ctx: InjectionModifierContext) => void;
19
+ exitInjectionModifier?: (ctx: InjectionModifierContext) => void;
20
+ enterConstantDeclaration?: (ctx: ConstantDeclarationContext) => void;
21
+ exitConstantDeclaration?: (ctx: ConstantDeclarationContext) => void;
22
+ enterArtifactDeclaration?: (ctx: ArtifactDeclarationContext) => void;
23
+ exitArtifactDeclaration?: (ctx: ArtifactDeclarationContext) => void;
24
+ enterInstanceDeclaration?: (ctx: InstanceDeclarationContext) => void;
25
+ exitInstanceDeclaration?: (ctx: InstanceDeclarationContext) => void;
26
+ enterEvaluateStatement?: (ctx: EvaluateStatementContext) => void;
27
+ exitEvaluateStatement?: (ctx: EvaluateStatementContext) => void;
28
+ enterDataType?: (ctx: DataTypeContext) => void;
29
+ exitDataType?: (ctx: DataTypeContext) => void;
30
+ enterConstantsList?: (ctx: ConstantsListContext) => void;
31
+ exitConstantsList?: (ctx: ConstantsListContext) => void;
32
+ enterArgumentsList?: (ctx: ArgumentsListContext) => void;
33
+ exitArgumentsList?: (ctx: ArgumentsListContext) => void;
34
+ enterIdentifier_or_literal?: (ctx: Identifier_or_literalContext) => void;
35
+ exitIdentifier_or_literal?: (ctx: Identifier_or_literalContext) => void;
36
+ enterLiteral?: (ctx: LiteralContext) => void;
37
+ exitLiteral?: (ctx: LiteralContext) => void;
38
+ }
39
+ //# sourceMappingURL=LacLangListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LacLangListener.d.ts","sourceRoot":"","sources":["../../../../src/antlr/generated/grammar/LacLangListener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LacLangListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LacLangListener.js","sourceRoot":"","sources":["../../../../src/antlr/generated/grammar/LacLangListener.ts"],"names":[],"mappings":""}