@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.
@@ -16,49 +16,69 @@ export class plurnkParser extends antlr.Parser {
16
16
  public static readonly RPAREN = 4;
17
17
  public static readonly L_MARKER = 5;
18
18
  public static readonly COLON = 6;
19
- public static readonly SIGNAL_TEXT = 7;
20
- public static readonly PATH_TEXT = 8;
21
- public static readonly BODY_TEXT = 9;
22
- public static readonly CLOSE_TAG = 10;
23
- public static readonly TEXT = 11;
24
- public static readonly OPEN_FIND = 12;
25
- public static readonly OPEN_READ = 13;
26
- public static readonly OPEN_EDIT = 14;
27
- public static readonly OPEN_COPY = 15;
28
- public static readonly OPEN_MOVE = 16;
29
- public static readonly OPEN_SHOW = 17;
30
- public static readonly OPEN_HIDE = 18;
31
- public static readonly OPEN_SEND = 19;
32
- public static readonly OPEN_EXEC = 20;
33
- public static readonly OPENED_WS = 21;
34
- public static readonly PS_WS = 22;
35
- public static readonly PP_WS = 23;
36
- public static readonly PL_WS = 24;
37
- public static readonly BODY_COLON = 25;
19
+ public static readonly COMMA = 7;
20
+ public static readonly INT = 8;
21
+ public static readonly IDENT = 9;
22
+ public static readonly TAG = 10;
23
+ public static readonly PATH_TEXT = 11;
24
+ public static readonly BODY_TEXT = 12;
25
+ public static readonly CLOSE_TAG = 13;
26
+ public static readonly TEXT = 14;
27
+ public static readonly OPEN_FIND = 15;
28
+ public static readonly OPEN_READ = 16;
29
+ public static readonly OPEN_EDIT = 17;
30
+ public static readonly OPEN_COPY = 18;
31
+ public static readonly OPEN_MOVE = 19;
32
+ public static readonly OPEN_SHOW = 20;
33
+ public static readonly OPEN_HIDE = 21;
34
+ public static readonly OPEN_SEND = 22;
35
+ public static readonly OPEN_EXEC = 23;
36
+ public static readonly SLOTS_WS = 24;
37
+ public static readonly ST_WS = 25;
38
+ public static readonly SI_WS = 26;
39
+ public static readonly SD_WS = 27;
40
+ public static readonly ST_COMMA = 28;
41
+ public static readonly B_COLON = 29;
38
42
  public static readonly RULE_document = 0;
39
43
  public static readonly RULE_statement = 1;
40
- public static readonly RULE_openTag = 2;
41
- public static readonly RULE_signal = 3;
42
- public static readonly RULE_path = 4;
43
- public static readonly RULE_lineMarker = 5;
44
- public static readonly RULE_body = 6;
44
+ public static readonly RULE_findStatement = 2;
45
+ public static readonly RULE_readStatement = 3;
46
+ public static readonly RULE_editStatement = 4;
47
+ public static readonly RULE_copyStatement = 5;
48
+ public static readonly RULE_moveStatement = 6;
49
+ public static readonly RULE_showStatement = 7;
50
+ public static readonly RULE_hideStatement = 8;
51
+ public static readonly RULE_sendStatement = 9;
52
+ public static readonly RULE_execStatement = 10;
53
+ public static readonly RULE_tagOpModifiers = 11;
54
+ public static readonly RULE_sendModifiers = 12;
55
+ public static readonly RULE_execModifiers = 13;
56
+ public static readonly RULE_tagSignal = 14;
57
+ public static readonly RULE_intSignal = 15;
58
+ public static readonly RULE_identSignal = 16;
59
+ public static readonly RULE_path = 17;
60
+ public static readonly RULE_lineMarker = 18;
61
+ public static readonly RULE_body = 19;
45
62
 
46
63
  public static readonly literalNames = [
47
64
  null, null, null, null, null, null, null, null, null, null, null,
48
65
  null, null, null, null, null, null, null, null, null, null, null,
49
- null, null, null, "':'"
66
+ null, null, null, null, null, null, "','", "':'"
50
67
  ];
51
68
 
52
69
  public static readonly symbolicNames = [
53
70
  null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
54
- "SIGNAL_TEXT", "PATH_TEXT", "BODY_TEXT", "CLOSE_TAG", "TEXT", "OPEN_FIND",
55
- "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_SHOW",
56
- "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "OPENED_WS", "PS_WS", "PP_WS",
57
- "PL_WS", "BODY_COLON"
71
+ "COMMA", "INT", "IDENT", "TAG", "PATH_TEXT", "BODY_TEXT", "CLOSE_TAG",
72
+ "TEXT", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
73
+ "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "SLOTS_WS",
74
+ "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
58
75
  ];
59
76
  public static readonly ruleNames = [
60
- "document", "statement", "openTag", "signal", "path", "lineMarker",
61
- "body",
77
+ "document", "statement", "findStatement", "readStatement", "editStatement",
78
+ "copyStatement", "moveStatement", "showStatement", "hideStatement",
79
+ "sendStatement", "execStatement", "tagOpModifiers", "sendModifiers",
80
+ "execModifiers", "tagSignal", "intSignal", "identSignal", "path",
81
+ "lineMarker", "body",
62
82
  ];
63
83
 
64
84
  public get grammarFileName(): string { return "plurnkParser.g4"; }
@@ -82,12 +102,12 @@ export class plurnkParser extends antlr.Parser {
82
102
  try {
83
103
  this.enterOuterAlt(localContext, 1);
84
104
  {
85
- this.state = 18;
105
+ this.state = 44;
86
106
  this.errorHandler.sync(this);
87
107
  _la = this.tokenStream.LA(1);
88
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2095104) !== 0)) {
108
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 16760832) !== 0)) {
89
109
  {
90
- this.state = 16;
110
+ this.state = 42;
91
111
  this.errorHandler.sync(this);
92
112
  switch (this.tokenStream.LA(1)) {
93
113
  case plurnkParser.OPEN_FIND:
@@ -100,13 +120,13 @@ export class plurnkParser extends antlr.Parser {
100
120
  case plurnkParser.OPEN_SEND:
101
121
  case plurnkParser.OPEN_EXEC:
102
122
  {
103
- this.state = 14;
123
+ this.state = 40;
104
124
  this.statement();
105
125
  }
106
126
  break;
107
127
  case plurnkParser.TEXT:
108
128
  {
109
- this.state = 15;
129
+ this.state = 41;
110
130
  this.match(plurnkParser.TEXT);
111
131
  }
112
132
  break;
@@ -114,11 +134,11 @@ export class plurnkParser extends antlr.Parser {
114
134
  throw new antlr.NoViableAltException(this);
115
135
  }
116
136
  }
117
- this.state = 20;
137
+ this.state = 46;
118
138
  this.errorHandler.sync(this);
119
139
  _la = this.tokenStream.LA(1);
120
140
  }
121
- this.state = 21;
141
+ this.state = 47;
122
142
  this.match(plurnkParser.EOF);
123
143
  }
124
144
  }
@@ -138,55 +158,170 @@ export class plurnkParser extends antlr.Parser {
138
158
  public statement(): StatementContext {
139
159
  let localContext = new StatementContext(this.context, this.state);
140
160
  this.enterRule(localContext, 2, plurnkParser.RULE_statement);
161
+ try {
162
+ this.state = 58;
163
+ this.errorHandler.sync(this);
164
+ switch (this.tokenStream.LA(1)) {
165
+ case plurnkParser.OPEN_FIND:
166
+ this.enterOuterAlt(localContext, 1);
167
+ {
168
+ this.state = 49;
169
+ this.findStatement();
170
+ }
171
+ break;
172
+ case plurnkParser.OPEN_READ:
173
+ this.enterOuterAlt(localContext, 2);
174
+ {
175
+ this.state = 50;
176
+ this.readStatement();
177
+ }
178
+ break;
179
+ case plurnkParser.OPEN_EDIT:
180
+ this.enterOuterAlt(localContext, 3);
181
+ {
182
+ this.state = 51;
183
+ this.editStatement();
184
+ }
185
+ break;
186
+ case plurnkParser.OPEN_COPY:
187
+ this.enterOuterAlt(localContext, 4);
188
+ {
189
+ this.state = 52;
190
+ this.copyStatement();
191
+ }
192
+ break;
193
+ case plurnkParser.OPEN_MOVE:
194
+ this.enterOuterAlt(localContext, 5);
195
+ {
196
+ this.state = 53;
197
+ this.moveStatement();
198
+ }
199
+ break;
200
+ case plurnkParser.OPEN_SHOW:
201
+ this.enterOuterAlt(localContext, 6);
202
+ {
203
+ this.state = 54;
204
+ this.showStatement();
205
+ }
206
+ break;
207
+ case plurnkParser.OPEN_HIDE:
208
+ this.enterOuterAlt(localContext, 7);
209
+ {
210
+ this.state = 55;
211
+ this.hideStatement();
212
+ }
213
+ break;
214
+ case plurnkParser.OPEN_SEND:
215
+ this.enterOuterAlt(localContext, 8);
216
+ {
217
+ this.state = 56;
218
+ this.sendStatement();
219
+ }
220
+ break;
221
+ case plurnkParser.OPEN_EXEC:
222
+ this.enterOuterAlt(localContext, 9);
223
+ {
224
+ this.state = 57;
225
+ this.execStatement();
226
+ }
227
+ break;
228
+ default:
229
+ throw new antlr.NoViableAltException(this);
230
+ }
231
+ }
232
+ catch (re) {
233
+ if (re instanceof antlr.RecognitionException) {
234
+ this.errorHandler.reportError(this, re);
235
+ this.errorHandler.recover(this, re);
236
+ } else {
237
+ throw re;
238
+ }
239
+ }
240
+ finally {
241
+ this.exitRule();
242
+ }
243
+ return localContext;
244
+ }
245
+ public findStatement(): FindStatementContext {
246
+ let localContext = new FindStatementContext(this.context, this.state);
247
+ this.enterRule(localContext, 4, plurnkParser.RULE_findStatement);
141
248
  let _la: number;
142
249
  try {
143
250
  this.enterOuterAlt(localContext, 1);
144
251
  {
145
- this.state = 23;
146
- this.openTag();
147
- this.state = 25;
252
+ this.state = 60;
253
+ this.match(plurnkParser.OPEN_FIND);
254
+ this.state = 62;
148
255
  this.errorHandler.sync(this);
149
256
  _la = this.tokenStream.LA(1);
150
- if (_la === 1) {
257
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
151
258
  {
152
- this.state = 24;
153
- this.signal();
259
+ this.state = 61;
260
+ this.tagOpModifiers();
154
261
  }
155
262
  }
156
263
 
157
- this.state = 28;
264
+ this.state = 64;
265
+ this.match(plurnkParser.COLON);
266
+ this.state = 66;
158
267
  this.errorHandler.sync(this);
159
268
  _la = this.tokenStream.LA(1);
160
- if (_la === 3) {
269
+ if (_la === 12) {
161
270
  {
162
- this.state = 27;
163
- this.path();
271
+ this.state = 65;
272
+ this.body();
164
273
  }
165
274
  }
166
275
 
167
- this.state = 31;
276
+ this.state = 68;
277
+ this.match(plurnkParser.CLOSE_TAG);
278
+ }
279
+ }
280
+ catch (re) {
281
+ if (re instanceof antlr.RecognitionException) {
282
+ this.errorHandler.reportError(this, re);
283
+ this.errorHandler.recover(this, re);
284
+ } else {
285
+ throw re;
286
+ }
287
+ }
288
+ finally {
289
+ this.exitRule();
290
+ }
291
+ return localContext;
292
+ }
293
+ public readStatement(): ReadStatementContext {
294
+ let localContext = new ReadStatementContext(this.context, this.state);
295
+ this.enterRule(localContext, 6, plurnkParser.RULE_readStatement);
296
+ let _la: number;
297
+ try {
298
+ this.enterOuterAlt(localContext, 1);
299
+ {
300
+ this.state = 70;
301
+ this.match(plurnkParser.OPEN_READ);
302
+ this.state = 72;
168
303
  this.errorHandler.sync(this);
169
304
  _la = this.tokenStream.LA(1);
170
- if (_la === 5) {
305
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
171
306
  {
172
- this.state = 30;
173
- this.lineMarker();
307
+ this.state = 71;
308
+ this.tagOpModifiers();
174
309
  }
175
310
  }
176
311
 
177
- this.state = 33;
312
+ this.state = 74;
178
313
  this.match(plurnkParser.COLON);
179
- this.state = 35;
314
+ this.state = 76;
180
315
  this.errorHandler.sync(this);
181
316
  _la = this.tokenStream.LA(1);
182
- if (_la === 9) {
317
+ if (_la === 12) {
183
318
  {
184
- this.state = 34;
319
+ this.state = 75;
185
320
  this.body();
186
321
  }
187
322
  }
188
323
 
189
- this.state = 37;
324
+ this.state = 78;
190
325
  this.match(plurnkParser.CLOSE_TAG);
191
326
  }
192
327
  }
@@ -203,22 +338,39 @@ export class plurnkParser extends antlr.Parser {
203
338
  }
204
339
  return localContext;
205
340
  }
206
- public openTag(): OpenTagContext {
207
- let localContext = new OpenTagContext(this.context, this.state);
208
- this.enterRule(localContext, 4, plurnkParser.RULE_openTag);
341
+ public editStatement(): EditStatementContext {
342
+ let localContext = new EditStatementContext(this.context, this.state);
343
+ this.enterRule(localContext, 8, plurnkParser.RULE_editStatement);
209
344
  let _la: number;
210
345
  try {
211
346
  this.enterOuterAlt(localContext, 1);
212
347
  {
213
- this.state = 39;
348
+ this.state = 80;
349
+ this.match(plurnkParser.OPEN_EDIT);
350
+ this.state = 82;
351
+ this.errorHandler.sync(this);
214
352
  _la = this.tokenStream.LA(1);
215
- if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 2093056) !== 0))) {
216
- this.errorHandler.recoverInline(this);
353
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
354
+ {
355
+ this.state = 81;
356
+ this.tagOpModifiers();
357
+ }
217
358
  }
218
- else {
219
- this.errorHandler.reportMatch(this);
220
- this.consume();
359
+
360
+ this.state = 84;
361
+ this.match(plurnkParser.COLON);
362
+ this.state = 86;
363
+ this.errorHandler.sync(this);
364
+ _la = this.tokenStream.LA(1);
365
+ if (_la === 12) {
366
+ {
367
+ this.state = 85;
368
+ this.body();
369
+ }
221
370
  }
371
+
372
+ this.state = 88;
373
+ this.match(plurnkParser.CLOSE_TAG);
222
374
  }
223
375
  }
224
376
  catch (re) {
@@ -234,27 +386,39 @@ export class plurnkParser extends antlr.Parser {
234
386
  }
235
387
  return localContext;
236
388
  }
237
- public signal(): SignalContext {
238
- let localContext = new SignalContext(this.context, this.state);
239
- this.enterRule(localContext, 6, plurnkParser.RULE_signal);
389
+ public copyStatement(): CopyStatementContext {
390
+ let localContext = new CopyStatementContext(this.context, this.state);
391
+ this.enterRule(localContext, 10, plurnkParser.RULE_copyStatement);
240
392
  let _la: number;
241
393
  try {
242
394
  this.enterOuterAlt(localContext, 1);
243
395
  {
244
- this.state = 41;
245
- this.match(plurnkParser.LBRACKET);
246
- this.state = 43;
396
+ this.state = 90;
397
+ this.match(plurnkParser.OPEN_COPY);
398
+ this.state = 92;
247
399
  this.errorHandler.sync(this);
248
400
  _la = this.tokenStream.LA(1);
249
- if (_la === 7) {
401
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
250
402
  {
251
- this.state = 42;
252
- this.match(plurnkParser.SIGNAL_TEXT);
403
+ this.state = 91;
404
+ this.tagOpModifiers();
253
405
  }
254
406
  }
255
407
 
256
- this.state = 45;
257
- this.match(plurnkParser.RBRACKET);
408
+ this.state = 94;
409
+ this.match(plurnkParser.COLON);
410
+ this.state = 96;
411
+ this.errorHandler.sync(this);
412
+ _la = this.tokenStream.LA(1);
413
+ if (_la === 12) {
414
+ {
415
+ this.state = 95;
416
+ this.body();
417
+ }
418
+ }
419
+
420
+ this.state = 98;
421
+ this.match(plurnkParser.CLOSE_TAG);
258
422
  }
259
423
  }
260
424
  catch (re) {
@@ -270,27 +434,39 @@ export class plurnkParser extends antlr.Parser {
270
434
  }
271
435
  return localContext;
272
436
  }
273
- public path(): PathContext {
274
- let localContext = new PathContext(this.context, this.state);
275
- this.enterRule(localContext, 8, plurnkParser.RULE_path);
437
+ public moveStatement(): MoveStatementContext {
438
+ let localContext = new MoveStatementContext(this.context, this.state);
439
+ this.enterRule(localContext, 12, plurnkParser.RULE_moveStatement);
276
440
  let _la: number;
277
441
  try {
278
442
  this.enterOuterAlt(localContext, 1);
279
443
  {
280
- this.state = 47;
281
- this.match(plurnkParser.LPAREN);
282
- this.state = 49;
444
+ this.state = 100;
445
+ this.match(plurnkParser.OPEN_MOVE);
446
+ this.state = 102;
283
447
  this.errorHandler.sync(this);
284
448
  _la = this.tokenStream.LA(1);
285
- if (_la === 8) {
449
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
286
450
  {
287
- this.state = 48;
288
- this.match(plurnkParser.PATH_TEXT);
451
+ this.state = 101;
452
+ this.tagOpModifiers();
289
453
  }
290
454
  }
291
455
 
292
- this.state = 51;
293
- this.match(plurnkParser.RPAREN);
456
+ this.state = 104;
457
+ this.match(plurnkParser.COLON);
458
+ this.state = 106;
459
+ this.errorHandler.sync(this);
460
+ _la = this.tokenStream.LA(1);
461
+ if (_la === 12) {
462
+ {
463
+ this.state = 105;
464
+ this.body();
465
+ }
466
+ }
467
+
468
+ this.state = 108;
469
+ this.match(plurnkParser.CLOSE_TAG);
294
470
  }
295
471
  }
296
472
  catch (re) {
@@ -306,14 +482,39 @@ export class plurnkParser extends antlr.Parser {
306
482
  }
307
483
  return localContext;
308
484
  }
309
- public lineMarker(): LineMarkerContext {
310
- let localContext = new LineMarkerContext(this.context, this.state);
311
- this.enterRule(localContext, 10, plurnkParser.RULE_lineMarker);
485
+ public showStatement(): ShowStatementContext {
486
+ let localContext = new ShowStatementContext(this.context, this.state);
487
+ this.enterRule(localContext, 14, plurnkParser.RULE_showStatement);
488
+ let _la: number;
312
489
  try {
313
490
  this.enterOuterAlt(localContext, 1);
314
491
  {
315
- this.state = 53;
316
- this.match(plurnkParser.L_MARKER);
492
+ this.state = 110;
493
+ this.match(plurnkParser.OPEN_SHOW);
494
+ this.state = 112;
495
+ this.errorHandler.sync(this);
496
+ _la = this.tokenStream.LA(1);
497
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
498
+ {
499
+ this.state = 111;
500
+ this.tagOpModifiers();
501
+ }
502
+ }
503
+
504
+ this.state = 114;
505
+ this.match(plurnkParser.COLON);
506
+ this.state = 116;
507
+ this.errorHandler.sync(this);
508
+ _la = this.tokenStream.LA(1);
509
+ if (_la === 12) {
510
+ {
511
+ this.state = 115;
512
+ this.body();
513
+ }
514
+ }
515
+
516
+ this.state = 118;
517
+ this.match(plurnkParser.CLOSE_TAG);
317
518
  }
318
519
  }
319
520
  catch (re) {
@@ -329,27 +530,39 @@ export class plurnkParser extends antlr.Parser {
329
530
  }
330
531
  return localContext;
331
532
  }
332
- public body(): BodyContext {
333
- let localContext = new BodyContext(this.context, this.state);
334
- this.enterRule(localContext, 12, plurnkParser.RULE_body);
533
+ public hideStatement(): HideStatementContext {
534
+ let localContext = new HideStatementContext(this.context, this.state);
535
+ this.enterRule(localContext, 16, plurnkParser.RULE_hideStatement);
335
536
  let _la: number;
336
537
  try {
337
538
  this.enterOuterAlt(localContext, 1);
338
539
  {
339
- this.state = 56;
540
+ this.state = 120;
541
+ this.match(plurnkParser.OPEN_HIDE);
542
+ this.state = 122;
340
543
  this.errorHandler.sync(this);
341
544
  _la = this.tokenStream.LA(1);
342
- do {
343
- {
545
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
344
546
  {
345
- this.state = 55;
346
- this.match(plurnkParser.BODY_TEXT);
547
+ this.state = 121;
548
+ this.tagOpModifiers();
347
549
  }
550
+ }
551
+
552
+ this.state = 124;
553
+ this.match(plurnkParser.COLON);
554
+ this.state = 126;
555
+ this.errorHandler.sync(this);
556
+ _la = this.tokenStream.LA(1);
557
+ if (_la === 12) {
558
+ {
559
+ this.state = 125;
560
+ this.body();
348
561
  }
349
- this.state = 58;
350
- this.errorHandler.sync(this);
351
- _la = this.tokenStream.LA(1);
352
- } while (_la === 9);
562
+ }
563
+
564
+ this.state = 128;
565
+ this.match(plurnkParser.CLOSE_TAG);
353
566
  }
354
567
  }
355
568
  catch (re) {
@@ -365,65 +578,729 @@ export class plurnkParser extends antlr.Parser {
365
578
  }
366
579
  return localContext;
367
580
  }
581
+ public sendStatement(): SendStatementContext {
582
+ let localContext = new SendStatementContext(this.context, this.state);
583
+ this.enterRule(localContext, 18, plurnkParser.RULE_sendStatement);
584
+ let _la: number;
585
+ try {
586
+ this.enterOuterAlt(localContext, 1);
587
+ {
588
+ this.state = 130;
589
+ this.match(plurnkParser.OPEN_SEND);
590
+ this.state = 132;
591
+ this.errorHandler.sync(this);
592
+ _la = this.tokenStream.LA(1);
593
+ if (_la === 1 || _la === 3) {
594
+ {
595
+ this.state = 131;
596
+ this.sendModifiers();
597
+ }
598
+ }
368
599
 
369
- public static readonly _serializedATN: number[] = [
370
- 4,1,25,61,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,
371
- 6,1,0,1,0,5,0,17,8,0,10,0,12,0,20,9,0,1,0,1,0,1,1,1,1,3,1,26,8,1,
372
- 1,1,3,1,29,8,1,1,1,3,1,32,8,1,1,1,1,1,3,1,36,8,1,1,1,1,1,1,2,1,2,
373
- 1,3,1,3,3,3,44,8,3,1,3,1,3,1,4,1,4,3,4,50,8,4,1,4,1,4,1,5,1,5,1,
374
- 6,4,6,57,8,6,11,6,12,6,58,1,6,0,0,7,0,2,4,6,8,10,12,0,1,1,0,12,20,
375
- 62,0,18,1,0,0,0,2,23,1,0,0,0,4,39,1,0,0,0,6,41,1,0,0,0,8,47,1,0,
376
- 0,0,10,53,1,0,0,0,12,56,1,0,0,0,14,17,3,2,1,0,15,17,5,11,0,0,16,
377
- 14,1,0,0,0,16,15,1,0,0,0,17,20,1,0,0,0,18,16,1,0,0,0,18,19,1,0,0,
378
- 0,19,21,1,0,0,0,20,18,1,0,0,0,21,22,5,0,0,1,22,1,1,0,0,0,23,25,3,
379
- 4,2,0,24,26,3,6,3,0,25,24,1,0,0,0,25,26,1,0,0,0,26,28,1,0,0,0,27,
380
- 29,3,8,4,0,28,27,1,0,0,0,28,29,1,0,0,0,29,31,1,0,0,0,30,32,3,10,
381
- 5,0,31,30,1,0,0,0,31,32,1,0,0,0,32,33,1,0,0,0,33,35,5,6,0,0,34,36,
382
- 3,12,6,0,35,34,1,0,0,0,35,36,1,0,0,0,36,37,1,0,0,0,37,38,5,10,0,
383
- 0,38,3,1,0,0,0,39,40,7,0,0,0,40,5,1,0,0,0,41,43,5,1,0,0,42,44,5,
384
- 7,0,0,43,42,1,0,0,0,43,44,1,0,0,0,44,45,1,0,0,0,45,46,5,2,0,0,46,
385
- 7,1,0,0,0,47,49,5,3,0,0,48,50,5,8,0,0,49,48,1,0,0,0,49,50,1,0,0,
386
- 0,50,51,1,0,0,0,51,52,5,4,0,0,52,9,1,0,0,0,53,54,5,5,0,0,54,11,1,
387
- 0,0,0,55,57,5,9,0,0,56,55,1,0,0,0,57,58,1,0,0,0,58,56,1,0,0,0,58,
388
- 59,1,0,0,0,59,13,1,0,0,0,9,16,18,25,28,31,35,43,49,58
389
- ];
600
+ this.state = 134;
601
+ this.match(plurnkParser.COLON);
602
+ this.state = 136;
603
+ this.errorHandler.sync(this);
604
+ _la = this.tokenStream.LA(1);
605
+ if (_la === 12) {
606
+ {
607
+ this.state = 135;
608
+ this.body();
609
+ }
610
+ }
390
611
 
391
- private static __ATN: antlr.ATN;
392
- public static get _ATN(): antlr.ATN {
393
- if (!plurnkParser.__ATN) {
394
- plurnkParser.__ATN = new antlr.ATNDeserializer().deserialize(plurnkParser._serializedATN);
612
+ this.state = 138;
613
+ this.match(plurnkParser.CLOSE_TAG);
614
+ }
395
615
  }
396
-
397
- return plurnkParser.__ATN;
616
+ catch (re) {
617
+ if (re instanceof antlr.RecognitionException) {
618
+ this.errorHandler.reportError(this, re);
619
+ this.errorHandler.recover(this, re);
620
+ } else {
621
+ throw re;
622
+ }
623
+ }
624
+ finally {
625
+ this.exitRule();
626
+ }
627
+ return localContext;
398
628
  }
629
+ public execStatement(): ExecStatementContext {
630
+ let localContext = new ExecStatementContext(this.context, this.state);
631
+ this.enterRule(localContext, 20, plurnkParser.RULE_execStatement);
632
+ let _la: number;
633
+ try {
634
+ this.enterOuterAlt(localContext, 1);
635
+ {
636
+ this.state = 140;
637
+ this.match(plurnkParser.OPEN_EXEC);
638
+ this.state = 142;
639
+ this.errorHandler.sync(this);
640
+ _la = this.tokenStream.LA(1);
641
+ if (_la === 1 || _la === 3) {
642
+ {
643
+ this.state = 141;
644
+ this.execModifiers();
645
+ }
646
+ }
399
647
 
648
+ this.state = 144;
649
+ this.match(plurnkParser.COLON);
650
+ this.state = 146;
651
+ this.errorHandler.sync(this);
652
+ _la = this.tokenStream.LA(1);
653
+ if (_la === 12) {
654
+ {
655
+ this.state = 145;
656
+ this.body();
657
+ }
658
+ }
400
659
 
401
- private static readonly vocabulary = new antlr.Vocabulary(plurnkParser.literalNames, plurnkParser.symbolicNames, []);
402
-
403
- public override get vocabulary(): antlr.Vocabulary {
404
- return plurnkParser.vocabulary;
660
+ this.state = 148;
661
+ this.match(plurnkParser.CLOSE_TAG);
662
+ }
663
+ }
664
+ catch (re) {
665
+ if (re instanceof antlr.RecognitionException) {
666
+ this.errorHandler.reportError(this, re);
667
+ this.errorHandler.recover(this, re);
668
+ } else {
669
+ throw re;
670
+ }
671
+ }
672
+ finally {
673
+ this.exitRule();
674
+ }
675
+ return localContext;
405
676
  }
677
+ public tagOpModifiers(): TagOpModifiersContext {
678
+ let localContext = new TagOpModifiersContext(this.context, this.state);
679
+ this.enterRule(localContext, 22, plurnkParser.RULE_tagOpModifiers);
680
+ let _la: number;
681
+ try {
682
+ this.state = 183;
683
+ this.errorHandler.sync(this);
684
+ switch (this.tokenStream.LA(1)) {
685
+ case plurnkParser.LBRACKET:
686
+ this.enterOuterAlt(localContext, 1);
687
+ {
688
+ this.state = 150;
689
+ this.tagSignal();
690
+ this.state = 159;
691
+ this.errorHandler.sync(this);
692
+ switch (this.tokenStream.LA(1)) {
693
+ case plurnkParser.LPAREN:
694
+ {
695
+ this.state = 151;
696
+ this.path();
697
+ this.state = 153;
698
+ this.errorHandler.sync(this);
699
+ _la = this.tokenStream.LA(1);
700
+ if (_la === 5) {
701
+ {
702
+ this.state = 152;
703
+ this.lineMarker();
704
+ }
705
+ }
406
706
 
407
- private static readonly decisionsToDFA = plurnkParser._ATN.decisionToState.map( (ds: antlr.DecisionState, index: number) => new antlr.DFA(ds, index) );
408
- }
707
+ }
708
+ break;
709
+ case plurnkParser.L_MARKER:
710
+ {
711
+ this.state = 155;
712
+ this.lineMarker();
713
+ this.state = 157;
714
+ this.errorHandler.sync(this);
715
+ _la = this.tokenStream.LA(1);
716
+ if (_la === 3) {
717
+ {
718
+ this.state = 156;
719
+ this.path();
720
+ }
721
+ }
409
722
 
410
- export class DocumentContext extends antlr.ParserRuleContext {
411
- public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
412
- super(parent, invokingState);
413
- }
414
- public EOF(): antlr.TerminalNode {
415
- return this.getToken(plurnkParser.EOF, 0)!;
416
- }
417
- public statement(): StatementContext[];
418
- public statement(i: number): StatementContext | null;
419
- public statement(i?: number): StatementContext[] | StatementContext | null {
420
- if (i === undefined) {
421
- return this.getRuleContexts(StatementContext);
422
- }
723
+ }
724
+ break;
725
+ case plurnkParser.COLON:
726
+ break;
727
+ default:
728
+ break;
729
+ }
730
+ }
731
+ break;
732
+ case plurnkParser.LPAREN:
733
+ this.enterOuterAlt(localContext, 2);
734
+ {
735
+ this.state = 161;
736
+ this.path();
737
+ this.state = 170;
738
+ this.errorHandler.sync(this);
739
+ switch (this.tokenStream.LA(1)) {
740
+ case plurnkParser.LBRACKET:
741
+ {
742
+ this.state = 162;
743
+ this.tagSignal();
744
+ this.state = 164;
745
+ this.errorHandler.sync(this);
746
+ _la = this.tokenStream.LA(1);
747
+ if (_la === 5) {
748
+ {
749
+ this.state = 163;
750
+ this.lineMarker();
751
+ }
752
+ }
423
753
 
424
- return this.getRuleContext(i, StatementContext);
425
- }
426
- public TEXT(): antlr.TerminalNode[];
754
+ }
755
+ break;
756
+ case plurnkParser.L_MARKER:
757
+ {
758
+ this.state = 166;
759
+ this.lineMarker();
760
+ this.state = 168;
761
+ this.errorHandler.sync(this);
762
+ _la = this.tokenStream.LA(1);
763
+ if (_la === 1) {
764
+ {
765
+ this.state = 167;
766
+ this.tagSignal();
767
+ }
768
+ }
769
+
770
+ }
771
+ break;
772
+ case plurnkParser.COLON:
773
+ break;
774
+ default:
775
+ break;
776
+ }
777
+ }
778
+ break;
779
+ case plurnkParser.L_MARKER:
780
+ this.enterOuterAlt(localContext, 3);
781
+ {
782
+ this.state = 172;
783
+ this.lineMarker();
784
+ this.state = 181;
785
+ this.errorHandler.sync(this);
786
+ switch (this.tokenStream.LA(1)) {
787
+ case plurnkParser.LBRACKET:
788
+ {
789
+ this.state = 173;
790
+ this.tagSignal();
791
+ this.state = 175;
792
+ this.errorHandler.sync(this);
793
+ _la = this.tokenStream.LA(1);
794
+ if (_la === 3) {
795
+ {
796
+ this.state = 174;
797
+ this.path();
798
+ }
799
+ }
800
+
801
+ }
802
+ break;
803
+ case plurnkParser.LPAREN:
804
+ {
805
+ this.state = 177;
806
+ this.path();
807
+ this.state = 179;
808
+ this.errorHandler.sync(this);
809
+ _la = this.tokenStream.LA(1);
810
+ if (_la === 1) {
811
+ {
812
+ this.state = 178;
813
+ this.tagSignal();
814
+ }
815
+ }
816
+
817
+ }
818
+ break;
819
+ case plurnkParser.COLON:
820
+ break;
821
+ default:
822
+ break;
823
+ }
824
+ }
825
+ break;
826
+ default:
827
+ throw new antlr.NoViableAltException(this);
828
+ }
829
+ }
830
+ catch (re) {
831
+ if (re instanceof antlr.RecognitionException) {
832
+ this.errorHandler.reportError(this, re);
833
+ this.errorHandler.recover(this, re);
834
+ } else {
835
+ throw re;
836
+ }
837
+ }
838
+ finally {
839
+ this.exitRule();
840
+ }
841
+ return localContext;
842
+ }
843
+ public sendModifiers(): SendModifiersContext {
844
+ let localContext = new SendModifiersContext(this.context, this.state);
845
+ this.enterRule(localContext, 24, plurnkParser.RULE_sendModifiers);
846
+ let _la: number;
847
+ try {
848
+ this.state = 193;
849
+ this.errorHandler.sync(this);
850
+ switch (this.tokenStream.LA(1)) {
851
+ case plurnkParser.LBRACKET:
852
+ this.enterOuterAlt(localContext, 1);
853
+ {
854
+ this.state = 185;
855
+ this.intSignal();
856
+ this.state = 187;
857
+ this.errorHandler.sync(this);
858
+ _la = this.tokenStream.LA(1);
859
+ if (_la === 3) {
860
+ {
861
+ this.state = 186;
862
+ this.path();
863
+ }
864
+ }
865
+
866
+ }
867
+ break;
868
+ case plurnkParser.LPAREN:
869
+ this.enterOuterAlt(localContext, 2);
870
+ {
871
+ this.state = 189;
872
+ this.path();
873
+ this.state = 191;
874
+ this.errorHandler.sync(this);
875
+ _la = this.tokenStream.LA(1);
876
+ if (_la === 1) {
877
+ {
878
+ this.state = 190;
879
+ this.intSignal();
880
+ }
881
+ }
882
+
883
+ }
884
+ break;
885
+ default:
886
+ throw new antlr.NoViableAltException(this);
887
+ }
888
+ }
889
+ catch (re) {
890
+ if (re instanceof antlr.RecognitionException) {
891
+ this.errorHandler.reportError(this, re);
892
+ this.errorHandler.recover(this, re);
893
+ } else {
894
+ throw re;
895
+ }
896
+ }
897
+ finally {
898
+ this.exitRule();
899
+ }
900
+ return localContext;
901
+ }
902
+ public execModifiers(): ExecModifiersContext {
903
+ let localContext = new ExecModifiersContext(this.context, this.state);
904
+ this.enterRule(localContext, 26, plurnkParser.RULE_execModifiers);
905
+ let _la: number;
906
+ try {
907
+ this.state = 203;
908
+ this.errorHandler.sync(this);
909
+ switch (this.tokenStream.LA(1)) {
910
+ case plurnkParser.LBRACKET:
911
+ this.enterOuterAlt(localContext, 1);
912
+ {
913
+ this.state = 195;
914
+ this.identSignal();
915
+ this.state = 197;
916
+ this.errorHandler.sync(this);
917
+ _la = this.tokenStream.LA(1);
918
+ if (_la === 3) {
919
+ {
920
+ this.state = 196;
921
+ this.path();
922
+ }
923
+ }
924
+
925
+ }
926
+ break;
927
+ case plurnkParser.LPAREN:
928
+ this.enterOuterAlt(localContext, 2);
929
+ {
930
+ this.state = 199;
931
+ this.path();
932
+ this.state = 201;
933
+ this.errorHandler.sync(this);
934
+ _la = this.tokenStream.LA(1);
935
+ if (_la === 1) {
936
+ {
937
+ this.state = 200;
938
+ this.identSignal();
939
+ }
940
+ }
941
+
942
+ }
943
+ break;
944
+ default:
945
+ throw new antlr.NoViableAltException(this);
946
+ }
947
+ }
948
+ catch (re) {
949
+ if (re instanceof antlr.RecognitionException) {
950
+ this.errorHandler.reportError(this, re);
951
+ this.errorHandler.recover(this, re);
952
+ } else {
953
+ throw re;
954
+ }
955
+ }
956
+ finally {
957
+ this.exitRule();
958
+ }
959
+ return localContext;
960
+ }
961
+ public tagSignal(): TagSignalContext {
962
+ let localContext = new TagSignalContext(this.context, this.state);
963
+ this.enterRule(localContext, 28, plurnkParser.RULE_tagSignal);
964
+ let _la: number;
965
+ try {
966
+ this.enterOuterAlt(localContext, 1);
967
+ {
968
+ this.state = 205;
969
+ this.match(plurnkParser.LBRACKET);
970
+ this.state = 209;
971
+ this.errorHandler.sync(this);
972
+ _la = this.tokenStream.LA(1);
973
+ while (_la === 7 || _la === 10) {
974
+ {
975
+ {
976
+ this.state = 206;
977
+ _la = this.tokenStream.LA(1);
978
+ if(!(_la === 7 || _la === 10)) {
979
+ this.errorHandler.recoverInline(this);
980
+ }
981
+ else {
982
+ this.errorHandler.reportMatch(this);
983
+ this.consume();
984
+ }
985
+ }
986
+ }
987
+ this.state = 211;
988
+ this.errorHandler.sync(this);
989
+ _la = this.tokenStream.LA(1);
990
+ }
991
+ this.state = 212;
992
+ this.match(plurnkParser.RBRACKET);
993
+ }
994
+ }
995
+ catch (re) {
996
+ if (re instanceof antlr.RecognitionException) {
997
+ this.errorHandler.reportError(this, re);
998
+ this.errorHandler.recover(this, re);
999
+ } else {
1000
+ throw re;
1001
+ }
1002
+ }
1003
+ finally {
1004
+ this.exitRule();
1005
+ }
1006
+ return localContext;
1007
+ }
1008
+ public intSignal(): IntSignalContext {
1009
+ let localContext = new IntSignalContext(this.context, this.state);
1010
+ this.enterRule(localContext, 30, plurnkParser.RULE_intSignal);
1011
+ let _la: number;
1012
+ try {
1013
+ this.enterOuterAlt(localContext, 1);
1014
+ {
1015
+ this.state = 214;
1016
+ this.match(plurnkParser.LBRACKET);
1017
+ this.state = 216;
1018
+ this.errorHandler.sync(this);
1019
+ _la = this.tokenStream.LA(1);
1020
+ if (_la === 8) {
1021
+ {
1022
+ this.state = 215;
1023
+ this.match(plurnkParser.INT);
1024
+ }
1025
+ }
1026
+
1027
+ this.state = 218;
1028
+ this.match(plurnkParser.RBRACKET);
1029
+ }
1030
+ }
1031
+ catch (re) {
1032
+ if (re instanceof antlr.RecognitionException) {
1033
+ this.errorHandler.reportError(this, re);
1034
+ this.errorHandler.recover(this, re);
1035
+ } else {
1036
+ throw re;
1037
+ }
1038
+ }
1039
+ finally {
1040
+ this.exitRule();
1041
+ }
1042
+ return localContext;
1043
+ }
1044
+ public identSignal(): IdentSignalContext {
1045
+ let localContext = new IdentSignalContext(this.context, this.state);
1046
+ this.enterRule(localContext, 32, plurnkParser.RULE_identSignal);
1047
+ let _la: number;
1048
+ try {
1049
+ this.enterOuterAlt(localContext, 1);
1050
+ {
1051
+ this.state = 220;
1052
+ this.match(plurnkParser.LBRACKET);
1053
+ this.state = 222;
1054
+ this.errorHandler.sync(this);
1055
+ _la = this.tokenStream.LA(1);
1056
+ if (_la === 9) {
1057
+ {
1058
+ this.state = 221;
1059
+ this.match(plurnkParser.IDENT);
1060
+ }
1061
+ }
1062
+
1063
+ this.state = 224;
1064
+ this.match(plurnkParser.RBRACKET);
1065
+ }
1066
+ }
1067
+ catch (re) {
1068
+ if (re instanceof antlr.RecognitionException) {
1069
+ this.errorHandler.reportError(this, re);
1070
+ this.errorHandler.recover(this, re);
1071
+ } else {
1072
+ throw re;
1073
+ }
1074
+ }
1075
+ finally {
1076
+ this.exitRule();
1077
+ }
1078
+ return localContext;
1079
+ }
1080
+ public path(): PathContext {
1081
+ let localContext = new PathContext(this.context, this.state);
1082
+ this.enterRule(localContext, 34, plurnkParser.RULE_path);
1083
+ let _la: number;
1084
+ try {
1085
+ this.enterOuterAlt(localContext, 1);
1086
+ {
1087
+ this.state = 226;
1088
+ this.match(plurnkParser.LPAREN);
1089
+ this.state = 228;
1090
+ this.errorHandler.sync(this);
1091
+ _la = this.tokenStream.LA(1);
1092
+ if (_la === 11) {
1093
+ {
1094
+ this.state = 227;
1095
+ this.match(plurnkParser.PATH_TEXT);
1096
+ }
1097
+ }
1098
+
1099
+ this.state = 230;
1100
+ this.match(plurnkParser.RPAREN);
1101
+ }
1102
+ }
1103
+ catch (re) {
1104
+ if (re instanceof antlr.RecognitionException) {
1105
+ this.errorHandler.reportError(this, re);
1106
+ this.errorHandler.recover(this, re);
1107
+ } else {
1108
+ throw re;
1109
+ }
1110
+ }
1111
+ finally {
1112
+ this.exitRule();
1113
+ }
1114
+ return localContext;
1115
+ }
1116
+ public lineMarker(): LineMarkerContext {
1117
+ let localContext = new LineMarkerContext(this.context, this.state);
1118
+ this.enterRule(localContext, 36, plurnkParser.RULE_lineMarker);
1119
+ try {
1120
+ this.enterOuterAlt(localContext, 1);
1121
+ {
1122
+ this.state = 232;
1123
+ this.match(plurnkParser.L_MARKER);
1124
+ }
1125
+ }
1126
+ catch (re) {
1127
+ if (re instanceof antlr.RecognitionException) {
1128
+ this.errorHandler.reportError(this, re);
1129
+ this.errorHandler.recover(this, re);
1130
+ } else {
1131
+ throw re;
1132
+ }
1133
+ }
1134
+ finally {
1135
+ this.exitRule();
1136
+ }
1137
+ return localContext;
1138
+ }
1139
+ public body(): BodyContext {
1140
+ let localContext = new BodyContext(this.context, this.state);
1141
+ this.enterRule(localContext, 38, plurnkParser.RULE_body);
1142
+ let _la: number;
1143
+ try {
1144
+ this.enterOuterAlt(localContext, 1);
1145
+ {
1146
+ this.state = 235;
1147
+ this.errorHandler.sync(this);
1148
+ _la = this.tokenStream.LA(1);
1149
+ do {
1150
+ {
1151
+ {
1152
+ this.state = 234;
1153
+ this.match(plurnkParser.BODY_TEXT);
1154
+ }
1155
+ }
1156
+ this.state = 237;
1157
+ this.errorHandler.sync(this);
1158
+ _la = this.tokenStream.LA(1);
1159
+ } while (_la === 12);
1160
+ }
1161
+ }
1162
+ catch (re) {
1163
+ if (re instanceof antlr.RecognitionException) {
1164
+ this.errorHandler.reportError(this, re);
1165
+ this.errorHandler.recover(this, re);
1166
+ } else {
1167
+ throw re;
1168
+ }
1169
+ }
1170
+ finally {
1171
+ this.exitRule();
1172
+ }
1173
+ return localContext;
1174
+ }
1175
+
1176
+ public static readonly _serializedATN: number[] = [
1177
+ 4,1,29,240,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,
1178
+ 6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,
1179
+ 2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,1,0,
1180
+ 1,0,5,0,43,8,0,10,0,12,0,46,9,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,
1181
+ 1,1,1,1,1,1,3,1,59,8,1,1,2,1,2,3,2,63,8,2,1,2,1,2,3,2,67,8,2,1,2,
1182
+ 1,2,1,3,1,3,3,3,73,8,3,1,3,1,3,3,3,77,8,3,1,3,1,3,1,4,1,4,3,4,83,
1183
+ 8,4,1,4,1,4,3,4,87,8,4,1,4,1,4,1,5,1,5,3,5,93,8,5,1,5,1,5,3,5,97,
1184
+ 8,5,1,5,1,5,1,6,1,6,3,6,103,8,6,1,6,1,6,3,6,107,8,6,1,6,1,6,1,7,
1185
+ 1,7,3,7,113,8,7,1,7,1,7,3,7,117,8,7,1,7,1,7,1,8,1,8,3,8,123,8,8,
1186
+ 1,8,1,8,3,8,127,8,8,1,8,1,8,1,9,1,9,3,9,133,8,9,1,9,1,9,3,9,137,
1187
+ 8,9,1,9,1,9,1,10,1,10,3,10,143,8,10,1,10,1,10,3,10,147,8,10,1,10,
1188
+ 1,10,1,11,1,11,1,11,3,11,154,8,11,1,11,1,11,3,11,158,8,11,3,11,160,
1189
+ 8,11,1,11,1,11,1,11,3,11,165,8,11,1,11,1,11,3,11,169,8,11,3,11,171,
1190
+ 8,11,1,11,1,11,1,11,3,11,176,8,11,1,11,1,11,3,11,180,8,11,3,11,182,
1191
+ 8,11,3,11,184,8,11,1,12,1,12,3,12,188,8,12,1,12,1,12,3,12,192,8,
1192
+ 12,3,12,194,8,12,1,13,1,13,3,13,198,8,13,1,13,1,13,3,13,202,8,13,
1193
+ 3,13,204,8,13,1,14,1,14,5,14,208,8,14,10,14,12,14,211,9,14,1,14,
1194
+ 1,14,1,15,1,15,3,15,217,8,15,1,15,1,15,1,16,1,16,3,16,223,8,16,1,
1195
+ 16,1,16,1,17,1,17,3,17,229,8,17,1,17,1,17,1,18,1,18,1,19,4,19,236,
1196
+ 8,19,11,19,12,19,237,1,19,0,0,20,0,2,4,6,8,10,12,14,16,18,20,22,
1197
+ 24,26,28,30,32,34,36,38,0,1,2,0,7,7,10,10,272,0,44,1,0,0,0,2,58,
1198
+ 1,0,0,0,4,60,1,0,0,0,6,70,1,0,0,0,8,80,1,0,0,0,10,90,1,0,0,0,12,
1199
+ 100,1,0,0,0,14,110,1,0,0,0,16,120,1,0,0,0,18,130,1,0,0,0,20,140,
1200
+ 1,0,0,0,22,183,1,0,0,0,24,193,1,0,0,0,26,203,1,0,0,0,28,205,1,0,
1201
+ 0,0,30,214,1,0,0,0,32,220,1,0,0,0,34,226,1,0,0,0,36,232,1,0,0,0,
1202
+ 38,235,1,0,0,0,40,43,3,2,1,0,41,43,5,14,0,0,42,40,1,0,0,0,42,41,
1203
+ 1,0,0,0,43,46,1,0,0,0,44,42,1,0,0,0,44,45,1,0,0,0,45,47,1,0,0,0,
1204
+ 46,44,1,0,0,0,47,48,5,0,0,1,48,1,1,0,0,0,49,59,3,4,2,0,50,59,3,6,
1205
+ 3,0,51,59,3,8,4,0,52,59,3,10,5,0,53,59,3,12,6,0,54,59,3,14,7,0,55,
1206
+ 59,3,16,8,0,56,59,3,18,9,0,57,59,3,20,10,0,58,49,1,0,0,0,58,50,1,
1207
+ 0,0,0,58,51,1,0,0,0,58,52,1,0,0,0,58,53,1,0,0,0,58,54,1,0,0,0,58,
1208
+ 55,1,0,0,0,58,56,1,0,0,0,58,57,1,0,0,0,59,3,1,0,0,0,60,62,5,15,0,
1209
+ 0,61,63,3,22,11,0,62,61,1,0,0,0,62,63,1,0,0,0,63,64,1,0,0,0,64,66,
1210
+ 5,6,0,0,65,67,3,38,19,0,66,65,1,0,0,0,66,67,1,0,0,0,67,68,1,0,0,
1211
+ 0,68,69,5,13,0,0,69,5,1,0,0,0,70,72,5,16,0,0,71,73,3,22,11,0,72,
1212
+ 71,1,0,0,0,72,73,1,0,0,0,73,74,1,0,0,0,74,76,5,6,0,0,75,77,3,38,
1213
+ 19,0,76,75,1,0,0,0,76,77,1,0,0,0,77,78,1,0,0,0,78,79,5,13,0,0,79,
1214
+ 7,1,0,0,0,80,82,5,17,0,0,81,83,3,22,11,0,82,81,1,0,0,0,82,83,1,0,
1215
+ 0,0,83,84,1,0,0,0,84,86,5,6,0,0,85,87,3,38,19,0,86,85,1,0,0,0,86,
1216
+ 87,1,0,0,0,87,88,1,0,0,0,88,89,5,13,0,0,89,9,1,0,0,0,90,92,5,18,
1217
+ 0,0,91,93,3,22,11,0,92,91,1,0,0,0,92,93,1,0,0,0,93,94,1,0,0,0,94,
1218
+ 96,5,6,0,0,95,97,3,38,19,0,96,95,1,0,0,0,96,97,1,0,0,0,97,98,1,0,
1219
+ 0,0,98,99,5,13,0,0,99,11,1,0,0,0,100,102,5,19,0,0,101,103,3,22,11,
1220
+ 0,102,101,1,0,0,0,102,103,1,0,0,0,103,104,1,0,0,0,104,106,5,6,0,
1221
+ 0,105,107,3,38,19,0,106,105,1,0,0,0,106,107,1,0,0,0,107,108,1,0,
1222
+ 0,0,108,109,5,13,0,0,109,13,1,0,0,0,110,112,5,20,0,0,111,113,3,22,
1223
+ 11,0,112,111,1,0,0,0,112,113,1,0,0,0,113,114,1,0,0,0,114,116,5,6,
1224
+ 0,0,115,117,3,38,19,0,116,115,1,0,0,0,116,117,1,0,0,0,117,118,1,
1225
+ 0,0,0,118,119,5,13,0,0,119,15,1,0,0,0,120,122,5,21,0,0,121,123,3,
1226
+ 22,11,0,122,121,1,0,0,0,122,123,1,0,0,0,123,124,1,0,0,0,124,126,
1227
+ 5,6,0,0,125,127,3,38,19,0,126,125,1,0,0,0,126,127,1,0,0,0,127,128,
1228
+ 1,0,0,0,128,129,5,13,0,0,129,17,1,0,0,0,130,132,5,22,0,0,131,133,
1229
+ 3,24,12,0,132,131,1,0,0,0,132,133,1,0,0,0,133,134,1,0,0,0,134,136,
1230
+ 5,6,0,0,135,137,3,38,19,0,136,135,1,0,0,0,136,137,1,0,0,0,137,138,
1231
+ 1,0,0,0,138,139,5,13,0,0,139,19,1,0,0,0,140,142,5,23,0,0,141,143,
1232
+ 3,26,13,0,142,141,1,0,0,0,142,143,1,0,0,0,143,144,1,0,0,0,144,146,
1233
+ 5,6,0,0,145,147,3,38,19,0,146,145,1,0,0,0,146,147,1,0,0,0,147,148,
1234
+ 1,0,0,0,148,149,5,13,0,0,149,21,1,0,0,0,150,159,3,28,14,0,151,153,
1235
+ 3,34,17,0,152,154,3,36,18,0,153,152,1,0,0,0,153,154,1,0,0,0,154,
1236
+ 160,1,0,0,0,155,157,3,36,18,0,156,158,3,34,17,0,157,156,1,0,0,0,
1237
+ 157,158,1,0,0,0,158,160,1,0,0,0,159,151,1,0,0,0,159,155,1,0,0,0,
1238
+ 159,160,1,0,0,0,160,184,1,0,0,0,161,170,3,34,17,0,162,164,3,28,14,
1239
+ 0,163,165,3,36,18,0,164,163,1,0,0,0,164,165,1,0,0,0,165,171,1,0,
1240
+ 0,0,166,168,3,36,18,0,167,169,3,28,14,0,168,167,1,0,0,0,168,169,
1241
+ 1,0,0,0,169,171,1,0,0,0,170,162,1,0,0,0,170,166,1,0,0,0,170,171,
1242
+ 1,0,0,0,171,184,1,0,0,0,172,181,3,36,18,0,173,175,3,28,14,0,174,
1243
+ 176,3,34,17,0,175,174,1,0,0,0,175,176,1,0,0,0,176,182,1,0,0,0,177,
1244
+ 179,3,34,17,0,178,180,3,28,14,0,179,178,1,0,0,0,179,180,1,0,0,0,
1245
+ 180,182,1,0,0,0,181,173,1,0,0,0,181,177,1,0,0,0,181,182,1,0,0,0,
1246
+ 182,184,1,0,0,0,183,150,1,0,0,0,183,161,1,0,0,0,183,172,1,0,0,0,
1247
+ 184,23,1,0,0,0,185,187,3,30,15,0,186,188,3,34,17,0,187,186,1,0,0,
1248
+ 0,187,188,1,0,0,0,188,194,1,0,0,0,189,191,3,34,17,0,190,192,3,30,
1249
+ 15,0,191,190,1,0,0,0,191,192,1,0,0,0,192,194,1,0,0,0,193,185,1,0,
1250
+ 0,0,193,189,1,0,0,0,194,25,1,0,0,0,195,197,3,32,16,0,196,198,3,34,
1251
+ 17,0,197,196,1,0,0,0,197,198,1,0,0,0,198,204,1,0,0,0,199,201,3,34,
1252
+ 17,0,200,202,3,32,16,0,201,200,1,0,0,0,201,202,1,0,0,0,202,204,1,
1253
+ 0,0,0,203,195,1,0,0,0,203,199,1,0,0,0,204,27,1,0,0,0,205,209,5,1,
1254
+ 0,0,206,208,7,0,0,0,207,206,1,0,0,0,208,211,1,0,0,0,209,207,1,0,
1255
+ 0,0,209,210,1,0,0,0,210,212,1,0,0,0,211,209,1,0,0,0,212,213,5,2,
1256
+ 0,0,213,29,1,0,0,0,214,216,5,1,0,0,215,217,5,8,0,0,216,215,1,0,0,
1257
+ 0,216,217,1,0,0,0,217,218,1,0,0,0,218,219,5,2,0,0,219,31,1,0,0,0,
1258
+ 220,222,5,1,0,0,221,223,5,9,0,0,222,221,1,0,0,0,222,223,1,0,0,0,
1259
+ 223,224,1,0,0,0,224,225,5,2,0,0,225,33,1,0,0,0,226,228,5,3,0,0,227,
1260
+ 229,5,11,0,0,228,227,1,0,0,0,228,229,1,0,0,0,229,230,1,0,0,0,230,
1261
+ 231,5,4,0,0,231,35,1,0,0,0,232,233,5,5,0,0,233,37,1,0,0,0,234,236,
1262
+ 5,12,0,0,235,234,1,0,0,0,236,237,1,0,0,0,237,235,1,0,0,0,237,238,
1263
+ 1,0,0,0,238,39,1,0,0,0,42,42,44,58,62,66,72,76,82,86,92,96,102,106,
1264
+ 112,116,122,126,132,136,142,146,153,157,159,164,168,170,175,179,
1265
+ 181,183,187,191,193,197,201,203,209,216,222,228,237
1266
+ ];
1267
+
1268
+ private static __ATN: antlr.ATN;
1269
+ public static get _ATN(): antlr.ATN {
1270
+ if (!plurnkParser.__ATN) {
1271
+ plurnkParser.__ATN = new antlr.ATNDeserializer().deserialize(plurnkParser._serializedATN);
1272
+ }
1273
+
1274
+ return plurnkParser.__ATN;
1275
+ }
1276
+
1277
+
1278
+ private static readonly vocabulary = new antlr.Vocabulary(plurnkParser.literalNames, plurnkParser.symbolicNames, []);
1279
+
1280
+ public override get vocabulary(): antlr.Vocabulary {
1281
+ return plurnkParser.vocabulary;
1282
+ }
1283
+
1284
+ private static readonly decisionsToDFA = plurnkParser._ATN.decisionToState.map( (ds: antlr.DecisionState, index: number) => new antlr.DFA(ds, index) );
1285
+ }
1286
+
1287
+ export class DocumentContext extends antlr.ParserRuleContext {
1288
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1289
+ super(parent, invokingState);
1290
+ }
1291
+ public EOF(): antlr.TerminalNode {
1292
+ return this.getToken(plurnkParser.EOF, 0)!;
1293
+ }
1294
+ public statement(): StatementContext[];
1295
+ public statement(i: number): StatementContext | null;
1296
+ public statement(i?: number): StatementContext[] | StatementContext | null {
1297
+ if (i === undefined) {
1298
+ return this.getRuleContexts(StatementContext);
1299
+ }
1300
+
1301
+ return this.getRuleContext(i, StatementContext);
1302
+ }
1303
+ public TEXT(): antlr.TerminalNode[];
427
1304
  public TEXT(i: number): antlr.TerminalNode | null;
428
1305
  public TEXT(i?: number): antlr.TerminalNode | null | antlr.TerminalNode[] {
429
1306
  if (i === undefined) {
@@ -433,11 +1310,87 @@ export class DocumentContext extends antlr.ParserRuleContext {
433
1310
  }
434
1311
  }
435
1312
  public override get ruleIndex(): number {
436
- return plurnkParser.RULE_document;
1313
+ return plurnkParser.RULE_document;
1314
+ }
1315
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1316
+ if (visitor.visitDocument) {
1317
+ return visitor.visitDocument(this);
1318
+ } else {
1319
+ return visitor.visitChildren(this);
1320
+ }
1321
+ }
1322
+ }
1323
+
1324
+
1325
+ export class StatementContext extends antlr.ParserRuleContext {
1326
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1327
+ super(parent, invokingState);
1328
+ }
1329
+ public findStatement(): FindStatementContext | null {
1330
+ return this.getRuleContext(0, FindStatementContext);
1331
+ }
1332
+ public readStatement(): ReadStatementContext | null {
1333
+ return this.getRuleContext(0, ReadStatementContext);
1334
+ }
1335
+ public editStatement(): EditStatementContext | null {
1336
+ return this.getRuleContext(0, EditStatementContext);
1337
+ }
1338
+ public copyStatement(): CopyStatementContext | null {
1339
+ return this.getRuleContext(0, CopyStatementContext);
1340
+ }
1341
+ public moveStatement(): MoveStatementContext | null {
1342
+ return this.getRuleContext(0, MoveStatementContext);
1343
+ }
1344
+ public showStatement(): ShowStatementContext | null {
1345
+ return this.getRuleContext(0, ShowStatementContext);
1346
+ }
1347
+ public hideStatement(): HideStatementContext | null {
1348
+ return this.getRuleContext(0, HideStatementContext);
1349
+ }
1350
+ public sendStatement(): SendStatementContext | null {
1351
+ return this.getRuleContext(0, SendStatementContext);
1352
+ }
1353
+ public execStatement(): ExecStatementContext | null {
1354
+ return this.getRuleContext(0, ExecStatementContext);
1355
+ }
1356
+ public override get ruleIndex(): number {
1357
+ return plurnkParser.RULE_statement;
1358
+ }
1359
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1360
+ if (visitor.visitStatement) {
1361
+ return visitor.visitStatement(this);
1362
+ } else {
1363
+ return visitor.visitChildren(this);
1364
+ }
1365
+ }
1366
+ }
1367
+
1368
+
1369
+ export class FindStatementContext extends antlr.ParserRuleContext {
1370
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1371
+ super(parent, invokingState);
1372
+ }
1373
+ public OPEN_FIND(): antlr.TerminalNode {
1374
+ return this.getToken(plurnkParser.OPEN_FIND, 0)!;
1375
+ }
1376
+ public COLON(): antlr.TerminalNode {
1377
+ return this.getToken(plurnkParser.COLON, 0)!;
1378
+ }
1379
+ public CLOSE_TAG(): antlr.TerminalNode {
1380
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1381
+ }
1382
+ public tagOpModifiers(): TagOpModifiersContext | null {
1383
+ return this.getRuleContext(0, TagOpModifiersContext);
1384
+ }
1385
+ public body(): BodyContext | null {
1386
+ return this.getRuleContext(0, BodyContext);
1387
+ }
1388
+ public override get ruleIndex(): number {
1389
+ return plurnkParser.RULE_findStatement;
437
1390
  }
438
1391
  public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
439
- if (visitor.visitDocument) {
440
- return visitor.visitDocument(this);
1392
+ if (visitor.visitFindStatement) {
1393
+ return visitor.visitFindStatement(this);
441
1394
  } else {
442
1395
  return visitor.visitChildren(this);
443
1396
  }
@@ -445,12 +1398,172 @@ export class DocumentContext extends antlr.ParserRuleContext {
445
1398
  }
446
1399
 
447
1400
 
448
- export class StatementContext extends antlr.ParserRuleContext {
1401
+ export class ReadStatementContext extends antlr.ParserRuleContext {
1402
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1403
+ super(parent, invokingState);
1404
+ }
1405
+ public OPEN_READ(): antlr.TerminalNode {
1406
+ return this.getToken(plurnkParser.OPEN_READ, 0)!;
1407
+ }
1408
+ public COLON(): antlr.TerminalNode {
1409
+ return this.getToken(plurnkParser.COLON, 0)!;
1410
+ }
1411
+ public CLOSE_TAG(): antlr.TerminalNode {
1412
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1413
+ }
1414
+ public tagOpModifiers(): TagOpModifiersContext | null {
1415
+ return this.getRuleContext(0, TagOpModifiersContext);
1416
+ }
1417
+ public body(): BodyContext | null {
1418
+ return this.getRuleContext(0, BodyContext);
1419
+ }
1420
+ public override get ruleIndex(): number {
1421
+ return plurnkParser.RULE_readStatement;
1422
+ }
1423
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1424
+ if (visitor.visitReadStatement) {
1425
+ return visitor.visitReadStatement(this);
1426
+ } else {
1427
+ return visitor.visitChildren(this);
1428
+ }
1429
+ }
1430
+ }
1431
+
1432
+
1433
+ export class EditStatementContext extends antlr.ParserRuleContext {
1434
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1435
+ super(parent, invokingState);
1436
+ }
1437
+ public OPEN_EDIT(): antlr.TerminalNode {
1438
+ return this.getToken(plurnkParser.OPEN_EDIT, 0)!;
1439
+ }
1440
+ public COLON(): antlr.TerminalNode {
1441
+ return this.getToken(plurnkParser.COLON, 0)!;
1442
+ }
1443
+ public CLOSE_TAG(): antlr.TerminalNode {
1444
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1445
+ }
1446
+ public tagOpModifiers(): TagOpModifiersContext | null {
1447
+ return this.getRuleContext(0, TagOpModifiersContext);
1448
+ }
1449
+ public body(): BodyContext | null {
1450
+ return this.getRuleContext(0, BodyContext);
1451
+ }
1452
+ public override get ruleIndex(): number {
1453
+ return plurnkParser.RULE_editStatement;
1454
+ }
1455
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1456
+ if (visitor.visitEditStatement) {
1457
+ return visitor.visitEditStatement(this);
1458
+ } else {
1459
+ return visitor.visitChildren(this);
1460
+ }
1461
+ }
1462
+ }
1463
+
1464
+
1465
+ export class CopyStatementContext extends antlr.ParserRuleContext {
1466
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1467
+ super(parent, invokingState);
1468
+ }
1469
+ public OPEN_COPY(): antlr.TerminalNode {
1470
+ return this.getToken(plurnkParser.OPEN_COPY, 0)!;
1471
+ }
1472
+ public COLON(): antlr.TerminalNode {
1473
+ return this.getToken(plurnkParser.COLON, 0)!;
1474
+ }
1475
+ public CLOSE_TAG(): antlr.TerminalNode {
1476
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1477
+ }
1478
+ public tagOpModifiers(): TagOpModifiersContext | null {
1479
+ return this.getRuleContext(0, TagOpModifiersContext);
1480
+ }
1481
+ public body(): BodyContext | null {
1482
+ return this.getRuleContext(0, BodyContext);
1483
+ }
1484
+ public override get ruleIndex(): number {
1485
+ return plurnkParser.RULE_copyStatement;
1486
+ }
1487
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1488
+ if (visitor.visitCopyStatement) {
1489
+ return visitor.visitCopyStatement(this);
1490
+ } else {
1491
+ return visitor.visitChildren(this);
1492
+ }
1493
+ }
1494
+ }
1495
+
1496
+
1497
+ export class MoveStatementContext extends antlr.ParserRuleContext {
1498
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1499
+ super(parent, invokingState);
1500
+ }
1501
+ public OPEN_MOVE(): antlr.TerminalNode {
1502
+ return this.getToken(plurnkParser.OPEN_MOVE, 0)!;
1503
+ }
1504
+ public COLON(): antlr.TerminalNode {
1505
+ return this.getToken(plurnkParser.COLON, 0)!;
1506
+ }
1507
+ public CLOSE_TAG(): antlr.TerminalNode {
1508
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1509
+ }
1510
+ public tagOpModifiers(): TagOpModifiersContext | null {
1511
+ return this.getRuleContext(0, TagOpModifiersContext);
1512
+ }
1513
+ public body(): BodyContext | null {
1514
+ return this.getRuleContext(0, BodyContext);
1515
+ }
1516
+ public override get ruleIndex(): number {
1517
+ return plurnkParser.RULE_moveStatement;
1518
+ }
1519
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1520
+ if (visitor.visitMoveStatement) {
1521
+ return visitor.visitMoveStatement(this);
1522
+ } else {
1523
+ return visitor.visitChildren(this);
1524
+ }
1525
+ }
1526
+ }
1527
+
1528
+
1529
+ export class ShowStatementContext extends antlr.ParserRuleContext {
1530
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1531
+ super(parent, invokingState);
1532
+ }
1533
+ public OPEN_SHOW(): antlr.TerminalNode {
1534
+ return this.getToken(plurnkParser.OPEN_SHOW, 0)!;
1535
+ }
1536
+ public COLON(): antlr.TerminalNode {
1537
+ return this.getToken(plurnkParser.COLON, 0)!;
1538
+ }
1539
+ public CLOSE_TAG(): antlr.TerminalNode {
1540
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1541
+ }
1542
+ public tagOpModifiers(): TagOpModifiersContext | null {
1543
+ return this.getRuleContext(0, TagOpModifiersContext);
1544
+ }
1545
+ public body(): BodyContext | null {
1546
+ return this.getRuleContext(0, BodyContext);
1547
+ }
1548
+ public override get ruleIndex(): number {
1549
+ return plurnkParser.RULE_showStatement;
1550
+ }
1551
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1552
+ if (visitor.visitShowStatement) {
1553
+ return visitor.visitShowStatement(this);
1554
+ } else {
1555
+ return visitor.visitChildren(this);
1556
+ }
1557
+ }
1558
+ }
1559
+
1560
+
1561
+ export class HideStatementContext extends antlr.ParserRuleContext {
449
1562
  public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
450
1563
  super(parent, invokingState);
451
1564
  }
452
- public openTag(): OpenTagContext {
453
- return this.getRuleContext(0, OpenTagContext)!;
1565
+ public OPEN_HIDE(): antlr.TerminalNode {
1566
+ return this.getToken(plurnkParser.OPEN_HIDE, 0)!;
454
1567
  }
455
1568
  public COLON(): antlr.TerminalNode {
456
1569
  return this.getToken(plurnkParser.COLON, 0)!;
@@ -458,8 +1571,95 @@ export class StatementContext extends antlr.ParserRuleContext {
458
1571
  public CLOSE_TAG(): antlr.TerminalNode {
459
1572
  return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
460
1573
  }
461
- public signal(): SignalContext | null {
462
- return this.getRuleContext(0, SignalContext);
1574
+ public tagOpModifiers(): TagOpModifiersContext | null {
1575
+ return this.getRuleContext(0, TagOpModifiersContext);
1576
+ }
1577
+ public body(): BodyContext | null {
1578
+ return this.getRuleContext(0, BodyContext);
1579
+ }
1580
+ public override get ruleIndex(): number {
1581
+ return plurnkParser.RULE_hideStatement;
1582
+ }
1583
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1584
+ if (visitor.visitHideStatement) {
1585
+ return visitor.visitHideStatement(this);
1586
+ } else {
1587
+ return visitor.visitChildren(this);
1588
+ }
1589
+ }
1590
+ }
1591
+
1592
+
1593
+ export class SendStatementContext extends antlr.ParserRuleContext {
1594
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1595
+ super(parent, invokingState);
1596
+ }
1597
+ public OPEN_SEND(): antlr.TerminalNode {
1598
+ return this.getToken(plurnkParser.OPEN_SEND, 0)!;
1599
+ }
1600
+ public COLON(): antlr.TerminalNode {
1601
+ return this.getToken(plurnkParser.COLON, 0)!;
1602
+ }
1603
+ public CLOSE_TAG(): antlr.TerminalNode {
1604
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1605
+ }
1606
+ public sendModifiers(): SendModifiersContext | null {
1607
+ return this.getRuleContext(0, SendModifiersContext);
1608
+ }
1609
+ public body(): BodyContext | null {
1610
+ return this.getRuleContext(0, BodyContext);
1611
+ }
1612
+ public override get ruleIndex(): number {
1613
+ return plurnkParser.RULE_sendStatement;
1614
+ }
1615
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1616
+ if (visitor.visitSendStatement) {
1617
+ return visitor.visitSendStatement(this);
1618
+ } else {
1619
+ return visitor.visitChildren(this);
1620
+ }
1621
+ }
1622
+ }
1623
+
1624
+
1625
+ export class ExecStatementContext extends antlr.ParserRuleContext {
1626
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1627
+ super(parent, invokingState);
1628
+ }
1629
+ public OPEN_EXEC(): antlr.TerminalNode {
1630
+ return this.getToken(plurnkParser.OPEN_EXEC, 0)!;
1631
+ }
1632
+ public COLON(): antlr.TerminalNode {
1633
+ return this.getToken(plurnkParser.COLON, 0)!;
1634
+ }
1635
+ public CLOSE_TAG(): antlr.TerminalNode {
1636
+ return this.getToken(plurnkParser.CLOSE_TAG, 0)!;
1637
+ }
1638
+ public execModifiers(): ExecModifiersContext | null {
1639
+ return this.getRuleContext(0, ExecModifiersContext);
1640
+ }
1641
+ public body(): BodyContext | null {
1642
+ return this.getRuleContext(0, BodyContext);
1643
+ }
1644
+ public override get ruleIndex(): number {
1645
+ return plurnkParser.RULE_execStatement;
1646
+ }
1647
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1648
+ if (visitor.visitExecStatement) {
1649
+ return visitor.visitExecStatement(this);
1650
+ } else {
1651
+ return visitor.visitChildren(this);
1652
+ }
1653
+ }
1654
+ }
1655
+
1656
+
1657
+ export class TagOpModifiersContext extends antlr.ParserRuleContext {
1658
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1659
+ super(parent, invokingState);
1660
+ }
1661
+ public tagSignal(): TagSignalContext | null {
1662
+ return this.getRuleContext(0, TagSignalContext);
463
1663
  }
464
1664
  public path(): PathContext | null {
465
1665
  return this.getRuleContext(0, PathContext);
@@ -467,15 +1667,58 @@ export class StatementContext extends antlr.ParserRuleContext {
467
1667
  public lineMarker(): LineMarkerContext | null {
468
1668
  return this.getRuleContext(0, LineMarkerContext);
469
1669
  }
470
- public body(): BodyContext | null {
471
- return this.getRuleContext(0, BodyContext);
1670
+ public override get ruleIndex(): number {
1671
+ return plurnkParser.RULE_tagOpModifiers;
1672
+ }
1673
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1674
+ if (visitor.visitTagOpModifiers) {
1675
+ return visitor.visitTagOpModifiers(this);
1676
+ } else {
1677
+ return visitor.visitChildren(this);
1678
+ }
1679
+ }
1680
+ }
1681
+
1682
+
1683
+ export class SendModifiersContext extends antlr.ParserRuleContext {
1684
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1685
+ super(parent, invokingState);
1686
+ }
1687
+ public intSignal(): IntSignalContext | null {
1688
+ return this.getRuleContext(0, IntSignalContext);
1689
+ }
1690
+ public path(): PathContext | null {
1691
+ return this.getRuleContext(0, PathContext);
472
1692
  }
473
1693
  public override get ruleIndex(): number {
474
- return plurnkParser.RULE_statement;
1694
+ return plurnkParser.RULE_sendModifiers;
475
1695
  }
476
1696
  public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
477
- if (visitor.visitStatement) {
478
- return visitor.visitStatement(this);
1697
+ if (visitor.visitSendModifiers) {
1698
+ return visitor.visitSendModifiers(this);
1699
+ } else {
1700
+ return visitor.visitChildren(this);
1701
+ }
1702
+ }
1703
+ }
1704
+
1705
+
1706
+ export class ExecModifiersContext extends antlr.ParserRuleContext {
1707
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1708
+ super(parent, invokingState);
1709
+ }
1710
+ public identSignal(): IdentSignalContext | null {
1711
+ return this.getRuleContext(0, IdentSignalContext);
1712
+ }
1713
+ public path(): PathContext | null {
1714
+ return this.getRuleContext(0, PathContext);
1715
+ }
1716
+ public override get ruleIndex(): number {
1717
+ return plurnkParser.RULE_execModifiers;
1718
+ }
1719
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1720
+ if (visitor.visitExecModifiers) {
1721
+ return visitor.visitExecModifiers(this);
479
1722
  } else {
480
1723
  return visitor.visitChildren(this);
481
1724
  }
@@ -483,43 +1726,66 @@ export class StatementContext extends antlr.ParserRuleContext {
483
1726
  }
484
1727
 
485
1728
 
486
- export class OpenTagContext extends antlr.ParserRuleContext {
1729
+ export class TagSignalContext extends antlr.ParserRuleContext {
487
1730
  public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
488
1731
  super(parent, invokingState);
489
1732
  }
490
- public OPEN_FIND(): antlr.TerminalNode | null {
491
- return this.getToken(plurnkParser.OPEN_FIND, 0);
1733
+ public LBRACKET(): antlr.TerminalNode {
1734
+ return this.getToken(plurnkParser.LBRACKET, 0)!;
1735
+ }
1736
+ public RBRACKET(): antlr.TerminalNode {
1737
+ return this.getToken(plurnkParser.RBRACKET, 0)!;
492
1738
  }
493
- public OPEN_READ(): antlr.TerminalNode | null {
494
- return this.getToken(plurnkParser.OPEN_READ, 0);
1739
+ public TAG(): antlr.TerminalNode[];
1740
+ public TAG(i: number): antlr.TerminalNode | null;
1741
+ public TAG(i?: number): antlr.TerminalNode | null | antlr.TerminalNode[] {
1742
+ if (i === undefined) {
1743
+ return this.getTokens(plurnkParser.TAG);
1744
+ } else {
1745
+ return this.getToken(plurnkParser.TAG, i);
1746
+ }
495
1747
  }
496
- public OPEN_EDIT(): antlr.TerminalNode | null {
497
- return this.getToken(plurnkParser.OPEN_EDIT, 0);
1748
+ public COMMA(): antlr.TerminalNode[];
1749
+ public COMMA(i: number): antlr.TerminalNode | null;
1750
+ public COMMA(i?: number): antlr.TerminalNode | null | antlr.TerminalNode[] {
1751
+ if (i === undefined) {
1752
+ return this.getTokens(plurnkParser.COMMA);
1753
+ } else {
1754
+ return this.getToken(plurnkParser.COMMA, i);
1755
+ }
498
1756
  }
499
- public OPEN_COPY(): antlr.TerminalNode | null {
500
- return this.getToken(plurnkParser.OPEN_COPY, 0);
1757
+ public override get ruleIndex(): number {
1758
+ return plurnkParser.RULE_tagSignal;
501
1759
  }
502
- public OPEN_MOVE(): antlr.TerminalNode | null {
503
- return this.getToken(plurnkParser.OPEN_MOVE, 0);
1760
+ public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
1761
+ if (visitor.visitTagSignal) {
1762
+ return visitor.visitTagSignal(this);
1763
+ } else {
1764
+ return visitor.visitChildren(this);
1765
+ }
504
1766
  }
505
- public OPEN_SHOW(): antlr.TerminalNode | null {
506
- return this.getToken(plurnkParser.OPEN_SHOW, 0);
1767
+ }
1768
+
1769
+
1770
+ export class IntSignalContext extends antlr.ParserRuleContext {
1771
+ public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
1772
+ super(parent, invokingState);
507
1773
  }
508
- public OPEN_HIDE(): antlr.TerminalNode | null {
509
- return this.getToken(plurnkParser.OPEN_HIDE, 0);
1774
+ public LBRACKET(): antlr.TerminalNode {
1775
+ return this.getToken(plurnkParser.LBRACKET, 0)!;
510
1776
  }
511
- public OPEN_SEND(): antlr.TerminalNode | null {
512
- return this.getToken(plurnkParser.OPEN_SEND, 0);
1777
+ public RBRACKET(): antlr.TerminalNode {
1778
+ return this.getToken(plurnkParser.RBRACKET, 0)!;
513
1779
  }
514
- public OPEN_EXEC(): antlr.TerminalNode | null {
515
- return this.getToken(plurnkParser.OPEN_EXEC, 0);
1780
+ public INT(): antlr.TerminalNode | null {
1781
+ return this.getToken(plurnkParser.INT, 0);
516
1782
  }
517
1783
  public override get ruleIndex(): number {
518
- return plurnkParser.RULE_openTag;
1784
+ return plurnkParser.RULE_intSignal;
519
1785
  }
520
1786
  public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
521
- if (visitor.visitOpenTag) {
522
- return visitor.visitOpenTag(this);
1787
+ if (visitor.visitIntSignal) {
1788
+ return visitor.visitIntSignal(this);
523
1789
  } else {
524
1790
  return visitor.visitChildren(this);
525
1791
  }
@@ -527,7 +1793,7 @@ export class OpenTagContext extends antlr.ParserRuleContext {
527
1793
  }
528
1794
 
529
1795
 
530
- export class SignalContext extends antlr.ParserRuleContext {
1796
+ export class IdentSignalContext extends antlr.ParserRuleContext {
531
1797
  public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
532
1798
  super(parent, invokingState);
533
1799
  }
@@ -537,15 +1803,15 @@ export class SignalContext extends antlr.ParserRuleContext {
537
1803
  public RBRACKET(): antlr.TerminalNode {
538
1804
  return this.getToken(plurnkParser.RBRACKET, 0)!;
539
1805
  }
540
- public SIGNAL_TEXT(): antlr.TerminalNode | null {
541
- return this.getToken(plurnkParser.SIGNAL_TEXT, 0);
1806
+ public IDENT(): antlr.TerminalNode | null {
1807
+ return this.getToken(plurnkParser.IDENT, 0);
542
1808
  }
543
1809
  public override get ruleIndex(): number {
544
- return plurnkParser.RULE_signal;
1810
+ return plurnkParser.RULE_identSignal;
545
1811
  }
546
1812
  public override accept<Result>(visitor: plurnkParserVisitor<Result>): Result | null {
547
- if (visitor.visitSignal) {
548
- return visitor.visitSignal(this);
1813
+ if (visitor.visitIdentSignal) {
1814
+ return visitor.visitIdentSignal(this);
549
1815
  } else {
550
1816
  return visitor.visitChildren(this);
551
1817
  }