@plurnk/plurnk-grammar 0.74.51 → 0.74.53

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.
@@ -8,34 +8,35 @@ export class plurnkParser extends antlr.Parser {
8
8
  static COLON = 6;
9
9
  static COMMA = 7;
10
10
  static INT = 8;
11
- static IDENT = 9;
12
- static TAG = 10;
13
- static TARGET_TEXT = 11;
14
- static BODY_TEXT = 12;
15
- static CLOSE_TAG = 13;
16
- static TEXT = 14;
17
- static OPEN_TURN = 15;
18
- static CLOSE_TURN = 16;
19
- static OPEN_FIND = 17;
20
- static OPEN_READ = 18;
21
- static OPEN_EDIT = 19;
22
- static OPEN_COPY = 20;
23
- static OPEN_MOVE = 21;
24
- static OPEN_OPEN = 22;
25
- static OPEN_FOLD = 23;
26
- static OPEN_SEND = 24;
27
- static OPEN_EXEC = 25;
28
- static OPEN_KILL = 26;
29
- static OPEN_PLAN = 27;
30
- static OPEN_LOOK = 28;
31
- static OPEN_BUFF = 29;
32
- static WS = 30;
33
- static SLOTS_WS = 31;
34
- static ST_WS = 32;
35
- static SI_WS = 33;
36
- static SD_WS = 34;
37
- static ST_COMMA = 35;
38
- static B_COLON = 36;
11
+ static DISPOSITION = 9;
12
+ static IDENT = 10;
13
+ static TAG = 11;
14
+ static TARGET_TEXT = 12;
15
+ static BODY_TEXT = 13;
16
+ static CLOSE_TAG = 14;
17
+ static TEXT = 15;
18
+ static OPEN_TURN = 16;
19
+ static CLOSE_TURN = 17;
20
+ static OPEN_FIND = 18;
21
+ static OPEN_READ = 19;
22
+ static OPEN_EDIT = 20;
23
+ static OPEN_COPY = 21;
24
+ static OPEN_MOVE = 22;
25
+ static OPEN_OPEN = 23;
26
+ static OPEN_FOLD = 24;
27
+ static OPEN_SEND = 25;
28
+ static OPEN_EXEC = 26;
29
+ static OPEN_KILL = 27;
30
+ static OPEN_PLAN = 28;
31
+ static OPEN_LOOK = 29;
32
+ static OPEN_BUFF = 30;
33
+ static WS = 31;
34
+ static SLOTS_WS = 32;
35
+ static ST_WS = 33;
36
+ static SI_WS = 34;
37
+ static SD_WS = 35;
38
+ static ST_COMMA = 36;
39
+ static B_COLON = 37;
39
40
  static RULE_document = 0;
40
41
  static RULE_log = 1;
41
42
  static RULE_turnStatement = 2;
@@ -53,43 +54,49 @@ export class plurnkParser extends antlr.Parser {
53
54
  static RULE_openStatement = 14;
54
55
  static RULE_foldStatement = 15;
55
56
  static RULE_sendStatement = 16;
56
- static RULE_execStatement = 17;
57
- static RULE_killStatement = 18;
58
- static RULE_planStatement = 19;
59
- static RULE_lookStatement = 20;
60
- static RULE_buffStatement = 21;
61
- static RULE_tagOpModifiers = 22;
62
- static RULE_intOpModifiers = 23;
63
- static RULE_execModifiers = 24;
64
- static RULE_tagSignal = 25;
65
- static RULE_intSignal = 26;
66
- static RULE_identSignal = 27;
67
- static RULE_target = 28;
68
- static RULE_lineMarker = 29;
69
- static RULE_body = 30;
57
+ static RULE_midSend = 17;
58
+ static RULE_execStatement = 18;
59
+ static RULE_killStatement = 19;
60
+ static RULE_planStatement = 20;
61
+ static RULE_lookStatement = 21;
62
+ static RULE_buffStatement = 22;
63
+ static RULE_tagOpModifiers = 23;
64
+ static RULE_intOpModifiers = 24;
65
+ static RULE_termModifiers = 25;
66
+ static RULE_midModifiers = 26;
67
+ static RULE_execModifiers = 27;
68
+ static RULE_tagSignal = 28;
69
+ static RULE_intSignal = 29;
70
+ static RULE_midSignal = 30;
71
+ static RULE_dispSignal = 31;
72
+ static RULE_identSignal = 32;
73
+ static RULE_target = 33;
74
+ static RULE_lineMarker = 34;
75
+ static RULE_body = 35;
70
76
  static literalNames = [
71
77
  null, null, null, null, null, null, null, null, null, null, null,
72
78
  null, null, null, null, null, null, null, null, null, null, null,
73
79
  null, null, null, null, null, null, null, null, null, null, null,
74
- null, null, "','", "':'"
80
+ null, null, null, "','", "':'"
75
81
  ];
76
82
  static symbolicNames = [
77
83
  null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
78
- "COMMA", "INT", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT", "CLOSE_TAG",
79
- "TEXT", "OPEN_TURN", "CLOSE_TURN", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT",
80
- "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD", "OPEN_SEND",
81
- "OPEN_EXEC", "OPEN_KILL", "OPEN_PLAN", "OPEN_LOOK", "OPEN_BUFF",
82
- "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
84
+ "COMMA", "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT",
85
+ "CLOSE_TAG", "TEXT", "OPEN_TURN", "CLOSE_TURN", "OPEN_FIND", "OPEN_READ",
86
+ "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
87
+ "OPEN_SEND", "OPEN_EXEC", "OPEN_KILL", "OPEN_PLAN", "OPEN_LOOK",
88
+ "OPEN_BUFF", "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "ST_COMMA",
89
+ "B_COLON"
83
90
  ];
84
91
  static ruleNames = [
85
92
  "document", "log", "turnStatement", "turnContent", "statementSeq",
86
93
  "clientStatementSeq", "clientStatement", "statement", "midStatement",
87
94
  "findStatement", "readStatement", "editStatement", "copyStatement",
88
95
  "moveStatement", "openStatement", "foldStatement", "sendStatement",
89
- "execStatement", "killStatement", "planStatement", "lookStatement",
90
- "buffStatement", "tagOpModifiers", "intOpModifiers", "execModifiers",
91
- "tagSignal", "intSignal", "identSignal", "target", "lineMarker",
92
- "body",
96
+ "midSend", "execStatement", "killStatement", "planStatement", "lookStatement",
97
+ "buffStatement", "tagOpModifiers", "intOpModifiers", "termModifiers",
98
+ "midModifiers", "execModifiers", "tagSignal", "intSignal", "midSignal",
99
+ "dispSignal", "identSignal", "target", "lineMarker", "body",
93
100
  ];
94
101
  get grammarFileName() { return "plurnkParser.g4"; }
95
102
  get literalNames() { return plurnkParser.literalNames; }
@@ -109,9 +116,9 @@ export class plurnkParser extends antlr.Parser {
109
116
  try {
110
117
  this.enterOuterAlt(localContext, 1);
111
118
  {
112
- this.state = 62;
119
+ this.state = 72;
113
120
  this.turnContent();
114
- this.state = 63;
121
+ this.state = 73;
115
122
  this.match(plurnkParser.EOF);
116
123
  }
117
124
  }
@@ -136,21 +143,21 @@ export class plurnkParser extends antlr.Parser {
136
143
  try {
137
144
  this.enterOuterAlt(localContext, 1);
138
145
  {
139
- this.state = 66;
146
+ this.state = 76;
140
147
  this.errorHandler.sync(this);
141
148
  _la = this.tokenStream.LA(1);
142
149
  do {
143
150
  {
144
151
  {
145
- this.state = 65;
152
+ this.state = 75;
146
153
  this.turnStatement();
147
154
  }
148
155
  }
149
- this.state = 68;
156
+ this.state = 78;
150
157
  this.errorHandler.sync(this);
151
158
  _la = this.tokenStream.LA(1);
152
- } while (_la === 15);
153
- this.state = 70;
159
+ } while (_la === 16);
160
+ this.state = 80;
154
161
  this.match(plurnkParser.EOF);
155
162
  }
156
163
  }
@@ -175,22 +182,22 @@ export class plurnkParser extends antlr.Parser {
175
182
  try {
176
183
  this.enterOuterAlt(localContext, 1);
177
184
  {
178
- this.state = 72;
185
+ this.state = 82;
179
186
  this.match(plurnkParser.OPEN_TURN);
180
- this.state = 74;
187
+ this.state = 84;
181
188
  this.errorHandler.sync(this);
182
189
  _la = this.tokenStream.LA(1);
183
190
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
184
191
  {
185
- this.state = 73;
192
+ this.state = 83;
186
193
  this.tagOpModifiers();
187
194
  }
188
195
  }
189
- this.state = 76;
196
+ this.state = 86;
190
197
  this.match(plurnkParser.COLON);
191
- this.state = 77;
198
+ this.state = 87;
192
199
  this.turnContent();
193
- this.state = 78;
200
+ this.state = 88;
194
201
  this.match(plurnkParser.CLOSE_TURN);
195
202
  }
196
203
  }
@@ -216,29 +223,29 @@ export class plurnkParser extends antlr.Parser {
216
223
  let alternative;
217
224
  this.enterOuterAlt(localContext, 1);
218
225
  {
219
- this.state = 83;
226
+ this.state = 93;
220
227
  this.errorHandler.sync(this);
221
228
  _la = this.tokenStream.LA(1);
222
- while (_la === 14) {
229
+ while (_la === 15) {
223
230
  {
224
231
  {
225
- this.state = 80;
232
+ this.state = 90;
226
233
  this.match(plurnkParser.TEXT);
227
234
  }
228
235
  }
229
- this.state = 85;
236
+ this.state = 95;
230
237
  this.errorHandler.sync(this);
231
238
  _la = this.tokenStream.LA(1);
232
239
  }
233
- this.state = 86;
240
+ this.state = 96;
234
241
  this.planStatement();
235
- this.state = 91;
242
+ this.state = 101;
236
243
  this.errorHandler.sync(this);
237
244
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
238
245
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
239
246
  if (alternative === 1) {
240
247
  {
241
- this.state = 89;
248
+ this.state = 99;
242
249
  this.errorHandler.sync(this);
243
250
  switch (this.tokenStream.LA(1)) {
244
251
  case plurnkParser.OPEN_FIND:
@@ -252,13 +259,13 @@ export class plurnkParser extends antlr.Parser {
252
259
  case plurnkParser.OPEN_EXEC:
253
260
  case plurnkParser.OPEN_KILL:
254
261
  {
255
- this.state = 87;
262
+ this.state = 97;
256
263
  this.midStatement();
257
264
  }
258
265
  break;
259
266
  case plurnkParser.TEXT:
260
267
  {
261
- this.state = 88;
268
+ this.state = 98;
262
269
  this.match(plurnkParser.TEXT);
263
270
  }
264
271
  break;
@@ -267,23 +274,23 @@ export class plurnkParser extends antlr.Parser {
267
274
  }
268
275
  }
269
276
  }
270
- this.state = 93;
277
+ this.state = 103;
271
278
  this.errorHandler.sync(this);
272
279
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
273
280
  }
274
- this.state = 94;
281
+ this.state = 104;
275
282
  this.sendStatement();
276
- this.state = 98;
283
+ this.state = 108;
277
284
  this.errorHandler.sync(this);
278
285
  _la = this.tokenStream.LA(1);
279
- while (_la === 14) {
286
+ while (_la === 15) {
280
287
  {
281
288
  {
282
- this.state = 95;
289
+ this.state = 105;
283
290
  this.match(plurnkParser.TEXT);
284
291
  }
285
292
  }
286
- this.state = 100;
293
+ this.state = 110;
287
294
  this.errorHandler.sync(this);
288
295
  _la = this.tokenStream.LA(1);
289
296
  }
@@ -310,21 +317,21 @@ export class plurnkParser extends antlr.Parser {
310
317
  try {
311
318
  this.enterOuterAlt(localContext, 1);
312
319
  {
313
- this.state = 104;
320
+ this.state = 114;
314
321
  this.errorHandler.sync(this);
315
322
  _la = this.tokenStream.LA(1);
316
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268304384) !== 0)) {
323
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 536608768) !== 0)) {
317
324
  {
318
325
  {
319
- this.state = 101;
326
+ this.state = 111;
320
327
  this.statement();
321
328
  }
322
329
  }
323
- this.state = 106;
330
+ this.state = 116;
324
331
  this.errorHandler.sync(this);
325
332
  _la = this.tokenStream.LA(1);
326
333
  }
327
- this.state = 107;
334
+ this.state = 117;
328
335
  this.match(plurnkParser.EOF);
329
336
  }
330
337
  }
@@ -349,21 +356,21 @@ export class plurnkParser extends antlr.Parser {
349
356
  try {
350
357
  this.enterOuterAlt(localContext, 1);
351
358
  {
352
- this.state = 112;
359
+ this.state = 122;
353
360
  this.errorHandler.sync(this);
354
361
  _la = this.tokenStream.LA(1);
355
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073610752) !== 0)) {
362
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147221504) !== 0)) {
356
363
  {
357
364
  {
358
- this.state = 109;
365
+ this.state = 119;
359
366
  this.clientStatement();
360
367
  }
361
368
  }
362
- this.state = 114;
369
+ this.state = 124;
363
370
  this.errorHandler.sync(this);
364
371
  _la = this.tokenStream.LA(1);
365
372
  }
366
- this.state = 115;
373
+ this.state = 125;
367
374
  this.match(plurnkParser.EOF);
368
375
  }
369
376
  }
@@ -385,7 +392,7 @@ export class plurnkParser extends antlr.Parser {
385
392
  let localContext = new ClientStatementContext(this.context, this.state);
386
393
  this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
387
394
  try {
388
- this.state = 120;
395
+ this.state = 130;
389
396
  this.errorHandler.sync(this);
390
397
  switch (this.tokenStream.LA(1)) {
391
398
  case plurnkParser.OPEN_FIND:
@@ -401,21 +408,21 @@ export class plurnkParser extends antlr.Parser {
401
408
  case plurnkParser.OPEN_PLAN:
402
409
  this.enterOuterAlt(localContext, 1);
403
410
  {
404
- this.state = 117;
411
+ this.state = 127;
405
412
  this.statement();
406
413
  }
407
414
  break;
408
415
  case plurnkParser.OPEN_LOOK:
409
416
  this.enterOuterAlt(localContext, 2);
410
417
  {
411
- this.state = 118;
418
+ this.state = 128;
412
419
  this.lookStatement();
413
420
  }
414
421
  break;
415
422
  case plurnkParser.OPEN_BUFF:
416
423
  this.enterOuterAlt(localContext, 3);
417
424
  {
418
- this.state = 119;
425
+ this.state = 129;
419
426
  this.buffStatement();
420
427
  }
421
428
  break;
@@ -441,88 +448,93 @@ export class plurnkParser extends antlr.Parser {
441
448
  let localContext = new StatementContext(this.context, this.state);
442
449
  this.enterRule(localContext, 14, plurnkParser.RULE_statement);
443
450
  try {
444
- this.state = 133;
451
+ this.state = 144;
445
452
  this.errorHandler.sync(this);
446
- switch (this.tokenStream.LA(1)) {
447
- case plurnkParser.OPEN_FIND:
453
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
454
+ case 1:
448
455
  this.enterOuterAlt(localContext, 1);
449
456
  {
450
- this.state = 122;
457
+ this.state = 132;
451
458
  this.findStatement();
452
459
  }
453
460
  break;
454
- case plurnkParser.OPEN_READ:
461
+ case 2:
455
462
  this.enterOuterAlt(localContext, 2);
456
463
  {
457
- this.state = 123;
464
+ this.state = 133;
458
465
  this.readStatement();
459
466
  }
460
467
  break;
461
- case plurnkParser.OPEN_EDIT:
468
+ case 3:
462
469
  this.enterOuterAlt(localContext, 3);
463
470
  {
464
- this.state = 124;
471
+ this.state = 134;
465
472
  this.editStatement();
466
473
  }
467
474
  break;
468
- case plurnkParser.OPEN_COPY:
475
+ case 4:
469
476
  this.enterOuterAlt(localContext, 4);
470
477
  {
471
- this.state = 125;
478
+ this.state = 135;
472
479
  this.copyStatement();
473
480
  }
474
481
  break;
475
- case plurnkParser.OPEN_MOVE:
482
+ case 5:
476
483
  this.enterOuterAlt(localContext, 5);
477
484
  {
478
- this.state = 126;
485
+ this.state = 136;
479
486
  this.moveStatement();
480
487
  }
481
488
  break;
482
- case plurnkParser.OPEN_OPEN:
489
+ case 6:
483
490
  this.enterOuterAlt(localContext, 6);
484
491
  {
485
- this.state = 127;
492
+ this.state = 137;
486
493
  this.openStatement();
487
494
  }
488
495
  break;
489
- case plurnkParser.OPEN_FOLD:
496
+ case 7:
490
497
  this.enterOuterAlt(localContext, 7);
491
498
  {
492
- this.state = 128;
499
+ this.state = 138;
493
500
  this.foldStatement();
494
501
  }
495
502
  break;
496
- case plurnkParser.OPEN_SEND:
503
+ case 8:
497
504
  this.enterOuterAlt(localContext, 8);
498
505
  {
499
- this.state = 129;
506
+ this.state = 139;
500
507
  this.sendStatement();
501
508
  }
502
509
  break;
503
- case plurnkParser.OPEN_EXEC:
510
+ case 9:
504
511
  this.enterOuterAlt(localContext, 9);
505
512
  {
506
- this.state = 130;
507
- this.execStatement();
513
+ this.state = 140;
514
+ this.midSend();
508
515
  }
509
516
  break;
510
- case plurnkParser.OPEN_KILL:
517
+ case 10:
511
518
  this.enterOuterAlt(localContext, 10);
512
519
  {
513
- this.state = 131;
514
- this.killStatement();
520
+ this.state = 141;
521
+ this.execStatement();
515
522
  }
516
523
  break;
517
- case plurnkParser.OPEN_PLAN:
524
+ case 11:
518
525
  this.enterOuterAlt(localContext, 11);
519
526
  {
520
- this.state = 132;
527
+ this.state = 142;
528
+ this.killStatement();
529
+ }
530
+ break;
531
+ case 12:
532
+ this.enterOuterAlt(localContext, 12);
533
+ {
534
+ this.state = 143;
521
535
  this.planStatement();
522
536
  }
523
537
  break;
524
- default:
525
- throw new antlr.NoViableAltException(this);
526
538
  }
527
539
  }
528
540
  catch (re) {
@@ -543,76 +555,76 @@ export class plurnkParser extends antlr.Parser {
543
555
  let localContext = new MidStatementContext(this.context, this.state);
544
556
  this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
545
557
  try {
546
- this.state = 145;
558
+ this.state = 156;
547
559
  this.errorHandler.sync(this);
548
560
  switch (this.tokenStream.LA(1)) {
549
561
  case plurnkParser.OPEN_FIND:
550
562
  this.enterOuterAlt(localContext, 1);
551
563
  {
552
- this.state = 135;
564
+ this.state = 146;
553
565
  this.findStatement();
554
566
  }
555
567
  break;
556
568
  case plurnkParser.OPEN_READ:
557
569
  this.enterOuterAlt(localContext, 2);
558
570
  {
559
- this.state = 136;
571
+ this.state = 147;
560
572
  this.readStatement();
561
573
  }
562
574
  break;
563
575
  case plurnkParser.OPEN_EDIT:
564
576
  this.enterOuterAlt(localContext, 3);
565
577
  {
566
- this.state = 137;
578
+ this.state = 148;
567
579
  this.editStatement();
568
580
  }
569
581
  break;
570
582
  case plurnkParser.OPEN_COPY:
571
583
  this.enterOuterAlt(localContext, 4);
572
584
  {
573
- this.state = 138;
585
+ this.state = 149;
574
586
  this.copyStatement();
575
587
  }
576
588
  break;
577
589
  case plurnkParser.OPEN_MOVE:
578
590
  this.enterOuterAlt(localContext, 5);
579
591
  {
580
- this.state = 139;
592
+ this.state = 150;
581
593
  this.moveStatement();
582
594
  }
583
595
  break;
584
596
  case plurnkParser.OPEN_OPEN:
585
597
  this.enterOuterAlt(localContext, 6);
586
598
  {
587
- this.state = 140;
599
+ this.state = 151;
588
600
  this.openStatement();
589
601
  }
590
602
  break;
591
603
  case plurnkParser.OPEN_FOLD:
592
604
  this.enterOuterAlt(localContext, 7);
593
605
  {
594
- this.state = 141;
606
+ this.state = 152;
595
607
  this.foldStatement();
596
608
  }
597
609
  break;
598
610
  case plurnkParser.OPEN_SEND:
599
611
  this.enterOuterAlt(localContext, 8);
600
612
  {
601
- this.state = 142;
602
- this.sendStatement();
613
+ this.state = 153;
614
+ this.midSend();
603
615
  }
604
616
  break;
605
617
  case plurnkParser.OPEN_EXEC:
606
618
  this.enterOuterAlt(localContext, 9);
607
619
  {
608
- this.state = 143;
620
+ this.state = 154;
609
621
  this.execStatement();
610
622
  }
611
623
  break;
612
624
  case plurnkParser.OPEN_KILL:
613
625
  this.enterOuterAlt(localContext, 10);
614
626
  {
615
- this.state = 144;
627
+ this.state = 155;
616
628
  this.killStatement();
617
629
  }
618
630
  break;
@@ -641,36 +653,36 @@ export class plurnkParser extends antlr.Parser {
641
653
  try {
642
654
  this.enterOuterAlt(localContext, 1);
643
655
  {
644
- this.state = 147;
656
+ this.state = 158;
645
657
  this.match(plurnkParser.OPEN_FIND);
646
- this.state = 149;
658
+ this.state = 160;
647
659
  this.errorHandler.sync(this);
648
660
  _la = this.tokenStream.LA(1);
649
661
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
650
662
  {
651
- this.state = 148;
663
+ this.state = 159;
652
664
  this.tagOpModifiers();
653
665
  }
654
666
  }
655
- this.state = 152;
667
+ this.state = 163;
656
668
  this.errorHandler.sync(this);
657
669
  _la = this.tokenStream.LA(1);
658
670
  if (_la === 6) {
659
671
  {
660
- this.state = 151;
672
+ this.state = 162;
661
673
  this.match(plurnkParser.COLON);
662
674
  }
663
675
  }
664
- this.state = 155;
676
+ this.state = 166;
665
677
  this.errorHandler.sync(this);
666
678
  _la = this.tokenStream.LA(1);
667
- if (_la === 12) {
679
+ if (_la === 13) {
668
680
  {
669
- this.state = 154;
681
+ this.state = 165;
670
682
  this.body();
671
683
  }
672
684
  }
673
- this.state = 157;
685
+ this.state = 168;
674
686
  this.match(plurnkParser.CLOSE_TAG);
675
687
  }
676
688
  }
@@ -695,36 +707,36 @@ export class plurnkParser extends antlr.Parser {
695
707
  try {
696
708
  this.enterOuterAlt(localContext, 1);
697
709
  {
698
- this.state = 159;
710
+ this.state = 170;
699
711
  this.match(plurnkParser.OPEN_READ);
700
- this.state = 161;
712
+ this.state = 172;
701
713
  this.errorHandler.sync(this);
702
714
  _la = this.tokenStream.LA(1);
703
715
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
704
716
  {
705
- this.state = 160;
717
+ this.state = 171;
706
718
  this.tagOpModifiers();
707
719
  }
708
720
  }
709
- this.state = 164;
721
+ this.state = 175;
710
722
  this.errorHandler.sync(this);
711
723
  _la = this.tokenStream.LA(1);
712
724
  if (_la === 6) {
713
725
  {
714
- this.state = 163;
726
+ this.state = 174;
715
727
  this.match(plurnkParser.COLON);
716
728
  }
717
729
  }
718
- this.state = 167;
730
+ this.state = 178;
719
731
  this.errorHandler.sync(this);
720
732
  _la = this.tokenStream.LA(1);
721
- if (_la === 12) {
733
+ if (_la === 13) {
722
734
  {
723
- this.state = 166;
735
+ this.state = 177;
724
736
  this.body();
725
737
  }
726
738
  }
727
- this.state = 169;
739
+ this.state = 180;
728
740
  this.match(plurnkParser.CLOSE_TAG);
729
741
  }
730
742
  }
@@ -749,36 +761,36 @@ export class plurnkParser extends antlr.Parser {
749
761
  try {
750
762
  this.enterOuterAlt(localContext, 1);
751
763
  {
752
- this.state = 171;
764
+ this.state = 182;
753
765
  this.match(plurnkParser.OPEN_EDIT);
754
- this.state = 173;
766
+ this.state = 184;
755
767
  this.errorHandler.sync(this);
756
768
  _la = this.tokenStream.LA(1);
757
769
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
758
770
  {
759
- this.state = 172;
771
+ this.state = 183;
760
772
  this.tagOpModifiers();
761
773
  }
762
774
  }
763
- this.state = 176;
775
+ this.state = 187;
764
776
  this.errorHandler.sync(this);
765
777
  _la = this.tokenStream.LA(1);
766
778
  if (_la === 6) {
767
779
  {
768
- this.state = 175;
780
+ this.state = 186;
769
781
  this.match(plurnkParser.COLON);
770
782
  }
771
783
  }
772
- this.state = 179;
784
+ this.state = 190;
773
785
  this.errorHandler.sync(this);
774
786
  _la = this.tokenStream.LA(1);
775
- if (_la === 12) {
787
+ if (_la === 13) {
776
788
  {
777
- this.state = 178;
789
+ this.state = 189;
778
790
  this.body();
779
791
  }
780
792
  }
781
- this.state = 181;
793
+ this.state = 192;
782
794
  this.match(plurnkParser.CLOSE_TAG);
783
795
  }
784
796
  }
@@ -803,36 +815,36 @@ export class plurnkParser extends antlr.Parser {
803
815
  try {
804
816
  this.enterOuterAlt(localContext, 1);
805
817
  {
806
- this.state = 183;
818
+ this.state = 194;
807
819
  this.match(plurnkParser.OPEN_COPY);
808
- this.state = 185;
820
+ this.state = 196;
809
821
  this.errorHandler.sync(this);
810
822
  _la = this.tokenStream.LA(1);
811
823
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
812
824
  {
813
- this.state = 184;
825
+ this.state = 195;
814
826
  this.tagOpModifiers();
815
827
  }
816
828
  }
817
- this.state = 188;
829
+ this.state = 199;
818
830
  this.errorHandler.sync(this);
819
831
  _la = this.tokenStream.LA(1);
820
832
  if (_la === 6) {
821
833
  {
822
- this.state = 187;
834
+ this.state = 198;
823
835
  this.match(plurnkParser.COLON);
824
836
  }
825
837
  }
826
- this.state = 191;
838
+ this.state = 202;
827
839
  this.errorHandler.sync(this);
828
840
  _la = this.tokenStream.LA(1);
829
- if (_la === 12) {
841
+ if (_la === 13) {
830
842
  {
831
- this.state = 190;
843
+ this.state = 201;
832
844
  this.body();
833
845
  }
834
846
  }
835
- this.state = 193;
847
+ this.state = 204;
836
848
  this.match(plurnkParser.CLOSE_TAG);
837
849
  }
838
850
  }
@@ -857,36 +869,36 @@ export class plurnkParser extends antlr.Parser {
857
869
  try {
858
870
  this.enterOuterAlt(localContext, 1);
859
871
  {
860
- this.state = 195;
872
+ this.state = 206;
861
873
  this.match(plurnkParser.OPEN_MOVE);
862
- this.state = 197;
874
+ this.state = 208;
863
875
  this.errorHandler.sync(this);
864
876
  _la = this.tokenStream.LA(1);
865
877
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
866
878
  {
867
- this.state = 196;
879
+ this.state = 207;
868
880
  this.tagOpModifiers();
869
881
  }
870
882
  }
871
- this.state = 200;
883
+ this.state = 211;
872
884
  this.errorHandler.sync(this);
873
885
  _la = this.tokenStream.LA(1);
874
886
  if (_la === 6) {
875
887
  {
876
- this.state = 199;
888
+ this.state = 210;
877
889
  this.match(plurnkParser.COLON);
878
890
  }
879
891
  }
880
- this.state = 203;
892
+ this.state = 214;
881
893
  this.errorHandler.sync(this);
882
894
  _la = this.tokenStream.LA(1);
883
- if (_la === 12) {
895
+ if (_la === 13) {
884
896
  {
885
- this.state = 202;
897
+ this.state = 213;
886
898
  this.body();
887
899
  }
888
900
  }
889
- this.state = 205;
901
+ this.state = 216;
890
902
  this.match(plurnkParser.CLOSE_TAG);
891
903
  }
892
904
  }
@@ -911,36 +923,36 @@ export class plurnkParser extends antlr.Parser {
911
923
  try {
912
924
  this.enterOuterAlt(localContext, 1);
913
925
  {
914
- this.state = 207;
926
+ this.state = 218;
915
927
  this.match(plurnkParser.OPEN_OPEN);
916
- this.state = 209;
928
+ this.state = 220;
917
929
  this.errorHandler.sync(this);
918
930
  _la = this.tokenStream.LA(1);
919
931
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
920
932
  {
921
- this.state = 208;
933
+ this.state = 219;
922
934
  this.tagOpModifiers();
923
935
  }
924
936
  }
925
- this.state = 212;
937
+ this.state = 223;
926
938
  this.errorHandler.sync(this);
927
939
  _la = this.tokenStream.LA(1);
928
940
  if (_la === 6) {
929
941
  {
930
- this.state = 211;
942
+ this.state = 222;
931
943
  this.match(plurnkParser.COLON);
932
944
  }
933
945
  }
934
- this.state = 215;
946
+ this.state = 226;
935
947
  this.errorHandler.sync(this);
936
948
  _la = this.tokenStream.LA(1);
937
- if (_la === 12) {
949
+ if (_la === 13) {
938
950
  {
939
- this.state = 214;
951
+ this.state = 225;
940
952
  this.body();
941
953
  }
942
954
  }
943
- this.state = 217;
955
+ this.state = 228;
944
956
  this.match(plurnkParser.CLOSE_TAG);
945
957
  }
946
958
  }
@@ -965,36 +977,36 @@ export class plurnkParser extends antlr.Parser {
965
977
  try {
966
978
  this.enterOuterAlt(localContext, 1);
967
979
  {
968
- this.state = 219;
980
+ this.state = 230;
969
981
  this.match(plurnkParser.OPEN_FOLD);
970
- this.state = 221;
982
+ this.state = 232;
971
983
  this.errorHandler.sync(this);
972
984
  _la = this.tokenStream.LA(1);
973
985
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
974
986
  {
975
- this.state = 220;
987
+ this.state = 231;
976
988
  this.tagOpModifiers();
977
989
  }
978
990
  }
979
- this.state = 224;
991
+ this.state = 235;
980
992
  this.errorHandler.sync(this);
981
993
  _la = this.tokenStream.LA(1);
982
994
  if (_la === 6) {
983
995
  {
984
- this.state = 223;
996
+ this.state = 234;
985
997
  this.match(plurnkParser.COLON);
986
998
  }
987
999
  }
988
- this.state = 227;
1000
+ this.state = 238;
989
1001
  this.errorHandler.sync(this);
990
1002
  _la = this.tokenStream.LA(1);
991
- if (_la === 12) {
1003
+ if (_la === 13) {
992
1004
  {
993
- this.state = 226;
1005
+ this.state = 237;
994
1006
  this.body();
995
1007
  }
996
1008
  }
997
- this.state = 229;
1009
+ this.state = 240;
998
1010
  this.match(plurnkParser.CLOSE_TAG);
999
1011
  }
1000
1012
  }
@@ -1019,36 +1031,83 @@ export class plurnkParser extends antlr.Parser {
1019
1031
  try {
1020
1032
  this.enterOuterAlt(localContext, 1);
1021
1033
  {
1022
- this.state = 231;
1034
+ this.state = 242;
1035
+ this.match(plurnkParser.OPEN_SEND);
1036
+ this.state = 243;
1037
+ this.termModifiers();
1038
+ this.state = 245;
1039
+ this.errorHandler.sync(this);
1040
+ _la = this.tokenStream.LA(1);
1041
+ if (_la === 6) {
1042
+ {
1043
+ this.state = 244;
1044
+ this.match(plurnkParser.COLON);
1045
+ }
1046
+ }
1047
+ this.state = 248;
1048
+ this.errorHandler.sync(this);
1049
+ _la = this.tokenStream.LA(1);
1050
+ if (_la === 13) {
1051
+ {
1052
+ this.state = 247;
1053
+ this.body();
1054
+ }
1055
+ }
1056
+ this.state = 250;
1057
+ this.match(plurnkParser.CLOSE_TAG);
1058
+ }
1059
+ }
1060
+ catch (re) {
1061
+ if (re instanceof antlr.RecognitionException) {
1062
+ this.errorHandler.reportError(this, re);
1063
+ this.errorHandler.recover(this, re);
1064
+ }
1065
+ else {
1066
+ throw re;
1067
+ }
1068
+ }
1069
+ finally {
1070
+ this.exitRule();
1071
+ }
1072
+ return localContext;
1073
+ }
1074
+ midSend() {
1075
+ let localContext = new MidSendContext(this.context, this.state);
1076
+ this.enterRule(localContext, 34, plurnkParser.RULE_midSend);
1077
+ let _la;
1078
+ try {
1079
+ this.enterOuterAlt(localContext, 1);
1080
+ {
1081
+ this.state = 252;
1023
1082
  this.match(plurnkParser.OPEN_SEND);
1024
- this.state = 233;
1083
+ this.state = 254;
1025
1084
  this.errorHandler.sync(this);
1026
1085
  _la = this.tokenStream.LA(1);
1027
1086
  if (_la === 1 || _la === 3) {
1028
1087
  {
1029
- this.state = 232;
1030
- this.intOpModifiers();
1088
+ this.state = 253;
1089
+ this.midModifiers();
1031
1090
  }
1032
1091
  }
1033
- this.state = 236;
1092
+ this.state = 257;
1034
1093
  this.errorHandler.sync(this);
1035
1094
  _la = this.tokenStream.LA(1);
1036
1095
  if (_la === 6) {
1037
1096
  {
1038
- this.state = 235;
1097
+ this.state = 256;
1039
1098
  this.match(plurnkParser.COLON);
1040
1099
  }
1041
1100
  }
1042
- this.state = 239;
1101
+ this.state = 260;
1043
1102
  this.errorHandler.sync(this);
1044
1103
  _la = this.tokenStream.LA(1);
1045
- if (_la === 12) {
1104
+ if (_la === 13) {
1046
1105
  {
1047
- this.state = 238;
1106
+ this.state = 259;
1048
1107
  this.body();
1049
1108
  }
1050
1109
  }
1051
- this.state = 241;
1110
+ this.state = 262;
1052
1111
  this.match(plurnkParser.CLOSE_TAG);
1053
1112
  }
1054
1113
  }
@@ -1068,41 +1127,41 @@ export class plurnkParser extends antlr.Parser {
1068
1127
  }
1069
1128
  execStatement() {
1070
1129
  let localContext = new ExecStatementContext(this.context, this.state);
1071
- this.enterRule(localContext, 34, plurnkParser.RULE_execStatement);
1130
+ this.enterRule(localContext, 36, plurnkParser.RULE_execStatement);
1072
1131
  let _la;
1073
1132
  try {
1074
1133
  this.enterOuterAlt(localContext, 1);
1075
1134
  {
1076
- this.state = 243;
1135
+ this.state = 264;
1077
1136
  this.match(plurnkParser.OPEN_EXEC);
1078
- this.state = 245;
1137
+ this.state = 266;
1079
1138
  this.errorHandler.sync(this);
1080
1139
  _la = this.tokenStream.LA(1);
1081
1140
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1082
1141
  {
1083
- this.state = 244;
1142
+ this.state = 265;
1084
1143
  this.execModifiers();
1085
1144
  }
1086
1145
  }
1087
- this.state = 248;
1146
+ this.state = 269;
1088
1147
  this.errorHandler.sync(this);
1089
1148
  _la = this.tokenStream.LA(1);
1090
1149
  if (_la === 6) {
1091
1150
  {
1092
- this.state = 247;
1151
+ this.state = 268;
1093
1152
  this.match(plurnkParser.COLON);
1094
1153
  }
1095
1154
  }
1096
- this.state = 251;
1155
+ this.state = 272;
1097
1156
  this.errorHandler.sync(this);
1098
1157
  _la = this.tokenStream.LA(1);
1099
- if (_la === 12) {
1158
+ if (_la === 13) {
1100
1159
  {
1101
- this.state = 250;
1160
+ this.state = 271;
1102
1161
  this.body();
1103
1162
  }
1104
1163
  }
1105
- this.state = 253;
1164
+ this.state = 274;
1106
1165
  this.match(plurnkParser.CLOSE_TAG);
1107
1166
  }
1108
1167
  }
@@ -1122,41 +1181,41 @@ export class plurnkParser extends antlr.Parser {
1122
1181
  }
1123
1182
  killStatement() {
1124
1183
  let localContext = new KillStatementContext(this.context, this.state);
1125
- this.enterRule(localContext, 36, plurnkParser.RULE_killStatement);
1184
+ this.enterRule(localContext, 38, plurnkParser.RULE_killStatement);
1126
1185
  let _la;
1127
1186
  try {
1128
1187
  this.enterOuterAlt(localContext, 1);
1129
1188
  {
1130
- this.state = 255;
1189
+ this.state = 276;
1131
1190
  this.match(plurnkParser.OPEN_KILL);
1132
- this.state = 257;
1191
+ this.state = 278;
1133
1192
  this.errorHandler.sync(this);
1134
1193
  _la = this.tokenStream.LA(1);
1135
1194
  if (_la === 1 || _la === 3) {
1136
1195
  {
1137
- this.state = 256;
1196
+ this.state = 277;
1138
1197
  this.intOpModifiers();
1139
1198
  }
1140
1199
  }
1141
- this.state = 260;
1200
+ this.state = 281;
1142
1201
  this.errorHandler.sync(this);
1143
1202
  _la = this.tokenStream.LA(1);
1144
1203
  if (_la === 6) {
1145
1204
  {
1146
- this.state = 259;
1205
+ this.state = 280;
1147
1206
  this.match(plurnkParser.COLON);
1148
1207
  }
1149
1208
  }
1150
- this.state = 263;
1209
+ this.state = 284;
1151
1210
  this.errorHandler.sync(this);
1152
1211
  _la = this.tokenStream.LA(1);
1153
- if (_la === 12) {
1212
+ if (_la === 13) {
1154
1213
  {
1155
- this.state = 262;
1214
+ this.state = 283;
1156
1215
  this.body();
1157
1216
  }
1158
1217
  }
1159
- this.state = 265;
1218
+ this.state = 286;
1160
1219
  this.match(plurnkParser.CLOSE_TAG);
1161
1220
  }
1162
1221
  }
@@ -1176,41 +1235,41 @@ export class plurnkParser extends antlr.Parser {
1176
1235
  }
1177
1236
  planStatement() {
1178
1237
  let localContext = new PlanStatementContext(this.context, this.state);
1179
- this.enterRule(localContext, 38, plurnkParser.RULE_planStatement);
1238
+ this.enterRule(localContext, 40, plurnkParser.RULE_planStatement);
1180
1239
  let _la;
1181
1240
  try {
1182
1241
  this.enterOuterAlt(localContext, 1);
1183
1242
  {
1184
- this.state = 267;
1243
+ this.state = 288;
1185
1244
  this.match(plurnkParser.OPEN_PLAN);
1186
- this.state = 269;
1245
+ this.state = 290;
1187
1246
  this.errorHandler.sync(this);
1188
1247
  _la = this.tokenStream.LA(1);
1189
1248
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1190
1249
  {
1191
- this.state = 268;
1250
+ this.state = 289;
1192
1251
  this.tagOpModifiers();
1193
1252
  }
1194
1253
  }
1195
- this.state = 272;
1254
+ this.state = 293;
1196
1255
  this.errorHandler.sync(this);
1197
1256
  _la = this.tokenStream.LA(1);
1198
1257
  if (_la === 6) {
1199
1258
  {
1200
- this.state = 271;
1259
+ this.state = 292;
1201
1260
  this.match(plurnkParser.COLON);
1202
1261
  }
1203
1262
  }
1204
- this.state = 275;
1263
+ this.state = 296;
1205
1264
  this.errorHandler.sync(this);
1206
1265
  _la = this.tokenStream.LA(1);
1207
- if (_la === 12) {
1266
+ if (_la === 13) {
1208
1267
  {
1209
- this.state = 274;
1268
+ this.state = 295;
1210
1269
  this.body();
1211
1270
  }
1212
1271
  }
1213
- this.state = 277;
1272
+ this.state = 298;
1214
1273
  this.match(plurnkParser.CLOSE_TAG);
1215
1274
  }
1216
1275
  }
@@ -1230,41 +1289,41 @@ export class plurnkParser extends antlr.Parser {
1230
1289
  }
1231
1290
  lookStatement() {
1232
1291
  let localContext = new LookStatementContext(this.context, this.state);
1233
- this.enterRule(localContext, 40, plurnkParser.RULE_lookStatement);
1292
+ this.enterRule(localContext, 42, plurnkParser.RULE_lookStatement);
1234
1293
  let _la;
1235
1294
  try {
1236
1295
  this.enterOuterAlt(localContext, 1);
1237
1296
  {
1238
- this.state = 279;
1297
+ this.state = 300;
1239
1298
  this.match(plurnkParser.OPEN_LOOK);
1240
- this.state = 281;
1299
+ this.state = 302;
1241
1300
  this.errorHandler.sync(this);
1242
1301
  _la = this.tokenStream.LA(1);
1243
1302
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1244
1303
  {
1245
- this.state = 280;
1304
+ this.state = 301;
1246
1305
  this.tagOpModifiers();
1247
1306
  }
1248
1307
  }
1249
- this.state = 284;
1308
+ this.state = 305;
1250
1309
  this.errorHandler.sync(this);
1251
1310
  _la = this.tokenStream.LA(1);
1252
1311
  if (_la === 6) {
1253
1312
  {
1254
- this.state = 283;
1313
+ this.state = 304;
1255
1314
  this.match(plurnkParser.COLON);
1256
1315
  }
1257
1316
  }
1258
- this.state = 287;
1317
+ this.state = 308;
1259
1318
  this.errorHandler.sync(this);
1260
1319
  _la = this.tokenStream.LA(1);
1261
- if (_la === 12) {
1320
+ if (_la === 13) {
1262
1321
  {
1263
- this.state = 286;
1322
+ this.state = 307;
1264
1323
  this.body();
1265
1324
  }
1266
1325
  }
1267
- this.state = 289;
1326
+ this.state = 310;
1268
1327
  this.match(plurnkParser.CLOSE_TAG);
1269
1328
  }
1270
1329
  }
@@ -1284,41 +1343,41 @@ export class plurnkParser extends antlr.Parser {
1284
1343
  }
1285
1344
  buffStatement() {
1286
1345
  let localContext = new BuffStatementContext(this.context, this.state);
1287
- this.enterRule(localContext, 42, plurnkParser.RULE_buffStatement);
1346
+ this.enterRule(localContext, 44, plurnkParser.RULE_buffStatement);
1288
1347
  let _la;
1289
1348
  try {
1290
1349
  this.enterOuterAlt(localContext, 1);
1291
1350
  {
1292
- this.state = 291;
1351
+ this.state = 312;
1293
1352
  this.match(plurnkParser.OPEN_BUFF);
1294
- this.state = 293;
1353
+ this.state = 314;
1295
1354
  this.errorHandler.sync(this);
1296
1355
  _la = this.tokenStream.LA(1);
1297
1356
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1298
1357
  {
1299
- this.state = 292;
1358
+ this.state = 313;
1300
1359
  this.tagOpModifiers();
1301
1360
  }
1302
1361
  }
1303
- this.state = 296;
1362
+ this.state = 317;
1304
1363
  this.errorHandler.sync(this);
1305
1364
  _la = this.tokenStream.LA(1);
1306
1365
  if (_la === 6) {
1307
1366
  {
1308
- this.state = 295;
1367
+ this.state = 316;
1309
1368
  this.match(plurnkParser.COLON);
1310
1369
  }
1311
1370
  }
1312
- this.state = 299;
1371
+ this.state = 320;
1313
1372
  this.errorHandler.sync(this);
1314
1373
  _la = this.tokenStream.LA(1);
1315
- if (_la === 12) {
1374
+ if (_la === 13) {
1316
1375
  {
1317
- this.state = 298;
1376
+ this.state = 319;
1318
1377
  this.body();
1319
1378
  }
1320
1379
  }
1321
- this.state = 301;
1380
+ this.state = 322;
1322
1381
  this.match(plurnkParser.CLOSE_TAG);
1323
1382
  }
1324
1383
  }
@@ -1338,30 +1397,30 @@ export class plurnkParser extends antlr.Parser {
1338
1397
  }
1339
1398
  tagOpModifiers() {
1340
1399
  let localContext = new TagOpModifiersContext(this.context, this.state);
1341
- this.enterRule(localContext, 44, plurnkParser.RULE_tagOpModifiers);
1400
+ this.enterRule(localContext, 46, plurnkParser.RULE_tagOpModifiers);
1342
1401
  let _la;
1343
1402
  try {
1344
- this.state = 336;
1403
+ this.state = 357;
1345
1404
  this.errorHandler.sync(this);
1346
1405
  switch (this.tokenStream.LA(1)) {
1347
1406
  case plurnkParser.LBRACKET:
1348
1407
  this.enterOuterAlt(localContext, 1);
1349
1408
  {
1350
- this.state = 303;
1409
+ this.state = 324;
1351
1410
  this.tagSignal();
1352
- this.state = 312;
1411
+ this.state = 333;
1353
1412
  this.errorHandler.sync(this);
1354
1413
  switch (this.tokenStream.LA(1)) {
1355
1414
  case plurnkParser.LPAREN:
1356
1415
  {
1357
- this.state = 304;
1416
+ this.state = 325;
1358
1417
  this.target();
1359
- this.state = 306;
1418
+ this.state = 327;
1360
1419
  this.errorHandler.sync(this);
1361
1420
  _la = this.tokenStream.LA(1);
1362
1421
  if (_la === 5) {
1363
1422
  {
1364
- this.state = 305;
1423
+ this.state = 326;
1365
1424
  this.lineMarker();
1366
1425
  }
1367
1426
  }
@@ -1369,14 +1428,14 @@ export class plurnkParser extends antlr.Parser {
1369
1428
  break;
1370
1429
  case plurnkParser.L_MARKER:
1371
1430
  {
1372
- this.state = 308;
1431
+ this.state = 329;
1373
1432
  this.lineMarker();
1374
- this.state = 310;
1433
+ this.state = 331;
1375
1434
  this.errorHandler.sync(this);
1376
1435
  _la = this.tokenStream.LA(1);
1377
1436
  if (_la === 3) {
1378
1437
  {
1379
- this.state = 309;
1438
+ this.state = 330;
1380
1439
  this.target();
1381
1440
  }
1382
1441
  }
@@ -1394,21 +1453,21 @@ export class plurnkParser extends antlr.Parser {
1394
1453
  case plurnkParser.LPAREN:
1395
1454
  this.enterOuterAlt(localContext, 2);
1396
1455
  {
1397
- this.state = 314;
1456
+ this.state = 335;
1398
1457
  this.target();
1399
- this.state = 323;
1458
+ this.state = 344;
1400
1459
  this.errorHandler.sync(this);
1401
1460
  switch (this.tokenStream.LA(1)) {
1402
1461
  case plurnkParser.LBRACKET:
1403
1462
  {
1404
- this.state = 315;
1463
+ this.state = 336;
1405
1464
  this.tagSignal();
1406
- this.state = 317;
1465
+ this.state = 338;
1407
1466
  this.errorHandler.sync(this);
1408
1467
  _la = this.tokenStream.LA(1);
1409
1468
  if (_la === 5) {
1410
1469
  {
1411
- this.state = 316;
1470
+ this.state = 337;
1412
1471
  this.lineMarker();
1413
1472
  }
1414
1473
  }
@@ -1416,14 +1475,14 @@ export class plurnkParser extends antlr.Parser {
1416
1475
  break;
1417
1476
  case plurnkParser.L_MARKER:
1418
1477
  {
1419
- this.state = 319;
1478
+ this.state = 340;
1420
1479
  this.lineMarker();
1421
- this.state = 321;
1480
+ this.state = 342;
1422
1481
  this.errorHandler.sync(this);
1423
1482
  _la = this.tokenStream.LA(1);
1424
1483
  if (_la === 1) {
1425
1484
  {
1426
- this.state = 320;
1485
+ this.state = 341;
1427
1486
  this.tagSignal();
1428
1487
  }
1429
1488
  }
@@ -1441,21 +1500,21 @@ export class plurnkParser extends antlr.Parser {
1441
1500
  case plurnkParser.L_MARKER:
1442
1501
  this.enterOuterAlt(localContext, 3);
1443
1502
  {
1444
- this.state = 325;
1503
+ this.state = 346;
1445
1504
  this.lineMarker();
1446
- this.state = 334;
1505
+ this.state = 355;
1447
1506
  this.errorHandler.sync(this);
1448
1507
  switch (this.tokenStream.LA(1)) {
1449
1508
  case plurnkParser.LBRACKET:
1450
1509
  {
1451
- this.state = 326;
1510
+ this.state = 347;
1452
1511
  this.tagSignal();
1453
- this.state = 328;
1512
+ this.state = 349;
1454
1513
  this.errorHandler.sync(this);
1455
1514
  _la = this.tokenStream.LA(1);
1456
1515
  if (_la === 3) {
1457
1516
  {
1458
- this.state = 327;
1517
+ this.state = 348;
1459
1518
  this.target();
1460
1519
  }
1461
1520
  }
@@ -1463,14 +1522,14 @@ export class plurnkParser extends antlr.Parser {
1463
1522
  break;
1464
1523
  case plurnkParser.LPAREN:
1465
1524
  {
1466
- this.state = 330;
1525
+ this.state = 351;
1467
1526
  this.target();
1468
- this.state = 332;
1527
+ this.state = 353;
1469
1528
  this.errorHandler.sync(this);
1470
1529
  _la = this.tokenStream.LA(1);
1471
1530
  if (_la === 1) {
1472
1531
  {
1473
- this.state = 331;
1532
+ this.state = 352;
1474
1533
  this.tagSignal();
1475
1534
  }
1476
1535
  }
@@ -1505,23 +1564,23 @@ export class plurnkParser extends antlr.Parser {
1505
1564
  }
1506
1565
  intOpModifiers() {
1507
1566
  let localContext = new IntOpModifiersContext(this.context, this.state);
1508
- this.enterRule(localContext, 46, plurnkParser.RULE_intOpModifiers);
1567
+ this.enterRule(localContext, 48, plurnkParser.RULE_intOpModifiers);
1509
1568
  let _la;
1510
1569
  try {
1511
- this.state = 346;
1570
+ this.state = 367;
1512
1571
  this.errorHandler.sync(this);
1513
1572
  switch (this.tokenStream.LA(1)) {
1514
1573
  case plurnkParser.LBRACKET:
1515
1574
  this.enterOuterAlt(localContext, 1);
1516
1575
  {
1517
- this.state = 338;
1576
+ this.state = 359;
1518
1577
  this.intSignal();
1519
- this.state = 340;
1578
+ this.state = 361;
1520
1579
  this.errorHandler.sync(this);
1521
1580
  _la = this.tokenStream.LA(1);
1522
1581
  if (_la === 3) {
1523
1582
  {
1524
- this.state = 339;
1583
+ this.state = 360;
1525
1584
  this.target();
1526
1585
  }
1527
1586
  }
@@ -1530,14 +1589,14 @@ export class plurnkParser extends antlr.Parser {
1530
1589
  case plurnkParser.LPAREN:
1531
1590
  this.enterOuterAlt(localContext, 2);
1532
1591
  {
1533
- this.state = 342;
1592
+ this.state = 363;
1534
1593
  this.target();
1535
- this.state = 344;
1594
+ this.state = 365;
1536
1595
  this.errorHandler.sync(this);
1537
1596
  _la = this.tokenStream.LA(1);
1538
1597
  if (_la === 1) {
1539
1598
  {
1540
- this.state = 343;
1599
+ this.state = 364;
1541
1600
  this.intSignal();
1542
1601
  }
1543
1602
  }
@@ -1561,32 +1620,141 @@ export class plurnkParser extends antlr.Parser {
1561
1620
  }
1562
1621
  return localContext;
1563
1622
  }
1623
+ termModifiers() {
1624
+ let localContext = new TermModifiersContext(this.context, this.state);
1625
+ this.enterRule(localContext, 50, plurnkParser.RULE_termModifiers);
1626
+ let _la;
1627
+ try {
1628
+ this.state = 376;
1629
+ this.errorHandler.sync(this);
1630
+ switch (this.tokenStream.LA(1)) {
1631
+ case plurnkParser.LBRACKET:
1632
+ this.enterOuterAlt(localContext, 1);
1633
+ {
1634
+ this.state = 369;
1635
+ this.dispSignal();
1636
+ this.state = 371;
1637
+ this.errorHandler.sync(this);
1638
+ _la = this.tokenStream.LA(1);
1639
+ if (_la === 3) {
1640
+ {
1641
+ this.state = 370;
1642
+ this.target();
1643
+ }
1644
+ }
1645
+ }
1646
+ break;
1647
+ case plurnkParser.LPAREN:
1648
+ this.enterOuterAlt(localContext, 2);
1649
+ {
1650
+ this.state = 373;
1651
+ this.target();
1652
+ this.state = 374;
1653
+ this.dispSignal();
1654
+ }
1655
+ break;
1656
+ default:
1657
+ throw new antlr.NoViableAltException(this);
1658
+ }
1659
+ }
1660
+ catch (re) {
1661
+ if (re instanceof antlr.RecognitionException) {
1662
+ this.errorHandler.reportError(this, re);
1663
+ this.errorHandler.recover(this, re);
1664
+ }
1665
+ else {
1666
+ throw re;
1667
+ }
1668
+ }
1669
+ finally {
1670
+ this.exitRule();
1671
+ }
1672
+ return localContext;
1673
+ }
1674
+ midModifiers() {
1675
+ let localContext = new MidModifiersContext(this.context, this.state);
1676
+ this.enterRule(localContext, 52, plurnkParser.RULE_midModifiers);
1677
+ let _la;
1678
+ try {
1679
+ this.state = 386;
1680
+ this.errorHandler.sync(this);
1681
+ switch (this.tokenStream.LA(1)) {
1682
+ case plurnkParser.LBRACKET:
1683
+ this.enterOuterAlt(localContext, 1);
1684
+ {
1685
+ this.state = 378;
1686
+ this.midSignal();
1687
+ this.state = 380;
1688
+ this.errorHandler.sync(this);
1689
+ _la = this.tokenStream.LA(1);
1690
+ if (_la === 3) {
1691
+ {
1692
+ this.state = 379;
1693
+ this.target();
1694
+ }
1695
+ }
1696
+ }
1697
+ break;
1698
+ case plurnkParser.LPAREN:
1699
+ this.enterOuterAlt(localContext, 2);
1700
+ {
1701
+ this.state = 382;
1702
+ this.target();
1703
+ this.state = 384;
1704
+ this.errorHandler.sync(this);
1705
+ _la = this.tokenStream.LA(1);
1706
+ if (_la === 1) {
1707
+ {
1708
+ this.state = 383;
1709
+ this.midSignal();
1710
+ }
1711
+ }
1712
+ }
1713
+ break;
1714
+ default:
1715
+ throw new antlr.NoViableAltException(this);
1716
+ }
1717
+ }
1718
+ catch (re) {
1719
+ if (re instanceof antlr.RecognitionException) {
1720
+ this.errorHandler.reportError(this, re);
1721
+ this.errorHandler.recover(this, re);
1722
+ }
1723
+ else {
1724
+ throw re;
1725
+ }
1726
+ }
1727
+ finally {
1728
+ this.exitRule();
1729
+ }
1730
+ return localContext;
1731
+ }
1564
1732
  execModifiers() {
1565
1733
  let localContext = new ExecModifiersContext(this.context, this.state);
1566
- this.enterRule(localContext, 48, plurnkParser.RULE_execModifiers);
1734
+ this.enterRule(localContext, 54, plurnkParser.RULE_execModifiers);
1567
1735
  let _la;
1568
1736
  try {
1569
- this.state = 381;
1737
+ this.state = 421;
1570
1738
  this.errorHandler.sync(this);
1571
1739
  switch (this.tokenStream.LA(1)) {
1572
1740
  case plurnkParser.LBRACKET:
1573
1741
  this.enterOuterAlt(localContext, 1);
1574
1742
  {
1575
- this.state = 348;
1743
+ this.state = 388;
1576
1744
  this.identSignal();
1577
- this.state = 357;
1745
+ this.state = 397;
1578
1746
  this.errorHandler.sync(this);
1579
1747
  switch (this.tokenStream.LA(1)) {
1580
1748
  case plurnkParser.LPAREN:
1581
1749
  {
1582
- this.state = 349;
1750
+ this.state = 389;
1583
1751
  this.target();
1584
- this.state = 351;
1752
+ this.state = 391;
1585
1753
  this.errorHandler.sync(this);
1586
1754
  _la = this.tokenStream.LA(1);
1587
1755
  if (_la === 5) {
1588
1756
  {
1589
- this.state = 350;
1757
+ this.state = 390;
1590
1758
  this.lineMarker();
1591
1759
  }
1592
1760
  }
@@ -1594,14 +1762,14 @@ export class plurnkParser extends antlr.Parser {
1594
1762
  break;
1595
1763
  case plurnkParser.L_MARKER:
1596
1764
  {
1597
- this.state = 353;
1765
+ this.state = 393;
1598
1766
  this.lineMarker();
1599
- this.state = 355;
1767
+ this.state = 395;
1600
1768
  this.errorHandler.sync(this);
1601
1769
  _la = this.tokenStream.LA(1);
1602
1770
  if (_la === 3) {
1603
1771
  {
1604
- this.state = 354;
1772
+ this.state = 394;
1605
1773
  this.target();
1606
1774
  }
1607
1775
  }
@@ -1619,21 +1787,21 @@ export class plurnkParser extends antlr.Parser {
1619
1787
  case plurnkParser.LPAREN:
1620
1788
  this.enterOuterAlt(localContext, 2);
1621
1789
  {
1622
- this.state = 359;
1790
+ this.state = 399;
1623
1791
  this.target();
1624
- this.state = 368;
1792
+ this.state = 408;
1625
1793
  this.errorHandler.sync(this);
1626
1794
  switch (this.tokenStream.LA(1)) {
1627
1795
  case plurnkParser.LBRACKET:
1628
1796
  {
1629
- this.state = 360;
1797
+ this.state = 400;
1630
1798
  this.identSignal();
1631
- this.state = 362;
1799
+ this.state = 402;
1632
1800
  this.errorHandler.sync(this);
1633
1801
  _la = this.tokenStream.LA(1);
1634
1802
  if (_la === 5) {
1635
1803
  {
1636
- this.state = 361;
1804
+ this.state = 401;
1637
1805
  this.lineMarker();
1638
1806
  }
1639
1807
  }
@@ -1641,14 +1809,14 @@ export class plurnkParser extends antlr.Parser {
1641
1809
  break;
1642
1810
  case plurnkParser.L_MARKER:
1643
1811
  {
1644
- this.state = 364;
1812
+ this.state = 404;
1645
1813
  this.lineMarker();
1646
- this.state = 366;
1814
+ this.state = 406;
1647
1815
  this.errorHandler.sync(this);
1648
1816
  _la = this.tokenStream.LA(1);
1649
1817
  if (_la === 1) {
1650
1818
  {
1651
- this.state = 365;
1819
+ this.state = 405;
1652
1820
  this.identSignal();
1653
1821
  }
1654
1822
  }
@@ -1666,21 +1834,21 @@ export class plurnkParser extends antlr.Parser {
1666
1834
  case plurnkParser.L_MARKER:
1667
1835
  this.enterOuterAlt(localContext, 3);
1668
1836
  {
1669
- this.state = 370;
1837
+ this.state = 410;
1670
1838
  this.lineMarker();
1671
- this.state = 379;
1839
+ this.state = 419;
1672
1840
  this.errorHandler.sync(this);
1673
1841
  switch (this.tokenStream.LA(1)) {
1674
1842
  case plurnkParser.LBRACKET:
1675
1843
  {
1676
- this.state = 371;
1844
+ this.state = 411;
1677
1845
  this.identSignal();
1678
- this.state = 373;
1846
+ this.state = 413;
1679
1847
  this.errorHandler.sync(this);
1680
1848
  _la = this.tokenStream.LA(1);
1681
1849
  if (_la === 3) {
1682
1850
  {
1683
- this.state = 372;
1851
+ this.state = 412;
1684
1852
  this.target();
1685
1853
  }
1686
1854
  }
@@ -1688,14 +1856,14 @@ export class plurnkParser extends antlr.Parser {
1688
1856
  break;
1689
1857
  case plurnkParser.LPAREN:
1690
1858
  {
1691
- this.state = 375;
1859
+ this.state = 415;
1692
1860
  this.target();
1693
- this.state = 377;
1861
+ this.state = 417;
1694
1862
  this.errorHandler.sync(this);
1695
1863
  _la = this.tokenStream.LA(1);
1696
1864
  if (_la === 1) {
1697
1865
  {
1698
- this.state = 376;
1866
+ this.state = 416;
1699
1867
  this.identSignal();
1700
1868
  }
1701
1869
  }
@@ -1730,22 +1898,22 @@ export class plurnkParser extends antlr.Parser {
1730
1898
  }
1731
1899
  tagSignal() {
1732
1900
  let localContext = new TagSignalContext(this.context, this.state);
1733
- this.enterRule(localContext, 50, plurnkParser.RULE_tagSignal);
1901
+ this.enterRule(localContext, 56, plurnkParser.RULE_tagSignal);
1734
1902
  let _la;
1735
1903
  try {
1736
1904
  this.enterOuterAlt(localContext, 1);
1737
1905
  {
1738
- this.state = 383;
1906
+ this.state = 423;
1739
1907
  this.match(plurnkParser.LBRACKET);
1740
- this.state = 387;
1908
+ this.state = 427;
1741
1909
  this.errorHandler.sync(this);
1742
1910
  _la = this.tokenStream.LA(1);
1743
- while (_la === 7 || _la === 10) {
1911
+ while (_la === 7 || _la === 11) {
1744
1912
  {
1745
1913
  {
1746
- this.state = 384;
1914
+ this.state = 424;
1747
1915
  _la = this.tokenStream.LA(1);
1748
- if (!(_la === 7 || _la === 10)) {
1916
+ if (!(_la === 7 || _la === 11)) {
1749
1917
  this.errorHandler.recoverInline(this);
1750
1918
  }
1751
1919
  else {
@@ -1754,11 +1922,11 @@ export class plurnkParser extends antlr.Parser {
1754
1922
  }
1755
1923
  }
1756
1924
  }
1757
- this.state = 389;
1925
+ this.state = 429;
1758
1926
  this.errorHandler.sync(this);
1759
1927
  _la = this.tokenStream.LA(1);
1760
1928
  }
1761
- this.state = 390;
1929
+ this.state = 430;
1762
1930
  this.match(plurnkParser.RBRACKET);
1763
1931
  }
1764
1932
  }
@@ -1778,23 +1946,94 @@ export class plurnkParser extends antlr.Parser {
1778
1946
  }
1779
1947
  intSignal() {
1780
1948
  let localContext = new IntSignalContext(this.context, this.state);
1781
- this.enterRule(localContext, 52, plurnkParser.RULE_intSignal);
1949
+ this.enterRule(localContext, 58, plurnkParser.RULE_intSignal);
1950
+ let _la;
1951
+ try {
1952
+ this.enterOuterAlt(localContext, 1);
1953
+ {
1954
+ this.state = 432;
1955
+ this.match(plurnkParser.LBRACKET);
1956
+ this.state = 434;
1957
+ this.errorHandler.sync(this);
1958
+ _la = this.tokenStream.LA(1);
1959
+ if (_la === 8 || _la === 9) {
1960
+ {
1961
+ this.state = 433;
1962
+ _la = this.tokenStream.LA(1);
1963
+ if (!(_la === 8 || _la === 9)) {
1964
+ this.errorHandler.recoverInline(this);
1965
+ }
1966
+ else {
1967
+ this.errorHandler.reportMatch(this);
1968
+ this.consume();
1969
+ }
1970
+ }
1971
+ }
1972
+ this.state = 436;
1973
+ this.match(plurnkParser.RBRACKET);
1974
+ }
1975
+ }
1976
+ catch (re) {
1977
+ if (re instanceof antlr.RecognitionException) {
1978
+ this.errorHandler.reportError(this, re);
1979
+ this.errorHandler.recover(this, re);
1980
+ }
1981
+ else {
1982
+ throw re;
1983
+ }
1984
+ }
1985
+ finally {
1986
+ this.exitRule();
1987
+ }
1988
+ return localContext;
1989
+ }
1990
+ midSignal() {
1991
+ let localContext = new MidSignalContext(this.context, this.state);
1992
+ this.enterRule(localContext, 60, plurnkParser.RULE_midSignal);
1782
1993
  let _la;
1783
1994
  try {
1784
1995
  this.enterOuterAlt(localContext, 1);
1785
1996
  {
1786
- this.state = 392;
1997
+ this.state = 438;
1787
1998
  this.match(plurnkParser.LBRACKET);
1788
- this.state = 394;
1999
+ this.state = 440;
1789
2000
  this.errorHandler.sync(this);
1790
2001
  _la = this.tokenStream.LA(1);
1791
2002
  if (_la === 8) {
1792
2003
  {
1793
- this.state = 393;
2004
+ this.state = 439;
1794
2005
  this.match(plurnkParser.INT);
1795
2006
  }
1796
2007
  }
1797
- this.state = 396;
2008
+ this.state = 442;
2009
+ this.match(plurnkParser.RBRACKET);
2010
+ }
2011
+ }
2012
+ catch (re) {
2013
+ if (re instanceof antlr.RecognitionException) {
2014
+ this.errorHandler.reportError(this, re);
2015
+ this.errorHandler.recover(this, re);
2016
+ }
2017
+ else {
2018
+ throw re;
2019
+ }
2020
+ }
2021
+ finally {
2022
+ this.exitRule();
2023
+ }
2024
+ return localContext;
2025
+ }
2026
+ dispSignal() {
2027
+ let localContext = new DispSignalContext(this.context, this.state);
2028
+ this.enterRule(localContext, 62, plurnkParser.RULE_dispSignal);
2029
+ try {
2030
+ this.enterOuterAlt(localContext, 1);
2031
+ {
2032
+ this.state = 444;
2033
+ this.match(plurnkParser.LBRACKET);
2034
+ this.state = 445;
2035
+ this.match(plurnkParser.DISPOSITION);
2036
+ this.state = 446;
1798
2037
  this.match(plurnkParser.RBRACKET);
1799
2038
  }
1800
2039
  }
@@ -1814,23 +2053,23 @@ export class plurnkParser extends antlr.Parser {
1814
2053
  }
1815
2054
  identSignal() {
1816
2055
  let localContext = new IdentSignalContext(this.context, this.state);
1817
- this.enterRule(localContext, 54, plurnkParser.RULE_identSignal);
2056
+ this.enterRule(localContext, 64, plurnkParser.RULE_identSignal);
1818
2057
  let _la;
1819
2058
  try {
1820
2059
  this.enterOuterAlt(localContext, 1);
1821
2060
  {
1822
- this.state = 398;
2061
+ this.state = 448;
1823
2062
  this.match(plurnkParser.LBRACKET);
1824
- this.state = 400;
2063
+ this.state = 450;
1825
2064
  this.errorHandler.sync(this);
1826
2065
  _la = this.tokenStream.LA(1);
1827
- if (_la === 9) {
2066
+ if (_la === 10) {
1828
2067
  {
1829
- this.state = 399;
2068
+ this.state = 449;
1830
2069
  this.match(plurnkParser.IDENT);
1831
2070
  }
1832
2071
  }
1833
- this.state = 402;
2072
+ this.state = 452;
1834
2073
  this.match(plurnkParser.RBRACKET);
1835
2074
  }
1836
2075
  }
@@ -1850,23 +2089,23 @@ export class plurnkParser extends antlr.Parser {
1850
2089
  }
1851
2090
  target() {
1852
2091
  let localContext = new TargetContext(this.context, this.state);
1853
- this.enterRule(localContext, 56, plurnkParser.RULE_target);
2092
+ this.enterRule(localContext, 66, plurnkParser.RULE_target);
1854
2093
  let _la;
1855
2094
  try {
1856
2095
  this.enterOuterAlt(localContext, 1);
1857
2096
  {
1858
- this.state = 404;
2097
+ this.state = 454;
1859
2098
  this.match(plurnkParser.LPAREN);
1860
- this.state = 406;
2099
+ this.state = 456;
1861
2100
  this.errorHandler.sync(this);
1862
2101
  _la = this.tokenStream.LA(1);
1863
- if (_la === 11) {
2102
+ if (_la === 12) {
1864
2103
  {
1865
- this.state = 405;
2104
+ this.state = 455;
1866
2105
  this.match(plurnkParser.TARGET_TEXT);
1867
2106
  }
1868
2107
  }
1869
- this.state = 408;
2108
+ this.state = 458;
1870
2109
  this.match(plurnkParser.RPAREN);
1871
2110
  }
1872
2111
  }
@@ -1886,11 +2125,11 @@ export class plurnkParser extends antlr.Parser {
1886
2125
  }
1887
2126
  lineMarker() {
1888
2127
  let localContext = new LineMarkerContext(this.context, this.state);
1889
- this.enterRule(localContext, 58, plurnkParser.RULE_lineMarker);
2128
+ this.enterRule(localContext, 68, plurnkParser.RULE_lineMarker);
1890
2129
  try {
1891
2130
  this.enterOuterAlt(localContext, 1);
1892
2131
  {
1893
- this.state = 410;
2132
+ this.state = 460;
1894
2133
  this.match(plurnkParser.L_MARKER);
1895
2134
  }
1896
2135
  }
@@ -1910,25 +2149,25 @@ export class plurnkParser extends antlr.Parser {
1910
2149
  }
1911
2150
  body() {
1912
2151
  let localContext = new BodyContext(this.context, this.state);
1913
- this.enterRule(localContext, 60, plurnkParser.RULE_body);
2152
+ this.enterRule(localContext, 70, plurnkParser.RULE_body);
1914
2153
  let _la;
1915
2154
  try {
1916
2155
  this.enterOuterAlt(localContext, 1);
1917
2156
  {
1918
- this.state = 413;
2157
+ this.state = 463;
1919
2158
  this.errorHandler.sync(this);
1920
2159
  _la = this.tokenStream.LA(1);
1921
2160
  do {
1922
2161
  {
1923
2162
  {
1924
- this.state = 412;
2163
+ this.state = 462;
1925
2164
  this.match(plurnkParser.BODY_TEXT);
1926
2165
  }
1927
2166
  }
1928
- this.state = 415;
2167
+ this.state = 465;
1929
2168
  this.errorHandler.sync(this);
1930
2169
  _la = this.tokenStream.LA(1);
1931
- } while (_la === 12);
2170
+ } while (_la === 13);
1932
2171
  }
1933
2172
  }
1934
2173
  catch (re) {
@@ -1946,170 +2185,190 @@ export class plurnkParser extends antlr.Parser {
1946
2185
  return localContext;
1947
2186
  }
1948
2187
  static _serializedATN = [
1949
- 4, 1, 36, 418, 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,
2188
+ 4, 1, 37, 468, 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,
1950
2189
  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,
1951
2190
  2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
1952
2191
  7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
1953
- 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 67, 8,
1954
- 1, 11, 1, 12, 1, 68, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 75, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 5,
1955
- 3, 82, 8, 3, 10, 3, 12, 3, 85, 9, 3, 1, 3, 1, 3, 1, 3, 5, 3, 90, 8, 3, 10, 3, 12, 3, 93, 9,
1956
- 3, 1, 3, 1, 3, 5, 3, 97, 8, 3, 10, 3, 12, 3, 100, 9, 3, 1, 4, 5, 4, 103, 8, 4, 10, 4, 12, 4,
1957
- 106, 9, 4, 1, 4, 1, 4, 1, 5, 5, 5, 111, 8, 5, 10, 5, 12, 5, 114, 9, 5, 1, 5, 1, 5, 1, 6, 1,
1958
- 6, 1, 6, 3, 6, 121, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3,
1959
- 7, 134, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 146, 8, 8, 1,
1960
- 9, 1, 9, 3, 9, 150, 8, 9, 1, 9, 3, 9, 153, 8, 9, 1, 9, 3, 9, 156, 8, 9, 1, 9, 1, 9, 1, 10, 1,
1961
- 10, 3, 10, 162, 8, 10, 1, 10, 3, 10, 165, 8, 10, 1, 10, 3, 10, 168, 8, 10, 1, 10, 1, 10,
1962
- 1, 11, 1, 11, 3, 11, 174, 8, 11, 1, 11, 3, 11, 177, 8, 11, 1, 11, 3, 11, 180, 8, 11, 1,
1963
- 11, 1, 11, 1, 12, 1, 12, 3, 12, 186, 8, 12, 1, 12, 3, 12, 189, 8, 12, 1, 12, 3, 12, 192,
1964
- 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 198, 8, 13, 1, 13, 3, 13, 201, 8, 13, 1, 13, 3,
1965
- 13, 204, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 210, 8, 14, 1, 14, 3, 14, 213, 8, 14,
1966
- 1, 14, 3, 14, 216, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 222, 8, 15, 1, 15, 3, 15, 225,
1967
- 8, 15, 1, 15, 3, 15, 228, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 234, 8, 16, 1, 16, 3,
1968
- 16, 237, 8, 16, 1, 16, 3, 16, 240, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 246, 8, 17,
1969
- 1, 17, 3, 17, 249, 8, 17, 1, 17, 3, 17, 252, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 258,
1970
- 8, 18, 1, 18, 3, 18, 261, 8, 18, 1, 18, 3, 18, 264, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3,
1971
- 19, 270, 8, 19, 1, 19, 3, 19, 273, 8, 19, 1, 19, 3, 19, 276, 8, 19, 1, 19, 1, 19, 1, 20,
1972
- 1, 20, 3, 20, 282, 8, 20, 1, 20, 3, 20, 285, 8, 20, 1, 20, 3, 20, 288, 8, 20, 1, 20, 1,
1973
- 20, 1, 21, 1, 21, 3, 21, 294, 8, 21, 1, 21, 3, 21, 297, 8, 21, 1, 21, 3, 21, 300, 8, 21,
1974
- 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 3, 22, 307, 8, 22, 1, 22, 1, 22, 3, 22, 311, 8, 22, 3,
1975
- 22, 313, 8, 22, 1, 22, 1, 22, 1, 22, 3, 22, 318, 8, 22, 1, 22, 1, 22, 3, 22, 322, 8, 22,
1976
- 3, 22, 324, 8, 22, 1, 22, 1, 22, 1, 22, 3, 22, 329, 8, 22, 1, 22, 1, 22, 3, 22, 333, 8,
1977
- 22, 3, 22, 335, 8, 22, 3, 22, 337, 8, 22, 1, 23, 1, 23, 3, 23, 341, 8, 23, 1, 23, 1, 23,
1978
- 3, 23, 345, 8, 23, 3, 23, 347, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 352, 8, 24, 1, 24, 1,
1979
- 24, 3, 24, 356, 8, 24, 3, 24, 358, 8, 24, 1, 24, 1, 24, 1, 24, 3, 24, 363, 8, 24, 1, 24,
1980
- 1, 24, 3, 24, 367, 8, 24, 3, 24, 369, 8, 24, 1, 24, 1, 24, 1, 24, 3, 24, 374, 8, 24, 1,
1981
- 24, 1, 24, 3, 24, 378, 8, 24, 3, 24, 380, 8, 24, 3, 24, 382, 8, 24, 1, 25, 1, 25, 5, 25,
1982
- 386, 8, 25, 10, 25, 12, 25, 389, 9, 25, 1, 25, 1, 25, 1, 26, 1, 26, 3, 26, 395, 8, 26,
1983
- 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 401, 8, 27, 1, 27, 1, 27, 1, 28, 1, 28, 3, 28, 407, 8,
1984
- 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 4, 30, 414, 8, 30, 11, 30, 12, 30, 415, 1, 30, 0,
1985
- 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,
1986
- 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 1, 2, 0, 7, 7, 10, 10, 490, 0, 62, 1, 0, 0, 0, 2,
1987
- 66, 1, 0, 0, 0, 4, 72, 1, 0, 0, 0, 6, 83, 1, 0, 0, 0, 8, 104, 1, 0, 0, 0, 10, 112, 1, 0, 0,
1988
- 0, 12, 120, 1, 0, 0, 0, 14, 133, 1, 0, 0, 0, 16, 145, 1, 0, 0, 0, 18, 147, 1, 0, 0, 0, 20,
1989
- 159, 1, 0, 0, 0, 22, 171, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0, 0, 0, 28, 207,
1990
- 1, 0, 0, 0, 30, 219, 1, 0, 0, 0, 32, 231, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 255, 1, 0,
1991
- 0, 0, 38, 267, 1, 0, 0, 0, 40, 279, 1, 0, 0, 0, 42, 291, 1, 0, 0, 0, 44, 336, 1, 0, 0, 0,
1992
- 46, 346, 1, 0, 0, 0, 48, 381, 1, 0, 0, 0, 50, 383, 1, 0, 0, 0, 52, 392, 1, 0, 0, 0, 54, 398,
1993
- 1, 0, 0, 0, 56, 404, 1, 0, 0, 0, 58, 410, 1, 0, 0, 0, 60, 413, 1, 0, 0, 0, 62, 63, 3, 6, 3,
1994
- 0, 63, 64, 5, 0, 0, 1, 64, 1, 1, 0, 0, 0, 65, 67, 3, 4, 2, 0, 66, 65, 1, 0, 0, 0, 67, 68, 1,
1995
- 0, 0, 0, 68, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 1, 0, 0, 0, 70, 71, 5, 0, 0, 1, 71,
1996
- 3, 1, 0, 0, 0, 72, 74, 5, 15, 0, 0, 73, 75, 3, 44, 22, 0, 74, 73, 1, 0, 0, 0, 74, 75, 1, 0,
1997
- 0, 0, 75, 76, 1, 0, 0, 0, 76, 77, 5, 6, 0, 0, 77, 78, 3, 6, 3, 0, 78, 79, 5, 16, 0, 0, 79,
1998
- 5, 1, 0, 0, 0, 80, 82, 5, 14, 0, 0, 81, 80, 1, 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0,
1999
- 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, 86, 91, 3, 38, 19, 0, 87, 90,
2000
- 3, 16, 8, 0, 88, 90, 5, 14, 0, 0, 89, 87, 1, 0, 0, 0, 89, 88, 1, 0, 0, 0, 90, 93, 1, 0, 0,
2001
- 0, 91, 89, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 94, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 94, 98,
2002
- 3, 32, 16, 0, 95, 97, 5, 14, 0, 0, 96, 95, 1, 0, 0, 0, 97, 100, 1, 0, 0, 0, 98, 96, 1, 0,
2003
- 0, 0, 98, 99, 1, 0, 0, 0, 99, 7, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 101, 103, 3, 14, 7, 0, 102,
2004
- 101, 1, 0, 0, 0, 103, 106, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105,
2005
- 107, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 107, 108, 5, 0, 0, 1, 108, 9, 1, 0, 0, 0, 109, 111,
2006
- 3, 12, 6, 0, 110, 109, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113,
2007
- 1, 0, 0, 0, 113, 115, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 116, 5, 0, 0, 1, 116, 11, 1,
2008
- 0, 0, 0, 117, 121, 3, 14, 7, 0, 118, 121, 3, 40, 20, 0, 119, 121, 3, 42, 21, 0, 120, 117,
2009
- 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 119, 1, 0, 0, 0, 121, 13, 1, 0, 0, 0, 122, 134, 3,
2010
- 18, 9, 0, 123, 134, 3, 20, 10, 0, 124, 134, 3, 22, 11, 0, 125, 134, 3, 24, 12, 0, 126,
2011
- 134, 3, 26, 13, 0, 127, 134, 3, 28, 14, 0, 128, 134, 3, 30, 15, 0, 129, 134, 3, 32, 16,
2012
- 0, 130, 134, 3, 34, 17, 0, 131, 134, 3, 36, 18, 0, 132, 134, 3, 38, 19, 0, 133, 122,
2013
- 1, 0, 0, 0, 133, 123, 1, 0, 0, 0, 133, 124, 1, 0, 0, 0, 133, 125, 1, 0, 0, 0, 133, 126,
2014
- 1, 0, 0, 0, 133, 127, 1, 0, 0, 0, 133, 128, 1, 0, 0, 0, 133, 129, 1, 0, 0, 0, 133, 130,
2015
- 1, 0, 0, 0, 133, 131, 1, 0, 0, 0, 133, 132, 1, 0, 0, 0, 134, 15, 1, 0, 0, 0, 135, 146, 3,
2016
- 18, 9, 0, 136, 146, 3, 20, 10, 0, 137, 146, 3, 22, 11, 0, 138, 146, 3, 24, 12, 0, 139,
2017
- 146, 3, 26, 13, 0, 140, 146, 3, 28, 14, 0, 141, 146, 3, 30, 15, 0, 142, 146, 3, 32, 16,
2018
- 0, 143, 146, 3, 34, 17, 0, 144, 146, 3, 36, 18, 0, 145, 135, 1, 0, 0, 0, 145, 136, 1,
2019
- 0, 0, 0, 145, 137, 1, 0, 0, 0, 145, 138, 1, 0, 0, 0, 145, 139, 1, 0, 0, 0, 145, 140, 1,
2020
- 0, 0, 0, 145, 141, 1, 0, 0, 0, 145, 142, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 144, 1,
2021
- 0, 0, 0, 146, 17, 1, 0, 0, 0, 147, 149, 5, 17, 0, 0, 148, 150, 3, 44, 22, 0, 149, 148,
2022
- 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 152, 1, 0, 0, 0, 151, 153, 5, 6, 0, 0, 152, 151,
2023
- 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 155, 1, 0, 0, 0, 154, 156, 3, 60, 30, 0, 155, 154,
2024
- 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 158, 5, 13, 0, 0, 158, 19,
2025
- 1, 0, 0, 0, 159, 161, 5, 18, 0, 0, 160, 162, 3, 44, 22, 0, 161, 160, 1, 0, 0, 0, 161, 162,
2026
- 1, 0, 0, 0, 162, 164, 1, 0, 0, 0, 163, 165, 5, 6, 0, 0, 164, 163, 1, 0, 0, 0, 164, 165,
2027
- 1, 0, 0, 0, 165, 167, 1, 0, 0, 0, 166, 168, 3, 60, 30, 0, 167, 166, 1, 0, 0, 0, 167, 168,
2028
- 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 5, 13, 0, 0, 170, 21, 1, 0, 0, 0, 171, 173,
2029
- 5, 19, 0, 0, 172, 174, 3, 44, 22, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 176,
2030
- 1, 0, 0, 0, 175, 177, 5, 6, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 179,
2031
- 1, 0, 0, 0, 178, 180, 3, 60, 30, 0, 179, 178, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 181,
2032
- 1, 0, 0, 0, 181, 182, 5, 13, 0, 0, 182, 23, 1, 0, 0, 0, 183, 185, 5, 20, 0, 0, 184, 186,
2033
- 3, 44, 22, 0, 185, 184, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 188, 1, 0, 0, 0, 187, 189,
2034
- 5, 6, 0, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191, 1, 0, 0, 0, 190, 192,
2035
- 3, 60, 30, 0, 191, 190, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 194,
2036
- 5, 13, 0, 0, 194, 25, 1, 0, 0, 0, 195, 197, 5, 21, 0, 0, 196, 198, 3, 44, 22, 0, 197, 196,
2037
- 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 200, 1, 0, 0, 0, 199, 201, 5, 6, 0, 0, 200, 199,
2038
- 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 203, 1, 0, 0, 0, 202, 204, 3, 60, 30, 0, 203, 202,
2039
- 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 206, 5, 13, 0, 0, 206, 27,
2040
- 1, 0, 0, 0, 207, 209, 5, 22, 0, 0, 208, 210, 3, 44, 22, 0, 209, 208, 1, 0, 0, 0, 209, 210,
2041
- 1, 0, 0, 0, 210, 212, 1, 0, 0, 0, 211, 213, 5, 6, 0, 0, 212, 211, 1, 0, 0, 0, 212, 213,
2042
- 1, 0, 0, 0, 213, 215, 1, 0, 0, 0, 214, 216, 3, 60, 30, 0, 215, 214, 1, 0, 0, 0, 215, 216,
2043
- 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 218, 5, 13, 0, 0, 218, 29, 1, 0, 0, 0, 219, 221,
2044
- 5, 23, 0, 0, 220, 222, 3, 44, 22, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 224,
2045
- 1, 0, 0, 0, 223, 225, 5, 6, 0, 0, 224, 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227,
2046
- 1, 0, 0, 0, 226, 228, 3, 60, 30, 0, 227, 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 229,
2047
- 1, 0, 0, 0, 229, 230, 5, 13, 0, 0, 230, 31, 1, 0, 0, 0, 231, 233, 5, 24, 0, 0, 232, 234,
2048
- 3, 46, 23, 0, 233, 232, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234, 236, 1, 0, 0, 0, 235, 237,
2049
- 5, 6, 0, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 239, 1, 0, 0, 0, 238, 240,
2050
- 3, 60, 30, 0, 239, 238, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 242,
2051
- 5, 13, 0, 0, 242, 33, 1, 0, 0, 0, 243, 245, 5, 25, 0, 0, 244, 246, 3, 48, 24, 0, 245, 244,
2052
- 1, 0, 0, 0, 245, 246, 1, 0, 0, 0, 246, 248, 1, 0, 0, 0, 247, 249, 5, 6, 0, 0, 248, 247,
2053
- 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 251, 1, 0, 0, 0, 250, 252, 3, 60, 30, 0, 251, 250,
2054
- 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 254, 5, 13, 0, 0, 254, 35,
2055
- 1, 0, 0, 0, 255, 257, 5, 26, 0, 0, 256, 258, 3, 46, 23, 0, 257, 256, 1, 0, 0, 0, 257, 258,
2056
- 1, 0, 0, 0, 258, 260, 1, 0, 0, 0, 259, 261, 5, 6, 0, 0, 260, 259, 1, 0, 0, 0, 260, 261,
2057
- 1, 0, 0, 0, 261, 263, 1, 0, 0, 0, 262, 264, 3, 60, 30, 0, 263, 262, 1, 0, 0, 0, 263, 264,
2058
- 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 266, 5, 13, 0, 0, 266, 37, 1, 0, 0, 0, 267, 269,
2059
- 5, 27, 0, 0, 268, 270, 3, 44, 22, 0, 269, 268, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 272,
2060
- 1, 0, 0, 0, 271, 273, 5, 6, 0, 0, 272, 271, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275,
2061
- 1, 0, 0, 0, 274, 276, 3, 60, 30, 0, 275, 274, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277,
2062
- 1, 0, 0, 0, 277, 278, 5, 13, 0, 0, 278, 39, 1, 0, 0, 0, 279, 281, 5, 28, 0, 0, 280, 282,
2063
- 3, 44, 22, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 284, 1, 0, 0, 0, 283, 285,
2064
- 5, 6, 0, 0, 284, 283, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 287, 1, 0, 0, 0, 286, 288,
2065
- 3, 60, 30, 0, 287, 286, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 290,
2066
- 5, 13, 0, 0, 290, 41, 1, 0, 0, 0, 291, 293, 5, 29, 0, 0, 292, 294, 3, 44, 22, 0, 293, 292,
2067
- 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 296, 1, 0, 0, 0, 295, 297, 5, 6, 0, 0, 296, 295,
2068
- 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 299, 1, 0, 0, 0, 298, 300, 3, 60, 30, 0, 299, 298,
2069
- 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301, 302, 5, 13, 0, 0, 302, 43,
2070
- 1, 0, 0, 0, 303, 312, 3, 50, 25, 0, 304, 306, 3, 56, 28, 0, 305, 307, 3, 58, 29, 0, 306,
2071
- 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 313, 1, 0, 0, 0, 308, 310, 3, 58, 29, 0, 309,
2072
- 311, 3, 56, 28, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 313, 1, 0, 0, 0, 312,
2073
- 304, 1, 0, 0, 0, 312, 308, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 337, 1, 0, 0, 0, 314,
2074
- 323, 3, 56, 28, 0, 315, 317, 3, 50, 25, 0, 316, 318, 3, 58, 29, 0, 317, 316, 1, 0, 0,
2075
- 0, 317, 318, 1, 0, 0, 0, 318, 324, 1, 0, 0, 0, 319, 321, 3, 58, 29, 0, 320, 322, 3, 50,
2076
- 25, 0, 321, 320, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323, 315, 1, 0,
2077
- 0, 0, 323, 319, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 337, 1, 0, 0, 0, 325, 334, 3, 58,
2078
- 29, 0, 326, 328, 3, 50, 25, 0, 327, 329, 3, 56, 28, 0, 328, 327, 1, 0, 0, 0, 328, 329,
2079
- 1, 0, 0, 0, 329, 335, 1, 0, 0, 0, 330, 332, 3, 56, 28, 0, 331, 333, 3, 50, 25, 0, 332,
2080
- 331, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 335, 1, 0, 0, 0, 334, 326, 1, 0, 0, 0, 334,
2081
- 330, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 303, 1, 0, 0, 0, 336,
2082
- 314, 1, 0, 0, 0, 336, 325, 1, 0, 0, 0, 337, 45, 1, 0, 0, 0, 338, 340, 3, 52, 26, 0, 339,
2083
- 341, 3, 56, 28, 0, 340, 339, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 347, 1, 0, 0, 0, 342,
2084
- 344, 3, 56, 28, 0, 343, 345, 3, 52, 26, 0, 344, 343, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0,
2085
- 345, 347, 1, 0, 0, 0, 346, 338, 1, 0, 0, 0, 346, 342, 1, 0, 0, 0, 347, 47, 1, 0, 0, 0, 348,
2086
- 357, 3, 54, 27, 0, 349, 351, 3, 56, 28, 0, 350, 352, 3, 58, 29, 0, 351, 350, 1, 0, 0,
2087
- 0, 351, 352, 1, 0, 0, 0, 352, 358, 1, 0, 0, 0, 353, 355, 3, 58, 29, 0, 354, 356, 3, 56,
2088
- 28, 0, 355, 354, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 358, 1, 0, 0, 0, 357, 349, 1, 0,
2089
- 0, 0, 357, 353, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 358, 382, 1, 0, 0, 0, 359, 368, 3, 56,
2090
- 28, 0, 360, 362, 3, 54, 27, 0, 361, 363, 3, 58, 29, 0, 362, 361, 1, 0, 0, 0, 362, 363,
2091
- 1, 0, 0, 0, 363, 369, 1, 0, 0, 0, 364, 366, 3, 58, 29, 0, 365, 367, 3, 54, 27, 0, 366,
2092
- 365, 1, 0, 0, 0, 366, 367, 1, 0, 0, 0, 367, 369, 1, 0, 0, 0, 368, 360, 1, 0, 0, 0, 368,
2093
- 364, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 382, 1, 0, 0, 0, 370, 379, 3, 58, 29, 0, 371,
2094
- 373, 3, 54, 27, 0, 372, 374, 3, 56, 28, 0, 373, 372, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0,
2095
- 374, 380, 1, 0, 0, 0, 375, 377, 3, 56, 28, 0, 376, 378, 3, 54, 27, 0, 377, 376, 1, 0,
2096
- 0, 0, 377, 378, 1, 0, 0, 0, 378, 380, 1, 0, 0, 0, 379, 371, 1, 0, 0, 0, 379, 375, 1, 0,
2097
- 0, 0, 379, 380, 1, 0, 0, 0, 380, 382, 1, 0, 0, 0, 381, 348, 1, 0, 0, 0, 381, 359, 1, 0,
2098
- 0, 0, 381, 370, 1, 0, 0, 0, 382, 49, 1, 0, 0, 0, 383, 387, 5, 1, 0, 0, 384, 386, 7, 0, 0,
2099
- 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0,
2100
- 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 5, 2, 0, 0, 391, 51, 1, 0, 0, 0,
2101
- 392, 394, 5, 1, 0, 0, 393, 395, 5, 8, 0, 0, 394, 393, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0,
2102
- 395, 396, 1, 0, 0, 0, 396, 397, 5, 2, 0, 0, 397, 53, 1, 0, 0, 0, 398, 400, 5, 1, 0, 0, 399,
2103
- 401, 5, 9, 0, 0, 400, 399, 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402,
2104
- 403, 5, 2, 0, 0, 403, 55, 1, 0, 0, 0, 404, 406, 5, 3, 0, 0, 405, 407, 5, 11, 0, 0, 406,
2105
- 405, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 408, 1, 0, 0, 0, 408, 409, 5, 4, 0, 0, 409,
2106
- 57, 1, 0, 0, 0, 410, 411, 5, 5, 0, 0, 411, 59, 1, 0, 0, 0, 412, 414, 5, 12, 0, 0, 413, 412,
2107
- 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 61, 1,
2108
- 0, 0, 0, 78, 68, 74, 83, 89, 91, 98, 104, 112, 120, 133, 145, 149, 152, 155, 161, 164,
2109
- 167, 173, 176, 179, 185, 188, 191, 197, 200, 203, 209, 212, 215, 221, 224, 227,
2110
- 233, 236, 239, 245, 248, 251, 257, 260, 263, 269, 272, 275, 281, 284, 287, 293,
2111
- 296, 299, 306, 310, 312, 317, 321, 323, 328, 332, 334, 336, 340, 344, 346, 351,
2112
- 355, 357, 362, 366, 368, 373, 377, 379, 381, 387, 394, 400, 406, 415
2192
+ 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33,
2193
+ 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 77, 8, 1, 11, 1, 12, 1, 78,
2194
+ 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 85, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 5, 3, 92, 8, 3, 10, 3, 12,
2195
+ 3, 95, 9, 3, 1, 3, 1, 3, 1, 3, 5, 3, 100, 8, 3, 10, 3, 12, 3, 103, 9, 3, 1, 3, 1, 3, 5, 3, 107,
2196
+ 8, 3, 10, 3, 12, 3, 110, 9, 3, 1, 4, 5, 4, 113, 8, 4, 10, 4, 12, 4, 116, 9, 4, 1, 4, 1, 4,
2197
+ 1, 5, 5, 5, 121, 8, 5, 10, 5, 12, 5, 124, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6, 131, 8,
2198
+ 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 145, 8, 7, 1,
2199
+ 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 157, 8, 8, 1, 9, 1, 9, 3, 9, 161,
2200
+ 8, 9, 1, 9, 3, 9, 164, 8, 9, 1, 9, 3, 9, 167, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 173, 8,
2201
+ 10, 1, 10, 3, 10, 176, 8, 10, 1, 10, 3, 10, 179, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11,
2202
+ 185, 8, 11, 1, 11, 3, 11, 188, 8, 11, 1, 11, 3, 11, 191, 8, 11, 1, 11, 1, 11, 1, 12, 1,
2203
+ 12, 3, 12, 197, 8, 12, 1, 12, 3, 12, 200, 8, 12, 1, 12, 3, 12, 203, 8, 12, 1, 12, 1, 12,
2204
+ 1, 13, 1, 13, 3, 13, 209, 8, 13, 1, 13, 3, 13, 212, 8, 13, 1, 13, 3, 13, 215, 8, 13, 1,
2205
+ 13, 1, 13, 1, 14, 1, 14, 3, 14, 221, 8, 14, 1, 14, 3, 14, 224, 8, 14, 1, 14, 3, 14, 227,
2206
+ 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 233, 8, 15, 1, 15, 3, 15, 236, 8, 15, 1, 15, 3,
2207
+ 15, 239, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 3, 16, 246, 8, 16, 1, 16, 3, 16, 249,
2208
+ 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 255, 8, 17, 1, 17, 3, 17, 258, 8, 17, 1, 17, 3,
2209
+ 17, 261, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 267, 8, 18, 1, 18, 3, 18, 270, 8, 18,
2210
+ 1, 18, 3, 18, 273, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 279, 8, 19, 1, 19, 3, 19, 282,
2211
+ 8, 19, 1, 19, 3, 19, 285, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 291, 8, 20, 1, 20, 3,
2212
+ 20, 294, 8, 20, 1, 20, 3, 20, 297, 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 303, 8, 21,
2213
+ 1, 21, 3, 21, 306, 8, 21, 1, 21, 3, 21, 309, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 315,
2214
+ 8, 22, 1, 22, 3, 22, 318, 8, 22, 1, 22, 3, 22, 321, 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1,
2215
+ 23, 3, 23, 328, 8, 23, 1, 23, 1, 23, 3, 23, 332, 8, 23, 3, 23, 334, 8, 23, 1, 23, 1, 23,
2216
+ 1, 23, 3, 23, 339, 8, 23, 1, 23, 1, 23, 3, 23, 343, 8, 23, 3, 23, 345, 8, 23, 1, 23, 1,
2217
+ 23, 1, 23, 3, 23, 350, 8, 23, 1, 23, 1, 23, 3, 23, 354, 8, 23, 3, 23, 356, 8, 23, 3, 23,
2218
+ 358, 8, 23, 1, 24, 1, 24, 3, 24, 362, 8, 24, 1, 24, 1, 24, 3, 24, 366, 8, 24, 3, 24, 368,
2219
+ 8, 24, 1, 25, 1, 25, 3, 25, 372, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 377, 8, 25, 1, 26, 1,
2220
+ 26, 3, 26, 381, 8, 26, 1, 26, 1, 26, 3, 26, 385, 8, 26, 3, 26, 387, 8, 26, 1, 27, 1, 27,
2221
+ 1, 27, 3, 27, 392, 8, 27, 1, 27, 1, 27, 3, 27, 396, 8, 27, 3, 27, 398, 8, 27, 1, 27, 1,
2222
+ 27, 1, 27, 3, 27, 403, 8, 27, 1, 27, 1, 27, 3, 27, 407, 8, 27, 3, 27, 409, 8, 27, 1, 27,
2223
+ 1, 27, 1, 27, 3, 27, 414, 8, 27, 1, 27, 1, 27, 3, 27, 418, 8, 27, 3, 27, 420, 8, 27, 3,
2224
+ 27, 422, 8, 27, 1, 28, 1, 28, 5, 28, 426, 8, 28, 10, 28, 12, 28, 429, 9, 28, 1, 28, 1,
2225
+ 28, 1, 29, 1, 29, 3, 29, 435, 8, 29, 1, 29, 1, 29, 1, 30, 1, 30, 3, 30, 441, 8, 30, 1, 30,
2226
+ 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 451, 8, 32, 1, 32, 1, 32, 1, 33,
2227
+ 1, 33, 3, 33, 457, 8, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 4, 35, 464, 8, 35, 11, 35,
2228
+ 12, 35, 465, 1, 35, 0, 0, 36, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
2229
+ 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 0, 2,
2230
+ 2, 0, 7, 7, 11, 11, 1, 0, 8, 9, 544, 0, 72, 1, 0, 0, 0, 2, 76, 1, 0, 0, 0, 4, 82, 1, 0, 0, 0,
2231
+ 6, 93, 1, 0, 0, 0, 8, 114, 1, 0, 0, 0, 10, 122, 1, 0, 0, 0, 12, 130, 1, 0, 0, 0, 14, 144,
2232
+ 1, 0, 0, 0, 16, 156, 1, 0, 0, 0, 18, 158, 1, 0, 0, 0, 20, 170, 1, 0, 0, 0, 22, 182, 1, 0,
2233
+ 0, 0, 24, 194, 1, 0, 0, 0, 26, 206, 1, 0, 0, 0, 28, 218, 1, 0, 0, 0, 30, 230, 1, 0, 0, 0,
2234
+ 32, 242, 1, 0, 0, 0, 34, 252, 1, 0, 0, 0, 36, 264, 1, 0, 0, 0, 38, 276, 1, 0, 0, 0, 40, 288,
2235
+ 1, 0, 0, 0, 42, 300, 1, 0, 0, 0, 44, 312, 1, 0, 0, 0, 46, 357, 1, 0, 0, 0, 48, 367, 1, 0,
2236
+ 0, 0, 50, 376, 1, 0, 0, 0, 52, 386, 1, 0, 0, 0, 54, 421, 1, 0, 0, 0, 56, 423, 1, 0, 0, 0,
2237
+ 58, 432, 1, 0, 0, 0, 60, 438, 1, 0, 0, 0, 62, 444, 1, 0, 0, 0, 64, 448, 1, 0, 0, 0, 66, 454,
2238
+ 1, 0, 0, 0, 68, 460, 1, 0, 0, 0, 70, 463, 1, 0, 0, 0, 72, 73, 3, 6, 3, 0, 73, 74, 5, 0, 0,
2239
+ 1, 74, 1, 1, 0, 0, 0, 75, 77, 3, 4, 2, 0, 76, 75, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 76, 1,
2240
+ 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 81, 5, 0, 0, 1, 81, 3, 1, 0, 0, 0, 82,
2241
+ 84, 5, 16, 0, 0, 83, 85, 3, 46, 23, 0, 84, 83, 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 86, 1,
2242
+ 0, 0, 0, 86, 87, 5, 6, 0, 0, 87, 88, 3, 6, 3, 0, 88, 89, 5, 17, 0, 0, 89, 5, 1, 0, 0, 0, 90,
2243
+ 92, 5, 15, 0, 0, 91, 90, 1, 0, 0, 0, 92, 95, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94, 1, 0,
2244
+ 0, 0, 94, 96, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 96, 101, 3, 40, 20, 0, 97, 100, 3, 16, 8, 0,
2245
+ 98, 100, 5, 15, 0, 0, 99, 97, 1, 0, 0, 0, 99, 98, 1, 0, 0, 0, 100, 103, 1, 0, 0, 0, 101,
2246
+ 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 104, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 104, 108,
2247
+ 3, 32, 16, 0, 105, 107, 5, 15, 0, 0, 106, 105, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106,
2248
+ 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 7, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 113, 3,
2249
+ 14, 7, 0, 112, 111, 1, 0, 0, 0, 113, 116, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1,
2250
+ 0, 0, 0, 115, 117, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 117, 118, 5, 0, 0, 1, 118, 9, 1, 0,
2251
+ 0, 0, 119, 121, 3, 12, 6, 0, 120, 119, 1, 0, 0, 0, 121, 124, 1, 0, 0, 0, 122, 120, 1, 0,
2252
+ 0, 0, 122, 123, 1, 0, 0, 0, 123, 125, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 125, 126, 5, 0,
2253
+ 0, 1, 126, 11, 1, 0, 0, 0, 127, 131, 3, 14, 7, 0, 128, 131, 3, 42, 21, 0, 129, 131, 3,
2254
+ 44, 22, 0, 130, 127, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 130, 129, 1, 0, 0, 0, 131, 13, 1,
2255
+ 0, 0, 0, 132, 145, 3, 18, 9, 0, 133, 145, 3, 20, 10, 0, 134, 145, 3, 22, 11, 0, 135, 145,
2256
+ 3, 24, 12, 0, 136, 145, 3, 26, 13, 0, 137, 145, 3, 28, 14, 0, 138, 145, 3, 30, 15, 0,
2257
+ 139, 145, 3, 32, 16, 0, 140, 145, 3, 34, 17, 0, 141, 145, 3, 36, 18, 0, 142, 145, 3,
2258
+ 38, 19, 0, 143, 145, 3, 40, 20, 0, 144, 132, 1, 0, 0, 0, 144, 133, 1, 0, 0, 0, 144, 134,
2259
+ 1, 0, 0, 0, 144, 135, 1, 0, 0, 0, 144, 136, 1, 0, 0, 0, 144, 137, 1, 0, 0, 0, 144, 138,
2260
+ 1, 0, 0, 0, 144, 139, 1, 0, 0, 0, 144, 140, 1, 0, 0, 0, 144, 141, 1, 0, 0, 0, 144, 142,
2261
+ 1, 0, 0, 0, 144, 143, 1, 0, 0, 0, 145, 15, 1, 0, 0, 0, 146, 157, 3, 18, 9, 0, 147, 157,
2262
+ 3, 20, 10, 0, 148, 157, 3, 22, 11, 0, 149, 157, 3, 24, 12, 0, 150, 157, 3, 26, 13, 0,
2263
+ 151, 157, 3, 28, 14, 0, 152, 157, 3, 30, 15, 0, 153, 157, 3, 34, 17, 0, 154, 157, 3,
2264
+ 36, 18, 0, 155, 157, 3, 38, 19, 0, 156, 146, 1, 0, 0, 0, 156, 147, 1, 0, 0, 0, 156, 148,
2265
+ 1, 0, 0, 0, 156, 149, 1, 0, 0, 0, 156, 150, 1, 0, 0, 0, 156, 151, 1, 0, 0, 0, 156, 152,
2266
+ 1, 0, 0, 0, 156, 153, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 155, 1, 0, 0, 0, 157, 17, 1,
2267
+ 0, 0, 0, 158, 160, 5, 18, 0, 0, 159, 161, 3, 46, 23, 0, 160, 159, 1, 0, 0, 0, 160, 161,
2268
+ 1, 0, 0, 0, 161, 163, 1, 0, 0, 0, 162, 164, 5, 6, 0, 0, 163, 162, 1, 0, 0, 0, 163, 164,
2269
+ 1, 0, 0, 0, 164, 166, 1, 0, 0, 0, 165, 167, 3, 70, 35, 0, 166, 165, 1, 0, 0, 0, 166, 167,
2270
+ 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 169, 5, 14, 0, 0, 169, 19, 1, 0, 0, 0, 170, 172,
2271
+ 5, 19, 0, 0, 171, 173, 3, 46, 23, 0, 172, 171, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, 175,
2272
+ 1, 0, 0, 0, 174, 176, 5, 6, 0, 0, 175, 174, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 178,
2273
+ 1, 0, 0, 0, 177, 179, 3, 70, 35, 0, 178, 177, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 180,
2274
+ 1, 0, 0, 0, 180, 181, 5, 14, 0, 0, 181, 21, 1, 0, 0, 0, 182, 184, 5, 20, 0, 0, 183, 185,
2275
+ 3, 46, 23, 0, 184, 183, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 187, 1, 0, 0, 0, 186, 188,
2276
+ 5, 6, 0, 0, 187, 186, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 190, 1, 0, 0, 0, 189, 191,
2277
+ 3, 70, 35, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193,
2278
+ 5, 14, 0, 0, 193, 23, 1, 0, 0, 0, 194, 196, 5, 21, 0, 0, 195, 197, 3, 46, 23, 0, 196, 195,
2279
+ 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 199, 1, 0, 0, 0, 198, 200, 5, 6, 0, 0, 199, 198,
2280
+ 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 202, 1, 0, 0, 0, 201, 203, 3, 70, 35, 0, 202, 201,
2281
+ 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 205, 5, 14, 0, 0, 205, 25,
2282
+ 1, 0, 0, 0, 206, 208, 5, 22, 0, 0, 207, 209, 3, 46, 23, 0, 208, 207, 1, 0, 0, 0, 208, 209,
2283
+ 1, 0, 0, 0, 209, 211, 1, 0, 0, 0, 210, 212, 5, 6, 0, 0, 211, 210, 1, 0, 0, 0, 211, 212,
2284
+ 1, 0, 0, 0, 212, 214, 1, 0, 0, 0, 213, 215, 3, 70, 35, 0, 214, 213, 1, 0, 0, 0, 214, 215,
2285
+ 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 217, 5, 14, 0, 0, 217, 27, 1, 0, 0, 0, 218, 220,
2286
+ 5, 23, 0, 0, 219, 221, 3, 46, 23, 0, 220, 219, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 223,
2287
+ 1, 0, 0, 0, 222, 224, 5, 6, 0, 0, 223, 222, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 226,
2288
+ 1, 0, 0, 0, 225, 227, 3, 70, 35, 0, 226, 225, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 228,
2289
+ 1, 0, 0, 0, 228, 229, 5, 14, 0, 0, 229, 29, 1, 0, 0, 0, 230, 232, 5, 24, 0, 0, 231, 233,
2290
+ 3, 46, 23, 0, 232, 231, 1, 0, 0, 0, 232, 233, 1, 0, 0, 0, 233, 235, 1, 0, 0, 0, 234, 236,
2291
+ 5, 6, 0, 0, 235, 234, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 238, 1, 0, 0, 0, 237, 239,
2292
+ 3, 70, 35, 0, 238, 237, 1, 0, 0, 0, 238, 239, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 241,
2293
+ 5, 14, 0, 0, 241, 31, 1, 0, 0, 0, 242, 243, 5, 25, 0, 0, 243, 245, 3, 50, 25, 0, 244, 246,
2294
+ 5, 6, 0, 0, 245, 244, 1, 0, 0, 0, 245, 246, 1, 0, 0, 0, 246, 248, 1, 0, 0, 0, 247, 249,
2295
+ 3, 70, 35, 0, 248, 247, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 251,
2296
+ 5, 14, 0, 0, 251, 33, 1, 0, 0, 0, 252, 254, 5, 25, 0, 0, 253, 255, 3, 52, 26, 0, 254, 253,
2297
+ 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 257, 1, 0, 0, 0, 256, 258, 5, 6, 0, 0, 257, 256,
2298
+ 1, 0, 0, 0, 257, 258, 1, 0, 0, 0, 258, 260, 1, 0, 0, 0, 259, 261, 3, 70, 35, 0, 260, 259,
2299
+ 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 5, 14, 0, 0, 263, 35,
2300
+ 1, 0, 0, 0, 264, 266, 5, 26, 0, 0, 265, 267, 3, 54, 27, 0, 266, 265, 1, 0, 0, 0, 266, 267,
2301
+ 1, 0, 0, 0, 267, 269, 1, 0, 0, 0, 268, 270, 5, 6, 0, 0, 269, 268, 1, 0, 0, 0, 269, 270,
2302
+ 1, 0, 0, 0, 270, 272, 1, 0, 0, 0, 271, 273, 3, 70, 35, 0, 272, 271, 1, 0, 0, 0, 272, 273,
2303
+ 1, 0, 0, 0, 273, 274, 1, 0, 0, 0, 274, 275, 5, 14, 0, 0, 275, 37, 1, 0, 0, 0, 276, 278,
2304
+ 5, 27, 0, 0, 277, 279, 3, 48, 24, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281,
2305
+ 1, 0, 0, 0, 280, 282, 5, 6, 0, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 284,
2306
+ 1, 0, 0, 0, 283, 285, 3, 70, 35, 0, 284, 283, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 286,
2307
+ 1, 0, 0, 0, 286, 287, 5, 14, 0, 0, 287, 39, 1, 0, 0, 0, 288, 290, 5, 28, 0, 0, 289, 291,
2308
+ 3, 46, 23, 0, 290, 289, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 293, 1, 0, 0, 0, 292, 294,
2309
+ 5, 6, 0, 0, 293, 292, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 296, 1, 0, 0, 0, 295, 297,
2310
+ 3, 70, 35, 0, 296, 295, 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298, 299,
2311
+ 5, 14, 0, 0, 299, 41, 1, 0, 0, 0, 300, 302, 5, 29, 0, 0, 301, 303, 3, 46, 23, 0, 302, 301,
2312
+ 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 305, 1, 0, 0, 0, 304, 306, 5, 6, 0, 0, 305, 304,
2313
+ 1, 0, 0, 0, 305, 306, 1, 0, 0, 0, 306, 308, 1, 0, 0, 0, 307, 309, 3, 70, 35, 0, 308, 307,
2314
+ 1, 0, 0, 0, 308, 309, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 311, 5, 14, 0, 0, 311, 43,
2315
+ 1, 0, 0, 0, 312, 314, 5, 30, 0, 0, 313, 315, 3, 46, 23, 0, 314, 313, 1, 0, 0, 0, 314, 315,
2316
+ 1, 0, 0, 0, 315, 317, 1, 0, 0, 0, 316, 318, 5, 6, 0, 0, 317, 316, 1, 0, 0, 0, 317, 318,
2317
+ 1, 0, 0, 0, 318, 320, 1, 0, 0, 0, 319, 321, 3, 70, 35, 0, 320, 319, 1, 0, 0, 0, 320, 321,
2318
+ 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 323, 5, 14, 0, 0, 323, 45, 1, 0, 0, 0, 324, 333,
2319
+ 3, 56, 28, 0, 325, 327, 3, 66, 33, 0, 326, 328, 3, 68, 34, 0, 327, 326, 1, 0, 0, 0, 327,
2320
+ 328, 1, 0, 0, 0, 328, 334, 1, 0, 0, 0, 329, 331, 3, 68, 34, 0, 330, 332, 3, 66, 33, 0,
2321
+ 331, 330, 1, 0, 0, 0, 331, 332, 1, 0, 0, 0, 332, 334, 1, 0, 0, 0, 333, 325, 1, 0, 0, 0,
2322
+ 333, 329, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 358, 1, 0, 0, 0, 335, 344, 3, 66, 33,
2323
+ 0, 336, 338, 3, 56, 28, 0, 337, 339, 3, 68, 34, 0, 338, 337, 1, 0, 0, 0, 338, 339, 1,
2324
+ 0, 0, 0, 339, 345, 1, 0, 0, 0, 340, 342, 3, 68, 34, 0, 341, 343, 3, 56, 28, 0, 342, 341,
2325
+ 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 345, 1, 0, 0, 0, 344, 336, 1, 0, 0, 0, 344, 340,
2326
+ 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 358, 1, 0, 0, 0, 346, 355, 3, 68, 34, 0, 347, 349,
2327
+ 3, 56, 28, 0, 348, 350, 3, 66, 33, 0, 349, 348, 1, 0, 0, 0, 349, 350, 1, 0, 0, 0, 350,
2328
+ 356, 1, 0, 0, 0, 351, 353, 3, 66, 33, 0, 352, 354, 3, 56, 28, 0, 353, 352, 1, 0, 0, 0,
2329
+ 353, 354, 1, 0, 0, 0, 354, 356, 1, 0, 0, 0, 355, 347, 1, 0, 0, 0, 355, 351, 1, 0, 0, 0,
2330
+ 355, 356, 1, 0, 0, 0, 356, 358, 1, 0, 0, 0, 357, 324, 1, 0, 0, 0, 357, 335, 1, 0, 0, 0,
2331
+ 357, 346, 1, 0, 0, 0, 358, 47, 1, 0, 0, 0, 359, 361, 3, 58, 29, 0, 360, 362, 3, 66, 33,
2332
+ 0, 361, 360, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 368, 1, 0, 0, 0, 363, 365, 3, 66, 33,
2333
+ 0, 364, 366, 3, 58, 29, 0, 365, 364, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 368, 1, 0,
2334
+ 0, 0, 367, 359, 1, 0, 0, 0, 367, 363, 1, 0, 0, 0, 368, 49, 1, 0, 0, 0, 369, 371, 3, 62,
2335
+ 31, 0, 370, 372, 3, 66, 33, 0, 371, 370, 1, 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 377, 1,
2336
+ 0, 0, 0, 373, 374, 3, 66, 33, 0, 374, 375, 3, 62, 31, 0, 375, 377, 1, 0, 0, 0, 376, 369,
2337
+ 1, 0, 0, 0, 376, 373, 1, 0, 0, 0, 377, 51, 1, 0, 0, 0, 378, 380, 3, 60, 30, 0, 379, 381,
2338
+ 3, 66, 33, 0, 380, 379, 1, 0, 0, 0, 380, 381, 1, 0, 0, 0, 381, 387, 1, 0, 0, 0, 382, 384,
2339
+ 3, 66, 33, 0, 383, 385, 3, 60, 30, 0, 384, 383, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385,
2340
+ 387, 1, 0, 0, 0, 386, 378, 1, 0, 0, 0, 386, 382, 1, 0, 0, 0, 387, 53, 1, 0, 0, 0, 388, 397,
2341
+ 3, 64, 32, 0, 389, 391, 3, 66, 33, 0, 390, 392, 3, 68, 34, 0, 391, 390, 1, 0, 0, 0, 391,
2342
+ 392, 1, 0, 0, 0, 392, 398, 1, 0, 0, 0, 393, 395, 3, 68, 34, 0, 394, 396, 3, 66, 33, 0,
2343
+ 395, 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 398, 1, 0, 0, 0, 397, 389, 1, 0, 0, 0,
2344
+ 397, 393, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 422, 1, 0, 0, 0, 399, 408, 3, 66, 33,
2345
+ 0, 400, 402, 3, 64, 32, 0, 401, 403, 3, 68, 34, 0, 402, 401, 1, 0, 0, 0, 402, 403, 1,
2346
+ 0, 0, 0, 403, 409, 1, 0, 0, 0, 404, 406, 3, 68, 34, 0, 405, 407, 3, 64, 32, 0, 406, 405,
2347
+ 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 409, 1, 0, 0, 0, 408, 400, 1, 0, 0, 0, 408, 404,
2348
+ 1, 0, 0, 0, 408, 409, 1, 0, 0, 0, 409, 422, 1, 0, 0, 0, 410, 419, 3, 68, 34, 0, 411, 413,
2349
+ 3, 64, 32, 0, 412, 414, 3, 66, 33, 0, 413, 412, 1, 0, 0, 0, 413, 414, 1, 0, 0, 0, 414,
2350
+ 420, 1, 0, 0, 0, 415, 417, 3, 66, 33, 0, 416, 418, 3, 64, 32, 0, 417, 416, 1, 0, 0, 0,
2351
+ 417, 418, 1, 0, 0, 0, 418, 420, 1, 0, 0, 0, 419, 411, 1, 0, 0, 0, 419, 415, 1, 0, 0, 0,
2352
+ 419, 420, 1, 0, 0, 0, 420, 422, 1, 0, 0, 0, 421, 388, 1, 0, 0, 0, 421, 399, 1, 0, 0, 0,
2353
+ 421, 410, 1, 0, 0, 0, 422, 55, 1, 0, 0, 0, 423, 427, 5, 1, 0, 0, 424, 426, 7, 0, 0, 0, 425,
2354
+ 424, 1, 0, 0, 0, 426, 429, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428,
2355
+ 430, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, 430, 431, 5, 2, 0, 0, 431, 57, 1, 0, 0, 0, 432, 434,
2356
+ 5, 1, 0, 0, 433, 435, 7, 1, 0, 0, 434, 433, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0, 435, 436,
2357
+ 1, 0, 0, 0, 436, 437, 5, 2, 0, 0, 437, 59, 1, 0, 0, 0, 438, 440, 5, 1, 0, 0, 439, 441, 5,
2358
+ 8, 0, 0, 440, 439, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 443, 5,
2359
+ 2, 0, 0, 443, 61, 1, 0, 0, 0, 444, 445, 5, 1, 0, 0, 445, 446, 5, 9, 0, 0, 446, 447, 5, 2,
2360
+ 0, 0, 447, 63, 1, 0, 0, 0, 448, 450, 5, 1, 0, 0, 449, 451, 5, 10, 0, 0, 450, 449, 1, 0,
2361
+ 0, 0, 450, 451, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 5, 2, 0, 0, 453, 65, 1, 0, 0,
2362
+ 0, 454, 456, 5, 3, 0, 0, 455, 457, 5, 12, 0, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0,
2363
+ 0, 457, 458, 1, 0, 0, 0, 458, 459, 5, 4, 0, 0, 459, 67, 1, 0, 0, 0, 460, 461, 5, 5, 0, 0,
2364
+ 461, 69, 1, 0, 0, 0, 462, 464, 5, 13, 0, 0, 463, 462, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0,
2365
+ 465, 463, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 71, 1, 0, 0, 0, 86, 78, 84, 93, 99, 101,
2366
+ 108, 114, 122, 130, 144, 156, 160, 163, 166, 172, 175, 178, 184, 187, 190, 196,
2367
+ 199, 202, 208, 211, 214, 220, 223, 226, 232, 235, 238, 245, 248, 254, 257, 260,
2368
+ 266, 269, 272, 278, 281, 284, 290, 293, 296, 302, 305, 308, 314, 317, 320, 327,
2369
+ 331, 333, 338, 342, 344, 349, 353, 355, 357, 361, 365, 367, 371, 376, 380, 384,
2370
+ 386, 391, 395, 397, 402, 406, 408, 413, 417, 419, 421, 427, 434, 440, 450, 456,
2371
+ 465
2113
2372
  ];
2114
2373
  static __ATN;
2115
2374
  static get _ATN() {
@@ -2341,6 +2600,9 @@ export class StatementContext extends antlr.ParserRuleContext {
2341
2600
  sendStatement() {
2342
2601
  return this.getRuleContext(0, SendStatementContext);
2343
2602
  }
2603
+ midSend() {
2604
+ return this.getRuleContext(0, MidSendContext);
2605
+ }
2344
2606
  execStatement() {
2345
2607
  return this.getRuleContext(0, ExecStatementContext);
2346
2608
  }
@@ -2387,8 +2649,8 @@ export class MidStatementContext extends antlr.ParserRuleContext {
2387
2649
  foldStatement() {
2388
2650
  return this.getRuleContext(0, FoldStatementContext);
2389
2651
  }
2390
- sendStatement() {
2391
- return this.getRuleContext(0, SendStatementContext);
2652
+ midSend() {
2653
+ return this.getRuleContext(0, MidSendContext);
2392
2654
  }
2393
2655
  execStatement() {
2394
2656
  return this.getRuleContext(0, ExecStatementContext);
@@ -2632,12 +2894,12 @@ export class SendStatementContext extends antlr.ParserRuleContext {
2632
2894
  OPEN_SEND() {
2633
2895
  return this.getToken(plurnkParser.OPEN_SEND, 0);
2634
2896
  }
2897
+ termModifiers() {
2898
+ return this.getRuleContext(0, TermModifiersContext);
2899
+ }
2635
2900
  CLOSE_TAG() {
2636
2901
  return this.getToken(plurnkParser.CLOSE_TAG, 0);
2637
2902
  }
2638
- intOpModifiers() {
2639
- return this.getRuleContext(0, IntOpModifiersContext);
2640
- }
2641
2903
  COLON() {
2642
2904
  return this.getToken(plurnkParser.COLON, 0);
2643
2905
  }
@@ -2656,6 +2918,37 @@ export class SendStatementContext extends antlr.ParserRuleContext {
2656
2918
  }
2657
2919
  }
2658
2920
  }
2921
+ export class MidSendContext extends antlr.ParserRuleContext {
2922
+ constructor(parent, invokingState) {
2923
+ super(parent, invokingState);
2924
+ }
2925
+ OPEN_SEND() {
2926
+ return this.getToken(plurnkParser.OPEN_SEND, 0);
2927
+ }
2928
+ CLOSE_TAG() {
2929
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
2930
+ }
2931
+ midModifiers() {
2932
+ return this.getRuleContext(0, MidModifiersContext);
2933
+ }
2934
+ COLON() {
2935
+ return this.getToken(plurnkParser.COLON, 0);
2936
+ }
2937
+ body() {
2938
+ return this.getRuleContext(0, BodyContext);
2939
+ }
2940
+ get ruleIndex() {
2941
+ return plurnkParser.RULE_midSend;
2942
+ }
2943
+ accept(visitor) {
2944
+ if (visitor.visitMidSend) {
2945
+ return visitor.visitMidSend(this);
2946
+ }
2947
+ else {
2948
+ return visitor.visitChildren(this);
2949
+ }
2950
+ }
2951
+ }
2659
2952
  export class ExecStatementContext extends antlr.ParserRuleContext {
2660
2953
  constructor(parent, invokingState) {
2661
2954
  super(parent, invokingState);
@@ -2858,6 +3151,50 @@ export class IntOpModifiersContext extends antlr.ParserRuleContext {
2858
3151
  }
2859
3152
  }
2860
3153
  }
3154
+ export class TermModifiersContext extends antlr.ParserRuleContext {
3155
+ constructor(parent, invokingState) {
3156
+ super(parent, invokingState);
3157
+ }
3158
+ dispSignal() {
3159
+ return this.getRuleContext(0, DispSignalContext);
3160
+ }
3161
+ target() {
3162
+ return this.getRuleContext(0, TargetContext);
3163
+ }
3164
+ get ruleIndex() {
3165
+ return plurnkParser.RULE_termModifiers;
3166
+ }
3167
+ accept(visitor) {
3168
+ if (visitor.visitTermModifiers) {
3169
+ return visitor.visitTermModifiers(this);
3170
+ }
3171
+ else {
3172
+ return visitor.visitChildren(this);
3173
+ }
3174
+ }
3175
+ }
3176
+ export class MidModifiersContext extends antlr.ParserRuleContext {
3177
+ constructor(parent, invokingState) {
3178
+ super(parent, invokingState);
3179
+ }
3180
+ midSignal() {
3181
+ return this.getRuleContext(0, MidSignalContext);
3182
+ }
3183
+ target() {
3184
+ return this.getRuleContext(0, TargetContext);
3185
+ }
3186
+ get ruleIndex() {
3187
+ return plurnkParser.RULE_midModifiers;
3188
+ }
3189
+ accept(visitor) {
3190
+ if (visitor.visitMidModifiers) {
3191
+ return visitor.visitMidModifiers(this);
3192
+ }
3193
+ else {
3194
+ return visitor.visitChildren(this);
3195
+ }
3196
+ }
3197
+ }
2861
3198
  export class ExecModifiersContext extends antlr.ParserRuleContext {
2862
3199
  constructor(parent, invokingState) {
2863
3200
  super(parent, invokingState);
@@ -2934,6 +3271,9 @@ export class IntSignalContext extends antlr.ParserRuleContext {
2934
3271
  INT() {
2935
3272
  return this.getToken(plurnkParser.INT, 0);
2936
3273
  }
3274
+ DISPOSITION() {
3275
+ return this.getToken(plurnkParser.DISPOSITION, 0);
3276
+ }
2937
3277
  get ruleIndex() {
2938
3278
  return plurnkParser.RULE_intSignal;
2939
3279
  }
@@ -2946,6 +3286,56 @@ export class IntSignalContext extends antlr.ParserRuleContext {
2946
3286
  }
2947
3287
  }
2948
3288
  }
3289
+ export class MidSignalContext extends antlr.ParserRuleContext {
3290
+ constructor(parent, invokingState) {
3291
+ super(parent, invokingState);
3292
+ }
3293
+ LBRACKET() {
3294
+ return this.getToken(plurnkParser.LBRACKET, 0);
3295
+ }
3296
+ RBRACKET() {
3297
+ return this.getToken(plurnkParser.RBRACKET, 0);
3298
+ }
3299
+ INT() {
3300
+ return this.getToken(plurnkParser.INT, 0);
3301
+ }
3302
+ get ruleIndex() {
3303
+ return plurnkParser.RULE_midSignal;
3304
+ }
3305
+ accept(visitor) {
3306
+ if (visitor.visitMidSignal) {
3307
+ return visitor.visitMidSignal(this);
3308
+ }
3309
+ else {
3310
+ return visitor.visitChildren(this);
3311
+ }
3312
+ }
3313
+ }
3314
+ export class DispSignalContext extends antlr.ParserRuleContext {
3315
+ constructor(parent, invokingState) {
3316
+ super(parent, invokingState);
3317
+ }
3318
+ LBRACKET() {
3319
+ return this.getToken(plurnkParser.LBRACKET, 0);
3320
+ }
3321
+ DISPOSITION() {
3322
+ return this.getToken(plurnkParser.DISPOSITION, 0);
3323
+ }
3324
+ RBRACKET() {
3325
+ return this.getToken(plurnkParser.RBRACKET, 0);
3326
+ }
3327
+ get ruleIndex() {
3328
+ return plurnkParser.RULE_dispSignal;
3329
+ }
3330
+ accept(visitor) {
3331
+ if (visitor.visitDispSignal) {
3332
+ return visitor.visitDispSignal(this);
3333
+ }
3334
+ else {
3335
+ return visitor.visitChildren(this);
3336
+ }
3337
+ }
3338
+ }
2949
3339
  export class IdentSignalContext extends antlr.ParserRuleContext {
2950
3340
  constructor(parent, invokingState) {
2951
3341
  super(parent, invokingState);