circuitscript 0.0.22 → 0.0.24

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.
Files changed (164) hide show
  1. package/dist/cjs/antlr/CircuitScriptLexer.js +288 -0
  2. package/dist/cjs/antlr/CircuitScriptParser.js +4905 -0
  3. package/dist/cjs/antlr/CircuitScriptVisitor.js +6 -0
  4. package/{src/draw_symbols.ts → dist/cjs/draw_symbols.js} +303 -614
  5. package/dist/cjs/execute.js +780 -0
  6. package/{src/export.ts → dist/cjs/export.js} +34 -56
  7. package/dist/cjs/fonts.js +4 -0
  8. package/dist/cjs/geometry.js +430 -0
  9. package/dist/cjs/globals.js +60 -0
  10. package/dist/cjs/helpers.js +99 -0
  11. package/dist/cjs/index.js +29 -0
  12. package/{src/layout.ts → dist/cjs/layout.js} +413 -1002
  13. package/dist/cjs/lexer.js +114 -0
  14. package/dist/cjs/logger.js +17 -0
  15. package/dist/cjs/main.js +87 -0
  16. package/dist/cjs/objects/ClassComponent.js +142 -0
  17. package/dist/cjs/objects/ExecutionScope.js +134 -0
  18. package/dist/cjs/objects/Frame.js +22 -0
  19. package/{src/objects/Net.ts → dist/cjs/objects/Net.js} +9 -24
  20. package/dist/cjs/objects/ParamDefinition.js +42 -0
  21. package/dist/cjs/objects/PinDefinition.js +31 -0
  22. package/dist/cjs/objects/PinTypes.js +11 -0
  23. package/dist/cjs/objects/Wire.js +9 -0
  24. package/dist/cjs/objects/types.js +9 -0
  25. package/dist/cjs/parser.js +299 -0
  26. package/dist/cjs/regenerate-tests.js +23 -0
  27. package/dist/cjs/render.js +155 -0
  28. package/{src/server.ts → dist/cjs/server.js} +15 -21
  29. package/dist/cjs/sizing.js +105 -0
  30. package/{src/utils.ts → dist/cjs/utils.js} +25 -35
  31. package/{src/visitor.ts → dist/cjs/visitor.js} +392 -948
  32. package/{build/src/antlr/CircuitScriptLexer.js → dist/esm/antlr/CircuitScriptLexer.mjs} +90 -91
  33. package/{build/src/antlr/CircuitScriptParser.js → dist/esm/antlr/CircuitScriptParser.mjs} +138 -136
  34. package/{build/src/draw_symbols.js → dist/esm/draw_symbols.mjs} +11 -11
  35. package/{build/src/execute.js → dist/esm/execute.mjs} +9 -8
  36. package/{build/src/export.js → dist/esm/export.mjs} +2 -2
  37. package/{build/src/geometry.js → dist/esm/geometry.mjs} +3 -7
  38. package/{build/src/helpers.js → dist/esm/helpers.mjs} +27 -7
  39. package/dist/esm/index.mjs +13 -0
  40. package/{build/src/layout.js → dist/esm/layout.mjs} +11 -11
  41. package/{build/src/lexer.js → dist/esm/lexer.mjs} +2 -2
  42. package/{build/src/main.js → dist/esm/main.mjs} +5 -5
  43. package/{build/src/objects/ClassComponent.js → dist/esm/objects/ClassComponent.mjs} +3 -3
  44. package/{build/src/objects/PinDefinition.js → dist/esm/objects/PinDefinition.mjs} +1 -1
  45. package/dist/esm/parser.mjs +269 -0
  46. package/{build/src/regenerate-tests.js → dist/esm/regenerate-tests.mjs} +1 -1
  47. package/{build/src/render.js → dist/esm/render.mjs} +7 -24
  48. package/{build/src/sizing.js → dist/esm/sizing.mjs} +22 -8
  49. package/{build/src/visitor.js → dist/esm/visitor.mjs} +10 -29
  50. package/{build/src → dist/types}/antlr/CircuitScriptLexer.d.ts +23 -23
  51. package/{build/src → dist/types}/antlr/CircuitScriptParser.d.ts +24 -23
  52. package/{build/src → dist/types}/draw_symbols.d.ts +2 -2
  53. package/{build/src → dist/types}/execute.d.ts +2 -2
  54. package/{build/src → dist/types}/geometry.d.ts +1 -1
  55. package/dist/types/helpers.d.ts +9 -0
  56. package/dist/types/index.d.ts +13 -0
  57. package/{build/src → dist/types}/layout.d.ts +10 -10
  58. package/{build/src → dist/types}/objects/ClassComponent.d.ts +2 -2
  59. package/{build/src → dist/types}/objects/PinDefinition.d.ts +1 -1
  60. package/dist/types/parser.d.ts +38 -0
  61. package/{build/src → dist/types}/render.d.ts +1 -1
  62. package/{build/src → dist/types}/sizing.d.ts +3 -1
  63. package/{build/src → dist/types}/visitor.d.ts +5 -3
  64. package/package.json +30 -12
  65. package/.editorconfig +0 -15
  66. package/.eslintignore +0 -1
  67. package/.eslintrc.json +0 -27
  68. package/.gitlab-ci.yml +0 -81
  69. package/.prettierignore +0 -8
  70. package/.prettierrc +0 -16
  71. package/__tests__/expectedResults.ts +0 -657
  72. package/__tests__/helpers.ts +0 -82
  73. package/__tests__/parseScripts.ts +0 -593
  74. package/__tests__/renderData/script1.cst +0 -58
  75. package/__tests__/renderData/script1.cst.svg +0 -1
  76. package/__tests__/renderData/script2.cst +0 -16
  77. package/__tests__/renderData/script2.cst.svg +0 -1
  78. package/__tests__/renderData/script3.cst +0 -30
  79. package/__tests__/renderData/script3.cst.svg +0 -1
  80. package/__tests__/renderData/script4.cst +0 -54
  81. package/__tests__/renderData/script4.cst.svg +0 -1
  82. package/__tests__/renderData/script5.cst +0 -23
  83. package/__tests__/renderData/script5.cst.svg +0 -1
  84. package/__tests__/renderData/script6.cst +0 -28
  85. package/__tests__/renderData/script6.cst.svg +0 -1
  86. package/__tests__/renderData/script7.cst +0 -26
  87. package/__tests__/renderData/script7.cst.svg +0 -1
  88. package/__tests__/renderData/script8.cst +0 -37
  89. package/__tests__/renderData/script8.cst.svg +0 -1
  90. package/__tests__/testCLI.ts +0 -68
  91. package/__tests__/testMathOps.ts +0 -36
  92. package/__tests__/testMergeWires.ts +0 -141
  93. package/__tests__/testParse.ts +0 -263
  94. package/__tests__/testRender.ts +0 -38
  95. package/build/src/helpers.d.ts +0 -1
  96. package/build/src/parser.js +0 -69
  97. package/documentation.md +0 -238
  98. package/examples/example_arduino_uno.cst +0 -1146
  99. package/examples/example_garden_pump.cst +0 -567
  100. package/examples/lib.cst +0 -185
  101. package/fonts/Inter-Bold.ttf +0 -0
  102. package/fonts/Inter-Regular.ttf +0 -0
  103. package/fonts/OpenSans-Regular.ttf +0 -0
  104. package/fonts/Roboto-Regular.ttf +0 -0
  105. package/jest.config.js +0 -23
  106. package/libs/lib.cst +0 -185
  107. package/refresh.html +0 -42
  108. package/server.cjs +0 -50
  109. package/src/antlr/CircuitScript.g4 +0 -209
  110. package/src/antlr/CircuitScriptLexer.ts +0 -317
  111. package/src/antlr/CircuitScriptParser.ts +0 -4979
  112. package/src/antlr/CircuitScriptVisitor.ts +0 -420
  113. package/src/execute.ts +0 -1227
  114. package/src/fonts.ts +0 -1
  115. package/src/geometry.ts +0 -638
  116. package/src/globals.ts +0 -67
  117. package/src/helpers.ts +0 -114
  118. package/src/lexer.ts +0 -151
  119. package/src/logger.ts +0 -17
  120. package/src/main.ts +0 -105
  121. package/src/objects/ClassComponent.ts +0 -223
  122. package/src/objects/ExecutionScope.ts +0 -201
  123. package/src/objects/Frame.ts +0 -20
  124. package/src/objects/ParamDefinition.ts +0 -49
  125. package/src/objects/PinDefinition.ts +0 -49
  126. package/src/objects/PinTypes.ts +0 -7
  127. package/src/objects/Wire.ts +0 -19
  128. package/src/objects/types.ts +0 -66
  129. package/src/parser.ts +0 -106
  130. package/src/regenerate-tests.ts +0 -25
  131. package/src/render.ts +0 -260
  132. package/src/sizing.ts +0 -96
  133. package/tsconfig.json +0 -27
  134. package/tsconfig.release.json +0 -8
  135. /package/{build/src/antlr/CircuitScriptVisitor.js → dist/esm/antlr/CircuitScriptVisitor.mjs} +0 -0
  136. /package/{build/src/fonts.js → dist/esm/fonts.mjs} +0 -0
  137. /package/{build/src/globals.js → dist/esm/globals.mjs} +0 -0
  138. /package/{build/src/logger.js → dist/esm/logger.mjs} +0 -0
  139. /package/{build/src/objects/ExecutionScope.js → dist/esm/objects/ExecutionScope.mjs} +0 -0
  140. /package/{build/src/objects/Frame.js → dist/esm/objects/Frame.mjs} +0 -0
  141. /package/{build/src/objects/Net.js → dist/esm/objects/Net.mjs} +0 -0
  142. /package/{build/src/objects/ParamDefinition.js → dist/esm/objects/ParamDefinition.mjs} +0 -0
  143. /package/{build/src/objects/PinTypes.js → dist/esm/objects/PinTypes.mjs} +0 -0
  144. /package/{build/src/objects/Wire.js → dist/esm/objects/Wire.mjs} +0 -0
  145. /package/{build/src/objects/types.js → dist/esm/objects/types.mjs} +0 -0
  146. /package/{build/src/server.js → dist/esm/server.mjs} +0 -0
  147. /package/{build/src/utils.js → dist/esm/utils.mjs} +0 -0
  148. /package/{build/src → dist/types}/antlr/CircuitScriptVisitor.d.ts +0 -0
  149. /package/{build/src → dist/types}/export.d.ts +0 -0
  150. /package/{build/src → dist/types}/fonts.d.ts +0 -0
  151. /package/{build/src → dist/types}/globals.d.ts +0 -0
  152. /package/{build/src → dist/types}/lexer.d.ts +0 -0
  153. /package/{build/src → dist/types}/logger.d.ts +0 -0
  154. /package/{build/src → dist/types}/main.d.ts +0 -0
  155. /package/{build/src → dist/types}/objects/ExecutionScope.d.ts +0 -0
  156. /package/{build/src → dist/types}/objects/Frame.d.ts +0 -0
  157. /package/{build/src → dist/types}/objects/Net.d.ts +0 -0
  158. /package/{build/src → dist/types}/objects/ParamDefinition.d.ts +0 -0
  159. /package/{build/src → dist/types}/objects/PinTypes.d.ts +0 -0
  160. /package/{build/src → dist/types}/objects/Wire.d.ts +0 -0
  161. /package/{build/src → dist/types}/objects/types.d.ts +0 -0
  162. /package/{build/src → dist/types}/regenerate-tests.d.ts +0 -0
  163. /package/{build/src → dist/types}/server.d.ts +0 -0
  164. /package/{build/src → dist/types}/utils.d.ts +0 -0
@@ -0,0 +1,4905 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Property_key_exprContext = exports.Property_exprContext = exports.Sub_exprContext = exports.Create_graphic_exprContext = exports.Create_component_exprContext = exports.Function_return_exprContext = exports.Net_namespace_exprContext = exports.Trailer_exprContext = exports.Atom_exprContext = exports.Function_args_exprContext = exports.Function_exprContext = exports.Function_def_exprContext = exports.Value_exprContext = exports.Unary_operatorContext = exports.Binary_operatorContext = exports.RoundedBracketsExprContext = exports.BinaryOperatorExprContext = exports.ValueAtomExprContext = exports.UnaryOperatorExprContext = exports.DataExprContext = exports.MultiplyExprContext = exports.AdditionExprContext = exports.Data_exprContext = exports.Double_dot_property_set_exprContext = exports.Property_set_exprContext = exports.ParametersContext = exports.Keyword_assignment_exprContext = exports.Assignment_exprContext = exports.Break_keywordContext = exports.At_block_pin_expression_complexContext = exports.At_block_pin_expression_simpleContext = exports.At_block_pin_exprContext = exports.At_block_expressionsContext = exports.At_blockContext = exports.At_to_multiple_line_expr_to_pinContext = exports.At_to_multiple_line_exprContext = exports.At_to_multiple_exprContext = exports.To_component_exprContext = exports.At_component_exprContext = exports.Pin_select_expr2Context = exports.Pin_select_exprContext = exports.Component_select_exprContext = exports.Add_component_exprContext = exports.Data_expr_with_assignmentContext = exports.Assignment_expr2Context = exports.Property_set_expr2Context = exports.Path_block_innerContext = exports.Path_blocksContext = exports.ExpressionContext = exports.ScriptContext = void 0;
4
+ exports.Frame_exprContext = exports.Import_exprContext = exports.Point_exprContext = exports.Wire_exprContext = exports.Blank_exprContext = exports.Nested_propertiesContext = exports.Single_line_propertyContext = exports.Property_value_exprContext = void 0;
5
+ const antlr4_1 = require("antlr4");
6
+ class CircuitScriptParser extends antlr4_1.Parser {
7
+ get grammarFileName() { return "CircuitScript.g4"; }
8
+ get literalNames() { return CircuitScriptParser.literalNames; }
9
+ get symbolicNames() { return CircuitScriptParser.symbolicNames; }
10
+ get ruleNames() { return CircuitScriptParser.ruleNames; }
11
+ get serializedATN() { return CircuitScriptParser._serializedATN; }
12
+ createFailedPredicateException(predicate, message) {
13
+ return new antlr4_1.FailedPredicateException(this, predicate, message);
14
+ }
15
+ constructor(input) {
16
+ super(input);
17
+ this._interp = new antlr4_1.ParserATNSimulator(this, CircuitScriptParser._ATN, CircuitScriptParser.DecisionsToDFA, new antlr4_1.PredictionContextCache());
18
+ }
19
+ script() {
20
+ let localctx = new ScriptContext(this, this._ctx, this.state);
21
+ this.enterRule(localctx, 0, CircuitScriptParser.RULE_script);
22
+ let _la;
23
+ try {
24
+ this.enterOuterAlt(localctx, 1);
25
+ {
26
+ this.state = 100;
27
+ this._errHandler.sync(this);
28
+ _la = this._input.LA(1);
29
+ do {
30
+ {
31
+ this.state = 100;
32
+ this._errHandler.sync(this);
33
+ switch (this._input.LA(1)) {
34
+ case 4:
35
+ case 8:
36
+ case 9:
37
+ case 13:
38
+ case 15:
39
+ case 16:
40
+ case 17:
41
+ case 18:
42
+ case 19:
43
+ case 20:
44
+ case 22:
45
+ case 23:
46
+ case 26:
47
+ case 29:
48
+ case 31:
49
+ case 37:
50
+ {
51
+ this.state = 98;
52
+ this.expression();
53
+ }
54
+ break;
55
+ case 45:
56
+ {
57
+ this.state = 99;
58
+ this.match(CircuitScriptParser.NEWLINE);
59
+ }
60
+ break;
61
+ default:
62
+ throw new antlr4_1.NoViableAltException(this);
63
+ }
64
+ }
65
+ this.state = 102;
66
+ this._errHandler.sync(this);
67
+ _la = this._input.LA(1);
68
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2766119696) !== 0) || _la === 37 || _la === 45);
69
+ this.state = 104;
70
+ this.match(CircuitScriptParser.EOF);
71
+ }
72
+ }
73
+ catch (re) {
74
+ if (re instanceof antlr4_1.RecognitionException) {
75
+ localctx.exception = re;
76
+ this._errHandler.reportError(this, re);
77
+ this._errHandler.recover(this, re);
78
+ }
79
+ else {
80
+ throw re;
81
+ }
82
+ }
83
+ finally {
84
+ this.exitRule();
85
+ }
86
+ return localctx;
87
+ }
88
+ expression() {
89
+ let localctx = new ExpressionContext(this, this._ctx, this.state);
90
+ this.enterRule(localctx, 2, CircuitScriptParser.RULE_expression);
91
+ try {
92
+ this.state = 122;
93
+ this._errHandler.sync(this);
94
+ switch (this._interp.adaptivePredict(this._input, 2, this._ctx)) {
95
+ case 1:
96
+ this.enterOuterAlt(localctx, 1);
97
+ {
98
+ this.state = 106;
99
+ this.add_component_expr();
100
+ }
101
+ break;
102
+ case 2:
103
+ this.enterOuterAlt(localctx, 2);
104
+ {
105
+ this.state = 107;
106
+ this.to_component_expr();
107
+ }
108
+ break;
109
+ case 3:
110
+ this.enterOuterAlt(localctx, 3);
111
+ {
112
+ this.state = 108;
113
+ this.at_component_expr();
114
+ }
115
+ break;
116
+ case 4:
117
+ this.enterOuterAlt(localctx, 4);
118
+ {
119
+ this.state = 109;
120
+ this.assignment_expr();
121
+ }
122
+ break;
123
+ case 5:
124
+ this.enterOuterAlt(localctx, 5);
125
+ {
126
+ this.state = 110;
127
+ this.property_set_expr();
128
+ }
129
+ break;
130
+ case 6:
131
+ this.enterOuterAlt(localctx, 6);
132
+ {
133
+ this.state = 111;
134
+ this.property_set_expr2();
135
+ }
136
+ break;
137
+ case 7:
138
+ this.enterOuterAlt(localctx, 7);
139
+ {
140
+ this.state = 112;
141
+ this.double_dot_property_set_expr();
142
+ }
143
+ break;
144
+ case 8:
145
+ this.enterOuterAlt(localctx, 8);
146
+ {
147
+ this.state = 113;
148
+ this.break_keyword();
149
+ }
150
+ break;
151
+ case 9:
152
+ this.enterOuterAlt(localctx, 9);
153
+ {
154
+ this.state = 114;
155
+ this.function_def_expr();
156
+ }
157
+ break;
158
+ case 10:
159
+ this.enterOuterAlt(localctx, 10);
160
+ {
161
+ this.state = 115;
162
+ this.wire_expr();
163
+ }
164
+ break;
165
+ case 11:
166
+ this.enterOuterAlt(localctx, 11);
167
+ {
168
+ this.state = 116;
169
+ this.import_expr();
170
+ }
171
+ break;
172
+ case 12:
173
+ this.enterOuterAlt(localctx, 12);
174
+ {
175
+ this.state = 117;
176
+ this.frame_expr();
177
+ }
178
+ break;
179
+ case 13:
180
+ this.enterOuterAlt(localctx, 13);
181
+ {
182
+ this.state = 118;
183
+ this.atom_expr();
184
+ }
185
+ break;
186
+ case 14:
187
+ this.enterOuterAlt(localctx, 14);
188
+ {
189
+ this.state = 119;
190
+ this.at_block();
191
+ }
192
+ break;
193
+ case 15:
194
+ this.enterOuterAlt(localctx, 15);
195
+ {
196
+ this.state = 120;
197
+ this.path_blocks();
198
+ }
199
+ break;
200
+ case 16:
201
+ this.enterOuterAlt(localctx, 16);
202
+ {
203
+ this.state = 121;
204
+ this.point_expr();
205
+ }
206
+ break;
207
+ }
208
+ }
209
+ catch (re) {
210
+ if (re instanceof antlr4_1.RecognitionException) {
211
+ localctx.exception = re;
212
+ this._errHandler.reportError(this, re);
213
+ this._errHandler.recover(this, re);
214
+ }
215
+ else {
216
+ throw re;
217
+ }
218
+ }
219
+ finally {
220
+ this.exitRule();
221
+ }
222
+ return localctx;
223
+ }
224
+ path_blocks() {
225
+ let localctx = new Path_blocksContext(this, this._ctx, this.state);
226
+ this.enterRule(localctx, 4, CircuitScriptParser.RULE_path_blocks);
227
+ try {
228
+ let _alt;
229
+ this.enterOuterAlt(localctx, 1);
230
+ {
231
+ this.state = 125;
232
+ this._errHandler.sync(this);
233
+ _alt = 1;
234
+ do {
235
+ switch (_alt) {
236
+ case 1:
237
+ {
238
+ {
239
+ this.state = 124;
240
+ this.path_block_inner();
241
+ }
242
+ }
243
+ break;
244
+ default:
245
+ throw new antlr4_1.NoViableAltException(this);
246
+ }
247
+ this.state = 127;
248
+ this._errHandler.sync(this);
249
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
250
+ } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
251
+ }
252
+ }
253
+ catch (re) {
254
+ if (re instanceof antlr4_1.RecognitionException) {
255
+ localctx.exception = re;
256
+ this._errHandler.reportError(this, re);
257
+ this._errHandler.recover(this, re);
258
+ }
259
+ else {
260
+ throw re;
261
+ }
262
+ }
263
+ finally {
264
+ this.exitRule();
265
+ }
266
+ return localctx;
267
+ }
268
+ path_block_inner() {
269
+ let localctx = new Path_block_innerContext(this, this._ctx, this.state);
270
+ this.enterRule(localctx, 6, CircuitScriptParser.RULE_path_block_inner);
271
+ let _la;
272
+ try {
273
+ this.enterOuterAlt(localctx, 1);
274
+ {
275
+ this.state = 129;
276
+ _la = this._input.LA(1);
277
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 1835520) !== 0))) {
278
+ this._errHandler.recoverInline(this);
279
+ }
280
+ else {
281
+ this._errHandler.reportMatch(this);
282
+ this.consume();
283
+ }
284
+ this.state = 130;
285
+ this.match(CircuitScriptParser.T__0);
286
+ this.state = 131;
287
+ this.match(CircuitScriptParser.NEWLINE);
288
+ this.state = 132;
289
+ this.match(CircuitScriptParser.INDENT);
290
+ this.state = 135;
291
+ this._errHandler.sync(this);
292
+ _la = this._input.LA(1);
293
+ do {
294
+ {
295
+ this.state = 135;
296
+ this._errHandler.sync(this);
297
+ switch (this._input.LA(1)) {
298
+ case 45:
299
+ {
300
+ this.state = 133;
301
+ this.match(CircuitScriptParser.NEWLINE);
302
+ }
303
+ break;
304
+ case 4:
305
+ case 8:
306
+ case 9:
307
+ case 13:
308
+ case 15:
309
+ case 16:
310
+ case 17:
311
+ case 18:
312
+ case 19:
313
+ case 20:
314
+ case 22:
315
+ case 23:
316
+ case 26:
317
+ case 29:
318
+ case 31:
319
+ case 37:
320
+ {
321
+ this.state = 134;
322
+ this.expression();
323
+ }
324
+ break;
325
+ default:
326
+ throw new antlr4_1.NoViableAltException(this);
327
+ }
328
+ }
329
+ this.state = 137;
330
+ this._errHandler.sync(this);
331
+ _la = this._input.LA(1);
332
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2766119696) !== 0) || _la === 37 || _la === 45);
333
+ this.state = 139;
334
+ this.match(CircuitScriptParser.DEDENT);
335
+ }
336
+ }
337
+ catch (re) {
338
+ if (re instanceof antlr4_1.RecognitionException) {
339
+ localctx.exception = re;
340
+ this._errHandler.reportError(this, re);
341
+ this._errHandler.recover(this, re);
342
+ }
343
+ else {
344
+ throw re;
345
+ }
346
+ }
347
+ finally {
348
+ this.exitRule();
349
+ }
350
+ return localctx;
351
+ }
352
+ property_set_expr2() {
353
+ let localctx = new Property_set_expr2Context(this, this._ctx, this.state);
354
+ this.enterRule(localctx, 8, CircuitScriptParser.RULE_property_set_expr2);
355
+ let _la;
356
+ try {
357
+ this.enterOuterAlt(localctx, 1);
358
+ {
359
+ this.state = 141;
360
+ this.atom_expr();
361
+ this.state = 142;
362
+ this.match(CircuitScriptParser.T__0);
363
+ this.state = 143;
364
+ this.match(CircuitScriptParser.NEWLINE);
365
+ this.state = 144;
366
+ this.match(CircuitScriptParser.INDENT);
367
+ this.state = 147;
368
+ this._errHandler.sync(this);
369
+ _la = this._input.LA(1);
370
+ do {
371
+ {
372
+ this.state = 147;
373
+ this._errHandler.sync(this);
374
+ switch (this._input.LA(1)) {
375
+ case 45:
376
+ {
377
+ this.state = 145;
378
+ this.match(CircuitScriptParser.NEWLINE);
379
+ }
380
+ break;
381
+ case 37:
382
+ case 38:
383
+ {
384
+ this.state = 146;
385
+ this.assignment_expr2();
386
+ }
387
+ break;
388
+ default:
389
+ throw new antlr4_1.NoViableAltException(this);
390
+ }
391
+ }
392
+ this.state = 149;
393
+ this._errHandler.sync(this);
394
+ _la = this._input.LA(1);
395
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 259) !== 0));
396
+ this.state = 151;
397
+ this.match(CircuitScriptParser.DEDENT);
398
+ }
399
+ }
400
+ catch (re) {
401
+ if (re instanceof antlr4_1.RecognitionException) {
402
+ localctx.exception = re;
403
+ this._errHandler.reportError(this, re);
404
+ this._errHandler.recover(this, re);
405
+ }
406
+ else {
407
+ throw re;
408
+ }
409
+ }
410
+ finally {
411
+ this.exitRule();
412
+ }
413
+ return localctx;
414
+ }
415
+ assignment_expr2() {
416
+ let localctx = new Assignment_expr2Context(this, this._ctx, this.state);
417
+ this.enterRule(localctx, 10, CircuitScriptParser.RULE_assignment_expr2);
418
+ let _la;
419
+ try {
420
+ this.enterOuterAlt(localctx, 1);
421
+ {
422
+ this.state = 153;
423
+ _la = this._input.LA(1);
424
+ if (!(_la === 37 || _la === 38)) {
425
+ this._errHandler.recoverInline(this);
426
+ }
427
+ else {
428
+ this._errHandler.reportMatch(this);
429
+ this.consume();
430
+ }
431
+ this.state = 154;
432
+ this.match(CircuitScriptParser.T__0);
433
+ this.state = 155;
434
+ this.value_expr();
435
+ }
436
+ }
437
+ catch (re) {
438
+ if (re instanceof antlr4_1.RecognitionException) {
439
+ localctx.exception = re;
440
+ this._errHandler.reportError(this, re);
441
+ this._errHandler.recover(this, re);
442
+ }
443
+ else {
444
+ throw re;
445
+ }
446
+ }
447
+ finally {
448
+ this.exitRule();
449
+ }
450
+ return localctx;
451
+ }
452
+ data_expr_with_assignment() {
453
+ let localctx = new Data_expr_with_assignmentContext(this, this._ctx, this.state);
454
+ this.enterRule(localctx, 12, CircuitScriptParser.RULE_data_expr_with_assignment);
455
+ let _la;
456
+ try {
457
+ this.enterOuterAlt(localctx, 1);
458
+ {
459
+ this.state = 159;
460
+ this._errHandler.sync(this);
461
+ switch (this._interp.adaptivePredict(this._input, 8, this._ctx)) {
462
+ case 1:
463
+ {
464
+ this.state = 157;
465
+ this.data_expr(0);
466
+ }
467
+ break;
468
+ case 2:
469
+ {
470
+ this.state = 158;
471
+ this.assignment_expr();
472
+ }
473
+ break;
474
+ }
475
+ this.state = 162;
476
+ this._errHandler.sync(this);
477
+ _la = this._input.LA(1);
478
+ if (_la === 14) {
479
+ {
480
+ this.state = 161;
481
+ this.pin_select_expr();
482
+ }
483
+ }
484
+ }
485
+ }
486
+ catch (re) {
487
+ if (re instanceof antlr4_1.RecognitionException) {
488
+ localctx.exception = re;
489
+ this._errHandler.reportError(this, re);
490
+ this._errHandler.recover(this, re);
491
+ }
492
+ else {
493
+ throw re;
494
+ }
495
+ }
496
+ finally {
497
+ this.exitRule();
498
+ }
499
+ return localctx;
500
+ }
501
+ add_component_expr() {
502
+ let localctx = new Add_component_exprContext(this, this._ctx, this.state);
503
+ this.enterRule(localctx, 14, CircuitScriptParser.RULE_add_component_expr);
504
+ try {
505
+ this.enterOuterAlt(localctx, 1);
506
+ {
507
+ this.state = 164;
508
+ this.match(CircuitScriptParser.Add);
509
+ this.state = 165;
510
+ this.data_expr_with_assignment();
511
+ this.state = 167;
512
+ this._errHandler.sync(this);
513
+ switch (this._interp.adaptivePredict(this._input, 10, this._ctx)) {
514
+ case 1:
515
+ {
516
+ this.state = 166;
517
+ this.match(CircuitScriptParser.ID);
518
+ }
519
+ break;
520
+ }
521
+ }
522
+ }
523
+ catch (re) {
524
+ if (re instanceof antlr4_1.RecognitionException) {
525
+ localctx.exception = re;
526
+ this._errHandler.reportError(this, re);
527
+ this._errHandler.recover(this, re);
528
+ }
529
+ else {
530
+ throw re;
531
+ }
532
+ }
533
+ finally {
534
+ this.exitRule();
535
+ }
536
+ return localctx;
537
+ }
538
+ component_select_expr() {
539
+ let localctx = new Component_select_exprContext(this, this._ctx, this.state);
540
+ this.enterRule(localctx, 16, CircuitScriptParser.RULE_component_select_expr);
541
+ try {
542
+ this.state = 171;
543
+ this._errHandler.sync(this);
544
+ switch (this._input.LA(1)) {
545
+ case 6:
546
+ case 10:
547
+ case 25:
548
+ case 29:
549
+ case 30:
550
+ case 31:
551
+ case 33:
552
+ case 36:
553
+ case 37:
554
+ case 38:
555
+ case 39:
556
+ case 40:
557
+ case 41:
558
+ case 42:
559
+ this.enterOuterAlt(localctx, 1);
560
+ {
561
+ this.state = 169;
562
+ this.data_expr_with_assignment();
563
+ }
564
+ break;
565
+ case 14:
566
+ this.enterOuterAlt(localctx, 2);
567
+ {
568
+ this.state = 170;
569
+ this.pin_select_expr();
570
+ }
571
+ break;
572
+ default:
573
+ throw new antlr4_1.NoViableAltException(this);
574
+ }
575
+ }
576
+ catch (re) {
577
+ if (re instanceof antlr4_1.RecognitionException) {
578
+ localctx.exception = re;
579
+ this._errHandler.reportError(this, re);
580
+ this._errHandler.recover(this, re);
581
+ }
582
+ else {
583
+ throw re;
584
+ }
585
+ }
586
+ finally {
587
+ this.exitRule();
588
+ }
589
+ return localctx;
590
+ }
591
+ pin_select_expr() {
592
+ let localctx = new Pin_select_exprContext(this, this._ctx, this.state);
593
+ this.enterRule(localctx, 18, CircuitScriptParser.RULE_pin_select_expr);
594
+ let _la;
595
+ try {
596
+ this.enterOuterAlt(localctx, 1);
597
+ {
598
+ this.state = 173;
599
+ this.match(CircuitScriptParser.Pin);
600
+ this.state = 174;
601
+ _la = this._input.LA(1);
602
+ if (!(_la === 38 || _la === 41)) {
603
+ this._errHandler.recoverInline(this);
604
+ }
605
+ else {
606
+ this._errHandler.reportMatch(this);
607
+ this.consume();
608
+ }
609
+ }
610
+ }
611
+ catch (re) {
612
+ if (re instanceof antlr4_1.RecognitionException) {
613
+ localctx.exception = re;
614
+ this._errHandler.reportError(this, re);
615
+ this._errHandler.recover(this, re);
616
+ }
617
+ else {
618
+ throw re;
619
+ }
620
+ }
621
+ finally {
622
+ this.exitRule();
623
+ }
624
+ return localctx;
625
+ }
626
+ pin_select_expr2() {
627
+ let localctx = new Pin_select_expr2Context(this, this._ctx, this.state);
628
+ this.enterRule(localctx, 20, CircuitScriptParser.RULE_pin_select_expr2);
629
+ let _la;
630
+ try {
631
+ this.enterOuterAlt(localctx, 1);
632
+ {
633
+ this.state = 176;
634
+ _la = this._input.LA(1);
635
+ if (!(_la === 38 || _la === 41)) {
636
+ this._errHandler.recoverInline(this);
637
+ }
638
+ else {
639
+ this._errHandler.reportMatch(this);
640
+ this.consume();
641
+ }
642
+ }
643
+ }
644
+ catch (re) {
645
+ if (re instanceof antlr4_1.RecognitionException) {
646
+ localctx.exception = re;
647
+ this._errHandler.reportError(this, re);
648
+ this._errHandler.recover(this, re);
649
+ }
650
+ else {
651
+ throw re;
652
+ }
653
+ }
654
+ finally {
655
+ this.exitRule();
656
+ }
657
+ return localctx;
658
+ }
659
+ at_component_expr() {
660
+ let localctx = new At_component_exprContext(this, this._ctx, this.state);
661
+ this.enterRule(localctx, 22, CircuitScriptParser.RULE_at_component_expr);
662
+ try {
663
+ this.enterOuterAlt(localctx, 1);
664
+ {
665
+ this.state = 178;
666
+ this.match(CircuitScriptParser.At);
667
+ this.state = 184;
668
+ this._errHandler.sync(this);
669
+ switch (this._input.LA(1)) {
670
+ case 6:
671
+ case 10:
672
+ case 14:
673
+ case 25:
674
+ case 29:
675
+ case 30:
676
+ case 31:
677
+ case 33:
678
+ case 36:
679
+ case 37:
680
+ case 38:
681
+ case 39:
682
+ case 40:
683
+ case 41:
684
+ case 42:
685
+ {
686
+ {
687
+ this.state = 179;
688
+ this.component_select_expr();
689
+ this.state = 181;
690
+ this._errHandler.sync(this);
691
+ switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
692
+ case 1:
693
+ {
694
+ this.state = 180;
695
+ this.match(CircuitScriptParser.ID);
696
+ }
697
+ break;
698
+ }
699
+ }
700
+ }
701
+ break;
702
+ case 18:
703
+ {
704
+ this.state = 183;
705
+ this.match(CircuitScriptParser.Point);
706
+ }
707
+ break;
708
+ default:
709
+ throw new antlr4_1.NoViableAltException(this);
710
+ }
711
+ }
712
+ }
713
+ catch (re) {
714
+ if (re instanceof antlr4_1.RecognitionException) {
715
+ localctx.exception = re;
716
+ this._errHandler.reportError(this, re);
717
+ this._errHandler.recover(this, re);
718
+ }
719
+ else {
720
+ throw re;
721
+ }
722
+ }
723
+ finally {
724
+ this.exitRule();
725
+ }
726
+ return localctx;
727
+ }
728
+ to_component_expr() {
729
+ let localctx = new To_component_exprContext(this, this._ctx, this.state);
730
+ this.enterRule(localctx, 24, CircuitScriptParser.RULE_to_component_expr);
731
+ let _la;
732
+ try {
733
+ this.enterOuterAlt(localctx, 1);
734
+ {
735
+ this.state = 186;
736
+ this.match(CircuitScriptParser.To);
737
+ this.state = 199;
738
+ this._errHandler.sync(this);
739
+ switch (this._input.LA(1)) {
740
+ case 6:
741
+ case 10:
742
+ case 14:
743
+ case 25:
744
+ case 29:
745
+ case 30:
746
+ case 31:
747
+ case 33:
748
+ case 36:
749
+ case 37:
750
+ case 38:
751
+ case 39:
752
+ case 40:
753
+ case 41:
754
+ case 42:
755
+ {
756
+ {
757
+ this.state = 187;
758
+ this.component_select_expr();
759
+ this.state = 192;
760
+ this._errHandler.sync(this);
761
+ _la = this._input.LA(1);
762
+ while (_la === 2) {
763
+ {
764
+ {
765
+ this.state = 188;
766
+ this.match(CircuitScriptParser.T__1);
767
+ this.state = 189;
768
+ this.component_select_expr();
769
+ }
770
+ }
771
+ this.state = 194;
772
+ this._errHandler.sync(this);
773
+ _la = this._input.LA(1);
774
+ }
775
+ this.state = 196;
776
+ this._errHandler.sync(this);
777
+ switch (this._interp.adaptivePredict(this._input, 15, this._ctx)) {
778
+ case 1:
779
+ {
780
+ this.state = 195;
781
+ this.match(CircuitScriptParser.ID);
782
+ }
783
+ break;
784
+ }
785
+ }
786
+ }
787
+ break;
788
+ case 18:
789
+ {
790
+ this.state = 198;
791
+ this.match(CircuitScriptParser.Point);
792
+ }
793
+ break;
794
+ default:
795
+ throw new antlr4_1.NoViableAltException(this);
796
+ }
797
+ }
798
+ }
799
+ catch (re) {
800
+ if (re instanceof antlr4_1.RecognitionException) {
801
+ localctx.exception = re;
802
+ this._errHandler.reportError(this, re);
803
+ this._errHandler.recover(this, re);
804
+ }
805
+ else {
806
+ throw re;
807
+ }
808
+ }
809
+ finally {
810
+ this.exitRule();
811
+ }
812
+ return localctx;
813
+ }
814
+ at_to_multiple_expr() {
815
+ let localctx = new At_to_multiple_exprContext(this, this._ctx, this.state);
816
+ this.enterRule(localctx, 26, CircuitScriptParser.RULE_at_to_multiple_expr);
817
+ let _la;
818
+ try {
819
+ this.enterOuterAlt(localctx, 1);
820
+ {
821
+ this.state = 201;
822
+ this.match(CircuitScriptParser.At);
823
+ this.state = 202;
824
+ this.component_select_expr();
825
+ this.state = 203;
826
+ this.match(CircuitScriptParser.To);
827
+ this.state = 204;
828
+ this.component_select_expr();
829
+ this.state = 209;
830
+ this._errHandler.sync(this);
831
+ _la = this._input.LA(1);
832
+ while (_la === 2) {
833
+ {
834
+ {
835
+ this.state = 205;
836
+ this.match(CircuitScriptParser.T__1);
837
+ this.state = 206;
838
+ this.component_select_expr();
839
+ }
840
+ }
841
+ this.state = 211;
842
+ this._errHandler.sync(this);
843
+ _la = this._input.LA(1);
844
+ }
845
+ this.state = 212;
846
+ this.match(CircuitScriptParser.T__0);
847
+ this.state = 213;
848
+ this.match(CircuitScriptParser.NEWLINE);
849
+ this.state = 214;
850
+ this.match(CircuitScriptParser.INDENT);
851
+ this.state = 217;
852
+ this._errHandler.sync(this);
853
+ _la = this._input.LA(1);
854
+ do {
855
+ {
856
+ this.state = 217;
857
+ this._errHandler.sync(this);
858
+ switch (this._input.LA(1)) {
859
+ case 45:
860
+ {
861
+ this.state = 215;
862
+ this.match(CircuitScriptParser.NEWLINE);
863
+ }
864
+ break;
865
+ case 38:
866
+ case 41:
867
+ {
868
+ this.state = 216;
869
+ this.at_to_multiple_line_expr();
870
+ }
871
+ break;
872
+ default:
873
+ throw new antlr4_1.NoViableAltException(this);
874
+ }
875
+ }
876
+ this.state = 219;
877
+ this._errHandler.sync(this);
878
+ _la = this._input.LA(1);
879
+ } while (((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 137) !== 0));
880
+ this.state = 221;
881
+ this.match(CircuitScriptParser.DEDENT);
882
+ }
883
+ }
884
+ catch (re) {
885
+ if (re instanceof antlr4_1.RecognitionException) {
886
+ localctx.exception = re;
887
+ this._errHandler.reportError(this, re);
888
+ this._errHandler.recover(this, re);
889
+ }
890
+ else {
891
+ throw re;
892
+ }
893
+ }
894
+ finally {
895
+ this.exitRule();
896
+ }
897
+ return localctx;
898
+ }
899
+ at_to_multiple_line_expr() {
900
+ let localctx = new At_to_multiple_line_exprContext(this, this._ctx, this.state);
901
+ this.enterRule(localctx, 28, CircuitScriptParser.RULE_at_to_multiple_line_expr);
902
+ let _la;
903
+ try {
904
+ this.enterOuterAlt(localctx, 1);
905
+ {
906
+ this.state = 223;
907
+ this.pin_select_expr2();
908
+ this.state = 224;
909
+ this.match(CircuitScriptParser.T__0);
910
+ this.state = 225;
911
+ this.at_to_multiple_line_expr_to_pin();
912
+ this.state = 230;
913
+ this._errHandler.sync(this);
914
+ _la = this._input.LA(1);
915
+ while (_la === 2) {
916
+ {
917
+ {
918
+ this.state = 226;
919
+ this.match(CircuitScriptParser.T__1);
920
+ this.state = 227;
921
+ this.at_to_multiple_line_expr_to_pin();
922
+ }
923
+ }
924
+ this.state = 232;
925
+ this._errHandler.sync(this);
926
+ _la = this._input.LA(1);
927
+ }
928
+ }
929
+ }
930
+ catch (re) {
931
+ if (re instanceof antlr4_1.RecognitionException) {
932
+ localctx.exception = re;
933
+ this._errHandler.reportError(this, re);
934
+ this._errHandler.recover(this, re);
935
+ }
936
+ else {
937
+ throw re;
938
+ }
939
+ }
940
+ finally {
941
+ this.exitRule();
942
+ }
943
+ return localctx;
944
+ }
945
+ at_to_multiple_line_expr_to_pin() {
946
+ let localctx = new At_to_multiple_line_expr_to_pinContext(this, this._ctx, this.state);
947
+ this.enterRule(localctx, 30, CircuitScriptParser.RULE_at_to_multiple_line_expr_to_pin);
948
+ let _la;
949
+ try {
950
+ this.enterOuterAlt(localctx, 1);
951
+ {
952
+ this.state = 233;
953
+ _la = this._input.LA(1);
954
+ if (!(_la === 35 || _la === 38)) {
955
+ this._errHandler.recoverInline(this);
956
+ }
957
+ else {
958
+ this._errHandler.reportMatch(this);
959
+ this.consume();
960
+ }
961
+ }
962
+ }
963
+ catch (re) {
964
+ if (re instanceof antlr4_1.RecognitionException) {
965
+ localctx.exception = re;
966
+ this._errHandler.reportError(this, re);
967
+ this._errHandler.recover(this, re);
968
+ }
969
+ else {
970
+ throw re;
971
+ }
972
+ }
973
+ finally {
974
+ this.exitRule();
975
+ }
976
+ return localctx;
977
+ }
978
+ at_block() {
979
+ let localctx = new At_blockContext(this, this._ctx, this.state);
980
+ this.enterRule(localctx, 32, CircuitScriptParser.RULE_at_block);
981
+ let _la;
982
+ try {
983
+ this.enterOuterAlt(localctx, 1);
984
+ {
985
+ this.state = 235;
986
+ this.at_component_expr();
987
+ this.state = 236;
988
+ this.match(CircuitScriptParser.T__0);
989
+ this.state = 237;
990
+ this.match(CircuitScriptParser.NEWLINE);
991
+ this.state = 238;
992
+ this.match(CircuitScriptParser.INDENT);
993
+ this.state = 241;
994
+ this._errHandler.sync(this);
995
+ _la = this._input.LA(1);
996
+ do {
997
+ {
998
+ this.state = 241;
999
+ this._errHandler.sync(this);
1000
+ switch (this._input.LA(1)) {
1001
+ case 45:
1002
+ {
1003
+ this.state = 239;
1004
+ this.match(CircuitScriptParser.NEWLINE);
1005
+ }
1006
+ break;
1007
+ case 4:
1008
+ case 8:
1009
+ case 9:
1010
+ case 13:
1011
+ case 15:
1012
+ case 16:
1013
+ case 17:
1014
+ case 18:
1015
+ case 19:
1016
+ case 20:
1017
+ case 22:
1018
+ case 23:
1019
+ case 26:
1020
+ case 29:
1021
+ case 31:
1022
+ case 37:
1023
+ case 38:
1024
+ case 41:
1025
+ {
1026
+ this.state = 240;
1027
+ this.at_block_expressions();
1028
+ }
1029
+ break;
1030
+ default:
1031
+ throw new antlr4_1.NoViableAltException(this);
1032
+ }
1033
+ }
1034
+ this.state = 243;
1035
+ this._errHandler.sync(this);
1036
+ _la = this._input.LA(1);
1037
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2766119696) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
1038
+ this.state = 245;
1039
+ this.match(CircuitScriptParser.DEDENT);
1040
+ }
1041
+ }
1042
+ catch (re) {
1043
+ if (re instanceof antlr4_1.RecognitionException) {
1044
+ localctx.exception = re;
1045
+ this._errHandler.reportError(this, re);
1046
+ this._errHandler.recover(this, re);
1047
+ }
1048
+ else {
1049
+ throw re;
1050
+ }
1051
+ }
1052
+ finally {
1053
+ this.exitRule();
1054
+ }
1055
+ return localctx;
1056
+ }
1057
+ at_block_expressions() {
1058
+ let localctx = new At_block_expressionsContext(this, this._ctx, this.state);
1059
+ this.enterRule(localctx, 34, CircuitScriptParser.RULE_at_block_expressions);
1060
+ try {
1061
+ this.state = 249;
1062
+ this._errHandler.sync(this);
1063
+ switch (this._input.LA(1)) {
1064
+ case 4:
1065
+ case 8:
1066
+ case 9:
1067
+ case 13:
1068
+ case 15:
1069
+ case 16:
1070
+ case 17:
1071
+ case 18:
1072
+ case 19:
1073
+ case 20:
1074
+ case 22:
1075
+ case 23:
1076
+ case 26:
1077
+ case 29:
1078
+ case 31:
1079
+ case 37:
1080
+ this.enterOuterAlt(localctx, 1);
1081
+ {
1082
+ this.state = 247;
1083
+ this.expression();
1084
+ }
1085
+ break;
1086
+ case 38:
1087
+ case 41:
1088
+ this.enterOuterAlt(localctx, 2);
1089
+ {
1090
+ this.state = 248;
1091
+ this.at_block_pin_expr();
1092
+ }
1093
+ break;
1094
+ default:
1095
+ throw new antlr4_1.NoViableAltException(this);
1096
+ }
1097
+ }
1098
+ catch (re) {
1099
+ if (re instanceof antlr4_1.RecognitionException) {
1100
+ localctx.exception = re;
1101
+ this._errHandler.reportError(this, re);
1102
+ this._errHandler.recover(this, re);
1103
+ }
1104
+ else {
1105
+ throw re;
1106
+ }
1107
+ }
1108
+ finally {
1109
+ this.exitRule();
1110
+ }
1111
+ return localctx;
1112
+ }
1113
+ at_block_pin_expr() {
1114
+ let localctx = new At_block_pin_exprContext(this, this._ctx, this.state);
1115
+ this.enterRule(localctx, 36, CircuitScriptParser.RULE_at_block_pin_expr);
1116
+ try {
1117
+ this.enterOuterAlt(localctx, 1);
1118
+ {
1119
+ this.state = 251;
1120
+ this.pin_select_expr2();
1121
+ this.state = 252;
1122
+ this.match(CircuitScriptParser.T__0);
1123
+ this.state = 255;
1124
+ this._errHandler.sync(this);
1125
+ switch (this._input.LA(1)) {
1126
+ case 4:
1127
+ case 8:
1128
+ case 9:
1129
+ case 13:
1130
+ case 15:
1131
+ case 16:
1132
+ case 17:
1133
+ case 18:
1134
+ case 19:
1135
+ case 20:
1136
+ case 22:
1137
+ case 23:
1138
+ case 26:
1139
+ case 29:
1140
+ case 31:
1141
+ case 35:
1142
+ case 37:
1143
+ {
1144
+ this.state = 253;
1145
+ this.at_block_pin_expression_simple();
1146
+ }
1147
+ break;
1148
+ case 45:
1149
+ {
1150
+ this.state = 254;
1151
+ this.at_block_pin_expression_complex();
1152
+ }
1153
+ break;
1154
+ default:
1155
+ throw new antlr4_1.NoViableAltException(this);
1156
+ }
1157
+ }
1158
+ }
1159
+ catch (re) {
1160
+ if (re instanceof antlr4_1.RecognitionException) {
1161
+ localctx.exception = re;
1162
+ this._errHandler.reportError(this, re);
1163
+ this._errHandler.recover(this, re);
1164
+ }
1165
+ else {
1166
+ throw re;
1167
+ }
1168
+ }
1169
+ finally {
1170
+ this.exitRule();
1171
+ }
1172
+ return localctx;
1173
+ }
1174
+ at_block_pin_expression_simple() {
1175
+ let localctx = new At_block_pin_expression_simpleContext(this, this._ctx, this.state);
1176
+ this.enterRule(localctx, 38, CircuitScriptParser.RULE_at_block_pin_expression_simple);
1177
+ try {
1178
+ this.enterOuterAlt(localctx, 1);
1179
+ {
1180
+ this.state = 259;
1181
+ this._errHandler.sync(this);
1182
+ switch (this._input.LA(1)) {
1183
+ case 4:
1184
+ case 8:
1185
+ case 9:
1186
+ case 13:
1187
+ case 15:
1188
+ case 16:
1189
+ case 17:
1190
+ case 18:
1191
+ case 19:
1192
+ case 20:
1193
+ case 22:
1194
+ case 23:
1195
+ case 26:
1196
+ case 29:
1197
+ case 31:
1198
+ case 37:
1199
+ {
1200
+ this.state = 257;
1201
+ this.expression();
1202
+ }
1203
+ break;
1204
+ case 35:
1205
+ {
1206
+ this.state = 258;
1207
+ this.match(CircuitScriptParser.NOT_CONNECTED);
1208
+ }
1209
+ break;
1210
+ default:
1211
+ throw new antlr4_1.NoViableAltException(this);
1212
+ }
1213
+ }
1214
+ }
1215
+ catch (re) {
1216
+ if (re instanceof antlr4_1.RecognitionException) {
1217
+ localctx.exception = re;
1218
+ this._errHandler.reportError(this, re);
1219
+ this._errHandler.recover(this, re);
1220
+ }
1221
+ else {
1222
+ throw re;
1223
+ }
1224
+ }
1225
+ finally {
1226
+ this.exitRule();
1227
+ }
1228
+ return localctx;
1229
+ }
1230
+ at_block_pin_expression_complex() {
1231
+ let localctx = new At_block_pin_expression_complexContext(this, this._ctx, this.state);
1232
+ this.enterRule(localctx, 40, CircuitScriptParser.RULE_at_block_pin_expression_complex);
1233
+ let _la;
1234
+ try {
1235
+ this.enterOuterAlt(localctx, 1);
1236
+ {
1237
+ this.state = 261;
1238
+ this.match(CircuitScriptParser.NEWLINE);
1239
+ this.state = 262;
1240
+ this.match(CircuitScriptParser.INDENT);
1241
+ this.state = 265;
1242
+ this._errHandler.sync(this);
1243
+ _la = this._input.LA(1);
1244
+ do {
1245
+ {
1246
+ this.state = 265;
1247
+ this._errHandler.sync(this);
1248
+ switch (this._input.LA(1)) {
1249
+ case 45:
1250
+ {
1251
+ this.state = 263;
1252
+ this.match(CircuitScriptParser.NEWLINE);
1253
+ }
1254
+ break;
1255
+ case 4:
1256
+ case 8:
1257
+ case 9:
1258
+ case 13:
1259
+ case 15:
1260
+ case 16:
1261
+ case 17:
1262
+ case 18:
1263
+ case 19:
1264
+ case 20:
1265
+ case 22:
1266
+ case 23:
1267
+ case 26:
1268
+ case 29:
1269
+ case 31:
1270
+ case 37:
1271
+ {
1272
+ this.state = 264;
1273
+ this.expression();
1274
+ }
1275
+ break;
1276
+ default:
1277
+ throw new antlr4_1.NoViableAltException(this);
1278
+ }
1279
+ }
1280
+ this.state = 267;
1281
+ this._errHandler.sync(this);
1282
+ _la = this._input.LA(1);
1283
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2766119696) !== 0) || _la === 37 || _la === 45);
1284
+ this.state = 269;
1285
+ this.match(CircuitScriptParser.DEDENT);
1286
+ }
1287
+ }
1288
+ catch (re) {
1289
+ if (re instanceof antlr4_1.RecognitionException) {
1290
+ localctx.exception = re;
1291
+ this._errHandler.reportError(this, re);
1292
+ this._errHandler.recover(this, re);
1293
+ }
1294
+ else {
1295
+ throw re;
1296
+ }
1297
+ }
1298
+ finally {
1299
+ this.exitRule();
1300
+ }
1301
+ return localctx;
1302
+ }
1303
+ break_keyword() {
1304
+ let localctx = new Break_keywordContext(this, this._ctx, this.state);
1305
+ this.enterRule(localctx, 42, CircuitScriptParser.RULE_break_keyword);
1306
+ try {
1307
+ this.enterOuterAlt(localctx, 1);
1308
+ {
1309
+ this.state = 271;
1310
+ this.match(CircuitScriptParser.Break);
1311
+ }
1312
+ }
1313
+ catch (re) {
1314
+ if (re instanceof antlr4_1.RecognitionException) {
1315
+ localctx.exception = re;
1316
+ this._errHandler.reportError(this, re);
1317
+ this._errHandler.recover(this, re);
1318
+ }
1319
+ else {
1320
+ throw re;
1321
+ }
1322
+ }
1323
+ finally {
1324
+ this.exitRule();
1325
+ }
1326
+ return localctx;
1327
+ }
1328
+ assignment_expr() {
1329
+ let localctx = new Assignment_exprContext(this, this._ctx, this.state);
1330
+ this.enterRule(localctx, 44, CircuitScriptParser.RULE_assignment_expr);
1331
+ try {
1332
+ this.enterOuterAlt(localctx, 1);
1333
+ {
1334
+ this.state = 273;
1335
+ this.atom_expr();
1336
+ this.state = 274;
1337
+ this.match(CircuitScriptParser.T__2);
1338
+ this.state = 275;
1339
+ this.data_expr(0);
1340
+ }
1341
+ }
1342
+ catch (re) {
1343
+ if (re instanceof antlr4_1.RecognitionException) {
1344
+ localctx.exception = re;
1345
+ this._errHandler.reportError(this, re);
1346
+ this._errHandler.recover(this, re);
1347
+ }
1348
+ else {
1349
+ throw re;
1350
+ }
1351
+ }
1352
+ finally {
1353
+ this.exitRule();
1354
+ }
1355
+ return localctx;
1356
+ }
1357
+ keyword_assignment_expr() {
1358
+ let localctx = new Keyword_assignment_exprContext(this, this._ctx, this.state);
1359
+ this.enterRule(localctx, 46, CircuitScriptParser.RULE_keyword_assignment_expr);
1360
+ try {
1361
+ this.enterOuterAlt(localctx, 1);
1362
+ {
1363
+ this.state = 277;
1364
+ this.match(CircuitScriptParser.ID);
1365
+ this.state = 278;
1366
+ this.match(CircuitScriptParser.T__2);
1367
+ this.state = 279;
1368
+ this.data_expr(0);
1369
+ }
1370
+ }
1371
+ catch (re) {
1372
+ if (re instanceof antlr4_1.RecognitionException) {
1373
+ localctx.exception = re;
1374
+ this._errHandler.reportError(this, re);
1375
+ this._errHandler.recover(this, re);
1376
+ }
1377
+ else {
1378
+ throw re;
1379
+ }
1380
+ }
1381
+ finally {
1382
+ this.exitRule();
1383
+ }
1384
+ return localctx;
1385
+ }
1386
+ parameters() {
1387
+ let localctx = new ParametersContext(this, this._ctx, this.state);
1388
+ this.enterRule(localctx, 48, CircuitScriptParser.RULE_parameters);
1389
+ let _la;
1390
+ try {
1391
+ let _alt;
1392
+ this.state = 304;
1393
+ this._errHandler.sync(this);
1394
+ switch (this._interp.adaptivePredict(this._input, 31, this._ctx)) {
1395
+ case 1:
1396
+ this.enterOuterAlt(localctx, 1);
1397
+ {
1398
+ {
1399
+ this.state = 281;
1400
+ this.data_expr(0);
1401
+ this.state = 286;
1402
+ this._errHandler.sync(this);
1403
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1404
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1405
+ if (_alt === 1) {
1406
+ {
1407
+ {
1408
+ this.state = 282;
1409
+ this.match(CircuitScriptParser.T__1);
1410
+ this.state = 283;
1411
+ this.data_expr(0);
1412
+ }
1413
+ }
1414
+ }
1415
+ this.state = 288;
1416
+ this._errHandler.sync(this);
1417
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1418
+ }
1419
+ this.state = 293;
1420
+ this._errHandler.sync(this);
1421
+ _la = this._input.LA(1);
1422
+ while (_la === 2) {
1423
+ {
1424
+ {
1425
+ this.state = 289;
1426
+ this.match(CircuitScriptParser.T__1);
1427
+ this.state = 290;
1428
+ this.keyword_assignment_expr();
1429
+ }
1430
+ }
1431
+ this.state = 295;
1432
+ this._errHandler.sync(this);
1433
+ _la = this._input.LA(1);
1434
+ }
1435
+ }
1436
+ }
1437
+ break;
1438
+ case 2:
1439
+ this.enterOuterAlt(localctx, 2);
1440
+ {
1441
+ {
1442
+ this.state = 296;
1443
+ this.keyword_assignment_expr();
1444
+ this.state = 301;
1445
+ this._errHandler.sync(this);
1446
+ _la = this._input.LA(1);
1447
+ while (_la === 2) {
1448
+ {
1449
+ {
1450
+ this.state = 297;
1451
+ this.match(CircuitScriptParser.T__1);
1452
+ this.state = 298;
1453
+ this.keyword_assignment_expr();
1454
+ }
1455
+ }
1456
+ this.state = 303;
1457
+ this._errHandler.sync(this);
1458
+ _la = this._input.LA(1);
1459
+ }
1460
+ }
1461
+ }
1462
+ break;
1463
+ }
1464
+ }
1465
+ catch (re) {
1466
+ if (re instanceof antlr4_1.RecognitionException) {
1467
+ localctx.exception = re;
1468
+ this._errHandler.reportError(this, re);
1469
+ this._errHandler.recover(this, re);
1470
+ }
1471
+ else {
1472
+ throw re;
1473
+ }
1474
+ }
1475
+ finally {
1476
+ this.exitRule();
1477
+ }
1478
+ return localctx;
1479
+ }
1480
+ property_set_expr() {
1481
+ let localctx = new Property_set_exprContext(this, this._ctx, this.state);
1482
+ this.enterRule(localctx, 50, CircuitScriptParser.RULE_property_set_expr);
1483
+ try {
1484
+ this.enterOuterAlt(localctx, 1);
1485
+ {
1486
+ this.state = 306;
1487
+ this.atom_expr();
1488
+ this.state = 307;
1489
+ this.match(CircuitScriptParser.T__2);
1490
+ this.state = 308;
1491
+ this.data_expr(0);
1492
+ }
1493
+ }
1494
+ catch (re) {
1495
+ if (re instanceof antlr4_1.RecognitionException) {
1496
+ localctx.exception = re;
1497
+ this._errHandler.reportError(this, re);
1498
+ this._errHandler.recover(this, re);
1499
+ }
1500
+ else {
1501
+ throw re;
1502
+ }
1503
+ }
1504
+ finally {
1505
+ this.exitRule();
1506
+ }
1507
+ return localctx;
1508
+ }
1509
+ double_dot_property_set_expr() {
1510
+ let localctx = new Double_dot_property_set_exprContext(this, this._ctx, this.state);
1511
+ this.enterRule(localctx, 52, CircuitScriptParser.RULE_double_dot_property_set_expr);
1512
+ try {
1513
+ this.enterOuterAlt(localctx, 1);
1514
+ {
1515
+ this.state = 310;
1516
+ this.match(CircuitScriptParser.T__3);
1517
+ this.state = 311;
1518
+ this.match(CircuitScriptParser.ID);
1519
+ this.state = 312;
1520
+ this.match(CircuitScriptParser.T__2);
1521
+ this.state = 313;
1522
+ this.data_expr(0);
1523
+ }
1524
+ }
1525
+ catch (re) {
1526
+ if (re instanceof antlr4_1.RecognitionException) {
1527
+ localctx.exception = re;
1528
+ this._errHandler.reportError(this, re);
1529
+ this._errHandler.recover(this, re);
1530
+ }
1531
+ else {
1532
+ throw re;
1533
+ }
1534
+ }
1535
+ finally {
1536
+ this.exitRule();
1537
+ }
1538
+ return localctx;
1539
+ }
1540
+ data_expr(_p) {
1541
+ if (_p === undefined) {
1542
+ _p = 0;
1543
+ }
1544
+ let _parentctx = this._ctx;
1545
+ let _parentState = this.state;
1546
+ let localctx = new Data_exprContext(this, this._ctx, _parentState);
1547
+ let _prevctx = localctx;
1548
+ let _startState = 54;
1549
+ this.enterRecursionRule(localctx, 54, CircuitScriptParser.RULE_data_expr, _p);
1550
+ let _la;
1551
+ try {
1552
+ let _alt;
1553
+ this.enterOuterAlt(localctx, 1);
1554
+ {
1555
+ this.state = 329;
1556
+ this._errHandler.sync(this);
1557
+ switch (this._interp.adaptivePredict(this._input, 33, this._ctx)) {
1558
+ case 1:
1559
+ {
1560
+ localctx = new RoundedBracketsExprContext(this, localctx);
1561
+ this._ctx = localctx;
1562
+ _prevctx = localctx;
1563
+ this.state = 316;
1564
+ this.match(CircuitScriptParser.OPEN_PAREN);
1565
+ this.state = 317;
1566
+ this.data_expr(0);
1567
+ this.state = 318;
1568
+ this.match(CircuitScriptParser.CLOSE_PAREN);
1569
+ }
1570
+ break;
1571
+ case 2:
1572
+ {
1573
+ localctx = new ValueAtomExprContext(this, localctx);
1574
+ this._ctx = localctx;
1575
+ _prevctx = localctx;
1576
+ this.state = 322;
1577
+ this._errHandler.sync(this);
1578
+ switch (this._input.LA(1)) {
1579
+ case 6:
1580
+ case 30:
1581
+ case 36:
1582
+ case 38:
1583
+ case 39:
1584
+ case 40:
1585
+ case 41:
1586
+ case 42:
1587
+ {
1588
+ this.state = 320;
1589
+ this.value_expr();
1590
+ }
1591
+ break;
1592
+ case 29:
1593
+ case 31:
1594
+ case 37:
1595
+ {
1596
+ this.state = 321;
1597
+ this.atom_expr();
1598
+ }
1599
+ break;
1600
+ default:
1601
+ throw new antlr4_1.NoViableAltException(this);
1602
+ }
1603
+ }
1604
+ break;
1605
+ case 3:
1606
+ {
1607
+ localctx = new UnaryOperatorExprContext(this, localctx);
1608
+ this._ctx = localctx;
1609
+ _prevctx = localctx;
1610
+ this.state = 324;
1611
+ this.unary_operator();
1612
+ this.state = 325;
1613
+ this.data_expr(6);
1614
+ }
1615
+ break;
1616
+ case 4:
1617
+ {
1618
+ localctx = new DataExprContext(this, localctx);
1619
+ this._ctx = localctx;
1620
+ _prevctx = localctx;
1621
+ this.state = 327;
1622
+ this.create_component_expr();
1623
+ }
1624
+ break;
1625
+ case 5:
1626
+ {
1627
+ localctx = new DataExprContext(this, localctx);
1628
+ this._ctx = localctx;
1629
+ _prevctx = localctx;
1630
+ this.state = 328;
1631
+ this.create_graphic_expr();
1632
+ }
1633
+ break;
1634
+ }
1635
+ this._ctx.stop = this._input.LT(-1);
1636
+ this.state = 343;
1637
+ this._errHandler.sync(this);
1638
+ _alt = this._interp.adaptivePredict(this._input, 35, this._ctx);
1639
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1640
+ if (_alt === 1) {
1641
+ if (this._parseListeners != null) {
1642
+ this.triggerExitRuleEvent();
1643
+ }
1644
+ _prevctx = localctx;
1645
+ {
1646
+ this.state = 341;
1647
+ this._errHandler.sync(this);
1648
+ switch (this._interp.adaptivePredict(this._input, 34, this._ctx)) {
1649
+ case 1:
1650
+ {
1651
+ localctx = new MultiplyExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1652
+ this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1653
+ this.state = 331;
1654
+ if (!(this.precpred(this._ctx, 5))) {
1655
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
1656
+ }
1657
+ this.state = 332;
1658
+ _la = this._input.LA(1);
1659
+ if (!(_la === 31 || _la === 32)) {
1660
+ this._errHandler.recoverInline(this);
1661
+ }
1662
+ else {
1663
+ this._errHandler.reportMatch(this);
1664
+ this.consume();
1665
+ }
1666
+ this.state = 333;
1667
+ this.data_expr(6);
1668
+ }
1669
+ break;
1670
+ case 2:
1671
+ {
1672
+ localctx = new AdditionExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1673
+ this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1674
+ this.state = 334;
1675
+ if (!(this.precpred(this._ctx, 4))) {
1676
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1677
+ }
1678
+ this.state = 335;
1679
+ _la = this._input.LA(1);
1680
+ if (!(_la === 29 || _la === 30)) {
1681
+ this._errHandler.recoverInline(this);
1682
+ }
1683
+ else {
1684
+ this._errHandler.reportMatch(this);
1685
+ this.consume();
1686
+ }
1687
+ this.state = 336;
1688
+ this.data_expr(5);
1689
+ }
1690
+ break;
1691
+ case 3:
1692
+ {
1693
+ localctx = new BinaryOperatorExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1694
+ this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1695
+ this.state = 337;
1696
+ if (!(this.precpred(this._ctx, 3))) {
1697
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1698
+ }
1699
+ this.state = 338;
1700
+ this.binary_operator();
1701
+ this.state = 339;
1702
+ this.data_expr(4);
1703
+ }
1704
+ break;
1705
+ }
1706
+ }
1707
+ }
1708
+ this.state = 345;
1709
+ this._errHandler.sync(this);
1710
+ _alt = this._interp.adaptivePredict(this._input, 35, this._ctx);
1711
+ }
1712
+ }
1713
+ }
1714
+ catch (re) {
1715
+ if (re instanceof antlr4_1.RecognitionException) {
1716
+ localctx.exception = re;
1717
+ this._errHandler.reportError(this, re);
1718
+ this._errHandler.recover(this, re);
1719
+ }
1720
+ else {
1721
+ throw re;
1722
+ }
1723
+ }
1724
+ finally {
1725
+ this.unrollRecursionContexts(_parentctx);
1726
+ }
1727
+ return localctx;
1728
+ }
1729
+ binary_operator() {
1730
+ let localctx = new Binary_operatorContext(this, this._ctx, this.state);
1731
+ this.enterRule(localctx, 56, CircuitScriptParser.RULE_binary_operator);
1732
+ let _la;
1733
+ try {
1734
+ this.enterOuterAlt(localctx, 1);
1735
+ {
1736
+ this.state = 346;
1737
+ _la = this._input.LA(1);
1738
+ if (!(_la === 27 || _la === 28)) {
1739
+ this._errHandler.recoverInline(this);
1740
+ }
1741
+ else {
1742
+ this._errHandler.reportMatch(this);
1743
+ this.consume();
1744
+ }
1745
+ }
1746
+ }
1747
+ catch (re) {
1748
+ if (re instanceof antlr4_1.RecognitionException) {
1749
+ localctx.exception = re;
1750
+ this._errHandler.reportError(this, re);
1751
+ this._errHandler.recover(this, re);
1752
+ }
1753
+ else {
1754
+ throw re;
1755
+ }
1756
+ }
1757
+ finally {
1758
+ this.exitRule();
1759
+ }
1760
+ return localctx;
1761
+ }
1762
+ unary_operator() {
1763
+ let localctx = new Unary_operatorContext(this, this._ctx, this.state);
1764
+ this.enterRule(localctx, 58, CircuitScriptParser.RULE_unary_operator);
1765
+ let _la;
1766
+ try {
1767
+ this.enterOuterAlt(localctx, 1);
1768
+ {
1769
+ this.state = 348;
1770
+ _la = this._input.LA(1);
1771
+ if (!(_la === 25 || _la === 30)) {
1772
+ this._errHandler.recoverInline(this);
1773
+ }
1774
+ else {
1775
+ this._errHandler.reportMatch(this);
1776
+ this.consume();
1777
+ }
1778
+ }
1779
+ }
1780
+ catch (re) {
1781
+ if (re instanceof antlr4_1.RecognitionException) {
1782
+ localctx.exception = re;
1783
+ this._errHandler.reportError(this, re);
1784
+ this._errHandler.recover(this, re);
1785
+ }
1786
+ else {
1787
+ throw re;
1788
+ }
1789
+ }
1790
+ finally {
1791
+ this.exitRule();
1792
+ }
1793
+ return localctx;
1794
+ }
1795
+ value_expr() {
1796
+ let localctx = new Value_exprContext(this, this._ctx, this.state);
1797
+ this.enterRule(localctx, 60, CircuitScriptParser.RULE_value_expr);
1798
+ let _la;
1799
+ try {
1800
+ this.state = 355;
1801
+ this._errHandler.sync(this);
1802
+ switch (this._input.LA(1)) {
1803
+ case 30:
1804
+ case 36:
1805
+ case 38:
1806
+ case 39:
1807
+ case 40:
1808
+ case 41:
1809
+ case 42:
1810
+ this.enterOuterAlt(localctx, 1);
1811
+ {
1812
+ {
1813
+ this.state = 351;
1814
+ this._errHandler.sync(this);
1815
+ _la = this._input.LA(1);
1816
+ if (_la === 30) {
1817
+ {
1818
+ this.state = 350;
1819
+ this.match(CircuitScriptParser.Minus);
1820
+ }
1821
+ }
1822
+ this.state = 353;
1823
+ _la = this._input.LA(1);
1824
+ if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 125) !== 0))) {
1825
+ this._errHandler.recoverInline(this);
1826
+ }
1827
+ else {
1828
+ this._errHandler.reportMatch(this);
1829
+ this.consume();
1830
+ }
1831
+ }
1832
+ }
1833
+ break;
1834
+ case 6:
1835
+ this.enterOuterAlt(localctx, 2);
1836
+ {
1837
+ this.state = 354;
1838
+ this.blank_expr();
1839
+ }
1840
+ break;
1841
+ default:
1842
+ throw new antlr4_1.NoViableAltException(this);
1843
+ }
1844
+ }
1845
+ catch (re) {
1846
+ if (re instanceof antlr4_1.RecognitionException) {
1847
+ localctx.exception = re;
1848
+ this._errHandler.reportError(this, re);
1849
+ this._errHandler.recover(this, re);
1850
+ }
1851
+ else {
1852
+ throw re;
1853
+ }
1854
+ }
1855
+ finally {
1856
+ this.exitRule();
1857
+ }
1858
+ return localctx;
1859
+ }
1860
+ function_def_expr() {
1861
+ let localctx = new Function_def_exprContext(this, this._ctx, this.state);
1862
+ this.enterRule(localctx, 62, CircuitScriptParser.RULE_function_def_expr);
1863
+ let _la;
1864
+ try {
1865
+ this.enterOuterAlt(localctx, 1);
1866
+ {
1867
+ this.state = 357;
1868
+ this.match(CircuitScriptParser.Define);
1869
+ this.state = 358;
1870
+ this.match(CircuitScriptParser.ID);
1871
+ this.state = 359;
1872
+ this.match(CircuitScriptParser.OPEN_PAREN);
1873
+ this.state = 361;
1874
+ this._errHandler.sync(this);
1875
+ _la = this._input.LA(1);
1876
+ if (_la === 37) {
1877
+ {
1878
+ this.state = 360;
1879
+ this.function_args_expr();
1880
+ }
1881
+ }
1882
+ this.state = 363;
1883
+ this.match(CircuitScriptParser.CLOSE_PAREN);
1884
+ this.state = 364;
1885
+ this.match(CircuitScriptParser.T__0);
1886
+ this.state = 365;
1887
+ this.match(CircuitScriptParser.NEWLINE);
1888
+ this.state = 366;
1889
+ this.match(CircuitScriptParser.INDENT);
1890
+ this.state = 369;
1891
+ this._errHandler.sync(this);
1892
+ _la = this._input.LA(1);
1893
+ do {
1894
+ {
1895
+ this.state = 369;
1896
+ this._errHandler.sync(this);
1897
+ switch (this._input.LA(1)) {
1898
+ case 45:
1899
+ {
1900
+ this.state = 367;
1901
+ this.match(CircuitScriptParser.NEWLINE);
1902
+ }
1903
+ break;
1904
+ case 4:
1905
+ case 8:
1906
+ case 9:
1907
+ case 13:
1908
+ case 15:
1909
+ case 16:
1910
+ case 17:
1911
+ case 18:
1912
+ case 19:
1913
+ case 20:
1914
+ case 21:
1915
+ case 22:
1916
+ case 23:
1917
+ case 26:
1918
+ case 29:
1919
+ case 31:
1920
+ case 37:
1921
+ {
1922
+ this.state = 368;
1923
+ this.function_expr();
1924
+ }
1925
+ break;
1926
+ default:
1927
+ throw new antlr4_1.NoViableAltException(this);
1928
+ }
1929
+ }
1930
+ this.state = 371;
1931
+ this._errHandler.sync(this);
1932
+ _la = this._input.LA(1);
1933
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2768216848) !== 0) || _la === 37 || _la === 45);
1934
+ this.state = 373;
1935
+ this.match(CircuitScriptParser.DEDENT);
1936
+ }
1937
+ }
1938
+ catch (re) {
1939
+ if (re instanceof antlr4_1.RecognitionException) {
1940
+ localctx.exception = re;
1941
+ this._errHandler.reportError(this, re);
1942
+ this._errHandler.recover(this, re);
1943
+ }
1944
+ else {
1945
+ throw re;
1946
+ }
1947
+ }
1948
+ finally {
1949
+ this.exitRule();
1950
+ }
1951
+ return localctx;
1952
+ }
1953
+ function_expr() {
1954
+ let localctx = new Function_exprContext(this, this._ctx, this.state);
1955
+ this.enterRule(localctx, 64, CircuitScriptParser.RULE_function_expr);
1956
+ try {
1957
+ this.state = 377;
1958
+ this._errHandler.sync(this);
1959
+ switch (this._input.LA(1)) {
1960
+ case 4:
1961
+ case 8:
1962
+ case 9:
1963
+ case 13:
1964
+ case 15:
1965
+ case 16:
1966
+ case 17:
1967
+ case 18:
1968
+ case 19:
1969
+ case 20:
1970
+ case 22:
1971
+ case 23:
1972
+ case 26:
1973
+ case 29:
1974
+ case 31:
1975
+ case 37:
1976
+ this.enterOuterAlt(localctx, 1);
1977
+ {
1978
+ this.state = 375;
1979
+ this.expression();
1980
+ }
1981
+ break;
1982
+ case 21:
1983
+ this.enterOuterAlt(localctx, 2);
1984
+ {
1985
+ this.state = 376;
1986
+ this.function_return_expr();
1987
+ }
1988
+ break;
1989
+ default:
1990
+ throw new antlr4_1.NoViableAltException(this);
1991
+ }
1992
+ }
1993
+ catch (re) {
1994
+ if (re instanceof antlr4_1.RecognitionException) {
1995
+ localctx.exception = re;
1996
+ this._errHandler.reportError(this, re);
1997
+ this._errHandler.recover(this, re);
1998
+ }
1999
+ else {
2000
+ throw re;
2001
+ }
2002
+ }
2003
+ finally {
2004
+ this.exitRule();
2005
+ }
2006
+ return localctx;
2007
+ }
2008
+ function_args_expr() {
2009
+ let localctx = new Function_args_exprContext(this, this._ctx, this.state);
2010
+ this.enterRule(localctx, 66, CircuitScriptParser.RULE_function_args_expr);
2011
+ let _la;
2012
+ try {
2013
+ let _alt;
2014
+ this.state = 408;
2015
+ this._errHandler.sync(this);
2016
+ switch (this._interp.adaptivePredict(this._input, 45, this._ctx)) {
2017
+ case 1:
2018
+ this.enterOuterAlt(localctx, 1);
2019
+ {
2020
+ this.state = 379;
2021
+ this.match(CircuitScriptParser.ID);
2022
+ this.state = 384;
2023
+ this._errHandler.sync(this);
2024
+ _alt = this._interp.adaptivePredict(this._input, 42, this._ctx);
2025
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
2026
+ if (_alt === 1) {
2027
+ {
2028
+ {
2029
+ this.state = 380;
2030
+ this.match(CircuitScriptParser.T__1);
2031
+ this.state = 381;
2032
+ this.match(CircuitScriptParser.ID);
2033
+ }
2034
+ }
2035
+ }
2036
+ this.state = 386;
2037
+ this._errHandler.sync(this);
2038
+ _alt = this._interp.adaptivePredict(this._input, 42, this._ctx);
2039
+ }
2040
+ this.state = 393;
2041
+ this._errHandler.sync(this);
2042
+ _la = this._input.LA(1);
2043
+ while (_la === 2) {
2044
+ {
2045
+ {
2046
+ this.state = 387;
2047
+ this.match(CircuitScriptParser.T__1);
2048
+ this.state = 388;
2049
+ this.match(CircuitScriptParser.ID);
2050
+ this.state = 389;
2051
+ this.match(CircuitScriptParser.T__2);
2052
+ this.state = 390;
2053
+ this.value_expr();
2054
+ }
2055
+ }
2056
+ this.state = 395;
2057
+ this._errHandler.sync(this);
2058
+ _la = this._input.LA(1);
2059
+ }
2060
+ }
2061
+ break;
2062
+ case 2:
2063
+ this.enterOuterAlt(localctx, 2);
2064
+ {
2065
+ this.state = 396;
2066
+ this.match(CircuitScriptParser.ID);
2067
+ this.state = 397;
2068
+ this.match(CircuitScriptParser.T__2);
2069
+ this.state = 398;
2070
+ this.value_expr();
2071
+ this.state = 405;
2072
+ this._errHandler.sync(this);
2073
+ _la = this._input.LA(1);
2074
+ while (_la === 2) {
2075
+ {
2076
+ {
2077
+ this.state = 399;
2078
+ this.match(CircuitScriptParser.T__1);
2079
+ this.state = 400;
2080
+ this.match(CircuitScriptParser.ID);
2081
+ this.state = 401;
2082
+ this.match(CircuitScriptParser.T__2);
2083
+ this.state = 402;
2084
+ this.value_expr();
2085
+ }
2086
+ }
2087
+ this.state = 407;
2088
+ this._errHandler.sync(this);
2089
+ _la = this._input.LA(1);
2090
+ }
2091
+ }
2092
+ break;
2093
+ }
2094
+ }
2095
+ catch (re) {
2096
+ if (re instanceof antlr4_1.RecognitionException) {
2097
+ localctx.exception = re;
2098
+ this._errHandler.reportError(this, re);
2099
+ this._errHandler.recover(this, re);
2100
+ }
2101
+ else {
2102
+ throw re;
2103
+ }
2104
+ }
2105
+ finally {
2106
+ this.exitRule();
2107
+ }
2108
+ return localctx;
2109
+ }
2110
+ atom_expr() {
2111
+ let localctx = new Atom_exprContext(this, this._ctx, this.state);
2112
+ this.enterRule(localctx, 68, CircuitScriptParser.RULE_atom_expr);
2113
+ let _la;
2114
+ try {
2115
+ let _alt;
2116
+ this.enterOuterAlt(localctx, 1);
2117
+ {
2118
+ this.state = 411;
2119
+ this._errHandler.sync(this);
2120
+ _la = this._input.LA(1);
2121
+ if (_la === 29 || _la === 31) {
2122
+ {
2123
+ this.state = 410;
2124
+ this.net_namespace_expr();
2125
+ }
2126
+ }
2127
+ this.state = 413;
2128
+ this.match(CircuitScriptParser.ID);
2129
+ this.state = 417;
2130
+ this._errHandler.sync(this);
2131
+ _alt = this._interp.adaptivePredict(this._input, 47, this._ctx);
2132
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
2133
+ if (_alt === 1) {
2134
+ {
2135
+ {
2136
+ this.state = 414;
2137
+ this.trailer_expr();
2138
+ }
2139
+ }
2140
+ }
2141
+ this.state = 419;
2142
+ this._errHandler.sync(this);
2143
+ _alt = this._interp.adaptivePredict(this._input, 47, this._ctx);
2144
+ }
2145
+ }
2146
+ }
2147
+ catch (re) {
2148
+ if (re instanceof antlr4_1.RecognitionException) {
2149
+ localctx.exception = re;
2150
+ this._errHandler.reportError(this, re);
2151
+ this._errHandler.recover(this, re);
2152
+ }
2153
+ else {
2154
+ throw re;
2155
+ }
2156
+ }
2157
+ finally {
2158
+ this.exitRule();
2159
+ }
2160
+ return localctx;
2161
+ }
2162
+ trailer_expr() {
2163
+ let localctx = new Trailer_exprContext(this, this._ctx, this.state);
2164
+ this.enterRule(localctx, 70, CircuitScriptParser.RULE_trailer_expr);
2165
+ let _la;
2166
+ try {
2167
+ this.state = 427;
2168
+ this._errHandler.sync(this);
2169
+ switch (this._input.LA(1)) {
2170
+ case 33:
2171
+ this.enterOuterAlt(localctx, 1);
2172
+ {
2173
+ this.state = 420;
2174
+ this.match(CircuitScriptParser.OPEN_PAREN);
2175
+ this.state = 422;
2176
+ this._errHandler.sync(this);
2177
+ _la = this._input.LA(1);
2178
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3791651904) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1017) !== 0)) {
2179
+ {
2180
+ this.state = 421;
2181
+ this.parameters();
2182
+ }
2183
+ }
2184
+ this.state = 424;
2185
+ this.match(CircuitScriptParser.CLOSE_PAREN);
2186
+ }
2187
+ break;
2188
+ case 5:
2189
+ this.enterOuterAlt(localctx, 2);
2190
+ {
2191
+ this.state = 425;
2192
+ this.match(CircuitScriptParser.T__4);
2193
+ this.state = 426;
2194
+ this.match(CircuitScriptParser.ID);
2195
+ }
2196
+ break;
2197
+ default:
2198
+ throw new antlr4_1.NoViableAltException(this);
2199
+ }
2200
+ }
2201
+ catch (re) {
2202
+ if (re instanceof antlr4_1.RecognitionException) {
2203
+ localctx.exception = re;
2204
+ this._errHandler.reportError(this, re);
2205
+ this._errHandler.recover(this, re);
2206
+ }
2207
+ else {
2208
+ throw re;
2209
+ }
2210
+ }
2211
+ finally {
2212
+ this.exitRule();
2213
+ }
2214
+ return localctx;
2215
+ }
2216
+ net_namespace_expr() {
2217
+ let localctx = new Net_namespace_exprContext(this, this._ctx, this.state);
2218
+ this.enterRule(localctx, 72, CircuitScriptParser.RULE_net_namespace_expr);
2219
+ let _la;
2220
+ try {
2221
+ this.enterOuterAlt(localctx, 1);
2222
+ {
2223
+ this.state = 430;
2224
+ this._errHandler.sync(this);
2225
+ _la = this._input.LA(1);
2226
+ if (_la === 29) {
2227
+ {
2228
+ this.state = 429;
2229
+ this.match(CircuitScriptParser.Addition);
2230
+ }
2231
+ }
2232
+ this.state = 432;
2233
+ this.match(CircuitScriptParser.Divide);
2234
+ this.state = 434;
2235
+ this._errHandler.sync(this);
2236
+ switch (this._interp.adaptivePredict(this._input, 51, this._ctx)) {
2237
+ case 1:
2238
+ {
2239
+ this.state = 433;
2240
+ this.data_expr(0);
2241
+ }
2242
+ break;
2243
+ }
2244
+ }
2245
+ }
2246
+ catch (re) {
2247
+ if (re instanceof antlr4_1.RecognitionException) {
2248
+ localctx.exception = re;
2249
+ this._errHandler.reportError(this, re);
2250
+ this._errHandler.recover(this, re);
2251
+ }
2252
+ else {
2253
+ throw re;
2254
+ }
2255
+ }
2256
+ finally {
2257
+ this.exitRule();
2258
+ }
2259
+ return localctx;
2260
+ }
2261
+ function_return_expr() {
2262
+ let localctx = new Function_return_exprContext(this, this._ctx, this.state);
2263
+ this.enterRule(localctx, 74, CircuitScriptParser.RULE_function_return_expr);
2264
+ try {
2265
+ this.enterOuterAlt(localctx, 1);
2266
+ {
2267
+ this.state = 436;
2268
+ this.match(CircuitScriptParser.Return);
2269
+ this.state = 437;
2270
+ this.data_expr(0);
2271
+ }
2272
+ }
2273
+ catch (re) {
2274
+ if (re instanceof antlr4_1.RecognitionException) {
2275
+ localctx.exception = re;
2276
+ this._errHandler.reportError(this, re);
2277
+ this._errHandler.recover(this, re);
2278
+ }
2279
+ else {
2280
+ throw re;
2281
+ }
2282
+ }
2283
+ finally {
2284
+ this.exitRule();
2285
+ }
2286
+ return localctx;
2287
+ }
2288
+ create_component_expr() {
2289
+ let localctx = new Create_component_exprContext(this, this._ctx, this.state);
2290
+ this.enterRule(localctx, 76, CircuitScriptParser.RULE_create_component_expr);
2291
+ let _la;
2292
+ try {
2293
+ this.enterOuterAlt(localctx, 1);
2294
+ {
2295
+ this.state = 439;
2296
+ this.match(CircuitScriptParser.Create);
2297
+ this.state = 440;
2298
+ this.match(CircuitScriptParser.Component);
2299
+ this.state = 441;
2300
+ this.match(CircuitScriptParser.T__0);
2301
+ this.state = 442;
2302
+ this.match(CircuitScriptParser.NEWLINE);
2303
+ this.state = 443;
2304
+ this.match(CircuitScriptParser.INDENT);
2305
+ this.state = 446;
2306
+ this._errHandler.sync(this);
2307
+ _la = this._input.LA(1);
2308
+ do {
2309
+ {
2310
+ this.state = 446;
2311
+ this._errHandler.sync(this);
2312
+ switch (this._input.LA(1)) {
2313
+ case 45:
2314
+ {
2315
+ this.state = 444;
2316
+ this.match(CircuitScriptParser.NEWLINE);
2317
+ }
2318
+ break;
2319
+ case 37:
2320
+ case 38:
2321
+ case 41:
2322
+ {
2323
+ this.state = 445;
2324
+ this.property_expr();
2325
+ }
2326
+ break;
2327
+ default:
2328
+ throw new antlr4_1.NoViableAltException(this);
2329
+ }
2330
+ }
2331
+ this.state = 448;
2332
+ this._errHandler.sync(this);
2333
+ _la = this._input.LA(1);
2334
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2335
+ this.state = 450;
2336
+ this.match(CircuitScriptParser.DEDENT);
2337
+ }
2338
+ }
2339
+ catch (re) {
2340
+ if (re instanceof antlr4_1.RecognitionException) {
2341
+ localctx.exception = re;
2342
+ this._errHandler.reportError(this, re);
2343
+ this._errHandler.recover(this, re);
2344
+ }
2345
+ else {
2346
+ throw re;
2347
+ }
2348
+ }
2349
+ finally {
2350
+ this.exitRule();
2351
+ }
2352
+ return localctx;
2353
+ }
2354
+ create_graphic_expr() {
2355
+ let localctx = new Create_graphic_exprContext(this, this._ctx, this.state);
2356
+ this.enterRule(localctx, 78, CircuitScriptParser.RULE_create_graphic_expr);
2357
+ let _la;
2358
+ try {
2359
+ this.enterOuterAlt(localctx, 1);
2360
+ {
2361
+ this.state = 452;
2362
+ this.match(CircuitScriptParser.Create);
2363
+ this.state = 453;
2364
+ this.match(CircuitScriptParser.Graphic);
2365
+ this.state = 454;
2366
+ this.match(CircuitScriptParser.T__0);
2367
+ this.state = 455;
2368
+ this.match(CircuitScriptParser.NEWLINE);
2369
+ this.state = 456;
2370
+ this.match(CircuitScriptParser.INDENT);
2371
+ this.state = 459;
2372
+ this._errHandler.sync(this);
2373
+ _la = this._input.LA(1);
2374
+ do {
2375
+ {
2376
+ this.state = 459;
2377
+ this._errHandler.sync(this);
2378
+ switch (this._input.LA(1)) {
2379
+ case 45:
2380
+ {
2381
+ this.state = 457;
2382
+ this.match(CircuitScriptParser.NEWLINE);
2383
+ }
2384
+ break;
2385
+ case 14:
2386
+ case 37:
2387
+ {
2388
+ this.state = 458;
2389
+ this.sub_expr();
2390
+ }
2391
+ break;
2392
+ default:
2393
+ throw new antlr4_1.NoViableAltException(this);
2394
+ }
2395
+ }
2396
+ this.state = 461;
2397
+ this._errHandler.sync(this);
2398
+ _la = this._input.LA(1);
2399
+ } while (((((_la - 14)) & ~0x1F) === 0 && ((1 << (_la - 14)) & 2155872257) !== 0));
2400
+ this.state = 463;
2401
+ this.match(CircuitScriptParser.DEDENT);
2402
+ }
2403
+ }
2404
+ catch (re) {
2405
+ if (re instanceof antlr4_1.RecognitionException) {
2406
+ localctx.exception = re;
2407
+ this._errHandler.reportError(this, re);
2408
+ this._errHandler.recover(this, re);
2409
+ }
2410
+ else {
2411
+ throw re;
2412
+ }
2413
+ }
2414
+ finally {
2415
+ this.exitRule();
2416
+ }
2417
+ return localctx;
2418
+ }
2419
+ sub_expr() {
2420
+ let localctx = new Sub_exprContext(this, this._ctx, this.state);
2421
+ this.enterRule(localctx, 80, CircuitScriptParser.RULE_sub_expr);
2422
+ let _la;
2423
+ try {
2424
+ this.enterOuterAlt(localctx, 1);
2425
+ {
2426
+ this.state = 465;
2427
+ _la = this._input.LA(1);
2428
+ if (!(_la === 14 || _la === 37)) {
2429
+ this._errHandler.recoverInline(this);
2430
+ }
2431
+ else {
2432
+ this._errHandler.reportMatch(this);
2433
+ this.consume();
2434
+ }
2435
+ this.state = 466;
2436
+ this.match(CircuitScriptParser.T__0);
2437
+ this.state = 472;
2438
+ this._errHandler.sync(this);
2439
+ switch (this._interp.adaptivePredict(this._input, 56, this._ctx)) {
2440
+ case 1:
2441
+ {
2442
+ this.state = 467;
2443
+ this.parameters();
2444
+ }
2445
+ break;
2446
+ case 2:
2447
+ {
2448
+ this.state = 468;
2449
+ this.match(CircuitScriptParser.OPEN_PAREN);
2450
+ this.state = 469;
2451
+ this.parameters();
2452
+ this.state = 470;
2453
+ this.match(CircuitScriptParser.CLOSE_PAREN);
2454
+ }
2455
+ break;
2456
+ }
2457
+ }
2458
+ }
2459
+ catch (re) {
2460
+ if (re instanceof antlr4_1.RecognitionException) {
2461
+ localctx.exception = re;
2462
+ this._errHandler.reportError(this, re);
2463
+ this._errHandler.recover(this, re);
2464
+ }
2465
+ else {
2466
+ throw re;
2467
+ }
2468
+ }
2469
+ finally {
2470
+ this.exitRule();
2471
+ }
2472
+ return localctx;
2473
+ }
2474
+ property_expr() {
2475
+ let localctx = new Property_exprContext(this, this._ctx, this.state);
2476
+ this.enterRule(localctx, 82, CircuitScriptParser.RULE_property_expr);
2477
+ try {
2478
+ this.enterOuterAlt(localctx, 1);
2479
+ {
2480
+ this.state = 474;
2481
+ this.property_key_expr();
2482
+ this.state = 475;
2483
+ this.match(CircuitScriptParser.T__0);
2484
+ this.state = 476;
2485
+ this.property_value_expr();
2486
+ }
2487
+ }
2488
+ catch (re) {
2489
+ if (re instanceof antlr4_1.RecognitionException) {
2490
+ localctx.exception = re;
2491
+ this._errHandler.reportError(this, re);
2492
+ this._errHandler.recover(this, re);
2493
+ }
2494
+ else {
2495
+ throw re;
2496
+ }
2497
+ }
2498
+ finally {
2499
+ this.exitRule();
2500
+ }
2501
+ return localctx;
2502
+ }
2503
+ property_key_expr() {
2504
+ let localctx = new Property_key_exprContext(this, this._ctx, this.state);
2505
+ this.enterRule(localctx, 84, CircuitScriptParser.RULE_property_key_expr);
2506
+ let _la;
2507
+ try {
2508
+ this.enterOuterAlt(localctx, 1);
2509
+ {
2510
+ this.state = 478;
2511
+ _la = this._input.LA(1);
2512
+ if (!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 19) !== 0))) {
2513
+ this._errHandler.recoverInline(this);
2514
+ }
2515
+ else {
2516
+ this._errHandler.reportMatch(this);
2517
+ this.consume();
2518
+ }
2519
+ }
2520
+ }
2521
+ catch (re) {
2522
+ if (re instanceof antlr4_1.RecognitionException) {
2523
+ localctx.exception = re;
2524
+ this._errHandler.reportError(this, re);
2525
+ this._errHandler.recover(this, re);
2526
+ }
2527
+ else {
2528
+ throw re;
2529
+ }
2530
+ }
2531
+ finally {
2532
+ this.exitRule();
2533
+ }
2534
+ return localctx;
2535
+ }
2536
+ property_value_expr() {
2537
+ let localctx = new Property_value_exprContext(this, this._ctx, this.state);
2538
+ this.enterRule(localctx, 86, CircuitScriptParser.RULE_property_value_expr);
2539
+ let _la;
2540
+ try {
2541
+ this.state = 497;
2542
+ this._errHandler.sync(this);
2543
+ switch (this._input.LA(1)) {
2544
+ case 45:
2545
+ localctx = new Nested_propertiesContext(this, localctx);
2546
+ this.enterOuterAlt(localctx, 1);
2547
+ {
2548
+ this.state = 480;
2549
+ this.match(CircuitScriptParser.NEWLINE);
2550
+ this.state = 481;
2551
+ this.match(CircuitScriptParser.INDENT);
2552
+ this.state = 484;
2553
+ this._errHandler.sync(this);
2554
+ _la = this._input.LA(1);
2555
+ do {
2556
+ {
2557
+ this.state = 484;
2558
+ this._errHandler.sync(this);
2559
+ switch (this._input.LA(1)) {
2560
+ case 45:
2561
+ {
2562
+ this.state = 482;
2563
+ this.match(CircuitScriptParser.NEWLINE);
2564
+ }
2565
+ break;
2566
+ case 37:
2567
+ case 38:
2568
+ case 41:
2569
+ {
2570
+ this.state = 483;
2571
+ this.property_expr();
2572
+ }
2573
+ break;
2574
+ default:
2575
+ throw new antlr4_1.NoViableAltException(this);
2576
+ }
2577
+ }
2578
+ this.state = 486;
2579
+ this._errHandler.sync(this);
2580
+ _la = this._input.LA(1);
2581
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2582
+ this.state = 488;
2583
+ this.match(CircuitScriptParser.DEDENT);
2584
+ }
2585
+ break;
2586
+ case 6:
2587
+ case 10:
2588
+ case 25:
2589
+ case 29:
2590
+ case 30:
2591
+ case 31:
2592
+ case 33:
2593
+ case 36:
2594
+ case 37:
2595
+ case 38:
2596
+ case 39:
2597
+ case 40:
2598
+ case 41:
2599
+ case 42:
2600
+ localctx = new Single_line_propertyContext(this, localctx);
2601
+ this.enterOuterAlt(localctx, 2);
2602
+ {
2603
+ this.state = 489;
2604
+ this.data_expr(0);
2605
+ this.state = 494;
2606
+ this._errHandler.sync(this);
2607
+ _la = this._input.LA(1);
2608
+ while (_la === 2) {
2609
+ {
2610
+ {
2611
+ this.state = 490;
2612
+ this.match(CircuitScriptParser.T__1);
2613
+ this.state = 491;
2614
+ this.data_expr(0);
2615
+ }
2616
+ }
2617
+ this.state = 496;
2618
+ this._errHandler.sync(this);
2619
+ _la = this._input.LA(1);
2620
+ }
2621
+ }
2622
+ break;
2623
+ default:
2624
+ throw new antlr4_1.NoViableAltException(this);
2625
+ }
2626
+ }
2627
+ catch (re) {
2628
+ if (re instanceof antlr4_1.RecognitionException) {
2629
+ localctx.exception = re;
2630
+ this._errHandler.reportError(this, re);
2631
+ this._errHandler.recover(this, re);
2632
+ }
2633
+ else {
2634
+ throw re;
2635
+ }
2636
+ }
2637
+ finally {
2638
+ this.exitRule();
2639
+ }
2640
+ return localctx;
2641
+ }
2642
+ blank_expr() {
2643
+ let localctx = new Blank_exprContext(this, this._ctx, this.state);
2644
+ this.enterRule(localctx, 88, CircuitScriptParser.RULE_blank_expr);
2645
+ try {
2646
+ this.enterOuterAlt(localctx, 1);
2647
+ {
2648
+ this.state = 499;
2649
+ this.match(CircuitScriptParser.T__5);
2650
+ this.state = 500;
2651
+ this.match(CircuitScriptParser.INTEGER_VALUE);
2652
+ this.state = 501;
2653
+ this.match(CircuitScriptParser.T__6);
2654
+ }
2655
+ }
2656
+ catch (re) {
2657
+ if (re instanceof antlr4_1.RecognitionException) {
2658
+ localctx.exception = re;
2659
+ this._errHandler.reportError(this, re);
2660
+ this._errHandler.recover(this, re);
2661
+ }
2662
+ else {
2663
+ throw re;
2664
+ }
2665
+ }
2666
+ finally {
2667
+ this.exitRule();
2668
+ }
2669
+ return localctx;
2670
+ }
2671
+ wire_expr() {
2672
+ let localctx = new Wire_exprContext(this, this._ctx, this.state);
2673
+ this.enterRule(localctx, 90, CircuitScriptParser.RULE_wire_expr);
2674
+ let _la;
2675
+ try {
2676
+ let _alt;
2677
+ this.enterOuterAlt(localctx, 1);
2678
+ {
2679
+ this.state = 503;
2680
+ this.match(CircuitScriptParser.Wire);
2681
+ this.state = 504;
2682
+ this.match(CircuitScriptParser.ID);
2683
+ this.state = 508;
2684
+ this._errHandler.sync(this);
2685
+ _alt = this._interp.adaptivePredict(this._input, 61, this._ctx);
2686
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
2687
+ if (_alt === 1) {
2688
+ {
2689
+ {
2690
+ this.state = 505;
2691
+ _la = this._input.LA(1);
2692
+ if (!(_la === 37 || _la === 38)) {
2693
+ this._errHandler.recoverInline(this);
2694
+ }
2695
+ else {
2696
+ this._errHandler.reportMatch(this);
2697
+ this.consume();
2698
+ }
2699
+ }
2700
+ }
2701
+ }
2702
+ this.state = 510;
2703
+ this._errHandler.sync(this);
2704
+ _alt = this._interp.adaptivePredict(this._input, 61, this._ctx);
2705
+ }
2706
+ }
2707
+ }
2708
+ catch (re) {
2709
+ if (re instanceof antlr4_1.RecognitionException) {
2710
+ localctx.exception = re;
2711
+ this._errHandler.reportError(this, re);
2712
+ this._errHandler.recover(this, re);
2713
+ }
2714
+ else {
2715
+ throw re;
2716
+ }
2717
+ }
2718
+ finally {
2719
+ this.exitRule();
2720
+ }
2721
+ return localctx;
2722
+ }
2723
+ point_expr() {
2724
+ let localctx = new Point_exprContext(this, this._ctx, this.state);
2725
+ this.enterRule(localctx, 92, CircuitScriptParser.RULE_point_expr);
2726
+ try {
2727
+ this.enterOuterAlt(localctx, 1);
2728
+ {
2729
+ this.state = 511;
2730
+ this.match(CircuitScriptParser.Point);
2731
+ this.state = 512;
2732
+ this.match(CircuitScriptParser.ID);
2733
+ }
2734
+ }
2735
+ catch (re) {
2736
+ if (re instanceof antlr4_1.RecognitionException) {
2737
+ localctx.exception = re;
2738
+ this._errHandler.reportError(this, re);
2739
+ this._errHandler.recover(this, re);
2740
+ }
2741
+ else {
2742
+ throw re;
2743
+ }
2744
+ }
2745
+ finally {
2746
+ this.exitRule();
2747
+ }
2748
+ return localctx;
2749
+ }
2750
+ import_expr() {
2751
+ let localctx = new Import_exprContext(this, this._ctx, this.state);
2752
+ this.enterRule(localctx, 94, CircuitScriptParser.RULE_import_expr);
2753
+ try {
2754
+ this.enterOuterAlt(localctx, 1);
2755
+ {
2756
+ this.state = 514;
2757
+ this.match(CircuitScriptParser.Import);
2758
+ this.state = 515;
2759
+ this.match(CircuitScriptParser.ID);
2760
+ }
2761
+ }
2762
+ catch (re) {
2763
+ if (re instanceof antlr4_1.RecognitionException) {
2764
+ localctx.exception = re;
2765
+ this._errHandler.reportError(this, re);
2766
+ this._errHandler.recover(this, re);
2767
+ }
2768
+ else {
2769
+ throw re;
2770
+ }
2771
+ }
2772
+ finally {
2773
+ this.exitRule();
2774
+ }
2775
+ return localctx;
2776
+ }
2777
+ frame_expr() {
2778
+ let localctx = new Frame_exprContext(this, this._ctx, this.state);
2779
+ this.enterRule(localctx, 96, CircuitScriptParser.RULE_frame_expr);
2780
+ let _la;
2781
+ try {
2782
+ this.enterOuterAlt(localctx, 1);
2783
+ {
2784
+ this.state = 517;
2785
+ this.match(CircuitScriptParser.Frame);
2786
+ this.state = 518;
2787
+ this.match(CircuitScriptParser.T__0);
2788
+ this.state = 519;
2789
+ this.match(CircuitScriptParser.NEWLINE);
2790
+ this.state = 520;
2791
+ this.match(CircuitScriptParser.INDENT);
2792
+ this.state = 523;
2793
+ this._errHandler.sync(this);
2794
+ _la = this._input.LA(1);
2795
+ do {
2796
+ {
2797
+ this.state = 523;
2798
+ this._errHandler.sync(this);
2799
+ switch (this._input.LA(1)) {
2800
+ case 45:
2801
+ {
2802
+ this.state = 521;
2803
+ this.match(CircuitScriptParser.NEWLINE);
2804
+ }
2805
+ break;
2806
+ case 4:
2807
+ case 8:
2808
+ case 9:
2809
+ case 13:
2810
+ case 15:
2811
+ case 16:
2812
+ case 17:
2813
+ case 18:
2814
+ case 19:
2815
+ case 20:
2816
+ case 22:
2817
+ case 23:
2818
+ case 26:
2819
+ case 29:
2820
+ case 31:
2821
+ case 37:
2822
+ {
2823
+ this.state = 522;
2824
+ this.expression();
2825
+ }
2826
+ break;
2827
+ default:
2828
+ throw new antlr4_1.NoViableAltException(this);
2829
+ }
2830
+ }
2831
+ this.state = 525;
2832
+ this._errHandler.sync(this);
2833
+ _la = this._input.LA(1);
2834
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2766119696) !== 0) || _la === 37 || _la === 45);
2835
+ this.state = 527;
2836
+ this.match(CircuitScriptParser.DEDENT);
2837
+ }
2838
+ }
2839
+ catch (re) {
2840
+ if (re instanceof antlr4_1.RecognitionException) {
2841
+ localctx.exception = re;
2842
+ this._errHandler.reportError(this, re);
2843
+ this._errHandler.recover(this, re);
2844
+ }
2845
+ else {
2846
+ throw re;
2847
+ }
2848
+ }
2849
+ finally {
2850
+ this.exitRule();
2851
+ }
2852
+ return localctx;
2853
+ }
2854
+ sempred(localctx, ruleIndex, predIndex) {
2855
+ switch (ruleIndex) {
2856
+ case 27:
2857
+ return this.data_expr_sempred(localctx, predIndex);
2858
+ }
2859
+ return true;
2860
+ }
2861
+ data_expr_sempred(localctx, predIndex) {
2862
+ switch (predIndex) {
2863
+ case 0:
2864
+ return this.precpred(this._ctx, 5);
2865
+ case 1:
2866
+ return this.precpred(this._ctx, 4);
2867
+ case 2:
2868
+ return this.precpred(this._ctx, 3);
2869
+ }
2870
+ return true;
2871
+ }
2872
+ static get _ATN() {
2873
+ if (!CircuitScriptParser.__ATN) {
2874
+ CircuitScriptParser.__ATN = new antlr4_1.ATNDeserializer().deserialize(CircuitScriptParser._serializedATN);
2875
+ }
2876
+ return CircuitScriptParser.__ATN;
2877
+ }
2878
+ }
2879
+ CircuitScriptParser.T__0 = 1;
2880
+ CircuitScriptParser.T__1 = 2;
2881
+ CircuitScriptParser.T__2 = 3;
2882
+ CircuitScriptParser.T__3 = 4;
2883
+ CircuitScriptParser.T__4 = 5;
2884
+ CircuitScriptParser.T__5 = 6;
2885
+ CircuitScriptParser.T__6 = 7;
2886
+ CircuitScriptParser.Break = 8;
2887
+ CircuitScriptParser.Branch = 9;
2888
+ CircuitScriptParser.Create = 10;
2889
+ CircuitScriptParser.Component = 11;
2890
+ CircuitScriptParser.Graphic = 12;
2891
+ CircuitScriptParser.Wire = 13;
2892
+ CircuitScriptParser.Pin = 14;
2893
+ CircuitScriptParser.Add = 15;
2894
+ CircuitScriptParser.At = 16;
2895
+ CircuitScriptParser.To = 17;
2896
+ CircuitScriptParser.Point = 18;
2897
+ CircuitScriptParser.Join = 19;
2898
+ CircuitScriptParser.Parallel = 20;
2899
+ CircuitScriptParser.Return = 21;
2900
+ CircuitScriptParser.Define = 22;
2901
+ CircuitScriptParser.Import = 23;
2902
+ CircuitScriptParser.If = 24;
2903
+ CircuitScriptParser.Not = 25;
2904
+ CircuitScriptParser.Frame = 26;
2905
+ CircuitScriptParser.Equals = 27;
2906
+ CircuitScriptParser.NotEquals = 28;
2907
+ CircuitScriptParser.Addition = 29;
2908
+ CircuitScriptParser.Minus = 30;
2909
+ CircuitScriptParser.Divide = 31;
2910
+ CircuitScriptParser.Multiply = 32;
2911
+ CircuitScriptParser.OPEN_PAREN = 33;
2912
+ CircuitScriptParser.CLOSE_PAREN = 34;
2913
+ CircuitScriptParser.NOT_CONNECTED = 35;
2914
+ CircuitScriptParser.BOOLEAN_VALUE = 36;
2915
+ CircuitScriptParser.ID = 37;
2916
+ CircuitScriptParser.INTEGER_VALUE = 38;
2917
+ CircuitScriptParser.DECIMAL_VALUE = 39;
2918
+ CircuitScriptParser.NUMERIC_VALUE = 40;
2919
+ CircuitScriptParser.STRING_VALUE = 41;
2920
+ CircuitScriptParser.PERCENTAGE_VALUE = 42;
2921
+ CircuitScriptParser.ALPHA_NUMERIC = 43;
2922
+ CircuitScriptParser.WS = 44;
2923
+ CircuitScriptParser.NEWLINE = 45;
2924
+ CircuitScriptParser.COMMENT = 46;
2925
+ CircuitScriptParser.INDENT = 47;
2926
+ CircuitScriptParser.DEDENT = 48;
2927
+ CircuitScriptParser.EOF = antlr4_1.Token.EOF;
2928
+ CircuitScriptParser.RULE_script = 0;
2929
+ CircuitScriptParser.RULE_expression = 1;
2930
+ CircuitScriptParser.RULE_path_blocks = 2;
2931
+ CircuitScriptParser.RULE_path_block_inner = 3;
2932
+ CircuitScriptParser.RULE_property_set_expr2 = 4;
2933
+ CircuitScriptParser.RULE_assignment_expr2 = 5;
2934
+ CircuitScriptParser.RULE_data_expr_with_assignment = 6;
2935
+ CircuitScriptParser.RULE_add_component_expr = 7;
2936
+ CircuitScriptParser.RULE_component_select_expr = 8;
2937
+ CircuitScriptParser.RULE_pin_select_expr = 9;
2938
+ CircuitScriptParser.RULE_pin_select_expr2 = 10;
2939
+ CircuitScriptParser.RULE_at_component_expr = 11;
2940
+ CircuitScriptParser.RULE_to_component_expr = 12;
2941
+ CircuitScriptParser.RULE_at_to_multiple_expr = 13;
2942
+ CircuitScriptParser.RULE_at_to_multiple_line_expr = 14;
2943
+ CircuitScriptParser.RULE_at_to_multiple_line_expr_to_pin = 15;
2944
+ CircuitScriptParser.RULE_at_block = 16;
2945
+ CircuitScriptParser.RULE_at_block_expressions = 17;
2946
+ CircuitScriptParser.RULE_at_block_pin_expr = 18;
2947
+ CircuitScriptParser.RULE_at_block_pin_expression_simple = 19;
2948
+ CircuitScriptParser.RULE_at_block_pin_expression_complex = 20;
2949
+ CircuitScriptParser.RULE_break_keyword = 21;
2950
+ CircuitScriptParser.RULE_assignment_expr = 22;
2951
+ CircuitScriptParser.RULE_keyword_assignment_expr = 23;
2952
+ CircuitScriptParser.RULE_parameters = 24;
2953
+ CircuitScriptParser.RULE_property_set_expr = 25;
2954
+ CircuitScriptParser.RULE_double_dot_property_set_expr = 26;
2955
+ CircuitScriptParser.RULE_data_expr = 27;
2956
+ CircuitScriptParser.RULE_binary_operator = 28;
2957
+ CircuitScriptParser.RULE_unary_operator = 29;
2958
+ CircuitScriptParser.RULE_value_expr = 30;
2959
+ CircuitScriptParser.RULE_function_def_expr = 31;
2960
+ CircuitScriptParser.RULE_function_expr = 32;
2961
+ CircuitScriptParser.RULE_function_args_expr = 33;
2962
+ CircuitScriptParser.RULE_atom_expr = 34;
2963
+ CircuitScriptParser.RULE_trailer_expr = 35;
2964
+ CircuitScriptParser.RULE_net_namespace_expr = 36;
2965
+ CircuitScriptParser.RULE_function_return_expr = 37;
2966
+ CircuitScriptParser.RULE_create_component_expr = 38;
2967
+ CircuitScriptParser.RULE_create_graphic_expr = 39;
2968
+ CircuitScriptParser.RULE_sub_expr = 40;
2969
+ CircuitScriptParser.RULE_property_expr = 41;
2970
+ CircuitScriptParser.RULE_property_key_expr = 42;
2971
+ CircuitScriptParser.RULE_property_value_expr = 43;
2972
+ CircuitScriptParser.RULE_blank_expr = 44;
2973
+ CircuitScriptParser.RULE_wire_expr = 45;
2974
+ CircuitScriptParser.RULE_point_expr = 46;
2975
+ CircuitScriptParser.RULE_import_expr = 47;
2976
+ CircuitScriptParser.RULE_frame_expr = 48;
2977
+ CircuitScriptParser.literalNames = [null, "':'",
2978
+ "','", "'='",
2979
+ "'..'", "'.'",
2980
+ "'['", "']'",
2981
+ "'break'", "'branch'",
2982
+ "'create'",
2983
+ "'component'",
2984
+ "'graphic'",
2985
+ "'wire'", "'pin'",
2986
+ "'add'", "'at'",
2987
+ "'to'", "'point'",
2988
+ "'join'", "'parallel'",
2989
+ "'return'",
2990
+ "'def'", "'import'",
2991
+ "'if'", "'!'",
2992
+ "'frame'", "'=='",
2993
+ "'!='", "'+'",
2994
+ "'-'", "'/'",
2995
+ "'*'", "'('",
2996
+ "')'"];
2997
+ CircuitScriptParser.symbolicNames = [null, null,
2998
+ null, null,
2999
+ null, null,
3000
+ null, null,
3001
+ "Break", "Branch",
3002
+ "Create", "Component",
3003
+ "Graphic",
3004
+ "Wire", "Pin",
3005
+ "Add", "At",
3006
+ "To", "Point",
3007
+ "Join", "Parallel",
3008
+ "Return", "Define",
3009
+ "Import", "If",
3010
+ "Not", "Frame",
3011
+ "Equals", "NotEquals",
3012
+ "Addition",
3013
+ "Minus", "Divide",
3014
+ "Multiply",
3015
+ "OPEN_PAREN",
3016
+ "CLOSE_PAREN",
3017
+ "NOT_CONNECTED",
3018
+ "BOOLEAN_VALUE",
3019
+ "ID", "INTEGER_VALUE",
3020
+ "DECIMAL_VALUE",
3021
+ "NUMERIC_VALUE",
3022
+ "STRING_VALUE",
3023
+ "PERCENTAGE_VALUE",
3024
+ "ALPHA_NUMERIC",
3025
+ "WS", "NEWLINE",
3026
+ "COMMENT",
3027
+ "INDENT", "DEDENT"];
3028
+ CircuitScriptParser.ruleNames = [
3029
+ "script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
3030
+ "assignment_expr2", "data_expr_with_assignment", "add_component_expr",
3031
+ "component_select_expr", "pin_select_expr", "pin_select_expr2", "at_component_expr",
3032
+ "to_component_expr", "at_to_multiple_expr", "at_to_multiple_line_expr",
3033
+ "at_to_multiple_line_expr_to_pin", "at_block", "at_block_expressions",
3034
+ "at_block_pin_expr", "at_block_pin_expression_simple", "at_block_pin_expression_complex",
3035
+ "break_keyword", "assignment_expr", "keyword_assignment_expr", "parameters",
3036
+ "property_set_expr", "double_dot_property_set_expr", "data_expr", "binary_operator",
3037
+ "unary_operator", "value_expr", "function_def_expr", "function_expr",
3038
+ "function_args_expr", "atom_expr", "trailer_expr", "net_namespace_expr",
3039
+ "function_return_expr", "create_component_expr", "create_graphic_expr",
3040
+ "sub_expr", "property_expr", "property_key_expr", "property_value_expr",
3041
+ "blank_expr", "wire_expr", "point_expr", "import_expr", "frame_expr",
3042
+ ];
3043
+ CircuitScriptParser._serializedATN = [4, 1, 48, 530, 2, 0, 7, 0, 2,
3044
+ 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,
3045
+ 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,
3046
+ 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,
3047
+ 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31,
3048
+ 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2,
3049
+ 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46,
3050
+ 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 1, 0, 1, 0, 4, 0, 101, 8, 0, 11, 0, 12, 0, 102, 1, 0, 1, 0, 1, 1,
3051
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 123, 8, 1,
3052
+ 1, 2, 4, 2, 126, 8, 2, 11, 2, 12, 2, 127, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 4, 3, 136, 8, 3, 11, 3,
3053
+ 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,
3054
+ 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,
3055
+ 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,
3056
+ 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,
3057
+ 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,
3058
+ 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,
3059
+ 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,
3060
+ 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,
3061
+ 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,
3062
+ 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,
3063
+ 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,
3064
+ 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,
3065
+ 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,
3066
+ 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,
3067
+ 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 323, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 330,
3068
+ 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, 10,
3069
+ 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, 30,
3070
+ 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, 1, 31,
3071
+ 4, 31, 370, 8, 31, 11, 31, 12, 31, 371, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 378, 8, 32, 1, 33, 1,
3072
+ 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, 392,
3073
+ 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, 8,
3074
+ 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, 34,
3075
+ 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, 3,
3076
+ 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, 1,
3077
+ 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, 38,
3078
+ 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, 1,
3079
+ 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, 41,
3080
+ 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, 1,
3081
+ 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, 44,
3082
+ 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, 1,
3083
+ 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, 525,
3084
+ 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, 32,
3085
+ 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80,
3086
+ 82, 84, 86, 88, 90, 92, 94, 96, 0, 11, 2, 0, 9, 9, 18, 20, 1, 0, 37, 38, 2, 0, 38, 38, 41, 41, 2,
3087
+ 0, 35, 35, 38, 38, 1, 0, 31, 32, 1, 0, 29, 30, 1, 0, 27, 28, 2, 0, 25, 25, 30, 30, 2, 0, 36, 36, 38,
3088
+ 42, 2, 0, 14, 14, 37, 37, 2, 0, 37, 38, 41, 41, 562, 0, 100, 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 4, 125,
3089
+ 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, 0, 14, 164,
3090
+ 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, 0, 0, 0, 24,
3091
+ 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, 1, 0, 0, 0,
3092
+ 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, 271, 1, 0,
3093
+ 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, 52, 310,
3094
+ 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, 0, 0, 62,
3095
+ 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, 1, 0, 0, 0,
3096
+ 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, 465, 1, 0,
3097
+ 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, 90, 503,
3098
+ 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, 1, 0, 99,
3099
+ 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, 1, 0,
3100
+ 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, 123,
3101
+ 3, 14, 7, 0, 107, 123, 3, 24, 12, 0, 108, 123, 3, 22, 11, 0, 109, 123, 3, 44, 22, 0, 110, 123,
3102
+ 3, 50, 25, 0, 111, 123, 3, 8, 4, 0, 112, 123, 3, 52, 26, 0, 113, 123, 3, 42, 21, 0, 114, 123, 3,
3103
+ 62, 31, 0, 115, 123, 3, 90, 45, 0, 116, 123, 3, 94, 47, 0, 117, 123, 3, 96, 48, 0, 118, 123, 3,
3104
+ 68, 34, 0, 119, 123, 3, 32, 16, 0, 120, 123, 3, 4, 2, 0, 121, 123, 3, 92, 46, 0, 122, 106, 1, 0,
3105
+ 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,
3106
+ 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,
3107
+ 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,
3108
+ 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,
3109
+ 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,
3110
+ 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,
3111
+ 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,
3112
+ 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,
3113
+ 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,
3114
+ 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,
3115
+ 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,
3116
+ 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,
3117
+ 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,
3118
+ 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,
3119
+ 13, 1, 0, 0, 0, 164, 165, 5, 15, 0, 0, 165, 167, 3, 12, 6, 0, 166, 168, 5, 37, 0, 0, 167, 166, 1,
3120
+ 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,
3121
+ 171, 169, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 17, 1, 0, 0, 0, 173, 174, 5, 14, 0, 0, 174, 175,
3122
+ 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, 16, 0, 0,
3123
+ 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,
3124
+ 1, 0, 0, 0, 183, 185, 5, 18, 0, 0, 184, 179, 1, 0, 0, 0, 184, 183, 1, 0, 0, 0, 185, 23, 1, 0, 0, 0,
3125
+ 186, 199, 5, 17, 0, 0, 187, 192, 3, 16, 8, 0, 188, 189, 5, 2, 0, 0, 189, 191, 3, 16, 8, 0, 190,
3126
+ 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,
3127
+ 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,
3128
+ 200, 1, 0, 0, 0, 198, 200, 5, 18, 0, 0, 199, 187, 1, 0, 0, 0, 199, 198, 1, 0, 0, 0, 200, 25, 1, 0,
3129
+ 0, 0, 201, 202, 5, 16, 0, 0, 202, 203, 3, 16, 8, 0, 203, 204, 5, 17, 0, 0, 204, 209, 3, 16, 8, 0,
3130
+ 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,
3131
+ 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,
3132
+ 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,
3133
+ 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,
3134
+ 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,
3135
+ 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,
3136
+ 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,
3137
+ 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,
3138
+ 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,
3139
+ 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,
3140
+ 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,
3141
+ 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,
3142
+ 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,
3143
+ 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,
3144
+ 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,
3145
+ 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,
3146
+ 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,
3147
+ 5, 48, 0, 0, 270, 41, 1, 0, 0, 0, 271, 272, 5, 8, 0, 0, 272, 43, 1, 0, 0, 0, 273, 274, 3, 68, 34,
3148
+ 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,
3149
+ 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,
3150
+ 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,
3151
+ 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,
3152
+ 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,
3153
+ 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,
3154
+ 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,
3155
+ 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,
3156
+ 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,
3157
+ 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,
3158
+ 0, 314, 53, 1, 0, 0, 0, 315, 316, 6, 27, -1, 0, 316, 317, 5, 33, 0, 0, 317, 318, 3, 54, 27, 0, 318,
3159
+ 319, 5, 34, 0, 0, 319, 330, 1, 0, 0, 0, 320, 323, 3, 60, 30, 0, 321, 323, 3, 68, 34, 0, 322, 320,
3160
+ 1, 0, 0, 0, 322, 321, 1, 0, 0, 0, 323, 330, 1, 0, 0, 0, 324, 325, 3, 58, 29, 0, 325, 326, 3, 54,
3161
+ 27, 6, 326, 330, 1, 0, 0, 0, 327, 330, 3, 76, 38, 0, 328, 330, 3, 78, 39, 0, 329, 315, 1, 0, 0,
3162
+ 0, 329, 322, 1, 0, 0, 0, 329, 324, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 328, 1, 0, 0, 0, 330, 343,
3163
+ 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,
3164
+ 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,
3165
+ 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,
3166
+ 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,
3167
+ 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,
3168
+ 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,
3169
+ 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,
3170
+ 61, 1, 0, 0, 0, 357, 358, 5, 22, 0, 0, 358, 359, 5, 37, 0, 0, 359, 361, 5, 33, 0, 0, 360, 362, 3,
3171
+ 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,
3172
+ 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,
3173
+ 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,
3174
+ 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,
3175
+ 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,
3176
+ 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,
3177
+ 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,
3178
+ 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,
3179
+ 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,
3180
+ 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,
3181
+ 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,
3182
+ 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,
3183
+ 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,
3184
+ 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,
3185
+ 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,
3186
+ 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,
3187
+ 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,
3188
+ 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,
3189
+ 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,
3190
+ 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,
3191
+ 435, 73, 1, 0, 0, 0, 436, 437, 5, 21, 0, 0, 437, 438, 3, 54, 27, 0, 438, 75, 1, 0, 0, 0, 439, 440,
3192
+ 5, 10, 0, 0, 440, 441, 5, 11, 0, 0, 441, 442, 5, 1, 0, 0, 442, 443, 5, 45, 0, 0, 443, 446, 5, 47,
3193
+ 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,
3194
+ 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,
3195
+ 5, 48, 0, 0, 451, 77, 1, 0, 0, 0, 452, 453, 5, 10, 0, 0, 453, 454, 5, 12, 0, 0, 454, 455, 5, 1, 0,
3196
+ 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,
3197
+ 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,
3198
+ 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,
3199
+ 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,
3200
+ 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,
3201
+ 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,
3202
+ 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,
3203
+ 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,
3204
+ 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,
3205
+ 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,
3206
+ 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,
3207
+ 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,
3208
+ 5, 38, 0, 0, 501, 502, 5, 7, 0, 0, 502, 89, 1, 0, 0, 0, 503, 504, 5, 13, 0, 0, 504, 508, 5, 37, 0,
3209
+ 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,
3210
+ 1, 0, 0, 0, 509, 91, 1, 0, 0, 0, 510, 508, 1, 0, 0, 0, 511, 512, 5, 18, 0, 0, 512, 513, 5, 37, 0,
3211
+ 0, 513, 93, 1, 0, 0, 0, 514, 515, 5, 23, 0, 0, 515, 516, 5, 37, 0, 0, 516, 95, 1, 0, 0, 0, 517, 518,
3212
+ 5, 26, 0, 0, 518, 519, 5, 1, 0, 0, 519, 520, 5, 45, 0, 0, 520, 523, 5, 47, 0, 0, 521, 524, 5, 45,
3213
+ 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,
3214
+ 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,
3215
+ 0, 0, 64, 100, 102, 122, 127, 135, 137, 147, 149, 159, 162, 167, 171, 181, 184, 192, 196,
3216
+ 199, 209, 217, 219, 230, 241, 243, 249, 255, 259, 265, 267, 286, 293, 301, 304, 322, 329,
3217
+ 341, 343, 351, 355, 361, 369, 371, 377, 384, 393, 405, 408, 411, 417, 422, 427, 430, 434,
3218
+ 446, 448, 459, 461, 472, 484, 486, 494, 497, 508, 523, 525];
3219
+ CircuitScriptParser.DecisionsToDFA = CircuitScriptParser._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
3220
+ exports.default = CircuitScriptParser;
3221
+ class ScriptContext extends antlr4_1.ParserRuleContext {
3222
+ constructor(parser, parent, invokingState) {
3223
+ super(parent, invokingState);
3224
+ this.parser = parser;
3225
+ }
3226
+ EOF() {
3227
+ return this.getToken(CircuitScriptParser.EOF, 0);
3228
+ }
3229
+ expression_list() {
3230
+ return this.getTypedRuleContexts(ExpressionContext);
3231
+ }
3232
+ expression(i) {
3233
+ return this.getTypedRuleContext(ExpressionContext, i);
3234
+ }
3235
+ NEWLINE_list() {
3236
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3237
+ }
3238
+ NEWLINE(i) {
3239
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3240
+ }
3241
+ get ruleIndex() {
3242
+ return CircuitScriptParser.RULE_script;
3243
+ }
3244
+ accept(visitor) {
3245
+ if (visitor.visitScript) {
3246
+ return visitor.visitScript(this);
3247
+ }
3248
+ else {
3249
+ return visitor.visitChildren(this);
3250
+ }
3251
+ }
3252
+ }
3253
+ exports.ScriptContext = ScriptContext;
3254
+ class ExpressionContext extends antlr4_1.ParserRuleContext {
3255
+ constructor(parser, parent, invokingState) {
3256
+ super(parent, invokingState);
3257
+ this.parser = parser;
3258
+ }
3259
+ add_component_expr() {
3260
+ return this.getTypedRuleContext(Add_component_exprContext, 0);
3261
+ }
3262
+ to_component_expr() {
3263
+ return this.getTypedRuleContext(To_component_exprContext, 0);
3264
+ }
3265
+ at_component_expr() {
3266
+ return this.getTypedRuleContext(At_component_exprContext, 0);
3267
+ }
3268
+ assignment_expr() {
3269
+ return this.getTypedRuleContext(Assignment_exprContext, 0);
3270
+ }
3271
+ property_set_expr() {
3272
+ return this.getTypedRuleContext(Property_set_exprContext, 0);
3273
+ }
3274
+ property_set_expr2() {
3275
+ return this.getTypedRuleContext(Property_set_expr2Context, 0);
3276
+ }
3277
+ double_dot_property_set_expr() {
3278
+ return this.getTypedRuleContext(Double_dot_property_set_exprContext, 0);
3279
+ }
3280
+ break_keyword() {
3281
+ return this.getTypedRuleContext(Break_keywordContext, 0);
3282
+ }
3283
+ function_def_expr() {
3284
+ return this.getTypedRuleContext(Function_def_exprContext, 0);
3285
+ }
3286
+ wire_expr() {
3287
+ return this.getTypedRuleContext(Wire_exprContext, 0);
3288
+ }
3289
+ import_expr() {
3290
+ return this.getTypedRuleContext(Import_exprContext, 0);
3291
+ }
3292
+ frame_expr() {
3293
+ return this.getTypedRuleContext(Frame_exprContext, 0);
3294
+ }
3295
+ atom_expr() {
3296
+ return this.getTypedRuleContext(Atom_exprContext, 0);
3297
+ }
3298
+ at_block() {
3299
+ return this.getTypedRuleContext(At_blockContext, 0);
3300
+ }
3301
+ path_blocks() {
3302
+ return this.getTypedRuleContext(Path_blocksContext, 0);
3303
+ }
3304
+ point_expr() {
3305
+ return this.getTypedRuleContext(Point_exprContext, 0);
3306
+ }
3307
+ get ruleIndex() {
3308
+ return CircuitScriptParser.RULE_expression;
3309
+ }
3310
+ accept(visitor) {
3311
+ if (visitor.visitExpression) {
3312
+ return visitor.visitExpression(this);
3313
+ }
3314
+ else {
3315
+ return visitor.visitChildren(this);
3316
+ }
3317
+ }
3318
+ }
3319
+ exports.ExpressionContext = ExpressionContext;
3320
+ class Path_blocksContext extends antlr4_1.ParserRuleContext {
3321
+ constructor(parser, parent, invokingState) {
3322
+ super(parent, invokingState);
3323
+ this.parser = parser;
3324
+ }
3325
+ path_block_inner_list() {
3326
+ return this.getTypedRuleContexts(Path_block_innerContext);
3327
+ }
3328
+ path_block_inner(i) {
3329
+ return this.getTypedRuleContext(Path_block_innerContext, i);
3330
+ }
3331
+ get ruleIndex() {
3332
+ return CircuitScriptParser.RULE_path_blocks;
3333
+ }
3334
+ accept(visitor) {
3335
+ if (visitor.visitPath_blocks) {
3336
+ return visitor.visitPath_blocks(this);
3337
+ }
3338
+ else {
3339
+ return visitor.visitChildren(this);
3340
+ }
3341
+ }
3342
+ }
3343
+ exports.Path_blocksContext = Path_blocksContext;
3344
+ class Path_block_innerContext extends antlr4_1.ParserRuleContext {
3345
+ constructor(parser, parent, invokingState) {
3346
+ super(parent, invokingState);
3347
+ this.parser = parser;
3348
+ }
3349
+ NEWLINE_list() {
3350
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3351
+ }
3352
+ NEWLINE(i) {
3353
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3354
+ }
3355
+ INDENT() {
3356
+ return this.getToken(CircuitScriptParser.INDENT, 0);
3357
+ }
3358
+ DEDENT() {
3359
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
3360
+ }
3361
+ Branch() {
3362
+ return this.getToken(CircuitScriptParser.Branch, 0);
3363
+ }
3364
+ Join() {
3365
+ return this.getToken(CircuitScriptParser.Join, 0);
3366
+ }
3367
+ Parallel() {
3368
+ return this.getToken(CircuitScriptParser.Parallel, 0);
3369
+ }
3370
+ Point() {
3371
+ return this.getToken(CircuitScriptParser.Point, 0);
3372
+ }
3373
+ expression_list() {
3374
+ return this.getTypedRuleContexts(ExpressionContext);
3375
+ }
3376
+ expression(i) {
3377
+ return this.getTypedRuleContext(ExpressionContext, i);
3378
+ }
3379
+ get ruleIndex() {
3380
+ return CircuitScriptParser.RULE_path_block_inner;
3381
+ }
3382
+ accept(visitor) {
3383
+ if (visitor.visitPath_block_inner) {
3384
+ return visitor.visitPath_block_inner(this);
3385
+ }
3386
+ else {
3387
+ return visitor.visitChildren(this);
3388
+ }
3389
+ }
3390
+ }
3391
+ exports.Path_block_innerContext = Path_block_innerContext;
3392
+ class Property_set_expr2Context extends antlr4_1.ParserRuleContext {
3393
+ constructor(parser, parent, invokingState) {
3394
+ super(parent, invokingState);
3395
+ this.parser = parser;
3396
+ }
3397
+ atom_expr() {
3398
+ return this.getTypedRuleContext(Atom_exprContext, 0);
3399
+ }
3400
+ NEWLINE_list() {
3401
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3402
+ }
3403
+ NEWLINE(i) {
3404
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3405
+ }
3406
+ INDENT() {
3407
+ return this.getToken(CircuitScriptParser.INDENT, 0);
3408
+ }
3409
+ DEDENT() {
3410
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
3411
+ }
3412
+ assignment_expr2_list() {
3413
+ return this.getTypedRuleContexts(Assignment_expr2Context);
3414
+ }
3415
+ assignment_expr2(i) {
3416
+ return this.getTypedRuleContext(Assignment_expr2Context, i);
3417
+ }
3418
+ get ruleIndex() {
3419
+ return CircuitScriptParser.RULE_property_set_expr2;
3420
+ }
3421
+ accept(visitor) {
3422
+ if (visitor.visitProperty_set_expr2) {
3423
+ return visitor.visitProperty_set_expr2(this);
3424
+ }
3425
+ else {
3426
+ return visitor.visitChildren(this);
3427
+ }
3428
+ }
3429
+ }
3430
+ exports.Property_set_expr2Context = Property_set_expr2Context;
3431
+ class Assignment_expr2Context extends antlr4_1.ParserRuleContext {
3432
+ constructor(parser, parent, invokingState) {
3433
+ super(parent, invokingState);
3434
+ this.parser = parser;
3435
+ }
3436
+ value_expr() {
3437
+ return this.getTypedRuleContext(Value_exprContext, 0);
3438
+ }
3439
+ ID() {
3440
+ return this.getToken(CircuitScriptParser.ID, 0);
3441
+ }
3442
+ INTEGER_VALUE() {
3443
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
3444
+ }
3445
+ get ruleIndex() {
3446
+ return CircuitScriptParser.RULE_assignment_expr2;
3447
+ }
3448
+ accept(visitor) {
3449
+ if (visitor.visitAssignment_expr2) {
3450
+ return visitor.visitAssignment_expr2(this);
3451
+ }
3452
+ else {
3453
+ return visitor.visitChildren(this);
3454
+ }
3455
+ }
3456
+ }
3457
+ exports.Assignment_expr2Context = Assignment_expr2Context;
3458
+ class Data_expr_with_assignmentContext extends antlr4_1.ParserRuleContext {
3459
+ constructor(parser, parent, invokingState) {
3460
+ super(parent, invokingState);
3461
+ this.parser = parser;
3462
+ }
3463
+ data_expr() {
3464
+ return this.getTypedRuleContext(Data_exprContext, 0);
3465
+ }
3466
+ assignment_expr() {
3467
+ return this.getTypedRuleContext(Assignment_exprContext, 0);
3468
+ }
3469
+ pin_select_expr() {
3470
+ return this.getTypedRuleContext(Pin_select_exprContext, 0);
3471
+ }
3472
+ get ruleIndex() {
3473
+ return CircuitScriptParser.RULE_data_expr_with_assignment;
3474
+ }
3475
+ accept(visitor) {
3476
+ if (visitor.visitData_expr_with_assignment) {
3477
+ return visitor.visitData_expr_with_assignment(this);
3478
+ }
3479
+ else {
3480
+ return visitor.visitChildren(this);
3481
+ }
3482
+ }
3483
+ }
3484
+ exports.Data_expr_with_assignmentContext = Data_expr_with_assignmentContext;
3485
+ class Add_component_exprContext extends antlr4_1.ParserRuleContext {
3486
+ constructor(parser, parent, invokingState) {
3487
+ super(parent, invokingState);
3488
+ this.parser = parser;
3489
+ }
3490
+ Add() {
3491
+ return this.getToken(CircuitScriptParser.Add, 0);
3492
+ }
3493
+ data_expr_with_assignment() {
3494
+ return this.getTypedRuleContext(Data_expr_with_assignmentContext, 0);
3495
+ }
3496
+ ID() {
3497
+ return this.getToken(CircuitScriptParser.ID, 0);
3498
+ }
3499
+ get ruleIndex() {
3500
+ return CircuitScriptParser.RULE_add_component_expr;
3501
+ }
3502
+ accept(visitor) {
3503
+ if (visitor.visitAdd_component_expr) {
3504
+ return visitor.visitAdd_component_expr(this);
3505
+ }
3506
+ else {
3507
+ return visitor.visitChildren(this);
3508
+ }
3509
+ }
3510
+ }
3511
+ exports.Add_component_exprContext = Add_component_exprContext;
3512
+ class Component_select_exprContext extends antlr4_1.ParserRuleContext {
3513
+ constructor(parser, parent, invokingState) {
3514
+ super(parent, invokingState);
3515
+ this.parser = parser;
3516
+ }
3517
+ data_expr_with_assignment() {
3518
+ return this.getTypedRuleContext(Data_expr_with_assignmentContext, 0);
3519
+ }
3520
+ pin_select_expr() {
3521
+ return this.getTypedRuleContext(Pin_select_exprContext, 0);
3522
+ }
3523
+ get ruleIndex() {
3524
+ return CircuitScriptParser.RULE_component_select_expr;
3525
+ }
3526
+ accept(visitor) {
3527
+ if (visitor.visitComponent_select_expr) {
3528
+ return visitor.visitComponent_select_expr(this);
3529
+ }
3530
+ else {
3531
+ return visitor.visitChildren(this);
3532
+ }
3533
+ }
3534
+ }
3535
+ exports.Component_select_exprContext = Component_select_exprContext;
3536
+ class Pin_select_exprContext extends antlr4_1.ParserRuleContext {
3537
+ constructor(parser, parent, invokingState) {
3538
+ super(parent, invokingState);
3539
+ this.parser = parser;
3540
+ }
3541
+ Pin() {
3542
+ return this.getToken(CircuitScriptParser.Pin, 0);
3543
+ }
3544
+ INTEGER_VALUE() {
3545
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
3546
+ }
3547
+ STRING_VALUE() {
3548
+ return this.getToken(CircuitScriptParser.STRING_VALUE, 0);
3549
+ }
3550
+ get ruleIndex() {
3551
+ return CircuitScriptParser.RULE_pin_select_expr;
3552
+ }
3553
+ accept(visitor) {
3554
+ if (visitor.visitPin_select_expr) {
3555
+ return visitor.visitPin_select_expr(this);
3556
+ }
3557
+ else {
3558
+ return visitor.visitChildren(this);
3559
+ }
3560
+ }
3561
+ }
3562
+ exports.Pin_select_exprContext = Pin_select_exprContext;
3563
+ class Pin_select_expr2Context extends antlr4_1.ParserRuleContext {
3564
+ constructor(parser, parent, invokingState) {
3565
+ super(parent, invokingState);
3566
+ this.parser = parser;
3567
+ }
3568
+ INTEGER_VALUE() {
3569
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
3570
+ }
3571
+ STRING_VALUE() {
3572
+ return this.getToken(CircuitScriptParser.STRING_VALUE, 0);
3573
+ }
3574
+ get ruleIndex() {
3575
+ return CircuitScriptParser.RULE_pin_select_expr2;
3576
+ }
3577
+ accept(visitor) {
3578
+ if (visitor.visitPin_select_expr2) {
3579
+ return visitor.visitPin_select_expr2(this);
3580
+ }
3581
+ else {
3582
+ return visitor.visitChildren(this);
3583
+ }
3584
+ }
3585
+ }
3586
+ exports.Pin_select_expr2Context = Pin_select_expr2Context;
3587
+ class At_component_exprContext extends antlr4_1.ParserRuleContext {
3588
+ constructor(parser, parent, invokingState) {
3589
+ super(parent, invokingState);
3590
+ this.parser = parser;
3591
+ }
3592
+ At() {
3593
+ return this.getToken(CircuitScriptParser.At, 0);
3594
+ }
3595
+ Point() {
3596
+ return this.getToken(CircuitScriptParser.Point, 0);
3597
+ }
3598
+ component_select_expr() {
3599
+ return this.getTypedRuleContext(Component_select_exprContext, 0);
3600
+ }
3601
+ ID() {
3602
+ return this.getToken(CircuitScriptParser.ID, 0);
3603
+ }
3604
+ get ruleIndex() {
3605
+ return CircuitScriptParser.RULE_at_component_expr;
3606
+ }
3607
+ accept(visitor) {
3608
+ if (visitor.visitAt_component_expr) {
3609
+ return visitor.visitAt_component_expr(this);
3610
+ }
3611
+ else {
3612
+ return visitor.visitChildren(this);
3613
+ }
3614
+ }
3615
+ }
3616
+ exports.At_component_exprContext = At_component_exprContext;
3617
+ class To_component_exprContext extends antlr4_1.ParserRuleContext {
3618
+ constructor(parser, parent, invokingState) {
3619
+ super(parent, invokingState);
3620
+ this.parser = parser;
3621
+ }
3622
+ To() {
3623
+ return this.getToken(CircuitScriptParser.To, 0);
3624
+ }
3625
+ Point() {
3626
+ return this.getToken(CircuitScriptParser.Point, 0);
3627
+ }
3628
+ component_select_expr_list() {
3629
+ return this.getTypedRuleContexts(Component_select_exprContext);
3630
+ }
3631
+ component_select_expr(i) {
3632
+ return this.getTypedRuleContext(Component_select_exprContext, i);
3633
+ }
3634
+ ID() {
3635
+ return this.getToken(CircuitScriptParser.ID, 0);
3636
+ }
3637
+ get ruleIndex() {
3638
+ return CircuitScriptParser.RULE_to_component_expr;
3639
+ }
3640
+ accept(visitor) {
3641
+ if (visitor.visitTo_component_expr) {
3642
+ return visitor.visitTo_component_expr(this);
3643
+ }
3644
+ else {
3645
+ return visitor.visitChildren(this);
3646
+ }
3647
+ }
3648
+ }
3649
+ exports.To_component_exprContext = To_component_exprContext;
3650
+ class At_to_multiple_exprContext extends antlr4_1.ParserRuleContext {
3651
+ constructor(parser, parent, invokingState) {
3652
+ super(parent, invokingState);
3653
+ this.parser = parser;
3654
+ }
3655
+ At() {
3656
+ return this.getToken(CircuitScriptParser.At, 0);
3657
+ }
3658
+ component_select_expr_list() {
3659
+ return this.getTypedRuleContexts(Component_select_exprContext);
3660
+ }
3661
+ component_select_expr(i) {
3662
+ return this.getTypedRuleContext(Component_select_exprContext, i);
3663
+ }
3664
+ To() {
3665
+ return this.getToken(CircuitScriptParser.To, 0);
3666
+ }
3667
+ NEWLINE_list() {
3668
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3669
+ }
3670
+ NEWLINE(i) {
3671
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3672
+ }
3673
+ INDENT() {
3674
+ return this.getToken(CircuitScriptParser.INDENT, 0);
3675
+ }
3676
+ DEDENT() {
3677
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
3678
+ }
3679
+ at_to_multiple_line_expr_list() {
3680
+ return this.getTypedRuleContexts(At_to_multiple_line_exprContext);
3681
+ }
3682
+ at_to_multiple_line_expr(i) {
3683
+ return this.getTypedRuleContext(At_to_multiple_line_exprContext, i);
3684
+ }
3685
+ get ruleIndex() {
3686
+ return CircuitScriptParser.RULE_at_to_multiple_expr;
3687
+ }
3688
+ accept(visitor) {
3689
+ if (visitor.visitAt_to_multiple_expr) {
3690
+ return visitor.visitAt_to_multiple_expr(this);
3691
+ }
3692
+ else {
3693
+ return visitor.visitChildren(this);
3694
+ }
3695
+ }
3696
+ }
3697
+ exports.At_to_multiple_exprContext = At_to_multiple_exprContext;
3698
+ class At_to_multiple_line_exprContext extends antlr4_1.ParserRuleContext {
3699
+ constructor(parser, parent, invokingState) {
3700
+ super(parent, invokingState);
3701
+ this.parser = parser;
3702
+ }
3703
+ pin_select_expr2() {
3704
+ return this.getTypedRuleContext(Pin_select_expr2Context, 0);
3705
+ }
3706
+ at_to_multiple_line_expr_to_pin_list() {
3707
+ return this.getTypedRuleContexts(At_to_multiple_line_expr_to_pinContext);
3708
+ }
3709
+ at_to_multiple_line_expr_to_pin(i) {
3710
+ return this.getTypedRuleContext(At_to_multiple_line_expr_to_pinContext, i);
3711
+ }
3712
+ get ruleIndex() {
3713
+ return CircuitScriptParser.RULE_at_to_multiple_line_expr;
3714
+ }
3715
+ accept(visitor) {
3716
+ if (visitor.visitAt_to_multiple_line_expr) {
3717
+ return visitor.visitAt_to_multiple_line_expr(this);
3718
+ }
3719
+ else {
3720
+ return visitor.visitChildren(this);
3721
+ }
3722
+ }
3723
+ }
3724
+ exports.At_to_multiple_line_exprContext = At_to_multiple_line_exprContext;
3725
+ class At_to_multiple_line_expr_to_pinContext extends antlr4_1.ParserRuleContext {
3726
+ constructor(parser, parent, invokingState) {
3727
+ super(parent, invokingState);
3728
+ this.parser = parser;
3729
+ }
3730
+ INTEGER_VALUE() {
3731
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
3732
+ }
3733
+ NOT_CONNECTED() {
3734
+ return this.getToken(CircuitScriptParser.NOT_CONNECTED, 0);
3735
+ }
3736
+ get ruleIndex() {
3737
+ return CircuitScriptParser.RULE_at_to_multiple_line_expr_to_pin;
3738
+ }
3739
+ accept(visitor) {
3740
+ if (visitor.visitAt_to_multiple_line_expr_to_pin) {
3741
+ return visitor.visitAt_to_multiple_line_expr_to_pin(this);
3742
+ }
3743
+ else {
3744
+ return visitor.visitChildren(this);
3745
+ }
3746
+ }
3747
+ }
3748
+ exports.At_to_multiple_line_expr_to_pinContext = At_to_multiple_line_expr_to_pinContext;
3749
+ class At_blockContext extends antlr4_1.ParserRuleContext {
3750
+ constructor(parser, parent, invokingState) {
3751
+ super(parent, invokingState);
3752
+ this.parser = parser;
3753
+ }
3754
+ at_component_expr() {
3755
+ return this.getTypedRuleContext(At_component_exprContext, 0);
3756
+ }
3757
+ NEWLINE_list() {
3758
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3759
+ }
3760
+ NEWLINE(i) {
3761
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3762
+ }
3763
+ INDENT() {
3764
+ return this.getToken(CircuitScriptParser.INDENT, 0);
3765
+ }
3766
+ DEDENT() {
3767
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
3768
+ }
3769
+ at_block_expressions_list() {
3770
+ return this.getTypedRuleContexts(At_block_expressionsContext);
3771
+ }
3772
+ at_block_expressions(i) {
3773
+ return this.getTypedRuleContext(At_block_expressionsContext, i);
3774
+ }
3775
+ get ruleIndex() {
3776
+ return CircuitScriptParser.RULE_at_block;
3777
+ }
3778
+ accept(visitor) {
3779
+ if (visitor.visitAt_block) {
3780
+ return visitor.visitAt_block(this);
3781
+ }
3782
+ else {
3783
+ return visitor.visitChildren(this);
3784
+ }
3785
+ }
3786
+ }
3787
+ exports.At_blockContext = At_blockContext;
3788
+ class At_block_expressionsContext extends antlr4_1.ParserRuleContext {
3789
+ constructor(parser, parent, invokingState) {
3790
+ super(parent, invokingState);
3791
+ this.parser = parser;
3792
+ }
3793
+ expression() {
3794
+ return this.getTypedRuleContext(ExpressionContext, 0);
3795
+ }
3796
+ at_block_pin_expr() {
3797
+ return this.getTypedRuleContext(At_block_pin_exprContext, 0);
3798
+ }
3799
+ get ruleIndex() {
3800
+ return CircuitScriptParser.RULE_at_block_expressions;
3801
+ }
3802
+ accept(visitor) {
3803
+ if (visitor.visitAt_block_expressions) {
3804
+ return visitor.visitAt_block_expressions(this);
3805
+ }
3806
+ else {
3807
+ return visitor.visitChildren(this);
3808
+ }
3809
+ }
3810
+ }
3811
+ exports.At_block_expressionsContext = At_block_expressionsContext;
3812
+ class At_block_pin_exprContext extends antlr4_1.ParserRuleContext {
3813
+ constructor(parser, parent, invokingState) {
3814
+ super(parent, invokingState);
3815
+ this.parser = parser;
3816
+ }
3817
+ pin_select_expr2() {
3818
+ return this.getTypedRuleContext(Pin_select_expr2Context, 0);
3819
+ }
3820
+ at_block_pin_expression_simple() {
3821
+ return this.getTypedRuleContext(At_block_pin_expression_simpleContext, 0);
3822
+ }
3823
+ at_block_pin_expression_complex() {
3824
+ return this.getTypedRuleContext(At_block_pin_expression_complexContext, 0);
3825
+ }
3826
+ get ruleIndex() {
3827
+ return CircuitScriptParser.RULE_at_block_pin_expr;
3828
+ }
3829
+ accept(visitor) {
3830
+ if (visitor.visitAt_block_pin_expr) {
3831
+ return visitor.visitAt_block_pin_expr(this);
3832
+ }
3833
+ else {
3834
+ return visitor.visitChildren(this);
3835
+ }
3836
+ }
3837
+ }
3838
+ exports.At_block_pin_exprContext = At_block_pin_exprContext;
3839
+ class At_block_pin_expression_simpleContext extends antlr4_1.ParserRuleContext {
3840
+ constructor(parser, parent, invokingState) {
3841
+ super(parent, invokingState);
3842
+ this.parser = parser;
3843
+ }
3844
+ expression() {
3845
+ return this.getTypedRuleContext(ExpressionContext, 0);
3846
+ }
3847
+ NOT_CONNECTED() {
3848
+ return this.getToken(CircuitScriptParser.NOT_CONNECTED, 0);
3849
+ }
3850
+ get ruleIndex() {
3851
+ return CircuitScriptParser.RULE_at_block_pin_expression_simple;
3852
+ }
3853
+ accept(visitor) {
3854
+ if (visitor.visitAt_block_pin_expression_simple) {
3855
+ return visitor.visitAt_block_pin_expression_simple(this);
3856
+ }
3857
+ else {
3858
+ return visitor.visitChildren(this);
3859
+ }
3860
+ }
3861
+ }
3862
+ exports.At_block_pin_expression_simpleContext = At_block_pin_expression_simpleContext;
3863
+ class At_block_pin_expression_complexContext extends antlr4_1.ParserRuleContext {
3864
+ constructor(parser, parent, invokingState) {
3865
+ super(parent, invokingState);
3866
+ this.parser = parser;
3867
+ }
3868
+ NEWLINE_list() {
3869
+ return this.getTokens(CircuitScriptParser.NEWLINE);
3870
+ }
3871
+ NEWLINE(i) {
3872
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
3873
+ }
3874
+ INDENT() {
3875
+ return this.getToken(CircuitScriptParser.INDENT, 0);
3876
+ }
3877
+ DEDENT() {
3878
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
3879
+ }
3880
+ expression_list() {
3881
+ return this.getTypedRuleContexts(ExpressionContext);
3882
+ }
3883
+ expression(i) {
3884
+ return this.getTypedRuleContext(ExpressionContext, i);
3885
+ }
3886
+ get ruleIndex() {
3887
+ return CircuitScriptParser.RULE_at_block_pin_expression_complex;
3888
+ }
3889
+ accept(visitor) {
3890
+ if (visitor.visitAt_block_pin_expression_complex) {
3891
+ return visitor.visitAt_block_pin_expression_complex(this);
3892
+ }
3893
+ else {
3894
+ return visitor.visitChildren(this);
3895
+ }
3896
+ }
3897
+ }
3898
+ exports.At_block_pin_expression_complexContext = At_block_pin_expression_complexContext;
3899
+ class Break_keywordContext extends antlr4_1.ParserRuleContext {
3900
+ constructor(parser, parent, invokingState) {
3901
+ super(parent, invokingState);
3902
+ this.parser = parser;
3903
+ }
3904
+ Break() {
3905
+ return this.getToken(CircuitScriptParser.Break, 0);
3906
+ }
3907
+ get ruleIndex() {
3908
+ return CircuitScriptParser.RULE_break_keyword;
3909
+ }
3910
+ accept(visitor) {
3911
+ if (visitor.visitBreak_keyword) {
3912
+ return visitor.visitBreak_keyword(this);
3913
+ }
3914
+ else {
3915
+ return visitor.visitChildren(this);
3916
+ }
3917
+ }
3918
+ }
3919
+ exports.Break_keywordContext = Break_keywordContext;
3920
+ class Assignment_exprContext extends antlr4_1.ParserRuleContext {
3921
+ constructor(parser, parent, invokingState) {
3922
+ super(parent, invokingState);
3923
+ this.parser = parser;
3924
+ }
3925
+ atom_expr() {
3926
+ return this.getTypedRuleContext(Atom_exprContext, 0);
3927
+ }
3928
+ data_expr() {
3929
+ return this.getTypedRuleContext(Data_exprContext, 0);
3930
+ }
3931
+ get ruleIndex() {
3932
+ return CircuitScriptParser.RULE_assignment_expr;
3933
+ }
3934
+ accept(visitor) {
3935
+ if (visitor.visitAssignment_expr) {
3936
+ return visitor.visitAssignment_expr(this);
3937
+ }
3938
+ else {
3939
+ return visitor.visitChildren(this);
3940
+ }
3941
+ }
3942
+ }
3943
+ exports.Assignment_exprContext = Assignment_exprContext;
3944
+ class Keyword_assignment_exprContext extends antlr4_1.ParserRuleContext {
3945
+ constructor(parser, parent, invokingState) {
3946
+ super(parent, invokingState);
3947
+ this.parser = parser;
3948
+ }
3949
+ ID() {
3950
+ return this.getToken(CircuitScriptParser.ID, 0);
3951
+ }
3952
+ data_expr() {
3953
+ return this.getTypedRuleContext(Data_exprContext, 0);
3954
+ }
3955
+ get ruleIndex() {
3956
+ return CircuitScriptParser.RULE_keyword_assignment_expr;
3957
+ }
3958
+ accept(visitor) {
3959
+ if (visitor.visitKeyword_assignment_expr) {
3960
+ return visitor.visitKeyword_assignment_expr(this);
3961
+ }
3962
+ else {
3963
+ return visitor.visitChildren(this);
3964
+ }
3965
+ }
3966
+ }
3967
+ exports.Keyword_assignment_exprContext = Keyword_assignment_exprContext;
3968
+ class ParametersContext extends antlr4_1.ParserRuleContext {
3969
+ constructor(parser, parent, invokingState) {
3970
+ super(parent, invokingState);
3971
+ this.parser = parser;
3972
+ }
3973
+ data_expr_list() {
3974
+ return this.getTypedRuleContexts(Data_exprContext);
3975
+ }
3976
+ data_expr(i) {
3977
+ return this.getTypedRuleContext(Data_exprContext, i);
3978
+ }
3979
+ keyword_assignment_expr_list() {
3980
+ return this.getTypedRuleContexts(Keyword_assignment_exprContext);
3981
+ }
3982
+ keyword_assignment_expr(i) {
3983
+ return this.getTypedRuleContext(Keyword_assignment_exprContext, i);
3984
+ }
3985
+ get ruleIndex() {
3986
+ return CircuitScriptParser.RULE_parameters;
3987
+ }
3988
+ accept(visitor) {
3989
+ if (visitor.visitParameters) {
3990
+ return visitor.visitParameters(this);
3991
+ }
3992
+ else {
3993
+ return visitor.visitChildren(this);
3994
+ }
3995
+ }
3996
+ }
3997
+ exports.ParametersContext = ParametersContext;
3998
+ class Property_set_exprContext extends antlr4_1.ParserRuleContext {
3999
+ constructor(parser, parent, invokingState) {
4000
+ super(parent, invokingState);
4001
+ this.parser = parser;
4002
+ }
4003
+ atom_expr() {
4004
+ return this.getTypedRuleContext(Atom_exprContext, 0);
4005
+ }
4006
+ data_expr() {
4007
+ return this.getTypedRuleContext(Data_exprContext, 0);
4008
+ }
4009
+ get ruleIndex() {
4010
+ return CircuitScriptParser.RULE_property_set_expr;
4011
+ }
4012
+ accept(visitor) {
4013
+ if (visitor.visitProperty_set_expr) {
4014
+ return visitor.visitProperty_set_expr(this);
4015
+ }
4016
+ else {
4017
+ return visitor.visitChildren(this);
4018
+ }
4019
+ }
4020
+ }
4021
+ exports.Property_set_exprContext = Property_set_exprContext;
4022
+ class Double_dot_property_set_exprContext extends antlr4_1.ParserRuleContext {
4023
+ constructor(parser, parent, invokingState) {
4024
+ super(parent, invokingState);
4025
+ this.parser = parser;
4026
+ }
4027
+ ID() {
4028
+ return this.getToken(CircuitScriptParser.ID, 0);
4029
+ }
4030
+ data_expr() {
4031
+ return this.getTypedRuleContext(Data_exprContext, 0);
4032
+ }
4033
+ get ruleIndex() {
4034
+ return CircuitScriptParser.RULE_double_dot_property_set_expr;
4035
+ }
4036
+ accept(visitor) {
4037
+ if (visitor.visitDouble_dot_property_set_expr) {
4038
+ return visitor.visitDouble_dot_property_set_expr(this);
4039
+ }
4040
+ else {
4041
+ return visitor.visitChildren(this);
4042
+ }
4043
+ }
4044
+ }
4045
+ exports.Double_dot_property_set_exprContext = Double_dot_property_set_exprContext;
4046
+ class Data_exprContext extends antlr4_1.ParserRuleContext {
4047
+ constructor(parser, parent, invokingState) {
4048
+ super(parent, invokingState);
4049
+ this.parser = parser;
4050
+ }
4051
+ get ruleIndex() {
4052
+ return CircuitScriptParser.RULE_data_expr;
4053
+ }
4054
+ copyFrom(ctx) {
4055
+ super.copyFrom(ctx);
4056
+ }
4057
+ }
4058
+ exports.Data_exprContext = Data_exprContext;
4059
+ class AdditionExprContext extends Data_exprContext {
4060
+ constructor(parser, ctx) {
4061
+ super(parser, ctx.parentCtx, ctx.invokingState);
4062
+ super.copyFrom(ctx);
4063
+ }
4064
+ data_expr_list() {
4065
+ return this.getTypedRuleContexts(Data_exprContext);
4066
+ }
4067
+ data_expr(i) {
4068
+ return this.getTypedRuleContext(Data_exprContext, i);
4069
+ }
4070
+ Addition() {
4071
+ return this.getToken(CircuitScriptParser.Addition, 0);
4072
+ }
4073
+ Minus() {
4074
+ return this.getToken(CircuitScriptParser.Minus, 0);
4075
+ }
4076
+ accept(visitor) {
4077
+ if (visitor.visitAdditionExpr) {
4078
+ return visitor.visitAdditionExpr(this);
4079
+ }
4080
+ else {
4081
+ return visitor.visitChildren(this);
4082
+ }
4083
+ }
4084
+ }
4085
+ exports.AdditionExprContext = AdditionExprContext;
4086
+ class MultiplyExprContext extends Data_exprContext {
4087
+ constructor(parser, ctx) {
4088
+ super(parser, ctx.parentCtx, ctx.invokingState);
4089
+ super.copyFrom(ctx);
4090
+ }
4091
+ data_expr_list() {
4092
+ return this.getTypedRuleContexts(Data_exprContext);
4093
+ }
4094
+ data_expr(i) {
4095
+ return this.getTypedRuleContext(Data_exprContext, i);
4096
+ }
4097
+ Multiply() {
4098
+ return this.getToken(CircuitScriptParser.Multiply, 0);
4099
+ }
4100
+ Divide() {
4101
+ return this.getToken(CircuitScriptParser.Divide, 0);
4102
+ }
4103
+ accept(visitor) {
4104
+ if (visitor.visitMultiplyExpr) {
4105
+ return visitor.visitMultiplyExpr(this);
4106
+ }
4107
+ else {
4108
+ return visitor.visitChildren(this);
4109
+ }
4110
+ }
4111
+ }
4112
+ exports.MultiplyExprContext = MultiplyExprContext;
4113
+ class DataExprContext extends Data_exprContext {
4114
+ constructor(parser, ctx) {
4115
+ super(parser, ctx.parentCtx, ctx.invokingState);
4116
+ super.copyFrom(ctx);
4117
+ }
4118
+ create_component_expr() {
4119
+ return this.getTypedRuleContext(Create_component_exprContext, 0);
4120
+ }
4121
+ create_graphic_expr() {
4122
+ return this.getTypedRuleContext(Create_graphic_exprContext, 0);
4123
+ }
4124
+ accept(visitor) {
4125
+ if (visitor.visitDataExpr) {
4126
+ return visitor.visitDataExpr(this);
4127
+ }
4128
+ else {
4129
+ return visitor.visitChildren(this);
4130
+ }
4131
+ }
4132
+ }
4133
+ exports.DataExprContext = DataExprContext;
4134
+ class UnaryOperatorExprContext extends Data_exprContext {
4135
+ constructor(parser, ctx) {
4136
+ super(parser, ctx.parentCtx, ctx.invokingState);
4137
+ super.copyFrom(ctx);
4138
+ }
4139
+ unary_operator() {
4140
+ return this.getTypedRuleContext(Unary_operatorContext, 0);
4141
+ }
4142
+ data_expr() {
4143
+ return this.getTypedRuleContext(Data_exprContext, 0);
4144
+ }
4145
+ accept(visitor) {
4146
+ if (visitor.visitUnaryOperatorExpr) {
4147
+ return visitor.visitUnaryOperatorExpr(this);
4148
+ }
4149
+ else {
4150
+ return visitor.visitChildren(this);
4151
+ }
4152
+ }
4153
+ }
4154
+ exports.UnaryOperatorExprContext = UnaryOperatorExprContext;
4155
+ class ValueAtomExprContext extends Data_exprContext {
4156
+ constructor(parser, ctx) {
4157
+ super(parser, ctx.parentCtx, ctx.invokingState);
4158
+ super.copyFrom(ctx);
4159
+ }
4160
+ value_expr() {
4161
+ return this.getTypedRuleContext(Value_exprContext, 0);
4162
+ }
4163
+ atom_expr() {
4164
+ return this.getTypedRuleContext(Atom_exprContext, 0);
4165
+ }
4166
+ accept(visitor) {
4167
+ if (visitor.visitValueAtomExpr) {
4168
+ return visitor.visitValueAtomExpr(this);
4169
+ }
4170
+ else {
4171
+ return visitor.visitChildren(this);
4172
+ }
4173
+ }
4174
+ }
4175
+ exports.ValueAtomExprContext = ValueAtomExprContext;
4176
+ class BinaryOperatorExprContext extends Data_exprContext {
4177
+ constructor(parser, ctx) {
4178
+ super(parser, ctx.parentCtx, ctx.invokingState);
4179
+ super.copyFrom(ctx);
4180
+ }
4181
+ data_expr_list() {
4182
+ return this.getTypedRuleContexts(Data_exprContext);
4183
+ }
4184
+ data_expr(i) {
4185
+ return this.getTypedRuleContext(Data_exprContext, i);
4186
+ }
4187
+ binary_operator() {
4188
+ return this.getTypedRuleContext(Binary_operatorContext, 0);
4189
+ }
4190
+ accept(visitor) {
4191
+ if (visitor.visitBinaryOperatorExpr) {
4192
+ return visitor.visitBinaryOperatorExpr(this);
4193
+ }
4194
+ else {
4195
+ return visitor.visitChildren(this);
4196
+ }
4197
+ }
4198
+ }
4199
+ exports.BinaryOperatorExprContext = BinaryOperatorExprContext;
4200
+ class RoundedBracketsExprContext extends Data_exprContext {
4201
+ constructor(parser, ctx) {
4202
+ super(parser, ctx.parentCtx, ctx.invokingState);
4203
+ super.copyFrom(ctx);
4204
+ }
4205
+ OPEN_PAREN() {
4206
+ return this.getToken(CircuitScriptParser.OPEN_PAREN, 0);
4207
+ }
4208
+ data_expr() {
4209
+ return this.getTypedRuleContext(Data_exprContext, 0);
4210
+ }
4211
+ CLOSE_PAREN() {
4212
+ return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
4213
+ }
4214
+ accept(visitor) {
4215
+ if (visitor.visitRoundedBracketsExpr) {
4216
+ return visitor.visitRoundedBracketsExpr(this);
4217
+ }
4218
+ else {
4219
+ return visitor.visitChildren(this);
4220
+ }
4221
+ }
4222
+ }
4223
+ exports.RoundedBracketsExprContext = RoundedBracketsExprContext;
4224
+ class Binary_operatorContext extends antlr4_1.ParserRuleContext {
4225
+ constructor(parser, parent, invokingState) {
4226
+ super(parent, invokingState);
4227
+ this.parser = parser;
4228
+ }
4229
+ Equals() {
4230
+ return this.getToken(CircuitScriptParser.Equals, 0);
4231
+ }
4232
+ NotEquals() {
4233
+ return this.getToken(CircuitScriptParser.NotEquals, 0);
4234
+ }
4235
+ get ruleIndex() {
4236
+ return CircuitScriptParser.RULE_binary_operator;
4237
+ }
4238
+ accept(visitor) {
4239
+ if (visitor.visitBinary_operator) {
4240
+ return visitor.visitBinary_operator(this);
4241
+ }
4242
+ else {
4243
+ return visitor.visitChildren(this);
4244
+ }
4245
+ }
4246
+ }
4247
+ exports.Binary_operatorContext = Binary_operatorContext;
4248
+ class Unary_operatorContext extends antlr4_1.ParserRuleContext {
4249
+ constructor(parser, parent, invokingState) {
4250
+ super(parent, invokingState);
4251
+ this.parser = parser;
4252
+ }
4253
+ Not() {
4254
+ return this.getToken(CircuitScriptParser.Not, 0);
4255
+ }
4256
+ Minus() {
4257
+ return this.getToken(CircuitScriptParser.Minus, 0);
4258
+ }
4259
+ get ruleIndex() {
4260
+ return CircuitScriptParser.RULE_unary_operator;
4261
+ }
4262
+ accept(visitor) {
4263
+ if (visitor.visitUnary_operator) {
4264
+ return visitor.visitUnary_operator(this);
4265
+ }
4266
+ else {
4267
+ return visitor.visitChildren(this);
4268
+ }
4269
+ }
4270
+ }
4271
+ exports.Unary_operatorContext = Unary_operatorContext;
4272
+ class Value_exprContext extends antlr4_1.ParserRuleContext {
4273
+ constructor(parser, parent, invokingState) {
4274
+ super(parent, invokingState);
4275
+ this.parser = parser;
4276
+ }
4277
+ NUMERIC_VALUE() {
4278
+ return this.getToken(CircuitScriptParser.NUMERIC_VALUE, 0);
4279
+ }
4280
+ DECIMAL_VALUE() {
4281
+ return this.getToken(CircuitScriptParser.DECIMAL_VALUE, 0);
4282
+ }
4283
+ INTEGER_VALUE() {
4284
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
4285
+ }
4286
+ STRING_VALUE() {
4287
+ return this.getToken(CircuitScriptParser.STRING_VALUE, 0);
4288
+ }
4289
+ PERCENTAGE_VALUE() {
4290
+ return this.getToken(CircuitScriptParser.PERCENTAGE_VALUE, 0);
4291
+ }
4292
+ BOOLEAN_VALUE() {
4293
+ return this.getToken(CircuitScriptParser.BOOLEAN_VALUE, 0);
4294
+ }
4295
+ Minus() {
4296
+ return this.getToken(CircuitScriptParser.Minus, 0);
4297
+ }
4298
+ blank_expr() {
4299
+ return this.getTypedRuleContext(Blank_exprContext, 0);
4300
+ }
4301
+ get ruleIndex() {
4302
+ return CircuitScriptParser.RULE_value_expr;
4303
+ }
4304
+ accept(visitor) {
4305
+ if (visitor.visitValue_expr) {
4306
+ return visitor.visitValue_expr(this);
4307
+ }
4308
+ else {
4309
+ return visitor.visitChildren(this);
4310
+ }
4311
+ }
4312
+ }
4313
+ exports.Value_exprContext = Value_exprContext;
4314
+ class Function_def_exprContext extends antlr4_1.ParserRuleContext {
4315
+ constructor(parser, parent, invokingState) {
4316
+ super(parent, invokingState);
4317
+ this.parser = parser;
4318
+ }
4319
+ Define() {
4320
+ return this.getToken(CircuitScriptParser.Define, 0);
4321
+ }
4322
+ ID() {
4323
+ return this.getToken(CircuitScriptParser.ID, 0);
4324
+ }
4325
+ OPEN_PAREN() {
4326
+ return this.getToken(CircuitScriptParser.OPEN_PAREN, 0);
4327
+ }
4328
+ CLOSE_PAREN() {
4329
+ return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
4330
+ }
4331
+ NEWLINE_list() {
4332
+ return this.getTokens(CircuitScriptParser.NEWLINE);
4333
+ }
4334
+ NEWLINE(i) {
4335
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
4336
+ }
4337
+ INDENT() {
4338
+ return this.getToken(CircuitScriptParser.INDENT, 0);
4339
+ }
4340
+ DEDENT() {
4341
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
4342
+ }
4343
+ function_args_expr() {
4344
+ return this.getTypedRuleContext(Function_args_exprContext, 0);
4345
+ }
4346
+ function_expr_list() {
4347
+ return this.getTypedRuleContexts(Function_exprContext);
4348
+ }
4349
+ function_expr(i) {
4350
+ return this.getTypedRuleContext(Function_exprContext, i);
4351
+ }
4352
+ get ruleIndex() {
4353
+ return CircuitScriptParser.RULE_function_def_expr;
4354
+ }
4355
+ accept(visitor) {
4356
+ if (visitor.visitFunction_def_expr) {
4357
+ return visitor.visitFunction_def_expr(this);
4358
+ }
4359
+ else {
4360
+ return visitor.visitChildren(this);
4361
+ }
4362
+ }
4363
+ }
4364
+ exports.Function_def_exprContext = Function_def_exprContext;
4365
+ class Function_exprContext extends antlr4_1.ParserRuleContext {
4366
+ constructor(parser, parent, invokingState) {
4367
+ super(parent, invokingState);
4368
+ this.parser = parser;
4369
+ }
4370
+ expression() {
4371
+ return this.getTypedRuleContext(ExpressionContext, 0);
4372
+ }
4373
+ function_return_expr() {
4374
+ return this.getTypedRuleContext(Function_return_exprContext, 0);
4375
+ }
4376
+ get ruleIndex() {
4377
+ return CircuitScriptParser.RULE_function_expr;
4378
+ }
4379
+ accept(visitor) {
4380
+ if (visitor.visitFunction_expr) {
4381
+ return visitor.visitFunction_expr(this);
4382
+ }
4383
+ else {
4384
+ return visitor.visitChildren(this);
4385
+ }
4386
+ }
4387
+ }
4388
+ exports.Function_exprContext = Function_exprContext;
4389
+ class Function_args_exprContext extends antlr4_1.ParserRuleContext {
4390
+ constructor(parser, parent, invokingState) {
4391
+ super(parent, invokingState);
4392
+ this.parser = parser;
4393
+ }
4394
+ ID_list() {
4395
+ return this.getTokens(CircuitScriptParser.ID);
4396
+ }
4397
+ ID(i) {
4398
+ return this.getToken(CircuitScriptParser.ID, i);
4399
+ }
4400
+ value_expr_list() {
4401
+ return this.getTypedRuleContexts(Value_exprContext);
4402
+ }
4403
+ value_expr(i) {
4404
+ return this.getTypedRuleContext(Value_exprContext, i);
4405
+ }
4406
+ get ruleIndex() {
4407
+ return CircuitScriptParser.RULE_function_args_expr;
4408
+ }
4409
+ accept(visitor) {
4410
+ if (visitor.visitFunction_args_expr) {
4411
+ return visitor.visitFunction_args_expr(this);
4412
+ }
4413
+ else {
4414
+ return visitor.visitChildren(this);
4415
+ }
4416
+ }
4417
+ }
4418
+ exports.Function_args_exprContext = Function_args_exprContext;
4419
+ class Atom_exprContext extends antlr4_1.ParserRuleContext {
4420
+ constructor(parser, parent, invokingState) {
4421
+ super(parent, invokingState);
4422
+ this.parser = parser;
4423
+ }
4424
+ ID() {
4425
+ return this.getToken(CircuitScriptParser.ID, 0);
4426
+ }
4427
+ net_namespace_expr() {
4428
+ return this.getTypedRuleContext(Net_namespace_exprContext, 0);
4429
+ }
4430
+ trailer_expr_list() {
4431
+ return this.getTypedRuleContexts(Trailer_exprContext);
4432
+ }
4433
+ trailer_expr(i) {
4434
+ return this.getTypedRuleContext(Trailer_exprContext, i);
4435
+ }
4436
+ get ruleIndex() {
4437
+ return CircuitScriptParser.RULE_atom_expr;
4438
+ }
4439
+ accept(visitor) {
4440
+ if (visitor.visitAtom_expr) {
4441
+ return visitor.visitAtom_expr(this);
4442
+ }
4443
+ else {
4444
+ return visitor.visitChildren(this);
4445
+ }
4446
+ }
4447
+ }
4448
+ exports.Atom_exprContext = Atom_exprContext;
4449
+ class Trailer_exprContext extends antlr4_1.ParserRuleContext {
4450
+ constructor(parser, parent, invokingState) {
4451
+ super(parent, invokingState);
4452
+ this.parser = parser;
4453
+ }
4454
+ OPEN_PAREN() {
4455
+ return this.getToken(CircuitScriptParser.OPEN_PAREN, 0);
4456
+ }
4457
+ CLOSE_PAREN() {
4458
+ return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
4459
+ }
4460
+ parameters() {
4461
+ return this.getTypedRuleContext(ParametersContext, 0);
4462
+ }
4463
+ ID() {
4464
+ return this.getToken(CircuitScriptParser.ID, 0);
4465
+ }
4466
+ get ruleIndex() {
4467
+ return CircuitScriptParser.RULE_trailer_expr;
4468
+ }
4469
+ accept(visitor) {
4470
+ if (visitor.visitTrailer_expr) {
4471
+ return visitor.visitTrailer_expr(this);
4472
+ }
4473
+ else {
4474
+ return visitor.visitChildren(this);
4475
+ }
4476
+ }
4477
+ }
4478
+ exports.Trailer_exprContext = Trailer_exprContext;
4479
+ class Net_namespace_exprContext extends antlr4_1.ParserRuleContext {
4480
+ constructor(parser, parent, invokingState) {
4481
+ super(parent, invokingState);
4482
+ this.parser = parser;
4483
+ }
4484
+ Divide() {
4485
+ return this.getToken(CircuitScriptParser.Divide, 0);
4486
+ }
4487
+ Addition() {
4488
+ return this.getToken(CircuitScriptParser.Addition, 0);
4489
+ }
4490
+ data_expr() {
4491
+ return this.getTypedRuleContext(Data_exprContext, 0);
4492
+ }
4493
+ get ruleIndex() {
4494
+ return CircuitScriptParser.RULE_net_namespace_expr;
4495
+ }
4496
+ accept(visitor) {
4497
+ if (visitor.visitNet_namespace_expr) {
4498
+ return visitor.visitNet_namespace_expr(this);
4499
+ }
4500
+ else {
4501
+ return visitor.visitChildren(this);
4502
+ }
4503
+ }
4504
+ }
4505
+ exports.Net_namespace_exprContext = Net_namespace_exprContext;
4506
+ class Function_return_exprContext extends antlr4_1.ParserRuleContext {
4507
+ constructor(parser, parent, invokingState) {
4508
+ super(parent, invokingState);
4509
+ this.parser = parser;
4510
+ }
4511
+ Return() {
4512
+ return this.getToken(CircuitScriptParser.Return, 0);
4513
+ }
4514
+ data_expr() {
4515
+ return this.getTypedRuleContext(Data_exprContext, 0);
4516
+ }
4517
+ get ruleIndex() {
4518
+ return CircuitScriptParser.RULE_function_return_expr;
4519
+ }
4520
+ accept(visitor) {
4521
+ if (visitor.visitFunction_return_expr) {
4522
+ return visitor.visitFunction_return_expr(this);
4523
+ }
4524
+ else {
4525
+ return visitor.visitChildren(this);
4526
+ }
4527
+ }
4528
+ }
4529
+ exports.Function_return_exprContext = Function_return_exprContext;
4530
+ class Create_component_exprContext extends antlr4_1.ParserRuleContext {
4531
+ constructor(parser, parent, invokingState) {
4532
+ super(parent, invokingState);
4533
+ this.parser = parser;
4534
+ }
4535
+ Create() {
4536
+ return this.getToken(CircuitScriptParser.Create, 0);
4537
+ }
4538
+ Component() {
4539
+ return this.getToken(CircuitScriptParser.Component, 0);
4540
+ }
4541
+ NEWLINE_list() {
4542
+ return this.getTokens(CircuitScriptParser.NEWLINE);
4543
+ }
4544
+ NEWLINE(i) {
4545
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
4546
+ }
4547
+ INDENT() {
4548
+ return this.getToken(CircuitScriptParser.INDENT, 0);
4549
+ }
4550
+ DEDENT() {
4551
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
4552
+ }
4553
+ property_expr_list() {
4554
+ return this.getTypedRuleContexts(Property_exprContext);
4555
+ }
4556
+ property_expr(i) {
4557
+ return this.getTypedRuleContext(Property_exprContext, i);
4558
+ }
4559
+ get ruleIndex() {
4560
+ return CircuitScriptParser.RULE_create_component_expr;
4561
+ }
4562
+ accept(visitor) {
4563
+ if (visitor.visitCreate_component_expr) {
4564
+ return visitor.visitCreate_component_expr(this);
4565
+ }
4566
+ else {
4567
+ return visitor.visitChildren(this);
4568
+ }
4569
+ }
4570
+ }
4571
+ exports.Create_component_exprContext = Create_component_exprContext;
4572
+ class Create_graphic_exprContext extends antlr4_1.ParserRuleContext {
4573
+ constructor(parser, parent, invokingState) {
4574
+ super(parent, invokingState);
4575
+ this.parser = parser;
4576
+ }
4577
+ Create() {
4578
+ return this.getToken(CircuitScriptParser.Create, 0);
4579
+ }
4580
+ Graphic() {
4581
+ return this.getToken(CircuitScriptParser.Graphic, 0);
4582
+ }
4583
+ NEWLINE_list() {
4584
+ return this.getTokens(CircuitScriptParser.NEWLINE);
4585
+ }
4586
+ NEWLINE(i) {
4587
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
4588
+ }
4589
+ INDENT() {
4590
+ return this.getToken(CircuitScriptParser.INDENT, 0);
4591
+ }
4592
+ DEDENT() {
4593
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
4594
+ }
4595
+ sub_expr_list() {
4596
+ return this.getTypedRuleContexts(Sub_exprContext);
4597
+ }
4598
+ sub_expr(i) {
4599
+ return this.getTypedRuleContext(Sub_exprContext, i);
4600
+ }
4601
+ get ruleIndex() {
4602
+ return CircuitScriptParser.RULE_create_graphic_expr;
4603
+ }
4604
+ accept(visitor) {
4605
+ if (visitor.visitCreate_graphic_expr) {
4606
+ return visitor.visitCreate_graphic_expr(this);
4607
+ }
4608
+ else {
4609
+ return visitor.visitChildren(this);
4610
+ }
4611
+ }
4612
+ }
4613
+ exports.Create_graphic_exprContext = Create_graphic_exprContext;
4614
+ class Sub_exprContext extends antlr4_1.ParserRuleContext {
4615
+ constructor(parser, parent, invokingState) {
4616
+ super(parent, invokingState);
4617
+ this.parser = parser;
4618
+ }
4619
+ ID() {
4620
+ return this.getToken(CircuitScriptParser.ID, 0);
4621
+ }
4622
+ Pin() {
4623
+ return this.getToken(CircuitScriptParser.Pin, 0);
4624
+ }
4625
+ parameters() {
4626
+ return this.getTypedRuleContext(ParametersContext, 0);
4627
+ }
4628
+ OPEN_PAREN() {
4629
+ return this.getToken(CircuitScriptParser.OPEN_PAREN, 0);
4630
+ }
4631
+ CLOSE_PAREN() {
4632
+ return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
4633
+ }
4634
+ get ruleIndex() {
4635
+ return CircuitScriptParser.RULE_sub_expr;
4636
+ }
4637
+ accept(visitor) {
4638
+ if (visitor.visitSub_expr) {
4639
+ return visitor.visitSub_expr(this);
4640
+ }
4641
+ else {
4642
+ return visitor.visitChildren(this);
4643
+ }
4644
+ }
4645
+ }
4646
+ exports.Sub_exprContext = Sub_exprContext;
4647
+ class Property_exprContext extends antlr4_1.ParserRuleContext {
4648
+ constructor(parser, parent, invokingState) {
4649
+ super(parent, invokingState);
4650
+ this.parser = parser;
4651
+ }
4652
+ property_key_expr() {
4653
+ return this.getTypedRuleContext(Property_key_exprContext, 0);
4654
+ }
4655
+ property_value_expr() {
4656
+ return this.getTypedRuleContext(Property_value_exprContext, 0);
4657
+ }
4658
+ get ruleIndex() {
4659
+ return CircuitScriptParser.RULE_property_expr;
4660
+ }
4661
+ accept(visitor) {
4662
+ if (visitor.visitProperty_expr) {
4663
+ return visitor.visitProperty_expr(this);
4664
+ }
4665
+ else {
4666
+ return visitor.visitChildren(this);
4667
+ }
4668
+ }
4669
+ }
4670
+ exports.Property_exprContext = Property_exprContext;
4671
+ class Property_key_exprContext extends antlr4_1.ParserRuleContext {
4672
+ constructor(parser, parent, invokingState) {
4673
+ super(parent, invokingState);
4674
+ this.parser = parser;
4675
+ }
4676
+ ID() {
4677
+ return this.getToken(CircuitScriptParser.ID, 0);
4678
+ }
4679
+ INTEGER_VALUE() {
4680
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
4681
+ }
4682
+ STRING_VALUE() {
4683
+ return this.getToken(CircuitScriptParser.STRING_VALUE, 0);
4684
+ }
4685
+ get ruleIndex() {
4686
+ return CircuitScriptParser.RULE_property_key_expr;
4687
+ }
4688
+ accept(visitor) {
4689
+ if (visitor.visitProperty_key_expr) {
4690
+ return visitor.visitProperty_key_expr(this);
4691
+ }
4692
+ else {
4693
+ return visitor.visitChildren(this);
4694
+ }
4695
+ }
4696
+ }
4697
+ exports.Property_key_exprContext = Property_key_exprContext;
4698
+ class Property_value_exprContext extends antlr4_1.ParserRuleContext {
4699
+ constructor(parser, parent, invokingState) {
4700
+ super(parent, invokingState);
4701
+ this.parser = parser;
4702
+ }
4703
+ get ruleIndex() {
4704
+ return CircuitScriptParser.RULE_property_value_expr;
4705
+ }
4706
+ copyFrom(ctx) {
4707
+ super.copyFrom(ctx);
4708
+ }
4709
+ }
4710
+ exports.Property_value_exprContext = Property_value_exprContext;
4711
+ class Single_line_propertyContext extends Property_value_exprContext {
4712
+ constructor(parser, ctx) {
4713
+ super(parser, ctx.parentCtx, ctx.invokingState);
4714
+ super.copyFrom(ctx);
4715
+ }
4716
+ data_expr_list() {
4717
+ return this.getTypedRuleContexts(Data_exprContext);
4718
+ }
4719
+ data_expr(i) {
4720
+ return this.getTypedRuleContext(Data_exprContext, i);
4721
+ }
4722
+ accept(visitor) {
4723
+ if (visitor.visitSingle_line_property) {
4724
+ return visitor.visitSingle_line_property(this);
4725
+ }
4726
+ else {
4727
+ return visitor.visitChildren(this);
4728
+ }
4729
+ }
4730
+ }
4731
+ exports.Single_line_propertyContext = Single_line_propertyContext;
4732
+ class Nested_propertiesContext extends Property_value_exprContext {
4733
+ constructor(parser, ctx) {
4734
+ super(parser, ctx.parentCtx, ctx.invokingState);
4735
+ super.copyFrom(ctx);
4736
+ }
4737
+ NEWLINE_list() {
4738
+ return this.getTokens(CircuitScriptParser.NEWLINE);
4739
+ }
4740
+ NEWLINE(i) {
4741
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
4742
+ }
4743
+ INDENT() {
4744
+ return this.getToken(CircuitScriptParser.INDENT, 0);
4745
+ }
4746
+ DEDENT() {
4747
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
4748
+ }
4749
+ property_expr_list() {
4750
+ return this.getTypedRuleContexts(Property_exprContext);
4751
+ }
4752
+ property_expr(i) {
4753
+ return this.getTypedRuleContext(Property_exprContext, i);
4754
+ }
4755
+ accept(visitor) {
4756
+ if (visitor.visitNested_properties) {
4757
+ return visitor.visitNested_properties(this);
4758
+ }
4759
+ else {
4760
+ return visitor.visitChildren(this);
4761
+ }
4762
+ }
4763
+ }
4764
+ exports.Nested_propertiesContext = Nested_propertiesContext;
4765
+ class Blank_exprContext extends antlr4_1.ParserRuleContext {
4766
+ constructor(parser, parent, invokingState) {
4767
+ super(parent, invokingState);
4768
+ this.parser = parser;
4769
+ }
4770
+ INTEGER_VALUE() {
4771
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, 0);
4772
+ }
4773
+ get ruleIndex() {
4774
+ return CircuitScriptParser.RULE_blank_expr;
4775
+ }
4776
+ accept(visitor) {
4777
+ if (visitor.visitBlank_expr) {
4778
+ return visitor.visitBlank_expr(this);
4779
+ }
4780
+ else {
4781
+ return visitor.visitChildren(this);
4782
+ }
4783
+ }
4784
+ }
4785
+ exports.Blank_exprContext = Blank_exprContext;
4786
+ class Wire_exprContext extends antlr4_1.ParserRuleContext {
4787
+ constructor(parser, parent, invokingState) {
4788
+ super(parent, invokingState);
4789
+ this.parser = parser;
4790
+ }
4791
+ Wire() {
4792
+ return this.getToken(CircuitScriptParser.Wire, 0);
4793
+ }
4794
+ ID_list() {
4795
+ return this.getTokens(CircuitScriptParser.ID);
4796
+ }
4797
+ ID(i) {
4798
+ return this.getToken(CircuitScriptParser.ID, i);
4799
+ }
4800
+ INTEGER_VALUE_list() {
4801
+ return this.getTokens(CircuitScriptParser.INTEGER_VALUE);
4802
+ }
4803
+ INTEGER_VALUE(i) {
4804
+ return this.getToken(CircuitScriptParser.INTEGER_VALUE, i);
4805
+ }
4806
+ get ruleIndex() {
4807
+ return CircuitScriptParser.RULE_wire_expr;
4808
+ }
4809
+ accept(visitor) {
4810
+ if (visitor.visitWire_expr) {
4811
+ return visitor.visitWire_expr(this);
4812
+ }
4813
+ else {
4814
+ return visitor.visitChildren(this);
4815
+ }
4816
+ }
4817
+ }
4818
+ exports.Wire_exprContext = Wire_exprContext;
4819
+ class Point_exprContext extends antlr4_1.ParserRuleContext {
4820
+ constructor(parser, parent, invokingState) {
4821
+ super(parent, invokingState);
4822
+ this.parser = parser;
4823
+ }
4824
+ Point() {
4825
+ return this.getToken(CircuitScriptParser.Point, 0);
4826
+ }
4827
+ ID() {
4828
+ return this.getToken(CircuitScriptParser.ID, 0);
4829
+ }
4830
+ get ruleIndex() {
4831
+ return CircuitScriptParser.RULE_point_expr;
4832
+ }
4833
+ accept(visitor) {
4834
+ if (visitor.visitPoint_expr) {
4835
+ return visitor.visitPoint_expr(this);
4836
+ }
4837
+ else {
4838
+ return visitor.visitChildren(this);
4839
+ }
4840
+ }
4841
+ }
4842
+ exports.Point_exprContext = Point_exprContext;
4843
+ class Import_exprContext extends antlr4_1.ParserRuleContext {
4844
+ constructor(parser, parent, invokingState) {
4845
+ super(parent, invokingState);
4846
+ this.parser = parser;
4847
+ }
4848
+ Import() {
4849
+ return this.getToken(CircuitScriptParser.Import, 0);
4850
+ }
4851
+ ID() {
4852
+ return this.getToken(CircuitScriptParser.ID, 0);
4853
+ }
4854
+ get ruleIndex() {
4855
+ return CircuitScriptParser.RULE_import_expr;
4856
+ }
4857
+ accept(visitor) {
4858
+ if (visitor.visitImport_expr) {
4859
+ return visitor.visitImport_expr(this);
4860
+ }
4861
+ else {
4862
+ return visitor.visitChildren(this);
4863
+ }
4864
+ }
4865
+ }
4866
+ exports.Import_exprContext = Import_exprContext;
4867
+ class Frame_exprContext extends antlr4_1.ParserRuleContext {
4868
+ constructor(parser, parent, invokingState) {
4869
+ super(parent, invokingState);
4870
+ this.parser = parser;
4871
+ }
4872
+ Frame() {
4873
+ return this.getToken(CircuitScriptParser.Frame, 0);
4874
+ }
4875
+ NEWLINE_list() {
4876
+ return this.getTokens(CircuitScriptParser.NEWLINE);
4877
+ }
4878
+ NEWLINE(i) {
4879
+ return this.getToken(CircuitScriptParser.NEWLINE, i);
4880
+ }
4881
+ INDENT() {
4882
+ return this.getToken(CircuitScriptParser.INDENT, 0);
4883
+ }
4884
+ DEDENT() {
4885
+ return this.getToken(CircuitScriptParser.DEDENT, 0);
4886
+ }
4887
+ expression_list() {
4888
+ return this.getTypedRuleContexts(ExpressionContext);
4889
+ }
4890
+ expression(i) {
4891
+ return this.getTypedRuleContext(ExpressionContext, i);
4892
+ }
4893
+ get ruleIndex() {
4894
+ return CircuitScriptParser.RULE_frame_expr;
4895
+ }
4896
+ accept(visitor) {
4897
+ if (visitor.visitFrame_expr) {
4898
+ return visitor.visitFrame_expr(this);
4899
+ }
4900
+ else {
4901
+ return visitor.visitChildren(this);
4902
+ }
4903
+ }
4904
+ }
4905
+ exports.Frame_exprContext = Frame_exprContext;