@plurnk/plurnk-grammar 0.1.1 → 0.2.1

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.
@@ -10,32 +10,35 @@ export class plurnkLexer extends antlr.Lexer {
10
10
  public static readonly RPAREN = 4;
11
11
  public static readonly L_MARKER = 5;
12
12
  public static readonly COLON = 6;
13
- public static readonly SIGNAL_TEXT = 7;
14
- public static readonly PATH_TEXT = 8;
15
- public static readonly BODY_TEXT = 9;
16
- public static readonly CLOSE_TAG = 10;
17
- public static readonly TEXT = 11;
18
- public static readonly OPEN_FIND = 12;
19
- public static readonly OPEN_READ = 13;
20
- public static readonly OPEN_EDIT = 14;
21
- public static readonly OPEN_COPY = 15;
22
- public static readonly OPEN_MOVE = 16;
23
- public static readonly OPEN_SHOW = 17;
24
- public static readonly OPEN_HIDE = 18;
25
- public static readonly OPEN_SEND = 19;
26
- public static readonly OPEN_EXEC = 20;
27
- public static readonly OPENED_WS = 21;
28
- public static readonly PS_WS = 22;
29
- public static readonly PP_WS = 23;
30
- public static readonly PL_WS = 24;
31
- public static readonly BODY_COLON = 25;
32
- public static readonly OPENED = 1;
33
- public static readonly POST_SIGNAL = 2;
34
- public static readonly POST_PATH = 3;
35
- public static readonly POST_L = 4;
36
- public static readonly SIGNAL = 5;
37
- public static readonly PATH = 6;
38
- public static readonly BODY = 7;
13
+ public static readonly COMMA = 7;
14
+ public static readonly INT = 8;
15
+ public static readonly IDENT = 9;
16
+ public static readonly TAG = 10;
17
+ public static readonly PATH_TEXT = 11;
18
+ public static readonly BODY_TEXT = 12;
19
+ public static readonly CLOSE_TAG = 13;
20
+ public static readonly TEXT = 14;
21
+ public static readonly OPEN_FIND = 15;
22
+ public static readonly OPEN_READ = 16;
23
+ public static readonly OPEN_EDIT = 17;
24
+ public static readonly OPEN_COPY = 18;
25
+ public static readonly OPEN_MOVE = 19;
26
+ public static readonly OPEN_SHOW = 20;
27
+ public static readonly OPEN_HIDE = 21;
28
+ public static readonly OPEN_SEND = 22;
29
+ public static readonly OPEN_EXEC = 23;
30
+ public static readonly SLOTS_WS = 24;
31
+ public static readonly ST_WS = 25;
32
+ public static readonly SI_WS = 26;
33
+ public static readonly SD_WS = 27;
34
+ public static readonly ST_COMMA = 28;
35
+ public static readonly B_COLON = 29;
36
+ public static readonly SLOTS = 1;
37
+ public static readonly SIGNAL_TAGS = 2;
38
+ public static readonly SIGNAL_INT = 3;
39
+ public static readonly SIGNAL_IDENT = 4;
40
+ public static readonly PATH = 5;
41
+ public static readonly BODY = 6;
39
42
 
40
43
  public static readonly channelNames = [
41
44
  "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
@@ -44,38 +47,47 @@ export class plurnkLexer extends antlr.Lexer {
44
47
  public static readonly literalNames = [
45
48
  null, null, null, null, null, null, null, null, null, null, null,
46
49
  null, null, null, null, null, null, null, null, null, null, null,
47
- null, null, null, "':'"
50
+ null, null, null, null, null, null, "','", "':'"
48
51
  ];
49
52
 
50
53
  public static readonly symbolicNames = [
51
54
  null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
52
- "SIGNAL_TEXT", "PATH_TEXT", "BODY_TEXT", "CLOSE_TAG", "TEXT", "OPEN_FIND",
53
- "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_SHOW",
54
- "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "OPENED_WS", "PS_WS", "PP_WS",
55
- "PL_WS", "BODY_COLON"
55
+ "COMMA", "INT", "IDENT", "TAG", "PATH_TEXT", "BODY_TEXT", "CLOSE_TAG",
56
+ "TEXT", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
57
+ "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "SLOTS_WS",
58
+ "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
56
59
  ];
57
60
 
58
61
  public static readonly modeNames = [
59
- "DEFAULT_MODE", "OPENED", "POST_SIGNAL", "POST_PATH", "POST_L",
60
- "SIGNAL", "PATH", "BODY",
62
+ "DEFAULT_MODE", "SLOTS", "SIGNAL_TAGS", "SIGNAL_INT", "SIGNAL_IDENT",
63
+ "PATH", "BODY",
61
64
  ];
62
65
 
63
66
  public static readonly ruleNames = [
64
67
  "SUFFIX", "L_PATTERN", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY",
65
68
  "OPEN_MOVE", "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC",
66
- "TEXT", "OPENED_WS", "OPENED_LBRACKET", "OPENED_LPAREN", "OPENED_L",
67
- "OPENED_COLON", "PS_WS", "PS_LPAREN", "PS_L", "PS_COLON", "PP_WS",
68
- "PP_L", "PP_COLON", "PL_WS", "PL_COLON", "SIGNAL_INNER", "SIGNAL_END",
69
- "PATH_INNER", "PATH_END", "BODY_CLOSE", "BODY_RUN", "BODY_COLON",
69
+ "TEXT", "SLOTS_WS", "SLOTS_LB_TAGS", "SLOTS_LB_INT", "SLOTS_LB_IDENT",
70
+ "SLOTS_LPAREN", "SLOTS_L", "SLOTS_COLON", "ST_WS", "ST_COMMA", "ST_TAG",
71
+ "ST_END", "SI_WS", "SI_INT", "SI_END", "SD_WS", "SD_IDENT", "SD_END",
72
+ "PATH_INNER", "PATH_END", "B_CLOSE", "B_RUN", "B_COLON",
70
73
  ];
71
74
 
72
75
 
73
76
  private openTag: string = "";
77
+ private openTagLine: number = 0;
78
+ private openTagColumn: number = 0;
74
79
 
75
80
  private setOpenTag(): void {
76
81
  this.openTag = this.text.substring(2);
82
+ // Capture where the open tag began, for reference in mismatched-close-tag errors.
83
+ this.openTagLine = (this as any).currentTokenStartLine;
84
+ this.openTagColumn = (this as any).currentTokenColumn;
77
85
  }
78
86
 
87
+ public getOpenTag(): string { return this.openTag; }
88
+ public getOpenTagLine(): number { return this.openTagLine; }
89
+ public getOpenTagColumn(): number { return this.openTagColumn; }
90
+
79
91
  private atColonCloseTag(): boolean {
80
92
  if (this.inputStream.LA(1) !== 0x3A /* ':' */) return false;
81
93
  const tag = this.openTag;
@@ -103,8 +115,6 @@ export class plurnkLexer extends antlr.Lexer {
103
115
  }
104
116
 
105
117
  private isOpKeywordAfterLtLt(): boolean {
106
- // Called from TEXT rule after '<<' has been matched.
107
- // LA(1) is the first char after '<<'.
108
118
  const ops = ["FIND", "READ", "EDIT", "COPY", "MOVE", "SHOW", "HIDE", "SEND", "EXEC"];
109
119
  for (const op of ops) {
110
120
  let matches = true;
@@ -119,6 +129,9 @@ export class plurnkLexer extends antlr.Lexer {
119
129
  return false;
120
130
  }
121
131
 
132
+ private isSendOp(): boolean { return this.openTag.startsWith("SEND"); }
133
+ private isExecOp(): boolean { return this.openTag.startsWith("EXEC"); }
134
+
122
135
 
123
136
  public constructor(input: antlr.CharStream) {
124
137
  super(input);
@@ -166,8 +179,8 @@ export class plurnkLexer extends antlr.Lexer {
166
179
  case 10:
167
180
  this.OPEN_EXEC_action(localContext, actionIndex);
168
181
  break;
169
- case 30:
170
- this.BODY_CLOSE_action(localContext, actionIndex);
182
+ case 31:
183
+ this.B_CLOSE_action(localContext, actionIndex);
171
184
  break;
172
185
  }
173
186
  }
@@ -234,7 +247,7 @@ export class plurnkLexer extends antlr.Lexer {
234
247
  break;
235
248
  }
236
249
  }
237
- private BODY_CLOSE_action(localContext: antlr.ParserRuleContext | null, actionIndex: number): void {
250
+ private B_CLOSE_action(localContext: antlr.ParserRuleContext | null, actionIndex: number): void {
238
251
  switch (actionIndex) {
239
252
  case 9:
240
253
  this.consumeRestOfCloseTagAfterColon();
@@ -245,8 +258,14 @@ export class plurnkLexer extends antlr.Lexer {
245
258
  switch (ruleIndex) {
246
259
  case 11:
247
260
  return this.TEXT_sempred(localContext, predIndex);
248
- case 30:
249
- return this.BODY_CLOSE_sempred(localContext, predIndex);
261
+ case 13:
262
+ return this.SLOTS_LB_TAGS_sempred(localContext, predIndex);
263
+ case 14:
264
+ return this.SLOTS_LB_INT_sempred(localContext, predIndex);
265
+ case 15:
266
+ return this.SLOTS_LB_IDENT_sempred(localContext, predIndex);
267
+ case 31:
268
+ return this.B_CLOSE_sempred(localContext, predIndex);
250
269
  }
251
270
  return true;
252
271
  }
@@ -257,146 +276,175 @@ export class plurnkLexer extends antlr.Lexer {
257
276
  }
258
277
  return true;
259
278
  }
260
- private BODY_CLOSE_sempred(localContext: antlr.ParserRuleContext | null, predIndex: number): boolean {
279
+ private SLOTS_LB_TAGS_sempred(localContext: antlr.ParserRuleContext | null, predIndex: number): boolean {
261
280
  switch (predIndex) {
262
281
  case 1:
282
+ return !this.isSendOp() && !this.isExecOp() ;
283
+ }
284
+ return true;
285
+ }
286
+ private SLOTS_LB_INT_sempred(localContext: antlr.ParserRuleContext | null, predIndex: number): boolean {
287
+ switch (predIndex) {
288
+ case 2:
289
+ return this.isSendOp() ;
290
+ }
291
+ return true;
292
+ }
293
+ private SLOTS_LB_IDENT_sempred(localContext: antlr.ParserRuleContext | null, predIndex: number): boolean {
294
+ switch (predIndex) {
295
+ case 3:
296
+ return this.isExecOp() ;
297
+ }
298
+ return true;
299
+ }
300
+ private B_CLOSE_sempred(localContext: antlr.ParserRuleContext | null, predIndex: number): boolean {
301
+ switch (predIndex) {
302
+ case 4:
263
303
  return this.atColonCloseTag() ;
264
304
  }
265
305
  return true;
266
306
  }
267
307
 
268
308
  public static readonly _serializedATN: number[] = [
269
- 4,0,25,363,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,
270
- 1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,
271
- 9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,
272
- 16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,
273
- 22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,
274
- 29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,1,0,4,0,76,8,0,11,0,12,0,77,
275
- 1,1,1,1,3,1,82,8,1,1,1,4,1,85,8,1,11,1,12,1,86,1,1,1,1,3,1,91,8,
276
- 1,1,1,4,1,94,8,1,11,1,12,1,95,3,1,98,8,1,1,1,1,1,1,2,1,2,1,2,1,2,
277
- 1,2,1,2,1,2,1,2,3,2,110,8,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,
278
- 1,3,1,3,1,3,3,3,124,8,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,
279
- 1,4,1,4,3,4,138,8,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,
280
- 1,5,3,5,152,8,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,
281
- 3,6,166,8,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,
282
- 180,8,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,194,
283
- 8,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,208,8,9,
284
- 1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,222,
285
- 8,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,4,11,
286
- 235,8,11,11,11,12,11,236,1,12,4,12,240,8,12,11,12,12,12,241,1,12,
287
- 1,12,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,15,1,15,
288
- 1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,4,17,267,8,17,11,17,
289
- 12,17,268,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,
290
- 1,19,1,20,1,20,1,20,1,20,1,20,1,21,4,21,289,8,21,11,21,12,21,290,
291
- 1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,
292
- 4,24,306,8,24,11,24,12,24,307,1,24,1,24,1,25,1,25,1,25,1,25,1,25,
293
- 1,26,1,26,1,26,4,26,320,8,26,11,26,12,26,321,1,26,1,26,1,27,1,27,
294
- 1,27,1,27,1,27,1,28,1,28,1,28,4,28,334,8,28,11,28,12,28,335,1,28,
295
- 1,28,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,
296
- 1,30,1,31,4,31,354,8,31,11,31,12,31,355,1,31,1,31,1,32,1,32,1,32,
297
- 1,32,0,0,33,8,0,10,0,12,12,14,13,16,14,18,15,20,16,22,17,24,18,26,
298
- 19,28,20,30,11,32,21,34,0,36,0,38,0,40,0,42,22,44,0,46,0,48,0,50,
299
- 23,52,0,54,0,56,24,58,0,60,0,62,0,64,0,66,0,68,0,70,0,72,25,8,0,
300
- 1,2,3,4,5,6,7,7,4,0,48,57,65,90,95,95,97,122,1,0,48,57,1,0,60,60,
301
- 3,0,9,10,13,13,32,32,4,0,10,10,13,13,60,60,93,93,4,0,10,10,13,13,
302
- 41,41,60,60,1,0,58,58,380,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,
303
- 0,18,1,0,0,0,0,20,1,0,0,0,0,22,1,0,0,0,0,24,1,0,0,0,0,26,1,0,0,0,
304
- 0,28,1,0,0,0,0,30,1,0,0,0,1,32,1,0,0,0,1,34,1,0,0,0,1,36,1,0,0,0,
305
- 1,38,1,0,0,0,1,40,1,0,0,0,2,42,1,0,0,0,2,44,1,0,0,0,2,46,1,0,0,0,
306
- 2,48,1,0,0,0,3,50,1,0,0,0,3,52,1,0,0,0,3,54,1,0,0,0,4,56,1,0,0,0,
307
- 4,58,1,0,0,0,5,60,1,0,0,0,5,62,1,0,0,0,6,64,1,0,0,0,6,66,1,0,0,0,
308
- 7,68,1,0,0,0,7,70,1,0,0,0,7,72,1,0,0,0,8,75,1,0,0,0,10,79,1,0,0,
309
- 0,12,101,1,0,0,0,14,115,1,0,0,0,16,129,1,0,0,0,18,143,1,0,0,0,20,
310
- 157,1,0,0,0,22,171,1,0,0,0,24,185,1,0,0,0,26,199,1,0,0,0,28,213,
311
- 1,0,0,0,30,234,1,0,0,0,32,239,1,0,0,0,34,245,1,0,0,0,36,250,1,0,
312
- 0,0,38,255,1,0,0,0,40,260,1,0,0,0,42,266,1,0,0,0,44,272,1,0,0,0,
313
- 46,277,1,0,0,0,48,282,1,0,0,0,50,288,1,0,0,0,52,294,1,0,0,0,54,299,
314
- 1,0,0,0,56,305,1,0,0,0,58,311,1,0,0,0,60,319,1,0,0,0,62,325,1,0,
315
- 0,0,64,333,1,0,0,0,66,339,1,0,0,0,68,344,1,0,0,0,70,353,1,0,0,0,
316
- 72,359,1,0,0,0,74,76,7,0,0,0,75,74,1,0,0,0,76,77,1,0,0,0,77,75,1,
317
- 0,0,0,77,78,1,0,0,0,78,9,1,0,0,0,79,81,5,60,0,0,80,82,5,45,0,0,81,
318
- 80,1,0,0,0,81,82,1,0,0,0,82,84,1,0,0,0,83,85,7,1,0,0,84,83,1,0,0,
319
- 0,85,86,1,0,0,0,86,84,1,0,0,0,86,87,1,0,0,0,87,97,1,0,0,0,88,90,
320
- 5,45,0,0,89,91,5,45,0,0,90,89,1,0,0,0,90,91,1,0,0,0,91,93,1,0,0,
321
- 0,92,94,7,1,0,0,93,92,1,0,0,0,94,95,1,0,0,0,95,93,1,0,0,0,95,96,
322
- 1,0,0,0,96,98,1,0,0,0,97,88,1,0,0,0,97,98,1,0,0,0,98,99,1,0,0,0,
323
- 99,100,5,62,0,0,100,11,1,0,0,0,101,102,5,60,0,0,102,103,5,60,0,0,
324
- 103,104,5,70,0,0,104,105,5,73,0,0,105,106,5,78,0,0,106,107,5,68,
325
- 0,0,107,109,1,0,0,0,108,110,3,8,0,0,109,108,1,0,0,0,109,110,1,0,
326
- 0,0,110,111,1,0,0,0,111,112,6,2,0,0,112,113,1,0,0,0,113,114,6,2,
327
- 1,0,114,13,1,0,0,0,115,116,5,60,0,0,116,117,5,60,0,0,117,118,5,82,
328
- 0,0,118,119,5,69,0,0,119,120,5,65,0,0,120,121,5,68,0,0,121,123,1,
329
- 0,0,0,122,124,3,8,0,0,123,122,1,0,0,0,123,124,1,0,0,0,124,125,1,
330
- 0,0,0,125,126,6,3,2,0,126,127,1,0,0,0,127,128,6,3,1,0,128,15,1,0,
331
- 0,0,129,130,5,60,0,0,130,131,5,60,0,0,131,132,5,69,0,0,132,133,5,
332
- 68,0,0,133,134,5,73,0,0,134,135,5,84,0,0,135,137,1,0,0,0,136,138,
333
- 3,8,0,0,137,136,1,0,0,0,137,138,1,0,0,0,138,139,1,0,0,0,139,140,
334
- 6,4,3,0,140,141,1,0,0,0,141,142,6,4,1,0,142,17,1,0,0,0,143,144,5,
335
- 60,0,0,144,145,5,60,0,0,145,146,5,67,0,0,146,147,5,79,0,0,147,148,
336
- 5,80,0,0,148,149,5,89,0,0,149,151,1,0,0,0,150,152,3,8,0,0,151,150,
337
- 1,0,0,0,151,152,1,0,0,0,152,153,1,0,0,0,153,154,6,5,4,0,154,155,
338
- 1,0,0,0,155,156,6,5,1,0,156,19,1,0,0,0,157,158,5,60,0,0,158,159,
339
- 5,60,0,0,159,160,5,77,0,0,160,161,5,79,0,0,161,162,5,86,0,0,162,
340
- 163,5,69,0,0,163,165,1,0,0,0,164,166,3,8,0,0,165,164,1,0,0,0,165,
341
- 166,1,0,0,0,166,167,1,0,0,0,167,168,6,6,5,0,168,169,1,0,0,0,169,
342
- 170,6,6,1,0,170,21,1,0,0,0,171,172,5,60,0,0,172,173,5,60,0,0,173,
343
- 174,5,83,0,0,174,175,5,72,0,0,175,176,5,79,0,0,176,177,5,87,0,0,
344
- 177,179,1,0,0,0,178,180,3,8,0,0,179,178,1,0,0,0,179,180,1,0,0,0,
345
- 180,181,1,0,0,0,181,182,6,7,6,0,182,183,1,0,0,0,183,184,6,7,1,0,
346
- 184,23,1,0,0,0,185,186,5,60,0,0,186,187,5,60,0,0,187,188,5,72,0,
347
- 0,188,189,5,73,0,0,189,190,5,68,0,0,190,191,5,69,0,0,191,193,1,0,
348
- 0,0,192,194,3,8,0,0,193,192,1,0,0,0,193,194,1,0,0,0,194,195,1,0,
349
- 0,0,195,196,6,8,7,0,196,197,1,0,0,0,197,198,6,8,1,0,198,25,1,0,0,
350
- 0,199,200,5,60,0,0,200,201,5,60,0,0,201,202,5,83,0,0,202,203,5,69,
351
- 0,0,203,204,5,78,0,0,204,205,5,68,0,0,205,207,1,0,0,0,206,208,3,
352
- 8,0,0,207,206,1,0,0,0,207,208,1,0,0,0,208,209,1,0,0,0,209,210,6,
353
- 9,8,0,210,211,1,0,0,0,211,212,6,9,1,0,212,27,1,0,0,0,213,214,5,60,
354
- 0,0,214,215,5,60,0,0,215,216,5,69,0,0,216,217,5,88,0,0,217,218,5,
355
- 69,0,0,218,219,5,67,0,0,219,221,1,0,0,0,220,222,3,8,0,0,221,220,
356
- 1,0,0,0,221,222,1,0,0,0,222,223,1,0,0,0,223,224,6,10,9,0,224,225,
357
- 1,0,0,0,225,226,6,10,1,0,226,29,1,0,0,0,227,228,5,60,0,0,228,229,
358
- 5,60,0,0,229,230,1,0,0,0,230,235,4,11,0,0,231,232,5,60,0,0,232,235,
359
- 8,2,0,0,233,235,8,2,0,0,234,227,1,0,0,0,234,231,1,0,0,0,234,233,
360
- 1,0,0,0,235,236,1,0,0,0,236,234,1,0,0,0,236,237,1,0,0,0,237,31,1,
361
- 0,0,0,238,240,7,3,0,0,239,238,1,0,0,0,240,241,1,0,0,0,241,239,1,
362
- 0,0,0,241,242,1,0,0,0,242,243,1,0,0,0,243,244,6,12,10,0,244,33,1,
363
- 0,0,0,245,246,5,91,0,0,246,247,1,0,0,0,247,248,6,13,11,0,248,249,
364
- 6,13,12,0,249,35,1,0,0,0,250,251,5,40,0,0,251,252,1,0,0,0,252,253,
365
- 6,14,13,0,253,254,6,14,14,0,254,37,1,0,0,0,255,256,3,10,1,0,256,
366
- 257,1,0,0,0,257,258,6,15,15,0,258,259,6,15,16,0,259,39,1,0,0,0,260,
367
- 261,5,58,0,0,261,262,1,0,0,0,262,263,6,16,17,0,263,264,6,16,18,0,
368
- 264,41,1,0,0,0,265,267,7,3,0,0,266,265,1,0,0,0,267,268,1,0,0,0,268,
369
- 266,1,0,0,0,268,269,1,0,0,0,269,270,1,0,0,0,270,271,6,17,10,0,271,
370
- 43,1,0,0,0,272,273,5,40,0,0,273,274,1,0,0,0,274,275,6,18,13,0,275,
371
- 276,6,18,14,0,276,45,1,0,0,0,277,278,3,10,1,0,278,279,1,0,0,0,279,
372
- 280,6,19,15,0,280,281,6,19,16,0,281,47,1,0,0,0,282,283,5,58,0,0,
373
- 283,284,1,0,0,0,284,285,6,20,17,0,285,286,6,20,18,0,286,49,1,0,0,
374
- 0,287,289,7,3,0,0,288,287,1,0,0,0,289,290,1,0,0,0,290,288,1,0,0,
375
- 0,290,291,1,0,0,0,291,292,1,0,0,0,292,293,6,21,10,0,293,51,1,0,0,
376
- 0,294,295,3,10,1,0,295,296,1,0,0,0,296,297,6,22,15,0,297,298,6,22,
377
- 16,0,298,53,1,0,0,0,299,300,5,58,0,0,300,301,1,0,0,0,301,302,6,23,
378
- 17,0,302,303,6,23,18,0,303,55,1,0,0,0,304,306,7,3,0,0,305,304,1,
379
- 0,0,0,306,307,1,0,0,0,307,305,1,0,0,0,307,308,1,0,0,0,308,309,1,
380
- 0,0,0,309,310,6,24,10,0,310,57,1,0,0,0,311,312,5,58,0,0,312,313,
381
- 1,0,0,0,313,314,6,25,17,0,314,315,6,25,18,0,315,59,1,0,0,0,316,320,
382
- 8,4,0,0,317,318,5,60,0,0,318,320,8,4,0,0,319,316,1,0,0,0,319,317,
383
- 1,0,0,0,320,321,1,0,0,0,321,319,1,0,0,0,321,322,1,0,0,0,322,323,
384
- 1,0,0,0,323,324,6,26,19,0,324,61,1,0,0,0,325,326,5,93,0,0,326,327,
385
- 1,0,0,0,327,328,6,27,20,0,328,329,6,27,21,0,329,63,1,0,0,0,330,334,
386
- 8,5,0,0,331,332,5,60,0,0,332,334,8,5,0,0,333,330,1,0,0,0,333,331,
387
- 1,0,0,0,334,335,1,0,0,0,335,333,1,0,0,0,335,336,1,0,0,0,336,337,
388
- 1,0,0,0,337,338,6,28,22,0,338,65,1,0,0,0,339,340,5,41,0,0,340,341,
389
- 1,0,0,0,341,342,6,29,23,0,342,343,6,29,24,0,343,67,1,0,0,0,344,345,
390
- 4,30,1,0,345,346,5,58,0,0,346,347,9,0,0,0,347,348,6,30,25,0,348,
391
- 349,1,0,0,0,349,350,6,30,26,0,350,351,6,30,27,0,351,69,1,0,0,0,352,
392
- 354,8,6,0,0,353,352,1,0,0,0,354,355,1,0,0,0,355,353,1,0,0,0,355,
393
- 356,1,0,0,0,356,357,1,0,0,0,357,358,6,31,28,0,358,71,1,0,0,0,359,
394
- 360,5,58,0,0,360,361,1,0,0,0,361,362,6,32,28,0,362,73,1,0,0,0,34,
395
- 0,1,2,3,4,5,6,7,77,81,86,90,95,97,109,123,137,151,165,179,193,207,
396
- 221,234,236,241,268,290,307,319,321,333,335,355,29,1,2,0,2,1,0,1,
397
- 3,1,1,4,2,1,5,3,1,6,4,1,7,5,1,8,6,1,9,7,1,10,8,6,0,0,7,1,0,2,5,0,
398
- 7,3,0,2,6,0,7,5,0,2,4,0,7,6,0,2,7,0,7,7,0,7,2,0,2,2,0,7,8,0,7,4,
399
- 0,2,3,0,1,30,9,7,10,0,2,0,0,7,9,0
309
+ 4,0,29,379,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,
310
+ 2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,
311
+ 10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,
312
+ 16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,
313
+ 23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,
314
+ 29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,1,0,4,0,77,8,0,11,0,12,
315
+ 0,78,1,1,1,1,3,1,83,8,1,1,1,4,1,86,8,1,11,1,12,1,87,1,1,1,1,3,1,
316
+ 92,8,1,1,1,4,1,95,8,1,11,1,12,1,96,3,1,99,8,1,1,1,1,1,1,2,1,2,1,
317
+ 2,1,2,1,2,1,2,1,2,1,2,3,2,111,8,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,
318
+ 3,1,3,1,3,1,3,1,3,3,3,125,8,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,
319
+ 4,1,4,1,4,1,4,3,4,139,8,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,
320
+ 5,1,5,1,5,3,5,153,8,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,
321
+ 6,1,6,3,6,167,8,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,
322
+ 7,3,7,181,8,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,
323
+ 8,195,8,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,209,
324
+ 8,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,
325
+ 223,8,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,
326
+ 4,11,236,8,11,11,11,12,11,237,1,12,4,12,241,8,12,11,12,12,12,242,
327
+ 1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,
328
+ 1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,
329
+ 1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,19,4,19,280,8,19,11,19,
330
+ 12,19,281,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,1,21,4,21,293,
331
+ 8,21,11,21,12,21,294,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,4,23,
332
+ 305,8,23,11,23,12,23,306,1,23,1,23,1,24,3,24,312,8,24,1,24,4,24,
333
+ 315,8,24,11,24,12,24,316,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,26,
334
+ 4,26,327,8,26,11,26,12,26,328,1,26,1,26,1,27,1,27,5,27,335,8,27,
335
+ 10,27,12,27,338,9,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,
336
+ 1,29,4,29,350,8,29,11,29,12,29,351,1,29,1,29,1,30,1,30,1,30,1,30,
337
+ 1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,4,32,370,8,32,
338
+ 11,32,12,32,371,1,32,1,32,1,33,1,33,1,33,1,33,0,0,34,7,0,9,0,11,
339
+ 15,13,16,15,17,17,18,19,19,21,20,23,21,25,22,27,23,29,14,31,24,33,
340
+ 0,35,0,37,0,39,0,41,0,43,0,45,25,47,28,49,0,51,0,53,26,55,0,57,0,
341
+ 59,27,61,0,63,0,65,0,67,0,69,0,71,0,73,29,7,0,1,2,3,4,5,6,10,4,0,
342
+ 48,57,65,90,95,95,97,122,1,0,48,57,1,0,60,60,3,0,9,10,13,13,32,32,
343
+ 2,0,9,9,32,32,6,0,9,10,13,13,32,32,44,44,60,60,93,93,3,0,65,90,95,
344
+ 95,97,122,6,0,43,43,45,46,48,57,65,90,95,95,97,122,4,0,10,10,13,
345
+ 13,41,41,60,60,1,0,58,58,400,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,
346
+ 0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,
347
+ 0,0,0,27,1,0,0,0,0,29,1,0,0,0,1,31,1,0,0,0,1,33,1,0,0,0,1,35,1,0,
348
+ 0,0,1,37,1,0,0,0,1,39,1,0,0,0,1,41,1,0,0,0,1,43,1,0,0,0,2,45,1,0,
349
+ 0,0,2,47,1,0,0,0,2,49,1,0,0,0,2,51,1,0,0,0,3,53,1,0,0,0,3,55,1,0,
350
+ 0,0,3,57,1,0,0,0,4,59,1,0,0,0,4,61,1,0,0,0,4,63,1,0,0,0,5,65,1,0,
351
+ 0,0,5,67,1,0,0,0,6,69,1,0,0,0,6,71,1,0,0,0,6,73,1,0,0,0,7,76,1,0,
352
+ 0,0,9,80,1,0,0,0,11,102,1,0,0,0,13,116,1,0,0,0,15,130,1,0,0,0,17,
353
+ 144,1,0,0,0,19,158,1,0,0,0,21,172,1,0,0,0,23,186,1,0,0,0,25,200,
354
+ 1,0,0,0,27,214,1,0,0,0,29,235,1,0,0,0,31,240,1,0,0,0,33,246,1,0,
355
+ 0,0,35,252,1,0,0,0,37,258,1,0,0,0,39,264,1,0,0,0,41,269,1,0,0,0,
356
+ 43,273,1,0,0,0,45,279,1,0,0,0,47,285,1,0,0,0,49,292,1,0,0,0,51,298,
357
+ 1,0,0,0,53,304,1,0,0,0,55,311,1,0,0,0,57,320,1,0,0,0,59,326,1,0,
358
+ 0,0,61,332,1,0,0,0,63,341,1,0,0,0,65,349,1,0,0,0,67,355,1,0,0,0,
359
+ 69,360,1,0,0,0,71,369,1,0,0,0,73,375,1,0,0,0,75,77,7,0,0,0,76,75,
360
+ 1,0,0,0,77,78,1,0,0,0,78,76,1,0,0,0,78,79,1,0,0,0,79,8,1,0,0,0,80,
361
+ 82,5,60,0,0,81,83,5,45,0,0,82,81,1,0,0,0,82,83,1,0,0,0,83,85,1,0,
362
+ 0,0,84,86,7,1,0,0,85,84,1,0,0,0,86,87,1,0,0,0,87,85,1,0,0,0,87,88,
363
+ 1,0,0,0,88,98,1,0,0,0,89,91,5,45,0,0,90,92,5,45,0,0,91,90,1,0,0,
364
+ 0,91,92,1,0,0,0,92,94,1,0,0,0,93,95,7,1,0,0,94,93,1,0,0,0,95,96,
365
+ 1,0,0,0,96,94,1,0,0,0,96,97,1,0,0,0,97,99,1,0,0,0,98,89,1,0,0,0,
366
+ 98,99,1,0,0,0,99,100,1,0,0,0,100,101,5,62,0,0,101,10,1,0,0,0,102,
367
+ 103,5,60,0,0,103,104,5,60,0,0,104,105,5,70,0,0,105,106,5,73,0,0,
368
+ 106,107,5,78,0,0,107,108,5,68,0,0,108,110,1,0,0,0,109,111,3,7,0,
369
+ 0,110,109,1,0,0,0,110,111,1,0,0,0,111,112,1,0,0,0,112,113,6,2,0,
370
+ 0,113,114,1,0,0,0,114,115,6,2,1,0,115,12,1,0,0,0,116,117,5,60,0,
371
+ 0,117,118,5,60,0,0,118,119,5,82,0,0,119,120,5,69,0,0,120,121,5,65,
372
+ 0,0,121,122,5,68,0,0,122,124,1,0,0,0,123,125,3,7,0,0,124,123,1,0,
373
+ 0,0,124,125,1,0,0,0,125,126,1,0,0,0,126,127,6,3,2,0,127,128,1,0,
374
+ 0,0,128,129,6,3,1,0,129,14,1,0,0,0,130,131,5,60,0,0,131,132,5,60,
375
+ 0,0,132,133,5,69,0,0,133,134,5,68,0,0,134,135,5,73,0,0,135,136,5,
376
+ 84,0,0,136,138,1,0,0,0,137,139,3,7,0,0,138,137,1,0,0,0,138,139,1,
377
+ 0,0,0,139,140,1,0,0,0,140,141,6,4,3,0,141,142,1,0,0,0,142,143,6,
378
+ 4,1,0,143,16,1,0,0,0,144,145,5,60,0,0,145,146,5,60,0,0,146,147,5,
379
+ 67,0,0,147,148,5,79,0,0,148,149,5,80,0,0,149,150,5,89,0,0,150,152,
380
+ 1,0,0,0,151,153,3,7,0,0,152,151,1,0,0,0,152,153,1,0,0,0,153,154,
381
+ 1,0,0,0,154,155,6,5,4,0,155,156,1,0,0,0,156,157,6,5,1,0,157,18,1,
382
+ 0,0,0,158,159,5,60,0,0,159,160,5,60,0,0,160,161,5,77,0,0,161,162,
383
+ 5,79,0,0,162,163,5,86,0,0,163,164,5,69,0,0,164,166,1,0,0,0,165,167,
384
+ 3,7,0,0,166,165,1,0,0,0,166,167,1,0,0,0,167,168,1,0,0,0,168,169,
385
+ 6,6,5,0,169,170,1,0,0,0,170,171,6,6,1,0,171,20,1,0,0,0,172,173,5,
386
+ 60,0,0,173,174,5,60,0,0,174,175,5,83,0,0,175,176,5,72,0,0,176,177,
387
+ 5,79,0,0,177,178,5,87,0,0,178,180,1,0,0,0,179,181,3,7,0,0,180,179,
388
+ 1,0,0,0,180,181,1,0,0,0,181,182,1,0,0,0,182,183,6,7,6,0,183,184,
389
+ 1,0,0,0,184,185,6,7,1,0,185,22,1,0,0,0,186,187,5,60,0,0,187,188,
390
+ 5,60,0,0,188,189,5,72,0,0,189,190,5,73,0,0,190,191,5,68,0,0,191,
391
+ 192,5,69,0,0,192,194,1,0,0,0,193,195,3,7,0,0,194,193,1,0,0,0,194,
392
+ 195,1,0,0,0,195,196,1,0,0,0,196,197,6,8,7,0,197,198,1,0,0,0,198,
393
+ 199,6,8,1,0,199,24,1,0,0,0,200,201,5,60,0,0,201,202,5,60,0,0,202,
394
+ 203,5,83,0,0,203,204,5,69,0,0,204,205,5,78,0,0,205,206,5,68,0,0,
395
+ 206,208,1,0,0,0,207,209,3,7,0,0,208,207,1,0,0,0,208,209,1,0,0,0,
396
+ 209,210,1,0,0,0,210,211,6,9,8,0,211,212,1,0,0,0,212,213,6,9,1,0,
397
+ 213,26,1,0,0,0,214,215,5,60,0,0,215,216,5,60,0,0,216,217,5,69,0,
398
+ 0,217,218,5,88,0,0,218,219,5,69,0,0,219,220,5,67,0,0,220,222,1,0,
399
+ 0,0,221,223,3,7,0,0,222,221,1,0,0,0,222,223,1,0,0,0,223,224,1,0,
400
+ 0,0,224,225,6,10,9,0,225,226,1,0,0,0,226,227,6,10,1,0,227,28,1,0,
401
+ 0,0,228,229,5,60,0,0,229,230,5,60,0,0,230,231,1,0,0,0,231,236,4,
402
+ 11,0,0,232,233,5,60,0,0,233,236,8,2,0,0,234,236,8,2,0,0,235,228,
403
+ 1,0,0,0,235,232,1,0,0,0,235,234,1,0,0,0,236,237,1,0,0,0,237,235,
404
+ 1,0,0,0,237,238,1,0,0,0,238,30,1,0,0,0,239,241,7,3,0,0,240,239,1,
405
+ 0,0,0,241,242,1,0,0,0,242,240,1,0,0,0,242,243,1,0,0,0,243,244,1,
406
+ 0,0,0,244,245,6,12,10,0,245,32,1,0,0,0,246,247,5,91,0,0,247,248,
407
+ 4,13,1,0,248,249,1,0,0,0,249,250,6,13,11,0,250,251,6,13,12,0,251,
408
+ 34,1,0,0,0,252,253,5,91,0,0,253,254,4,14,2,0,254,255,1,0,0,0,255,
409
+ 256,6,14,11,0,256,257,6,14,13,0,257,36,1,0,0,0,258,259,5,91,0,0,
410
+ 259,260,4,15,3,0,260,261,1,0,0,0,261,262,6,15,11,0,262,263,6,15,
411
+ 14,0,263,38,1,0,0,0,264,265,5,40,0,0,265,266,1,0,0,0,266,267,6,16,
412
+ 15,0,267,268,6,16,16,0,268,40,1,0,0,0,269,270,3,9,1,0,270,271,1,
413
+ 0,0,0,271,272,6,17,17,0,272,42,1,0,0,0,273,274,5,58,0,0,274,275,
414
+ 1,0,0,0,275,276,6,18,18,0,276,277,6,18,19,0,277,44,1,0,0,0,278,280,
415
+ 7,4,0,0,279,278,1,0,0,0,280,281,1,0,0,0,281,279,1,0,0,0,281,282,
416
+ 1,0,0,0,282,283,1,0,0,0,283,284,6,19,10,0,284,46,1,0,0,0,285,286,
417
+ 5,44,0,0,286,287,1,0,0,0,287,288,6,20,20,0,288,48,1,0,0,0,289,293,
418
+ 8,5,0,0,290,291,5,60,0,0,291,293,8,5,0,0,292,289,1,0,0,0,292,290,
419
+ 1,0,0,0,293,294,1,0,0,0,294,292,1,0,0,0,294,295,1,0,0,0,295,296,
420
+ 1,0,0,0,296,297,6,21,21,0,297,50,1,0,0,0,298,299,5,93,0,0,299,300,
421
+ 1,0,0,0,300,301,6,22,22,0,301,302,6,22,1,0,302,52,1,0,0,0,303,305,
422
+ 7,4,0,0,304,303,1,0,0,0,305,306,1,0,0,0,306,304,1,0,0,0,306,307,
423
+ 1,0,0,0,307,308,1,0,0,0,308,309,6,23,10,0,309,54,1,0,0,0,310,312,
424
+ 5,45,0,0,311,310,1,0,0,0,311,312,1,0,0,0,312,314,1,0,0,0,313,315,
425
+ 7,1,0,0,314,313,1,0,0,0,315,316,1,0,0,0,316,314,1,0,0,0,316,317,
426
+ 1,0,0,0,317,318,1,0,0,0,318,319,6,24,23,0,319,56,1,0,0,0,320,321,
427
+ 5,93,0,0,321,322,1,0,0,0,322,323,6,25,22,0,323,324,6,25,1,0,324,
428
+ 58,1,0,0,0,325,327,7,4,0,0,326,325,1,0,0,0,327,328,1,0,0,0,328,326,
429
+ 1,0,0,0,328,329,1,0,0,0,329,330,1,0,0,0,330,331,6,26,10,0,331,60,
430
+ 1,0,0,0,332,336,7,6,0,0,333,335,7,7,0,0,334,333,1,0,0,0,335,338,
431
+ 1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,336,
432
+ 1,0,0,0,339,340,6,27,24,0,340,62,1,0,0,0,341,342,5,93,0,0,342,343,
433
+ 1,0,0,0,343,344,6,28,22,0,344,345,6,28,1,0,345,64,1,0,0,0,346,350,
434
+ 8,8,0,0,347,348,5,60,0,0,348,350,8,8,0,0,349,346,1,0,0,0,349,347,
435
+ 1,0,0,0,350,351,1,0,0,0,351,349,1,0,0,0,351,352,1,0,0,0,352,353,
436
+ 1,0,0,0,353,354,6,29,25,0,354,66,1,0,0,0,355,356,5,41,0,0,356,357,
437
+ 1,0,0,0,357,358,6,30,26,0,358,359,6,30,1,0,359,68,1,0,0,0,360,361,
438
+ 4,31,4,0,361,362,5,58,0,0,362,363,9,0,0,0,363,364,6,31,27,0,364,
439
+ 365,1,0,0,0,365,366,6,31,28,0,366,367,6,31,29,0,367,70,1,0,0,0,368,
440
+ 370,8,9,0,0,369,368,1,0,0,0,370,371,1,0,0,0,371,369,1,0,0,0,371,
441
+ 372,1,0,0,0,372,373,1,0,0,0,373,374,6,32,30,0,374,72,1,0,0,0,375,
442
+ 376,5,58,0,0,376,377,1,0,0,0,377,378,6,33,30,0,378,74,1,0,0,0,36,
443
+ 0,1,2,3,4,5,6,78,82,87,91,96,98,110,124,138,152,166,180,194,208,
444
+ 222,235,237,242,281,292,294,306,311,316,328,336,349,351,371,31,1,
445
+ 2,0,2,1,0,1,3,1,1,4,2,1,5,3,1,6,4,1,7,5,1,8,6,1,9,7,1,10,8,6,0,0,
446
+ 7,1,0,2,2,0,2,3,0,2,4,0,7,3,0,2,5,0,7,5,0,7,6,0,2,6,0,7,7,0,7,10,
447
+ 0,7,2,0,7,8,0,7,9,0,7,11,0,7,4,0,1,31,9,7,13,0,2,0,0,7,12,0
400
448
  ];
401
449
 
402
450
  private static __ATN: antlr.ATN;