@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
@@ -0,0 +1,231 @@
1
+ import { ATN } from 'antlr4ts/atn/ATN';
2
+ import { FailedPredicateException } from 'antlr4ts/FailedPredicateException';
3
+ import { Parser } from 'antlr4ts/Parser';
4
+ import { ParserRuleContext } from 'antlr4ts/ParserRuleContext';
5
+ import { TokenStream } from 'antlr4ts/TokenStream';
6
+ import { TerminalNode } from 'antlr4ts/tree/TerminalNode';
7
+ import { Vocabulary } from 'antlr4ts/Vocabulary';
8
+ import { LacLangListener } from './LacLangListener';
9
+ export declare class LacLangParser extends Parser {
10
+ static readonly T__0 = 1;
11
+ static readonly T__1 = 2;
12
+ static readonly T__2 = 3;
13
+ static readonly T__3 = 4;
14
+ static readonly T__4 = 5;
15
+ static readonly T__5 = 6;
16
+ static readonly T__6 = 7;
17
+ static readonly T__7 = 8;
18
+ static readonly T__8 = 9;
19
+ static readonly T__9 = 10;
20
+ static readonly T__10 = 11;
21
+ static readonly T__11 = 12;
22
+ static readonly T__12 = 13;
23
+ static readonly T__13 = 14;
24
+ static readonly T__14 = 15;
25
+ static readonly T__15 = 16;
26
+ static readonly T__16 = 17;
27
+ static readonly T__17 = 18;
28
+ static readonly T__18 = 19;
29
+ static readonly T__19 = 20;
30
+ static readonly T__20 = 21;
31
+ static readonly WITH_KEYWORD = 22;
32
+ static readonly ADDRESS_LITERAL = 23;
33
+ static readonly BOOL_LITERAL = 24;
34
+ static readonly NUMBER_LITERAL = 25;
35
+ static readonly STRING_LITERAL = 26;
36
+ static readonly BYTES_LITERAL = 27;
37
+ static readonly IDENTIFIER = 28;
38
+ static readonly WHITESPACE = 29;
39
+ static readonly COMMENT = 30;
40
+ static readonly RULE_program = 0;
41
+ static readonly RULE_statement = 1;
42
+ static readonly RULE_importStatement = 2;
43
+ static readonly RULE_directive = 3;
44
+ static readonly RULE_directiveIndentifier = 4;
45
+ static readonly RULE_injectedOnlyDirective = 5;
46
+ static readonly RULE_varDeclaration = 6;
47
+ static readonly RULE_injectionModifier = 7;
48
+ static readonly RULE_constantDeclaration = 8;
49
+ static readonly RULE_artifactDeclaration = 9;
50
+ static readonly RULE_instanceDeclaration = 10;
51
+ static readonly RULE_evaluateStatement = 11;
52
+ static readonly RULE_dataType = 12;
53
+ static readonly RULE_constantsList = 13;
54
+ static readonly RULE_argumentsList = 14;
55
+ static readonly RULE_identifier_or_literal = 15;
56
+ static readonly RULE_literal = 16;
57
+ static readonly ruleNames: string[];
58
+ private static readonly _LITERAL_NAMES;
59
+ private static readonly _SYMBOLIC_NAMES;
60
+ static readonly VOCABULARY: Vocabulary;
61
+ get vocabulary(): Vocabulary;
62
+ get grammarFileName(): string;
63
+ get ruleNames(): string[];
64
+ get serializedATN(): string;
65
+ protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException;
66
+ constructor(input: TokenStream);
67
+ program(): ProgramContext;
68
+ statement(): StatementContext;
69
+ importStatement(): ImportStatementContext;
70
+ directive(): DirectiveContext;
71
+ directiveIndentifier(): DirectiveIndentifierContext;
72
+ injectedOnlyDirective(): InjectedOnlyDirectiveContext;
73
+ varDeclaration(): VarDeclarationContext;
74
+ injectionModifier(): InjectionModifierContext;
75
+ constantDeclaration(): ConstantDeclarationContext;
76
+ artifactDeclaration(): ArtifactDeclarationContext;
77
+ instanceDeclaration(): InstanceDeclarationContext;
78
+ evaluateStatement(): EvaluateStatementContext;
79
+ dataType(): DataTypeContext;
80
+ constantsList(): ConstantsListContext;
81
+ argumentsList(): ArgumentsListContext;
82
+ identifier_or_literal(): Identifier_or_literalContext;
83
+ literal(): LiteralContext;
84
+ static readonly _serializedATN: string;
85
+ static __ATN: ATN;
86
+ static get _ATN(): ATN;
87
+ }
88
+ export declare class ProgramContext extends ParserRuleContext {
89
+ EOF(): TerminalNode;
90
+ importStatement(): ImportStatementContext[];
91
+ importStatement(i: number): ImportStatementContext;
92
+ directive(): DirectiveContext[];
93
+ directive(i: number): DirectiveContext;
94
+ statement(): StatementContext[];
95
+ statement(i: number): StatementContext;
96
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
97
+ get ruleIndex(): number;
98
+ enterRule(listener: LacLangListener): void;
99
+ exitRule(listener: LacLangListener): void;
100
+ }
101
+ export declare class StatementContext extends ParserRuleContext {
102
+ varDeclaration(): VarDeclarationContext | undefined;
103
+ constantDeclaration(): ConstantDeclarationContext | undefined;
104
+ artifactDeclaration(): ArtifactDeclarationContext | undefined;
105
+ instanceDeclaration(): InstanceDeclarationContext | undefined;
106
+ evaluateStatement(): EvaluateStatementContext | undefined;
107
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
108
+ get ruleIndex(): number;
109
+ enterRule(listener: LacLangListener): void;
110
+ exitRule(listener: LacLangListener): void;
111
+ }
112
+ export declare class ImportStatementContext extends ParserRuleContext {
113
+ STRING_LITERAL(): TerminalNode;
114
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
115
+ get ruleIndex(): number;
116
+ enterRule(listener: LacLangListener): void;
117
+ exitRule(listener: LacLangListener): void;
118
+ }
119
+ export declare class DirectiveContext extends ParserRuleContext {
120
+ directiveIndentifier(): DirectiveIndentifierContext;
121
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
122
+ get ruleIndex(): number;
123
+ enterRule(listener: LacLangListener): void;
124
+ exitRule(listener: LacLangListener): void;
125
+ }
126
+ export declare class DirectiveIndentifierContext extends ParserRuleContext {
127
+ injectedOnlyDirective(): InjectedOnlyDirectiveContext;
128
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
129
+ get ruleIndex(): number;
130
+ enterRule(listener: LacLangListener): void;
131
+ exitRule(listener: LacLangListener): void;
132
+ }
133
+ export declare class InjectedOnlyDirectiveContext extends ParserRuleContext {
134
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
135
+ get ruleIndex(): number;
136
+ enterRule(listener: LacLangListener): void;
137
+ exitRule(listener: LacLangListener): void;
138
+ }
139
+ export declare class VarDeclarationContext extends ParserRuleContext {
140
+ dataType(): DataTypeContext;
141
+ IDENTIFIER(): TerminalNode;
142
+ injectionModifier(): InjectionModifierContext | undefined;
143
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
144
+ get ruleIndex(): number;
145
+ enterRule(listener: LacLangListener): void;
146
+ exitRule(listener: LacLangListener): void;
147
+ }
148
+ export declare class InjectionModifierContext extends ParserRuleContext {
149
+ STRING_LITERAL(): TerminalNode;
150
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
151
+ get ruleIndex(): number;
152
+ enterRule(listener: LacLangListener): void;
153
+ exitRule(listener: LacLangListener): void;
154
+ }
155
+ export declare class ConstantDeclarationContext extends ParserRuleContext {
156
+ dataType(): DataTypeContext;
157
+ IDENTIFIER(): TerminalNode;
158
+ literal(): LiteralContext;
159
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
160
+ get ruleIndex(): number;
161
+ enterRule(listener: LacLangListener): void;
162
+ exitRule(listener: LacLangListener): void;
163
+ }
164
+ export declare class ArtifactDeclarationContext extends ParserRuleContext {
165
+ IDENTIFIER(): TerminalNode;
166
+ ADDRESS_LITERAL(): TerminalNode;
167
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
168
+ get ruleIndex(): number;
169
+ enterRule(listener: LacLangListener): void;
170
+ exitRule(listener: LacLangListener): void;
171
+ }
172
+ export declare class InstanceDeclarationContext extends ParserRuleContext {
173
+ dataType(): DataTypeContext;
174
+ IDENTIFIER(): TerminalNode;
175
+ identifier_or_literal(): Identifier_or_literalContext;
176
+ argumentsList(): ArgumentsListContext | undefined;
177
+ WITH_KEYWORD(): TerminalNode | undefined;
178
+ constantsList(): ConstantsListContext | undefined;
179
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
180
+ get ruleIndex(): number;
181
+ enterRule(listener: LacLangListener): void;
182
+ exitRule(listener: LacLangListener): void;
183
+ }
184
+ export declare class EvaluateStatementContext extends ParserRuleContext {
185
+ IDENTIFIER(): TerminalNode;
186
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
187
+ get ruleIndex(): number;
188
+ enterRule(listener: LacLangListener): void;
189
+ exitRule(listener: LacLangListener): void;
190
+ }
191
+ export declare class DataTypeContext extends ParserRuleContext {
192
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
193
+ get ruleIndex(): number;
194
+ enterRule(listener: LacLangListener): void;
195
+ exitRule(listener: LacLangListener): void;
196
+ }
197
+ export declare class ConstantsListContext extends ParserRuleContext {
198
+ argumentsList(): ArgumentsListContext;
199
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
200
+ get ruleIndex(): number;
201
+ enterRule(listener: LacLangListener): void;
202
+ exitRule(listener: LacLangListener): void;
203
+ }
204
+ export declare class ArgumentsListContext extends ParserRuleContext {
205
+ identifier_or_literal(): Identifier_or_literalContext[];
206
+ identifier_or_literal(i: number): Identifier_or_literalContext;
207
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
208
+ get ruleIndex(): number;
209
+ enterRule(listener: LacLangListener): void;
210
+ exitRule(listener: LacLangListener): void;
211
+ }
212
+ export declare class Identifier_or_literalContext extends ParserRuleContext {
213
+ IDENTIFIER(): TerminalNode | undefined;
214
+ literal(): LiteralContext | undefined;
215
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
216
+ get ruleIndex(): number;
217
+ enterRule(listener: LacLangListener): void;
218
+ exitRule(listener: LacLangListener): void;
219
+ }
220
+ export declare class LiteralContext extends ParserRuleContext {
221
+ BOOL_LITERAL(): TerminalNode | undefined;
222
+ NUMBER_LITERAL(): TerminalNode | undefined;
223
+ STRING_LITERAL(): TerminalNode | undefined;
224
+ BYTES_LITERAL(): TerminalNode | undefined;
225
+ ADDRESS_LITERAL(): TerminalNode | undefined;
226
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
227
+ get ruleIndex(): number;
228
+ enterRule(listener: LacLangListener): void;
229
+ exitRule(listener: LacLangListener): void;
230
+ }
231
+ //# sourceMappingURL=LacLangParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LacLangParser.d.ts","sourceRoot":"","sources":["../../../../src/antlr/generated/grammar/LacLangParser.ts"],"names":[],"mappings":"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"}