circuitscript 0.0.17 → 0.0.18

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.
@@ -42,30 +42,31 @@ export default class CircuitScriptParser extends Parser {
42
42
  public static readonly Return = 20;
43
43
  public static readonly Define = 21;
44
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;
45
+ public static readonly Join = 23;
46
+ public static readonly If = 24;
47
+ public static readonly Not = 25;
48
+ public static readonly Equals = 26;
49
+ public static readonly NotEquals = 27;
50
+ public static readonly Addition = 28;
51
+ public static readonly Minus = 29;
52
+ public static readonly Divide = 30;
53
+ public static readonly Multiply = 31;
54
+ public static readonly OPEN_PAREN = 32;
55
+ public static readonly CLOSE_PAREN = 33;
56
+ public static readonly NOT_CONNECTED = 34;
57
+ public static readonly BOOLEAN_VALUE = 35;
58
+ public static readonly ID = 36;
59
+ public static readonly INTEGER_VALUE = 37;
60
+ public static readonly DECIMAL_VALUE = 38;
61
+ public static readonly NUMERIC_VALUE = 39;
62
+ public static readonly STRING_VALUE = 40;
63
+ public static readonly PERCENTAGE_VALUE = 41;
64
+ public static readonly ALPHA_NUMERIC = 42;
65
+ public static readonly WS = 43;
66
+ public static readonly NEWLINE = 44;
67
+ public static readonly SKIP_ = 45;
68
+ public static readonly INDENT = 46;
69
+ public static readonly DEDENT = 47;
69
70
  public static readonly EOF = Token.EOF;
70
71
  public static readonly RULE_script = 0;
71
72
  public static readonly RULE_expression = 1;
@@ -130,11 +131,12 @@ export default class CircuitScriptParser extends Parser {
130
131
  "'to'", "'point'",
131
132
  "'return'",
132
133
  "'def'", "'import'",
133
- "'if'", "'!'",
134
- "'=='", "'!='",
135
- "'+'", "'-'",
136
- "'/'", "'*'",
137
- "'('", "')'" ];
134
+ "'join'", "'if'",
135
+ "'!'", "'=='",
136
+ "'!='", "'+'",
137
+ "'-'", "'/'",
138
+ "'*'", "'('",
139
+ "')'" ];
138
140
  public static readonly symbolicNames: (string | null)[] = [ null, null,
139
141
  null, null,
140
142
  null, null,
@@ -147,9 +149,9 @@ export default class CircuitScriptParser extends Parser {
147
149
  "Add", "At",
148
150
  "To", "Point",
149
151
  "Return", "Define",
150
- "Import", "If",
151
- "Not", "Equals",
152
- "NotEquals",
152
+ "Import", "Join",
153
+ "If", "Not",
154
+ "Equals", "NotEquals",
153
155
  "Addition",
154
156
  "Minus", "Divide",
155
157
  "Multiply",
@@ -223,15 +225,16 @@ export default class CircuitScriptParser extends Parser {
223
225
  case 19:
224
226
  case 21:
225
227
  case 22:
226
- case 27:
227
- case 29:
228
- case 35:
228
+ case 23:
229
+ case 28:
230
+ case 30:
231
+ case 36:
229
232
  {
230
233
  this.state = 98;
231
234
  this.expression();
232
235
  }
233
236
  break;
234
- case 43:
237
+ case 44:
235
238
  {
236
239
  this.state = 99;
237
240
  this.match(CircuitScriptParser.NEWLINE);
@@ -244,7 +247,7 @@ export default class CircuitScriptParser extends Parser {
244
247
  this.state = 102;
245
248
  this._errHandler.sync(this);
246
249
  _la = this._input.LA(1);
247
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
250
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
248
251
  this.state = 104;
249
252
  this.match(CircuitScriptParser.EOF);
250
253
  }
@@ -452,7 +455,14 @@ export default class CircuitScriptParser extends Parser {
452
455
  this.enterOuterAlt(localctx, 1);
453
456
  {
454
457
  this.state = 129;
455
- this.match(CircuitScriptParser.Branch);
458
+ _la = this._input.LA(1);
459
+ if(!(_la===10 || _la===23)) {
460
+ this._errHandler.recoverInline(this);
461
+ }
462
+ else {
463
+ this._errHandler.reportMatch(this);
464
+ this.consume();
465
+ }
456
466
  this.state = 130;
457
467
  this.match(CircuitScriptParser.T__0);
458
468
  this.state = 131;
@@ -467,7 +477,7 @@ export default class CircuitScriptParser extends Parser {
467
477
  this.state = 135;
468
478
  this._errHandler.sync(this);
469
479
  switch (this._input.LA(1)) {
470
- case 43:
480
+ case 44:
471
481
  {
472
482
  this.state = 133;
473
483
  this.match(CircuitScriptParser.NEWLINE);
@@ -484,9 +494,10 @@ export default class CircuitScriptParser extends Parser {
484
494
  case 19:
485
495
  case 21:
486
496
  case 22:
487
- case 27:
488
- case 29:
489
- case 35:
497
+ case 23:
498
+ case 28:
499
+ case 30:
500
+ case 36:
490
501
  {
491
502
  this.state = 134;
492
503
  this.expression();
@@ -499,7 +510,7 @@ export default class CircuitScriptParser extends Parser {
499
510
  this.state = 137;
500
511
  this._errHandler.sync(this);
501
512
  _la = this._input.LA(1);
502
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
513
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
503
514
  this.state = 139;
504
515
  this.match(CircuitScriptParser.DEDENT);
505
516
  }
@@ -542,14 +553,14 @@ export default class CircuitScriptParser extends Parser {
542
553
  this.state = 147;
543
554
  this._errHandler.sync(this);
544
555
  switch (this._input.LA(1)) {
545
- case 43:
556
+ case 44:
546
557
  {
547
558
  this.state = 145;
548
559
  this.match(CircuitScriptParser.NEWLINE);
549
560
  }
550
561
  break;
551
- case 35:
552
562
  case 36:
563
+ case 37:
553
564
  {
554
565
  this.state = 146;
555
566
  this.assignment_expr2();
@@ -562,7 +573,7 @@ export default class CircuitScriptParser extends Parser {
562
573
  this.state = 149;
563
574
  this._errHandler.sync(this);
564
575
  _la = this._input.LA(1);
565
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 259) !== 0));
576
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 259) !== 0));
566
577
  this.state = 151;
567
578
  this.match(CircuitScriptParser.DEDENT);
568
579
  }
@@ -591,7 +602,7 @@ export default class CircuitScriptParser extends Parser {
591
602
  {
592
603
  this.state = 153;
593
604
  _la = this._input.LA(1);
594
- if(!(_la===35 || _la===36)) {
605
+ if(!(_la===36 || _la===37)) {
595
606
  this._errHandler.recoverInline(this);
596
607
  }
597
608
  else {
@@ -715,18 +726,18 @@ export default class CircuitScriptParser extends Parser {
715
726
  switch (this._input.LA(1)) {
716
727
  case 6:
717
728
  case 11:
718
- case 24:
719
- case 27:
729
+ case 25:
720
730
  case 28:
721
731
  case 29:
722
- case 31:
723
- case 34:
732
+ case 30:
733
+ case 32:
724
734
  case 35:
725
735
  case 36:
726
736
  case 37:
727
737
  case 38:
728
738
  case 39:
729
739
  case 40:
740
+ case 41:
730
741
  this.enterOuterAlt(localctx, 1);
731
742
  {
732
743
  this.state = 169;
@@ -770,7 +781,7 @@ export default class CircuitScriptParser extends Parser {
770
781
  this.match(CircuitScriptParser.Pin);
771
782
  this.state = 174;
772
783
  _la = this._input.LA(1);
773
- if(!(_la===36 || _la===39)) {
784
+ if(!(_la===37 || _la===40)) {
774
785
  this._errHandler.recoverInline(this);
775
786
  }
776
787
  else {
@@ -803,7 +814,7 @@ export default class CircuitScriptParser extends Parser {
803
814
  {
804
815
  this.state = 176;
805
816
  _la = this._input.LA(1);
806
- if(!(_la===36 || _la===39)) {
817
+ if(!(_la===37 || _la===40)) {
807
818
  this._errHandler.recoverInline(this);
808
819
  }
809
820
  else {
@@ -963,14 +974,14 @@ export default class CircuitScriptParser extends Parser {
963
974
  this.state = 211;
964
975
  this._errHandler.sync(this);
965
976
  switch (this._input.LA(1)) {
966
- case 43:
977
+ case 44:
967
978
  {
968
979
  this.state = 209;
969
980
  this.match(CircuitScriptParser.NEWLINE);
970
981
  }
971
982
  break;
972
- case 36:
973
- case 39:
983
+ case 37:
984
+ case 40:
974
985
  {
975
986
  this.state = 210;
976
987
  this.at_to_multiple_line_expr();
@@ -983,7 +994,7 @@ export default class CircuitScriptParser extends Parser {
983
994
  this.state = 213;
984
995
  this._errHandler.sync(this);
985
996
  _la = this._input.LA(1);
986
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 137) !== 0));
997
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 137) !== 0));
987
998
  this.state = 215;
988
999
  this.match(CircuitScriptParser.DEDENT);
989
1000
  }
@@ -1058,7 +1069,7 @@ export default class CircuitScriptParser extends Parser {
1058
1069
  {
1059
1070
  this.state = 227;
1060
1071
  _la = this._input.LA(1);
1061
- if(!(_la===33 || _la===36)) {
1072
+ if(!(_la===34 || _la===37)) {
1062
1073
  this._errHandler.recoverInline(this);
1063
1074
  }
1064
1075
  else {
@@ -1105,7 +1116,7 @@ export default class CircuitScriptParser extends Parser {
1105
1116
  this.state = 235;
1106
1117
  this._errHandler.sync(this);
1107
1118
  switch (this._input.LA(1)) {
1108
- case 43:
1119
+ case 44:
1109
1120
  {
1110
1121
  this.state = 233;
1111
1122
  this.match(CircuitScriptParser.NEWLINE);
@@ -1122,11 +1133,12 @@ export default class CircuitScriptParser extends Parser {
1122
1133
  case 19:
1123
1134
  case 21:
1124
1135
  case 22:
1125
- case 27:
1126
- case 29:
1127
- case 35:
1136
+ case 23:
1137
+ case 28:
1138
+ case 30:
1128
1139
  case 36:
1129
- case 39:
1140
+ case 37:
1141
+ case 40:
1130
1142
  {
1131
1143
  this.state = 234;
1132
1144
  this.at_block_expressions();
@@ -1139,7 +1151,7 @@ export default class CircuitScriptParser extends Parser {
1139
1151
  this.state = 237;
1140
1152
  this._errHandler.sync(this);
1141
1153
  _la = this._input.LA(1);
1142
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
1154
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
1143
1155
  this.state = 239;
1144
1156
  this.match(CircuitScriptParser.DEDENT);
1145
1157
  }
@@ -1177,17 +1189,18 @@ export default class CircuitScriptParser extends Parser {
1177
1189
  case 19:
1178
1190
  case 21:
1179
1191
  case 22:
1180
- case 27:
1181
- case 29:
1182
- case 35:
1192
+ case 23:
1193
+ case 28:
1194
+ case 30:
1195
+ case 36:
1183
1196
  this.enterOuterAlt(localctx, 1);
1184
1197
  {
1185
1198
  this.state = 241;
1186
1199
  this.expression();
1187
1200
  }
1188
1201
  break;
1189
- case 36:
1190
- case 39:
1202
+ case 37:
1203
+ case 40:
1191
1204
  this.enterOuterAlt(localctx, 2);
1192
1205
  {
1193
1206
  this.state = 242;
@@ -1237,16 +1250,17 @@ export default class CircuitScriptParser extends Parser {
1237
1250
  case 19:
1238
1251
  case 21:
1239
1252
  case 22:
1240
- case 27:
1241
- case 29:
1242
- case 33:
1243
- case 35:
1253
+ case 23:
1254
+ case 28:
1255
+ case 30:
1256
+ case 34:
1257
+ case 36:
1244
1258
  {
1245
1259
  this.state = 247;
1246
1260
  this.at_block_pin_expression_simple();
1247
1261
  }
1248
1262
  break;
1249
- case 43:
1263
+ case 44:
1250
1264
  {
1251
1265
  this.state = 248;
1252
1266
  this.at_block_pin_expression_complex();
@@ -1292,15 +1306,16 @@ export default class CircuitScriptParser extends Parser {
1292
1306
  case 19:
1293
1307
  case 21:
1294
1308
  case 22:
1295
- case 27:
1296
- case 29:
1297
- case 35:
1309
+ case 23:
1310
+ case 28:
1311
+ case 30:
1312
+ case 36:
1298
1313
  {
1299
1314
  this.state = 251;
1300
1315
  this.expression();
1301
1316
  }
1302
1317
  break;
1303
- case 33:
1318
+ case 34:
1304
1319
  {
1305
1320
  this.state = 252;
1306
1321
  this.match(CircuitScriptParser.NOT_CONNECTED);
@@ -1345,7 +1360,7 @@ export default class CircuitScriptParser extends Parser {
1345
1360
  this.state = 259;
1346
1361
  this._errHandler.sync(this);
1347
1362
  switch (this._input.LA(1)) {
1348
- case 43:
1363
+ case 44:
1349
1364
  {
1350
1365
  this.state = 257;
1351
1366
  this.match(CircuitScriptParser.NEWLINE);
@@ -1362,9 +1377,10 @@ export default class CircuitScriptParser extends Parser {
1362
1377
  case 19:
1363
1378
  case 21:
1364
1379
  case 22:
1365
- case 27:
1366
- case 29:
1367
- case 35:
1380
+ case 23:
1381
+ case 28:
1382
+ case 30:
1383
+ case 36:
1368
1384
  {
1369
1385
  this.state = 258;
1370
1386
  this.expression();
@@ -1377,7 +1393,7 @@ export default class CircuitScriptParser extends Parser {
1377
1393
  this.state = 261;
1378
1394
  this._errHandler.sync(this);
1379
1395
  _la = this._input.LA(1);
1380
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
1396
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
1381
1397
  this.state = 263;
1382
1398
  this.match(CircuitScriptParser.DEDENT);
1383
1399
  }
@@ -1677,21 +1693,21 @@ export default class CircuitScriptParser extends Parser {
1677
1693
  this._errHandler.sync(this);
1678
1694
  switch (this._input.LA(1)) {
1679
1695
  case 6:
1680
- case 28:
1681
- case 34:
1682
- case 36:
1696
+ case 29:
1697
+ case 35:
1683
1698
  case 37:
1684
1699
  case 38:
1685
1700
  case 39:
1686
1701
  case 40:
1702
+ case 41:
1687
1703
  {
1688
1704
  this.state = 313;
1689
1705
  this.value_expr();
1690
1706
  }
1691
1707
  break;
1692
- case 27:
1693
- case 29:
1694
- case 35:
1708
+ case 28:
1709
+ case 30:
1710
+ case 36:
1695
1711
  {
1696
1712
  this.state = 314;
1697
1713
  this.atom_expr();
@@ -1759,7 +1775,7 @@ export default class CircuitScriptParser extends Parser {
1759
1775
  }
1760
1776
  this.state = 326;
1761
1777
  _la = this._input.LA(1);
1762
- if(!(_la===29 || _la===30)) {
1778
+ if(!(_la===30 || _la===31)) {
1763
1779
  this._errHandler.recoverInline(this);
1764
1780
  }
1765
1781
  else {
@@ -1780,7 +1796,7 @@ export default class CircuitScriptParser extends Parser {
1780
1796
  }
1781
1797
  this.state = 329;
1782
1798
  _la = this._input.LA(1);
1783
- if(!(_la===27 || _la===28)) {
1799
+ if(!(_la===28 || _la===29)) {
1784
1800
  this._errHandler.recoverInline(this);
1785
1801
  }
1786
1802
  else {
@@ -1838,7 +1854,7 @@ export default class CircuitScriptParser extends Parser {
1838
1854
  {
1839
1855
  this.state = 340;
1840
1856
  _la = this._input.LA(1);
1841
- if(!(_la===25 || _la===26)) {
1857
+ if(!(_la===26 || _la===27)) {
1842
1858
  this._errHandler.recoverInline(this);
1843
1859
  }
1844
1860
  else {
@@ -1871,7 +1887,7 @@ export default class CircuitScriptParser extends Parser {
1871
1887
  {
1872
1888
  this.state = 342;
1873
1889
  _la = this._input.LA(1);
1874
- if(!(_la===24 || _la===28)) {
1890
+ if(!(_la===25 || _la===29)) {
1875
1891
  this._errHandler.recoverInline(this);
1876
1892
  }
1877
1893
  else {
@@ -1903,20 +1919,20 @@ export default class CircuitScriptParser extends Parser {
1903
1919
  this.state = 349;
1904
1920
  this._errHandler.sync(this);
1905
1921
  switch (this._input.LA(1)) {
1906
- case 28:
1907
- case 34:
1908
- case 36:
1922
+ case 29:
1923
+ case 35:
1909
1924
  case 37:
1910
1925
  case 38:
1911
1926
  case 39:
1912
1927
  case 40:
1928
+ case 41:
1913
1929
  this.enterOuterAlt(localctx, 1);
1914
1930
  {
1915
1931
  {
1916
1932
  this.state = 345;
1917
1933
  this._errHandler.sync(this);
1918
1934
  _la = this._input.LA(1);
1919
- if (_la===28) {
1935
+ if (_la===29) {
1920
1936
  {
1921
1937
  this.state = 344;
1922
1938
  this.match(CircuitScriptParser.Minus);
@@ -1925,7 +1941,7 @@ export default class CircuitScriptParser extends Parser {
1925
1941
 
1926
1942
  this.state = 347;
1927
1943
  _la = this._input.LA(1);
1928
- if(!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 125) !== 0))) {
1944
+ if(!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 125) !== 0))) {
1929
1945
  this._errHandler.recoverInline(this);
1930
1946
  }
1931
1947
  else {
@@ -1977,7 +1993,7 @@ export default class CircuitScriptParser extends Parser {
1977
1993
  this.state = 355;
1978
1994
  this._errHandler.sync(this);
1979
1995
  _la = this._input.LA(1);
1980
- if (_la===35) {
1996
+ if (_la===36) {
1981
1997
  {
1982
1998
  this.state = 354;
1983
1999
  this.function_args_expr();
@@ -2000,7 +2016,7 @@ export default class CircuitScriptParser extends Parser {
2000
2016
  this.state = 363;
2001
2017
  this._errHandler.sync(this);
2002
2018
  switch (this._input.LA(1)) {
2003
- case 43:
2019
+ case 44:
2004
2020
  {
2005
2021
  this.state = 361;
2006
2022
  this.match(CircuitScriptParser.NEWLINE);
@@ -2018,9 +2034,10 @@ export default class CircuitScriptParser extends Parser {
2018
2034
  case 20:
2019
2035
  case 21:
2020
2036
  case 22:
2021
- case 27:
2022
- case 29:
2023
- case 35:
2037
+ case 23:
2038
+ case 28:
2039
+ case 30:
2040
+ case 36:
2024
2041
  {
2025
2042
  this.state = 362;
2026
2043
  this.function_expr();
@@ -2033,7 +2050,7 @@ export default class CircuitScriptParser extends Parser {
2033
2050
  this.state = 365;
2034
2051
  this._errHandler.sync(this);
2035
2052
  _la = this._input.LA(1);
2036
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 679429904) !== 0) || _la===35 || _la===43);
2053
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1358907152) !== 0) || _la===36 || _la===44);
2037
2054
  this.state = 367;
2038
2055
  this.match(CircuitScriptParser.DEDENT);
2039
2056
  }
@@ -2071,9 +2088,10 @@ export default class CircuitScriptParser extends Parser {
2071
2088
  case 19:
2072
2089
  case 21:
2073
2090
  case 22:
2074
- case 27:
2075
- case 29:
2076
- case 35:
2091
+ case 23:
2092
+ case 28:
2093
+ case 30:
2094
+ case 36:
2077
2095
  this.enterOuterAlt(localctx, 1);
2078
2096
  {
2079
2097
  this.state = 369;
@@ -2219,7 +2237,7 @@ export default class CircuitScriptParser extends Parser {
2219
2237
  this.state = 405;
2220
2238
  this._errHandler.sync(this);
2221
2239
  _la = this._input.LA(1);
2222
- if (_la===27 || _la===29) {
2240
+ if (_la===28 || _la===30) {
2223
2241
  {
2224
2242
  this.state = 404;
2225
2243
  this.net_namespace_expr();
@@ -2269,7 +2287,7 @@ export default class CircuitScriptParser extends Parser {
2269
2287
  this.state = 421;
2270
2288
  this._errHandler.sync(this);
2271
2289
  switch (this._input.LA(1)) {
2272
- case 31:
2290
+ case 32:
2273
2291
  this.enterOuterAlt(localctx, 1);
2274
2292
  {
2275
2293
  this.state = 414;
@@ -2277,7 +2295,7 @@ export default class CircuitScriptParser extends Parser {
2277
2295
  this.state = 416;
2278
2296
  this._errHandler.sync(this);
2279
2297
  _la = this._input.LA(1);
2280
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3103787072) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 127) !== 0)) {
2298
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1912604736) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1017) !== 0)) {
2281
2299
  {
2282
2300
  this.state = 415;
2283
2301
  this.parameters();
@@ -2326,7 +2344,7 @@ export default class CircuitScriptParser extends Parser {
2326
2344
  this.state = 424;
2327
2345
  this._errHandler.sync(this);
2328
2346
  _la = this._input.LA(1);
2329
- if (_la===27) {
2347
+ if (_la===28) {
2330
2348
  {
2331
2349
  this.state = 423;
2332
2350
  this.match(CircuitScriptParser.Addition);
@@ -2414,15 +2432,15 @@ export default class CircuitScriptParser extends Parser {
2414
2432
  this.state = 440;
2415
2433
  this._errHandler.sync(this);
2416
2434
  switch (this._input.LA(1)) {
2417
- case 43:
2435
+ case 44:
2418
2436
  {
2419
2437
  this.state = 438;
2420
2438
  this.match(CircuitScriptParser.NEWLINE);
2421
2439
  }
2422
2440
  break;
2423
- case 35:
2424
2441
  case 36:
2425
- case 39:
2442
+ case 37:
2443
+ case 40:
2426
2444
  {
2427
2445
  this.state = 439;
2428
2446
  this.property_expr();
@@ -2435,7 +2453,7 @@ export default class CircuitScriptParser extends Parser {
2435
2453
  this.state = 442;
2436
2454
  this._errHandler.sync(this);
2437
2455
  _la = this._input.LA(1);
2438
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2456
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2439
2457
  this.state = 444;
2440
2458
  this.match(CircuitScriptParser.DEDENT);
2441
2459
  }
@@ -2480,14 +2498,14 @@ export default class CircuitScriptParser extends Parser {
2480
2498
  this.state = 453;
2481
2499
  this._errHandler.sync(this);
2482
2500
  switch (this._input.LA(1)) {
2483
- case 43:
2501
+ case 44:
2484
2502
  {
2485
2503
  this.state = 451;
2486
2504
  this.match(CircuitScriptParser.NEWLINE);
2487
2505
  }
2488
2506
  break;
2489
2507
  case 15:
2490
- case 35:
2508
+ case 36:
2491
2509
  {
2492
2510
  this.state = 452;
2493
2511
  this.sub_expr();
@@ -2500,7 +2518,7 @@ export default class CircuitScriptParser extends Parser {
2500
2518
  this.state = 455;
2501
2519
  this._errHandler.sync(this);
2502
2520
  _la = this._input.LA(1);
2503
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 269484033) !== 0));
2521
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 538968065) !== 0));
2504
2522
  this.state = 457;
2505
2523
  this.match(CircuitScriptParser.DEDENT);
2506
2524
  }
@@ -2529,7 +2547,7 @@ export default class CircuitScriptParser extends Parser {
2529
2547
  {
2530
2548
  this.state = 459;
2531
2549
  _la = this._input.LA(1);
2532
- if(!(_la===15 || _la===35)) {
2550
+ if(!(_la===15 || _la===36)) {
2533
2551
  this._errHandler.recoverInline(this);
2534
2552
  }
2535
2553
  else {
@@ -2613,7 +2631,7 @@ export default class CircuitScriptParser extends Parser {
2613
2631
  {
2614
2632
  this.state = 472;
2615
2633
  _la = this._input.LA(1);
2616
- if(!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 19) !== 0))) {
2634
+ if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 19) !== 0))) {
2617
2635
  this._errHandler.recoverInline(this);
2618
2636
  }
2619
2637
  else {
@@ -2645,7 +2663,7 @@ export default class CircuitScriptParser extends Parser {
2645
2663
  this.state = 491;
2646
2664
  this._errHandler.sync(this);
2647
2665
  switch (this._input.LA(1)) {
2648
- case 43:
2666
+ case 44:
2649
2667
  localctx = new Nested_propertiesContext(this, localctx);
2650
2668
  this.enterOuterAlt(localctx, 1);
2651
2669
  {
@@ -2661,15 +2679,15 @@ export default class CircuitScriptParser extends Parser {
2661
2679
  this.state = 478;
2662
2680
  this._errHandler.sync(this);
2663
2681
  switch (this._input.LA(1)) {
2664
- case 43:
2682
+ case 44:
2665
2683
  {
2666
2684
  this.state = 476;
2667
2685
  this.match(CircuitScriptParser.NEWLINE);
2668
2686
  }
2669
2687
  break;
2670
- case 35:
2671
2688
  case 36:
2672
- case 39:
2689
+ case 37:
2690
+ case 40:
2673
2691
  {
2674
2692
  this.state = 477;
2675
2693
  this.property_expr();
@@ -2682,25 +2700,25 @@ export default class CircuitScriptParser extends Parser {
2682
2700
  this.state = 480;
2683
2701
  this._errHandler.sync(this);
2684
2702
  _la = this._input.LA(1);
2685
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2703
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2686
2704
  this.state = 482;
2687
2705
  this.match(CircuitScriptParser.DEDENT);
2688
2706
  }
2689
2707
  break;
2690
2708
  case 6:
2691
2709
  case 11:
2692
- case 24:
2693
- case 27:
2710
+ case 25:
2694
2711
  case 28:
2695
2712
  case 29:
2696
- case 31:
2697
- case 34:
2713
+ case 30:
2714
+ case 32:
2698
2715
  case 35:
2699
2716
  case 36:
2700
2717
  case 37:
2701
2718
  case 38:
2702
2719
  case 39:
2703
2720
  case 40:
2721
+ case 41:
2704
2722
  localctx = new Single_line_propertyContext(this, localctx);
2705
2723
  this.enterOuterAlt(localctx, 2);
2706
2724
  {
@@ -2793,7 +2811,7 @@ export default class CircuitScriptParser extends Parser {
2793
2811
  {
2794
2812
  this.state = 499;
2795
2813
  _la = this._input.LA(1);
2796
- if(!(_la===35 || _la===36)) {
2814
+ if(!(_la===36 || _la===37)) {
2797
2815
  this._errHandler.recoverInline(this);
2798
2816
  }
2799
2817
  else {
@@ -2901,7 +2919,7 @@ export default class CircuitScriptParser extends Parser {
2901
2919
  this.state = 517;
2902
2920
  this._errHandler.sync(this);
2903
2921
  switch (this._input.LA(1)) {
2904
- case 43:
2922
+ case 44:
2905
2923
  {
2906
2924
  this.state = 515;
2907
2925
  this.match(CircuitScriptParser.NEWLINE);
@@ -2918,9 +2936,10 @@ export default class CircuitScriptParser extends Parser {
2918
2936
  case 19:
2919
2937
  case 21:
2920
2938
  case 22:
2921
- case 27:
2922
- case 29:
2923
- case 35:
2939
+ case 23:
2940
+ case 28:
2941
+ case 30:
2942
+ case 36:
2924
2943
  {
2925
2944
  this.state = 516;
2926
2945
  this.expression();
@@ -2933,7 +2952,7 @@ export default class CircuitScriptParser extends Parser {
2933
2952
  this.state = 519;
2934
2953
  this._errHandler.sync(this);
2935
2954
  _la = this._input.LA(1);
2936
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la===35 || _la===43);
2955
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
2937
2956
  this.state = 521;
2938
2957
  this.match(CircuitScriptParser.DEDENT);
2939
2958
  }
@@ -2972,7 +2991,7 @@ export default class CircuitScriptParser extends Parser {
2972
2991
  return true;
2973
2992
  }
2974
2993
 
2975
- public static readonly _serializedATN: number[] = [4,1,46,524,2,0,7,0,2,
2994
+ public static readonly _serializedATN: number[] = [4,1,47,524,2,0,7,0,2,
2976
2995
  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
2996
  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
2997
  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,
@@ -3014,138 +3033,138 @@ export default class CircuitScriptParser extends Parser {
3014
3033
  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
3034
  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
3035
  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];
3036
+ 54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,0,11,
3037
+ 2,0,10,10,23,23,1,0,36,37,2,0,37,37,40,40,2,0,34,34,37,37,1,0,30,31,1,0,
3038
+ 28,29,1,0,26,27,2,0,25,25,29,29,2,0,35,35,37,41,2,0,15,15,36,36,2,0,36,
3039
+ 37,40,40,554,0,100,1,0,0,0,2,122,1,0,0,0,4,125,1,0,0,0,6,129,1,0,0,0,8,
3040
+ 141,1,0,0,0,10,153,1,0,0,0,12,159,1,0,0,0,14,164,1,0,0,0,16,171,1,0,0,0,
3041
+ 18,173,1,0,0,0,20,176,1,0,0,0,22,178,1,0,0,0,24,183,1,0,0,0,26,195,1,0,
3042
+ 0,0,28,217,1,0,0,0,30,227,1,0,0,0,32,229,1,0,0,0,34,243,1,0,0,0,36,245,
3043
+ 1,0,0,0,38,253,1,0,0,0,40,255,1,0,0,0,42,265,1,0,0,0,44,267,1,0,0,0,46,
3044
+ 271,1,0,0,0,48,298,1,0,0,0,50,300,1,0,0,0,52,304,1,0,0,0,54,323,1,0,0,0,
3045
+ 56,340,1,0,0,0,58,342,1,0,0,0,60,349,1,0,0,0,62,351,1,0,0,0,64,371,1,0,
3046
+ 0,0,66,402,1,0,0,0,68,405,1,0,0,0,70,421,1,0,0,0,72,424,1,0,0,0,74,430,
3047
+ 1,0,0,0,76,433,1,0,0,0,78,446,1,0,0,0,80,459,1,0,0,0,82,468,1,0,0,0,84,
3048
+ 472,1,0,0,0,86,491,1,0,0,0,88,493,1,0,0,0,90,497,1,0,0,0,92,505,1,0,0,0,
3049
+ 94,508,1,0,0,0,96,511,1,0,0,0,98,101,3,2,1,0,99,101,5,44,0,0,100,98,1,0,
3050
+ 0,0,100,99,1,0,0,0,101,102,1,0,0,0,102,100,1,0,0,0,102,103,1,0,0,0,103,
3051
+ 104,1,0,0,0,104,105,5,0,0,1,105,1,1,0,0,0,106,123,3,14,7,0,107,123,3,24,
3052
+ 12,0,108,123,3,22,11,0,109,123,3,44,22,0,110,123,3,50,25,0,111,123,3,8,
3053
+ 4,0,112,123,3,52,26,0,113,123,3,42,21,0,114,123,3,62,31,0,115,123,3,90,
3054
+ 45,0,116,123,3,92,46,0,117,123,3,94,47,0,118,123,3,96,48,0,119,123,3,68,
3055
+ 34,0,120,123,3,32,16,0,121,123,3,4,2,0,122,106,1,0,0,0,122,107,1,0,0,0,
3056
+ 122,108,1,0,0,0,122,109,1,0,0,0,122,110,1,0,0,0,122,111,1,0,0,0,122,112,
3057
+ 1,0,0,0,122,113,1,0,0,0,122,114,1,0,0,0,122,115,1,0,0,0,122,116,1,0,0,0,
3058
+ 122,117,1,0,0,0,122,118,1,0,0,0,122,119,1,0,0,0,122,120,1,0,0,0,122,121,
3059
+ 1,0,0,0,123,3,1,0,0,0,124,126,3,6,3,0,125,124,1,0,0,0,126,127,1,0,0,0,127,
3060
+ 125,1,0,0,0,127,128,1,0,0,0,128,5,1,0,0,0,129,130,7,0,0,0,130,131,5,1,0,
3061
+ 0,131,132,5,44,0,0,132,135,5,46,0,0,133,136,5,44,0,0,134,136,3,2,1,0,135,
3062
+ 133,1,0,0,0,135,134,1,0,0,0,136,137,1,0,0,0,137,135,1,0,0,0,137,138,1,0,
3063
+ 0,0,138,139,1,0,0,0,139,140,5,47,0,0,140,7,1,0,0,0,141,142,3,68,34,0,142,
3064
+ 143,5,1,0,0,143,144,5,44,0,0,144,147,5,46,0,0,145,148,5,44,0,0,146,148,
3065
+ 3,10,5,0,147,145,1,0,0,0,147,146,1,0,0,0,148,149,1,0,0,0,149,147,1,0,0,
3066
+ 0,149,150,1,0,0,0,150,151,1,0,0,0,151,152,5,47,0,0,152,9,1,0,0,0,153,154,
3067
+ 7,1,0,0,154,155,5,1,0,0,155,156,3,60,30,0,156,11,1,0,0,0,157,160,3,54,27,
3068
+ 0,158,160,3,44,22,0,159,157,1,0,0,0,159,158,1,0,0,0,160,162,1,0,0,0,161,
3069
+ 163,3,18,9,0,162,161,1,0,0,0,162,163,1,0,0,0,163,13,1,0,0,0,164,165,5,16,
3070
+ 0,0,165,167,3,12,6,0,166,168,5,36,0,0,167,166,1,0,0,0,167,168,1,0,0,0,168,
3071
+ 15,1,0,0,0,169,172,3,12,6,0,170,172,3,18,9,0,171,169,1,0,0,0,171,170,1,
3072
+ 0,0,0,172,17,1,0,0,0,173,174,5,15,0,0,174,175,7,2,0,0,175,19,1,0,0,0,176,
3073
+ 177,7,2,0,0,177,21,1,0,0,0,178,179,5,17,0,0,179,181,3,16,8,0,180,182,5,
3074
+ 36,0,0,181,180,1,0,0,0,181,182,1,0,0,0,182,23,1,0,0,0,183,184,5,18,0,0,
3075
+ 184,189,3,16,8,0,185,186,5,2,0,0,186,188,3,16,8,0,187,185,1,0,0,0,188,191,
3076
+ 1,0,0,0,189,187,1,0,0,0,189,190,1,0,0,0,190,193,1,0,0,0,191,189,1,0,0,0,
3077
+ 192,194,5,36,0,0,193,192,1,0,0,0,193,194,1,0,0,0,194,25,1,0,0,0,195,196,
3078
+ 5,17,0,0,196,197,3,16,8,0,197,198,5,18,0,0,198,203,3,16,8,0,199,200,5,2,
3079
+ 0,0,200,202,3,16,8,0,201,199,1,0,0,0,202,205,1,0,0,0,203,201,1,0,0,0,203,
3080
+ 204,1,0,0,0,204,206,1,0,0,0,205,203,1,0,0,0,206,207,5,1,0,0,207,208,5,44,
3081
+ 0,0,208,211,5,46,0,0,209,212,5,44,0,0,210,212,3,28,14,0,211,209,1,0,0,0,
3082
+ 211,210,1,0,0,0,212,213,1,0,0,0,213,211,1,0,0,0,213,214,1,0,0,0,214,215,
3083
+ 1,0,0,0,215,216,5,47,0,0,216,27,1,0,0,0,217,218,3,20,10,0,218,219,5,1,0,
3084
+ 0,219,224,3,30,15,0,220,221,5,2,0,0,221,223,3,30,15,0,222,220,1,0,0,0,223,
3085
+ 226,1,0,0,0,224,222,1,0,0,0,224,225,1,0,0,0,225,29,1,0,0,0,226,224,1,0,
3086
+ 0,0,227,228,7,3,0,0,228,31,1,0,0,0,229,230,3,22,11,0,230,231,5,1,0,0,231,
3087
+ 232,5,44,0,0,232,235,5,46,0,0,233,236,5,44,0,0,234,236,3,34,17,0,235,233,
3088
+ 1,0,0,0,235,234,1,0,0,0,236,237,1,0,0,0,237,235,1,0,0,0,237,238,1,0,0,0,
3089
+ 238,239,1,0,0,0,239,240,5,47,0,0,240,33,1,0,0,0,241,244,3,2,1,0,242,244,
3090
+ 3,36,18,0,243,241,1,0,0,0,243,242,1,0,0,0,244,35,1,0,0,0,245,246,3,20,10,
3091
+ 0,246,249,5,1,0,0,247,250,3,38,19,0,248,250,3,40,20,0,249,247,1,0,0,0,249,
3092
+ 248,1,0,0,0,250,37,1,0,0,0,251,254,3,2,1,0,252,254,5,34,0,0,253,251,1,0,
3093
+ 0,0,253,252,1,0,0,0,254,39,1,0,0,0,255,256,5,44,0,0,256,259,5,46,0,0,257,
3094
+ 260,5,44,0,0,258,260,3,2,1,0,259,257,1,0,0,0,259,258,1,0,0,0,260,261,1,
3095
+ 0,0,0,261,259,1,0,0,0,261,262,1,0,0,0,262,263,1,0,0,0,263,264,5,47,0,0,
3096
+ 264,41,1,0,0,0,265,266,5,9,0,0,266,43,1,0,0,0,267,268,3,68,34,0,268,269,
3097
+ 5,3,0,0,269,270,3,54,27,0,270,45,1,0,0,0,271,272,5,36,0,0,272,273,5,3,0,
3098
+ 0,273,274,3,54,27,0,274,47,1,0,0,0,275,280,3,54,27,0,276,277,5,2,0,0,277,
3099
+ 279,3,54,27,0,278,276,1,0,0,0,279,282,1,0,0,0,280,278,1,0,0,0,280,281,1,
3100
+ 0,0,0,281,287,1,0,0,0,282,280,1,0,0,0,283,284,5,2,0,0,284,286,3,46,23,0,
3101
+ 285,283,1,0,0,0,286,289,1,0,0,0,287,285,1,0,0,0,287,288,1,0,0,0,288,299,
3102
+ 1,0,0,0,289,287,1,0,0,0,290,295,3,46,23,0,291,292,5,2,0,0,292,294,3,46,
3103
+ 23,0,293,291,1,0,0,0,294,297,1,0,0,0,295,293,1,0,0,0,295,296,1,0,0,0,296,
3104
+ 299,1,0,0,0,297,295,1,0,0,0,298,275,1,0,0,0,298,290,1,0,0,0,299,49,1,0,
3105
+ 0,0,300,301,3,68,34,0,301,302,5,3,0,0,302,303,3,54,27,0,303,51,1,0,0,0,
3106
+ 304,305,5,4,0,0,305,306,5,36,0,0,306,307,5,3,0,0,307,308,3,54,27,0,308,
3107
+ 53,1,0,0,0,309,311,6,27,-1,0,310,312,3,58,29,0,311,310,1,0,0,0,311,312,
3108
+ 1,0,0,0,312,315,1,0,0,0,313,316,3,60,30,0,314,316,3,68,34,0,315,313,1,0,
3109
+ 0,0,315,314,1,0,0,0,316,324,1,0,0,0,317,318,5,32,0,0,318,319,3,54,27,0,
3110
+ 319,320,5,33,0,0,320,324,1,0,0,0,321,324,3,76,38,0,322,324,3,78,39,0,323,
3111
+ 309,1,0,0,0,323,317,1,0,0,0,323,321,1,0,0,0,323,322,1,0,0,0,324,337,1,0,
3112
+ 0,0,325,326,10,5,0,0,326,327,7,4,0,0,327,336,3,54,27,6,328,329,10,4,0,0,
3113
+ 329,330,7,5,0,0,330,336,3,54,27,5,331,332,10,3,0,0,332,333,3,56,28,0,333,
3114
+ 334,3,54,27,4,334,336,1,0,0,0,335,325,1,0,0,0,335,328,1,0,0,0,335,331,1,
3115
+ 0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,55,1,0,0,0,339,
3116
+ 337,1,0,0,0,340,341,7,6,0,0,341,57,1,0,0,0,342,343,7,7,0,0,343,59,1,0,0,
3117
+ 0,344,346,5,29,0,0,345,344,1,0,0,0,345,346,1,0,0,0,346,347,1,0,0,0,347,
3118
+ 350,7,8,0,0,348,350,3,88,44,0,349,345,1,0,0,0,349,348,1,0,0,0,350,61,1,
3119
+ 0,0,0,351,352,5,21,0,0,352,353,5,36,0,0,353,355,5,32,0,0,354,356,3,66,33,
3120
+ 0,355,354,1,0,0,0,355,356,1,0,0,0,356,357,1,0,0,0,357,358,5,33,0,0,358,
3121
+ 359,5,1,0,0,359,360,5,44,0,0,360,363,5,46,0,0,361,364,5,44,0,0,362,364,
3122
+ 3,64,32,0,363,361,1,0,0,0,363,362,1,0,0,0,364,365,1,0,0,0,365,363,1,0,0,
3123
+ 0,365,366,1,0,0,0,366,367,1,0,0,0,367,368,5,47,0,0,368,63,1,0,0,0,369,372,
3124
+ 3,2,1,0,370,372,3,74,37,0,371,369,1,0,0,0,371,370,1,0,0,0,372,65,1,0,0,
3125
+ 0,373,378,5,36,0,0,374,375,5,2,0,0,375,377,5,36,0,0,376,374,1,0,0,0,377,
3126
+ 380,1,0,0,0,378,376,1,0,0,0,378,379,1,0,0,0,379,387,1,0,0,0,380,378,1,0,
3127
+ 0,0,381,382,5,2,0,0,382,383,5,36,0,0,383,384,5,3,0,0,384,386,3,60,30,0,
3128
+ 385,381,1,0,0,0,386,389,1,0,0,0,387,385,1,0,0,0,387,388,1,0,0,0,388,403,
3129
+ 1,0,0,0,389,387,1,0,0,0,390,391,5,36,0,0,391,392,5,3,0,0,392,399,3,60,30,
3130
+ 0,393,394,5,2,0,0,394,395,5,36,0,0,395,396,5,3,0,0,396,398,3,60,30,0,397,
3131
+ 393,1,0,0,0,398,401,1,0,0,0,399,397,1,0,0,0,399,400,1,0,0,0,400,403,1,0,
3132
+ 0,0,401,399,1,0,0,0,402,373,1,0,0,0,402,390,1,0,0,0,403,67,1,0,0,0,404,
3133
+ 406,3,72,36,0,405,404,1,0,0,0,405,406,1,0,0,0,406,407,1,0,0,0,407,411,5,
3134
+ 36,0,0,408,410,3,70,35,0,409,408,1,0,0,0,410,413,1,0,0,0,411,409,1,0,0,
3135
+ 0,411,412,1,0,0,0,412,69,1,0,0,0,413,411,1,0,0,0,414,416,5,32,0,0,415,417,
3136
+ 3,48,24,0,416,415,1,0,0,0,416,417,1,0,0,0,417,418,1,0,0,0,418,422,5,33,
3137
+ 0,0,419,420,5,5,0,0,420,422,5,36,0,0,421,414,1,0,0,0,421,419,1,0,0,0,422,
3138
+ 71,1,0,0,0,423,425,5,28,0,0,424,423,1,0,0,0,424,425,1,0,0,0,425,426,1,0,
3139
+ 0,0,426,428,5,30,0,0,427,429,3,54,27,0,428,427,1,0,0,0,428,429,1,0,0,0,
3140
+ 429,73,1,0,0,0,430,431,5,20,0,0,431,432,3,54,27,0,432,75,1,0,0,0,433,434,
3141
+ 5,11,0,0,434,435,5,12,0,0,435,436,5,1,0,0,436,437,5,44,0,0,437,440,5,46,
3142
+ 0,0,438,441,5,44,0,0,439,441,3,82,41,0,440,438,1,0,0,0,440,439,1,0,0,0,
3143
+ 441,442,1,0,0,0,442,440,1,0,0,0,442,443,1,0,0,0,443,444,1,0,0,0,444,445,
3144
+ 5,47,0,0,445,77,1,0,0,0,446,447,5,11,0,0,447,448,5,13,0,0,448,449,5,1,0,
3145
+ 0,449,450,5,44,0,0,450,453,5,46,0,0,451,454,5,44,0,0,452,454,3,80,40,0,
3146
+ 453,451,1,0,0,0,453,452,1,0,0,0,454,455,1,0,0,0,455,453,1,0,0,0,455,456,
3147
+ 1,0,0,0,456,457,1,0,0,0,457,458,5,47,0,0,458,79,1,0,0,0,459,460,7,9,0,0,
3148
+ 460,466,5,1,0,0,461,467,3,48,24,0,462,463,5,32,0,0,463,464,3,48,24,0,464,
3149
+ 465,5,33,0,0,465,467,1,0,0,0,466,461,1,0,0,0,466,462,1,0,0,0,467,81,1,0,
3150
+ 0,0,468,469,3,84,42,0,469,470,5,1,0,0,470,471,3,86,43,0,471,83,1,0,0,0,
3151
+ 472,473,7,10,0,0,473,85,1,0,0,0,474,475,5,44,0,0,475,478,5,46,0,0,476,479,
3152
+ 5,44,0,0,477,479,3,82,41,0,478,476,1,0,0,0,478,477,1,0,0,0,479,480,1,0,
3153
+ 0,0,480,478,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,492,5,47,0,0,483,
3154
+ 488,3,54,27,0,484,485,5,2,0,0,485,487,3,54,27,0,486,484,1,0,0,0,487,490,
3155
+ 1,0,0,0,488,486,1,0,0,0,488,489,1,0,0,0,489,492,1,0,0,0,490,488,1,0,0,0,
3156
+ 491,474,1,0,0,0,491,483,1,0,0,0,492,87,1,0,0,0,493,494,5,6,0,0,494,495,
3157
+ 5,37,0,0,495,496,5,7,0,0,496,89,1,0,0,0,497,498,5,14,0,0,498,502,5,36,0,
3158
+ 0,499,501,7,1,0,0,500,499,1,0,0,0,501,504,1,0,0,0,502,500,1,0,0,0,502,503,
3159
+ 1,0,0,0,503,91,1,0,0,0,504,502,1,0,0,0,505,506,5,19,0,0,506,507,5,36,0,
3160
+ 0,507,93,1,0,0,0,508,509,5,22,0,0,509,510,5,36,0,0,510,95,1,0,0,0,511,512,
3161
+ 5,8,0,0,512,513,5,1,0,0,513,514,5,44,0,0,514,517,5,46,0,0,515,518,5,44,
3162
+ 0,0,516,518,3,2,1,0,517,515,1,0,0,0,517,516,1,0,0,0,518,519,1,0,0,0,519,
3163
+ 517,1,0,0,0,519,520,1,0,0,0,520,521,1,0,0,0,521,522,5,47,0,0,522,97,1,0,
3164
+ 0,0,63,100,102,122,127,135,137,147,149,159,162,167,171,181,189,193,203,
3165
+ 211,213,224,235,237,243,249,253,259,261,280,287,295,298,311,315,323,335,
3166
+ 337,345,349,355,363,365,371,378,387,399,402,405,411,416,421,424,428,440,
3167
+ 442,453,455,466,478,480,488,491,502,517,519];
3149
3168
 
3150
3169
  private static __ATN: ATN;
3151
3170
  public static get _ATN(): ATN {
@@ -3292,9 +3311,6 @@ export class Branch_block_innerContext extends ParserRuleContext {
3292
3311
  super(parent, invokingState);
3293
3312
  this.parser = parser;
3294
3313
  }
3295
- public Branch(): TerminalNode {
3296
- return this.getToken(CircuitScriptParser.Branch, 0);
3297
- }
3298
3314
  public NEWLINE_list(): TerminalNode[] {
3299
3315
  return this.getTokens(CircuitScriptParser.NEWLINE);
3300
3316
  }
@@ -3307,6 +3323,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3307
3323
  public DEDENT(): TerminalNode {
3308
3324
  return this.getToken(CircuitScriptParser.DEDENT, 0);
3309
3325
  }
3326
+ public Branch(): TerminalNode {
3327
+ return this.getToken(CircuitScriptParser.Branch, 0);
3328
+ }
3329
+ public Join(): TerminalNode {
3330
+ return this.getToken(CircuitScriptParser.Join, 0);
3331
+ }
3310
3332
  public expression_list(): ExpressionContext[] {
3311
3333
  return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[];
3312
3334
  }