@plurnk/plurnk-grammar 0.74.51 → 0.74.55

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,37 @@ 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_WORK = 27;
30
+ static OPEN_FORK = 28;
31
+ static OPEN_KILL = 29;
32
+ static OPEN_PLAN = 30;
33
+ static OPEN_LOOK = 31;
34
+ static OPEN_BUFF = 32;
35
+ static WS = 33;
36
+ static SLOTS_WS = 34;
37
+ static ST_WS = 35;
38
+ static SI_WS = 36;
39
+ static SD_WS = 37;
40
+ static ST_COMMA = 38;
41
+ static B_COLON = 39;
39
42
  static RULE_document = 0;
40
43
  static RULE_log = 1;
41
44
  static RULE_turnStatement = 2;
@@ -53,43 +56,52 @@ export class plurnkParser extends antlr.Parser {
53
56
  static RULE_openStatement = 14;
54
57
  static RULE_foldStatement = 15;
55
58
  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;
59
+ static RULE_midSend = 17;
60
+ static RULE_execStatement = 18;
61
+ static RULE_workStatement = 19;
62
+ static RULE_forkStatement = 20;
63
+ static RULE_killStatement = 21;
64
+ static RULE_planStatement = 22;
65
+ static RULE_lookStatement = 23;
66
+ static RULE_buffStatement = 24;
67
+ static RULE_tagOpModifiers = 25;
68
+ static RULE_intOpModifiers = 26;
69
+ static RULE_termModifiers = 27;
70
+ static RULE_midModifiers = 28;
71
+ static RULE_execModifiers = 29;
72
+ static RULE_tagSignal = 30;
73
+ static RULE_intSignal = 31;
74
+ static RULE_midSignal = 32;
75
+ static RULE_dispSignal = 33;
76
+ static RULE_identSignal = 34;
77
+ static RULE_target = 35;
78
+ static RULE_lineMarker = 36;
79
+ static RULE_body = 37;
70
80
  static literalNames = [
71
81
  null, null, null, null, null, null, null, null, null, null, null,
72
82
  null, null, null, null, null, null, null, null, null, null, null,
73
83
  null, null, null, null, null, null, null, null, null, null, null,
74
- null, null, "','", "':'"
84
+ null, null, null, null, null, "','", "':'"
75
85
  ];
76
86
  static symbolicNames = [
77
87
  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"
88
+ "COMMA", "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT",
89
+ "CLOSE_TAG", "TEXT", "OPEN_TURN", "CLOSE_TURN", "OPEN_FIND", "OPEN_READ",
90
+ "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
91
+ "OPEN_SEND", "OPEN_EXEC", "OPEN_WORK", "OPEN_FORK", "OPEN_KILL",
92
+ "OPEN_PLAN", "OPEN_LOOK", "OPEN_BUFF", "WS", "SLOTS_WS", "ST_WS",
93
+ "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
83
94
  ];
84
95
  static ruleNames = [
85
96
  "document", "log", "turnStatement", "turnContent", "statementSeq",
86
97
  "clientStatementSeq", "clientStatement", "statement", "midStatement",
87
98
  "findStatement", "readStatement", "editStatement", "copyStatement",
88
99
  "moveStatement", "openStatement", "foldStatement", "sendStatement",
89
- "execStatement", "killStatement", "planStatement", "lookStatement",
90
- "buffStatement", "tagOpModifiers", "intOpModifiers", "execModifiers",
91
- "tagSignal", "intSignal", "identSignal", "target", "lineMarker",
92
- "body",
100
+ "midSend", "execStatement", "workStatement", "forkStatement", "killStatement",
101
+ "planStatement", "lookStatement", "buffStatement", "tagOpModifiers",
102
+ "intOpModifiers", "termModifiers", "midModifiers", "execModifiers",
103
+ "tagSignal", "intSignal", "midSignal", "dispSignal", "identSignal",
104
+ "target", "lineMarker", "body",
93
105
  ];
94
106
  get grammarFileName() { return "plurnkParser.g4"; }
95
107
  get literalNames() { return plurnkParser.literalNames; }
@@ -109,9 +121,9 @@ export class plurnkParser extends antlr.Parser {
109
121
  try {
110
122
  this.enterOuterAlt(localContext, 1);
111
123
  {
112
- this.state = 62;
124
+ this.state = 76;
113
125
  this.turnContent();
114
- this.state = 63;
126
+ this.state = 77;
115
127
  this.match(plurnkParser.EOF);
116
128
  }
117
129
  }
@@ -136,21 +148,21 @@ export class plurnkParser extends antlr.Parser {
136
148
  try {
137
149
  this.enterOuterAlt(localContext, 1);
138
150
  {
139
- this.state = 66;
151
+ this.state = 80;
140
152
  this.errorHandler.sync(this);
141
153
  _la = this.tokenStream.LA(1);
142
154
  do {
143
155
  {
144
156
  {
145
- this.state = 65;
157
+ this.state = 79;
146
158
  this.turnStatement();
147
159
  }
148
160
  }
149
- this.state = 68;
161
+ this.state = 82;
150
162
  this.errorHandler.sync(this);
151
163
  _la = this.tokenStream.LA(1);
152
- } while (_la === 15);
153
- this.state = 70;
164
+ } while (_la === 16);
165
+ this.state = 84;
154
166
  this.match(plurnkParser.EOF);
155
167
  }
156
168
  }
@@ -175,22 +187,22 @@ export class plurnkParser extends antlr.Parser {
175
187
  try {
176
188
  this.enterOuterAlt(localContext, 1);
177
189
  {
178
- this.state = 72;
190
+ this.state = 86;
179
191
  this.match(plurnkParser.OPEN_TURN);
180
- this.state = 74;
192
+ this.state = 88;
181
193
  this.errorHandler.sync(this);
182
194
  _la = this.tokenStream.LA(1);
183
195
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
184
196
  {
185
- this.state = 73;
197
+ this.state = 87;
186
198
  this.tagOpModifiers();
187
199
  }
188
200
  }
189
- this.state = 76;
201
+ this.state = 90;
190
202
  this.match(plurnkParser.COLON);
191
- this.state = 77;
203
+ this.state = 91;
192
204
  this.turnContent();
193
- this.state = 78;
205
+ this.state = 92;
194
206
  this.match(plurnkParser.CLOSE_TURN);
195
207
  }
196
208
  }
@@ -216,29 +228,29 @@ export class plurnkParser extends antlr.Parser {
216
228
  let alternative;
217
229
  this.enterOuterAlt(localContext, 1);
218
230
  {
219
- this.state = 83;
231
+ this.state = 97;
220
232
  this.errorHandler.sync(this);
221
233
  _la = this.tokenStream.LA(1);
222
- while (_la === 14) {
234
+ while (_la === 15) {
223
235
  {
224
236
  {
225
- this.state = 80;
237
+ this.state = 94;
226
238
  this.match(plurnkParser.TEXT);
227
239
  }
228
240
  }
229
- this.state = 85;
241
+ this.state = 99;
230
242
  this.errorHandler.sync(this);
231
243
  _la = this.tokenStream.LA(1);
232
244
  }
233
- this.state = 86;
245
+ this.state = 100;
234
246
  this.planStatement();
235
- this.state = 91;
247
+ this.state = 105;
236
248
  this.errorHandler.sync(this);
237
249
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
238
250
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
239
251
  if (alternative === 1) {
240
252
  {
241
- this.state = 89;
253
+ this.state = 103;
242
254
  this.errorHandler.sync(this);
243
255
  switch (this.tokenStream.LA(1)) {
244
256
  case plurnkParser.OPEN_FIND:
@@ -250,15 +262,17 @@ export class plurnkParser extends antlr.Parser {
250
262
  case plurnkParser.OPEN_FOLD:
251
263
  case plurnkParser.OPEN_SEND:
252
264
  case plurnkParser.OPEN_EXEC:
265
+ case plurnkParser.OPEN_WORK:
266
+ case plurnkParser.OPEN_FORK:
253
267
  case plurnkParser.OPEN_KILL:
254
268
  {
255
- this.state = 87;
269
+ this.state = 101;
256
270
  this.midStatement();
257
271
  }
258
272
  break;
259
273
  case plurnkParser.TEXT:
260
274
  {
261
- this.state = 88;
275
+ this.state = 102;
262
276
  this.match(plurnkParser.TEXT);
263
277
  }
264
278
  break;
@@ -267,23 +281,23 @@ export class plurnkParser extends antlr.Parser {
267
281
  }
268
282
  }
269
283
  }
270
- this.state = 93;
284
+ this.state = 107;
271
285
  this.errorHandler.sync(this);
272
286
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
273
287
  }
274
- this.state = 94;
288
+ this.state = 108;
275
289
  this.sendStatement();
276
- this.state = 98;
290
+ this.state = 112;
277
291
  this.errorHandler.sync(this);
278
292
  _la = this.tokenStream.LA(1);
279
- while (_la === 14) {
293
+ while (_la === 15) {
280
294
  {
281
295
  {
282
- this.state = 95;
296
+ this.state = 109;
283
297
  this.match(plurnkParser.TEXT);
284
298
  }
285
299
  }
286
- this.state = 100;
300
+ this.state = 114;
287
301
  this.errorHandler.sync(this);
288
302
  _la = this.tokenStream.LA(1);
289
303
  }
@@ -310,21 +324,21 @@ export class plurnkParser extends antlr.Parser {
310
324
  try {
311
325
  this.enterOuterAlt(localContext, 1);
312
326
  {
313
- this.state = 104;
327
+ this.state = 118;
314
328
  this.errorHandler.sync(this);
315
329
  _la = this.tokenStream.LA(1);
316
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268304384) !== 0)) {
330
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147221504) !== 0)) {
317
331
  {
318
332
  {
319
- this.state = 101;
333
+ this.state = 115;
320
334
  this.statement();
321
335
  }
322
336
  }
323
- this.state = 106;
337
+ this.state = 120;
324
338
  this.errorHandler.sync(this);
325
339
  _la = this.tokenStream.LA(1);
326
340
  }
327
- this.state = 107;
341
+ this.state = 121;
328
342
  this.match(plurnkParser.EOF);
329
343
  }
330
344
  }
@@ -349,21 +363,21 @@ export class plurnkParser extends antlr.Parser {
349
363
  try {
350
364
  this.enterOuterAlt(localContext, 1);
351
365
  {
352
- this.state = 112;
366
+ this.state = 126;
353
367
  this.errorHandler.sync(this);
354
368
  _la = this.tokenStream.LA(1);
355
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073610752) !== 0)) {
369
+ while (((((_la - 18)) & ~0x1F) === 0 && ((1 << (_la - 18)) & 32767) !== 0)) {
356
370
  {
357
371
  {
358
- this.state = 109;
372
+ this.state = 123;
359
373
  this.clientStatement();
360
374
  }
361
375
  }
362
- this.state = 114;
376
+ this.state = 128;
363
377
  this.errorHandler.sync(this);
364
378
  _la = this.tokenStream.LA(1);
365
379
  }
366
- this.state = 115;
380
+ this.state = 129;
367
381
  this.match(plurnkParser.EOF);
368
382
  }
369
383
  }
@@ -385,7 +399,7 @@ export class plurnkParser extends antlr.Parser {
385
399
  let localContext = new ClientStatementContext(this.context, this.state);
386
400
  this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
387
401
  try {
388
- this.state = 120;
402
+ this.state = 134;
389
403
  this.errorHandler.sync(this);
390
404
  switch (this.tokenStream.LA(1)) {
391
405
  case plurnkParser.OPEN_FIND:
@@ -397,25 +411,27 @@ export class plurnkParser extends antlr.Parser {
397
411
  case plurnkParser.OPEN_FOLD:
398
412
  case plurnkParser.OPEN_SEND:
399
413
  case plurnkParser.OPEN_EXEC:
414
+ case plurnkParser.OPEN_WORK:
415
+ case plurnkParser.OPEN_FORK:
400
416
  case plurnkParser.OPEN_KILL:
401
417
  case plurnkParser.OPEN_PLAN:
402
418
  this.enterOuterAlt(localContext, 1);
403
419
  {
404
- this.state = 117;
420
+ this.state = 131;
405
421
  this.statement();
406
422
  }
407
423
  break;
408
424
  case plurnkParser.OPEN_LOOK:
409
425
  this.enterOuterAlt(localContext, 2);
410
426
  {
411
- this.state = 118;
427
+ this.state = 132;
412
428
  this.lookStatement();
413
429
  }
414
430
  break;
415
431
  case plurnkParser.OPEN_BUFF:
416
432
  this.enterOuterAlt(localContext, 3);
417
433
  {
418
- this.state = 119;
434
+ this.state = 133;
419
435
  this.buffStatement();
420
436
  }
421
437
  break;
@@ -441,88 +457,107 @@ export class plurnkParser extends antlr.Parser {
441
457
  let localContext = new StatementContext(this.context, this.state);
442
458
  this.enterRule(localContext, 14, plurnkParser.RULE_statement);
443
459
  try {
444
- this.state = 133;
460
+ this.state = 150;
445
461
  this.errorHandler.sync(this);
446
- switch (this.tokenStream.LA(1)) {
447
- case plurnkParser.OPEN_FIND:
462
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
463
+ case 1:
448
464
  this.enterOuterAlt(localContext, 1);
449
465
  {
450
- this.state = 122;
466
+ this.state = 136;
451
467
  this.findStatement();
452
468
  }
453
469
  break;
454
- case plurnkParser.OPEN_READ:
470
+ case 2:
455
471
  this.enterOuterAlt(localContext, 2);
456
472
  {
457
- this.state = 123;
473
+ this.state = 137;
458
474
  this.readStatement();
459
475
  }
460
476
  break;
461
- case plurnkParser.OPEN_EDIT:
477
+ case 3:
462
478
  this.enterOuterAlt(localContext, 3);
463
479
  {
464
- this.state = 124;
480
+ this.state = 138;
465
481
  this.editStatement();
466
482
  }
467
483
  break;
468
- case plurnkParser.OPEN_COPY:
484
+ case 4:
469
485
  this.enterOuterAlt(localContext, 4);
470
486
  {
471
- this.state = 125;
487
+ this.state = 139;
472
488
  this.copyStatement();
473
489
  }
474
490
  break;
475
- case plurnkParser.OPEN_MOVE:
491
+ case 5:
476
492
  this.enterOuterAlt(localContext, 5);
477
493
  {
478
- this.state = 126;
494
+ this.state = 140;
479
495
  this.moveStatement();
480
496
  }
481
497
  break;
482
- case plurnkParser.OPEN_OPEN:
498
+ case 6:
483
499
  this.enterOuterAlt(localContext, 6);
484
500
  {
485
- this.state = 127;
501
+ this.state = 141;
486
502
  this.openStatement();
487
503
  }
488
504
  break;
489
- case plurnkParser.OPEN_FOLD:
505
+ case 7:
490
506
  this.enterOuterAlt(localContext, 7);
491
507
  {
492
- this.state = 128;
508
+ this.state = 142;
493
509
  this.foldStatement();
494
510
  }
495
511
  break;
496
- case plurnkParser.OPEN_SEND:
512
+ case 8:
497
513
  this.enterOuterAlt(localContext, 8);
498
514
  {
499
- this.state = 129;
515
+ this.state = 143;
500
516
  this.sendStatement();
501
517
  }
502
518
  break;
503
- case plurnkParser.OPEN_EXEC:
519
+ case 9:
504
520
  this.enterOuterAlt(localContext, 9);
505
521
  {
506
- this.state = 130;
507
- this.execStatement();
522
+ this.state = 144;
523
+ this.midSend();
508
524
  }
509
525
  break;
510
- case plurnkParser.OPEN_KILL:
526
+ case 10:
511
527
  this.enterOuterAlt(localContext, 10);
512
528
  {
513
- this.state = 131;
514
- this.killStatement();
529
+ this.state = 145;
530
+ this.execStatement();
515
531
  }
516
532
  break;
517
- case plurnkParser.OPEN_PLAN:
533
+ case 11:
518
534
  this.enterOuterAlt(localContext, 11);
519
535
  {
520
- this.state = 132;
536
+ this.state = 146;
537
+ this.workStatement();
538
+ }
539
+ break;
540
+ case 12:
541
+ this.enterOuterAlt(localContext, 12);
542
+ {
543
+ this.state = 147;
544
+ this.forkStatement();
545
+ }
546
+ break;
547
+ case 13:
548
+ this.enterOuterAlt(localContext, 13);
549
+ {
550
+ this.state = 148;
551
+ this.killStatement();
552
+ }
553
+ break;
554
+ case 14:
555
+ this.enterOuterAlt(localContext, 14);
556
+ {
557
+ this.state = 149;
521
558
  this.planStatement();
522
559
  }
523
560
  break;
524
- default:
525
- throw new antlr.NoViableAltException(this);
526
561
  }
527
562
  }
528
563
  catch (re) {
@@ -543,76 +578,90 @@ export class plurnkParser extends antlr.Parser {
543
578
  let localContext = new MidStatementContext(this.context, this.state);
544
579
  this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
545
580
  try {
546
- this.state = 145;
581
+ this.state = 164;
547
582
  this.errorHandler.sync(this);
548
583
  switch (this.tokenStream.LA(1)) {
549
584
  case plurnkParser.OPEN_FIND:
550
585
  this.enterOuterAlt(localContext, 1);
551
586
  {
552
- this.state = 135;
587
+ this.state = 152;
553
588
  this.findStatement();
554
589
  }
555
590
  break;
556
591
  case plurnkParser.OPEN_READ:
557
592
  this.enterOuterAlt(localContext, 2);
558
593
  {
559
- this.state = 136;
594
+ this.state = 153;
560
595
  this.readStatement();
561
596
  }
562
597
  break;
563
598
  case plurnkParser.OPEN_EDIT:
564
599
  this.enterOuterAlt(localContext, 3);
565
600
  {
566
- this.state = 137;
601
+ this.state = 154;
567
602
  this.editStatement();
568
603
  }
569
604
  break;
570
605
  case plurnkParser.OPEN_COPY:
571
606
  this.enterOuterAlt(localContext, 4);
572
607
  {
573
- this.state = 138;
608
+ this.state = 155;
574
609
  this.copyStatement();
575
610
  }
576
611
  break;
577
612
  case plurnkParser.OPEN_MOVE:
578
613
  this.enterOuterAlt(localContext, 5);
579
614
  {
580
- this.state = 139;
615
+ this.state = 156;
581
616
  this.moveStatement();
582
617
  }
583
618
  break;
584
619
  case plurnkParser.OPEN_OPEN:
585
620
  this.enterOuterAlt(localContext, 6);
586
621
  {
587
- this.state = 140;
622
+ this.state = 157;
588
623
  this.openStatement();
589
624
  }
590
625
  break;
591
626
  case plurnkParser.OPEN_FOLD:
592
627
  this.enterOuterAlt(localContext, 7);
593
628
  {
594
- this.state = 141;
629
+ this.state = 158;
595
630
  this.foldStatement();
596
631
  }
597
632
  break;
598
633
  case plurnkParser.OPEN_SEND:
599
634
  this.enterOuterAlt(localContext, 8);
600
635
  {
601
- this.state = 142;
602
- this.sendStatement();
636
+ this.state = 159;
637
+ this.midSend();
603
638
  }
604
639
  break;
605
640
  case plurnkParser.OPEN_EXEC:
606
641
  this.enterOuterAlt(localContext, 9);
607
642
  {
608
- this.state = 143;
643
+ this.state = 160;
609
644
  this.execStatement();
610
645
  }
611
646
  break;
612
- case plurnkParser.OPEN_KILL:
647
+ case plurnkParser.OPEN_WORK:
613
648
  this.enterOuterAlt(localContext, 10);
614
649
  {
615
- this.state = 144;
650
+ this.state = 161;
651
+ this.workStatement();
652
+ }
653
+ break;
654
+ case plurnkParser.OPEN_FORK:
655
+ this.enterOuterAlt(localContext, 11);
656
+ {
657
+ this.state = 162;
658
+ this.forkStatement();
659
+ }
660
+ break;
661
+ case plurnkParser.OPEN_KILL:
662
+ this.enterOuterAlt(localContext, 12);
663
+ {
664
+ this.state = 163;
616
665
  this.killStatement();
617
666
  }
618
667
  break;
@@ -641,36 +690,36 @@ export class plurnkParser extends antlr.Parser {
641
690
  try {
642
691
  this.enterOuterAlt(localContext, 1);
643
692
  {
644
- this.state = 147;
693
+ this.state = 166;
645
694
  this.match(plurnkParser.OPEN_FIND);
646
- this.state = 149;
695
+ this.state = 168;
647
696
  this.errorHandler.sync(this);
648
697
  _la = this.tokenStream.LA(1);
649
698
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
650
699
  {
651
- this.state = 148;
700
+ this.state = 167;
652
701
  this.tagOpModifiers();
653
702
  }
654
703
  }
655
- this.state = 152;
704
+ this.state = 171;
656
705
  this.errorHandler.sync(this);
657
706
  _la = this.tokenStream.LA(1);
658
707
  if (_la === 6) {
659
708
  {
660
- this.state = 151;
709
+ this.state = 170;
661
710
  this.match(plurnkParser.COLON);
662
711
  }
663
712
  }
664
- this.state = 155;
713
+ this.state = 174;
665
714
  this.errorHandler.sync(this);
666
715
  _la = this.tokenStream.LA(1);
667
- if (_la === 12) {
716
+ if (_la === 13) {
668
717
  {
669
- this.state = 154;
718
+ this.state = 173;
670
719
  this.body();
671
720
  }
672
721
  }
673
- this.state = 157;
722
+ this.state = 176;
674
723
  this.match(plurnkParser.CLOSE_TAG);
675
724
  }
676
725
  }
@@ -695,36 +744,36 @@ export class plurnkParser extends antlr.Parser {
695
744
  try {
696
745
  this.enterOuterAlt(localContext, 1);
697
746
  {
698
- this.state = 159;
747
+ this.state = 178;
699
748
  this.match(plurnkParser.OPEN_READ);
700
- this.state = 161;
749
+ this.state = 180;
701
750
  this.errorHandler.sync(this);
702
751
  _la = this.tokenStream.LA(1);
703
752
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
704
753
  {
705
- this.state = 160;
754
+ this.state = 179;
706
755
  this.tagOpModifiers();
707
756
  }
708
757
  }
709
- this.state = 164;
758
+ this.state = 183;
710
759
  this.errorHandler.sync(this);
711
760
  _la = this.tokenStream.LA(1);
712
761
  if (_la === 6) {
713
762
  {
714
- this.state = 163;
763
+ this.state = 182;
715
764
  this.match(plurnkParser.COLON);
716
765
  }
717
766
  }
718
- this.state = 167;
767
+ this.state = 186;
719
768
  this.errorHandler.sync(this);
720
769
  _la = this.tokenStream.LA(1);
721
- if (_la === 12) {
770
+ if (_la === 13) {
722
771
  {
723
- this.state = 166;
772
+ this.state = 185;
724
773
  this.body();
725
774
  }
726
775
  }
727
- this.state = 169;
776
+ this.state = 188;
728
777
  this.match(plurnkParser.CLOSE_TAG);
729
778
  }
730
779
  }
@@ -749,36 +798,36 @@ export class plurnkParser extends antlr.Parser {
749
798
  try {
750
799
  this.enterOuterAlt(localContext, 1);
751
800
  {
752
- this.state = 171;
801
+ this.state = 190;
753
802
  this.match(plurnkParser.OPEN_EDIT);
754
- this.state = 173;
803
+ this.state = 192;
755
804
  this.errorHandler.sync(this);
756
805
  _la = this.tokenStream.LA(1);
757
806
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
758
807
  {
759
- this.state = 172;
808
+ this.state = 191;
760
809
  this.tagOpModifiers();
761
810
  }
762
811
  }
763
- this.state = 176;
812
+ this.state = 195;
764
813
  this.errorHandler.sync(this);
765
814
  _la = this.tokenStream.LA(1);
766
815
  if (_la === 6) {
767
816
  {
768
- this.state = 175;
817
+ this.state = 194;
769
818
  this.match(plurnkParser.COLON);
770
819
  }
771
820
  }
772
- this.state = 179;
821
+ this.state = 198;
773
822
  this.errorHandler.sync(this);
774
823
  _la = this.tokenStream.LA(1);
775
- if (_la === 12) {
824
+ if (_la === 13) {
776
825
  {
777
- this.state = 178;
826
+ this.state = 197;
778
827
  this.body();
779
828
  }
780
829
  }
781
- this.state = 181;
830
+ this.state = 200;
782
831
  this.match(plurnkParser.CLOSE_TAG);
783
832
  }
784
833
  }
@@ -803,36 +852,36 @@ export class plurnkParser extends antlr.Parser {
803
852
  try {
804
853
  this.enterOuterAlt(localContext, 1);
805
854
  {
806
- this.state = 183;
855
+ this.state = 202;
807
856
  this.match(plurnkParser.OPEN_COPY);
808
- this.state = 185;
857
+ this.state = 204;
809
858
  this.errorHandler.sync(this);
810
859
  _la = this.tokenStream.LA(1);
811
860
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
812
861
  {
813
- this.state = 184;
862
+ this.state = 203;
814
863
  this.tagOpModifiers();
815
864
  }
816
865
  }
817
- this.state = 188;
866
+ this.state = 207;
818
867
  this.errorHandler.sync(this);
819
868
  _la = this.tokenStream.LA(1);
820
869
  if (_la === 6) {
821
870
  {
822
- this.state = 187;
871
+ this.state = 206;
823
872
  this.match(plurnkParser.COLON);
824
873
  }
825
874
  }
826
- this.state = 191;
875
+ this.state = 210;
827
876
  this.errorHandler.sync(this);
828
877
  _la = this.tokenStream.LA(1);
829
- if (_la === 12) {
878
+ if (_la === 13) {
830
879
  {
831
- this.state = 190;
880
+ this.state = 209;
832
881
  this.body();
833
882
  }
834
883
  }
835
- this.state = 193;
884
+ this.state = 212;
836
885
  this.match(plurnkParser.CLOSE_TAG);
837
886
  }
838
887
  }
@@ -857,36 +906,36 @@ export class plurnkParser extends antlr.Parser {
857
906
  try {
858
907
  this.enterOuterAlt(localContext, 1);
859
908
  {
860
- this.state = 195;
909
+ this.state = 214;
861
910
  this.match(plurnkParser.OPEN_MOVE);
862
- this.state = 197;
911
+ this.state = 216;
863
912
  this.errorHandler.sync(this);
864
913
  _la = this.tokenStream.LA(1);
865
914
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
866
915
  {
867
- this.state = 196;
916
+ this.state = 215;
868
917
  this.tagOpModifiers();
869
918
  }
870
919
  }
871
- this.state = 200;
920
+ this.state = 219;
872
921
  this.errorHandler.sync(this);
873
922
  _la = this.tokenStream.LA(1);
874
923
  if (_la === 6) {
875
924
  {
876
- this.state = 199;
925
+ this.state = 218;
877
926
  this.match(plurnkParser.COLON);
878
927
  }
879
928
  }
880
- this.state = 203;
929
+ this.state = 222;
881
930
  this.errorHandler.sync(this);
882
931
  _la = this.tokenStream.LA(1);
883
- if (_la === 12) {
932
+ if (_la === 13) {
884
933
  {
885
- this.state = 202;
934
+ this.state = 221;
886
935
  this.body();
887
936
  }
888
937
  }
889
- this.state = 205;
938
+ this.state = 224;
890
939
  this.match(plurnkParser.CLOSE_TAG);
891
940
  }
892
941
  }
@@ -911,36 +960,36 @@ export class plurnkParser extends antlr.Parser {
911
960
  try {
912
961
  this.enterOuterAlt(localContext, 1);
913
962
  {
914
- this.state = 207;
963
+ this.state = 226;
915
964
  this.match(plurnkParser.OPEN_OPEN);
916
- this.state = 209;
965
+ this.state = 228;
917
966
  this.errorHandler.sync(this);
918
967
  _la = this.tokenStream.LA(1);
919
968
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
920
969
  {
921
- this.state = 208;
970
+ this.state = 227;
922
971
  this.tagOpModifiers();
923
972
  }
924
973
  }
925
- this.state = 212;
974
+ this.state = 231;
926
975
  this.errorHandler.sync(this);
927
976
  _la = this.tokenStream.LA(1);
928
977
  if (_la === 6) {
929
978
  {
930
- this.state = 211;
979
+ this.state = 230;
931
980
  this.match(plurnkParser.COLON);
932
981
  }
933
982
  }
934
- this.state = 215;
983
+ this.state = 234;
935
984
  this.errorHandler.sync(this);
936
985
  _la = this.tokenStream.LA(1);
937
- if (_la === 12) {
986
+ if (_la === 13) {
938
987
  {
939
- this.state = 214;
988
+ this.state = 233;
940
989
  this.body();
941
990
  }
942
991
  }
943
- this.state = 217;
992
+ this.state = 236;
944
993
  this.match(plurnkParser.CLOSE_TAG);
945
994
  }
946
995
  }
@@ -965,36 +1014,36 @@ export class plurnkParser extends antlr.Parser {
965
1014
  try {
966
1015
  this.enterOuterAlt(localContext, 1);
967
1016
  {
968
- this.state = 219;
1017
+ this.state = 238;
969
1018
  this.match(plurnkParser.OPEN_FOLD);
970
- this.state = 221;
1019
+ this.state = 240;
971
1020
  this.errorHandler.sync(this);
972
1021
  _la = this.tokenStream.LA(1);
973
1022
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
974
1023
  {
975
- this.state = 220;
1024
+ this.state = 239;
976
1025
  this.tagOpModifiers();
977
1026
  }
978
1027
  }
979
- this.state = 224;
1028
+ this.state = 243;
980
1029
  this.errorHandler.sync(this);
981
1030
  _la = this.tokenStream.LA(1);
982
1031
  if (_la === 6) {
983
1032
  {
984
- this.state = 223;
1033
+ this.state = 242;
985
1034
  this.match(plurnkParser.COLON);
986
1035
  }
987
1036
  }
988
- this.state = 227;
1037
+ this.state = 246;
989
1038
  this.errorHandler.sync(this);
990
1039
  _la = this.tokenStream.LA(1);
991
- if (_la === 12) {
1040
+ if (_la === 13) {
992
1041
  {
993
- this.state = 226;
1042
+ this.state = 245;
994
1043
  this.body();
995
1044
  }
996
1045
  }
997
- this.state = 229;
1046
+ this.state = 248;
998
1047
  this.match(plurnkParser.CLOSE_TAG);
999
1048
  }
1000
1049
  }
@@ -1019,36 +1068,83 @@ export class plurnkParser extends antlr.Parser {
1019
1068
  try {
1020
1069
  this.enterOuterAlt(localContext, 1);
1021
1070
  {
1022
- this.state = 231;
1071
+ this.state = 250;
1023
1072
  this.match(plurnkParser.OPEN_SEND);
1024
- this.state = 233;
1073
+ this.state = 251;
1074
+ this.termModifiers();
1075
+ this.state = 253;
1076
+ this.errorHandler.sync(this);
1077
+ _la = this.tokenStream.LA(1);
1078
+ if (_la === 6) {
1079
+ {
1080
+ this.state = 252;
1081
+ this.match(plurnkParser.COLON);
1082
+ }
1083
+ }
1084
+ this.state = 256;
1085
+ this.errorHandler.sync(this);
1086
+ _la = this.tokenStream.LA(1);
1087
+ if (_la === 13) {
1088
+ {
1089
+ this.state = 255;
1090
+ this.body();
1091
+ }
1092
+ }
1093
+ this.state = 258;
1094
+ this.match(plurnkParser.CLOSE_TAG);
1095
+ }
1096
+ }
1097
+ catch (re) {
1098
+ if (re instanceof antlr.RecognitionException) {
1099
+ this.errorHandler.reportError(this, re);
1100
+ this.errorHandler.recover(this, re);
1101
+ }
1102
+ else {
1103
+ throw re;
1104
+ }
1105
+ }
1106
+ finally {
1107
+ this.exitRule();
1108
+ }
1109
+ return localContext;
1110
+ }
1111
+ midSend() {
1112
+ let localContext = new MidSendContext(this.context, this.state);
1113
+ this.enterRule(localContext, 34, plurnkParser.RULE_midSend);
1114
+ let _la;
1115
+ try {
1116
+ this.enterOuterAlt(localContext, 1);
1117
+ {
1118
+ this.state = 260;
1119
+ this.match(plurnkParser.OPEN_SEND);
1120
+ this.state = 262;
1025
1121
  this.errorHandler.sync(this);
1026
1122
  _la = this.tokenStream.LA(1);
1027
1123
  if (_la === 1 || _la === 3) {
1028
1124
  {
1029
- this.state = 232;
1030
- this.intOpModifiers();
1125
+ this.state = 261;
1126
+ this.midModifiers();
1031
1127
  }
1032
1128
  }
1033
- this.state = 236;
1129
+ this.state = 265;
1034
1130
  this.errorHandler.sync(this);
1035
1131
  _la = this.tokenStream.LA(1);
1036
1132
  if (_la === 6) {
1037
1133
  {
1038
- this.state = 235;
1134
+ this.state = 264;
1039
1135
  this.match(plurnkParser.COLON);
1040
1136
  }
1041
1137
  }
1042
- this.state = 239;
1138
+ this.state = 268;
1043
1139
  this.errorHandler.sync(this);
1044
1140
  _la = this.tokenStream.LA(1);
1045
- if (_la === 12) {
1141
+ if (_la === 13) {
1046
1142
  {
1047
- this.state = 238;
1143
+ this.state = 267;
1048
1144
  this.body();
1049
1145
  }
1050
1146
  }
1051
- this.state = 241;
1147
+ this.state = 270;
1052
1148
  this.match(plurnkParser.CLOSE_TAG);
1053
1149
  }
1054
1150
  }
@@ -1068,41 +1164,149 @@ export class plurnkParser extends antlr.Parser {
1068
1164
  }
1069
1165
  execStatement() {
1070
1166
  let localContext = new ExecStatementContext(this.context, this.state);
1071
- this.enterRule(localContext, 34, plurnkParser.RULE_execStatement);
1167
+ this.enterRule(localContext, 36, plurnkParser.RULE_execStatement);
1072
1168
  let _la;
1073
1169
  try {
1074
1170
  this.enterOuterAlt(localContext, 1);
1075
1171
  {
1076
- this.state = 243;
1172
+ this.state = 272;
1077
1173
  this.match(plurnkParser.OPEN_EXEC);
1078
- this.state = 245;
1174
+ this.state = 274;
1079
1175
  this.errorHandler.sync(this);
1080
1176
  _la = this.tokenStream.LA(1);
1081
1177
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1082
1178
  {
1083
- this.state = 244;
1179
+ this.state = 273;
1084
1180
  this.execModifiers();
1085
1181
  }
1086
1182
  }
1087
- this.state = 248;
1183
+ this.state = 277;
1088
1184
  this.errorHandler.sync(this);
1089
1185
  _la = this.tokenStream.LA(1);
1090
1186
  if (_la === 6) {
1091
1187
  {
1092
- this.state = 247;
1188
+ this.state = 276;
1093
1189
  this.match(plurnkParser.COLON);
1094
1190
  }
1095
1191
  }
1096
- this.state = 251;
1192
+ this.state = 280;
1097
1193
  this.errorHandler.sync(this);
1098
1194
  _la = this.tokenStream.LA(1);
1099
- if (_la === 12) {
1195
+ if (_la === 13) {
1100
1196
  {
1101
- this.state = 250;
1197
+ this.state = 279;
1102
1198
  this.body();
1103
1199
  }
1104
1200
  }
1105
- this.state = 253;
1201
+ this.state = 282;
1202
+ this.match(plurnkParser.CLOSE_TAG);
1203
+ }
1204
+ }
1205
+ catch (re) {
1206
+ if (re instanceof antlr.RecognitionException) {
1207
+ this.errorHandler.reportError(this, re);
1208
+ this.errorHandler.recover(this, re);
1209
+ }
1210
+ else {
1211
+ throw re;
1212
+ }
1213
+ }
1214
+ finally {
1215
+ this.exitRule();
1216
+ }
1217
+ return localContext;
1218
+ }
1219
+ workStatement() {
1220
+ let localContext = new WorkStatementContext(this.context, this.state);
1221
+ this.enterRule(localContext, 38, plurnkParser.RULE_workStatement);
1222
+ let _la;
1223
+ try {
1224
+ this.enterOuterAlt(localContext, 1);
1225
+ {
1226
+ this.state = 284;
1227
+ this.match(plurnkParser.OPEN_WORK);
1228
+ this.state = 286;
1229
+ this.errorHandler.sync(this);
1230
+ _la = this.tokenStream.LA(1);
1231
+ if (_la === 3) {
1232
+ {
1233
+ this.state = 285;
1234
+ this.target();
1235
+ }
1236
+ }
1237
+ this.state = 289;
1238
+ this.errorHandler.sync(this);
1239
+ _la = this.tokenStream.LA(1);
1240
+ if (_la === 6) {
1241
+ {
1242
+ this.state = 288;
1243
+ this.match(plurnkParser.COLON);
1244
+ }
1245
+ }
1246
+ this.state = 292;
1247
+ this.errorHandler.sync(this);
1248
+ _la = this.tokenStream.LA(1);
1249
+ if (_la === 13) {
1250
+ {
1251
+ this.state = 291;
1252
+ this.body();
1253
+ }
1254
+ }
1255
+ this.state = 294;
1256
+ this.match(plurnkParser.CLOSE_TAG);
1257
+ }
1258
+ }
1259
+ catch (re) {
1260
+ if (re instanceof antlr.RecognitionException) {
1261
+ this.errorHandler.reportError(this, re);
1262
+ this.errorHandler.recover(this, re);
1263
+ }
1264
+ else {
1265
+ throw re;
1266
+ }
1267
+ }
1268
+ finally {
1269
+ this.exitRule();
1270
+ }
1271
+ return localContext;
1272
+ }
1273
+ forkStatement() {
1274
+ let localContext = new ForkStatementContext(this.context, this.state);
1275
+ this.enterRule(localContext, 40, plurnkParser.RULE_forkStatement);
1276
+ let _la;
1277
+ try {
1278
+ this.enterOuterAlt(localContext, 1);
1279
+ {
1280
+ this.state = 296;
1281
+ this.match(plurnkParser.OPEN_FORK);
1282
+ this.state = 298;
1283
+ this.errorHandler.sync(this);
1284
+ _la = this.tokenStream.LA(1);
1285
+ if (_la === 3) {
1286
+ {
1287
+ this.state = 297;
1288
+ this.target();
1289
+ }
1290
+ }
1291
+ this.state = 301;
1292
+ this.errorHandler.sync(this);
1293
+ _la = this.tokenStream.LA(1);
1294
+ if (_la === 6) {
1295
+ {
1296
+ this.state = 300;
1297
+ this.match(plurnkParser.COLON);
1298
+ }
1299
+ }
1300
+ this.state = 304;
1301
+ this.errorHandler.sync(this);
1302
+ _la = this.tokenStream.LA(1);
1303
+ if (_la === 13) {
1304
+ {
1305
+ this.state = 303;
1306
+ this.body();
1307
+ }
1308
+ }
1309
+ this.state = 306;
1106
1310
  this.match(plurnkParser.CLOSE_TAG);
1107
1311
  }
1108
1312
  }
@@ -1122,41 +1326,41 @@ export class plurnkParser extends antlr.Parser {
1122
1326
  }
1123
1327
  killStatement() {
1124
1328
  let localContext = new KillStatementContext(this.context, this.state);
1125
- this.enterRule(localContext, 36, plurnkParser.RULE_killStatement);
1329
+ this.enterRule(localContext, 42, plurnkParser.RULE_killStatement);
1126
1330
  let _la;
1127
1331
  try {
1128
1332
  this.enterOuterAlt(localContext, 1);
1129
1333
  {
1130
- this.state = 255;
1334
+ this.state = 308;
1131
1335
  this.match(plurnkParser.OPEN_KILL);
1132
- this.state = 257;
1336
+ this.state = 310;
1133
1337
  this.errorHandler.sync(this);
1134
1338
  _la = this.tokenStream.LA(1);
1135
1339
  if (_la === 1 || _la === 3) {
1136
1340
  {
1137
- this.state = 256;
1341
+ this.state = 309;
1138
1342
  this.intOpModifiers();
1139
1343
  }
1140
1344
  }
1141
- this.state = 260;
1345
+ this.state = 313;
1142
1346
  this.errorHandler.sync(this);
1143
1347
  _la = this.tokenStream.LA(1);
1144
1348
  if (_la === 6) {
1145
1349
  {
1146
- this.state = 259;
1350
+ this.state = 312;
1147
1351
  this.match(plurnkParser.COLON);
1148
1352
  }
1149
1353
  }
1150
- this.state = 263;
1354
+ this.state = 316;
1151
1355
  this.errorHandler.sync(this);
1152
1356
  _la = this.tokenStream.LA(1);
1153
- if (_la === 12) {
1357
+ if (_la === 13) {
1154
1358
  {
1155
- this.state = 262;
1359
+ this.state = 315;
1156
1360
  this.body();
1157
1361
  }
1158
1362
  }
1159
- this.state = 265;
1363
+ this.state = 318;
1160
1364
  this.match(plurnkParser.CLOSE_TAG);
1161
1365
  }
1162
1366
  }
@@ -1176,41 +1380,41 @@ export class plurnkParser extends antlr.Parser {
1176
1380
  }
1177
1381
  planStatement() {
1178
1382
  let localContext = new PlanStatementContext(this.context, this.state);
1179
- this.enterRule(localContext, 38, plurnkParser.RULE_planStatement);
1383
+ this.enterRule(localContext, 44, plurnkParser.RULE_planStatement);
1180
1384
  let _la;
1181
1385
  try {
1182
1386
  this.enterOuterAlt(localContext, 1);
1183
1387
  {
1184
- this.state = 267;
1388
+ this.state = 320;
1185
1389
  this.match(plurnkParser.OPEN_PLAN);
1186
- this.state = 269;
1390
+ this.state = 322;
1187
1391
  this.errorHandler.sync(this);
1188
1392
  _la = this.tokenStream.LA(1);
1189
1393
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1190
1394
  {
1191
- this.state = 268;
1395
+ this.state = 321;
1192
1396
  this.tagOpModifiers();
1193
1397
  }
1194
1398
  }
1195
- this.state = 272;
1399
+ this.state = 325;
1196
1400
  this.errorHandler.sync(this);
1197
1401
  _la = this.tokenStream.LA(1);
1198
1402
  if (_la === 6) {
1199
1403
  {
1200
- this.state = 271;
1404
+ this.state = 324;
1201
1405
  this.match(plurnkParser.COLON);
1202
1406
  }
1203
1407
  }
1204
- this.state = 275;
1408
+ this.state = 328;
1205
1409
  this.errorHandler.sync(this);
1206
1410
  _la = this.tokenStream.LA(1);
1207
- if (_la === 12) {
1411
+ if (_la === 13) {
1208
1412
  {
1209
- this.state = 274;
1413
+ this.state = 327;
1210
1414
  this.body();
1211
1415
  }
1212
1416
  }
1213
- this.state = 277;
1417
+ this.state = 330;
1214
1418
  this.match(plurnkParser.CLOSE_TAG);
1215
1419
  }
1216
1420
  }
@@ -1230,41 +1434,41 @@ export class plurnkParser extends antlr.Parser {
1230
1434
  }
1231
1435
  lookStatement() {
1232
1436
  let localContext = new LookStatementContext(this.context, this.state);
1233
- this.enterRule(localContext, 40, plurnkParser.RULE_lookStatement);
1437
+ this.enterRule(localContext, 46, plurnkParser.RULE_lookStatement);
1234
1438
  let _la;
1235
1439
  try {
1236
1440
  this.enterOuterAlt(localContext, 1);
1237
1441
  {
1238
- this.state = 279;
1442
+ this.state = 332;
1239
1443
  this.match(plurnkParser.OPEN_LOOK);
1240
- this.state = 281;
1444
+ this.state = 334;
1241
1445
  this.errorHandler.sync(this);
1242
1446
  _la = this.tokenStream.LA(1);
1243
1447
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1244
1448
  {
1245
- this.state = 280;
1449
+ this.state = 333;
1246
1450
  this.tagOpModifiers();
1247
1451
  }
1248
1452
  }
1249
- this.state = 284;
1453
+ this.state = 337;
1250
1454
  this.errorHandler.sync(this);
1251
1455
  _la = this.tokenStream.LA(1);
1252
1456
  if (_la === 6) {
1253
1457
  {
1254
- this.state = 283;
1458
+ this.state = 336;
1255
1459
  this.match(plurnkParser.COLON);
1256
1460
  }
1257
1461
  }
1258
- this.state = 287;
1462
+ this.state = 340;
1259
1463
  this.errorHandler.sync(this);
1260
1464
  _la = this.tokenStream.LA(1);
1261
- if (_la === 12) {
1465
+ if (_la === 13) {
1262
1466
  {
1263
- this.state = 286;
1467
+ this.state = 339;
1264
1468
  this.body();
1265
1469
  }
1266
1470
  }
1267
- this.state = 289;
1471
+ this.state = 342;
1268
1472
  this.match(plurnkParser.CLOSE_TAG);
1269
1473
  }
1270
1474
  }
@@ -1284,41 +1488,41 @@ export class plurnkParser extends antlr.Parser {
1284
1488
  }
1285
1489
  buffStatement() {
1286
1490
  let localContext = new BuffStatementContext(this.context, this.state);
1287
- this.enterRule(localContext, 42, plurnkParser.RULE_buffStatement);
1491
+ this.enterRule(localContext, 48, plurnkParser.RULE_buffStatement);
1288
1492
  let _la;
1289
1493
  try {
1290
1494
  this.enterOuterAlt(localContext, 1);
1291
1495
  {
1292
- this.state = 291;
1496
+ this.state = 344;
1293
1497
  this.match(plurnkParser.OPEN_BUFF);
1294
- this.state = 293;
1498
+ this.state = 346;
1295
1499
  this.errorHandler.sync(this);
1296
1500
  _la = this.tokenStream.LA(1);
1297
1501
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1298
1502
  {
1299
- this.state = 292;
1503
+ this.state = 345;
1300
1504
  this.tagOpModifiers();
1301
1505
  }
1302
1506
  }
1303
- this.state = 296;
1507
+ this.state = 349;
1304
1508
  this.errorHandler.sync(this);
1305
1509
  _la = this.tokenStream.LA(1);
1306
1510
  if (_la === 6) {
1307
1511
  {
1308
- this.state = 295;
1512
+ this.state = 348;
1309
1513
  this.match(plurnkParser.COLON);
1310
1514
  }
1311
1515
  }
1312
- this.state = 299;
1516
+ this.state = 352;
1313
1517
  this.errorHandler.sync(this);
1314
1518
  _la = this.tokenStream.LA(1);
1315
- if (_la === 12) {
1519
+ if (_la === 13) {
1316
1520
  {
1317
- this.state = 298;
1521
+ this.state = 351;
1318
1522
  this.body();
1319
1523
  }
1320
1524
  }
1321
- this.state = 301;
1525
+ this.state = 354;
1322
1526
  this.match(plurnkParser.CLOSE_TAG);
1323
1527
  }
1324
1528
  }
@@ -1338,30 +1542,30 @@ export class plurnkParser extends antlr.Parser {
1338
1542
  }
1339
1543
  tagOpModifiers() {
1340
1544
  let localContext = new TagOpModifiersContext(this.context, this.state);
1341
- this.enterRule(localContext, 44, plurnkParser.RULE_tagOpModifiers);
1545
+ this.enterRule(localContext, 50, plurnkParser.RULE_tagOpModifiers);
1342
1546
  let _la;
1343
1547
  try {
1344
- this.state = 336;
1548
+ this.state = 389;
1345
1549
  this.errorHandler.sync(this);
1346
1550
  switch (this.tokenStream.LA(1)) {
1347
1551
  case plurnkParser.LBRACKET:
1348
1552
  this.enterOuterAlt(localContext, 1);
1349
1553
  {
1350
- this.state = 303;
1554
+ this.state = 356;
1351
1555
  this.tagSignal();
1352
- this.state = 312;
1556
+ this.state = 365;
1353
1557
  this.errorHandler.sync(this);
1354
1558
  switch (this.tokenStream.LA(1)) {
1355
1559
  case plurnkParser.LPAREN:
1356
1560
  {
1357
- this.state = 304;
1561
+ this.state = 357;
1358
1562
  this.target();
1359
- this.state = 306;
1563
+ this.state = 359;
1360
1564
  this.errorHandler.sync(this);
1361
1565
  _la = this.tokenStream.LA(1);
1362
1566
  if (_la === 5) {
1363
1567
  {
1364
- this.state = 305;
1568
+ this.state = 358;
1365
1569
  this.lineMarker();
1366
1570
  }
1367
1571
  }
@@ -1369,14 +1573,14 @@ export class plurnkParser extends antlr.Parser {
1369
1573
  break;
1370
1574
  case plurnkParser.L_MARKER:
1371
1575
  {
1372
- this.state = 308;
1576
+ this.state = 361;
1373
1577
  this.lineMarker();
1374
- this.state = 310;
1578
+ this.state = 363;
1375
1579
  this.errorHandler.sync(this);
1376
1580
  _la = this.tokenStream.LA(1);
1377
1581
  if (_la === 3) {
1378
1582
  {
1379
- this.state = 309;
1583
+ this.state = 362;
1380
1584
  this.target();
1381
1585
  }
1382
1586
  }
@@ -1394,21 +1598,21 @@ export class plurnkParser extends antlr.Parser {
1394
1598
  case plurnkParser.LPAREN:
1395
1599
  this.enterOuterAlt(localContext, 2);
1396
1600
  {
1397
- this.state = 314;
1601
+ this.state = 367;
1398
1602
  this.target();
1399
- this.state = 323;
1603
+ this.state = 376;
1400
1604
  this.errorHandler.sync(this);
1401
1605
  switch (this.tokenStream.LA(1)) {
1402
1606
  case plurnkParser.LBRACKET:
1403
1607
  {
1404
- this.state = 315;
1608
+ this.state = 368;
1405
1609
  this.tagSignal();
1406
- this.state = 317;
1610
+ this.state = 370;
1407
1611
  this.errorHandler.sync(this);
1408
1612
  _la = this.tokenStream.LA(1);
1409
1613
  if (_la === 5) {
1410
1614
  {
1411
- this.state = 316;
1615
+ this.state = 369;
1412
1616
  this.lineMarker();
1413
1617
  }
1414
1618
  }
@@ -1416,14 +1620,14 @@ export class plurnkParser extends antlr.Parser {
1416
1620
  break;
1417
1621
  case plurnkParser.L_MARKER:
1418
1622
  {
1419
- this.state = 319;
1623
+ this.state = 372;
1420
1624
  this.lineMarker();
1421
- this.state = 321;
1625
+ this.state = 374;
1422
1626
  this.errorHandler.sync(this);
1423
1627
  _la = this.tokenStream.LA(1);
1424
1628
  if (_la === 1) {
1425
1629
  {
1426
- this.state = 320;
1630
+ this.state = 373;
1427
1631
  this.tagSignal();
1428
1632
  }
1429
1633
  }
@@ -1441,21 +1645,21 @@ export class plurnkParser extends antlr.Parser {
1441
1645
  case plurnkParser.L_MARKER:
1442
1646
  this.enterOuterAlt(localContext, 3);
1443
1647
  {
1444
- this.state = 325;
1648
+ this.state = 378;
1445
1649
  this.lineMarker();
1446
- this.state = 334;
1650
+ this.state = 387;
1447
1651
  this.errorHandler.sync(this);
1448
1652
  switch (this.tokenStream.LA(1)) {
1449
1653
  case plurnkParser.LBRACKET:
1450
1654
  {
1451
- this.state = 326;
1655
+ this.state = 379;
1452
1656
  this.tagSignal();
1453
- this.state = 328;
1657
+ this.state = 381;
1454
1658
  this.errorHandler.sync(this);
1455
1659
  _la = this.tokenStream.LA(1);
1456
1660
  if (_la === 3) {
1457
1661
  {
1458
- this.state = 327;
1662
+ this.state = 380;
1459
1663
  this.target();
1460
1664
  }
1461
1665
  }
@@ -1463,14 +1667,14 @@ export class plurnkParser extends antlr.Parser {
1463
1667
  break;
1464
1668
  case plurnkParser.LPAREN:
1465
1669
  {
1466
- this.state = 330;
1670
+ this.state = 383;
1467
1671
  this.target();
1468
- this.state = 332;
1672
+ this.state = 385;
1469
1673
  this.errorHandler.sync(this);
1470
1674
  _la = this.tokenStream.LA(1);
1471
1675
  if (_la === 1) {
1472
1676
  {
1473
- this.state = 331;
1677
+ this.state = 384;
1474
1678
  this.tagSignal();
1475
1679
  }
1476
1680
  }
@@ -1503,25 +1707,134 @@ export class plurnkParser extends antlr.Parser {
1503
1707
  }
1504
1708
  return localContext;
1505
1709
  }
1506
- intOpModifiers() {
1507
- let localContext = new IntOpModifiersContext(this.context, this.state);
1508
- this.enterRule(localContext, 46, plurnkParser.RULE_intOpModifiers);
1710
+ intOpModifiers() {
1711
+ let localContext = new IntOpModifiersContext(this.context, this.state);
1712
+ this.enterRule(localContext, 52, plurnkParser.RULE_intOpModifiers);
1713
+ let _la;
1714
+ try {
1715
+ this.state = 399;
1716
+ this.errorHandler.sync(this);
1717
+ switch (this.tokenStream.LA(1)) {
1718
+ case plurnkParser.LBRACKET:
1719
+ this.enterOuterAlt(localContext, 1);
1720
+ {
1721
+ this.state = 391;
1722
+ this.intSignal();
1723
+ this.state = 393;
1724
+ this.errorHandler.sync(this);
1725
+ _la = this.tokenStream.LA(1);
1726
+ if (_la === 3) {
1727
+ {
1728
+ this.state = 392;
1729
+ this.target();
1730
+ }
1731
+ }
1732
+ }
1733
+ break;
1734
+ case plurnkParser.LPAREN:
1735
+ this.enterOuterAlt(localContext, 2);
1736
+ {
1737
+ this.state = 395;
1738
+ this.target();
1739
+ this.state = 397;
1740
+ this.errorHandler.sync(this);
1741
+ _la = this.tokenStream.LA(1);
1742
+ if (_la === 1) {
1743
+ {
1744
+ this.state = 396;
1745
+ this.intSignal();
1746
+ }
1747
+ }
1748
+ }
1749
+ break;
1750
+ default:
1751
+ throw new antlr.NoViableAltException(this);
1752
+ }
1753
+ }
1754
+ catch (re) {
1755
+ if (re instanceof antlr.RecognitionException) {
1756
+ this.errorHandler.reportError(this, re);
1757
+ this.errorHandler.recover(this, re);
1758
+ }
1759
+ else {
1760
+ throw re;
1761
+ }
1762
+ }
1763
+ finally {
1764
+ this.exitRule();
1765
+ }
1766
+ return localContext;
1767
+ }
1768
+ termModifiers() {
1769
+ let localContext = new TermModifiersContext(this.context, this.state);
1770
+ this.enterRule(localContext, 54, plurnkParser.RULE_termModifiers);
1771
+ let _la;
1772
+ try {
1773
+ this.state = 408;
1774
+ this.errorHandler.sync(this);
1775
+ switch (this.tokenStream.LA(1)) {
1776
+ case plurnkParser.LBRACKET:
1777
+ this.enterOuterAlt(localContext, 1);
1778
+ {
1779
+ this.state = 401;
1780
+ this.dispSignal();
1781
+ this.state = 403;
1782
+ this.errorHandler.sync(this);
1783
+ _la = this.tokenStream.LA(1);
1784
+ if (_la === 3) {
1785
+ {
1786
+ this.state = 402;
1787
+ this.target();
1788
+ }
1789
+ }
1790
+ }
1791
+ break;
1792
+ case plurnkParser.LPAREN:
1793
+ this.enterOuterAlt(localContext, 2);
1794
+ {
1795
+ this.state = 405;
1796
+ this.target();
1797
+ this.state = 406;
1798
+ this.dispSignal();
1799
+ }
1800
+ break;
1801
+ default:
1802
+ throw new antlr.NoViableAltException(this);
1803
+ }
1804
+ }
1805
+ catch (re) {
1806
+ if (re instanceof antlr.RecognitionException) {
1807
+ this.errorHandler.reportError(this, re);
1808
+ this.errorHandler.recover(this, re);
1809
+ }
1810
+ else {
1811
+ throw re;
1812
+ }
1813
+ }
1814
+ finally {
1815
+ this.exitRule();
1816
+ }
1817
+ return localContext;
1818
+ }
1819
+ midModifiers() {
1820
+ let localContext = new MidModifiersContext(this.context, this.state);
1821
+ this.enterRule(localContext, 56, plurnkParser.RULE_midModifiers);
1509
1822
  let _la;
1510
1823
  try {
1511
- this.state = 346;
1824
+ this.state = 418;
1512
1825
  this.errorHandler.sync(this);
1513
1826
  switch (this.tokenStream.LA(1)) {
1514
1827
  case plurnkParser.LBRACKET:
1515
1828
  this.enterOuterAlt(localContext, 1);
1516
1829
  {
1517
- this.state = 338;
1518
- this.intSignal();
1519
- this.state = 340;
1830
+ this.state = 410;
1831
+ this.midSignal();
1832
+ this.state = 412;
1520
1833
  this.errorHandler.sync(this);
1521
1834
  _la = this.tokenStream.LA(1);
1522
1835
  if (_la === 3) {
1523
1836
  {
1524
- this.state = 339;
1837
+ this.state = 411;
1525
1838
  this.target();
1526
1839
  }
1527
1840
  }
@@ -1530,15 +1843,15 @@ export class plurnkParser extends antlr.Parser {
1530
1843
  case plurnkParser.LPAREN:
1531
1844
  this.enterOuterAlt(localContext, 2);
1532
1845
  {
1533
- this.state = 342;
1846
+ this.state = 414;
1534
1847
  this.target();
1535
- this.state = 344;
1848
+ this.state = 416;
1536
1849
  this.errorHandler.sync(this);
1537
1850
  _la = this.tokenStream.LA(1);
1538
1851
  if (_la === 1) {
1539
1852
  {
1540
- this.state = 343;
1541
- this.intSignal();
1853
+ this.state = 415;
1854
+ this.midSignal();
1542
1855
  }
1543
1856
  }
1544
1857
  }
@@ -1563,30 +1876,30 @@ export class plurnkParser extends antlr.Parser {
1563
1876
  }
1564
1877
  execModifiers() {
1565
1878
  let localContext = new ExecModifiersContext(this.context, this.state);
1566
- this.enterRule(localContext, 48, plurnkParser.RULE_execModifiers);
1879
+ this.enterRule(localContext, 58, plurnkParser.RULE_execModifiers);
1567
1880
  let _la;
1568
1881
  try {
1569
- this.state = 381;
1882
+ this.state = 453;
1570
1883
  this.errorHandler.sync(this);
1571
1884
  switch (this.tokenStream.LA(1)) {
1572
1885
  case plurnkParser.LBRACKET:
1573
1886
  this.enterOuterAlt(localContext, 1);
1574
1887
  {
1575
- this.state = 348;
1888
+ this.state = 420;
1576
1889
  this.identSignal();
1577
- this.state = 357;
1890
+ this.state = 429;
1578
1891
  this.errorHandler.sync(this);
1579
1892
  switch (this.tokenStream.LA(1)) {
1580
1893
  case plurnkParser.LPAREN:
1581
1894
  {
1582
- this.state = 349;
1895
+ this.state = 421;
1583
1896
  this.target();
1584
- this.state = 351;
1897
+ this.state = 423;
1585
1898
  this.errorHandler.sync(this);
1586
1899
  _la = this.tokenStream.LA(1);
1587
1900
  if (_la === 5) {
1588
1901
  {
1589
- this.state = 350;
1902
+ this.state = 422;
1590
1903
  this.lineMarker();
1591
1904
  }
1592
1905
  }
@@ -1594,14 +1907,14 @@ export class plurnkParser extends antlr.Parser {
1594
1907
  break;
1595
1908
  case plurnkParser.L_MARKER:
1596
1909
  {
1597
- this.state = 353;
1910
+ this.state = 425;
1598
1911
  this.lineMarker();
1599
- this.state = 355;
1912
+ this.state = 427;
1600
1913
  this.errorHandler.sync(this);
1601
1914
  _la = this.tokenStream.LA(1);
1602
1915
  if (_la === 3) {
1603
1916
  {
1604
- this.state = 354;
1917
+ this.state = 426;
1605
1918
  this.target();
1606
1919
  }
1607
1920
  }
@@ -1619,21 +1932,21 @@ export class plurnkParser extends antlr.Parser {
1619
1932
  case plurnkParser.LPAREN:
1620
1933
  this.enterOuterAlt(localContext, 2);
1621
1934
  {
1622
- this.state = 359;
1935
+ this.state = 431;
1623
1936
  this.target();
1624
- this.state = 368;
1937
+ this.state = 440;
1625
1938
  this.errorHandler.sync(this);
1626
1939
  switch (this.tokenStream.LA(1)) {
1627
1940
  case plurnkParser.LBRACKET:
1628
1941
  {
1629
- this.state = 360;
1942
+ this.state = 432;
1630
1943
  this.identSignal();
1631
- this.state = 362;
1944
+ this.state = 434;
1632
1945
  this.errorHandler.sync(this);
1633
1946
  _la = this.tokenStream.LA(1);
1634
1947
  if (_la === 5) {
1635
1948
  {
1636
- this.state = 361;
1949
+ this.state = 433;
1637
1950
  this.lineMarker();
1638
1951
  }
1639
1952
  }
@@ -1641,14 +1954,14 @@ export class plurnkParser extends antlr.Parser {
1641
1954
  break;
1642
1955
  case plurnkParser.L_MARKER:
1643
1956
  {
1644
- this.state = 364;
1957
+ this.state = 436;
1645
1958
  this.lineMarker();
1646
- this.state = 366;
1959
+ this.state = 438;
1647
1960
  this.errorHandler.sync(this);
1648
1961
  _la = this.tokenStream.LA(1);
1649
1962
  if (_la === 1) {
1650
1963
  {
1651
- this.state = 365;
1964
+ this.state = 437;
1652
1965
  this.identSignal();
1653
1966
  }
1654
1967
  }
@@ -1666,21 +1979,21 @@ export class plurnkParser extends antlr.Parser {
1666
1979
  case plurnkParser.L_MARKER:
1667
1980
  this.enterOuterAlt(localContext, 3);
1668
1981
  {
1669
- this.state = 370;
1982
+ this.state = 442;
1670
1983
  this.lineMarker();
1671
- this.state = 379;
1984
+ this.state = 451;
1672
1985
  this.errorHandler.sync(this);
1673
1986
  switch (this.tokenStream.LA(1)) {
1674
1987
  case plurnkParser.LBRACKET:
1675
1988
  {
1676
- this.state = 371;
1989
+ this.state = 443;
1677
1990
  this.identSignal();
1678
- this.state = 373;
1991
+ this.state = 445;
1679
1992
  this.errorHandler.sync(this);
1680
1993
  _la = this.tokenStream.LA(1);
1681
1994
  if (_la === 3) {
1682
1995
  {
1683
- this.state = 372;
1996
+ this.state = 444;
1684
1997
  this.target();
1685
1998
  }
1686
1999
  }
@@ -1688,14 +2001,14 @@ export class plurnkParser extends antlr.Parser {
1688
2001
  break;
1689
2002
  case plurnkParser.LPAREN:
1690
2003
  {
1691
- this.state = 375;
2004
+ this.state = 447;
1692
2005
  this.target();
1693
- this.state = 377;
2006
+ this.state = 449;
1694
2007
  this.errorHandler.sync(this);
1695
2008
  _la = this.tokenStream.LA(1);
1696
2009
  if (_la === 1) {
1697
2010
  {
1698
- this.state = 376;
2011
+ this.state = 448;
1699
2012
  this.identSignal();
1700
2013
  }
1701
2014
  }
@@ -1730,22 +2043,22 @@ export class plurnkParser extends antlr.Parser {
1730
2043
  }
1731
2044
  tagSignal() {
1732
2045
  let localContext = new TagSignalContext(this.context, this.state);
1733
- this.enterRule(localContext, 50, plurnkParser.RULE_tagSignal);
2046
+ this.enterRule(localContext, 60, plurnkParser.RULE_tagSignal);
1734
2047
  let _la;
1735
2048
  try {
1736
2049
  this.enterOuterAlt(localContext, 1);
1737
2050
  {
1738
- this.state = 383;
2051
+ this.state = 455;
1739
2052
  this.match(plurnkParser.LBRACKET);
1740
- this.state = 387;
2053
+ this.state = 459;
1741
2054
  this.errorHandler.sync(this);
1742
2055
  _la = this.tokenStream.LA(1);
1743
- while (_la === 7 || _la === 10) {
2056
+ while (_la === 7 || _la === 11) {
1744
2057
  {
1745
2058
  {
1746
- this.state = 384;
2059
+ this.state = 456;
1747
2060
  _la = this.tokenStream.LA(1);
1748
- if (!(_la === 7 || _la === 10)) {
2061
+ if (!(_la === 7 || _la === 11)) {
1749
2062
  this.errorHandler.recoverInline(this);
1750
2063
  }
1751
2064
  else {
@@ -1754,11 +2067,11 @@ export class plurnkParser extends antlr.Parser {
1754
2067
  }
1755
2068
  }
1756
2069
  }
1757
- this.state = 389;
2070
+ this.state = 461;
1758
2071
  this.errorHandler.sync(this);
1759
2072
  _la = this.tokenStream.LA(1);
1760
2073
  }
1761
- this.state = 390;
2074
+ this.state = 462;
1762
2075
  this.match(plurnkParser.RBRACKET);
1763
2076
  }
1764
2077
  }
@@ -1778,23 +2091,94 @@ export class plurnkParser extends antlr.Parser {
1778
2091
  }
1779
2092
  intSignal() {
1780
2093
  let localContext = new IntSignalContext(this.context, this.state);
1781
- this.enterRule(localContext, 52, plurnkParser.RULE_intSignal);
2094
+ this.enterRule(localContext, 62, plurnkParser.RULE_intSignal);
2095
+ let _la;
2096
+ try {
2097
+ this.enterOuterAlt(localContext, 1);
2098
+ {
2099
+ this.state = 464;
2100
+ this.match(plurnkParser.LBRACKET);
2101
+ this.state = 466;
2102
+ this.errorHandler.sync(this);
2103
+ _la = this.tokenStream.LA(1);
2104
+ if (_la === 8 || _la === 9) {
2105
+ {
2106
+ this.state = 465;
2107
+ _la = this.tokenStream.LA(1);
2108
+ if (!(_la === 8 || _la === 9)) {
2109
+ this.errorHandler.recoverInline(this);
2110
+ }
2111
+ else {
2112
+ this.errorHandler.reportMatch(this);
2113
+ this.consume();
2114
+ }
2115
+ }
2116
+ }
2117
+ this.state = 468;
2118
+ this.match(plurnkParser.RBRACKET);
2119
+ }
2120
+ }
2121
+ catch (re) {
2122
+ if (re instanceof antlr.RecognitionException) {
2123
+ this.errorHandler.reportError(this, re);
2124
+ this.errorHandler.recover(this, re);
2125
+ }
2126
+ else {
2127
+ throw re;
2128
+ }
2129
+ }
2130
+ finally {
2131
+ this.exitRule();
2132
+ }
2133
+ return localContext;
2134
+ }
2135
+ midSignal() {
2136
+ let localContext = new MidSignalContext(this.context, this.state);
2137
+ this.enterRule(localContext, 64, plurnkParser.RULE_midSignal);
1782
2138
  let _la;
1783
2139
  try {
1784
2140
  this.enterOuterAlt(localContext, 1);
1785
2141
  {
1786
- this.state = 392;
2142
+ this.state = 470;
1787
2143
  this.match(plurnkParser.LBRACKET);
1788
- this.state = 394;
2144
+ this.state = 472;
1789
2145
  this.errorHandler.sync(this);
1790
2146
  _la = this.tokenStream.LA(1);
1791
2147
  if (_la === 8) {
1792
2148
  {
1793
- this.state = 393;
2149
+ this.state = 471;
1794
2150
  this.match(plurnkParser.INT);
1795
2151
  }
1796
2152
  }
1797
- this.state = 396;
2153
+ this.state = 474;
2154
+ this.match(plurnkParser.RBRACKET);
2155
+ }
2156
+ }
2157
+ catch (re) {
2158
+ if (re instanceof antlr.RecognitionException) {
2159
+ this.errorHandler.reportError(this, re);
2160
+ this.errorHandler.recover(this, re);
2161
+ }
2162
+ else {
2163
+ throw re;
2164
+ }
2165
+ }
2166
+ finally {
2167
+ this.exitRule();
2168
+ }
2169
+ return localContext;
2170
+ }
2171
+ dispSignal() {
2172
+ let localContext = new DispSignalContext(this.context, this.state);
2173
+ this.enterRule(localContext, 66, plurnkParser.RULE_dispSignal);
2174
+ try {
2175
+ this.enterOuterAlt(localContext, 1);
2176
+ {
2177
+ this.state = 476;
2178
+ this.match(plurnkParser.LBRACKET);
2179
+ this.state = 477;
2180
+ this.match(plurnkParser.DISPOSITION);
2181
+ this.state = 478;
1798
2182
  this.match(plurnkParser.RBRACKET);
1799
2183
  }
1800
2184
  }
@@ -1814,23 +2198,23 @@ export class plurnkParser extends antlr.Parser {
1814
2198
  }
1815
2199
  identSignal() {
1816
2200
  let localContext = new IdentSignalContext(this.context, this.state);
1817
- this.enterRule(localContext, 54, plurnkParser.RULE_identSignal);
2201
+ this.enterRule(localContext, 68, plurnkParser.RULE_identSignal);
1818
2202
  let _la;
1819
2203
  try {
1820
2204
  this.enterOuterAlt(localContext, 1);
1821
2205
  {
1822
- this.state = 398;
2206
+ this.state = 480;
1823
2207
  this.match(plurnkParser.LBRACKET);
1824
- this.state = 400;
2208
+ this.state = 482;
1825
2209
  this.errorHandler.sync(this);
1826
2210
  _la = this.tokenStream.LA(1);
1827
- if (_la === 9) {
2211
+ if (_la === 10) {
1828
2212
  {
1829
- this.state = 399;
2213
+ this.state = 481;
1830
2214
  this.match(plurnkParser.IDENT);
1831
2215
  }
1832
2216
  }
1833
- this.state = 402;
2217
+ this.state = 484;
1834
2218
  this.match(plurnkParser.RBRACKET);
1835
2219
  }
1836
2220
  }
@@ -1850,23 +2234,23 @@ export class plurnkParser extends antlr.Parser {
1850
2234
  }
1851
2235
  target() {
1852
2236
  let localContext = new TargetContext(this.context, this.state);
1853
- this.enterRule(localContext, 56, plurnkParser.RULE_target);
2237
+ this.enterRule(localContext, 70, plurnkParser.RULE_target);
1854
2238
  let _la;
1855
2239
  try {
1856
2240
  this.enterOuterAlt(localContext, 1);
1857
2241
  {
1858
- this.state = 404;
2242
+ this.state = 486;
1859
2243
  this.match(plurnkParser.LPAREN);
1860
- this.state = 406;
2244
+ this.state = 488;
1861
2245
  this.errorHandler.sync(this);
1862
2246
  _la = this.tokenStream.LA(1);
1863
- if (_la === 11) {
2247
+ if (_la === 12) {
1864
2248
  {
1865
- this.state = 405;
2249
+ this.state = 487;
1866
2250
  this.match(plurnkParser.TARGET_TEXT);
1867
2251
  }
1868
2252
  }
1869
- this.state = 408;
2253
+ this.state = 490;
1870
2254
  this.match(plurnkParser.RPAREN);
1871
2255
  }
1872
2256
  }
@@ -1886,11 +2270,11 @@ export class plurnkParser extends antlr.Parser {
1886
2270
  }
1887
2271
  lineMarker() {
1888
2272
  let localContext = new LineMarkerContext(this.context, this.state);
1889
- this.enterRule(localContext, 58, plurnkParser.RULE_lineMarker);
2273
+ this.enterRule(localContext, 72, plurnkParser.RULE_lineMarker);
1890
2274
  try {
1891
2275
  this.enterOuterAlt(localContext, 1);
1892
2276
  {
1893
- this.state = 410;
2277
+ this.state = 492;
1894
2278
  this.match(plurnkParser.L_MARKER);
1895
2279
  }
1896
2280
  }
@@ -1910,25 +2294,25 @@ export class plurnkParser extends antlr.Parser {
1910
2294
  }
1911
2295
  body() {
1912
2296
  let localContext = new BodyContext(this.context, this.state);
1913
- this.enterRule(localContext, 60, plurnkParser.RULE_body);
2297
+ this.enterRule(localContext, 74, plurnkParser.RULE_body);
1914
2298
  let _la;
1915
2299
  try {
1916
2300
  this.enterOuterAlt(localContext, 1);
1917
2301
  {
1918
- this.state = 413;
2302
+ this.state = 495;
1919
2303
  this.errorHandler.sync(this);
1920
2304
  _la = this.tokenStream.LA(1);
1921
2305
  do {
1922
2306
  {
1923
2307
  {
1924
- this.state = 412;
2308
+ this.state = 494;
1925
2309
  this.match(plurnkParser.BODY_TEXT);
1926
2310
  }
1927
2311
  }
1928
- this.state = 415;
2312
+ this.state = 497;
1929
2313
  this.errorHandler.sync(this);
1930
2314
  _la = this.tokenStream.LA(1);
1931
- } while (_la === 12);
2315
+ } while (_la === 13);
1932
2316
  }
1933
2317
  }
1934
2318
  catch (re) {
@@ -1946,170 +2330,203 @@ export class plurnkParser extends antlr.Parser {
1946
2330
  return localContext;
1947
2331
  }
1948
2332
  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,
2333
+ 4, 1, 39, 500, 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
2334
  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
2335
  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
2336
  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
2337
+ 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,
2338
+ 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1,
2339
+ 81, 8, 1, 11, 1, 12, 1, 82, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 89, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
2340
+ 3, 5, 3, 96, 8, 3, 10, 3, 12, 3, 99, 9, 3, 1, 3, 1, 3, 1, 3, 5, 3, 104, 8, 3, 10, 3, 12, 3,
2341
+ 107, 9, 3, 1, 3, 1, 3, 5, 3, 111, 8, 3, 10, 3, 12, 3, 114, 9, 3, 1, 4, 5, 4, 117, 8, 4, 10,
2342
+ 4, 12, 4, 120, 9, 4, 1, 4, 1, 4, 1, 5, 5, 5, 125, 8, 5, 10, 5, 12, 5, 128, 9, 5, 1, 5, 1, 5,
2343
+ 1, 6, 1, 6, 1, 6, 3, 6, 135, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7,
2344
+ 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 151, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8,
2345
+ 1, 8, 1, 8, 1, 8, 3, 8, 165, 8, 8, 1, 9, 1, 9, 3, 9, 169, 8, 9, 1, 9, 3, 9, 172, 8, 9, 1, 9,
2346
+ 3, 9, 175, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 181, 8, 10, 1, 10, 3, 10, 184, 8, 10, 1,
2347
+ 10, 3, 10, 187, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 193, 8, 11, 1, 11, 3, 11, 196,
2348
+ 8, 11, 1, 11, 3, 11, 199, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 205, 8, 12, 1, 12, 3,
2349
+ 12, 208, 8, 12, 1, 12, 3, 12, 211, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 217, 8, 13,
2350
+ 1, 13, 3, 13, 220, 8, 13, 1, 13, 3, 13, 223, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 229,
2351
+ 8, 14, 1, 14, 3, 14, 232, 8, 14, 1, 14, 3, 14, 235, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3,
2352
+ 15, 241, 8, 15, 1, 15, 3, 15, 244, 8, 15, 1, 15, 3, 15, 247, 8, 15, 1, 15, 1, 15, 1, 16,
2353
+ 1, 16, 1, 16, 3, 16, 254, 8, 16, 1, 16, 3, 16, 257, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3,
2354
+ 17, 263, 8, 17, 1, 17, 3, 17, 266, 8, 17, 1, 17, 3, 17, 269, 8, 17, 1, 17, 1, 17, 1, 18,
2355
+ 1, 18, 3, 18, 275, 8, 18, 1, 18, 3, 18, 278, 8, 18, 1, 18, 3, 18, 281, 8, 18, 1, 18, 1,
2356
+ 18, 1, 19, 1, 19, 3, 19, 287, 8, 19, 1, 19, 3, 19, 290, 8, 19, 1, 19, 3, 19, 293, 8, 19,
2357
+ 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 299, 8, 20, 1, 20, 3, 20, 302, 8, 20, 1, 20, 3, 20, 305,
2358
+ 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 311, 8, 21, 1, 21, 3, 21, 314, 8, 21, 1, 21, 3,
2359
+ 21, 317, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 323, 8, 22, 1, 22, 3, 22, 326, 8, 22,
2360
+ 1, 22, 3, 22, 329, 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 335, 8, 23, 1, 23, 3, 23, 338,
2361
+ 8, 23, 1, 23, 3, 23, 341, 8, 23, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 347, 8, 24, 1, 24, 3,
2362
+ 24, 350, 8, 24, 1, 24, 3, 24, 353, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 3, 25, 360,
2363
+ 8, 25, 1, 25, 1, 25, 3, 25, 364, 8, 25, 3, 25, 366, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 371,
2364
+ 8, 25, 1, 25, 1, 25, 3, 25, 375, 8, 25, 3, 25, 377, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 382,
2365
+ 8, 25, 1, 25, 1, 25, 3, 25, 386, 8, 25, 3, 25, 388, 8, 25, 3, 25, 390, 8, 25, 1, 26, 1,
2366
+ 26, 3, 26, 394, 8, 26, 1, 26, 1, 26, 3, 26, 398, 8, 26, 3, 26, 400, 8, 26, 1, 27, 1, 27,
2367
+ 3, 27, 404, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 409, 8, 27, 1, 28, 1, 28, 3, 28, 413, 8,
2368
+ 28, 1, 28, 1, 28, 3, 28, 417, 8, 28, 3, 28, 419, 8, 28, 1, 29, 1, 29, 1, 29, 3, 29, 424,
2369
+ 8, 29, 1, 29, 1, 29, 3, 29, 428, 8, 29, 3, 29, 430, 8, 29, 1, 29, 1, 29, 1, 29, 3, 29, 435,
2370
+ 8, 29, 1, 29, 1, 29, 3, 29, 439, 8, 29, 3, 29, 441, 8, 29, 1, 29, 1, 29, 1, 29, 3, 29, 446,
2371
+ 8, 29, 1, 29, 1, 29, 3, 29, 450, 8, 29, 3, 29, 452, 8, 29, 3, 29, 454, 8, 29, 1, 30, 1,
2372
+ 30, 5, 30, 458, 8, 30, 10, 30, 12, 30, 461, 9, 30, 1, 30, 1, 30, 1, 31, 1, 31, 3, 31, 467,
2373
+ 8, 31, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 473, 8, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33,
2374
+ 1, 33, 1, 34, 1, 34, 3, 34, 483, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 3, 35, 489, 8, 35, 1,
2375
+ 35, 1, 35, 1, 36, 1, 36, 1, 37, 4, 37, 496, 8, 37, 11, 37, 12, 37, 497, 1, 37, 0, 0, 38,
2376
+ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44,
2377
+ 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 0, 2, 2, 0, 7, 7, 11, 11, 1,
2378
+ 0, 8, 9, 584, 0, 76, 1, 0, 0, 0, 2, 80, 1, 0, 0, 0, 4, 86, 1, 0, 0, 0, 6, 97, 1, 0, 0, 0, 8,
2379
+ 118, 1, 0, 0, 0, 10, 126, 1, 0, 0, 0, 12, 134, 1, 0, 0, 0, 14, 150, 1, 0, 0, 0, 16, 164,
2380
+ 1, 0, 0, 0, 18, 166, 1, 0, 0, 0, 20, 178, 1, 0, 0, 0, 22, 190, 1, 0, 0, 0, 24, 202, 1, 0,
2381
+ 0, 0, 26, 214, 1, 0, 0, 0, 28, 226, 1, 0, 0, 0, 30, 238, 1, 0, 0, 0, 32, 250, 1, 0, 0, 0,
2382
+ 34, 260, 1, 0, 0, 0, 36, 272, 1, 0, 0, 0, 38, 284, 1, 0, 0, 0, 40, 296, 1, 0, 0, 0, 42, 308,
2383
+ 1, 0, 0, 0, 44, 320, 1, 0, 0, 0, 46, 332, 1, 0, 0, 0, 48, 344, 1, 0, 0, 0, 50, 389, 1, 0,
2384
+ 0, 0, 52, 399, 1, 0, 0, 0, 54, 408, 1, 0, 0, 0, 56, 418, 1, 0, 0, 0, 58, 453, 1, 0, 0, 0,
2385
+ 60, 455, 1, 0, 0, 0, 62, 464, 1, 0, 0, 0, 64, 470, 1, 0, 0, 0, 66, 476, 1, 0, 0, 0, 68, 480,
2386
+ 1, 0, 0, 0, 70, 486, 1, 0, 0, 0, 72, 492, 1, 0, 0, 0, 74, 495, 1, 0, 0, 0, 76, 77, 3, 6, 3,
2387
+ 0, 77, 78, 5, 0, 0, 1, 78, 1, 1, 0, 0, 0, 79, 81, 3, 4, 2, 0, 80, 79, 1, 0, 0, 0, 81, 82, 1,
2388
+ 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 85, 5, 0, 0, 1, 85,
2389
+ 3, 1, 0, 0, 0, 86, 88, 5, 16, 0, 0, 87, 89, 3, 50, 25, 0, 88, 87, 1, 0, 0, 0, 88, 89, 1, 0,
2390
+ 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 5, 6, 0, 0, 91, 92, 3, 6, 3, 0, 92, 93, 5, 17, 0, 0, 93,
2391
+ 5, 1, 0, 0, 0, 94, 96, 5, 15, 0, 0, 95, 94, 1, 0, 0, 0, 96, 99, 1, 0, 0, 0, 97, 95, 1, 0, 0,
2392
+ 0, 97, 98, 1, 0, 0, 0, 98, 100, 1, 0, 0, 0, 99, 97, 1, 0, 0, 0, 100, 105, 3, 44, 22, 0, 101,
2393
+ 104, 3, 16, 8, 0, 102, 104, 5, 15, 0, 0, 103, 101, 1, 0, 0, 0, 103, 102, 1, 0, 0, 0, 104,
2394
+ 107, 1, 0, 0, 0, 105, 103, 1, 0, 0, 0, 105, 106, 1, 0, 0, 0, 106, 108, 1, 0, 0, 0, 107,
2395
+ 105, 1, 0, 0, 0, 108, 112, 3, 32, 16, 0, 109, 111, 5, 15, 0, 0, 110, 109, 1, 0, 0, 0, 111,
2396
+ 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 7, 1, 0, 0, 0, 114, 112,
2397
+ 1, 0, 0, 0, 115, 117, 3, 14, 7, 0, 116, 115, 1, 0, 0, 0, 117, 120, 1, 0, 0, 0, 118, 116,
2398
+ 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 121, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 121, 122,
2399
+ 5, 0, 0, 1, 122, 9, 1, 0, 0, 0, 123, 125, 3, 12, 6, 0, 124, 123, 1, 0, 0, 0, 125, 128, 1,
2400
+ 0, 0, 0, 126, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 129, 1, 0, 0, 0, 128, 126, 1,
2401
+ 0, 0, 0, 129, 130, 5, 0, 0, 1, 130, 11, 1, 0, 0, 0, 131, 135, 3, 14, 7, 0, 132, 135, 3,
2402
+ 46, 23, 0, 133, 135, 3, 48, 24, 0, 134, 131, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 133,
2403
+ 1, 0, 0, 0, 135, 13, 1, 0, 0, 0, 136, 151, 3, 18, 9, 0, 137, 151, 3, 20, 10, 0, 138, 151,
2404
+ 3, 22, 11, 0, 139, 151, 3, 24, 12, 0, 140, 151, 3, 26, 13, 0, 141, 151, 3, 28, 14, 0,
2405
+ 142, 151, 3, 30, 15, 0, 143, 151, 3, 32, 16, 0, 144, 151, 3, 34, 17, 0, 145, 151, 3,
2406
+ 36, 18, 0, 146, 151, 3, 38, 19, 0, 147, 151, 3, 40, 20, 0, 148, 151, 3, 42, 21, 0, 149,
2407
+ 151, 3, 44, 22, 0, 150, 136, 1, 0, 0, 0, 150, 137, 1, 0, 0, 0, 150, 138, 1, 0, 0, 0, 150,
2408
+ 139, 1, 0, 0, 0, 150, 140, 1, 0, 0, 0, 150, 141, 1, 0, 0, 0, 150, 142, 1, 0, 0, 0, 150,
2409
+ 143, 1, 0, 0, 0, 150, 144, 1, 0, 0, 0, 150, 145, 1, 0, 0, 0, 150, 146, 1, 0, 0, 0, 150,
2410
+ 147, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 149, 1, 0, 0, 0, 151, 15, 1, 0, 0, 0, 152, 165,
2411
+ 3, 18, 9, 0, 153, 165, 3, 20, 10, 0, 154, 165, 3, 22, 11, 0, 155, 165, 3, 24, 12, 0, 156,
2412
+ 165, 3, 26, 13, 0, 157, 165, 3, 28, 14, 0, 158, 165, 3, 30, 15, 0, 159, 165, 3, 34, 17,
2413
+ 0, 160, 165, 3, 36, 18, 0, 161, 165, 3, 38, 19, 0, 162, 165, 3, 40, 20, 0, 163, 165,
2414
+ 3, 42, 21, 0, 164, 152, 1, 0, 0, 0, 164, 153, 1, 0, 0, 0, 164, 154, 1, 0, 0, 0, 164, 155,
2415
+ 1, 0, 0, 0, 164, 156, 1, 0, 0, 0, 164, 157, 1, 0, 0, 0, 164, 158, 1, 0, 0, 0, 164, 159,
2416
+ 1, 0, 0, 0, 164, 160, 1, 0, 0, 0, 164, 161, 1, 0, 0, 0, 164, 162, 1, 0, 0, 0, 164, 163,
2417
+ 1, 0, 0, 0, 165, 17, 1, 0, 0, 0, 166, 168, 5, 18, 0, 0, 167, 169, 3, 50, 25, 0, 168, 167,
2418
+ 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 172, 5, 6, 0, 0, 171, 170,
2419
+ 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 174, 1, 0, 0, 0, 173, 175, 3, 74, 37, 0, 174, 173,
2420
+ 1, 0, 0, 0, 174, 175, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 177, 5, 14, 0, 0, 177, 19,
2421
+ 1, 0, 0, 0, 178, 180, 5, 19, 0, 0, 179, 181, 3, 50, 25, 0, 180, 179, 1, 0, 0, 0, 180, 181,
2422
+ 1, 0, 0, 0, 181, 183, 1, 0, 0, 0, 182, 184, 5, 6, 0, 0, 183, 182, 1, 0, 0, 0, 183, 184,
2423
+ 1, 0, 0, 0, 184, 186, 1, 0, 0, 0, 185, 187, 3, 74, 37, 0, 186, 185, 1, 0, 0, 0, 186, 187,
2424
+ 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 189, 5, 14, 0, 0, 189, 21, 1, 0, 0, 0, 190, 192,
2425
+ 5, 20, 0, 0, 191, 193, 3, 50, 25, 0, 192, 191, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 195,
2426
+ 1, 0, 0, 0, 194, 196, 5, 6, 0, 0, 195, 194, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198,
2427
+ 1, 0, 0, 0, 197, 199, 3, 74, 37, 0, 198, 197, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 200,
2428
+ 1, 0, 0, 0, 200, 201, 5, 14, 0, 0, 201, 23, 1, 0, 0, 0, 202, 204, 5, 21, 0, 0, 203, 205,
2429
+ 3, 50, 25, 0, 204, 203, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 208,
2430
+ 5, 6, 0, 0, 207, 206, 1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 210, 1, 0, 0, 0, 209, 211,
2431
+ 3, 74, 37, 0, 210, 209, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213,
2432
+ 5, 14, 0, 0, 213, 25, 1, 0, 0, 0, 214, 216, 5, 22, 0, 0, 215, 217, 3, 50, 25, 0, 216, 215,
2433
+ 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 219, 1, 0, 0, 0, 218, 220, 5, 6, 0, 0, 219, 218,
2434
+ 1, 0, 0, 0, 219, 220, 1, 0, 0, 0, 220, 222, 1, 0, 0, 0, 221, 223, 3, 74, 37, 0, 222, 221,
2435
+ 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 225, 5, 14, 0, 0, 225, 27,
2436
+ 1, 0, 0, 0, 226, 228, 5, 23, 0, 0, 227, 229, 3, 50, 25, 0, 228, 227, 1, 0, 0, 0, 228, 229,
2437
+ 1, 0, 0, 0, 229, 231, 1, 0, 0, 0, 230, 232, 5, 6, 0, 0, 231, 230, 1, 0, 0, 0, 231, 232,
2438
+ 1, 0, 0, 0, 232, 234, 1, 0, 0, 0, 233, 235, 3, 74, 37, 0, 234, 233, 1, 0, 0, 0, 234, 235,
2439
+ 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 237, 5, 14, 0, 0, 237, 29, 1, 0, 0, 0, 238, 240,
2440
+ 5, 24, 0, 0, 239, 241, 3, 50, 25, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 243,
2441
+ 1, 0, 0, 0, 242, 244, 5, 6, 0, 0, 243, 242, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 246,
2442
+ 1, 0, 0, 0, 245, 247, 3, 74, 37, 0, 246, 245, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 248,
2443
+ 1, 0, 0, 0, 248, 249, 5, 14, 0, 0, 249, 31, 1, 0, 0, 0, 250, 251, 5, 25, 0, 0, 251, 253,
2444
+ 3, 54, 27, 0, 252, 254, 5, 6, 0, 0, 253, 252, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 256,
2445
+ 1, 0, 0, 0, 255, 257, 3, 74, 37, 0, 256, 255, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 258,
2446
+ 1, 0, 0, 0, 258, 259, 5, 14, 0, 0, 259, 33, 1, 0, 0, 0, 260, 262, 5, 25, 0, 0, 261, 263,
2447
+ 3, 56, 28, 0, 262, 261, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 265, 1, 0, 0, 0, 264, 266,
2448
+ 5, 6, 0, 0, 265, 264, 1, 0, 0, 0, 265, 266, 1, 0, 0, 0, 266, 268, 1, 0, 0, 0, 267, 269,
2449
+ 3, 74, 37, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 271,
2450
+ 5, 14, 0, 0, 271, 35, 1, 0, 0, 0, 272, 274, 5, 26, 0, 0, 273, 275, 3, 58, 29, 0, 274, 273,
2451
+ 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 277, 1, 0, 0, 0, 276, 278, 5, 6, 0, 0, 277, 276,
2452
+ 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 280, 1, 0, 0, 0, 279, 281, 3, 74, 37, 0, 280, 279,
2453
+ 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 283, 5, 14, 0, 0, 283, 37,
2454
+ 1, 0, 0, 0, 284, 286, 5, 27, 0, 0, 285, 287, 3, 70, 35, 0, 286, 285, 1, 0, 0, 0, 286, 287,
2455
+ 1, 0, 0, 0, 287, 289, 1, 0, 0, 0, 288, 290, 5, 6, 0, 0, 289, 288, 1, 0, 0, 0, 289, 290,
2456
+ 1, 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 293, 3, 74, 37, 0, 292, 291, 1, 0, 0, 0, 292, 293,
2457
+ 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 295, 5, 14, 0, 0, 295, 39, 1, 0, 0, 0, 296, 298,
2458
+ 5, 28, 0, 0, 297, 299, 3, 70, 35, 0, 298, 297, 1, 0, 0, 0, 298, 299, 1, 0, 0, 0, 299, 301,
2459
+ 1, 0, 0, 0, 300, 302, 5, 6, 0, 0, 301, 300, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 304,
2460
+ 1, 0, 0, 0, 303, 305, 3, 74, 37, 0, 304, 303, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 306,
2461
+ 1, 0, 0, 0, 306, 307, 5, 14, 0, 0, 307, 41, 1, 0, 0, 0, 308, 310, 5, 29, 0, 0, 309, 311,
2462
+ 3, 52, 26, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 313, 1, 0, 0, 0, 312, 314,
2463
+ 5, 6, 0, 0, 313, 312, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 317,
2464
+ 3, 74, 37, 0, 316, 315, 1, 0, 0, 0, 316, 317, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319,
2465
+ 5, 14, 0, 0, 319, 43, 1, 0, 0, 0, 320, 322, 5, 30, 0, 0, 321, 323, 3, 50, 25, 0, 322, 321,
2466
+ 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 325, 1, 0, 0, 0, 324, 326, 5, 6, 0, 0, 325, 324,
2467
+ 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 328, 1, 0, 0, 0, 327, 329, 3, 74, 37, 0, 328, 327,
2468
+ 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 330, 1, 0, 0, 0, 330, 331, 5, 14, 0, 0, 331, 45,
2469
+ 1, 0, 0, 0, 332, 334, 5, 31, 0, 0, 333, 335, 3, 50, 25, 0, 334, 333, 1, 0, 0, 0, 334, 335,
2470
+ 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 338, 5, 6, 0, 0, 337, 336, 1, 0, 0, 0, 337, 338,
2471
+ 1, 0, 0, 0, 338, 340, 1, 0, 0, 0, 339, 341, 3, 74, 37, 0, 340, 339, 1, 0, 0, 0, 340, 341,
2472
+ 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 343, 5, 14, 0, 0, 343, 47, 1, 0, 0, 0, 344, 346,
2473
+ 5, 32, 0, 0, 345, 347, 3, 50, 25, 0, 346, 345, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 349,
2474
+ 1, 0, 0, 0, 348, 350, 5, 6, 0, 0, 349, 348, 1, 0, 0, 0, 349, 350, 1, 0, 0, 0, 350, 352,
2475
+ 1, 0, 0, 0, 351, 353, 3, 74, 37, 0, 352, 351, 1, 0, 0, 0, 352, 353, 1, 0, 0, 0, 353, 354,
2476
+ 1, 0, 0, 0, 354, 355, 5, 14, 0, 0, 355, 49, 1, 0, 0, 0, 356, 365, 3, 60, 30, 0, 357, 359,
2477
+ 3, 70, 35, 0, 358, 360, 3, 72, 36, 0, 359, 358, 1, 0, 0, 0, 359, 360, 1, 0, 0, 0, 360,
2478
+ 366, 1, 0, 0, 0, 361, 363, 3, 72, 36, 0, 362, 364, 3, 70, 35, 0, 363, 362, 1, 0, 0, 0,
2479
+ 363, 364, 1, 0, 0, 0, 364, 366, 1, 0, 0, 0, 365, 357, 1, 0, 0, 0, 365, 361, 1, 0, 0, 0,
2480
+ 365, 366, 1, 0, 0, 0, 366, 390, 1, 0, 0, 0, 367, 376, 3, 70, 35, 0, 368, 370, 3, 60, 30,
2481
+ 0, 369, 371, 3, 72, 36, 0, 370, 369, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 377, 1, 0,
2482
+ 0, 0, 372, 374, 3, 72, 36, 0, 373, 375, 3, 60, 30, 0, 374, 373, 1, 0, 0, 0, 374, 375,
2483
+ 1, 0, 0, 0, 375, 377, 1, 0, 0, 0, 376, 368, 1, 0, 0, 0, 376, 372, 1, 0, 0, 0, 376, 377,
2484
+ 1, 0, 0, 0, 377, 390, 1, 0, 0, 0, 378, 387, 3, 72, 36, 0, 379, 381, 3, 60, 30, 0, 380,
2485
+ 382, 3, 70, 35, 0, 381, 380, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382, 388, 1, 0, 0, 0, 383,
2486
+ 385, 3, 70, 35, 0, 384, 386, 3, 60, 30, 0, 385, 384, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0,
2487
+ 386, 388, 1, 0, 0, 0, 387, 379, 1, 0, 0, 0, 387, 383, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0,
2488
+ 388, 390, 1, 0, 0, 0, 389, 356, 1, 0, 0, 0, 389, 367, 1, 0, 0, 0, 389, 378, 1, 0, 0, 0,
2489
+ 390, 51, 1, 0, 0, 0, 391, 393, 3, 62, 31, 0, 392, 394, 3, 70, 35, 0, 393, 392, 1, 0, 0,
2490
+ 0, 393, 394, 1, 0, 0, 0, 394, 400, 1, 0, 0, 0, 395, 397, 3, 70, 35, 0, 396, 398, 3, 62,
2491
+ 31, 0, 397, 396, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 400, 1, 0, 0, 0, 399, 391, 1, 0,
2492
+ 0, 0, 399, 395, 1, 0, 0, 0, 400, 53, 1, 0, 0, 0, 401, 403, 3, 66, 33, 0, 402, 404, 3, 70,
2493
+ 35, 0, 403, 402, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 409, 1, 0, 0, 0, 405, 406, 3, 70,
2494
+ 35, 0, 406, 407, 3, 66, 33, 0, 407, 409, 1, 0, 0, 0, 408, 401, 1, 0, 0, 0, 408, 405, 1,
2495
+ 0, 0, 0, 409, 55, 1, 0, 0, 0, 410, 412, 3, 64, 32, 0, 411, 413, 3, 70, 35, 0, 412, 411,
2496
+ 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 419, 1, 0, 0, 0, 414, 416, 3, 70, 35, 0, 415, 417,
2497
+ 3, 64, 32, 0, 416, 415, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0, 417, 419, 1, 0, 0, 0, 418, 410,
2498
+ 1, 0, 0, 0, 418, 414, 1, 0, 0, 0, 419, 57, 1, 0, 0, 0, 420, 429, 3, 68, 34, 0, 421, 423,
2499
+ 3, 70, 35, 0, 422, 424, 3, 72, 36, 0, 423, 422, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424,
2500
+ 430, 1, 0, 0, 0, 425, 427, 3, 72, 36, 0, 426, 428, 3, 70, 35, 0, 427, 426, 1, 0, 0, 0,
2501
+ 427, 428, 1, 0, 0, 0, 428, 430, 1, 0, 0, 0, 429, 421, 1, 0, 0, 0, 429, 425, 1, 0, 0, 0,
2502
+ 429, 430, 1, 0, 0, 0, 430, 454, 1, 0, 0, 0, 431, 440, 3, 70, 35, 0, 432, 434, 3, 68, 34,
2503
+ 0, 433, 435, 3, 72, 36, 0, 434, 433, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0, 435, 441, 1, 0,
2504
+ 0, 0, 436, 438, 3, 72, 36, 0, 437, 439, 3, 68, 34, 0, 438, 437, 1, 0, 0, 0, 438, 439,
2505
+ 1, 0, 0, 0, 439, 441, 1, 0, 0, 0, 440, 432, 1, 0, 0, 0, 440, 436, 1, 0, 0, 0, 440, 441,
2506
+ 1, 0, 0, 0, 441, 454, 1, 0, 0, 0, 442, 451, 3, 72, 36, 0, 443, 445, 3, 68, 34, 0, 444,
2507
+ 446, 3, 70, 35, 0, 445, 444, 1, 0, 0, 0, 445, 446, 1, 0, 0, 0, 446, 452, 1, 0, 0, 0, 447,
2508
+ 449, 3, 70, 35, 0, 448, 450, 3, 68, 34, 0, 449, 448, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0,
2509
+ 450, 452, 1, 0, 0, 0, 451, 443, 1, 0, 0, 0, 451, 447, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0,
2510
+ 452, 454, 1, 0, 0, 0, 453, 420, 1, 0, 0, 0, 453, 431, 1, 0, 0, 0, 453, 442, 1, 0, 0, 0,
2511
+ 454, 59, 1, 0, 0, 0, 455, 459, 5, 1, 0, 0, 456, 458, 7, 0, 0, 0, 457, 456, 1, 0, 0, 0, 458,
2512
+ 461, 1, 0, 0, 0, 459, 457, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, 1, 0, 0, 0, 461,
2513
+ 459, 1, 0, 0, 0, 462, 463, 5, 2, 0, 0, 463, 61, 1, 0, 0, 0, 464, 466, 5, 1, 0, 0, 465, 467,
2514
+ 7, 1, 0, 0, 466, 465, 1, 0, 0, 0, 466, 467, 1, 0, 0, 0, 467, 468, 1, 0, 0, 0, 468, 469,
2515
+ 5, 2, 0, 0, 469, 63, 1, 0, 0, 0, 470, 472, 5, 1, 0, 0, 471, 473, 5, 8, 0, 0, 472, 471, 1,
2516
+ 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 475, 5, 2, 0, 0, 475, 65, 1, 0,
2517
+ 0, 0, 476, 477, 5, 1, 0, 0, 477, 478, 5, 9, 0, 0, 478, 479, 5, 2, 0, 0, 479, 67, 1, 0, 0,
2518
+ 0, 480, 482, 5, 1, 0, 0, 481, 483, 5, 10, 0, 0, 482, 481, 1, 0, 0, 0, 482, 483, 1, 0, 0,
2519
+ 0, 483, 484, 1, 0, 0, 0, 484, 485, 5, 2, 0, 0, 485, 69, 1, 0, 0, 0, 486, 488, 5, 3, 0, 0,
2520
+ 487, 489, 5, 12, 0, 0, 488, 487, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0,
2521
+ 490, 491, 5, 4, 0, 0, 491, 71, 1, 0, 0, 0, 492, 493, 5, 5, 0, 0, 493, 73, 1, 0, 0, 0, 494,
2522
+ 496, 5, 13, 0, 0, 495, 494, 1, 0, 0, 0, 496, 497, 1, 0, 0, 0, 497, 495, 1, 0, 0, 0, 497,
2523
+ 498, 1, 0, 0, 0, 498, 75, 1, 0, 0, 0, 92, 82, 88, 97, 103, 105, 112, 118, 126, 134, 150,
2524
+ 164, 168, 171, 174, 180, 183, 186, 192, 195, 198, 204, 207, 210, 216, 219, 222,
2525
+ 228, 231, 234, 240, 243, 246, 253, 256, 262, 265, 268, 274, 277, 280, 286, 289,
2526
+ 292, 298, 301, 304, 310, 313, 316, 322, 325, 328, 334, 337, 340, 346, 349, 352,
2527
+ 359, 363, 365, 370, 374, 376, 381, 385, 387, 389, 393, 397, 399, 403, 408, 412,
2528
+ 416, 418, 423, 427, 429, 434, 438, 440, 445, 449, 451, 453, 459, 466, 472, 482,
2529
+ 488, 497
2113
2530
  ];
2114
2531
  static __ATN;
2115
2532
  static get _ATN() {
@@ -2341,9 +2758,18 @@ export class StatementContext extends antlr.ParserRuleContext {
2341
2758
  sendStatement() {
2342
2759
  return this.getRuleContext(0, SendStatementContext);
2343
2760
  }
2761
+ midSend() {
2762
+ return this.getRuleContext(0, MidSendContext);
2763
+ }
2344
2764
  execStatement() {
2345
2765
  return this.getRuleContext(0, ExecStatementContext);
2346
2766
  }
2767
+ workStatement() {
2768
+ return this.getRuleContext(0, WorkStatementContext);
2769
+ }
2770
+ forkStatement() {
2771
+ return this.getRuleContext(0, ForkStatementContext);
2772
+ }
2347
2773
  killStatement() {
2348
2774
  return this.getRuleContext(0, KillStatementContext);
2349
2775
  }
@@ -2387,12 +2813,18 @@ export class MidStatementContext extends antlr.ParserRuleContext {
2387
2813
  foldStatement() {
2388
2814
  return this.getRuleContext(0, FoldStatementContext);
2389
2815
  }
2390
- sendStatement() {
2391
- return this.getRuleContext(0, SendStatementContext);
2816
+ midSend() {
2817
+ return this.getRuleContext(0, MidSendContext);
2392
2818
  }
2393
2819
  execStatement() {
2394
2820
  return this.getRuleContext(0, ExecStatementContext);
2395
2821
  }
2822
+ workStatement() {
2823
+ return this.getRuleContext(0, WorkStatementContext);
2824
+ }
2825
+ forkStatement() {
2826
+ return this.getRuleContext(0, ForkStatementContext);
2827
+ }
2396
2828
  killStatement() {
2397
2829
  return this.getRuleContext(0, KillStatementContext);
2398
2830
  }
@@ -2632,12 +3064,12 @@ export class SendStatementContext extends antlr.ParserRuleContext {
2632
3064
  OPEN_SEND() {
2633
3065
  return this.getToken(plurnkParser.OPEN_SEND, 0);
2634
3066
  }
3067
+ termModifiers() {
3068
+ return this.getRuleContext(0, TermModifiersContext);
3069
+ }
2635
3070
  CLOSE_TAG() {
2636
3071
  return this.getToken(plurnkParser.CLOSE_TAG, 0);
2637
3072
  }
2638
- intOpModifiers() {
2639
- return this.getRuleContext(0, IntOpModifiersContext);
2640
- }
2641
3073
  COLON() {
2642
3074
  return this.getToken(plurnkParser.COLON, 0);
2643
3075
  }
@@ -2656,6 +3088,37 @@ export class SendStatementContext extends antlr.ParserRuleContext {
2656
3088
  }
2657
3089
  }
2658
3090
  }
3091
+ export class MidSendContext extends antlr.ParserRuleContext {
3092
+ constructor(parent, invokingState) {
3093
+ super(parent, invokingState);
3094
+ }
3095
+ OPEN_SEND() {
3096
+ return this.getToken(plurnkParser.OPEN_SEND, 0);
3097
+ }
3098
+ CLOSE_TAG() {
3099
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
3100
+ }
3101
+ midModifiers() {
3102
+ return this.getRuleContext(0, MidModifiersContext);
3103
+ }
3104
+ COLON() {
3105
+ return this.getToken(plurnkParser.COLON, 0);
3106
+ }
3107
+ body() {
3108
+ return this.getRuleContext(0, BodyContext);
3109
+ }
3110
+ get ruleIndex() {
3111
+ return plurnkParser.RULE_midSend;
3112
+ }
3113
+ accept(visitor) {
3114
+ if (visitor.visitMidSend) {
3115
+ return visitor.visitMidSend(this);
3116
+ }
3117
+ else {
3118
+ return visitor.visitChildren(this);
3119
+ }
3120
+ }
3121
+ }
2659
3122
  export class ExecStatementContext extends antlr.ParserRuleContext {
2660
3123
  constructor(parent, invokingState) {
2661
3124
  super(parent, invokingState);
@@ -2687,6 +3150,68 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
2687
3150
  }
2688
3151
  }
2689
3152
  }
3153
+ export class WorkStatementContext extends antlr.ParserRuleContext {
3154
+ constructor(parent, invokingState) {
3155
+ super(parent, invokingState);
3156
+ }
3157
+ OPEN_WORK() {
3158
+ return this.getToken(plurnkParser.OPEN_WORK, 0);
3159
+ }
3160
+ CLOSE_TAG() {
3161
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
3162
+ }
3163
+ target() {
3164
+ return this.getRuleContext(0, TargetContext);
3165
+ }
3166
+ COLON() {
3167
+ return this.getToken(plurnkParser.COLON, 0);
3168
+ }
3169
+ body() {
3170
+ return this.getRuleContext(0, BodyContext);
3171
+ }
3172
+ get ruleIndex() {
3173
+ return plurnkParser.RULE_workStatement;
3174
+ }
3175
+ accept(visitor) {
3176
+ if (visitor.visitWorkStatement) {
3177
+ return visitor.visitWorkStatement(this);
3178
+ }
3179
+ else {
3180
+ return visitor.visitChildren(this);
3181
+ }
3182
+ }
3183
+ }
3184
+ export class ForkStatementContext extends antlr.ParserRuleContext {
3185
+ constructor(parent, invokingState) {
3186
+ super(parent, invokingState);
3187
+ }
3188
+ OPEN_FORK() {
3189
+ return this.getToken(plurnkParser.OPEN_FORK, 0);
3190
+ }
3191
+ CLOSE_TAG() {
3192
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
3193
+ }
3194
+ target() {
3195
+ return this.getRuleContext(0, TargetContext);
3196
+ }
3197
+ COLON() {
3198
+ return this.getToken(plurnkParser.COLON, 0);
3199
+ }
3200
+ body() {
3201
+ return this.getRuleContext(0, BodyContext);
3202
+ }
3203
+ get ruleIndex() {
3204
+ return plurnkParser.RULE_forkStatement;
3205
+ }
3206
+ accept(visitor) {
3207
+ if (visitor.visitForkStatement) {
3208
+ return visitor.visitForkStatement(this);
3209
+ }
3210
+ else {
3211
+ return visitor.visitChildren(this);
3212
+ }
3213
+ }
3214
+ }
2690
3215
  export class KillStatementContext extends antlr.ParserRuleContext {
2691
3216
  constructor(parent, invokingState) {
2692
3217
  super(parent, invokingState);
@@ -2858,6 +3383,50 @@ export class IntOpModifiersContext extends antlr.ParserRuleContext {
2858
3383
  }
2859
3384
  }
2860
3385
  }
3386
+ export class TermModifiersContext extends antlr.ParserRuleContext {
3387
+ constructor(parent, invokingState) {
3388
+ super(parent, invokingState);
3389
+ }
3390
+ dispSignal() {
3391
+ return this.getRuleContext(0, DispSignalContext);
3392
+ }
3393
+ target() {
3394
+ return this.getRuleContext(0, TargetContext);
3395
+ }
3396
+ get ruleIndex() {
3397
+ return plurnkParser.RULE_termModifiers;
3398
+ }
3399
+ accept(visitor) {
3400
+ if (visitor.visitTermModifiers) {
3401
+ return visitor.visitTermModifiers(this);
3402
+ }
3403
+ else {
3404
+ return visitor.visitChildren(this);
3405
+ }
3406
+ }
3407
+ }
3408
+ export class MidModifiersContext extends antlr.ParserRuleContext {
3409
+ constructor(parent, invokingState) {
3410
+ super(parent, invokingState);
3411
+ }
3412
+ midSignal() {
3413
+ return this.getRuleContext(0, MidSignalContext);
3414
+ }
3415
+ target() {
3416
+ return this.getRuleContext(0, TargetContext);
3417
+ }
3418
+ get ruleIndex() {
3419
+ return plurnkParser.RULE_midModifiers;
3420
+ }
3421
+ accept(visitor) {
3422
+ if (visitor.visitMidModifiers) {
3423
+ return visitor.visitMidModifiers(this);
3424
+ }
3425
+ else {
3426
+ return visitor.visitChildren(this);
3427
+ }
3428
+ }
3429
+ }
2861
3430
  export class ExecModifiersContext extends antlr.ParserRuleContext {
2862
3431
  constructor(parent, invokingState) {
2863
3432
  super(parent, invokingState);
@@ -2934,6 +3503,9 @@ export class IntSignalContext extends antlr.ParserRuleContext {
2934
3503
  INT() {
2935
3504
  return this.getToken(plurnkParser.INT, 0);
2936
3505
  }
3506
+ DISPOSITION() {
3507
+ return this.getToken(plurnkParser.DISPOSITION, 0);
3508
+ }
2937
3509
  get ruleIndex() {
2938
3510
  return plurnkParser.RULE_intSignal;
2939
3511
  }
@@ -2946,6 +3518,56 @@ export class IntSignalContext extends antlr.ParserRuleContext {
2946
3518
  }
2947
3519
  }
2948
3520
  }
3521
+ export class MidSignalContext extends antlr.ParserRuleContext {
3522
+ constructor(parent, invokingState) {
3523
+ super(parent, invokingState);
3524
+ }
3525
+ LBRACKET() {
3526
+ return this.getToken(plurnkParser.LBRACKET, 0);
3527
+ }
3528
+ RBRACKET() {
3529
+ return this.getToken(plurnkParser.RBRACKET, 0);
3530
+ }
3531
+ INT() {
3532
+ return this.getToken(plurnkParser.INT, 0);
3533
+ }
3534
+ get ruleIndex() {
3535
+ return plurnkParser.RULE_midSignal;
3536
+ }
3537
+ accept(visitor) {
3538
+ if (visitor.visitMidSignal) {
3539
+ return visitor.visitMidSignal(this);
3540
+ }
3541
+ else {
3542
+ return visitor.visitChildren(this);
3543
+ }
3544
+ }
3545
+ }
3546
+ export class DispSignalContext extends antlr.ParserRuleContext {
3547
+ constructor(parent, invokingState) {
3548
+ super(parent, invokingState);
3549
+ }
3550
+ LBRACKET() {
3551
+ return this.getToken(plurnkParser.LBRACKET, 0);
3552
+ }
3553
+ DISPOSITION() {
3554
+ return this.getToken(plurnkParser.DISPOSITION, 0);
3555
+ }
3556
+ RBRACKET() {
3557
+ return this.getToken(plurnkParser.RBRACKET, 0);
3558
+ }
3559
+ get ruleIndex() {
3560
+ return plurnkParser.RULE_dispSignal;
3561
+ }
3562
+ accept(visitor) {
3563
+ if (visitor.visitDispSignal) {
3564
+ return visitor.visitDispSignal(this);
3565
+ }
3566
+ else {
3567
+ return visitor.visitChildren(this);
3568
+ }
3569
+ }
3570
+ }
2949
3571
  export class IdentSignalContext extends antlr.ParserRuleContext {
2950
3572
  constructor(parent, invokingState) {
2951
3573
  super(parent, invokingState);