@malloydata/malloy-tag 0.0.237-dev250225144145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/Malloy/MalloyTagLexer.d.ts +42 -0
- package/dist/lib/Malloy/MalloyTagLexer.js +385 -0
- package/dist/lib/Malloy/MalloyTagLexer.js.map +1 -0
- package/dist/lib/Malloy/MalloyTagParser.d.ts +180 -0
- package/dist/lib/Malloy/MalloyTagParser.js +1051 -0
- package/dist/lib/Malloy/MalloyTagParser.js.map +1 -0
- package/dist/lib/Malloy/MalloyTagVisitor.d.ts +120 -0
- package/dist/lib/Malloy/MalloyTagVisitor.js +4 -0
- package/dist/lib/Malloy/MalloyTagVisitor.js.map +1 -0
- package/dist/tags.d.ts +90 -0
- package/dist/tags.js +654 -0
- package/dist/tags.js.map +1 -0
- package/dist/tags.spec.d.ts +8 -0
- package/dist/tags.spec.js +318 -0
- package/dist/tags.spec.js.map +1 -0
- package/dist/util.d.ts +11 -0
- package/dist/util.js +84 -0
- package/dist/util.js.map +1 -0
- package/dist/util.spec.d.ts +1 -0
- package/dist/util.spec.js +43 -0
- package/dist/util.spec.js.map +1 -0
- package/package.json +30 -0
- package/scripts/build_parser.js +98 -0
- package/src/MalloyTag.g4 +102 -0
- package/src/index.ts +8 -0
- package/src/lib/Malloy/MalloyTag.interp +61 -0
- package/src/lib/Malloy/MalloyTag.tokens +32 -0
- package/src/lib/Malloy/MalloyTagLexer.interp +85 -0
- package/src/lib/Malloy/MalloyTagLexer.tokens +32 -0
- package/src/lib/Malloy/MalloyTagLexer.ts +386 -0
- package/src/lib/Malloy/MalloyTagParser.ts +1048 -0
- package/src/lib/Malloy/MalloyTagVisitor.ts +141 -0
- package/src/lib/Malloy/_BUILD_DIGEST_ +1 -0
- package/src/tags.spec.ts +331 -0
- package/src/tags.ts +761 -0
- package/src/util.spec.ts +43 -0
- package/src/util.ts +73 -0
- package/tsconfig.json +11 -0
|
@@ -0,0 +1,1048 @@
|
|
|
1
|
+
// Generated from MalloyTag.g4 by ANTLR 4.9.0-SNAPSHOT
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { ATN } from "antlr4ts/atn/ATN";
|
|
5
|
+
import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
|
|
6
|
+
import { FailedPredicateException } from "antlr4ts/FailedPredicateException";
|
|
7
|
+
import { NotNull } from "antlr4ts/Decorators";
|
|
8
|
+
import { NoViableAltException } from "antlr4ts/NoViableAltException";
|
|
9
|
+
import { Override } from "antlr4ts/Decorators";
|
|
10
|
+
import { Parser } from "antlr4ts/Parser";
|
|
11
|
+
import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
|
|
12
|
+
import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator";
|
|
13
|
+
import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
|
|
14
|
+
import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
|
|
15
|
+
import { RecognitionException } from "antlr4ts/RecognitionException";
|
|
16
|
+
import { RuleContext } from "antlr4ts/RuleContext";
|
|
17
|
+
//import { RuleVersion } from "antlr4ts/RuleVersion";
|
|
18
|
+
import { TerminalNode } from "antlr4ts/tree/TerminalNode";
|
|
19
|
+
import { Token } from "antlr4ts/Token";
|
|
20
|
+
import { TokenStream } from "antlr4ts/TokenStream";
|
|
21
|
+
import { Vocabulary } from "antlr4ts/Vocabulary";
|
|
22
|
+
import { VocabularyImpl } from "antlr4ts/VocabularyImpl";
|
|
23
|
+
|
|
24
|
+
import * as Utils from "antlr4ts/misc/Utils";
|
|
25
|
+
|
|
26
|
+
import { MalloyTagVisitor } from "./MalloyTagVisitor";
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export class MalloyTagParser extends Parser {
|
|
30
|
+
public static readonly MINUS_DOTTY = 1;
|
|
31
|
+
public static readonly DOTTY = 2;
|
|
32
|
+
public static readonly DOT = 3;
|
|
33
|
+
public static readonly MINUS = 4;
|
|
34
|
+
public static readonly EQ = 5;
|
|
35
|
+
public static readonly RF_BEG = 6;
|
|
36
|
+
public static readonly RF_END = 7;
|
|
37
|
+
public static readonly PR_BEG = 8;
|
|
38
|
+
public static readonly PR_END = 9;
|
|
39
|
+
public static readonly AR_BEG = 10;
|
|
40
|
+
public static readonly COMMA = 11;
|
|
41
|
+
public static readonly AR_END = 12;
|
|
42
|
+
public static readonly SQ_STRING = 13;
|
|
43
|
+
public static readonly DQ_STRING = 14;
|
|
44
|
+
public static readonly BQ_STRING = 15;
|
|
45
|
+
public static readonly NUMERIC_LITERAL = 16;
|
|
46
|
+
public static readonly BARE_STRING = 17;
|
|
47
|
+
public static readonly COMMENT = 18;
|
|
48
|
+
public static readonly WHITE_SPACE = 19;
|
|
49
|
+
public static readonly UNEXPECTED_CHAR = 20;
|
|
50
|
+
public static readonly RULE_tagLine = 0;
|
|
51
|
+
public static readonly RULE_tagSpec = 1;
|
|
52
|
+
public static readonly RULE_string = 2;
|
|
53
|
+
public static readonly RULE_identifier = 3;
|
|
54
|
+
public static readonly RULE_propName = 4;
|
|
55
|
+
public static readonly RULE_eqValue = 5;
|
|
56
|
+
public static readonly RULE_arrayElement = 6;
|
|
57
|
+
public static readonly RULE_reference = 7;
|
|
58
|
+
public static readonly RULE_arrayValue = 8;
|
|
59
|
+
public static readonly RULE_properties = 9;
|
|
60
|
+
// tslint:disable:no-trailing-whitespace
|
|
61
|
+
public static readonly ruleNames: string[] = [
|
|
62
|
+
"tagLine", "tagSpec", "string", "identifier", "propName", "eqValue", "arrayElement",
|
|
63
|
+
"reference", "arrayValue", "properties",
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
private static readonly _LITERAL_NAMES: Array<string | undefined> = [
|
|
67
|
+
undefined, "'-...'", "'...'", "'.'", "'-'", "'='", "'$('", "')'", "'{'",
|
|
68
|
+
"'}'", "'['", "','", "']'",
|
|
69
|
+
];
|
|
70
|
+
private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
|
|
71
|
+
undefined, "MINUS_DOTTY", "DOTTY", "DOT", "MINUS", "EQ", "RF_BEG", "RF_END",
|
|
72
|
+
"PR_BEG", "PR_END", "AR_BEG", "COMMA", "AR_END", "SQ_STRING", "DQ_STRING",
|
|
73
|
+
"BQ_STRING", "NUMERIC_LITERAL", "BARE_STRING", "COMMENT", "WHITE_SPACE",
|
|
74
|
+
"UNEXPECTED_CHAR",
|
|
75
|
+
];
|
|
76
|
+
public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(MalloyTagParser._LITERAL_NAMES, MalloyTagParser._SYMBOLIC_NAMES, []);
|
|
77
|
+
|
|
78
|
+
// @Override
|
|
79
|
+
// @NotNull
|
|
80
|
+
public get vocabulary(): Vocabulary {
|
|
81
|
+
return MalloyTagParser.VOCABULARY;
|
|
82
|
+
}
|
|
83
|
+
// tslint:enable:no-trailing-whitespace
|
|
84
|
+
|
|
85
|
+
// @Override
|
|
86
|
+
public get grammarFileName(): string { return "MalloyTag.g4"; }
|
|
87
|
+
|
|
88
|
+
// @Override
|
|
89
|
+
public get ruleNames(): string[] { return MalloyTagParser.ruleNames; }
|
|
90
|
+
|
|
91
|
+
// @Override
|
|
92
|
+
public get serializedATN(): string { return MalloyTagParser._serializedATN; }
|
|
93
|
+
|
|
94
|
+
protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException {
|
|
95
|
+
return new FailedPredicateException(this, predicate, message);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
constructor(input: TokenStream) {
|
|
99
|
+
super(input);
|
|
100
|
+
this._interp = new ParserATNSimulator(MalloyTagParser._ATN, this);
|
|
101
|
+
}
|
|
102
|
+
// @RuleVersion(0)
|
|
103
|
+
public tagLine(): TagLineContext {
|
|
104
|
+
let _localctx: TagLineContext = new TagLineContext(this._ctx, this.state);
|
|
105
|
+
this.enterRule(_localctx, 0, MalloyTagParser.RULE_tagLine);
|
|
106
|
+
let _la: number;
|
|
107
|
+
try {
|
|
108
|
+
this.enterOuterAlt(_localctx, 1);
|
|
109
|
+
{
|
|
110
|
+
this.state = 23;
|
|
111
|
+
this._errHandler.sync(this);
|
|
112
|
+
_la = this._input.LA(1);
|
|
113
|
+
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << MalloyTagParser.MINUS_DOTTY) | (1 << MalloyTagParser.MINUS) | (1 << MalloyTagParser.BQ_STRING) | (1 << MalloyTagParser.BARE_STRING))) !== 0)) {
|
|
114
|
+
{
|
|
115
|
+
{
|
|
116
|
+
this.state = 20;
|
|
117
|
+
this.tagSpec();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
this.state = 25;
|
|
121
|
+
this._errHandler.sync(this);
|
|
122
|
+
_la = this._input.LA(1);
|
|
123
|
+
}
|
|
124
|
+
this.state = 26;
|
|
125
|
+
this.match(MalloyTagParser.EOF);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (re) {
|
|
129
|
+
if (re instanceof RecognitionException) {
|
|
130
|
+
_localctx.exception = re;
|
|
131
|
+
this._errHandler.reportError(this, re);
|
|
132
|
+
this._errHandler.recover(this, re);
|
|
133
|
+
} else {
|
|
134
|
+
throw re;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
finally {
|
|
138
|
+
this.exitRule();
|
|
139
|
+
}
|
|
140
|
+
return _localctx;
|
|
141
|
+
}
|
|
142
|
+
// @RuleVersion(0)
|
|
143
|
+
public tagSpec(): TagSpecContext {
|
|
144
|
+
let _localctx: TagSpecContext = new TagSpecContext(this._ctx, this.state);
|
|
145
|
+
this.enterRule(_localctx, 2, MalloyTagParser.RULE_tagSpec);
|
|
146
|
+
let _la: number;
|
|
147
|
+
try {
|
|
148
|
+
this.state = 49;
|
|
149
|
+
this._errHandler.sync(this);
|
|
150
|
+
switch ( this.interpreter.adaptivePredict(this._input, 4, this._ctx) ) {
|
|
151
|
+
case 1:
|
|
152
|
+
_localctx = new TagEqContext(_localctx);
|
|
153
|
+
this.enterOuterAlt(_localctx, 1);
|
|
154
|
+
{
|
|
155
|
+
this.state = 28;
|
|
156
|
+
this.propName();
|
|
157
|
+
this.state = 29;
|
|
158
|
+
this.match(MalloyTagParser.EQ);
|
|
159
|
+
this.state = 30;
|
|
160
|
+
this.eqValue();
|
|
161
|
+
this.state = 32;
|
|
162
|
+
this._errHandler.sync(this);
|
|
163
|
+
_la = this._input.LA(1);
|
|
164
|
+
if (_la === MalloyTagParser.PR_BEG) {
|
|
165
|
+
{
|
|
166
|
+
this.state = 31;
|
|
167
|
+
this.properties();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
|
|
174
|
+
case 2:
|
|
175
|
+
_localctx = new TagReplacePropertiesContext(_localctx);
|
|
176
|
+
this.enterOuterAlt(_localctx, 2);
|
|
177
|
+
{
|
|
178
|
+
this.state = 34;
|
|
179
|
+
this.propName();
|
|
180
|
+
this.state = 35;
|
|
181
|
+
this.match(MalloyTagParser.EQ);
|
|
182
|
+
this.state = 37;
|
|
183
|
+
this._errHandler.sync(this);
|
|
184
|
+
_la = this._input.LA(1);
|
|
185
|
+
if (_la === MalloyTagParser.DOTTY) {
|
|
186
|
+
{
|
|
187
|
+
this.state = 36;
|
|
188
|
+
this.match(MalloyTagParser.DOTTY);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
this.state = 39;
|
|
193
|
+
this.properties();
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
|
|
197
|
+
case 3:
|
|
198
|
+
_localctx = new TagUpdatePropertiesContext(_localctx);
|
|
199
|
+
this.enterOuterAlt(_localctx, 3);
|
|
200
|
+
{
|
|
201
|
+
this.state = 41;
|
|
202
|
+
this.propName();
|
|
203
|
+
this.state = 42;
|
|
204
|
+
this.properties();
|
|
205
|
+
}
|
|
206
|
+
break;
|
|
207
|
+
|
|
208
|
+
case 4:
|
|
209
|
+
_localctx = new TagDefContext(_localctx);
|
|
210
|
+
this.enterOuterAlt(_localctx, 4);
|
|
211
|
+
{
|
|
212
|
+
this.state = 45;
|
|
213
|
+
this._errHandler.sync(this);
|
|
214
|
+
_la = this._input.LA(1);
|
|
215
|
+
if (_la === MalloyTagParser.MINUS) {
|
|
216
|
+
{
|
|
217
|
+
this.state = 44;
|
|
218
|
+
this.match(MalloyTagParser.MINUS);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
this.state = 47;
|
|
223
|
+
this.propName();
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
|
|
227
|
+
case 5:
|
|
228
|
+
_localctx = new TagEmptyContext(_localctx);
|
|
229
|
+
this.enterOuterAlt(_localctx, 5);
|
|
230
|
+
{
|
|
231
|
+
this.state = 48;
|
|
232
|
+
this.match(MalloyTagParser.MINUS_DOTTY);
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch (re) {
|
|
238
|
+
if (re instanceof RecognitionException) {
|
|
239
|
+
_localctx.exception = re;
|
|
240
|
+
this._errHandler.reportError(this, re);
|
|
241
|
+
this._errHandler.recover(this, re);
|
|
242
|
+
} else {
|
|
243
|
+
throw re;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
this.exitRule();
|
|
248
|
+
}
|
|
249
|
+
return _localctx;
|
|
250
|
+
}
|
|
251
|
+
// @RuleVersion(0)
|
|
252
|
+
public string(): StringContext {
|
|
253
|
+
let _localctx: StringContext = new StringContext(this._ctx, this.state);
|
|
254
|
+
this.enterRule(_localctx, 4, MalloyTagParser.RULE_string);
|
|
255
|
+
let _la: number;
|
|
256
|
+
try {
|
|
257
|
+
this.enterOuterAlt(_localctx, 1);
|
|
258
|
+
{
|
|
259
|
+
this.state = 51;
|
|
260
|
+
_la = this._input.LA(1);
|
|
261
|
+
if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << MalloyTagParser.SQ_STRING) | (1 << MalloyTagParser.DQ_STRING) | (1 << MalloyTagParser.NUMERIC_LITERAL) | (1 << MalloyTagParser.BARE_STRING))) !== 0))) {
|
|
262
|
+
this._errHandler.recoverInline(this);
|
|
263
|
+
} else {
|
|
264
|
+
if (this._input.LA(1) === Token.EOF) {
|
|
265
|
+
this.matchedEOF = true;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
this._errHandler.reportMatch(this);
|
|
269
|
+
this.consume();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
catch (re) {
|
|
274
|
+
if (re instanceof RecognitionException) {
|
|
275
|
+
_localctx.exception = re;
|
|
276
|
+
this._errHandler.reportError(this, re);
|
|
277
|
+
this._errHandler.recover(this, re);
|
|
278
|
+
} else {
|
|
279
|
+
throw re;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
this.exitRule();
|
|
284
|
+
}
|
|
285
|
+
return _localctx;
|
|
286
|
+
}
|
|
287
|
+
// @RuleVersion(0)
|
|
288
|
+
public identifier(): IdentifierContext {
|
|
289
|
+
let _localctx: IdentifierContext = new IdentifierContext(this._ctx, this.state);
|
|
290
|
+
this.enterRule(_localctx, 6, MalloyTagParser.RULE_identifier);
|
|
291
|
+
let _la: number;
|
|
292
|
+
try {
|
|
293
|
+
this.enterOuterAlt(_localctx, 1);
|
|
294
|
+
{
|
|
295
|
+
this.state = 53;
|
|
296
|
+
_la = this._input.LA(1);
|
|
297
|
+
if (!(_la === MalloyTagParser.BQ_STRING || _la === MalloyTagParser.BARE_STRING)) {
|
|
298
|
+
this._errHandler.recoverInline(this);
|
|
299
|
+
} else {
|
|
300
|
+
if (this._input.LA(1) === Token.EOF) {
|
|
301
|
+
this.matchedEOF = true;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
this._errHandler.reportMatch(this);
|
|
305
|
+
this.consume();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch (re) {
|
|
310
|
+
if (re instanceof RecognitionException) {
|
|
311
|
+
_localctx.exception = re;
|
|
312
|
+
this._errHandler.reportError(this, re);
|
|
313
|
+
this._errHandler.recover(this, re);
|
|
314
|
+
} else {
|
|
315
|
+
throw re;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
finally {
|
|
319
|
+
this.exitRule();
|
|
320
|
+
}
|
|
321
|
+
return _localctx;
|
|
322
|
+
}
|
|
323
|
+
// @RuleVersion(0)
|
|
324
|
+
public propName(): PropNameContext {
|
|
325
|
+
let _localctx: PropNameContext = new PropNameContext(this._ctx, this.state);
|
|
326
|
+
this.enterRule(_localctx, 8, MalloyTagParser.RULE_propName);
|
|
327
|
+
let _la: number;
|
|
328
|
+
try {
|
|
329
|
+
this.enterOuterAlt(_localctx, 1);
|
|
330
|
+
{
|
|
331
|
+
this.state = 55;
|
|
332
|
+
this.identifier();
|
|
333
|
+
this.state = 60;
|
|
334
|
+
this._errHandler.sync(this);
|
|
335
|
+
_la = this._input.LA(1);
|
|
336
|
+
while (_la === MalloyTagParser.DOT) {
|
|
337
|
+
{
|
|
338
|
+
{
|
|
339
|
+
this.state = 56;
|
|
340
|
+
this.match(MalloyTagParser.DOT);
|
|
341
|
+
this.state = 57;
|
|
342
|
+
this.identifier();
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
this.state = 62;
|
|
346
|
+
this._errHandler.sync(this);
|
|
347
|
+
_la = this._input.LA(1);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
catch (re) {
|
|
352
|
+
if (re instanceof RecognitionException) {
|
|
353
|
+
_localctx.exception = re;
|
|
354
|
+
this._errHandler.reportError(this, re);
|
|
355
|
+
this._errHandler.recover(this, re);
|
|
356
|
+
} else {
|
|
357
|
+
throw re;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
finally {
|
|
361
|
+
this.exitRule();
|
|
362
|
+
}
|
|
363
|
+
return _localctx;
|
|
364
|
+
}
|
|
365
|
+
// @RuleVersion(0)
|
|
366
|
+
public eqValue(): EqValueContext {
|
|
367
|
+
let _localctx: EqValueContext = new EqValueContext(this._ctx, this.state);
|
|
368
|
+
this.enterRule(_localctx, 10, MalloyTagParser.RULE_eqValue);
|
|
369
|
+
try {
|
|
370
|
+
this.state = 66;
|
|
371
|
+
this._errHandler.sync(this);
|
|
372
|
+
switch (this._input.LA(1)) {
|
|
373
|
+
case MalloyTagParser.SQ_STRING:
|
|
374
|
+
case MalloyTagParser.DQ_STRING:
|
|
375
|
+
case MalloyTagParser.NUMERIC_LITERAL:
|
|
376
|
+
case MalloyTagParser.BARE_STRING:
|
|
377
|
+
this.enterOuterAlt(_localctx, 1);
|
|
378
|
+
{
|
|
379
|
+
this.state = 63;
|
|
380
|
+
this.string();
|
|
381
|
+
}
|
|
382
|
+
break;
|
|
383
|
+
case MalloyTagParser.AR_BEG:
|
|
384
|
+
this.enterOuterAlt(_localctx, 2);
|
|
385
|
+
{
|
|
386
|
+
this.state = 64;
|
|
387
|
+
this.arrayValue();
|
|
388
|
+
}
|
|
389
|
+
break;
|
|
390
|
+
case MalloyTagParser.RF_BEG:
|
|
391
|
+
this.enterOuterAlt(_localctx, 3);
|
|
392
|
+
{
|
|
393
|
+
this.state = 65;
|
|
394
|
+
this.reference();
|
|
395
|
+
}
|
|
396
|
+
break;
|
|
397
|
+
default:
|
|
398
|
+
throw new NoViableAltException(this);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
catch (re) {
|
|
402
|
+
if (re instanceof RecognitionException) {
|
|
403
|
+
_localctx.exception = re;
|
|
404
|
+
this._errHandler.reportError(this, re);
|
|
405
|
+
this._errHandler.recover(this, re);
|
|
406
|
+
} else {
|
|
407
|
+
throw re;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
finally {
|
|
411
|
+
this.exitRule();
|
|
412
|
+
}
|
|
413
|
+
return _localctx;
|
|
414
|
+
}
|
|
415
|
+
// @RuleVersion(0)
|
|
416
|
+
public arrayElement(): ArrayElementContext {
|
|
417
|
+
let _localctx: ArrayElementContext = new ArrayElementContext(this._ctx, this.state);
|
|
418
|
+
this.enterRule(_localctx, 12, MalloyTagParser.RULE_arrayElement);
|
|
419
|
+
let _la: number;
|
|
420
|
+
try {
|
|
421
|
+
this.state = 75;
|
|
422
|
+
this._errHandler.sync(this);
|
|
423
|
+
switch (this._input.LA(1)) {
|
|
424
|
+
case MalloyTagParser.SQ_STRING:
|
|
425
|
+
case MalloyTagParser.DQ_STRING:
|
|
426
|
+
case MalloyTagParser.NUMERIC_LITERAL:
|
|
427
|
+
case MalloyTagParser.BARE_STRING:
|
|
428
|
+
this.enterOuterAlt(_localctx, 1);
|
|
429
|
+
{
|
|
430
|
+
this.state = 68;
|
|
431
|
+
this.string();
|
|
432
|
+
this.state = 70;
|
|
433
|
+
this._errHandler.sync(this);
|
|
434
|
+
_la = this._input.LA(1);
|
|
435
|
+
if (_la === MalloyTagParser.PR_BEG) {
|
|
436
|
+
{
|
|
437
|
+
this.state = 69;
|
|
438
|
+
this.properties();
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
}
|
|
443
|
+
break;
|
|
444
|
+
case MalloyTagParser.PR_BEG:
|
|
445
|
+
this.enterOuterAlt(_localctx, 2);
|
|
446
|
+
{
|
|
447
|
+
this.state = 72;
|
|
448
|
+
this.properties();
|
|
449
|
+
}
|
|
450
|
+
break;
|
|
451
|
+
case MalloyTagParser.AR_BEG:
|
|
452
|
+
this.enterOuterAlt(_localctx, 3);
|
|
453
|
+
{
|
|
454
|
+
this.state = 73;
|
|
455
|
+
this.arrayValue();
|
|
456
|
+
}
|
|
457
|
+
break;
|
|
458
|
+
case MalloyTagParser.RF_BEG:
|
|
459
|
+
this.enterOuterAlt(_localctx, 4);
|
|
460
|
+
{
|
|
461
|
+
this.state = 74;
|
|
462
|
+
this.reference();
|
|
463
|
+
}
|
|
464
|
+
break;
|
|
465
|
+
default:
|
|
466
|
+
throw new NoViableAltException(this);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
catch (re) {
|
|
470
|
+
if (re instanceof RecognitionException) {
|
|
471
|
+
_localctx.exception = re;
|
|
472
|
+
this._errHandler.reportError(this, re);
|
|
473
|
+
this._errHandler.recover(this, re);
|
|
474
|
+
} else {
|
|
475
|
+
throw re;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
finally {
|
|
479
|
+
this.exitRule();
|
|
480
|
+
}
|
|
481
|
+
return _localctx;
|
|
482
|
+
}
|
|
483
|
+
// @RuleVersion(0)
|
|
484
|
+
public reference(): ReferenceContext {
|
|
485
|
+
let _localctx: ReferenceContext = new ReferenceContext(this._ctx, this.state);
|
|
486
|
+
this.enterRule(_localctx, 14, MalloyTagParser.RULE_reference);
|
|
487
|
+
try {
|
|
488
|
+
this.enterOuterAlt(_localctx, 1);
|
|
489
|
+
{
|
|
490
|
+
this.state = 77;
|
|
491
|
+
this.match(MalloyTagParser.RF_BEG);
|
|
492
|
+
this.state = 78;
|
|
493
|
+
this.propName();
|
|
494
|
+
this.state = 79;
|
|
495
|
+
this.match(MalloyTagParser.RF_END);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
catch (re) {
|
|
499
|
+
if (re instanceof RecognitionException) {
|
|
500
|
+
_localctx.exception = re;
|
|
501
|
+
this._errHandler.reportError(this, re);
|
|
502
|
+
this._errHandler.recover(this, re);
|
|
503
|
+
} else {
|
|
504
|
+
throw re;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
finally {
|
|
508
|
+
this.exitRule();
|
|
509
|
+
}
|
|
510
|
+
return _localctx;
|
|
511
|
+
}
|
|
512
|
+
// @RuleVersion(0)
|
|
513
|
+
public arrayValue(): ArrayValueContext {
|
|
514
|
+
let _localctx: ArrayValueContext = new ArrayValueContext(this._ctx, this.state);
|
|
515
|
+
this.enterRule(_localctx, 16, MalloyTagParser.RULE_arrayValue);
|
|
516
|
+
let _la: number;
|
|
517
|
+
try {
|
|
518
|
+
let _alt: number;
|
|
519
|
+
this.enterOuterAlt(_localctx, 1);
|
|
520
|
+
{
|
|
521
|
+
this.state = 81;
|
|
522
|
+
this.match(MalloyTagParser.AR_BEG);
|
|
523
|
+
this.state = 82;
|
|
524
|
+
this.arrayElement();
|
|
525
|
+
this.state = 87;
|
|
526
|
+
this._errHandler.sync(this);
|
|
527
|
+
_alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
|
|
528
|
+
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
|
|
529
|
+
if (_alt === 1) {
|
|
530
|
+
{
|
|
531
|
+
{
|
|
532
|
+
this.state = 83;
|
|
533
|
+
this.match(MalloyTagParser.COMMA);
|
|
534
|
+
this.state = 84;
|
|
535
|
+
this.arrayElement();
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
this.state = 89;
|
|
540
|
+
this._errHandler.sync(this);
|
|
541
|
+
_alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
|
|
542
|
+
}
|
|
543
|
+
this.state = 91;
|
|
544
|
+
this._errHandler.sync(this);
|
|
545
|
+
_la = this._input.LA(1);
|
|
546
|
+
if (_la === MalloyTagParser.COMMA) {
|
|
547
|
+
{
|
|
548
|
+
this.state = 90;
|
|
549
|
+
this.match(MalloyTagParser.COMMA);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
this.state = 93;
|
|
554
|
+
this.match(MalloyTagParser.AR_END);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
catch (re) {
|
|
558
|
+
if (re instanceof RecognitionException) {
|
|
559
|
+
_localctx.exception = re;
|
|
560
|
+
this._errHandler.reportError(this, re);
|
|
561
|
+
this._errHandler.recover(this, re);
|
|
562
|
+
} else {
|
|
563
|
+
throw re;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
finally {
|
|
567
|
+
this.exitRule();
|
|
568
|
+
}
|
|
569
|
+
return _localctx;
|
|
570
|
+
}
|
|
571
|
+
// @RuleVersion(0)
|
|
572
|
+
public properties(): PropertiesContext {
|
|
573
|
+
let _localctx: PropertiesContext = new PropertiesContext(this._ctx, this.state);
|
|
574
|
+
this.enterRule(_localctx, 18, MalloyTagParser.RULE_properties);
|
|
575
|
+
let _la: number;
|
|
576
|
+
try {
|
|
577
|
+
this.enterOuterAlt(_localctx, 1);
|
|
578
|
+
{
|
|
579
|
+
this.state = 95;
|
|
580
|
+
this.match(MalloyTagParser.PR_BEG);
|
|
581
|
+
this.state = 103;
|
|
582
|
+
this._errHandler.sync(this);
|
|
583
|
+
switch (this._input.LA(1)) {
|
|
584
|
+
case MalloyTagParser.DOTTY:
|
|
585
|
+
{
|
|
586
|
+
this.state = 96;
|
|
587
|
+
this.match(MalloyTagParser.DOTTY);
|
|
588
|
+
}
|
|
589
|
+
break;
|
|
590
|
+
case MalloyTagParser.MINUS_DOTTY:
|
|
591
|
+
case MalloyTagParser.MINUS:
|
|
592
|
+
case MalloyTagParser.PR_END:
|
|
593
|
+
case MalloyTagParser.BQ_STRING:
|
|
594
|
+
case MalloyTagParser.BARE_STRING:
|
|
595
|
+
{
|
|
596
|
+
{
|
|
597
|
+
this.state = 100;
|
|
598
|
+
this._errHandler.sync(this);
|
|
599
|
+
_la = this._input.LA(1);
|
|
600
|
+
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << MalloyTagParser.MINUS_DOTTY) | (1 << MalloyTagParser.MINUS) | (1 << MalloyTagParser.BQ_STRING) | (1 << MalloyTagParser.BARE_STRING))) !== 0)) {
|
|
601
|
+
{
|
|
602
|
+
{
|
|
603
|
+
this.state = 97;
|
|
604
|
+
this.tagSpec();
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
this.state = 102;
|
|
608
|
+
this._errHandler.sync(this);
|
|
609
|
+
_la = this._input.LA(1);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
break;
|
|
614
|
+
default:
|
|
615
|
+
throw new NoViableAltException(this);
|
|
616
|
+
}
|
|
617
|
+
this.state = 105;
|
|
618
|
+
this.match(MalloyTagParser.PR_END);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
catch (re) {
|
|
622
|
+
if (re instanceof RecognitionException) {
|
|
623
|
+
_localctx.exception = re;
|
|
624
|
+
this._errHandler.reportError(this, re);
|
|
625
|
+
this._errHandler.recover(this, re);
|
|
626
|
+
} else {
|
|
627
|
+
throw re;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
finally {
|
|
631
|
+
this.exitRule();
|
|
632
|
+
}
|
|
633
|
+
return _localctx;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
public static readonly _serializedATN: string =
|
|
637
|
+
"\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x16n\x04\x02" +
|
|
638
|
+
"\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
|
|
639
|
+
"\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x03\x02\x07\x02\x18\n\x02" +
|
|
640
|
+
"\f\x02\x0E\x02\x1B\v\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03" +
|
|
641
|
+
"\x05\x03#\n\x03\x03\x03\x03\x03\x03\x03\x05\x03(\n\x03\x03\x03\x03\x03" +
|
|
642
|
+
"\x03\x03\x03\x03\x03\x03\x03\x03\x05\x030\n\x03\x03\x03\x03\x03\x05\x03" +
|
|
643
|
+
"4\n\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x07\x06" +
|
|
644
|
+
"=\n\x06\f\x06\x0E\x06@\v\x06\x03\x07\x03\x07\x03\x07\x05\x07E\n\x07\x03" +
|
|
645
|
+
"\b\x03\b\x05\bI\n\b\x03\b\x03\b\x03\b\x05\bN\n\b\x03\t\x03\t\x03\t\x03" +
|
|
646
|
+
"\t\x03\n\x03\n\x03\n\x03\n\x07\nX\n\n\f\n\x0E\n[\v\n\x03\n\x05\n^\n\n" +
|
|
647
|
+
"\x03\n\x03\n\x03\v\x03\v\x03\v\x07\ve\n\v\f\v\x0E\vh\v\v\x05\vj\n\v\x03" +
|
|
648
|
+
"\v\x03\v\x03\v\x02\x02\x02\f\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02" +
|
|
649
|
+
"\x0E\x02\x10\x02\x12\x02\x14\x02\x02\x04\x04\x02\x0F\x10\x12\x13\x04\x02" +
|
|
650
|
+
"\x11\x11\x13\x13\x02v\x02\x19\x03\x02\x02\x02\x043\x03\x02\x02\x02\x06" +
|
|
651
|
+
"5\x03\x02\x02\x02\b7\x03\x02\x02\x02\n9\x03\x02\x02\x02\fD\x03\x02\x02" +
|
|
652
|
+
"\x02\x0EM\x03\x02\x02\x02\x10O\x03\x02\x02\x02\x12S\x03\x02\x02\x02\x14" +
|
|
653
|
+
"a\x03\x02\x02\x02\x16\x18\x05\x04\x03\x02\x17\x16\x03\x02\x02\x02\x18" +
|
|
654
|
+
"\x1B\x03\x02\x02\x02\x19\x17\x03\x02\x02\x02\x19\x1A\x03\x02\x02\x02\x1A" +
|
|
655
|
+
"\x1C\x03\x02\x02\x02\x1B\x19\x03\x02\x02\x02\x1C\x1D\x07\x02\x02\x03\x1D" +
|
|
656
|
+
"\x03\x03\x02\x02\x02\x1E\x1F\x05\n\x06\x02\x1F \x07\x07\x02\x02 \"\x05" +
|
|
657
|
+
"\f\x07\x02!#\x05\x14\v\x02\"!\x03\x02\x02\x02\"#\x03\x02\x02\x02#4\x03" +
|
|
658
|
+
"\x02\x02\x02$%\x05\n\x06\x02%\'\x07\x07\x02\x02&(\x07\x04\x02\x02\'&\x03" +
|
|
659
|
+
"\x02\x02\x02\'(\x03\x02\x02\x02()\x03\x02\x02\x02)*\x05\x14\v\x02*4\x03" +
|
|
660
|
+
"\x02\x02\x02+,\x05\n\x06\x02,-\x05\x14\v\x02-4\x03\x02\x02\x02.0\x07\x06" +
|
|
661
|
+
"\x02\x02/.\x03\x02\x02\x02/0\x03\x02\x02\x0201\x03\x02\x02\x0214\x05\n" +
|
|
662
|
+
"\x06\x0224\x07\x03\x02\x023\x1E\x03\x02\x02\x023$\x03\x02\x02\x023+\x03" +
|
|
663
|
+
"\x02\x02\x023/\x03\x02\x02\x0232\x03\x02\x02\x024\x05\x03\x02\x02\x02" +
|
|
664
|
+
"56\t\x02\x02\x026\x07\x03\x02\x02\x0278\t\x03\x02\x028\t\x03\x02\x02\x02" +
|
|
665
|
+
"9>\x05\b\x05\x02:;\x07\x05\x02\x02;=\x05\b\x05\x02<:\x03\x02\x02\x02=" +
|
|
666
|
+
"@\x03\x02\x02\x02><\x03\x02\x02\x02>?\x03\x02\x02\x02?\v\x03\x02\x02\x02" +
|
|
667
|
+
"@>\x03\x02\x02\x02AE\x05\x06\x04\x02BE\x05\x12\n\x02CE\x05\x10\t\x02D" +
|
|
668
|
+
"A\x03\x02\x02\x02DB\x03\x02\x02\x02DC\x03\x02\x02\x02E\r\x03\x02\x02\x02" +
|
|
669
|
+
"FH\x05\x06\x04\x02GI\x05\x14\v\x02HG\x03\x02\x02\x02HI\x03\x02\x02\x02" +
|
|
670
|
+
"IN\x03\x02\x02\x02JN\x05\x14\v\x02KN\x05\x12\n\x02LN\x05\x10\t\x02MF\x03" +
|
|
671
|
+
"\x02\x02\x02MJ\x03\x02\x02\x02MK\x03\x02\x02\x02ML\x03\x02\x02\x02N\x0F" +
|
|
672
|
+
"\x03\x02\x02\x02OP\x07\b\x02\x02PQ\x05\n\x06\x02QR\x07\t\x02\x02R\x11" +
|
|
673
|
+
"\x03\x02\x02\x02ST\x07\f\x02\x02TY\x05\x0E\b\x02UV\x07\r\x02\x02VX\x05" +
|
|
674
|
+
"\x0E\b\x02WU\x03\x02\x02\x02X[\x03\x02\x02\x02YW\x03\x02\x02\x02YZ\x03" +
|
|
675
|
+
"\x02\x02\x02Z]\x03\x02\x02\x02[Y\x03\x02\x02\x02\\^\x07\r\x02\x02]\\\x03" +
|
|
676
|
+
"\x02\x02\x02]^\x03\x02\x02\x02^_\x03\x02\x02\x02_`\x07\x0E\x02\x02`\x13" +
|
|
677
|
+
"\x03\x02\x02\x02ai\x07\n\x02\x02bj\x07\x04\x02\x02ce\x05\x04\x03\x02d" +
|
|
678
|
+
"c\x03\x02\x02\x02eh\x03\x02\x02\x02fd\x03\x02\x02\x02fg\x03\x02\x02\x02" +
|
|
679
|
+
"gj\x03\x02\x02\x02hf\x03\x02\x02\x02ib\x03\x02\x02\x02if\x03\x02\x02\x02" +
|
|
680
|
+
"jk\x03\x02\x02\x02kl\x07\v\x02\x02l\x15\x03\x02\x02\x02\x0F\x19\"\'/3" +
|
|
681
|
+
">DHMY]fi";
|
|
682
|
+
public static __ATN: ATN;
|
|
683
|
+
public static get _ATN(): ATN {
|
|
684
|
+
if (!MalloyTagParser.__ATN) {
|
|
685
|
+
MalloyTagParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(MalloyTagParser._serializedATN));
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
return MalloyTagParser.__ATN;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
export class TagLineContext extends ParserRuleContext {
|
|
694
|
+
public EOF(): TerminalNode { return this.getToken(MalloyTagParser.EOF, 0); }
|
|
695
|
+
public tagSpec(): TagSpecContext[];
|
|
696
|
+
public tagSpec(i: number): TagSpecContext;
|
|
697
|
+
public tagSpec(i?: number): TagSpecContext | TagSpecContext[] {
|
|
698
|
+
if (i === undefined) {
|
|
699
|
+
return this.getRuleContexts(TagSpecContext);
|
|
700
|
+
} else {
|
|
701
|
+
return this.getRuleContext(i, TagSpecContext);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
705
|
+
super(parent, invokingState);
|
|
706
|
+
}
|
|
707
|
+
// @Override
|
|
708
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_tagLine; }
|
|
709
|
+
// @Override
|
|
710
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
711
|
+
if (visitor.visitTagLine) {
|
|
712
|
+
return visitor.visitTagLine(this);
|
|
713
|
+
} else {
|
|
714
|
+
return visitor.visitChildren(this);
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
export class TagSpecContext extends ParserRuleContext {
|
|
721
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
722
|
+
super(parent, invokingState);
|
|
723
|
+
}
|
|
724
|
+
// @Override
|
|
725
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_tagSpec; }
|
|
726
|
+
public copyFrom(ctx: TagSpecContext): void {
|
|
727
|
+
super.copyFrom(ctx);
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
export class TagEqContext extends TagSpecContext {
|
|
731
|
+
public propName(): PropNameContext {
|
|
732
|
+
return this.getRuleContext(0, PropNameContext);
|
|
733
|
+
}
|
|
734
|
+
public EQ(): TerminalNode { return this.getToken(MalloyTagParser.EQ, 0); }
|
|
735
|
+
public eqValue(): EqValueContext {
|
|
736
|
+
return this.getRuleContext(0, EqValueContext);
|
|
737
|
+
}
|
|
738
|
+
public properties(): PropertiesContext | undefined {
|
|
739
|
+
return this.tryGetRuleContext(0, PropertiesContext);
|
|
740
|
+
}
|
|
741
|
+
constructor(ctx: TagSpecContext) {
|
|
742
|
+
super(ctx.parent, ctx.invokingState);
|
|
743
|
+
this.copyFrom(ctx);
|
|
744
|
+
}
|
|
745
|
+
// @Override
|
|
746
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
747
|
+
if (visitor.visitTagEq) {
|
|
748
|
+
return visitor.visitTagEq(this);
|
|
749
|
+
} else {
|
|
750
|
+
return visitor.visitChildren(this);
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
export class TagReplacePropertiesContext extends TagSpecContext {
|
|
755
|
+
public propName(): PropNameContext {
|
|
756
|
+
return this.getRuleContext(0, PropNameContext);
|
|
757
|
+
}
|
|
758
|
+
public EQ(): TerminalNode { return this.getToken(MalloyTagParser.EQ, 0); }
|
|
759
|
+
public properties(): PropertiesContext {
|
|
760
|
+
return this.getRuleContext(0, PropertiesContext);
|
|
761
|
+
}
|
|
762
|
+
public DOTTY(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.DOTTY, 0); }
|
|
763
|
+
constructor(ctx: TagSpecContext) {
|
|
764
|
+
super(ctx.parent, ctx.invokingState);
|
|
765
|
+
this.copyFrom(ctx);
|
|
766
|
+
}
|
|
767
|
+
// @Override
|
|
768
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
769
|
+
if (visitor.visitTagReplaceProperties) {
|
|
770
|
+
return visitor.visitTagReplaceProperties(this);
|
|
771
|
+
} else {
|
|
772
|
+
return visitor.visitChildren(this);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
export class TagUpdatePropertiesContext extends TagSpecContext {
|
|
777
|
+
public propName(): PropNameContext {
|
|
778
|
+
return this.getRuleContext(0, PropNameContext);
|
|
779
|
+
}
|
|
780
|
+
public properties(): PropertiesContext {
|
|
781
|
+
return this.getRuleContext(0, PropertiesContext);
|
|
782
|
+
}
|
|
783
|
+
constructor(ctx: TagSpecContext) {
|
|
784
|
+
super(ctx.parent, ctx.invokingState);
|
|
785
|
+
this.copyFrom(ctx);
|
|
786
|
+
}
|
|
787
|
+
// @Override
|
|
788
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
789
|
+
if (visitor.visitTagUpdateProperties) {
|
|
790
|
+
return visitor.visitTagUpdateProperties(this);
|
|
791
|
+
} else {
|
|
792
|
+
return visitor.visitChildren(this);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
export class TagDefContext extends TagSpecContext {
|
|
797
|
+
public propName(): PropNameContext {
|
|
798
|
+
return this.getRuleContext(0, PropNameContext);
|
|
799
|
+
}
|
|
800
|
+
public MINUS(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.MINUS, 0); }
|
|
801
|
+
constructor(ctx: TagSpecContext) {
|
|
802
|
+
super(ctx.parent, ctx.invokingState);
|
|
803
|
+
this.copyFrom(ctx);
|
|
804
|
+
}
|
|
805
|
+
// @Override
|
|
806
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
807
|
+
if (visitor.visitTagDef) {
|
|
808
|
+
return visitor.visitTagDef(this);
|
|
809
|
+
} else {
|
|
810
|
+
return visitor.visitChildren(this);
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
export class TagEmptyContext extends TagSpecContext {
|
|
815
|
+
public MINUS_DOTTY(): TerminalNode { return this.getToken(MalloyTagParser.MINUS_DOTTY, 0); }
|
|
816
|
+
constructor(ctx: TagSpecContext) {
|
|
817
|
+
super(ctx.parent, ctx.invokingState);
|
|
818
|
+
this.copyFrom(ctx);
|
|
819
|
+
}
|
|
820
|
+
// @Override
|
|
821
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
822
|
+
if (visitor.visitTagEmpty) {
|
|
823
|
+
return visitor.visitTagEmpty(this);
|
|
824
|
+
} else {
|
|
825
|
+
return visitor.visitChildren(this);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
export class StringContext extends ParserRuleContext {
|
|
832
|
+
public SQ_STRING(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.SQ_STRING, 0); }
|
|
833
|
+
public DQ_STRING(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.DQ_STRING, 0); }
|
|
834
|
+
public BARE_STRING(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.BARE_STRING, 0); }
|
|
835
|
+
public NUMERIC_LITERAL(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.NUMERIC_LITERAL, 0); }
|
|
836
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
837
|
+
super(parent, invokingState);
|
|
838
|
+
}
|
|
839
|
+
// @Override
|
|
840
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_string; }
|
|
841
|
+
// @Override
|
|
842
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
843
|
+
if (visitor.visitString) {
|
|
844
|
+
return visitor.visitString(this);
|
|
845
|
+
} else {
|
|
846
|
+
return visitor.visitChildren(this);
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
export class IdentifierContext extends ParserRuleContext {
|
|
853
|
+
public BQ_STRING(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.BQ_STRING, 0); }
|
|
854
|
+
public BARE_STRING(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.BARE_STRING, 0); }
|
|
855
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
856
|
+
super(parent, invokingState);
|
|
857
|
+
}
|
|
858
|
+
// @Override
|
|
859
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_identifier; }
|
|
860
|
+
// @Override
|
|
861
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
862
|
+
if (visitor.visitIdentifier) {
|
|
863
|
+
return visitor.visitIdentifier(this);
|
|
864
|
+
} else {
|
|
865
|
+
return visitor.visitChildren(this);
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
export class PropNameContext extends ParserRuleContext {
|
|
872
|
+
public identifier(): IdentifierContext[];
|
|
873
|
+
public identifier(i: number): IdentifierContext;
|
|
874
|
+
public identifier(i?: number): IdentifierContext | IdentifierContext[] {
|
|
875
|
+
if (i === undefined) {
|
|
876
|
+
return this.getRuleContexts(IdentifierContext);
|
|
877
|
+
} else {
|
|
878
|
+
return this.getRuleContext(i, IdentifierContext);
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
public DOT(): TerminalNode[];
|
|
882
|
+
public DOT(i: number): TerminalNode;
|
|
883
|
+
public DOT(i?: number): TerminalNode | TerminalNode[] {
|
|
884
|
+
if (i === undefined) {
|
|
885
|
+
return this.getTokens(MalloyTagParser.DOT);
|
|
886
|
+
} else {
|
|
887
|
+
return this.getToken(MalloyTagParser.DOT, i);
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
891
|
+
super(parent, invokingState);
|
|
892
|
+
}
|
|
893
|
+
// @Override
|
|
894
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_propName; }
|
|
895
|
+
// @Override
|
|
896
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
897
|
+
if (visitor.visitPropName) {
|
|
898
|
+
return visitor.visitPropName(this);
|
|
899
|
+
} else {
|
|
900
|
+
return visitor.visitChildren(this);
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
|
|
906
|
+
export class EqValueContext extends ParserRuleContext {
|
|
907
|
+
public string(): StringContext | undefined {
|
|
908
|
+
return this.tryGetRuleContext(0, StringContext);
|
|
909
|
+
}
|
|
910
|
+
public arrayValue(): ArrayValueContext | undefined {
|
|
911
|
+
return this.tryGetRuleContext(0, ArrayValueContext);
|
|
912
|
+
}
|
|
913
|
+
public reference(): ReferenceContext | undefined {
|
|
914
|
+
return this.tryGetRuleContext(0, ReferenceContext);
|
|
915
|
+
}
|
|
916
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
917
|
+
super(parent, invokingState);
|
|
918
|
+
}
|
|
919
|
+
// @Override
|
|
920
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_eqValue; }
|
|
921
|
+
// @Override
|
|
922
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
923
|
+
if (visitor.visitEqValue) {
|
|
924
|
+
return visitor.visitEqValue(this);
|
|
925
|
+
} else {
|
|
926
|
+
return visitor.visitChildren(this);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
export class ArrayElementContext extends ParserRuleContext {
|
|
933
|
+
public string(): StringContext | undefined {
|
|
934
|
+
return this.tryGetRuleContext(0, StringContext);
|
|
935
|
+
}
|
|
936
|
+
public properties(): PropertiesContext | undefined {
|
|
937
|
+
return this.tryGetRuleContext(0, PropertiesContext);
|
|
938
|
+
}
|
|
939
|
+
public arrayValue(): ArrayValueContext | undefined {
|
|
940
|
+
return this.tryGetRuleContext(0, ArrayValueContext);
|
|
941
|
+
}
|
|
942
|
+
public reference(): ReferenceContext | undefined {
|
|
943
|
+
return this.tryGetRuleContext(0, ReferenceContext);
|
|
944
|
+
}
|
|
945
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
946
|
+
super(parent, invokingState);
|
|
947
|
+
}
|
|
948
|
+
// @Override
|
|
949
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_arrayElement; }
|
|
950
|
+
// @Override
|
|
951
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
952
|
+
if (visitor.visitArrayElement) {
|
|
953
|
+
return visitor.visitArrayElement(this);
|
|
954
|
+
} else {
|
|
955
|
+
return visitor.visitChildren(this);
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
export class ReferenceContext extends ParserRuleContext {
|
|
962
|
+
public RF_BEG(): TerminalNode { return this.getToken(MalloyTagParser.RF_BEG, 0); }
|
|
963
|
+
public propName(): PropNameContext {
|
|
964
|
+
return this.getRuleContext(0, PropNameContext);
|
|
965
|
+
}
|
|
966
|
+
public RF_END(): TerminalNode { return this.getToken(MalloyTagParser.RF_END, 0); }
|
|
967
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
968
|
+
super(parent, invokingState);
|
|
969
|
+
}
|
|
970
|
+
// @Override
|
|
971
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_reference; }
|
|
972
|
+
// @Override
|
|
973
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
974
|
+
if (visitor.visitReference) {
|
|
975
|
+
return visitor.visitReference(this);
|
|
976
|
+
} else {
|
|
977
|
+
return visitor.visitChildren(this);
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
export class ArrayValueContext extends ParserRuleContext {
|
|
984
|
+
public AR_BEG(): TerminalNode { return this.getToken(MalloyTagParser.AR_BEG, 0); }
|
|
985
|
+
public arrayElement(): ArrayElementContext[];
|
|
986
|
+
public arrayElement(i: number): ArrayElementContext;
|
|
987
|
+
public arrayElement(i?: number): ArrayElementContext | ArrayElementContext[] {
|
|
988
|
+
if (i === undefined) {
|
|
989
|
+
return this.getRuleContexts(ArrayElementContext);
|
|
990
|
+
} else {
|
|
991
|
+
return this.getRuleContext(i, ArrayElementContext);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
public AR_END(): TerminalNode { return this.getToken(MalloyTagParser.AR_END, 0); }
|
|
995
|
+
public COMMA(): TerminalNode[];
|
|
996
|
+
public COMMA(i: number): TerminalNode;
|
|
997
|
+
public COMMA(i?: number): TerminalNode | TerminalNode[] {
|
|
998
|
+
if (i === undefined) {
|
|
999
|
+
return this.getTokens(MalloyTagParser.COMMA);
|
|
1000
|
+
} else {
|
|
1001
|
+
return this.getToken(MalloyTagParser.COMMA, i);
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
1005
|
+
super(parent, invokingState);
|
|
1006
|
+
}
|
|
1007
|
+
// @Override
|
|
1008
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_arrayValue; }
|
|
1009
|
+
// @Override
|
|
1010
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
1011
|
+
if (visitor.visitArrayValue) {
|
|
1012
|
+
return visitor.visitArrayValue(this);
|
|
1013
|
+
} else {
|
|
1014
|
+
return visitor.visitChildren(this);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
export class PropertiesContext extends ParserRuleContext {
|
|
1021
|
+
public PR_BEG(): TerminalNode { return this.getToken(MalloyTagParser.PR_BEG, 0); }
|
|
1022
|
+
public PR_END(): TerminalNode { return this.getToken(MalloyTagParser.PR_END, 0); }
|
|
1023
|
+
public DOTTY(): TerminalNode | undefined { return this.tryGetToken(MalloyTagParser.DOTTY, 0); }
|
|
1024
|
+
public tagSpec(): TagSpecContext[];
|
|
1025
|
+
public tagSpec(i: number): TagSpecContext;
|
|
1026
|
+
public tagSpec(i?: number): TagSpecContext | TagSpecContext[] {
|
|
1027
|
+
if (i === undefined) {
|
|
1028
|
+
return this.getRuleContexts(TagSpecContext);
|
|
1029
|
+
} else {
|
|
1030
|
+
return this.getRuleContext(i, TagSpecContext);
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
constructor(parent: ParserRuleContext | undefined, invokingState: number) {
|
|
1034
|
+
super(parent, invokingState);
|
|
1035
|
+
}
|
|
1036
|
+
// @Override
|
|
1037
|
+
public get ruleIndex(): number { return MalloyTagParser.RULE_properties; }
|
|
1038
|
+
// @Override
|
|
1039
|
+
public accept<Result>(visitor: MalloyTagVisitor<Result>): Result {
|
|
1040
|
+
if (visitor.visitProperties) {
|
|
1041
|
+
return visitor.visitProperties(this);
|
|
1042
|
+
} else {
|
|
1043
|
+
return visitor.visitChildren(this);
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
|