circuitscript 0.0.17 → 0.0.19

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.
@@ -39,38 +39,40 @@ export default class CircuitScriptParser extends Parser {
39
39
  public static readonly At = 17;
40
40
  public static readonly To = 18;
41
41
  public static readonly Point = 19;
42
- public static readonly Return = 20;
43
- public static readonly Define = 21;
44
- public static readonly Import = 22;
45
- public static readonly If = 23;
46
- public static readonly Not = 24;
47
- public static readonly Equals = 25;
48
- public static readonly NotEquals = 26;
49
- public static readonly Addition = 27;
50
- public static readonly Minus = 28;
51
- public static readonly Divide = 29;
52
- public static readonly Multiply = 30;
53
- public static readonly OPEN_PAREN = 31;
54
- public static readonly CLOSE_PAREN = 32;
55
- public static readonly NOT_CONNECTED = 33;
56
- public static readonly BOOLEAN_VALUE = 34;
57
- public static readonly ID = 35;
58
- public static readonly INTEGER_VALUE = 36;
59
- public static readonly DECIMAL_VALUE = 37;
60
- public static readonly NUMERIC_VALUE = 38;
61
- public static readonly STRING_VALUE = 39;
62
- public static readonly PERCENTAGE_VALUE = 40;
63
- public static readonly ALPHA_NUMERIC = 41;
64
- public static readonly WS = 42;
65
- public static readonly NEWLINE = 43;
66
- public static readonly SKIP_ = 44;
67
- public static readonly INDENT = 45;
68
- public static readonly DEDENT = 46;
42
+ public static readonly Join = 20;
43
+ public static readonly Parallel = 21;
44
+ public static readonly Return = 22;
45
+ public static readonly Define = 23;
46
+ public static readonly Import = 24;
47
+ public static readonly If = 25;
48
+ public static readonly Not = 26;
49
+ public static readonly Equals = 27;
50
+ public static readonly NotEquals = 28;
51
+ public static readonly Addition = 29;
52
+ public static readonly Minus = 30;
53
+ public static readonly Divide = 31;
54
+ public static readonly Multiply = 32;
55
+ public static readonly OPEN_PAREN = 33;
56
+ public static readonly CLOSE_PAREN = 34;
57
+ public static readonly NOT_CONNECTED = 35;
58
+ public static readonly BOOLEAN_VALUE = 36;
59
+ public static readonly ID = 37;
60
+ public static readonly INTEGER_VALUE = 38;
61
+ public static readonly DECIMAL_VALUE = 39;
62
+ public static readonly NUMERIC_VALUE = 40;
63
+ public static readonly STRING_VALUE = 41;
64
+ public static readonly PERCENTAGE_VALUE = 42;
65
+ public static readonly ALPHA_NUMERIC = 43;
66
+ public static readonly WS = 44;
67
+ public static readonly NEWLINE = 45;
68
+ public static readonly SKIP_ = 46;
69
+ public static readonly INDENT = 47;
70
+ public static readonly DEDENT = 48;
69
71
  public static readonly EOF = Token.EOF;
70
72
  public static readonly RULE_script = 0;
71
73
  public static readonly RULE_expression = 1;
72
- public static readonly RULE_branch_blocks = 2;
73
- public static readonly RULE_branch_block_inner = 3;
74
+ public static readonly RULE_path_blocks = 2;
75
+ public static readonly RULE_path_block_inner = 3;
74
76
  public static readonly RULE_property_set_expr2 = 4;
75
77
  public static readonly RULE_assignment_expr2 = 5;
76
78
  public static readonly RULE_data_expr_with_assignment = 6;
@@ -128,6 +130,7 @@ export default class CircuitScriptParser extends Parser {
128
130
  "'wire'", "'pin'",
129
131
  "'add'", "'at'",
130
132
  "'to'", "'point'",
133
+ "'join'", "'parallel'",
131
134
  "'return'",
132
135
  "'def'", "'import'",
133
136
  "'if'", "'!'",
@@ -146,6 +149,7 @@ export default class CircuitScriptParser extends Parser {
146
149
  "Wire", "Pin",
147
150
  "Add", "At",
148
151
  "To", "Point",
152
+ "Join", "Parallel",
149
153
  "Return", "Define",
150
154
  "Import", "If",
151
155
  "Not", "Equals",
@@ -168,7 +172,7 @@ export default class CircuitScriptParser extends Parser {
168
172
  "DEDENT" ];
169
173
  // tslint:disable:no-trailing-whitespace
170
174
  public static readonly ruleNames: string[] = [
171
- "script", "expression", "branch_blocks", "branch_block_inner", "property_set_expr2",
175
+ "script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
172
176
  "assignment_expr2", "data_expr_with_assignment", "add_component_expr",
173
177
  "component_select_expr", "pin_select_expr", "pin_select_expr2", "at_component_expr",
174
178
  "to_component_expr", "at_to_multiple_expr", "at_to_multiple_line_expr",
@@ -221,17 +225,19 @@ export default class CircuitScriptParser extends Parser {
221
225
  case 17:
222
226
  case 18:
223
227
  case 19:
228
+ case 20:
224
229
  case 21:
225
- case 22:
226
- case 27:
230
+ case 23:
231
+ case 24:
227
232
  case 29:
228
- case 35:
233
+ case 31:
234
+ case 37:
229
235
  {
230
236
  this.state = 98;
231
237
  this.expression();
232
238
  }
233
239
  break;
234
- case 43:
240
+ case 45:
235
241
  {
236
242
  this.state = 99;
237
243
  this.match(CircuitScriptParser.NEWLINE);
@@ -244,7 +250,7 @@ export default class CircuitScriptParser extends Parser {
244
250
  this.state = 102;
245
251
  this._errHandler.sync(this);
246
252
  _la = this._input.LA(1);
247
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
253
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
248
254
  this.state = 104;
249
255
  this.match(CircuitScriptParser.EOF);
250
256
  }
@@ -345,42 +351,42 @@ export default class CircuitScriptParser extends Parser {
345
351
  this.enterOuterAlt(localctx, 11);
346
352
  {
347
353
  this.state = 116;
348
- this.point_expr();
354
+ this.import_expr();
349
355
  }
350
356
  break;
351
357
  case 12:
352
358
  this.enterOuterAlt(localctx, 12);
353
359
  {
354
360
  this.state = 117;
355
- this.import_expr();
361
+ this.frame_expr();
356
362
  }
357
363
  break;
358
364
  case 13:
359
365
  this.enterOuterAlt(localctx, 13);
360
366
  {
361
367
  this.state = 118;
362
- this.frame_expr();
368
+ this.atom_expr();
363
369
  }
364
370
  break;
365
371
  case 14:
366
372
  this.enterOuterAlt(localctx, 14);
367
373
  {
368
374
  this.state = 119;
369
- this.atom_expr();
375
+ this.at_block();
370
376
  }
371
377
  break;
372
378
  case 15:
373
379
  this.enterOuterAlt(localctx, 15);
374
380
  {
375
381
  this.state = 120;
376
- this.at_block();
382
+ this.path_blocks();
377
383
  }
378
384
  break;
379
385
  case 16:
380
386
  this.enterOuterAlt(localctx, 16);
381
387
  {
382
388
  this.state = 121;
383
- this.branch_blocks();
389
+ this.point_expr();
384
390
  }
385
391
  break;
386
392
  }
@@ -400,9 +406,9 @@ export default class CircuitScriptParser extends Parser {
400
406
  return localctx;
401
407
  }
402
408
  // @RuleVersion(0)
403
- public branch_blocks(): Branch_blocksContext {
404
- let localctx: Branch_blocksContext = new Branch_blocksContext(this, this._ctx, this.state);
405
- this.enterRule(localctx, 4, CircuitScriptParser.RULE_branch_blocks);
409
+ public path_blocks(): Path_blocksContext {
410
+ let localctx: Path_blocksContext = new Path_blocksContext(this, this._ctx, this.state);
411
+ this.enterRule(localctx, 4, CircuitScriptParser.RULE_path_blocks);
406
412
  try {
407
413
  let _alt: number;
408
414
  this.enterOuterAlt(localctx, 1);
@@ -416,7 +422,7 @@ export default class CircuitScriptParser extends Parser {
416
422
  {
417
423
  {
418
424
  this.state = 124;
419
- this.branch_block_inner();
425
+ this.path_block_inner();
420
426
  }
421
427
  }
422
428
  break;
@@ -444,15 +450,22 @@ export default class CircuitScriptParser extends Parser {
444
450
  return localctx;
445
451
  }
446
452
  // @RuleVersion(0)
447
- public branch_block_inner(): Branch_block_innerContext {
448
- let localctx: Branch_block_innerContext = new Branch_block_innerContext(this, this._ctx, this.state);
449
- this.enterRule(localctx, 6, CircuitScriptParser.RULE_branch_block_inner);
453
+ public path_block_inner(): Path_block_innerContext {
454
+ let localctx: Path_block_innerContext = new Path_block_innerContext(this, this._ctx, this.state);
455
+ this.enterRule(localctx, 6, CircuitScriptParser.RULE_path_block_inner);
450
456
  let _la: number;
451
457
  try {
452
458
  this.enterOuterAlt(localctx, 1);
453
459
  {
454
460
  this.state = 129;
455
- this.match(CircuitScriptParser.Branch);
461
+ _la = this._input.LA(1);
462
+ if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3671040) !== 0))) {
463
+ this._errHandler.recoverInline(this);
464
+ }
465
+ else {
466
+ this._errHandler.reportMatch(this);
467
+ this.consume();
468
+ }
456
469
  this.state = 130;
457
470
  this.match(CircuitScriptParser.T__0);
458
471
  this.state = 131;
@@ -467,7 +480,7 @@ export default class CircuitScriptParser extends Parser {
467
480
  this.state = 135;
468
481
  this._errHandler.sync(this);
469
482
  switch (this._input.LA(1)) {
470
- case 43:
483
+ case 45:
471
484
  {
472
485
  this.state = 133;
473
486
  this.match(CircuitScriptParser.NEWLINE);
@@ -482,11 +495,13 @@ export default class CircuitScriptParser extends Parser {
482
495
  case 17:
483
496
  case 18:
484
497
  case 19:
498
+ case 20:
485
499
  case 21:
486
- case 22:
487
- case 27:
500
+ case 23:
501
+ case 24:
488
502
  case 29:
489
- case 35:
503
+ case 31:
504
+ case 37:
490
505
  {
491
506
  this.state = 134;
492
507
  this.expression();
@@ -499,7 +514,7 @@ export default class CircuitScriptParser extends Parser {
499
514
  this.state = 137;
500
515
  this._errHandler.sync(this);
501
516
  _la = this._input.LA(1);
502
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
517
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
503
518
  this.state = 139;
504
519
  this.match(CircuitScriptParser.DEDENT);
505
520
  }
@@ -542,14 +557,14 @@ export default class CircuitScriptParser extends Parser {
542
557
  this.state = 147;
543
558
  this._errHandler.sync(this);
544
559
  switch (this._input.LA(1)) {
545
- case 43:
560
+ case 45:
546
561
  {
547
562
  this.state = 145;
548
563
  this.match(CircuitScriptParser.NEWLINE);
549
564
  }
550
565
  break;
551
- case 35:
552
- case 36:
566
+ case 37:
567
+ case 38:
553
568
  {
554
569
  this.state = 146;
555
570
  this.assignment_expr2();
@@ -562,7 +577,7 @@ export default class CircuitScriptParser extends Parser {
562
577
  this.state = 149;
563
578
  this._errHandler.sync(this);
564
579
  _la = this._input.LA(1);
565
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 259) !== 0));
580
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 259) !== 0));
566
581
  this.state = 151;
567
582
  this.match(CircuitScriptParser.DEDENT);
568
583
  }
@@ -591,7 +606,7 @@ export default class CircuitScriptParser extends Parser {
591
606
  {
592
607
  this.state = 153;
593
608
  _la = this._input.LA(1);
594
- if(!(_la===35 || _la===36)) {
609
+ if(!(_la===37 || _la===38)) {
595
610
  this._errHandler.recoverInline(this);
596
611
  }
597
612
  else {
@@ -715,18 +730,18 @@ export default class CircuitScriptParser extends Parser {
715
730
  switch (this._input.LA(1)) {
716
731
  case 6:
717
732
  case 11:
718
- case 24:
719
- case 27:
720
- case 28:
733
+ case 26:
721
734
  case 29:
735
+ case 30:
722
736
  case 31:
723
- case 34:
724
- case 35:
737
+ case 33:
725
738
  case 36:
726
739
  case 37:
727
740
  case 38:
728
741
  case 39:
729
742
  case 40:
743
+ case 41:
744
+ case 42:
730
745
  this.enterOuterAlt(localctx, 1);
731
746
  {
732
747
  this.state = 169;
@@ -770,7 +785,7 @@ export default class CircuitScriptParser extends Parser {
770
785
  this.match(CircuitScriptParser.Pin);
771
786
  this.state = 174;
772
787
  _la = this._input.LA(1);
773
- if(!(_la===36 || _la===39)) {
788
+ if(!(_la===38 || _la===41)) {
774
789
  this._errHandler.recoverInline(this);
775
790
  }
776
791
  else {
@@ -803,7 +818,7 @@ export default class CircuitScriptParser extends Parser {
803
818
  {
804
819
  this.state = 176;
805
820
  _la = this._input.LA(1);
806
- if(!(_la===36 || _la===39)) {
821
+ if(!(_la===38 || _la===41)) {
807
822
  this._errHandler.recoverInline(this);
808
823
  }
809
824
  else {
@@ -835,17 +850,49 @@ export default class CircuitScriptParser extends Parser {
835
850
  {
836
851
  this.state = 178;
837
852
  this.match(CircuitScriptParser.At);
838
- this.state = 179;
839
- this.component_select_expr();
840
- this.state = 181;
853
+ this.state = 184;
841
854
  this._errHandler.sync(this);
842
- switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) {
843
- case 1:
855
+ switch (this._input.LA(1)) {
856
+ case 6:
857
+ case 11:
858
+ case 15:
859
+ case 26:
860
+ case 29:
861
+ case 30:
862
+ case 31:
863
+ case 33:
864
+ case 36:
865
+ case 37:
866
+ case 38:
867
+ case 39:
868
+ case 40:
869
+ case 41:
870
+ case 42:
844
871
  {
845
- this.state = 180;
846
- this.match(CircuitScriptParser.ID);
872
+ {
873
+ this.state = 179;
874
+ this.component_select_expr();
875
+ this.state = 181;
876
+ this._errHandler.sync(this);
877
+ switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) {
878
+ case 1:
879
+ {
880
+ this.state = 180;
881
+ this.match(CircuitScriptParser.ID);
882
+ }
883
+ break;
884
+ }
885
+ }
886
+ }
887
+ break;
888
+ case 19:
889
+ {
890
+ this.state = 183;
891
+ this.match(CircuitScriptParser.Point);
847
892
  }
848
893
  break;
894
+ default:
895
+ throw new NoViableAltException(this);
849
896
  }
850
897
  }
851
898
  }
@@ -871,35 +918,67 @@ export default class CircuitScriptParser extends Parser {
871
918
  try {
872
919
  this.enterOuterAlt(localctx, 1);
873
920
  {
874
- this.state = 183;
921
+ this.state = 186;
875
922
  this.match(CircuitScriptParser.To);
876
- this.state = 184;
877
- this.component_select_expr();
878
- this.state = 189;
923
+ this.state = 199;
879
924
  this._errHandler.sync(this);
880
- _la = this._input.LA(1);
881
- while (_la===2) {
925
+ switch (this._input.LA(1)) {
926
+ case 6:
927
+ case 11:
928
+ case 15:
929
+ case 26:
930
+ case 29:
931
+ case 30:
932
+ case 31:
933
+ case 33:
934
+ case 36:
935
+ case 37:
936
+ case 38:
937
+ case 39:
938
+ case 40:
939
+ case 41:
940
+ case 42:
882
941
  {
883
942
  {
884
- this.state = 185;
885
- this.match(CircuitScriptParser.T__1);
886
- this.state = 186;
943
+ this.state = 187;
887
944
  this.component_select_expr();
888
- }
889
- }
890
- this.state = 191;
945
+ this.state = 192;
891
946
  this._errHandler.sync(this);
892
947
  _la = this._input.LA(1);
893
- }
894
- this.state = 193;
895
- this._errHandler.sync(this);
896
- switch ( this._interp.adaptivePredict(this._input, 14, this._ctx) ) {
897
- case 1:
948
+ while (_la===2) {
949
+ {
950
+ {
951
+ this.state = 188;
952
+ this.match(CircuitScriptParser.T__1);
953
+ this.state = 189;
954
+ this.component_select_expr();
955
+ }
956
+ }
957
+ this.state = 194;
958
+ this._errHandler.sync(this);
959
+ _la = this._input.LA(1);
960
+ }
961
+ this.state = 196;
962
+ this._errHandler.sync(this);
963
+ switch ( this._interp.adaptivePredict(this._input, 15, this._ctx) ) {
964
+ case 1:
965
+ {
966
+ this.state = 195;
967
+ this.match(CircuitScriptParser.ID);
968
+ }
969
+ break;
970
+ }
971
+ }
972
+ }
973
+ break;
974
+ case 19:
898
975
  {
899
- this.state = 192;
900
- this.match(CircuitScriptParser.ID);
976
+ this.state = 198;
977
+ this.match(CircuitScriptParser.Point);
901
978
  }
902
979
  break;
980
+ default:
981
+ throw new NoViableAltException(this);
903
982
  }
904
983
  }
905
984
  }
@@ -925,54 +1004,54 @@ export default class CircuitScriptParser extends Parser {
925
1004
  try {
926
1005
  this.enterOuterAlt(localctx, 1);
927
1006
  {
928
- this.state = 195;
1007
+ this.state = 201;
929
1008
  this.match(CircuitScriptParser.At);
930
- this.state = 196;
1009
+ this.state = 202;
931
1010
  this.component_select_expr();
932
- this.state = 197;
1011
+ this.state = 203;
933
1012
  this.match(CircuitScriptParser.To);
934
- this.state = 198;
1013
+ this.state = 204;
935
1014
  this.component_select_expr();
936
- this.state = 203;
1015
+ this.state = 209;
937
1016
  this._errHandler.sync(this);
938
1017
  _la = this._input.LA(1);
939
1018
  while (_la===2) {
940
1019
  {
941
1020
  {
942
- this.state = 199;
1021
+ this.state = 205;
943
1022
  this.match(CircuitScriptParser.T__1);
944
- this.state = 200;
1023
+ this.state = 206;
945
1024
  this.component_select_expr();
946
1025
  }
947
1026
  }
948
- this.state = 205;
1027
+ this.state = 211;
949
1028
  this._errHandler.sync(this);
950
1029
  _la = this._input.LA(1);
951
1030
  }
952
- this.state = 206;
1031
+ this.state = 212;
953
1032
  this.match(CircuitScriptParser.T__0);
954
- this.state = 207;
1033
+ this.state = 213;
955
1034
  this.match(CircuitScriptParser.NEWLINE);
956
- this.state = 208;
1035
+ this.state = 214;
957
1036
  this.match(CircuitScriptParser.INDENT);
958
- this.state = 211;
1037
+ this.state = 217;
959
1038
  this._errHandler.sync(this);
960
1039
  _la = this._input.LA(1);
961
1040
  do {
962
1041
  {
963
- this.state = 211;
1042
+ this.state = 217;
964
1043
  this._errHandler.sync(this);
965
1044
  switch (this._input.LA(1)) {
966
- case 43:
1045
+ case 45:
967
1046
  {
968
- this.state = 209;
1047
+ this.state = 215;
969
1048
  this.match(CircuitScriptParser.NEWLINE);
970
1049
  }
971
1050
  break;
972
- case 36:
973
- case 39:
1051
+ case 38:
1052
+ case 41:
974
1053
  {
975
- this.state = 210;
1054
+ this.state = 216;
976
1055
  this.at_to_multiple_line_expr();
977
1056
  }
978
1057
  break;
@@ -980,11 +1059,11 @@ export default class CircuitScriptParser extends Parser {
980
1059
  throw new NoViableAltException(this);
981
1060
  }
982
1061
  }
983
- this.state = 213;
1062
+ this.state = 219;
984
1063
  this._errHandler.sync(this);
985
1064
  _la = this._input.LA(1);
986
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 137) !== 0));
987
- this.state = 215;
1065
+ } while (((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 137) !== 0));
1066
+ this.state = 221;
988
1067
  this.match(CircuitScriptParser.DEDENT);
989
1068
  }
990
1069
  }
@@ -1010,25 +1089,25 @@ export default class CircuitScriptParser extends Parser {
1010
1089
  try {
1011
1090
  this.enterOuterAlt(localctx, 1);
1012
1091
  {
1013
- this.state = 217;
1092
+ this.state = 223;
1014
1093
  this.pin_select_expr2();
1015
- this.state = 218;
1094
+ this.state = 224;
1016
1095
  this.match(CircuitScriptParser.T__0);
1017
- this.state = 219;
1096
+ this.state = 225;
1018
1097
  this.at_to_multiple_line_expr_to_pin();
1019
- this.state = 224;
1098
+ this.state = 230;
1020
1099
  this._errHandler.sync(this);
1021
1100
  _la = this._input.LA(1);
1022
1101
  while (_la===2) {
1023
1102
  {
1024
1103
  {
1025
- this.state = 220;
1104
+ this.state = 226;
1026
1105
  this.match(CircuitScriptParser.T__1);
1027
- this.state = 221;
1106
+ this.state = 227;
1028
1107
  this.at_to_multiple_line_expr_to_pin();
1029
1108
  }
1030
1109
  }
1031
- this.state = 226;
1110
+ this.state = 232;
1032
1111
  this._errHandler.sync(this);
1033
1112
  _la = this._input.LA(1);
1034
1113
  }
@@ -1056,9 +1135,9 @@ export default class CircuitScriptParser extends Parser {
1056
1135
  try {
1057
1136
  this.enterOuterAlt(localctx, 1);
1058
1137
  {
1059
- this.state = 227;
1138
+ this.state = 233;
1060
1139
  _la = this._input.LA(1);
1061
- if(!(_la===33 || _la===36)) {
1140
+ if(!(_la===35 || _la===38)) {
1062
1141
  this._errHandler.recoverInline(this);
1063
1142
  }
1064
1143
  else {
@@ -1089,25 +1168,25 @@ export default class CircuitScriptParser extends Parser {
1089
1168
  try {
1090
1169
  this.enterOuterAlt(localctx, 1);
1091
1170
  {
1092
- this.state = 229;
1171
+ this.state = 235;
1093
1172
  this.at_component_expr();
1094
- this.state = 230;
1173
+ this.state = 236;
1095
1174
  this.match(CircuitScriptParser.T__0);
1096
- this.state = 231;
1175
+ this.state = 237;
1097
1176
  this.match(CircuitScriptParser.NEWLINE);
1098
- this.state = 232;
1177
+ this.state = 238;
1099
1178
  this.match(CircuitScriptParser.INDENT);
1100
- this.state = 235;
1179
+ this.state = 241;
1101
1180
  this._errHandler.sync(this);
1102
1181
  _la = this._input.LA(1);
1103
1182
  do {
1104
1183
  {
1105
- this.state = 235;
1184
+ this.state = 241;
1106
1185
  this._errHandler.sync(this);
1107
1186
  switch (this._input.LA(1)) {
1108
- case 43:
1187
+ case 45:
1109
1188
  {
1110
- this.state = 233;
1189
+ this.state = 239;
1111
1190
  this.match(CircuitScriptParser.NEWLINE);
1112
1191
  }
1113
1192
  break;
@@ -1120,15 +1199,17 @@ export default class CircuitScriptParser extends Parser {
1120
1199
  case 17:
1121
1200
  case 18:
1122
1201
  case 19:
1202
+ case 20:
1123
1203
  case 21:
1124
- case 22:
1125
- case 27:
1204
+ case 23:
1205
+ case 24:
1126
1206
  case 29:
1127
- case 35:
1128
- case 36:
1129
- case 39:
1207
+ case 31:
1208
+ case 37:
1209
+ case 38:
1210
+ case 41:
1130
1211
  {
1131
- this.state = 234;
1212
+ this.state = 240;
1132
1213
  this.at_block_expressions();
1133
1214
  }
1134
1215
  break;
@@ -1136,11 +1217,11 @@ export default class CircuitScriptParser extends Parser {
1136
1217
  throw new NoViableAltException(this);
1137
1218
  }
1138
1219
  }
1139
- this.state = 237;
1220
+ this.state = 243;
1140
1221
  this._errHandler.sync(this);
1141
1222
  _la = this._input.LA(1);
1142
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
1143
- this.state = 239;
1223
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
1224
+ this.state = 245;
1144
1225
  this.match(CircuitScriptParser.DEDENT);
1145
1226
  }
1146
1227
  }
@@ -1163,7 +1244,7 @@ export default class CircuitScriptParser extends Parser {
1163
1244
  let localctx: At_block_expressionsContext = new At_block_expressionsContext(this, this._ctx, this.state);
1164
1245
  this.enterRule(localctx, 34, CircuitScriptParser.RULE_at_block_expressions);
1165
1246
  try {
1166
- this.state = 243;
1247
+ this.state = 249;
1167
1248
  this._errHandler.sync(this);
1168
1249
  switch (this._input.LA(1)) {
1169
1250
  case 4:
@@ -1175,22 +1256,24 @@ export default class CircuitScriptParser extends Parser {
1175
1256
  case 17:
1176
1257
  case 18:
1177
1258
  case 19:
1259
+ case 20:
1178
1260
  case 21:
1179
- case 22:
1180
- case 27:
1261
+ case 23:
1262
+ case 24:
1181
1263
  case 29:
1182
- case 35:
1264
+ case 31:
1265
+ case 37:
1183
1266
  this.enterOuterAlt(localctx, 1);
1184
1267
  {
1185
- this.state = 241;
1268
+ this.state = 247;
1186
1269
  this.expression();
1187
1270
  }
1188
1271
  break;
1189
- case 36:
1190
- case 39:
1272
+ case 38:
1273
+ case 41:
1191
1274
  this.enterOuterAlt(localctx, 2);
1192
1275
  {
1193
- this.state = 242;
1276
+ this.state = 248;
1194
1277
  this.at_block_pin_expr();
1195
1278
  }
1196
1279
  break;
@@ -1219,11 +1302,11 @@ export default class CircuitScriptParser extends Parser {
1219
1302
  try {
1220
1303
  this.enterOuterAlt(localctx, 1);
1221
1304
  {
1222
- this.state = 245;
1305
+ this.state = 251;
1223
1306
  this.pin_select_expr2();
1224
- this.state = 246;
1307
+ this.state = 252;
1225
1308
  this.match(CircuitScriptParser.T__0);
1226
- this.state = 249;
1309
+ this.state = 255;
1227
1310
  this._errHandler.sync(this);
1228
1311
  switch (this._input.LA(1)) {
1229
1312
  case 4:
@@ -1235,20 +1318,22 @@ export default class CircuitScriptParser extends Parser {
1235
1318
  case 17:
1236
1319
  case 18:
1237
1320
  case 19:
1321
+ case 20:
1238
1322
  case 21:
1239
- case 22:
1240
- case 27:
1323
+ case 23:
1324
+ case 24:
1241
1325
  case 29:
1242
- case 33:
1326
+ case 31:
1243
1327
  case 35:
1328
+ case 37:
1244
1329
  {
1245
- this.state = 247;
1330
+ this.state = 253;
1246
1331
  this.at_block_pin_expression_simple();
1247
1332
  }
1248
1333
  break;
1249
- case 43:
1334
+ case 45:
1250
1335
  {
1251
- this.state = 248;
1336
+ this.state = 254;
1252
1337
  this.at_block_pin_expression_complex();
1253
1338
  }
1254
1339
  break;
@@ -1278,7 +1363,7 @@ export default class CircuitScriptParser extends Parser {
1278
1363
  try {
1279
1364
  this.enterOuterAlt(localctx, 1);
1280
1365
  {
1281
- this.state = 253;
1366
+ this.state = 259;
1282
1367
  this._errHandler.sync(this);
1283
1368
  switch (this._input.LA(1)) {
1284
1369
  case 4:
@@ -1290,19 +1375,21 @@ export default class CircuitScriptParser extends Parser {
1290
1375
  case 17:
1291
1376
  case 18:
1292
1377
  case 19:
1378
+ case 20:
1293
1379
  case 21:
1294
- case 22:
1295
- case 27:
1380
+ case 23:
1381
+ case 24:
1296
1382
  case 29:
1297
- case 35:
1383
+ case 31:
1384
+ case 37:
1298
1385
  {
1299
- this.state = 251;
1386
+ this.state = 257;
1300
1387
  this.expression();
1301
1388
  }
1302
1389
  break;
1303
- case 33:
1390
+ case 35:
1304
1391
  {
1305
- this.state = 252;
1392
+ this.state = 258;
1306
1393
  this.match(CircuitScriptParser.NOT_CONNECTED);
1307
1394
  }
1308
1395
  break;
@@ -1333,21 +1420,21 @@ export default class CircuitScriptParser extends Parser {
1333
1420
  try {
1334
1421
  this.enterOuterAlt(localctx, 1);
1335
1422
  {
1336
- this.state = 255;
1423
+ this.state = 261;
1337
1424
  this.match(CircuitScriptParser.NEWLINE);
1338
- this.state = 256;
1425
+ this.state = 262;
1339
1426
  this.match(CircuitScriptParser.INDENT);
1340
- this.state = 259;
1427
+ this.state = 265;
1341
1428
  this._errHandler.sync(this);
1342
1429
  _la = this._input.LA(1);
1343
1430
  do {
1344
1431
  {
1345
- this.state = 259;
1432
+ this.state = 265;
1346
1433
  this._errHandler.sync(this);
1347
1434
  switch (this._input.LA(1)) {
1348
- case 43:
1435
+ case 45:
1349
1436
  {
1350
- this.state = 257;
1437
+ this.state = 263;
1351
1438
  this.match(CircuitScriptParser.NEWLINE);
1352
1439
  }
1353
1440
  break;
@@ -1360,13 +1447,15 @@ export default class CircuitScriptParser extends Parser {
1360
1447
  case 17:
1361
1448
  case 18:
1362
1449
  case 19:
1450
+ case 20:
1363
1451
  case 21:
1364
- case 22:
1365
- case 27:
1452
+ case 23:
1453
+ case 24:
1366
1454
  case 29:
1367
- case 35:
1455
+ case 31:
1456
+ case 37:
1368
1457
  {
1369
- this.state = 258;
1458
+ this.state = 264;
1370
1459
  this.expression();
1371
1460
  }
1372
1461
  break;
@@ -1374,11 +1463,11 @@ export default class CircuitScriptParser extends Parser {
1374
1463
  throw new NoViableAltException(this);
1375
1464
  }
1376
1465
  }
1377
- this.state = 261;
1466
+ this.state = 267;
1378
1467
  this._errHandler.sync(this);
1379
1468
  _la = this._input.LA(1);
1380
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
1381
- this.state = 263;
1469
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
1470
+ this.state = 269;
1382
1471
  this.match(CircuitScriptParser.DEDENT);
1383
1472
  }
1384
1473
  }
@@ -1403,7 +1492,7 @@ export default class CircuitScriptParser extends Parser {
1403
1492
  try {
1404
1493
  this.enterOuterAlt(localctx, 1);
1405
1494
  {
1406
- this.state = 265;
1495
+ this.state = 271;
1407
1496
  this.match(CircuitScriptParser.Break);
1408
1497
  }
1409
1498
  }
@@ -1428,11 +1517,11 @@ export default class CircuitScriptParser extends Parser {
1428
1517
  try {
1429
1518
  this.enterOuterAlt(localctx, 1);
1430
1519
  {
1431
- this.state = 267;
1520
+ this.state = 273;
1432
1521
  this.atom_expr();
1433
- this.state = 268;
1522
+ this.state = 274;
1434
1523
  this.match(CircuitScriptParser.T__2);
1435
- this.state = 269;
1524
+ this.state = 275;
1436
1525
  this.data_expr(0);
1437
1526
  }
1438
1527
  }
@@ -1457,11 +1546,11 @@ export default class CircuitScriptParser extends Parser {
1457
1546
  try {
1458
1547
  this.enterOuterAlt(localctx, 1);
1459
1548
  {
1460
- this.state = 271;
1549
+ this.state = 277;
1461
1550
  this.match(CircuitScriptParser.ID);
1462
- this.state = 272;
1551
+ this.state = 278;
1463
1552
  this.match(CircuitScriptParser.T__2);
1464
- this.state = 273;
1553
+ this.state = 279;
1465
1554
  this.data_expr(0);
1466
1555
  }
1467
1556
  }
@@ -1486,46 +1575,46 @@ export default class CircuitScriptParser extends Parser {
1486
1575
  let _la: number;
1487
1576
  try {
1488
1577
  let _alt: number;
1489
- this.state = 298;
1578
+ this.state = 304;
1490
1579
  this._errHandler.sync(this);
1491
- switch ( this._interp.adaptivePredict(this._input, 29, this._ctx) ) {
1580
+ switch ( this._interp.adaptivePredict(this._input, 31, this._ctx) ) {
1492
1581
  case 1:
1493
1582
  this.enterOuterAlt(localctx, 1);
1494
1583
  {
1495
1584
  {
1496
- this.state = 275;
1585
+ this.state = 281;
1497
1586
  this.data_expr(0);
1498
- this.state = 280;
1587
+ this.state = 286;
1499
1588
  this._errHandler.sync(this);
1500
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1589
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1501
1590
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1502
1591
  if (_alt === 1) {
1503
1592
  {
1504
1593
  {
1505
- this.state = 276;
1594
+ this.state = 282;
1506
1595
  this.match(CircuitScriptParser.T__1);
1507
- this.state = 277;
1596
+ this.state = 283;
1508
1597
  this.data_expr(0);
1509
1598
  }
1510
1599
  }
1511
1600
  }
1512
- this.state = 282;
1601
+ this.state = 288;
1513
1602
  this._errHandler.sync(this);
1514
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1603
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1515
1604
  }
1516
- this.state = 287;
1605
+ this.state = 293;
1517
1606
  this._errHandler.sync(this);
1518
1607
  _la = this._input.LA(1);
1519
1608
  while (_la===2) {
1520
1609
  {
1521
1610
  {
1522
- this.state = 283;
1611
+ this.state = 289;
1523
1612
  this.match(CircuitScriptParser.T__1);
1524
- this.state = 284;
1613
+ this.state = 290;
1525
1614
  this.keyword_assignment_expr();
1526
1615
  }
1527
1616
  }
1528
- this.state = 289;
1617
+ this.state = 295;
1529
1618
  this._errHandler.sync(this);
1530
1619
  _la = this._input.LA(1);
1531
1620
  }
@@ -1536,21 +1625,21 @@ export default class CircuitScriptParser extends Parser {
1536
1625
  this.enterOuterAlt(localctx, 2);
1537
1626
  {
1538
1627
  {
1539
- this.state = 290;
1628
+ this.state = 296;
1540
1629
  this.keyword_assignment_expr();
1541
- this.state = 295;
1630
+ this.state = 301;
1542
1631
  this._errHandler.sync(this);
1543
1632
  _la = this._input.LA(1);
1544
1633
  while (_la===2) {
1545
1634
  {
1546
1635
  {
1547
- this.state = 291;
1636
+ this.state = 297;
1548
1637
  this.match(CircuitScriptParser.T__1);
1549
- this.state = 292;
1638
+ this.state = 298;
1550
1639
  this.keyword_assignment_expr();
1551
1640
  }
1552
1641
  }
1553
- this.state = 297;
1642
+ this.state = 303;
1554
1643
  this._errHandler.sync(this);
1555
1644
  _la = this._input.LA(1);
1556
1645
  }
@@ -1580,11 +1669,11 @@ export default class CircuitScriptParser extends Parser {
1580
1669
  try {
1581
1670
  this.enterOuterAlt(localctx, 1);
1582
1671
  {
1583
- this.state = 300;
1672
+ this.state = 306;
1584
1673
  this.atom_expr();
1585
- this.state = 301;
1674
+ this.state = 307;
1586
1675
  this.match(CircuitScriptParser.T__2);
1587
- this.state = 302;
1676
+ this.state = 308;
1588
1677
  this.data_expr(0);
1589
1678
  }
1590
1679
  }
@@ -1609,13 +1698,13 @@ export default class CircuitScriptParser extends Parser {
1609
1698
  try {
1610
1699
  this.enterOuterAlt(localctx, 1);
1611
1700
  {
1612
- this.state = 304;
1701
+ this.state = 310;
1613
1702
  this.match(CircuitScriptParser.T__3);
1614
- this.state = 305;
1703
+ this.state = 311;
1615
1704
  this.match(CircuitScriptParser.ID);
1616
- this.state = 306;
1705
+ this.state = 312;
1617
1706
  this.match(CircuitScriptParser.T__2);
1618
- this.state = 307;
1707
+ this.state = 313;
1619
1708
  this.data_expr(0);
1620
1709
  }
1621
1710
  }
@@ -1653,9 +1742,9 @@ export default class CircuitScriptParser extends Parser {
1653
1742
  let _alt: number;
1654
1743
  this.enterOuterAlt(localctx, 1);
1655
1744
  {
1656
- this.state = 323;
1745
+ this.state = 329;
1657
1746
  this._errHandler.sync(this);
1658
- switch ( this._interp.adaptivePredict(this._input, 32, this._ctx) ) {
1747
+ switch ( this._interp.adaptivePredict(this._input, 34, this._ctx) ) {
1659
1748
  case 1:
1660
1749
  {
1661
1750
  localctx = new DataExprContext(this, localctx);
@@ -1663,37 +1752,37 @@ export default class CircuitScriptParser extends Parser {
1663
1752
  _prevctx = localctx;
1664
1753
 
1665
1754
  {
1666
- this.state = 311;
1755
+ this.state = 317;
1667
1756
  this._errHandler.sync(this);
1668
- switch ( this._interp.adaptivePredict(this._input, 30, this._ctx) ) {
1757
+ switch ( this._interp.adaptivePredict(this._input, 32, this._ctx) ) {
1669
1758
  case 1:
1670
1759
  {
1671
- this.state = 310;
1760
+ this.state = 316;
1672
1761
  this.unary_operator();
1673
1762
  }
1674
1763
  break;
1675
1764
  }
1676
- this.state = 315;
1765
+ this.state = 321;
1677
1766
  this._errHandler.sync(this);
1678
1767
  switch (this._input.LA(1)) {
1679
1768
  case 6:
1680
- case 28:
1681
- case 34:
1769
+ case 30:
1682
1770
  case 36:
1683
- case 37:
1684
1771
  case 38:
1685
1772
  case 39:
1686
1773
  case 40:
1774
+ case 41:
1775
+ case 42:
1687
1776
  {
1688
- this.state = 313;
1777
+ this.state = 319;
1689
1778
  this.value_expr();
1690
1779
  }
1691
1780
  break;
1692
- case 27:
1693
1781
  case 29:
1694
- case 35:
1782
+ case 31:
1783
+ case 37:
1695
1784
  {
1696
- this.state = 314;
1785
+ this.state = 320;
1697
1786
  this.atom_expr();
1698
1787
  }
1699
1788
  break;
@@ -1708,11 +1797,11 @@ export default class CircuitScriptParser extends Parser {
1708
1797
  localctx = new RoundedBracketsExprContext(this, localctx);
1709
1798
  this._ctx = localctx;
1710
1799
  _prevctx = localctx;
1711
- this.state = 317;
1800
+ this.state = 323;
1712
1801
  this.match(CircuitScriptParser.OPEN_PAREN);
1713
- this.state = 318;
1802
+ this.state = 324;
1714
1803
  this.data_expr(0);
1715
- this.state = 319;
1804
+ this.state = 325;
1716
1805
  this.match(CircuitScriptParser.CLOSE_PAREN);
1717
1806
  }
1718
1807
  break;
@@ -1721,7 +1810,7 @@ export default class CircuitScriptParser extends Parser {
1721
1810
  localctx = new DataExprContext(this, localctx);
1722
1811
  this._ctx = localctx;
1723
1812
  _prevctx = localctx;
1724
- this.state = 321;
1813
+ this.state = 327;
1725
1814
  this.create_component_expr();
1726
1815
  }
1727
1816
  break;
@@ -1730,15 +1819,15 @@ export default class CircuitScriptParser extends Parser {
1730
1819
  localctx = new DataExprContext(this, localctx);
1731
1820
  this._ctx = localctx;
1732
1821
  _prevctx = localctx;
1733
- this.state = 322;
1822
+ this.state = 328;
1734
1823
  this.create_graphic_expr();
1735
1824
  }
1736
1825
  break;
1737
1826
  }
1738
1827
  this._ctx.stop = this._input.LT(-1);
1739
- this.state = 337;
1828
+ this.state = 343;
1740
1829
  this._errHandler.sync(this);
1741
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1830
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1742
1831
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1743
1832
  if (_alt === 1) {
1744
1833
  if (this._parseListeners != null) {
@@ -1746,27 +1835,27 @@ export default class CircuitScriptParser extends Parser {
1746
1835
  }
1747
1836
  _prevctx = localctx;
1748
1837
  {
1749
- this.state = 335;
1838
+ this.state = 341;
1750
1839
  this._errHandler.sync(this);
1751
- switch ( this._interp.adaptivePredict(this._input, 33, this._ctx) ) {
1840
+ switch ( this._interp.adaptivePredict(this._input, 35, this._ctx) ) {
1752
1841
  case 1:
1753
1842
  {
1754
1843
  localctx = new MultiplyExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1755
1844
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1756
- this.state = 325;
1845
+ this.state = 331;
1757
1846
  if (!(this.precpred(this._ctx, 5))) {
1758
1847
  throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
1759
1848
  }
1760
- this.state = 326;
1849
+ this.state = 332;
1761
1850
  _la = this._input.LA(1);
1762
- if(!(_la===29 || _la===30)) {
1851
+ if(!(_la===31 || _la===32)) {
1763
1852
  this._errHandler.recoverInline(this);
1764
1853
  }
1765
1854
  else {
1766
1855
  this._errHandler.reportMatch(this);
1767
1856
  this.consume();
1768
1857
  }
1769
- this.state = 327;
1858
+ this.state = 333;
1770
1859
  this.data_expr(6);
1771
1860
  }
1772
1861
  break;
@@ -1774,20 +1863,20 @@ export default class CircuitScriptParser extends Parser {
1774
1863
  {
1775
1864
  localctx = new AdditionExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1776
1865
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1777
- this.state = 328;
1866
+ this.state = 334;
1778
1867
  if (!(this.precpred(this._ctx, 4))) {
1779
1868
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1780
1869
  }
1781
- this.state = 329;
1870
+ this.state = 335;
1782
1871
  _la = this._input.LA(1);
1783
- if(!(_la===27 || _la===28)) {
1872
+ if(!(_la===29 || _la===30)) {
1784
1873
  this._errHandler.recoverInline(this);
1785
1874
  }
1786
1875
  else {
1787
1876
  this._errHandler.reportMatch(this);
1788
1877
  this.consume();
1789
1878
  }
1790
- this.state = 330;
1879
+ this.state = 336;
1791
1880
  this.data_expr(5);
1792
1881
  }
1793
1882
  break;
@@ -1795,22 +1884,22 @@ export default class CircuitScriptParser extends Parser {
1795
1884
  {
1796
1885
  localctx = new BinaryOperatorExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1797
1886
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1798
- this.state = 331;
1887
+ this.state = 337;
1799
1888
  if (!(this.precpred(this._ctx, 3))) {
1800
1889
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1801
1890
  }
1802
- this.state = 332;
1891
+ this.state = 338;
1803
1892
  this.binary_operator();
1804
- this.state = 333;
1893
+ this.state = 339;
1805
1894
  this.data_expr(4);
1806
1895
  }
1807
1896
  break;
1808
1897
  }
1809
1898
  }
1810
1899
  }
1811
- this.state = 339;
1900
+ this.state = 345;
1812
1901
  this._errHandler.sync(this);
1813
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1902
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1814
1903
  }
1815
1904
  }
1816
1905
  }
@@ -1836,9 +1925,9 @@ export default class CircuitScriptParser extends Parser {
1836
1925
  try {
1837
1926
  this.enterOuterAlt(localctx, 1);
1838
1927
  {
1839
- this.state = 340;
1928
+ this.state = 346;
1840
1929
  _la = this._input.LA(1);
1841
- if(!(_la===25 || _la===26)) {
1930
+ if(!(_la===27 || _la===28)) {
1842
1931
  this._errHandler.recoverInline(this);
1843
1932
  }
1844
1933
  else {
@@ -1869,9 +1958,9 @@ export default class CircuitScriptParser extends Parser {
1869
1958
  try {
1870
1959
  this.enterOuterAlt(localctx, 1);
1871
1960
  {
1872
- this.state = 342;
1961
+ this.state = 348;
1873
1962
  _la = this._input.LA(1);
1874
- if(!(_la===24 || _la===28)) {
1963
+ if(!(_la===26 || _la===30)) {
1875
1964
  this._errHandler.recoverInline(this);
1876
1965
  }
1877
1966
  else {
@@ -1900,32 +1989,32 @@ export default class CircuitScriptParser extends Parser {
1900
1989
  this.enterRule(localctx, 60, CircuitScriptParser.RULE_value_expr);
1901
1990
  let _la: number;
1902
1991
  try {
1903
- this.state = 349;
1992
+ this.state = 355;
1904
1993
  this._errHandler.sync(this);
1905
1994
  switch (this._input.LA(1)) {
1906
- case 28:
1907
- case 34:
1995
+ case 30:
1908
1996
  case 36:
1909
- case 37:
1910
1997
  case 38:
1911
1998
  case 39:
1912
1999
  case 40:
2000
+ case 41:
2001
+ case 42:
1913
2002
  this.enterOuterAlt(localctx, 1);
1914
2003
  {
1915
2004
  {
1916
- this.state = 345;
2005
+ this.state = 351;
1917
2006
  this._errHandler.sync(this);
1918
2007
  _la = this._input.LA(1);
1919
- if (_la===28) {
2008
+ if (_la===30) {
1920
2009
  {
1921
- this.state = 344;
2010
+ this.state = 350;
1922
2011
  this.match(CircuitScriptParser.Minus);
1923
2012
  }
1924
2013
  }
1925
2014
 
1926
- this.state = 347;
2015
+ this.state = 353;
1927
2016
  _la = this._input.LA(1);
1928
- if(!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 125) !== 0))) {
2017
+ if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 125) !== 0))) {
1929
2018
  this._errHandler.recoverInline(this);
1930
2019
  }
1931
2020
  else {
@@ -1938,7 +2027,7 @@ export default class CircuitScriptParser extends Parser {
1938
2027
  case 6:
1939
2028
  this.enterOuterAlt(localctx, 2);
1940
2029
  {
1941
- this.state = 348;
2030
+ this.state = 354;
1942
2031
  this.blank_expr();
1943
2032
  }
1944
2033
  break;
@@ -1968,41 +2057,41 @@ export default class CircuitScriptParser extends Parser {
1968
2057
  try {
1969
2058
  this.enterOuterAlt(localctx, 1);
1970
2059
  {
1971
- this.state = 351;
2060
+ this.state = 357;
1972
2061
  this.match(CircuitScriptParser.Define);
1973
- this.state = 352;
2062
+ this.state = 358;
1974
2063
  this.match(CircuitScriptParser.ID);
1975
- this.state = 353;
2064
+ this.state = 359;
1976
2065
  this.match(CircuitScriptParser.OPEN_PAREN);
1977
- this.state = 355;
2066
+ this.state = 361;
1978
2067
  this._errHandler.sync(this);
1979
2068
  _la = this._input.LA(1);
1980
- if (_la===35) {
2069
+ if (_la===37) {
1981
2070
  {
1982
- this.state = 354;
2071
+ this.state = 360;
1983
2072
  this.function_args_expr();
1984
2073
  }
1985
2074
  }
1986
2075
 
1987
- this.state = 357;
2076
+ this.state = 363;
1988
2077
  this.match(CircuitScriptParser.CLOSE_PAREN);
1989
- this.state = 358;
2078
+ this.state = 364;
1990
2079
  this.match(CircuitScriptParser.T__0);
1991
- this.state = 359;
2080
+ this.state = 365;
1992
2081
  this.match(CircuitScriptParser.NEWLINE);
1993
- this.state = 360;
2082
+ this.state = 366;
1994
2083
  this.match(CircuitScriptParser.INDENT);
1995
- this.state = 363;
2084
+ this.state = 369;
1996
2085
  this._errHandler.sync(this);
1997
2086
  _la = this._input.LA(1);
1998
2087
  do {
1999
2088
  {
2000
- this.state = 363;
2089
+ this.state = 369;
2001
2090
  this._errHandler.sync(this);
2002
2091
  switch (this._input.LA(1)) {
2003
- case 43:
2092
+ case 45:
2004
2093
  {
2005
- this.state = 361;
2094
+ this.state = 367;
2006
2095
  this.match(CircuitScriptParser.NEWLINE);
2007
2096
  }
2008
2097
  break;
@@ -2018,11 +2107,13 @@ export default class CircuitScriptParser extends Parser {
2018
2107
  case 20:
2019
2108
  case 21:
2020
2109
  case 22:
2021
- case 27:
2110
+ case 23:
2111
+ case 24:
2022
2112
  case 29:
2023
- case 35:
2113
+ case 31:
2114
+ case 37:
2024
2115
  {
2025
- this.state = 362;
2116
+ this.state = 368;
2026
2117
  this.function_expr();
2027
2118
  }
2028
2119
  break;
@@ -2030,11 +2121,11 @@ export default class CircuitScriptParser extends Parser {
2030
2121
  throw new NoViableAltException(this);
2031
2122
  }
2032
2123
  }
2033
- this.state = 365;
2124
+ this.state = 371;
2034
2125
  this._errHandler.sync(this);
2035
2126
  _la = this._input.LA(1);
2036
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 679429904) !== 0) || _la===35 || _la===43);
2037
- this.state = 367;
2127
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2717861648) !== 0) || _la===37 || _la===45);
2128
+ this.state = 373;
2038
2129
  this.match(CircuitScriptParser.DEDENT);
2039
2130
  }
2040
2131
  }
@@ -2057,7 +2148,7 @@ export default class CircuitScriptParser extends Parser {
2057
2148
  let localctx: Function_exprContext = new Function_exprContext(this, this._ctx, this.state);
2058
2149
  this.enterRule(localctx, 64, CircuitScriptParser.RULE_function_expr);
2059
2150
  try {
2060
- this.state = 371;
2151
+ this.state = 377;
2061
2152
  this._errHandler.sync(this);
2062
2153
  switch (this._input.LA(1)) {
2063
2154
  case 4:
@@ -2069,21 +2160,23 @@ export default class CircuitScriptParser extends Parser {
2069
2160
  case 17:
2070
2161
  case 18:
2071
2162
  case 19:
2163
+ case 20:
2072
2164
  case 21:
2073
- case 22:
2074
- case 27:
2165
+ case 23:
2166
+ case 24:
2075
2167
  case 29:
2076
- case 35:
2168
+ case 31:
2169
+ case 37:
2077
2170
  this.enterOuterAlt(localctx, 1);
2078
2171
  {
2079
- this.state = 369;
2172
+ this.state = 375;
2080
2173
  this.expression();
2081
2174
  }
2082
2175
  break;
2083
- case 20:
2176
+ case 22:
2084
2177
  this.enterOuterAlt(localctx, 2);
2085
2178
  {
2086
- this.state = 370;
2179
+ this.state = 376;
2087
2180
  this.function_return_expr();
2088
2181
  }
2089
2182
  break;
@@ -2112,49 +2205,49 @@ export default class CircuitScriptParser extends Parser {
2112
2205
  let _la: number;
2113
2206
  try {
2114
2207
  let _alt: number;
2115
- this.state = 402;
2208
+ this.state = 408;
2116
2209
  this._errHandler.sync(this);
2117
- switch ( this._interp.adaptivePredict(this._input, 44, this._ctx) ) {
2210
+ switch ( this._interp.adaptivePredict(this._input, 46, this._ctx) ) {
2118
2211
  case 1:
2119
2212
  this.enterOuterAlt(localctx, 1);
2120
2213
  {
2121
- this.state = 373;
2214
+ this.state = 379;
2122
2215
  this.match(CircuitScriptParser.ID);
2123
- this.state = 378;
2216
+ this.state = 384;
2124
2217
  this._errHandler.sync(this);
2125
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2218
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2126
2219
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2127
2220
  if (_alt === 1) {
2128
2221
  {
2129
2222
  {
2130
- this.state = 374;
2223
+ this.state = 380;
2131
2224
  this.match(CircuitScriptParser.T__1);
2132
- this.state = 375;
2225
+ this.state = 381;
2133
2226
  this.match(CircuitScriptParser.ID);
2134
2227
  }
2135
2228
  }
2136
2229
  }
2137
- this.state = 380;
2230
+ this.state = 386;
2138
2231
  this._errHandler.sync(this);
2139
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2232
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2140
2233
  }
2141
- this.state = 387;
2234
+ this.state = 393;
2142
2235
  this._errHandler.sync(this);
2143
2236
  _la = this._input.LA(1);
2144
2237
  while (_la===2) {
2145
2238
  {
2146
2239
  {
2147
- this.state = 381;
2240
+ this.state = 387;
2148
2241
  this.match(CircuitScriptParser.T__1);
2149
- this.state = 382;
2242
+ this.state = 388;
2150
2243
  this.match(CircuitScriptParser.ID);
2151
- this.state = 383;
2244
+ this.state = 389;
2152
2245
  this.match(CircuitScriptParser.T__2);
2153
- this.state = 384;
2246
+ this.state = 390;
2154
2247
  this.value_expr();
2155
2248
  }
2156
2249
  }
2157
- this.state = 389;
2250
+ this.state = 395;
2158
2251
  this._errHandler.sync(this);
2159
2252
  _la = this._input.LA(1);
2160
2253
  }
@@ -2163,29 +2256,29 @@ export default class CircuitScriptParser extends Parser {
2163
2256
  case 2:
2164
2257
  this.enterOuterAlt(localctx, 2);
2165
2258
  {
2166
- this.state = 390;
2259
+ this.state = 396;
2167
2260
  this.match(CircuitScriptParser.ID);
2168
- this.state = 391;
2261
+ this.state = 397;
2169
2262
  this.match(CircuitScriptParser.T__2);
2170
- this.state = 392;
2263
+ this.state = 398;
2171
2264
  this.value_expr();
2172
- this.state = 399;
2265
+ this.state = 405;
2173
2266
  this._errHandler.sync(this);
2174
2267
  _la = this._input.LA(1);
2175
2268
  while (_la===2) {
2176
2269
  {
2177
2270
  {
2178
- this.state = 393;
2271
+ this.state = 399;
2179
2272
  this.match(CircuitScriptParser.T__1);
2180
- this.state = 394;
2273
+ this.state = 400;
2181
2274
  this.match(CircuitScriptParser.ID);
2182
- this.state = 395;
2275
+ this.state = 401;
2183
2276
  this.match(CircuitScriptParser.T__2);
2184
- this.state = 396;
2277
+ this.state = 402;
2185
2278
  this.value_expr();
2186
2279
  }
2187
2280
  }
2188
- this.state = 401;
2281
+ this.state = 407;
2189
2282
  this._errHandler.sync(this);
2190
2283
  _la = this._input.LA(1);
2191
2284
  }
@@ -2216,33 +2309,33 @@ export default class CircuitScriptParser extends Parser {
2216
2309
  let _alt: number;
2217
2310
  this.enterOuterAlt(localctx, 1);
2218
2311
  {
2219
- this.state = 405;
2312
+ this.state = 411;
2220
2313
  this._errHandler.sync(this);
2221
2314
  _la = this._input.LA(1);
2222
- if (_la===27 || _la===29) {
2315
+ if (_la===29 || _la===31) {
2223
2316
  {
2224
- this.state = 404;
2317
+ this.state = 410;
2225
2318
  this.net_namespace_expr();
2226
2319
  }
2227
2320
  }
2228
2321
 
2229
- this.state = 407;
2322
+ this.state = 413;
2230
2323
  this.match(CircuitScriptParser.ID);
2231
- this.state = 411;
2324
+ this.state = 417;
2232
2325
  this._errHandler.sync(this);
2233
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2326
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2234
2327
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2235
2328
  if (_alt === 1) {
2236
2329
  {
2237
2330
  {
2238
- this.state = 408;
2331
+ this.state = 414;
2239
2332
  this.trailer_expr();
2240
2333
  }
2241
2334
  }
2242
2335
  }
2243
- this.state = 413;
2336
+ this.state = 419;
2244
2337
  this._errHandler.sync(this);
2245
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2338
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2246
2339
  }
2247
2340
  }
2248
2341
  }
@@ -2266,34 +2359,34 @@ export default class CircuitScriptParser extends Parser {
2266
2359
  this.enterRule(localctx, 70, CircuitScriptParser.RULE_trailer_expr);
2267
2360
  let _la: number;
2268
2361
  try {
2269
- this.state = 421;
2362
+ this.state = 427;
2270
2363
  this._errHandler.sync(this);
2271
2364
  switch (this._input.LA(1)) {
2272
- case 31:
2365
+ case 33:
2273
2366
  this.enterOuterAlt(localctx, 1);
2274
2367
  {
2275
- this.state = 414;
2368
+ this.state = 420;
2276
2369
  this.match(CircuitScriptParser.OPEN_PAREN);
2277
- this.state = 416;
2370
+ this.state = 422;
2278
2371
  this._errHandler.sync(this);
2279
2372
  _la = this._input.LA(1);
2280
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3103787072) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 127) !== 0)) {
2373
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3825207360) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1017) !== 0)) {
2281
2374
  {
2282
- this.state = 415;
2375
+ this.state = 421;
2283
2376
  this.parameters();
2284
2377
  }
2285
2378
  }
2286
2379
 
2287
- this.state = 418;
2380
+ this.state = 424;
2288
2381
  this.match(CircuitScriptParser.CLOSE_PAREN);
2289
2382
  }
2290
2383
  break;
2291
2384
  case 5:
2292
2385
  this.enterOuterAlt(localctx, 2);
2293
2386
  {
2294
- this.state = 419;
2387
+ this.state = 425;
2295
2388
  this.match(CircuitScriptParser.T__4);
2296
- this.state = 420;
2389
+ this.state = 426;
2297
2390
  this.match(CircuitScriptParser.ID);
2298
2391
  }
2299
2392
  break;
@@ -2323,24 +2416,24 @@ export default class CircuitScriptParser extends Parser {
2323
2416
  try {
2324
2417
  this.enterOuterAlt(localctx, 1);
2325
2418
  {
2326
- this.state = 424;
2419
+ this.state = 430;
2327
2420
  this._errHandler.sync(this);
2328
2421
  _la = this._input.LA(1);
2329
- if (_la===27) {
2422
+ if (_la===29) {
2330
2423
  {
2331
- this.state = 423;
2424
+ this.state = 429;
2332
2425
  this.match(CircuitScriptParser.Addition);
2333
2426
  }
2334
2427
  }
2335
2428
 
2336
- this.state = 426;
2429
+ this.state = 432;
2337
2430
  this.match(CircuitScriptParser.Divide);
2338
- this.state = 428;
2431
+ this.state = 434;
2339
2432
  this._errHandler.sync(this);
2340
- switch ( this._interp.adaptivePredict(this._input, 50, this._ctx) ) {
2433
+ switch ( this._interp.adaptivePredict(this._input, 52, this._ctx) ) {
2341
2434
  case 1:
2342
2435
  {
2343
- this.state = 427;
2436
+ this.state = 433;
2344
2437
  this.data_expr(0);
2345
2438
  }
2346
2439
  break;
@@ -2368,9 +2461,9 @@ export default class CircuitScriptParser extends Parser {
2368
2461
  try {
2369
2462
  this.enterOuterAlt(localctx, 1);
2370
2463
  {
2371
- this.state = 430;
2464
+ this.state = 436;
2372
2465
  this.match(CircuitScriptParser.Return);
2373
- this.state = 431;
2466
+ this.state = 437;
2374
2467
  this.data_expr(0);
2375
2468
  }
2376
2469
  }
@@ -2396,35 +2489,35 @@ export default class CircuitScriptParser extends Parser {
2396
2489
  try {
2397
2490
  this.enterOuterAlt(localctx, 1);
2398
2491
  {
2399
- this.state = 433;
2492
+ this.state = 439;
2400
2493
  this.match(CircuitScriptParser.Create);
2401
- this.state = 434;
2494
+ this.state = 440;
2402
2495
  this.match(CircuitScriptParser.Component);
2403
- this.state = 435;
2496
+ this.state = 441;
2404
2497
  this.match(CircuitScriptParser.T__0);
2405
- this.state = 436;
2498
+ this.state = 442;
2406
2499
  this.match(CircuitScriptParser.NEWLINE);
2407
- this.state = 437;
2500
+ this.state = 443;
2408
2501
  this.match(CircuitScriptParser.INDENT);
2409
- this.state = 440;
2502
+ this.state = 446;
2410
2503
  this._errHandler.sync(this);
2411
2504
  _la = this._input.LA(1);
2412
2505
  do {
2413
2506
  {
2414
- this.state = 440;
2507
+ this.state = 446;
2415
2508
  this._errHandler.sync(this);
2416
2509
  switch (this._input.LA(1)) {
2417
- case 43:
2510
+ case 45:
2418
2511
  {
2419
- this.state = 438;
2512
+ this.state = 444;
2420
2513
  this.match(CircuitScriptParser.NEWLINE);
2421
2514
  }
2422
2515
  break;
2423
- case 35:
2424
- case 36:
2425
- case 39:
2516
+ case 37:
2517
+ case 38:
2518
+ case 41:
2426
2519
  {
2427
- this.state = 439;
2520
+ this.state = 445;
2428
2521
  this.property_expr();
2429
2522
  }
2430
2523
  break;
@@ -2432,11 +2525,11 @@ export default class CircuitScriptParser extends Parser {
2432
2525
  throw new NoViableAltException(this);
2433
2526
  }
2434
2527
  }
2435
- this.state = 442;
2528
+ this.state = 448;
2436
2529
  this._errHandler.sync(this);
2437
2530
  _la = this._input.LA(1);
2438
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2439
- this.state = 444;
2531
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2532
+ this.state = 450;
2440
2533
  this.match(CircuitScriptParser.DEDENT);
2441
2534
  }
2442
2535
  }
@@ -2462,34 +2555,34 @@ export default class CircuitScriptParser extends Parser {
2462
2555
  try {
2463
2556
  this.enterOuterAlt(localctx, 1);
2464
2557
  {
2465
- this.state = 446;
2558
+ this.state = 452;
2466
2559
  this.match(CircuitScriptParser.Create);
2467
- this.state = 447;
2560
+ this.state = 453;
2468
2561
  this.match(CircuitScriptParser.Graphic);
2469
- this.state = 448;
2562
+ this.state = 454;
2470
2563
  this.match(CircuitScriptParser.T__0);
2471
- this.state = 449;
2564
+ this.state = 455;
2472
2565
  this.match(CircuitScriptParser.NEWLINE);
2473
- this.state = 450;
2566
+ this.state = 456;
2474
2567
  this.match(CircuitScriptParser.INDENT);
2475
- this.state = 453;
2568
+ this.state = 459;
2476
2569
  this._errHandler.sync(this);
2477
2570
  _la = this._input.LA(1);
2478
2571
  do {
2479
2572
  {
2480
- this.state = 453;
2573
+ this.state = 459;
2481
2574
  this._errHandler.sync(this);
2482
2575
  switch (this._input.LA(1)) {
2483
- case 43:
2576
+ case 45:
2484
2577
  {
2485
- this.state = 451;
2578
+ this.state = 457;
2486
2579
  this.match(CircuitScriptParser.NEWLINE);
2487
2580
  }
2488
2581
  break;
2489
2582
  case 15:
2490
- case 35:
2583
+ case 37:
2491
2584
  {
2492
- this.state = 452;
2585
+ this.state = 458;
2493
2586
  this.sub_expr();
2494
2587
  }
2495
2588
  break;
@@ -2497,11 +2590,11 @@ export default class CircuitScriptParser extends Parser {
2497
2590
  throw new NoViableAltException(this);
2498
2591
  }
2499
2592
  }
2500
- this.state = 455;
2593
+ this.state = 461;
2501
2594
  this._errHandler.sync(this);
2502
2595
  _la = this._input.LA(1);
2503
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 269484033) !== 0));
2504
- this.state = 457;
2596
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 1077936129) !== 0));
2597
+ this.state = 463;
2505
2598
  this.match(CircuitScriptParser.DEDENT);
2506
2599
  }
2507
2600
  }
@@ -2527,33 +2620,33 @@ export default class CircuitScriptParser extends Parser {
2527
2620
  try {
2528
2621
  this.enterOuterAlt(localctx, 1);
2529
2622
  {
2530
- this.state = 459;
2623
+ this.state = 465;
2531
2624
  _la = this._input.LA(1);
2532
- if(!(_la===15 || _la===35)) {
2625
+ if(!(_la===15 || _la===37)) {
2533
2626
  this._errHandler.recoverInline(this);
2534
2627
  }
2535
2628
  else {
2536
2629
  this._errHandler.reportMatch(this);
2537
2630
  this.consume();
2538
2631
  }
2539
- this.state = 460;
2540
- this.match(CircuitScriptParser.T__0);
2541
2632
  this.state = 466;
2633
+ this.match(CircuitScriptParser.T__0);
2634
+ this.state = 472;
2542
2635
  this._errHandler.sync(this);
2543
- switch ( this._interp.adaptivePredict(this._input, 55, this._ctx) ) {
2636
+ switch ( this._interp.adaptivePredict(this._input, 57, this._ctx) ) {
2544
2637
  case 1:
2545
2638
  {
2546
- this.state = 461;
2639
+ this.state = 467;
2547
2640
  this.parameters();
2548
2641
  }
2549
2642
  break;
2550
2643
  case 2:
2551
2644
  {
2552
- this.state = 462;
2645
+ this.state = 468;
2553
2646
  this.match(CircuitScriptParser.OPEN_PAREN);
2554
- this.state = 463;
2647
+ this.state = 469;
2555
2648
  this.parameters();
2556
- this.state = 464;
2649
+ this.state = 470;
2557
2650
  this.match(CircuitScriptParser.CLOSE_PAREN);
2558
2651
  }
2559
2652
  break;
@@ -2581,11 +2674,11 @@ export default class CircuitScriptParser extends Parser {
2581
2674
  try {
2582
2675
  this.enterOuterAlt(localctx, 1);
2583
2676
  {
2584
- this.state = 468;
2677
+ this.state = 474;
2585
2678
  this.property_key_expr();
2586
- this.state = 469;
2679
+ this.state = 475;
2587
2680
  this.match(CircuitScriptParser.T__0);
2588
- this.state = 470;
2681
+ this.state = 476;
2589
2682
  this.property_value_expr();
2590
2683
  }
2591
2684
  }
@@ -2611,9 +2704,9 @@ export default class CircuitScriptParser extends Parser {
2611
2704
  try {
2612
2705
  this.enterOuterAlt(localctx, 1);
2613
2706
  {
2614
- this.state = 472;
2707
+ this.state = 478;
2615
2708
  _la = this._input.LA(1);
2616
- if(!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 19) !== 0))) {
2709
+ if(!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 19) !== 0))) {
2617
2710
  this._errHandler.recoverInline(this);
2618
2711
  }
2619
2712
  else {
@@ -2642,36 +2735,36 @@ export default class CircuitScriptParser extends Parser {
2642
2735
  this.enterRule(localctx, 86, CircuitScriptParser.RULE_property_value_expr);
2643
2736
  let _la: number;
2644
2737
  try {
2645
- this.state = 491;
2738
+ this.state = 497;
2646
2739
  this._errHandler.sync(this);
2647
2740
  switch (this._input.LA(1)) {
2648
- case 43:
2741
+ case 45:
2649
2742
  localctx = new Nested_propertiesContext(this, localctx);
2650
2743
  this.enterOuterAlt(localctx, 1);
2651
2744
  {
2652
- this.state = 474;
2745
+ this.state = 480;
2653
2746
  this.match(CircuitScriptParser.NEWLINE);
2654
- this.state = 475;
2747
+ this.state = 481;
2655
2748
  this.match(CircuitScriptParser.INDENT);
2656
- this.state = 478;
2749
+ this.state = 484;
2657
2750
  this._errHandler.sync(this);
2658
2751
  _la = this._input.LA(1);
2659
2752
  do {
2660
2753
  {
2661
- this.state = 478;
2754
+ this.state = 484;
2662
2755
  this._errHandler.sync(this);
2663
2756
  switch (this._input.LA(1)) {
2664
- case 43:
2757
+ case 45:
2665
2758
  {
2666
- this.state = 476;
2759
+ this.state = 482;
2667
2760
  this.match(CircuitScriptParser.NEWLINE);
2668
2761
  }
2669
2762
  break;
2670
- case 35:
2671
- case 36:
2672
- case 39:
2763
+ case 37:
2764
+ case 38:
2765
+ case 41:
2673
2766
  {
2674
- this.state = 477;
2767
+ this.state = 483;
2675
2768
  this.property_expr();
2676
2769
  }
2677
2770
  break;
@@ -2679,46 +2772,46 @@ export default class CircuitScriptParser extends Parser {
2679
2772
  throw new NoViableAltException(this);
2680
2773
  }
2681
2774
  }
2682
- this.state = 480;
2775
+ this.state = 486;
2683
2776
  this._errHandler.sync(this);
2684
2777
  _la = this._input.LA(1);
2685
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2686
- this.state = 482;
2778
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2779
+ this.state = 488;
2687
2780
  this.match(CircuitScriptParser.DEDENT);
2688
2781
  }
2689
2782
  break;
2690
2783
  case 6:
2691
2784
  case 11:
2692
- case 24:
2693
- case 27:
2694
- case 28:
2785
+ case 26:
2695
2786
  case 29:
2787
+ case 30:
2696
2788
  case 31:
2697
- case 34:
2698
- case 35:
2789
+ case 33:
2699
2790
  case 36:
2700
2791
  case 37:
2701
2792
  case 38:
2702
2793
  case 39:
2703
2794
  case 40:
2795
+ case 41:
2796
+ case 42:
2704
2797
  localctx = new Single_line_propertyContext(this, localctx);
2705
2798
  this.enterOuterAlt(localctx, 2);
2706
2799
  {
2707
- this.state = 483;
2800
+ this.state = 489;
2708
2801
  this.data_expr(0);
2709
- this.state = 488;
2802
+ this.state = 494;
2710
2803
  this._errHandler.sync(this);
2711
2804
  _la = this._input.LA(1);
2712
2805
  while (_la===2) {
2713
2806
  {
2714
2807
  {
2715
- this.state = 484;
2808
+ this.state = 490;
2716
2809
  this.match(CircuitScriptParser.T__1);
2717
- this.state = 485;
2810
+ this.state = 491;
2718
2811
  this.data_expr(0);
2719
2812
  }
2720
2813
  }
2721
- this.state = 490;
2814
+ this.state = 496;
2722
2815
  this._errHandler.sync(this);
2723
2816
  _la = this._input.LA(1);
2724
2817
  }
@@ -2749,11 +2842,11 @@ export default class CircuitScriptParser extends Parser {
2749
2842
  try {
2750
2843
  this.enterOuterAlt(localctx, 1);
2751
2844
  {
2752
- this.state = 493;
2845
+ this.state = 499;
2753
2846
  this.match(CircuitScriptParser.T__5);
2754
- this.state = 494;
2847
+ this.state = 500;
2755
2848
  this.match(CircuitScriptParser.INTEGER_VALUE);
2756
- this.state = 495;
2849
+ this.state = 501;
2757
2850
  this.match(CircuitScriptParser.T__6);
2758
2851
  }
2759
2852
  }
@@ -2780,20 +2873,20 @@ export default class CircuitScriptParser extends Parser {
2780
2873
  let _alt: number;
2781
2874
  this.enterOuterAlt(localctx, 1);
2782
2875
  {
2783
- this.state = 497;
2876
+ this.state = 503;
2784
2877
  this.match(CircuitScriptParser.Wire);
2785
- this.state = 498;
2878
+ this.state = 504;
2786
2879
  this.match(CircuitScriptParser.ID);
2787
- this.state = 502;
2880
+ this.state = 508;
2788
2881
  this._errHandler.sync(this);
2789
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2882
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2790
2883
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2791
2884
  if (_alt === 1) {
2792
2885
  {
2793
2886
  {
2794
- this.state = 499;
2887
+ this.state = 505;
2795
2888
  _la = this._input.LA(1);
2796
- if(!(_la===35 || _la===36)) {
2889
+ if(!(_la===37 || _la===38)) {
2797
2890
  this._errHandler.recoverInline(this);
2798
2891
  }
2799
2892
  else {
@@ -2803,9 +2896,9 @@ export default class CircuitScriptParser extends Parser {
2803
2896
  }
2804
2897
  }
2805
2898
  }
2806
- this.state = 504;
2899
+ this.state = 510;
2807
2900
  this._errHandler.sync(this);
2808
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2901
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2809
2902
  }
2810
2903
  }
2811
2904
  }
@@ -2830,9 +2923,9 @@ export default class CircuitScriptParser extends Parser {
2830
2923
  try {
2831
2924
  this.enterOuterAlt(localctx, 1);
2832
2925
  {
2833
- this.state = 505;
2926
+ this.state = 511;
2834
2927
  this.match(CircuitScriptParser.Point);
2835
- this.state = 506;
2928
+ this.state = 512;
2836
2929
  this.match(CircuitScriptParser.ID);
2837
2930
  }
2838
2931
  }
@@ -2857,9 +2950,9 @@ export default class CircuitScriptParser extends Parser {
2857
2950
  try {
2858
2951
  this.enterOuterAlt(localctx, 1);
2859
2952
  {
2860
- this.state = 508;
2953
+ this.state = 514;
2861
2954
  this.match(CircuitScriptParser.Import);
2862
- this.state = 509;
2955
+ this.state = 515;
2863
2956
  this.match(CircuitScriptParser.ID);
2864
2957
  }
2865
2958
  }
@@ -2885,25 +2978,25 @@ export default class CircuitScriptParser extends Parser {
2885
2978
  try {
2886
2979
  this.enterOuterAlt(localctx, 1);
2887
2980
  {
2888
- this.state = 511;
2981
+ this.state = 517;
2889
2982
  this.match(CircuitScriptParser.T__7);
2890
- this.state = 512;
2983
+ this.state = 518;
2891
2984
  this.match(CircuitScriptParser.T__0);
2892
- this.state = 513;
2985
+ this.state = 519;
2893
2986
  this.match(CircuitScriptParser.NEWLINE);
2894
- this.state = 514;
2987
+ this.state = 520;
2895
2988
  this.match(CircuitScriptParser.INDENT);
2896
- this.state = 517;
2989
+ this.state = 523;
2897
2990
  this._errHandler.sync(this);
2898
2991
  _la = this._input.LA(1);
2899
2992
  do {
2900
2993
  {
2901
- this.state = 517;
2994
+ this.state = 523;
2902
2995
  this._errHandler.sync(this);
2903
2996
  switch (this._input.LA(1)) {
2904
- case 43:
2997
+ case 45:
2905
2998
  {
2906
- this.state = 515;
2999
+ this.state = 521;
2907
3000
  this.match(CircuitScriptParser.NEWLINE);
2908
3001
  }
2909
3002
  break;
@@ -2916,13 +3009,15 @@ export default class CircuitScriptParser extends Parser {
2916
3009
  case 17:
2917
3010
  case 18:
2918
3011
  case 19:
3012
+ case 20:
2919
3013
  case 21:
2920
- case 22:
2921
- case 27:
3014
+ case 23:
3015
+ case 24:
2922
3016
  case 29:
2923
- case 35:
3017
+ case 31:
3018
+ case 37:
2924
3019
  {
2925
- this.state = 516;
3020
+ this.state = 522;
2926
3021
  this.expression();
2927
3022
  }
2928
3023
  break;
@@ -2930,11 +3025,11 @@ export default class CircuitScriptParser extends Parser {
2930
3025
  throw new NoViableAltException(this);
2931
3026
  }
2932
3027
  }
2933
- this.state = 519;
3028
+ this.state = 525;
2934
3029
  this._errHandler.sync(this);
2935
3030
  _la = this._input.LA(1);
2936
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
2937
- this.state = 521;
3031
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
3032
+ this.state = 527;
2938
3033
  this.match(CircuitScriptParser.DEDENT);
2939
3034
  }
2940
3035
  }
@@ -2972,7 +3067,7 @@ export default class CircuitScriptParser extends Parser {
2972
3067
  return true;
2973
3068
  }
2974
3069
 
2975
- public static readonly _serializedATN: number[] = [4,1,46,524,2,0,7,0,2,
3070
+ public static readonly _serializedATN: number[] = [4,1,48,530,2,0,7,0,2,
2976
3071
  1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,
2977
3072
  10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,
2978
3073
  7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,
@@ -2985,167 +3080,169 @@ export default class CircuitScriptParser extends Parser {
2985
3080
  12,3,137,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,4,4,148,8,4,11,4,12,4,149,1,4,
2986
3081
  1,4,1,5,1,5,1,5,1,5,1,6,1,6,3,6,160,8,6,1,6,3,6,163,8,6,1,7,1,7,1,7,3,7,
2987
3082
  168,8,7,1,8,1,8,3,8,172,8,8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,1,11,3,11,182,
2988
- 8,11,1,12,1,12,1,12,1,12,5,12,188,8,12,10,12,12,12,191,9,12,1,12,3,12,194,
2989
- 8,12,1,13,1,13,1,13,1,13,1,13,1,13,5,13,202,8,13,10,13,12,13,205,9,13,1,
2990
- 13,1,13,1,13,1,13,1,13,4,13,212,8,13,11,13,12,13,213,1,13,1,13,1,14,1,14,
2991
- 1,14,1,14,1,14,5,14,223,8,14,10,14,12,14,226,9,14,1,15,1,15,1,16,1,16,1,
2992
- 16,1,16,1,16,1,16,4,16,236,8,16,11,16,12,16,237,1,16,1,16,1,17,1,17,3,17,
2993
- 244,8,17,1,18,1,18,1,18,1,18,3,18,250,8,18,1,19,1,19,3,19,254,8,19,1,20,
2994
- 1,20,1,20,1,20,4,20,260,8,20,11,20,12,20,261,1,20,1,20,1,21,1,21,1,22,1,
2995
- 22,1,22,1,22,1,23,1,23,1,23,1,23,1,24,1,24,1,24,5,24,279,8,24,10,24,12,
2996
- 24,282,9,24,1,24,1,24,5,24,286,8,24,10,24,12,24,289,9,24,1,24,1,24,1,24,
2997
- 5,24,294,8,24,10,24,12,24,297,9,24,3,24,299,8,24,1,25,1,25,1,25,1,25,1,
2998
- 26,1,26,1,26,1,26,1,26,1,27,1,27,3,27,312,8,27,1,27,1,27,3,27,316,8,27,
2999
- 1,27,1,27,1,27,1,27,1,27,1,27,3,27,324,8,27,1,27,1,27,1,27,1,27,1,27,1,
3000
- 27,1,27,1,27,1,27,1,27,5,27,336,8,27,10,27,12,27,339,9,27,1,28,1,28,1,29,
3001
- 1,29,1,30,3,30,346,8,30,1,30,1,30,3,30,350,8,30,1,31,1,31,1,31,1,31,3,31,
3002
- 356,8,31,1,31,1,31,1,31,1,31,1,31,1,31,4,31,364,8,31,11,31,12,31,365,1,
3003
- 31,1,31,1,32,1,32,3,32,372,8,32,1,33,1,33,1,33,5,33,377,8,33,10,33,12,33,
3004
- 380,9,33,1,33,1,33,1,33,1,33,5,33,386,8,33,10,33,12,33,389,9,33,1,33,1,
3005
- 33,1,33,1,33,1,33,1,33,1,33,5,33,398,8,33,10,33,12,33,401,9,33,3,33,403,
3006
- 8,33,1,34,3,34,406,8,34,1,34,1,34,5,34,410,8,34,10,34,12,34,413,9,34,1,
3007
- 35,1,35,3,35,417,8,35,1,35,1,35,1,35,3,35,422,8,35,1,36,3,36,425,8,36,1,
3008
- 36,1,36,3,36,429,8,36,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,
3009
- 4,38,441,8,38,11,38,12,38,442,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,
3010
- 39,4,39,454,8,39,11,39,12,39,455,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,
3011
- 1,40,3,40,467,8,40,1,41,1,41,1,41,1,41,1,42,1,42,1,43,1,43,1,43,1,43,4,
3012
- 43,479,8,43,11,43,12,43,480,1,43,1,43,1,43,1,43,5,43,487,8,43,10,43,12,
3013
- 43,490,9,43,3,43,492,8,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,5,45,501,8,
3014
- 45,10,45,12,45,504,9,45,1,46,1,46,1,46,1,47,1,47,1,47,1,48,1,48,1,48,1,
3015
- 48,1,48,1,48,4,48,518,8,48,11,48,12,48,519,1,48,1,48,1,48,0,1,54,49,0,2,
3016
- 4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,
3017
- 54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,0,10,
3018
- 1,0,35,36,2,0,36,36,39,39,2,0,33,33,36,36,1,0,29,30,1,0,27,28,1,0,25,26,
3019
- 2,0,24,24,28,28,2,0,34,34,36,40,2,0,15,15,35,35,2,0,35,36,39,39,554,0,100,
3020
- 1,0,0,0,2,122,1,0,0,0,4,125,1,0,0,0,6,129,1,0,0,0,8,141,1,0,0,0,10,153,
3021
- 1,0,0,0,12,159,1,0,0,0,14,164,1,0,0,0,16,171,1,0,0,0,18,173,1,0,0,0,20,
3022
- 176,1,0,0,0,22,178,1,0,0,0,24,183,1,0,0,0,26,195,1,0,0,0,28,217,1,0,0,0,
3023
- 30,227,1,0,0,0,32,229,1,0,0,0,34,243,1,0,0,0,36,245,1,0,0,0,38,253,1,0,
3024
- 0,0,40,255,1,0,0,0,42,265,1,0,0,0,44,267,1,0,0,0,46,271,1,0,0,0,48,298,
3025
- 1,0,0,0,50,300,1,0,0,0,52,304,1,0,0,0,54,323,1,0,0,0,56,340,1,0,0,0,58,
3026
- 342,1,0,0,0,60,349,1,0,0,0,62,351,1,0,0,0,64,371,1,0,0,0,66,402,1,0,0,0,
3027
- 68,405,1,0,0,0,70,421,1,0,0,0,72,424,1,0,0,0,74,430,1,0,0,0,76,433,1,0,
3028
- 0,0,78,446,1,0,0,0,80,459,1,0,0,0,82,468,1,0,0,0,84,472,1,0,0,0,86,491,
3029
- 1,0,0,0,88,493,1,0,0,0,90,497,1,0,0,0,92,505,1,0,0,0,94,508,1,0,0,0,96,
3030
- 511,1,0,0,0,98,101,3,2,1,0,99,101,5,43,0,0,100,98,1,0,0,0,100,99,1,0,0,
3031
- 0,101,102,1,0,0,0,102,100,1,0,0,0,102,103,1,0,0,0,103,104,1,0,0,0,104,105,
3032
- 5,0,0,1,105,1,1,0,0,0,106,123,3,14,7,0,107,123,3,24,12,0,108,123,3,22,11,
3033
- 0,109,123,3,44,22,0,110,123,3,50,25,0,111,123,3,8,4,0,112,123,3,52,26,0,
3034
- 113,123,3,42,21,0,114,123,3,62,31,0,115,123,3,90,45,0,116,123,3,92,46,0,
3035
- 117,123,3,94,47,0,118,123,3,96,48,0,119,123,3,68,34,0,120,123,3,32,16,0,
3036
- 121,123,3,4,2,0,122,106,1,0,0,0,122,107,1,0,0,0,122,108,1,0,0,0,122,109,
3037
- 1,0,0,0,122,110,1,0,0,0,122,111,1,0,0,0,122,112,1,0,0,0,122,113,1,0,0,0,
3038
- 122,114,1,0,0,0,122,115,1,0,0,0,122,116,1,0,0,0,122,117,1,0,0,0,122,118,
3039
- 1,0,0,0,122,119,1,0,0,0,122,120,1,0,0,0,122,121,1,0,0,0,123,3,1,0,0,0,124,
3040
- 126,3,6,3,0,125,124,1,0,0,0,126,127,1,0,0,0,127,125,1,0,0,0,127,128,1,0,
3041
- 0,0,128,5,1,0,0,0,129,130,5,10,0,0,130,131,5,1,0,0,131,132,5,43,0,0,132,
3042
- 135,5,45,0,0,133,136,5,43,0,0,134,136,3,2,1,0,135,133,1,0,0,0,135,134,1,
3043
- 0,0,0,136,137,1,0,0,0,137,135,1,0,0,0,137,138,1,0,0,0,138,139,1,0,0,0,139,
3044
- 140,5,46,0,0,140,7,1,0,0,0,141,142,3,68,34,0,142,143,5,1,0,0,143,144,5,
3045
- 43,0,0,144,147,5,45,0,0,145,148,5,43,0,0,146,148,3,10,5,0,147,145,1,0,0,
3046
- 0,147,146,1,0,0,0,148,149,1,0,0,0,149,147,1,0,0,0,149,150,1,0,0,0,150,151,
3047
- 1,0,0,0,151,152,5,46,0,0,152,9,1,0,0,0,153,154,7,0,0,0,154,155,5,1,0,0,
3048
- 155,156,3,60,30,0,156,11,1,0,0,0,157,160,3,54,27,0,158,160,3,44,22,0,159,
3049
- 157,1,0,0,0,159,158,1,0,0,0,160,162,1,0,0,0,161,163,3,18,9,0,162,161,1,
3050
- 0,0,0,162,163,1,0,0,0,163,13,1,0,0,0,164,165,5,16,0,0,165,167,3,12,6,0,
3051
- 166,168,5,35,0,0,167,166,1,0,0,0,167,168,1,0,0,0,168,15,1,0,0,0,169,172,
3052
- 3,12,6,0,170,172,3,18,9,0,171,169,1,0,0,0,171,170,1,0,0,0,172,17,1,0,0,
3053
- 0,173,174,5,15,0,0,174,175,7,1,0,0,175,19,1,0,0,0,176,177,7,1,0,0,177,21,
3054
- 1,0,0,0,178,179,5,17,0,0,179,181,3,16,8,0,180,182,5,35,0,0,181,180,1,0,
3055
- 0,0,181,182,1,0,0,0,182,23,1,0,0,0,183,184,5,18,0,0,184,189,3,16,8,0,185,
3056
- 186,5,2,0,0,186,188,3,16,8,0,187,185,1,0,0,0,188,191,1,0,0,0,189,187,1,
3057
- 0,0,0,189,190,1,0,0,0,190,193,1,0,0,0,191,189,1,0,0,0,192,194,5,35,0,0,
3058
- 193,192,1,0,0,0,193,194,1,0,0,0,194,25,1,0,0,0,195,196,5,17,0,0,196,197,
3059
- 3,16,8,0,197,198,5,18,0,0,198,203,3,16,8,0,199,200,5,2,0,0,200,202,3,16,
3060
- 8,0,201,199,1,0,0,0,202,205,1,0,0,0,203,201,1,0,0,0,203,204,1,0,0,0,204,
3061
- 206,1,0,0,0,205,203,1,0,0,0,206,207,5,1,0,0,207,208,5,43,0,0,208,211,5,
3062
- 45,0,0,209,212,5,43,0,0,210,212,3,28,14,0,211,209,1,0,0,0,211,210,1,0,0,
3063
- 0,212,213,1,0,0,0,213,211,1,0,0,0,213,214,1,0,0,0,214,215,1,0,0,0,215,216,
3064
- 5,46,0,0,216,27,1,0,0,0,217,218,3,20,10,0,218,219,5,1,0,0,219,224,3,30,
3065
- 15,0,220,221,5,2,0,0,221,223,3,30,15,0,222,220,1,0,0,0,223,226,1,0,0,0,
3066
- 224,222,1,0,0,0,224,225,1,0,0,0,225,29,1,0,0,0,226,224,1,0,0,0,227,228,
3067
- 7,2,0,0,228,31,1,0,0,0,229,230,3,22,11,0,230,231,5,1,0,0,231,232,5,43,0,
3068
- 0,232,235,5,45,0,0,233,236,5,43,0,0,234,236,3,34,17,0,235,233,1,0,0,0,235,
3069
- 234,1,0,0,0,236,237,1,0,0,0,237,235,1,0,0,0,237,238,1,0,0,0,238,239,1,0,
3070
- 0,0,239,240,5,46,0,0,240,33,1,0,0,0,241,244,3,2,1,0,242,244,3,36,18,0,243,
3071
- 241,1,0,0,0,243,242,1,0,0,0,244,35,1,0,0,0,245,246,3,20,10,0,246,249,5,
3072
- 1,0,0,247,250,3,38,19,0,248,250,3,40,20,0,249,247,1,0,0,0,249,248,1,0,0,
3073
- 0,250,37,1,0,0,0,251,254,3,2,1,0,252,254,5,33,0,0,253,251,1,0,0,0,253,252,
3074
- 1,0,0,0,254,39,1,0,0,0,255,256,5,43,0,0,256,259,5,45,0,0,257,260,5,43,0,
3075
- 0,258,260,3,2,1,0,259,257,1,0,0,0,259,258,1,0,0,0,260,261,1,0,0,0,261,259,
3076
- 1,0,0,0,261,262,1,0,0,0,262,263,1,0,0,0,263,264,5,46,0,0,264,41,1,0,0,0,
3077
- 265,266,5,9,0,0,266,43,1,0,0,0,267,268,3,68,34,0,268,269,5,3,0,0,269,270,
3078
- 3,54,27,0,270,45,1,0,0,0,271,272,5,35,0,0,272,273,5,3,0,0,273,274,3,54,
3079
- 27,0,274,47,1,0,0,0,275,280,3,54,27,0,276,277,5,2,0,0,277,279,3,54,27,0,
3080
- 278,276,1,0,0,0,279,282,1,0,0,0,280,278,1,0,0,0,280,281,1,0,0,0,281,287,
3081
- 1,0,0,0,282,280,1,0,0,0,283,284,5,2,0,0,284,286,3,46,23,0,285,283,1,0,0,
3082
- 0,286,289,1,0,0,0,287,285,1,0,0,0,287,288,1,0,0,0,288,299,1,0,0,0,289,287,
3083
- 1,0,0,0,290,295,3,46,23,0,291,292,5,2,0,0,292,294,3,46,23,0,293,291,1,0,
3084
- 0,0,294,297,1,0,0,0,295,293,1,0,0,0,295,296,1,0,0,0,296,299,1,0,0,0,297,
3085
- 295,1,0,0,0,298,275,1,0,0,0,298,290,1,0,0,0,299,49,1,0,0,0,300,301,3,68,
3086
- 34,0,301,302,5,3,0,0,302,303,3,54,27,0,303,51,1,0,0,0,304,305,5,4,0,0,305,
3087
- 306,5,35,0,0,306,307,5,3,0,0,307,308,3,54,27,0,308,53,1,0,0,0,309,311,6,
3088
- 27,-1,0,310,312,3,58,29,0,311,310,1,0,0,0,311,312,1,0,0,0,312,315,1,0,0,
3089
- 0,313,316,3,60,30,0,314,316,3,68,34,0,315,313,1,0,0,0,315,314,1,0,0,0,316,
3090
- 324,1,0,0,0,317,318,5,31,0,0,318,319,3,54,27,0,319,320,5,32,0,0,320,324,
3091
- 1,0,0,0,321,324,3,76,38,0,322,324,3,78,39,0,323,309,1,0,0,0,323,317,1,0,
3092
- 0,0,323,321,1,0,0,0,323,322,1,0,0,0,324,337,1,0,0,0,325,326,10,5,0,0,326,
3093
- 327,7,3,0,0,327,336,3,54,27,6,328,329,10,4,0,0,329,330,7,4,0,0,330,336,
3094
- 3,54,27,5,331,332,10,3,0,0,332,333,3,56,28,0,333,334,3,54,27,4,334,336,
3095
- 1,0,0,0,335,325,1,0,0,0,335,328,1,0,0,0,335,331,1,0,0,0,336,339,1,0,0,0,
3096
- 337,335,1,0,0,0,337,338,1,0,0,0,338,55,1,0,0,0,339,337,1,0,0,0,340,341,
3097
- 7,5,0,0,341,57,1,0,0,0,342,343,7,6,0,0,343,59,1,0,0,0,344,346,5,28,0,0,
3098
- 345,344,1,0,0,0,345,346,1,0,0,0,346,347,1,0,0,0,347,350,7,7,0,0,348,350,
3099
- 3,88,44,0,349,345,1,0,0,0,349,348,1,0,0,0,350,61,1,0,0,0,351,352,5,21,0,
3100
- 0,352,353,5,35,0,0,353,355,5,31,0,0,354,356,3,66,33,0,355,354,1,0,0,0,355,
3101
- 356,1,0,0,0,356,357,1,0,0,0,357,358,5,32,0,0,358,359,5,1,0,0,359,360,5,
3102
- 43,0,0,360,363,5,45,0,0,361,364,5,43,0,0,362,364,3,64,32,0,363,361,1,0,
3103
- 0,0,363,362,1,0,0,0,364,365,1,0,0,0,365,363,1,0,0,0,365,366,1,0,0,0,366,
3104
- 367,1,0,0,0,367,368,5,46,0,0,368,63,1,0,0,0,369,372,3,2,1,0,370,372,3,74,
3105
- 37,0,371,369,1,0,0,0,371,370,1,0,0,0,372,65,1,0,0,0,373,378,5,35,0,0,374,
3106
- 375,5,2,0,0,375,377,5,35,0,0,376,374,1,0,0,0,377,380,1,0,0,0,378,376,1,
3107
- 0,0,0,378,379,1,0,0,0,379,387,1,0,0,0,380,378,1,0,0,0,381,382,5,2,0,0,382,
3108
- 383,5,35,0,0,383,384,5,3,0,0,384,386,3,60,30,0,385,381,1,0,0,0,386,389,
3109
- 1,0,0,0,387,385,1,0,0,0,387,388,1,0,0,0,388,403,1,0,0,0,389,387,1,0,0,0,
3110
- 390,391,5,35,0,0,391,392,5,3,0,0,392,399,3,60,30,0,393,394,5,2,0,0,394,
3111
- 395,5,35,0,0,395,396,5,3,0,0,396,398,3,60,30,0,397,393,1,0,0,0,398,401,
3112
- 1,0,0,0,399,397,1,0,0,0,399,400,1,0,0,0,400,403,1,0,0,0,401,399,1,0,0,0,
3113
- 402,373,1,0,0,0,402,390,1,0,0,0,403,67,1,0,0,0,404,406,3,72,36,0,405,404,
3114
- 1,0,0,0,405,406,1,0,0,0,406,407,1,0,0,0,407,411,5,35,0,0,408,410,3,70,35,
3115
- 0,409,408,1,0,0,0,410,413,1,0,0,0,411,409,1,0,0,0,411,412,1,0,0,0,412,69,
3116
- 1,0,0,0,413,411,1,0,0,0,414,416,5,31,0,0,415,417,3,48,24,0,416,415,1,0,
3117
- 0,0,416,417,1,0,0,0,417,418,1,0,0,0,418,422,5,32,0,0,419,420,5,5,0,0,420,
3118
- 422,5,35,0,0,421,414,1,0,0,0,421,419,1,0,0,0,422,71,1,0,0,0,423,425,5,27,
3119
- 0,0,424,423,1,0,0,0,424,425,1,0,0,0,425,426,1,0,0,0,426,428,5,29,0,0,427,
3120
- 429,3,54,27,0,428,427,1,0,0,0,428,429,1,0,0,0,429,73,1,0,0,0,430,431,5,
3121
- 20,0,0,431,432,3,54,27,0,432,75,1,0,0,0,433,434,5,11,0,0,434,435,5,12,0,
3122
- 0,435,436,5,1,0,0,436,437,5,43,0,0,437,440,5,45,0,0,438,441,5,43,0,0,439,
3123
- 441,3,82,41,0,440,438,1,0,0,0,440,439,1,0,0,0,441,442,1,0,0,0,442,440,1,
3124
- 0,0,0,442,443,1,0,0,0,443,444,1,0,0,0,444,445,5,46,0,0,445,77,1,0,0,0,446,
3125
- 447,5,11,0,0,447,448,5,13,0,0,448,449,5,1,0,0,449,450,5,43,0,0,450,453,
3126
- 5,45,0,0,451,454,5,43,0,0,452,454,3,80,40,0,453,451,1,0,0,0,453,452,1,0,
3127
- 0,0,454,455,1,0,0,0,455,453,1,0,0,0,455,456,1,0,0,0,456,457,1,0,0,0,457,
3128
- 458,5,46,0,0,458,79,1,0,0,0,459,460,7,8,0,0,460,466,5,1,0,0,461,467,3,48,
3129
- 24,0,462,463,5,31,0,0,463,464,3,48,24,0,464,465,5,32,0,0,465,467,1,0,0,
3130
- 0,466,461,1,0,0,0,466,462,1,0,0,0,467,81,1,0,0,0,468,469,3,84,42,0,469,
3131
- 470,5,1,0,0,470,471,3,86,43,0,471,83,1,0,0,0,472,473,7,9,0,0,473,85,1,0,
3132
- 0,0,474,475,5,43,0,0,475,478,5,45,0,0,476,479,5,43,0,0,477,479,3,82,41,
3133
- 0,478,476,1,0,0,0,478,477,1,0,0,0,479,480,1,0,0,0,480,478,1,0,0,0,480,481,
3134
- 1,0,0,0,481,482,1,0,0,0,482,492,5,46,0,0,483,488,3,54,27,0,484,485,5,2,
3135
- 0,0,485,487,3,54,27,0,486,484,1,0,0,0,487,490,1,0,0,0,488,486,1,0,0,0,488,
3136
- 489,1,0,0,0,489,492,1,0,0,0,490,488,1,0,0,0,491,474,1,0,0,0,491,483,1,0,
3137
- 0,0,492,87,1,0,0,0,493,494,5,6,0,0,494,495,5,36,0,0,495,496,5,7,0,0,496,
3138
- 89,1,0,0,0,497,498,5,14,0,0,498,502,5,35,0,0,499,501,7,0,0,0,500,499,1,
3139
- 0,0,0,501,504,1,0,0,0,502,500,1,0,0,0,502,503,1,0,0,0,503,91,1,0,0,0,504,
3140
- 502,1,0,0,0,505,506,5,19,0,0,506,507,5,35,0,0,507,93,1,0,0,0,508,509,5,
3141
- 22,0,0,509,510,5,35,0,0,510,95,1,0,0,0,511,512,5,8,0,0,512,513,5,1,0,0,
3142
- 513,514,5,43,0,0,514,517,5,45,0,0,515,518,5,43,0,0,516,518,3,2,1,0,517,
3143
- 515,1,0,0,0,517,516,1,0,0,0,518,519,1,0,0,0,519,517,1,0,0,0,519,520,1,0,
3144
- 0,0,520,521,1,0,0,0,521,522,5,46,0,0,522,97,1,0,0,0,63,100,102,122,127,
3145
- 135,137,147,149,159,162,167,171,181,189,193,203,211,213,224,235,237,243,
3146
- 249,253,259,261,280,287,295,298,311,315,323,335,337,345,349,355,363,365,
3147
- 371,378,387,399,402,405,411,416,421,424,428,440,442,453,455,466,478,480,
3148
- 488,491,502,517,519];
3083
+ 8,11,1,11,3,11,185,8,11,1,12,1,12,1,12,1,12,5,12,191,8,12,10,12,12,12,194,
3084
+ 9,12,1,12,3,12,197,8,12,1,12,3,12,200,8,12,1,13,1,13,1,13,1,13,1,13,1,13,
3085
+ 5,13,208,8,13,10,13,12,13,211,9,13,1,13,1,13,1,13,1,13,1,13,4,13,218,8,
3086
+ 13,11,13,12,13,219,1,13,1,13,1,14,1,14,1,14,1,14,1,14,5,14,229,8,14,10,
3087
+ 14,12,14,232,9,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,4,16,242,8,16,
3088
+ 11,16,12,16,243,1,16,1,16,1,17,1,17,3,17,250,8,17,1,18,1,18,1,18,1,18,3,
3089
+ 18,256,8,18,1,19,1,19,3,19,260,8,19,1,20,1,20,1,20,1,20,4,20,266,8,20,11,
3090
+ 20,12,20,267,1,20,1,20,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,
3091
+ 1,24,1,24,1,24,5,24,285,8,24,10,24,12,24,288,9,24,1,24,1,24,5,24,292,8,
3092
+ 24,10,24,12,24,295,9,24,1,24,1,24,1,24,5,24,300,8,24,10,24,12,24,303,9,
3093
+ 24,3,24,305,8,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,
3094
+ 3,27,318,8,27,1,27,1,27,3,27,322,8,27,1,27,1,27,1,27,1,27,1,27,1,27,3,27,
3095
+ 330,8,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,5,27,342,8,27,
3096
+ 10,27,12,27,345,9,27,1,28,1,28,1,29,1,29,1,30,3,30,352,8,30,1,30,1,30,3,
3097
+ 30,356,8,30,1,31,1,31,1,31,1,31,3,31,362,8,31,1,31,1,31,1,31,1,31,1,31,
3098
+ 1,31,4,31,370,8,31,11,31,12,31,371,1,31,1,31,1,32,1,32,3,32,378,8,32,1,
3099
+ 33,1,33,1,33,5,33,383,8,33,10,33,12,33,386,9,33,1,33,1,33,1,33,1,33,5,33,
3100
+ 392,8,33,10,33,12,33,395,9,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,5,33,404,
3101
+ 8,33,10,33,12,33,407,9,33,3,33,409,8,33,1,34,3,34,412,8,34,1,34,1,34,5,
3102
+ 34,416,8,34,10,34,12,34,419,9,34,1,35,1,35,3,35,423,8,35,1,35,1,35,1,35,
3103
+ 3,35,428,8,35,1,36,3,36,431,8,36,1,36,1,36,3,36,435,8,36,1,37,1,37,1,37,
3104
+ 1,38,1,38,1,38,1,38,1,38,1,38,1,38,4,38,447,8,38,11,38,12,38,448,1,38,1,
3105
+ 38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,4,39,460,8,39,11,39,12,39,461,1,39,
3106
+ 1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,3,40,473,8,40,1,41,1,41,1,41,1,
3107
+ 41,1,42,1,42,1,43,1,43,1,43,1,43,4,43,485,8,43,11,43,12,43,486,1,43,1,43,
3108
+ 1,43,1,43,5,43,493,8,43,10,43,12,43,496,9,43,3,43,498,8,43,1,44,1,44,1,
3109
+ 44,1,44,1,45,1,45,1,45,5,45,507,8,45,10,45,12,45,510,9,45,1,46,1,46,1,46,
3110
+ 1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,4,48,524,8,48,11,48,12,48,
3111
+ 525,1,48,1,48,1,48,0,1,54,49,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,
3112
+ 32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,
3113
+ 80,82,84,86,88,90,92,94,96,0,11,2,0,10,10,19,21,1,0,37,38,2,0,38,38,41,
3114
+ 41,2,0,35,35,38,38,1,0,31,32,1,0,29,30,1,0,27,28,2,0,26,26,30,30,2,0,36,
3115
+ 36,38,42,2,0,15,15,37,37,2,0,37,38,41,41,562,0,100,1,0,0,0,2,122,1,0,0,
3116
+ 0,4,125,1,0,0,0,6,129,1,0,0,0,8,141,1,0,0,0,10,153,1,0,0,0,12,159,1,0,0,
3117
+ 0,14,164,1,0,0,0,16,171,1,0,0,0,18,173,1,0,0,0,20,176,1,0,0,0,22,178,1,
3118
+ 0,0,0,24,186,1,0,0,0,26,201,1,0,0,0,28,223,1,0,0,0,30,233,1,0,0,0,32,235,
3119
+ 1,0,0,0,34,249,1,0,0,0,36,251,1,0,0,0,38,259,1,0,0,0,40,261,1,0,0,0,42,
3120
+ 271,1,0,0,0,44,273,1,0,0,0,46,277,1,0,0,0,48,304,1,0,0,0,50,306,1,0,0,0,
3121
+ 52,310,1,0,0,0,54,329,1,0,0,0,56,346,1,0,0,0,58,348,1,0,0,0,60,355,1,0,
3122
+ 0,0,62,357,1,0,0,0,64,377,1,0,0,0,66,408,1,0,0,0,68,411,1,0,0,0,70,427,
3123
+ 1,0,0,0,72,430,1,0,0,0,74,436,1,0,0,0,76,439,1,0,0,0,78,452,1,0,0,0,80,
3124
+ 465,1,0,0,0,82,474,1,0,0,0,84,478,1,0,0,0,86,497,1,0,0,0,88,499,1,0,0,0,
3125
+ 90,503,1,0,0,0,92,511,1,0,0,0,94,514,1,0,0,0,96,517,1,0,0,0,98,101,3,2,
3126
+ 1,0,99,101,5,45,0,0,100,98,1,0,0,0,100,99,1,0,0,0,101,102,1,0,0,0,102,100,
3127
+ 1,0,0,0,102,103,1,0,0,0,103,104,1,0,0,0,104,105,5,0,0,1,105,1,1,0,0,0,106,
3128
+ 123,3,14,7,0,107,123,3,24,12,0,108,123,3,22,11,0,109,123,3,44,22,0,110,
3129
+ 123,3,50,25,0,111,123,3,8,4,0,112,123,3,52,26,0,113,123,3,42,21,0,114,123,
3130
+ 3,62,31,0,115,123,3,90,45,0,116,123,3,94,47,0,117,123,3,96,48,0,118,123,
3131
+ 3,68,34,0,119,123,3,32,16,0,120,123,3,4,2,0,121,123,3,92,46,0,122,106,1,
3132
+ 0,0,0,122,107,1,0,0,0,122,108,1,0,0,0,122,109,1,0,0,0,122,110,1,0,0,0,122,
3133
+ 111,1,0,0,0,122,112,1,0,0,0,122,113,1,0,0,0,122,114,1,0,0,0,122,115,1,0,
3134
+ 0,0,122,116,1,0,0,0,122,117,1,0,0,0,122,118,1,0,0,0,122,119,1,0,0,0,122,
3135
+ 120,1,0,0,0,122,121,1,0,0,0,123,3,1,0,0,0,124,126,3,6,3,0,125,124,1,0,0,
3136
+ 0,126,127,1,0,0,0,127,125,1,0,0,0,127,128,1,0,0,0,128,5,1,0,0,0,129,130,
3137
+ 7,0,0,0,130,131,5,1,0,0,131,132,5,45,0,0,132,135,5,47,0,0,133,136,5,45,
3138
+ 0,0,134,136,3,2,1,0,135,133,1,0,0,0,135,134,1,0,0,0,136,137,1,0,0,0,137,
3139
+ 135,1,0,0,0,137,138,1,0,0,0,138,139,1,0,0,0,139,140,5,48,0,0,140,7,1,0,
3140
+ 0,0,141,142,3,68,34,0,142,143,5,1,0,0,143,144,5,45,0,0,144,147,5,47,0,0,
3141
+ 145,148,5,45,0,0,146,148,3,10,5,0,147,145,1,0,0,0,147,146,1,0,0,0,148,149,
3142
+ 1,0,0,0,149,147,1,0,0,0,149,150,1,0,0,0,150,151,1,0,0,0,151,152,5,48,0,
3143
+ 0,152,9,1,0,0,0,153,154,7,1,0,0,154,155,5,1,0,0,155,156,3,60,30,0,156,11,
3144
+ 1,0,0,0,157,160,3,54,27,0,158,160,3,44,22,0,159,157,1,0,0,0,159,158,1,0,
3145
+ 0,0,160,162,1,0,0,0,161,163,3,18,9,0,162,161,1,0,0,0,162,163,1,0,0,0,163,
3146
+ 13,1,0,0,0,164,165,5,16,0,0,165,167,3,12,6,0,166,168,5,37,0,0,167,166,1,
3147
+ 0,0,0,167,168,1,0,0,0,168,15,1,0,0,0,169,172,3,12,6,0,170,172,3,18,9,0,
3148
+ 171,169,1,0,0,0,171,170,1,0,0,0,172,17,1,0,0,0,173,174,5,15,0,0,174,175,
3149
+ 7,2,0,0,175,19,1,0,0,0,176,177,7,2,0,0,177,21,1,0,0,0,178,184,5,17,0,0,
3150
+ 179,181,3,16,8,0,180,182,5,37,0,0,181,180,1,0,0,0,181,182,1,0,0,0,182,185,
3151
+ 1,0,0,0,183,185,5,19,0,0,184,179,1,0,0,0,184,183,1,0,0,0,185,23,1,0,0,0,
3152
+ 186,199,5,18,0,0,187,192,3,16,8,0,188,189,5,2,0,0,189,191,3,16,8,0,190,
3153
+ 188,1,0,0,0,191,194,1,0,0,0,192,190,1,0,0,0,192,193,1,0,0,0,193,196,1,0,
3154
+ 0,0,194,192,1,0,0,0,195,197,5,37,0,0,196,195,1,0,0,0,196,197,1,0,0,0,197,
3155
+ 200,1,0,0,0,198,200,5,19,0,0,199,187,1,0,0,0,199,198,1,0,0,0,200,25,1,0,
3156
+ 0,0,201,202,5,17,0,0,202,203,3,16,8,0,203,204,5,18,0,0,204,209,3,16,8,0,
3157
+ 205,206,5,2,0,0,206,208,3,16,8,0,207,205,1,0,0,0,208,211,1,0,0,0,209,207,
3158
+ 1,0,0,0,209,210,1,0,0,0,210,212,1,0,0,0,211,209,1,0,0,0,212,213,5,1,0,0,
3159
+ 213,214,5,45,0,0,214,217,5,47,0,0,215,218,5,45,0,0,216,218,3,28,14,0,217,
3160
+ 215,1,0,0,0,217,216,1,0,0,0,218,219,1,0,0,0,219,217,1,0,0,0,219,220,1,0,
3161
+ 0,0,220,221,1,0,0,0,221,222,5,48,0,0,222,27,1,0,0,0,223,224,3,20,10,0,224,
3162
+ 225,5,1,0,0,225,230,3,30,15,0,226,227,5,2,0,0,227,229,3,30,15,0,228,226,
3163
+ 1,0,0,0,229,232,1,0,0,0,230,228,1,0,0,0,230,231,1,0,0,0,231,29,1,0,0,0,
3164
+ 232,230,1,0,0,0,233,234,7,3,0,0,234,31,1,0,0,0,235,236,3,22,11,0,236,237,
3165
+ 5,1,0,0,237,238,5,45,0,0,238,241,5,47,0,0,239,242,5,45,0,0,240,242,3,34,
3166
+ 17,0,241,239,1,0,0,0,241,240,1,0,0,0,242,243,1,0,0,0,243,241,1,0,0,0,243,
3167
+ 244,1,0,0,0,244,245,1,0,0,0,245,246,5,48,0,0,246,33,1,0,0,0,247,250,3,2,
3168
+ 1,0,248,250,3,36,18,0,249,247,1,0,0,0,249,248,1,0,0,0,250,35,1,0,0,0,251,
3169
+ 252,3,20,10,0,252,255,5,1,0,0,253,256,3,38,19,0,254,256,3,40,20,0,255,253,
3170
+ 1,0,0,0,255,254,1,0,0,0,256,37,1,0,0,0,257,260,3,2,1,0,258,260,5,35,0,0,
3171
+ 259,257,1,0,0,0,259,258,1,0,0,0,260,39,1,0,0,0,261,262,5,45,0,0,262,265,
3172
+ 5,47,0,0,263,266,5,45,0,0,264,266,3,2,1,0,265,263,1,0,0,0,265,264,1,0,0,
3173
+ 0,266,267,1,0,0,0,267,265,1,0,0,0,267,268,1,0,0,0,268,269,1,0,0,0,269,270,
3174
+ 5,48,0,0,270,41,1,0,0,0,271,272,5,9,0,0,272,43,1,0,0,0,273,274,3,68,34,
3175
+ 0,274,275,5,3,0,0,275,276,3,54,27,0,276,45,1,0,0,0,277,278,5,37,0,0,278,
3176
+ 279,5,3,0,0,279,280,3,54,27,0,280,47,1,0,0,0,281,286,3,54,27,0,282,283,
3177
+ 5,2,0,0,283,285,3,54,27,0,284,282,1,0,0,0,285,288,1,0,0,0,286,284,1,0,0,
3178
+ 0,286,287,1,0,0,0,287,293,1,0,0,0,288,286,1,0,0,0,289,290,5,2,0,0,290,292,
3179
+ 3,46,23,0,291,289,1,0,0,0,292,295,1,0,0,0,293,291,1,0,0,0,293,294,1,0,0,
3180
+ 0,294,305,1,0,0,0,295,293,1,0,0,0,296,301,3,46,23,0,297,298,5,2,0,0,298,
3181
+ 300,3,46,23,0,299,297,1,0,0,0,300,303,1,0,0,0,301,299,1,0,0,0,301,302,1,
3182
+ 0,0,0,302,305,1,0,0,0,303,301,1,0,0,0,304,281,1,0,0,0,304,296,1,0,0,0,305,
3183
+ 49,1,0,0,0,306,307,3,68,34,0,307,308,5,3,0,0,308,309,3,54,27,0,309,51,1,
3184
+ 0,0,0,310,311,5,4,0,0,311,312,5,37,0,0,312,313,5,3,0,0,313,314,3,54,27,
3185
+ 0,314,53,1,0,0,0,315,317,6,27,-1,0,316,318,3,58,29,0,317,316,1,0,0,0,317,
3186
+ 318,1,0,0,0,318,321,1,0,0,0,319,322,3,60,30,0,320,322,3,68,34,0,321,319,
3187
+ 1,0,0,0,321,320,1,0,0,0,322,330,1,0,0,0,323,324,5,33,0,0,324,325,3,54,27,
3188
+ 0,325,326,5,34,0,0,326,330,1,0,0,0,327,330,3,76,38,0,328,330,3,78,39,0,
3189
+ 329,315,1,0,0,0,329,323,1,0,0,0,329,327,1,0,0,0,329,328,1,0,0,0,330,343,
3190
+ 1,0,0,0,331,332,10,5,0,0,332,333,7,4,0,0,333,342,3,54,27,6,334,335,10,4,
3191
+ 0,0,335,336,7,5,0,0,336,342,3,54,27,5,337,338,10,3,0,0,338,339,3,56,28,
3192
+ 0,339,340,3,54,27,4,340,342,1,0,0,0,341,331,1,0,0,0,341,334,1,0,0,0,341,
3193
+ 337,1,0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,55,1,0,
3194
+ 0,0,345,343,1,0,0,0,346,347,7,6,0,0,347,57,1,0,0,0,348,349,7,7,0,0,349,
3195
+ 59,1,0,0,0,350,352,5,30,0,0,351,350,1,0,0,0,351,352,1,0,0,0,352,353,1,0,
3196
+ 0,0,353,356,7,8,0,0,354,356,3,88,44,0,355,351,1,0,0,0,355,354,1,0,0,0,356,
3197
+ 61,1,0,0,0,357,358,5,23,0,0,358,359,5,37,0,0,359,361,5,33,0,0,360,362,3,
3198
+ 66,33,0,361,360,1,0,0,0,361,362,1,0,0,0,362,363,1,0,0,0,363,364,5,34,0,
3199
+ 0,364,365,5,1,0,0,365,366,5,45,0,0,366,369,5,47,0,0,367,370,5,45,0,0,368,
3200
+ 370,3,64,32,0,369,367,1,0,0,0,369,368,1,0,0,0,370,371,1,0,0,0,371,369,1,
3201
+ 0,0,0,371,372,1,0,0,0,372,373,1,0,0,0,373,374,5,48,0,0,374,63,1,0,0,0,375,
3202
+ 378,3,2,1,0,376,378,3,74,37,0,377,375,1,0,0,0,377,376,1,0,0,0,378,65,1,
3203
+ 0,0,0,379,384,5,37,0,0,380,381,5,2,0,0,381,383,5,37,0,0,382,380,1,0,0,0,
3204
+ 383,386,1,0,0,0,384,382,1,0,0,0,384,385,1,0,0,0,385,393,1,0,0,0,386,384,
3205
+ 1,0,0,0,387,388,5,2,0,0,388,389,5,37,0,0,389,390,5,3,0,0,390,392,3,60,30,
3206
+ 0,391,387,1,0,0,0,392,395,1,0,0,0,393,391,1,0,0,0,393,394,1,0,0,0,394,409,
3207
+ 1,0,0,0,395,393,1,0,0,0,396,397,5,37,0,0,397,398,5,3,0,0,398,405,3,60,30,
3208
+ 0,399,400,5,2,0,0,400,401,5,37,0,0,401,402,5,3,0,0,402,404,3,60,30,0,403,
3209
+ 399,1,0,0,0,404,407,1,0,0,0,405,403,1,0,0,0,405,406,1,0,0,0,406,409,1,0,
3210
+ 0,0,407,405,1,0,0,0,408,379,1,0,0,0,408,396,1,0,0,0,409,67,1,0,0,0,410,
3211
+ 412,3,72,36,0,411,410,1,0,0,0,411,412,1,0,0,0,412,413,1,0,0,0,413,417,5,
3212
+ 37,0,0,414,416,3,70,35,0,415,414,1,0,0,0,416,419,1,0,0,0,417,415,1,0,0,
3213
+ 0,417,418,1,0,0,0,418,69,1,0,0,0,419,417,1,0,0,0,420,422,5,33,0,0,421,423,
3214
+ 3,48,24,0,422,421,1,0,0,0,422,423,1,0,0,0,423,424,1,0,0,0,424,428,5,34,
3215
+ 0,0,425,426,5,5,0,0,426,428,5,37,0,0,427,420,1,0,0,0,427,425,1,0,0,0,428,
3216
+ 71,1,0,0,0,429,431,5,29,0,0,430,429,1,0,0,0,430,431,1,0,0,0,431,432,1,0,
3217
+ 0,0,432,434,5,31,0,0,433,435,3,54,27,0,434,433,1,0,0,0,434,435,1,0,0,0,
3218
+ 435,73,1,0,0,0,436,437,5,22,0,0,437,438,3,54,27,0,438,75,1,0,0,0,439,440,
3219
+ 5,11,0,0,440,441,5,12,0,0,441,442,5,1,0,0,442,443,5,45,0,0,443,446,5,47,
3220
+ 0,0,444,447,5,45,0,0,445,447,3,82,41,0,446,444,1,0,0,0,446,445,1,0,0,0,
3221
+ 447,448,1,0,0,0,448,446,1,0,0,0,448,449,1,0,0,0,449,450,1,0,0,0,450,451,
3222
+ 5,48,0,0,451,77,1,0,0,0,452,453,5,11,0,0,453,454,5,13,0,0,454,455,5,1,0,
3223
+ 0,455,456,5,45,0,0,456,459,5,47,0,0,457,460,5,45,0,0,458,460,3,80,40,0,
3224
+ 459,457,1,0,0,0,459,458,1,0,0,0,460,461,1,0,0,0,461,459,1,0,0,0,461,462,
3225
+ 1,0,0,0,462,463,1,0,0,0,463,464,5,48,0,0,464,79,1,0,0,0,465,466,7,9,0,0,
3226
+ 466,472,5,1,0,0,467,473,3,48,24,0,468,469,5,33,0,0,469,470,3,48,24,0,470,
3227
+ 471,5,34,0,0,471,473,1,0,0,0,472,467,1,0,0,0,472,468,1,0,0,0,473,81,1,0,
3228
+ 0,0,474,475,3,84,42,0,475,476,5,1,0,0,476,477,3,86,43,0,477,83,1,0,0,0,
3229
+ 478,479,7,10,0,0,479,85,1,0,0,0,480,481,5,45,0,0,481,484,5,47,0,0,482,485,
3230
+ 5,45,0,0,483,485,3,82,41,0,484,482,1,0,0,0,484,483,1,0,0,0,485,486,1,0,
3231
+ 0,0,486,484,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,498,5,48,0,0,489,
3232
+ 494,3,54,27,0,490,491,5,2,0,0,491,493,3,54,27,0,492,490,1,0,0,0,493,496,
3233
+ 1,0,0,0,494,492,1,0,0,0,494,495,1,0,0,0,495,498,1,0,0,0,496,494,1,0,0,0,
3234
+ 497,480,1,0,0,0,497,489,1,0,0,0,498,87,1,0,0,0,499,500,5,6,0,0,500,501,
3235
+ 5,38,0,0,501,502,5,7,0,0,502,89,1,0,0,0,503,504,5,14,0,0,504,508,5,37,0,
3236
+ 0,505,507,7,1,0,0,506,505,1,0,0,0,507,510,1,0,0,0,508,506,1,0,0,0,508,509,
3237
+ 1,0,0,0,509,91,1,0,0,0,510,508,1,0,0,0,511,512,5,19,0,0,512,513,5,37,0,
3238
+ 0,513,93,1,0,0,0,514,515,5,24,0,0,515,516,5,37,0,0,516,95,1,0,0,0,517,518,
3239
+ 5,8,0,0,518,519,5,1,0,0,519,520,5,45,0,0,520,523,5,47,0,0,521,524,5,45,
3240
+ 0,0,522,524,3,2,1,0,523,521,1,0,0,0,523,522,1,0,0,0,524,525,1,0,0,0,525,
3241
+ 523,1,0,0,0,525,526,1,0,0,0,526,527,1,0,0,0,527,528,5,48,0,0,528,97,1,0,
3242
+ 0,0,65,100,102,122,127,135,137,147,149,159,162,167,171,181,184,192,196,
3243
+ 199,209,217,219,230,241,243,249,255,259,265,267,286,293,301,304,317,321,
3244
+ 329,341,343,351,355,361,369,371,377,384,393,405,408,411,417,422,427,430,
3245
+ 434,446,448,459,461,472,484,486,494,497,508,523,525];
3149
3246
 
3150
3247
  private static __ATN: ATN;
3151
3248
  public static get _ATN(): ATN {
@@ -3230,9 +3327,6 @@ export class ExpressionContext extends ParserRuleContext {
3230
3327
  public wire_expr(): Wire_exprContext {
3231
3328
  return this.getTypedRuleContext(Wire_exprContext, 0) as Wire_exprContext;
3232
3329
  }
3233
- public point_expr(): Point_exprContext {
3234
- return this.getTypedRuleContext(Point_exprContext, 0) as Point_exprContext;
3235
- }
3236
3330
  public import_expr(): Import_exprContext {
3237
3331
  return this.getTypedRuleContext(Import_exprContext, 0) as Import_exprContext;
3238
3332
  }
@@ -3245,8 +3339,11 @@ export class ExpressionContext extends ParserRuleContext {
3245
3339
  public at_block(): At_blockContext {
3246
3340
  return this.getTypedRuleContext(At_blockContext, 0) as At_blockContext;
3247
3341
  }
3248
- public branch_blocks(): Branch_blocksContext {
3249
- return this.getTypedRuleContext(Branch_blocksContext, 0) as Branch_blocksContext;
3342
+ public path_blocks(): Path_blocksContext {
3343
+ return this.getTypedRuleContext(Path_blocksContext, 0) as Path_blocksContext;
3344
+ }
3345
+ public point_expr(): Point_exprContext {
3346
+ return this.getTypedRuleContext(Point_exprContext, 0) as Point_exprContext;
3250
3347
  }
3251
3348
  public get ruleIndex(): number {
3252
3349
  return CircuitScriptParser.RULE_expression;
@@ -3262,24 +3359,24 @@ export class ExpressionContext extends ParserRuleContext {
3262
3359
  }
3263
3360
 
3264
3361
 
3265
- export class Branch_blocksContext extends ParserRuleContext {
3362
+ export class Path_blocksContext extends ParserRuleContext {
3266
3363
  constructor(parser?: CircuitScriptParser, parent?: ParserRuleContext, invokingState?: number) {
3267
3364
  super(parent, invokingState);
3268
3365
  this.parser = parser;
3269
3366
  }
3270
- public branch_block_inner_list(): Branch_block_innerContext[] {
3271
- return this.getTypedRuleContexts(Branch_block_innerContext) as Branch_block_innerContext[];
3367
+ public path_block_inner_list(): Path_block_innerContext[] {
3368
+ return this.getTypedRuleContexts(Path_block_innerContext) as Path_block_innerContext[];
3272
3369
  }
3273
- public branch_block_inner(i: number): Branch_block_innerContext {
3274
- return this.getTypedRuleContext(Branch_block_innerContext, i) as Branch_block_innerContext;
3370
+ public path_block_inner(i: number): Path_block_innerContext {
3371
+ return this.getTypedRuleContext(Path_block_innerContext, i) as Path_block_innerContext;
3275
3372
  }
3276
3373
  public get ruleIndex(): number {
3277
- return CircuitScriptParser.RULE_branch_blocks;
3374
+ return CircuitScriptParser.RULE_path_blocks;
3278
3375
  }
3279
3376
  // @Override
3280
3377
  public accept<Result>(visitor: CircuitScriptVisitor<Result>): Result {
3281
- if (visitor.visitBranch_blocks) {
3282
- return visitor.visitBranch_blocks(this);
3378
+ if (visitor.visitPath_blocks) {
3379
+ return visitor.visitPath_blocks(this);
3283
3380
  } else {
3284
3381
  return visitor.visitChildren(this);
3285
3382
  }
@@ -3287,14 +3384,11 @@ export class Branch_blocksContext extends ParserRuleContext {
3287
3384
  }
3288
3385
 
3289
3386
 
3290
- export class Branch_block_innerContext extends ParserRuleContext {
3387
+ export class Path_block_innerContext extends ParserRuleContext {
3291
3388
  constructor(parser?: CircuitScriptParser, parent?: ParserRuleContext, invokingState?: number) {
3292
3389
  super(parent, invokingState);
3293
3390
  this.parser = parser;
3294
3391
  }
3295
- public Branch(): TerminalNode {
3296
- return this.getToken(CircuitScriptParser.Branch, 0);
3297
- }
3298
3392
  public NEWLINE_list(): TerminalNode[] {
3299
3393
  return this.getTokens(CircuitScriptParser.NEWLINE);
3300
3394
  }
@@ -3307,6 +3401,18 @@ export class Branch_block_innerContext extends ParserRuleContext {
3307
3401
  public DEDENT(): TerminalNode {
3308
3402
  return this.getToken(CircuitScriptParser.DEDENT, 0);
3309
3403
  }
3404
+ public Branch(): TerminalNode {
3405
+ return this.getToken(CircuitScriptParser.Branch, 0);
3406
+ }
3407
+ public Join(): TerminalNode {
3408
+ return this.getToken(CircuitScriptParser.Join, 0);
3409
+ }
3410
+ public Parallel(): TerminalNode {
3411
+ return this.getToken(CircuitScriptParser.Parallel, 0);
3412
+ }
3413
+ public Point(): TerminalNode {
3414
+ return this.getToken(CircuitScriptParser.Point, 0);
3415
+ }
3310
3416
  public expression_list(): ExpressionContext[] {
3311
3417
  return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[];
3312
3418
  }
@@ -3314,12 +3420,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3314
3420
  return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext;
3315
3421
  }
3316
3422
  public get ruleIndex(): number {
3317
- return CircuitScriptParser.RULE_branch_block_inner;
3423
+ return CircuitScriptParser.RULE_path_block_inner;
3318
3424
  }
3319
3425
  // @Override
3320
3426
  public accept<Result>(visitor: CircuitScriptVisitor<Result>): Result {
3321
- if (visitor.visitBranch_block_inner) {
3322
- return visitor.visitBranch_block_inner(this);
3427
+ if (visitor.visitPath_block_inner) {
3428
+ return visitor.visitPath_block_inner(this);
3323
3429
  } else {
3324
3430
  return visitor.visitChildren(this);
3325
3431
  }
@@ -3537,6 +3643,9 @@ export class At_component_exprContext extends ParserRuleContext {
3537
3643
  public At(): TerminalNode {
3538
3644
  return this.getToken(CircuitScriptParser.At, 0);
3539
3645
  }
3646
+ public Point(): TerminalNode {
3647
+ return this.getToken(CircuitScriptParser.Point, 0);
3648
+ }
3540
3649
  public component_select_expr(): Component_select_exprContext {
3541
3650
  return this.getTypedRuleContext(Component_select_exprContext, 0) as Component_select_exprContext;
3542
3651
  }
@@ -3565,6 +3674,9 @@ export class To_component_exprContext extends ParserRuleContext {
3565
3674
  public To(): TerminalNode {
3566
3675
  return this.getToken(CircuitScriptParser.To, 0);
3567
3676
  }
3677
+ public Point(): TerminalNode {
3678
+ return this.getToken(CircuitScriptParser.Point, 0);
3679
+ }
3568
3680
  public component_select_expr_list(): Component_select_exprContext[] {
3569
3681
  return this.getTypedRuleContexts(Component_select_exprContext) as Component_select_exprContext[];
3570
3682
  }