circuitscript 0.0.25 → 0.0.27
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.
- package/LICENSE +1 -1
- package/dist/cjs/BaseVisitor.js +16 -12
- package/dist/cjs/SemanticTokenVisitor.js +3 -3
- package/dist/cjs/antlr/CircuitScriptLexer.js +189 -166
- package/dist/cjs/antlr/CircuitScriptParser.js +1295 -719
- package/dist/cjs/draw_symbols.js +42 -14
- package/dist/cjs/execute.js +91 -30
- package/dist/cjs/export.js +91 -5
- package/dist/cjs/geometry.js +45 -26
- package/dist/cjs/globals.js +1 -2
- package/dist/cjs/helpers.js +6 -2
- package/dist/cjs/layout.js +37 -17
- package/dist/cjs/main.js +21 -9
- package/dist/cjs/objects/ClassComponent.js +8 -0
- package/dist/cjs/objects/types.js +8 -1
- package/dist/cjs/render.js +1 -1
- package/dist/cjs/visitor.js +131 -23
- package/dist/esm/BaseVisitor.mjs +17 -13
- package/dist/esm/SemanticTokenVisitor.mjs +3 -3
- package/dist/esm/antlr/CircuitScriptLexer.mjs +189 -166
- package/dist/esm/antlr/CircuitScriptParser.mjs +1287 -716
- package/dist/esm/antlr/CircuitScriptVisitor.mjs +6 -1
- package/dist/esm/draw_symbols.mjs +44 -16
- package/dist/esm/execute.mjs +90 -26
- package/dist/esm/export.mjs +89 -6
- package/dist/esm/geometry.mjs +44 -25
- package/dist/esm/globals.mjs +1 -2
- package/dist/esm/helpers.mjs +7 -3
- package/dist/esm/layout.mjs +35 -16
- package/dist/esm/main.mjs +21 -9
- package/dist/esm/objects/ClassComponent.mjs +8 -0
- package/dist/esm/objects/types.mjs +7 -0
- package/dist/esm/render.mjs +2 -2
- package/dist/esm/visitor.mjs +133 -25
- package/dist/types/BaseVisitor.d.ts +2 -5
- package/dist/types/SemanticTokenVisitor.d.ts +2 -2
- package/dist/types/antlr/CircuitScriptLexer.d.ts +29 -22
- package/dist/types/antlr/CircuitScriptParser.d.ts +121 -44
- package/dist/types/antlr/CircuitScriptVisitor.d.ts +12 -2
- package/dist/types/draw_symbols.d.ts +11 -6
- package/dist/types/execute.d.ts +6 -4
- package/dist/types/export.d.ts +27 -1
- package/dist/types/geometry.d.ts +12 -9
- package/dist/types/globals.d.ts +2 -3
- package/dist/types/layout.d.ts +5 -0
- package/dist/types/objects/ClassComponent.d.ts +5 -0
- package/dist/types/objects/Wire.d.ts +2 -1
- package/dist/types/objects/types.d.ts +6 -0
- package/dist/types/visitor.d.ts +7 -3
- package/libs/lib.cst +28 -10
- package/package.json +1 -1
|
@@ -24,30 +24,37 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
24
24
|
static Define = 22;
|
|
25
25
|
static Import = 23;
|
|
26
26
|
static If = 24;
|
|
27
|
-
static
|
|
28
|
-
static
|
|
29
|
-
static
|
|
30
|
-
static
|
|
31
|
-
static
|
|
32
|
-
static
|
|
33
|
-
static
|
|
34
|
-
static
|
|
35
|
-
static
|
|
36
|
-
static
|
|
37
|
-
static
|
|
38
|
-
static
|
|
39
|
-
static
|
|
40
|
-
static
|
|
41
|
-
static
|
|
42
|
-
static
|
|
43
|
-
static
|
|
44
|
-
static
|
|
45
|
-
static
|
|
46
|
-
static
|
|
47
|
-
static
|
|
48
|
-
static
|
|
49
|
-
static
|
|
50
|
-
static
|
|
27
|
+
static Else = 25;
|
|
28
|
+
static Not = 26;
|
|
29
|
+
static Frame = 27;
|
|
30
|
+
static Equals = 28;
|
|
31
|
+
static NotEquals = 29;
|
|
32
|
+
static GreaterThan = 30;
|
|
33
|
+
static GreatOrEqualThan = 31;
|
|
34
|
+
static LessThan = 32;
|
|
35
|
+
static LessOrEqualThan = 33;
|
|
36
|
+
static LogicalAnd = 34;
|
|
37
|
+
static LogicalOr = 35;
|
|
38
|
+
static Addition = 36;
|
|
39
|
+
static Minus = 37;
|
|
40
|
+
static Divide = 38;
|
|
41
|
+
static Multiply = 39;
|
|
42
|
+
static OPEN_PAREN = 40;
|
|
43
|
+
static CLOSE_PAREN = 41;
|
|
44
|
+
static NOT_CONNECTED = 42;
|
|
45
|
+
static BOOLEAN_VALUE = 43;
|
|
46
|
+
static ID = 44;
|
|
47
|
+
static INTEGER_VALUE = 45;
|
|
48
|
+
static DECIMAL_VALUE = 46;
|
|
49
|
+
static NUMERIC_VALUE = 47;
|
|
50
|
+
static STRING_VALUE = 48;
|
|
51
|
+
static PERCENTAGE_VALUE = 49;
|
|
52
|
+
static ALPHA_NUMERIC = 50;
|
|
53
|
+
static WS = 51;
|
|
54
|
+
static NEWLINE = 52;
|
|
55
|
+
static COMMENT = 53;
|
|
56
|
+
static INDENT = 54;
|
|
57
|
+
static DEDENT = 55;
|
|
51
58
|
static RULE_script = 0;
|
|
52
59
|
static RULE_expression = 1;
|
|
53
60
|
static RULE_path_blocks = 2;
|
|
@@ -90,32 +97,38 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
90
97
|
static RULE_function_return_expr = 39;
|
|
91
98
|
static RULE_create_component_expr = 40;
|
|
92
99
|
static RULE_create_graphic_expr = 41;
|
|
93
|
-
static
|
|
94
|
-
static
|
|
95
|
-
static
|
|
96
|
-
static
|
|
97
|
-
static
|
|
98
|
-
static
|
|
99
|
-
static
|
|
100
|
-
static
|
|
101
|
-
static
|
|
102
|
-
static
|
|
100
|
+
static RULE_nested_properties_inner = 42;
|
|
101
|
+
static RULE_graphic_expr = 43;
|
|
102
|
+
static RULE_property_expr = 44;
|
|
103
|
+
static RULE_property_key_expr = 45;
|
|
104
|
+
static RULE_property_value_expr = 46;
|
|
105
|
+
static RULE_blank_expr = 47;
|
|
106
|
+
static RULE_wire_atom_expr = 48;
|
|
107
|
+
static RULE_wire_expr = 49;
|
|
108
|
+
static RULE_point_expr = 50;
|
|
109
|
+
static RULE_import_expr = 51;
|
|
110
|
+
static RULE_frame_expr = 52;
|
|
111
|
+
static RULE_if_expr = 53;
|
|
112
|
+
static RULE_if_inner_expr = 54;
|
|
113
|
+
static RULE_else_expr = 55;
|
|
103
114
|
static literalNames = [
|
|
104
115
|
null, "':'", "','", "'='", "'..'", "'.'", "'['", "']'", "'break'",
|
|
105
116
|
"'branch'", "'create'", "'component'", "'graphic'", "'wire'", "'pin'",
|
|
106
117
|
"'add'", "'at'", "'to'", "'point'", "'join'", "'parallel'", "'return'",
|
|
107
|
-
"'def'", "'import'", "'if'", "'
|
|
108
|
-
"'
|
|
118
|
+
"'def'", "'import'", "'if'", "'else'", "'!'", "'frame'", "'=='",
|
|
119
|
+
"'!='", "'>'", "'>='", "'<'", "'<='", "'&&'", "'||'", "'+'", "'-'",
|
|
120
|
+
"'/'", "'*'", "'('", "')'"
|
|
109
121
|
];
|
|
110
122
|
static symbolicNames = [
|
|
111
123
|
null, null, null, null, null, null, null, null, "Break", "Branch",
|
|
112
124
|
"Create", "Component", "Graphic", "Wire", "Pin", "Add", "At", "To",
|
|
113
125
|
"Point", "Join", "Parallel", "Return", "Define", "Import", "If",
|
|
114
|
-
"Not", "Frame", "Equals", "NotEquals", "
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
126
|
+
"Else", "Not", "Frame", "Equals", "NotEquals", "GreaterThan", "GreatOrEqualThan",
|
|
127
|
+
"LessThan", "LessOrEqualThan", "LogicalAnd", "LogicalOr", "Addition",
|
|
128
|
+
"Minus", "Divide", "Multiply", "OPEN_PAREN", "CLOSE_PAREN", "NOT_CONNECTED",
|
|
129
|
+
"BOOLEAN_VALUE", "ID", "INTEGER_VALUE", "DECIMAL_VALUE", "NUMERIC_VALUE",
|
|
130
|
+
"STRING_VALUE", "PERCENTAGE_VALUE", "ALPHA_NUMERIC", "WS", "NEWLINE",
|
|
131
|
+
"COMMENT", "INDENT", "DEDENT"
|
|
119
132
|
];
|
|
120
133
|
static ruleNames = [
|
|
121
134
|
"script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
|
|
@@ -129,9 +142,10 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
129
142
|
"data_expr", "binary_operator", "unary_operator", "value_expr",
|
|
130
143
|
"function_def_expr", "function_expr", "function_args_expr", "atom_expr",
|
|
131
144
|
"trailer_expr", "function_call_expr", "net_namespace_expr", "function_return_expr",
|
|
132
|
-
"create_component_expr", "create_graphic_expr", "
|
|
133
|
-
"
|
|
134
|
-
"
|
|
145
|
+
"create_component_expr", "create_graphic_expr", "nested_properties_inner",
|
|
146
|
+
"graphic_expr", "property_expr", "property_key_expr", "property_value_expr",
|
|
147
|
+
"blank_expr", "wire_atom_expr", "wire_expr", "point_expr", "import_expr",
|
|
148
|
+
"frame_expr", "if_expr", "if_inner_expr", "else_expr",
|
|
135
149
|
];
|
|
136
150
|
get grammarFileName() { return "CircuitScript.g4"; }
|
|
137
151
|
get literalNames() { return CircuitScriptParser.literalNames; }
|
|
@@ -152,12 +166,12 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
152
166
|
try {
|
|
153
167
|
this.enterOuterAlt(localContext, 1);
|
|
154
168
|
{
|
|
155
|
-
this.state =
|
|
169
|
+
this.state = 114;
|
|
156
170
|
this.errorHandler.sync(this);
|
|
157
171
|
_la = this.tokenStream.LA(1);
|
|
158
172
|
do {
|
|
159
173
|
{
|
|
160
|
-
this.state =
|
|
174
|
+
this.state = 114;
|
|
161
175
|
this.errorHandler.sync(this);
|
|
162
176
|
switch (this.tokenStream.LA(1)) {
|
|
163
177
|
case CircuitScriptParser.T__3:
|
|
@@ -172,18 +186,19 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
172
186
|
case CircuitScriptParser.Parallel:
|
|
173
187
|
case CircuitScriptParser.Define:
|
|
174
188
|
case CircuitScriptParser.Import:
|
|
189
|
+
case CircuitScriptParser.If:
|
|
175
190
|
case CircuitScriptParser.Frame:
|
|
176
191
|
case CircuitScriptParser.Addition:
|
|
177
192
|
case CircuitScriptParser.Divide:
|
|
178
193
|
case CircuitScriptParser.ID:
|
|
179
194
|
{
|
|
180
|
-
this.state =
|
|
195
|
+
this.state = 112;
|
|
181
196
|
this.expression();
|
|
182
197
|
}
|
|
183
198
|
break;
|
|
184
199
|
case CircuitScriptParser.NEWLINE:
|
|
185
200
|
{
|
|
186
|
-
this.state =
|
|
201
|
+
this.state = 113;
|
|
187
202
|
this.match(CircuitScriptParser.NEWLINE);
|
|
188
203
|
}
|
|
189
204
|
break;
|
|
@@ -191,11 +206,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
191
206
|
throw new antlr.NoViableAltException(this);
|
|
192
207
|
}
|
|
193
208
|
}
|
|
194
|
-
this.state =
|
|
209
|
+
this.state = 116;
|
|
195
210
|
this.errorHandler.sync(this);
|
|
196
211
|
_la = this.tokenStream.LA(1);
|
|
197
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
198
|
-
this.state =
|
|
212
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
213
|
+
this.state = 118;
|
|
199
214
|
this.match(CircuitScriptParser.EOF);
|
|
200
215
|
}
|
|
201
216
|
}
|
|
@@ -217,128 +232,135 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
217
232
|
let localContext = new ExpressionContext(this.context, this.state);
|
|
218
233
|
this.enterRule(localContext, 2, CircuitScriptParser.RULE_expression);
|
|
219
234
|
try {
|
|
220
|
-
this.state =
|
|
235
|
+
this.state = 138;
|
|
221
236
|
this.errorHandler.sync(this);
|
|
222
237
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 2, this.context)) {
|
|
223
238
|
case 1:
|
|
224
239
|
this.enterOuterAlt(localContext, 1);
|
|
225
240
|
{
|
|
226
|
-
this.state =
|
|
241
|
+
this.state = 120;
|
|
227
242
|
this.add_component_expr();
|
|
228
243
|
}
|
|
229
244
|
break;
|
|
230
245
|
case 2:
|
|
231
246
|
this.enterOuterAlt(localContext, 2);
|
|
232
247
|
{
|
|
233
|
-
this.state =
|
|
248
|
+
this.state = 121;
|
|
234
249
|
this.to_component_expr();
|
|
235
250
|
}
|
|
236
251
|
break;
|
|
237
252
|
case 3:
|
|
238
253
|
this.enterOuterAlt(localContext, 3);
|
|
239
254
|
{
|
|
240
|
-
this.state =
|
|
255
|
+
this.state = 122;
|
|
241
256
|
this.at_component_expr();
|
|
242
257
|
}
|
|
243
258
|
break;
|
|
244
259
|
case 4:
|
|
245
260
|
this.enterOuterAlt(localContext, 4);
|
|
246
261
|
{
|
|
247
|
-
this.state =
|
|
262
|
+
this.state = 123;
|
|
248
263
|
this.assignment_expr();
|
|
249
264
|
}
|
|
250
265
|
break;
|
|
251
266
|
case 5:
|
|
252
267
|
this.enterOuterAlt(localContext, 5);
|
|
253
268
|
{
|
|
254
|
-
this.state =
|
|
269
|
+
this.state = 124;
|
|
255
270
|
this.property_set_expr();
|
|
256
271
|
}
|
|
257
272
|
break;
|
|
258
273
|
case 6:
|
|
259
274
|
this.enterOuterAlt(localContext, 6);
|
|
260
275
|
{
|
|
261
|
-
this.state =
|
|
276
|
+
this.state = 125;
|
|
262
277
|
this.property_set_expr2();
|
|
263
278
|
}
|
|
264
279
|
break;
|
|
265
280
|
case 7:
|
|
266
281
|
this.enterOuterAlt(localContext, 7);
|
|
267
282
|
{
|
|
268
|
-
this.state =
|
|
283
|
+
this.state = 126;
|
|
269
284
|
this.double_dot_property_set_expr();
|
|
270
285
|
}
|
|
271
286
|
break;
|
|
272
287
|
case 8:
|
|
273
288
|
this.enterOuterAlt(localContext, 8);
|
|
274
289
|
{
|
|
275
|
-
this.state =
|
|
290
|
+
this.state = 127;
|
|
276
291
|
this.break_keyword();
|
|
277
292
|
}
|
|
278
293
|
break;
|
|
279
294
|
case 9:
|
|
280
295
|
this.enterOuterAlt(localContext, 9);
|
|
281
296
|
{
|
|
282
|
-
this.state =
|
|
297
|
+
this.state = 128;
|
|
283
298
|
this.function_def_expr();
|
|
284
299
|
}
|
|
285
300
|
break;
|
|
286
301
|
case 10:
|
|
287
302
|
this.enterOuterAlt(localContext, 10);
|
|
288
303
|
{
|
|
289
|
-
this.state =
|
|
304
|
+
this.state = 129;
|
|
290
305
|
this.function_call_expr();
|
|
291
306
|
}
|
|
292
307
|
break;
|
|
293
308
|
case 11:
|
|
294
309
|
this.enterOuterAlt(localContext, 11);
|
|
295
310
|
{
|
|
296
|
-
this.state =
|
|
311
|
+
this.state = 130;
|
|
297
312
|
this.wire_expr();
|
|
298
313
|
}
|
|
299
314
|
break;
|
|
300
315
|
case 12:
|
|
301
316
|
this.enterOuterAlt(localContext, 12);
|
|
302
317
|
{
|
|
303
|
-
this.state =
|
|
318
|
+
this.state = 131;
|
|
304
319
|
this.import_expr();
|
|
305
320
|
}
|
|
306
321
|
break;
|
|
307
322
|
case 13:
|
|
308
323
|
this.enterOuterAlt(localContext, 13);
|
|
309
324
|
{
|
|
310
|
-
this.state =
|
|
325
|
+
this.state = 132;
|
|
311
326
|
this.frame_expr();
|
|
312
327
|
}
|
|
313
328
|
break;
|
|
314
329
|
case 14:
|
|
315
330
|
this.enterOuterAlt(localContext, 14);
|
|
316
331
|
{
|
|
317
|
-
this.state =
|
|
332
|
+
this.state = 133;
|
|
318
333
|
this.atom_expr();
|
|
319
334
|
}
|
|
320
335
|
break;
|
|
321
336
|
case 15:
|
|
322
337
|
this.enterOuterAlt(localContext, 15);
|
|
323
338
|
{
|
|
324
|
-
this.state =
|
|
339
|
+
this.state = 134;
|
|
325
340
|
this.at_block();
|
|
326
341
|
}
|
|
327
342
|
break;
|
|
328
343
|
case 16:
|
|
329
344
|
this.enterOuterAlt(localContext, 16);
|
|
330
345
|
{
|
|
331
|
-
this.state =
|
|
346
|
+
this.state = 135;
|
|
332
347
|
this.path_blocks();
|
|
333
348
|
}
|
|
334
349
|
break;
|
|
335
350
|
case 17:
|
|
336
351
|
this.enterOuterAlt(localContext, 17);
|
|
337
352
|
{
|
|
338
|
-
this.state =
|
|
353
|
+
this.state = 136;
|
|
339
354
|
this.point_expr();
|
|
340
355
|
}
|
|
341
356
|
break;
|
|
357
|
+
case 18:
|
|
358
|
+
this.enterOuterAlt(localContext, 18);
|
|
359
|
+
{
|
|
360
|
+
this.state = 137;
|
|
361
|
+
this.if_expr();
|
|
362
|
+
}
|
|
363
|
+
break;
|
|
342
364
|
}
|
|
343
365
|
}
|
|
344
366
|
catch (re) {
|
|
@@ -362,7 +384,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
362
384
|
let alternative;
|
|
363
385
|
this.enterOuterAlt(localContext, 1);
|
|
364
386
|
{
|
|
365
|
-
this.state =
|
|
387
|
+
this.state = 141;
|
|
366
388
|
this.errorHandler.sync(this);
|
|
367
389
|
alternative = 1;
|
|
368
390
|
do {
|
|
@@ -370,7 +392,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
370
392
|
case 1:
|
|
371
393
|
{
|
|
372
394
|
{
|
|
373
|
-
this.state =
|
|
395
|
+
this.state = 140;
|
|
374
396
|
this.path_block_inner();
|
|
375
397
|
}
|
|
376
398
|
}
|
|
@@ -378,7 +400,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
378
400
|
default:
|
|
379
401
|
throw new antlr.NoViableAltException(this);
|
|
380
402
|
}
|
|
381
|
-
this.state =
|
|
403
|
+
this.state = 143;
|
|
382
404
|
this.errorHandler.sync(this);
|
|
383
405
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 3, this.context);
|
|
384
406
|
} while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
|
|
@@ -405,7 +427,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
405
427
|
try {
|
|
406
428
|
this.enterOuterAlt(localContext, 1);
|
|
407
429
|
{
|
|
408
|
-
this.state =
|
|
430
|
+
this.state = 145;
|
|
409
431
|
_la = this.tokenStream.LA(1);
|
|
410
432
|
if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 1835520) !== 0))) {
|
|
411
433
|
this.errorHandler.recoverInline(this);
|
|
@@ -414,23 +436,23 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
414
436
|
this.errorHandler.reportMatch(this);
|
|
415
437
|
this.consume();
|
|
416
438
|
}
|
|
417
|
-
this.state =
|
|
439
|
+
this.state = 146;
|
|
418
440
|
this.match(CircuitScriptParser.T__0);
|
|
419
|
-
this.state =
|
|
441
|
+
this.state = 147;
|
|
420
442
|
this.match(CircuitScriptParser.NEWLINE);
|
|
421
|
-
this.state =
|
|
443
|
+
this.state = 148;
|
|
422
444
|
this.match(CircuitScriptParser.INDENT);
|
|
423
|
-
this.state =
|
|
445
|
+
this.state = 151;
|
|
424
446
|
this.errorHandler.sync(this);
|
|
425
447
|
_la = this.tokenStream.LA(1);
|
|
426
448
|
do {
|
|
427
449
|
{
|
|
428
|
-
this.state =
|
|
450
|
+
this.state = 151;
|
|
429
451
|
this.errorHandler.sync(this);
|
|
430
452
|
switch (this.tokenStream.LA(1)) {
|
|
431
453
|
case CircuitScriptParser.NEWLINE:
|
|
432
454
|
{
|
|
433
|
-
this.state =
|
|
455
|
+
this.state = 149;
|
|
434
456
|
this.match(CircuitScriptParser.NEWLINE);
|
|
435
457
|
}
|
|
436
458
|
break;
|
|
@@ -446,12 +468,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
446
468
|
case CircuitScriptParser.Parallel:
|
|
447
469
|
case CircuitScriptParser.Define:
|
|
448
470
|
case CircuitScriptParser.Import:
|
|
471
|
+
case CircuitScriptParser.If:
|
|
449
472
|
case CircuitScriptParser.Frame:
|
|
450
473
|
case CircuitScriptParser.Addition:
|
|
451
474
|
case CircuitScriptParser.Divide:
|
|
452
475
|
case CircuitScriptParser.ID:
|
|
453
476
|
{
|
|
454
|
-
this.state =
|
|
477
|
+
this.state = 150;
|
|
455
478
|
this.expression();
|
|
456
479
|
}
|
|
457
480
|
break;
|
|
@@ -459,11 +482,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
459
482
|
throw new antlr.NoViableAltException(this);
|
|
460
483
|
}
|
|
461
484
|
}
|
|
462
|
-
this.state =
|
|
485
|
+
this.state = 153;
|
|
463
486
|
this.errorHandler.sync(this);
|
|
464
487
|
_la = this.tokenStream.LA(1);
|
|
465
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
466
|
-
this.state =
|
|
488
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
489
|
+
this.state = 155;
|
|
467
490
|
this.match(CircuitScriptParser.DEDENT);
|
|
468
491
|
}
|
|
469
492
|
}
|
|
@@ -488,32 +511,32 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
488
511
|
try {
|
|
489
512
|
this.enterOuterAlt(localContext, 1);
|
|
490
513
|
{
|
|
491
|
-
this.state =
|
|
514
|
+
this.state = 157;
|
|
492
515
|
this.atom_expr();
|
|
493
|
-
this.state =
|
|
516
|
+
this.state = 158;
|
|
494
517
|
this.match(CircuitScriptParser.T__0);
|
|
495
|
-
this.state =
|
|
518
|
+
this.state = 159;
|
|
496
519
|
this.match(CircuitScriptParser.NEWLINE);
|
|
497
|
-
this.state =
|
|
520
|
+
this.state = 160;
|
|
498
521
|
this.match(CircuitScriptParser.INDENT);
|
|
499
|
-
this.state =
|
|
522
|
+
this.state = 163;
|
|
500
523
|
this.errorHandler.sync(this);
|
|
501
524
|
_la = this.tokenStream.LA(1);
|
|
502
525
|
do {
|
|
503
526
|
{
|
|
504
|
-
this.state =
|
|
527
|
+
this.state = 163;
|
|
505
528
|
this.errorHandler.sync(this);
|
|
506
529
|
switch (this.tokenStream.LA(1)) {
|
|
507
530
|
case CircuitScriptParser.NEWLINE:
|
|
508
531
|
{
|
|
509
|
-
this.state =
|
|
532
|
+
this.state = 161;
|
|
510
533
|
this.match(CircuitScriptParser.NEWLINE);
|
|
511
534
|
}
|
|
512
535
|
break;
|
|
513
536
|
case CircuitScriptParser.ID:
|
|
514
537
|
case CircuitScriptParser.INTEGER_VALUE:
|
|
515
538
|
{
|
|
516
|
-
this.state =
|
|
539
|
+
this.state = 162;
|
|
517
540
|
this.assignment_expr2();
|
|
518
541
|
}
|
|
519
542
|
break;
|
|
@@ -521,11 +544,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
521
544
|
throw new antlr.NoViableAltException(this);
|
|
522
545
|
}
|
|
523
546
|
}
|
|
524
|
-
this.state =
|
|
547
|
+
this.state = 165;
|
|
525
548
|
this.errorHandler.sync(this);
|
|
526
549
|
_la = this.tokenStream.LA(1);
|
|
527
|
-
} while (((((_la -
|
|
528
|
-
this.state =
|
|
550
|
+
} while (((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 259) !== 0));
|
|
551
|
+
this.state = 167;
|
|
529
552
|
this.match(CircuitScriptParser.DEDENT);
|
|
530
553
|
}
|
|
531
554
|
}
|
|
@@ -550,18 +573,18 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
550
573
|
try {
|
|
551
574
|
this.enterOuterAlt(localContext, 1);
|
|
552
575
|
{
|
|
553
|
-
this.state =
|
|
576
|
+
this.state = 169;
|
|
554
577
|
_la = this.tokenStream.LA(1);
|
|
555
|
-
if (!(_la ===
|
|
578
|
+
if (!(_la === 44 || _la === 45)) {
|
|
556
579
|
this.errorHandler.recoverInline(this);
|
|
557
580
|
}
|
|
558
581
|
else {
|
|
559
582
|
this.errorHandler.reportMatch(this);
|
|
560
583
|
this.consume();
|
|
561
584
|
}
|
|
562
|
-
this.state =
|
|
585
|
+
this.state = 170;
|
|
563
586
|
this.match(CircuitScriptParser.T__0);
|
|
564
|
-
this.state =
|
|
587
|
+
this.state = 171;
|
|
565
588
|
this.value_expr();
|
|
566
589
|
}
|
|
567
590
|
}
|
|
@@ -586,11 +609,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
586
609
|
try {
|
|
587
610
|
this.enterOuterAlt(localContext, 1);
|
|
588
611
|
{
|
|
589
|
-
this.state =
|
|
612
|
+
this.state = 173;
|
|
590
613
|
this.match(CircuitScriptParser.Pin);
|
|
591
|
-
this.state =
|
|
614
|
+
this.state = 174;
|
|
592
615
|
_la = this.tokenStream.LA(1);
|
|
593
|
-
if (!(_la ===
|
|
616
|
+
if (!(_la === 45 || _la === 48)) {
|
|
594
617
|
this.errorHandler.recoverInline(this);
|
|
595
618
|
}
|
|
596
619
|
else {
|
|
@@ -619,11 +642,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
619
642
|
try {
|
|
620
643
|
this.enterOuterAlt(localContext, 1);
|
|
621
644
|
{
|
|
622
|
-
this.state =
|
|
645
|
+
this.state = 176;
|
|
623
646
|
this.match(CircuitScriptParser.ID);
|
|
624
|
-
this.state =
|
|
647
|
+
this.state = 177;
|
|
625
648
|
this.match(CircuitScriptParser.T__0);
|
|
626
|
-
this.state =
|
|
649
|
+
this.state = 180;
|
|
627
650
|
this.errorHandler.sync(this);
|
|
628
651
|
switch (this.tokenStream.LA(1)) {
|
|
629
652
|
case CircuitScriptParser.T__5:
|
|
@@ -635,13 +658,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
635
658
|
case CircuitScriptParser.STRING_VALUE:
|
|
636
659
|
case CircuitScriptParser.PERCENTAGE_VALUE:
|
|
637
660
|
{
|
|
638
|
-
this.state =
|
|
661
|
+
this.state = 178;
|
|
639
662
|
this.value_expr();
|
|
640
663
|
}
|
|
641
664
|
break;
|
|
642
665
|
case CircuitScriptParser.ID:
|
|
643
666
|
{
|
|
644
|
-
this.state =
|
|
667
|
+
this.state = 179;
|
|
645
668
|
this.match(CircuitScriptParser.ID);
|
|
646
669
|
}
|
|
647
670
|
break;
|
|
@@ -672,44 +695,44 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
672
695
|
let alternative;
|
|
673
696
|
this.enterOuterAlt(localContext, 1);
|
|
674
697
|
{
|
|
675
|
-
this.state =
|
|
698
|
+
this.state = 184;
|
|
676
699
|
this.errorHandler.sync(this);
|
|
677
700
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
|
|
678
701
|
case 1:
|
|
679
702
|
{
|
|
680
|
-
this.state =
|
|
703
|
+
this.state = 182;
|
|
681
704
|
this.data_expr(0);
|
|
682
705
|
}
|
|
683
706
|
break;
|
|
684
707
|
case 2:
|
|
685
708
|
{
|
|
686
|
-
this.state =
|
|
709
|
+
this.state = 183;
|
|
687
710
|
this.assignment_expr();
|
|
688
711
|
}
|
|
689
712
|
break;
|
|
690
713
|
}
|
|
691
|
-
this.state =
|
|
714
|
+
this.state = 189;
|
|
692
715
|
this.errorHandler.sync(this);
|
|
693
716
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 10, this.context);
|
|
694
717
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
695
718
|
if (alternative === 1) {
|
|
696
719
|
{
|
|
697
720
|
{
|
|
698
|
-
this.state =
|
|
721
|
+
this.state = 186;
|
|
699
722
|
this.component_modifier_expr();
|
|
700
723
|
}
|
|
701
724
|
}
|
|
702
725
|
}
|
|
703
|
-
this.state =
|
|
726
|
+
this.state = 191;
|
|
704
727
|
this.errorHandler.sync(this);
|
|
705
728
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 10, this.context);
|
|
706
729
|
}
|
|
707
|
-
this.state =
|
|
730
|
+
this.state = 193;
|
|
708
731
|
this.errorHandler.sync(this);
|
|
709
732
|
_la = this.tokenStream.LA(1);
|
|
710
733
|
if (_la === 14) {
|
|
711
734
|
{
|
|
712
|
-
this.state =
|
|
735
|
+
this.state = 192;
|
|
713
736
|
this.pin_select_expr();
|
|
714
737
|
}
|
|
715
738
|
}
|
|
@@ -735,9 +758,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
735
758
|
try {
|
|
736
759
|
this.enterOuterAlt(localContext, 1);
|
|
737
760
|
{
|
|
738
|
-
this.state =
|
|
761
|
+
this.state = 195;
|
|
739
762
|
this.match(CircuitScriptParser.Add);
|
|
740
|
-
this.state =
|
|
763
|
+
this.state = 196;
|
|
741
764
|
this.data_expr_with_assignment();
|
|
742
765
|
}
|
|
743
766
|
}
|
|
@@ -759,7 +782,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
759
782
|
let localContext = new Component_select_exprContext(this.context, this.state);
|
|
760
783
|
this.enterRule(localContext, 20, CircuitScriptParser.RULE_component_select_expr);
|
|
761
784
|
try {
|
|
762
|
-
this.state =
|
|
785
|
+
this.state = 200;
|
|
763
786
|
this.errorHandler.sync(this);
|
|
764
787
|
switch (this.tokenStream.LA(1)) {
|
|
765
788
|
case CircuitScriptParser.T__5:
|
|
@@ -778,14 +801,14 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
778
801
|
case CircuitScriptParser.PERCENTAGE_VALUE:
|
|
779
802
|
this.enterOuterAlt(localContext, 1);
|
|
780
803
|
{
|
|
781
|
-
this.state =
|
|
804
|
+
this.state = 198;
|
|
782
805
|
this.data_expr_with_assignment();
|
|
783
806
|
}
|
|
784
807
|
break;
|
|
785
808
|
case CircuitScriptParser.Pin:
|
|
786
809
|
this.enterOuterAlt(localContext, 2);
|
|
787
810
|
{
|
|
788
|
-
this.state =
|
|
811
|
+
this.state = 199;
|
|
789
812
|
this.pin_select_expr();
|
|
790
813
|
}
|
|
791
814
|
break;
|
|
@@ -814,9 +837,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
814
837
|
try {
|
|
815
838
|
this.enterOuterAlt(localContext, 1);
|
|
816
839
|
{
|
|
817
|
-
this.state =
|
|
840
|
+
this.state = 202;
|
|
818
841
|
_la = this.tokenStream.LA(1);
|
|
819
|
-
if (!(_la ===
|
|
842
|
+
if (!(_la === 45 || _la === 48)) {
|
|
820
843
|
this.errorHandler.recoverInline(this);
|
|
821
844
|
}
|
|
822
845
|
else {
|
|
@@ -845,9 +868,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
845
868
|
try {
|
|
846
869
|
this.enterOuterAlt(localContext, 1);
|
|
847
870
|
{
|
|
848
|
-
this.state =
|
|
871
|
+
this.state = 204;
|
|
849
872
|
this.match(CircuitScriptParser.At);
|
|
850
|
-
this.state =
|
|
873
|
+
this.state = 207;
|
|
851
874
|
this.errorHandler.sync(this);
|
|
852
875
|
switch (this.tokenStream.LA(1)) {
|
|
853
876
|
case CircuitScriptParser.T__5:
|
|
@@ -866,13 +889,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
866
889
|
case CircuitScriptParser.STRING_VALUE:
|
|
867
890
|
case CircuitScriptParser.PERCENTAGE_VALUE:
|
|
868
891
|
{
|
|
869
|
-
this.state =
|
|
892
|
+
this.state = 205;
|
|
870
893
|
this.component_select_expr();
|
|
871
894
|
}
|
|
872
895
|
break;
|
|
873
896
|
case CircuitScriptParser.Point:
|
|
874
897
|
{
|
|
875
|
-
this.state =
|
|
898
|
+
this.state = 206;
|
|
876
899
|
this.match(CircuitScriptParser.Point);
|
|
877
900
|
}
|
|
878
901
|
break;
|
|
@@ -902,9 +925,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
902
925
|
try {
|
|
903
926
|
this.enterOuterAlt(localContext, 1);
|
|
904
927
|
{
|
|
905
|
-
this.state =
|
|
928
|
+
this.state = 209;
|
|
906
929
|
this.match(CircuitScriptParser.To);
|
|
907
|
-
this.state =
|
|
930
|
+
this.state = 219;
|
|
908
931
|
this.errorHandler.sync(this);
|
|
909
932
|
switch (this.tokenStream.LA(1)) {
|
|
910
933
|
case CircuitScriptParser.T__5:
|
|
@@ -924,21 +947,21 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
924
947
|
case CircuitScriptParser.PERCENTAGE_VALUE:
|
|
925
948
|
{
|
|
926
949
|
{
|
|
927
|
-
this.state =
|
|
950
|
+
this.state = 210;
|
|
928
951
|
this.component_select_expr();
|
|
929
|
-
this.state =
|
|
952
|
+
this.state = 215;
|
|
930
953
|
this.errorHandler.sync(this);
|
|
931
954
|
_la = this.tokenStream.LA(1);
|
|
932
955
|
while (_la === 2) {
|
|
933
956
|
{
|
|
934
957
|
{
|
|
935
|
-
this.state =
|
|
958
|
+
this.state = 211;
|
|
936
959
|
this.match(CircuitScriptParser.T__1);
|
|
937
|
-
this.state =
|
|
960
|
+
this.state = 212;
|
|
938
961
|
this.component_select_expr();
|
|
939
962
|
}
|
|
940
963
|
}
|
|
941
|
-
this.state =
|
|
964
|
+
this.state = 217;
|
|
942
965
|
this.errorHandler.sync(this);
|
|
943
966
|
_la = this.tokenStream.LA(1);
|
|
944
967
|
}
|
|
@@ -947,7 +970,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
947
970
|
break;
|
|
948
971
|
case CircuitScriptParser.Point:
|
|
949
972
|
{
|
|
950
|
-
this.state =
|
|
973
|
+
this.state = 218;
|
|
951
974
|
this.match(CircuitScriptParser.Point);
|
|
952
975
|
}
|
|
953
976
|
break;
|
|
@@ -977,54 +1000,54 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
977
1000
|
try {
|
|
978
1001
|
this.enterOuterAlt(localContext, 1);
|
|
979
1002
|
{
|
|
980
|
-
this.state =
|
|
1003
|
+
this.state = 221;
|
|
981
1004
|
this.match(CircuitScriptParser.At);
|
|
982
|
-
this.state =
|
|
1005
|
+
this.state = 222;
|
|
983
1006
|
this.component_select_expr();
|
|
984
|
-
this.state =
|
|
1007
|
+
this.state = 223;
|
|
985
1008
|
this.match(CircuitScriptParser.To);
|
|
986
|
-
this.state =
|
|
1009
|
+
this.state = 224;
|
|
987
1010
|
this.component_select_expr();
|
|
988
|
-
this.state =
|
|
1011
|
+
this.state = 229;
|
|
989
1012
|
this.errorHandler.sync(this);
|
|
990
1013
|
_la = this.tokenStream.LA(1);
|
|
991
1014
|
while (_la === 2) {
|
|
992
1015
|
{
|
|
993
1016
|
{
|
|
994
|
-
this.state =
|
|
1017
|
+
this.state = 225;
|
|
995
1018
|
this.match(CircuitScriptParser.T__1);
|
|
996
|
-
this.state =
|
|
1019
|
+
this.state = 226;
|
|
997
1020
|
this.component_select_expr();
|
|
998
1021
|
}
|
|
999
1022
|
}
|
|
1000
|
-
this.state =
|
|
1023
|
+
this.state = 231;
|
|
1001
1024
|
this.errorHandler.sync(this);
|
|
1002
1025
|
_la = this.tokenStream.LA(1);
|
|
1003
1026
|
}
|
|
1004
|
-
this.state =
|
|
1027
|
+
this.state = 232;
|
|
1005
1028
|
this.match(CircuitScriptParser.T__0);
|
|
1006
|
-
this.state =
|
|
1029
|
+
this.state = 233;
|
|
1007
1030
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1008
|
-
this.state =
|
|
1031
|
+
this.state = 234;
|
|
1009
1032
|
this.match(CircuitScriptParser.INDENT);
|
|
1010
|
-
this.state =
|
|
1033
|
+
this.state = 237;
|
|
1011
1034
|
this.errorHandler.sync(this);
|
|
1012
1035
|
_la = this.tokenStream.LA(1);
|
|
1013
1036
|
do {
|
|
1014
1037
|
{
|
|
1015
|
-
this.state =
|
|
1038
|
+
this.state = 237;
|
|
1016
1039
|
this.errorHandler.sync(this);
|
|
1017
1040
|
switch (this.tokenStream.LA(1)) {
|
|
1018
1041
|
case CircuitScriptParser.NEWLINE:
|
|
1019
1042
|
{
|
|
1020
|
-
this.state =
|
|
1043
|
+
this.state = 235;
|
|
1021
1044
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1022
1045
|
}
|
|
1023
1046
|
break;
|
|
1024
1047
|
case CircuitScriptParser.INTEGER_VALUE:
|
|
1025
1048
|
case CircuitScriptParser.STRING_VALUE:
|
|
1026
1049
|
{
|
|
1027
|
-
this.state =
|
|
1050
|
+
this.state = 236;
|
|
1028
1051
|
this.at_to_multiple_line_expr();
|
|
1029
1052
|
}
|
|
1030
1053
|
break;
|
|
@@ -1032,11 +1055,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1032
1055
|
throw new antlr.NoViableAltException(this);
|
|
1033
1056
|
}
|
|
1034
1057
|
}
|
|
1035
|
-
this.state =
|
|
1058
|
+
this.state = 239;
|
|
1036
1059
|
this.errorHandler.sync(this);
|
|
1037
1060
|
_la = this.tokenStream.LA(1);
|
|
1038
|
-
} while (((((_la -
|
|
1039
|
-
this.state =
|
|
1061
|
+
} while (((((_la - 45)) & ~0x1F) === 0 && ((1 << (_la - 45)) & 137) !== 0));
|
|
1062
|
+
this.state = 241;
|
|
1040
1063
|
this.match(CircuitScriptParser.DEDENT);
|
|
1041
1064
|
}
|
|
1042
1065
|
}
|
|
@@ -1061,25 +1084,25 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1061
1084
|
try {
|
|
1062
1085
|
this.enterOuterAlt(localContext, 1);
|
|
1063
1086
|
{
|
|
1064
|
-
this.state =
|
|
1087
|
+
this.state = 243;
|
|
1065
1088
|
this.pin_select_expr2();
|
|
1066
|
-
this.state =
|
|
1089
|
+
this.state = 244;
|
|
1067
1090
|
this.match(CircuitScriptParser.T__0);
|
|
1068
|
-
this.state =
|
|
1091
|
+
this.state = 245;
|
|
1069
1092
|
this.at_to_multiple_line_expr_to_pin();
|
|
1070
|
-
this.state =
|
|
1093
|
+
this.state = 250;
|
|
1071
1094
|
this.errorHandler.sync(this);
|
|
1072
1095
|
_la = this.tokenStream.LA(1);
|
|
1073
1096
|
while (_la === 2) {
|
|
1074
1097
|
{
|
|
1075
1098
|
{
|
|
1076
|
-
this.state =
|
|
1099
|
+
this.state = 246;
|
|
1077
1100
|
this.match(CircuitScriptParser.T__1);
|
|
1078
|
-
this.state =
|
|
1101
|
+
this.state = 247;
|
|
1079
1102
|
this.at_to_multiple_line_expr_to_pin();
|
|
1080
1103
|
}
|
|
1081
1104
|
}
|
|
1082
|
-
this.state =
|
|
1105
|
+
this.state = 252;
|
|
1083
1106
|
this.errorHandler.sync(this);
|
|
1084
1107
|
_la = this.tokenStream.LA(1);
|
|
1085
1108
|
}
|
|
@@ -1106,9 +1129,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1106
1129
|
try {
|
|
1107
1130
|
this.enterOuterAlt(localContext, 1);
|
|
1108
1131
|
{
|
|
1109
|
-
this.state =
|
|
1132
|
+
this.state = 253;
|
|
1110
1133
|
_la = this.tokenStream.LA(1);
|
|
1111
|
-
if (!(_la ===
|
|
1134
|
+
if (!(_la === 42 || _la === 45)) {
|
|
1112
1135
|
this.errorHandler.recoverInline(this);
|
|
1113
1136
|
}
|
|
1114
1137
|
else {
|
|
@@ -1138,25 +1161,25 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1138
1161
|
try {
|
|
1139
1162
|
this.enterOuterAlt(localContext, 1);
|
|
1140
1163
|
{
|
|
1141
|
-
this.state =
|
|
1164
|
+
this.state = 255;
|
|
1142
1165
|
this.at_component_expr();
|
|
1143
|
-
this.state =
|
|
1166
|
+
this.state = 256;
|
|
1144
1167
|
this.match(CircuitScriptParser.T__0);
|
|
1145
|
-
this.state =
|
|
1168
|
+
this.state = 257;
|
|
1146
1169
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1147
|
-
this.state =
|
|
1170
|
+
this.state = 258;
|
|
1148
1171
|
this.match(CircuitScriptParser.INDENT);
|
|
1149
|
-
this.state =
|
|
1172
|
+
this.state = 261;
|
|
1150
1173
|
this.errorHandler.sync(this);
|
|
1151
1174
|
_la = this.tokenStream.LA(1);
|
|
1152
1175
|
do {
|
|
1153
1176
|
{
|
|
1154
|
-
this.state =
|
|
1177
|
+
this.state = 261;
|
|
1155
1178
|
this.errorHandler.sync(this);
|
|
1156
1179
|
switch (this.tokenStream.LA(1)) {
|
|
1157
1180
|
case CircuitScriptParser.NEWLINE:
|
|
1158
1181
|
{
|
|
1159
|
-
this.state =
|
|
1182
|
+
this.state = 259;
|
|
1160
1183
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1161
1184
|
}
|
|
1162
1185
|
break;
|
|
@@ -1172,6 +1195,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1172
1195
|
case CircuitScriptParser.Parallel:
|
|
1173
1196
|
case CircuitScriptParser.Define:
|
|
1174
1197
|
case CircuitScriptParser.Import:
|
|
1198
|
+
case CircuitScriptParser.If:
|
|
1175
1199
|
case CircuitScriptParser.Frame:
|
|
1176
1200
|
case CircuitScriptParser.Addition:
|
|
1177
1201
|
case CircuitScriptParser.Divide:
|
|
@@ -1179,7 +1203,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1179
1203
|
case CircuitScriptParser.INTEGER_VALUE:
|
|
1180
1204
|
case CircuitScriptParser.STRING_VALUE:
|
|
1181
1205
|
{
|
|
1182
|
-
this.state =
|
|
1206
|
+
this.state = 260;
|
|
1183
1207
|
this.at_block_expressions();
|
|
1184
1208
|
}
|
|
1185
1209
|
break;
|
|
@@ -1187,11 +1211,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1187
1211
|
throw new antlr.NoViableAltException(this);
|
|
1188
1212
|
}
|
|
1189
1213
|
}
|
|
1190
|
-
this.state =
|
|
1214
|
+
this.state = 263;
|
|
1191
1215
|
this.errorHandler.sync(this);
|
|
1192
1216
|
_la = this.tokenStream.LA(1);
|
|
1193
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
1194
|
-
this.state =
|
|
1217
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 70405) !== 0));
|
|
1218
|
+
this.state = 265;
|
|
1195
1219
|
this.match(CircuitScriptParser.DEDENT);
|
|
1196
1220
|
}
|
|
1197
1221
|
}
|
|
@@ -1213,7 +1237,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1213
1237
|
let localContext = new At_block_expressionsContext(this.context, this.state);
|
|
1214
1238
|
this.enterRule(localContext, 36, CircuitScriptParser.RULE_at_block_expressions);
|
|
1215
1239
|
try {
|
|
1216
|
-
this.state =
|
|
1240
|
+
this.state = 269;
|
|
1217
1241
|
this.errorHandler.sync(this);
|
|
1218
1242
|
switch (this.tokenStream.LA(1)) {
|
|
1219
1243
|
case CircuitScriptParser.T__3:
|
|
@@ -1228,13 +1252,14 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1228
1252
|
case CircuitScriptParser.Parallel:
|
|
1229
1253
|
case CircuitScriptParser.Define:
|
|
1230
1254
|
case CircuitScriptParser.Import:
|
|
1255
|
+
case CircuitScriptParser.If:
|
|
1231
1256
|
case CircuitScriptParser.Frame:
|
|
1232
1257
|
case CircuitScriptParser.Addition:
|
|
1233
1258
|
case CircuitScriptParser.Divide:
|
|
1234
1259
|
case CircuitScriptParser.ID:
|
|
1235
1260
|
this.enterOuterAlt(localContext, 1);
|
|
1236
1261
|
{
|
|
1237
|
-
this.state =
|
|
1262
|
+
this.state = 267;
|
|
1238
1263
|
this.expression();
|
|
1239
1264
|
}
|
|
1240
1265
|
break;
|
|
@@ -1242,7 +1267,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1242
1267
|
case CircuitScriptParser.STRING_VALUE:
|
|
1243
1268
|
this.enterOuterAlt(localContext, 2);
|
|
1244
1269
|
{
|
|
1245
|
-
this.state =
|
|
1270
|
+
this.state = 268;
|
|
1246
1271
|
this.at_block_pin_expr();
|
|
1247
1272
|
}
|
|
1248
1273
|
break;
|
|
@@ -1270,11 +1295,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1270
1295
|
try {
|
|
1271
1296
|
this.enterOuterAlt(localContext, 1);
|
|
1272
1297
|
{
|
|
1273
|
-
this.state =
|
|
1298
|
+
this.state = 271;
|
|
1274
1299
|
this.pin_select_expr2();
|
|
1275
|
-
this.state =
|
|
1300
|
+
this.state = 272;
|
|
1276
1301
|
this.match(CircuitScriptParser.T__0);
|
|
1277
|
-
this.state =
|
|
1302
|
+
this.state = 275;
|
|
1278
1303
|
this.errorHandler.sync(this);
|
|
1279
1304
|
switch (this.tokenStream.LA(1)) {
|
|
1280
1305
|
case CircuitScriptParser.T__3:
|
|
@@ -1289,19 +1314,20 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1289
1314
|
case CircuitScriptParser.Parallel:
|
|
1290
1315
|
case CircuitScriptParser.Define:
|
|
1291
1316
|
case CircuitScriptParser.Import:
|
|
1317
|
+
case CircuitScriptParser.If:
|
|
1292
1318
|
case CircuitScriptParser.Frame:
|
|
1293
1319
|
case CircuitScriptParser.Addition:
|
|
1294
1320
|
case CircuitScriptParser.Divide:
|
|
1295
1321
|
case CircuitScriptParser.NOT_CONNECTED:
|
|
1296
1322
|
case CircuitScriptParser.ID:
|
|
1297
1323
|
{
|
|
1298
|
-
this.state =
|
|
1324
|
+
this.state = 273;
|
|
1299
1325
|
this.at_block_pin_expression_simple();
|
|
1300
1326
|
}
|
|
1301
1327
|
break;
|
|
1302
1328
|
case CircuitScriptParser.NEWLINE:
|
|
1303
1329
|
{
|
|
1304
|
-
this.state =
|
|
1330
|
+
this.state = 274;
|
|
1305
1331
|
this.at_block_pin_expression_complex();
|
|
1306
1332
|
}
|
|
1307
1333
|
break;
|
|
@@ -1330,7 +1356,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1330
1356
|
try {
|
|
1331
1357
|
this.enterOuterAlt(localContext, 1);
|
|
1332
1358
|
{
|
|
1333
|
-
this.state =
|
|
1359
|
+
this.state = 279;
|
|
1334
1360
|
this.errorHandler.sync(this);
|
|
1335
1361
|
switch (this.tokenStream.LA(1)) {
|
|
1336
1362
|
case CircuitScriptParser.T__3:
|
|
@@ -1345,18 +1371,19 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1345
1371
|
case CircuitScriptParser.Parallel:
|
|
1346
1372
|
case CircuitScriptParser.Define:
|
|
1347
1373
|
case CircuitScriptParser.Import:
|
|
1374
|
+
case CircuitScriptParser.If:
|
|
1348
1375
|
case CircuitScriptParser.Frame:
|
|
1349
1376
|
case CircuitScriptParser.Addition:
|
|
1350
1377
|
case CircuitScriptParser.Divide:
|
|
1351
1378
|
case CircuitScriptParser.ID:
|
|
1352
1379
|
{
|
|
1353
|
-
this.state =
|
|
1380
|
+
this.state = 277;
|
|
1354
1381
|
this.expression();
|
|
1355
1382
|
}
|
|
1356
1383
|
break;
|
|
1357
1384
|
case CircuitScriptParser.NOT_CONNECTED:
|
|
1358
1385
|
{
|
|
1359
|
-
this.state =
|
|
1386
|
+
this.state = 278;
|
|
1360
1387
|
this.match(CircuitScriptParser.NOT_CONNECTED);
|
|
1361
1388
|
}
|
|
1362
1389
|
break;
|
|
@@ -1386,21 +1413,21 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1386
1413
|
try {
|
|
1387
1414
|
this.enterOuterAlt(localContext, 1);
|
|
1388
1415
|
{
|
|
1389
|
-
this.state =
|
|
1416
|
+
this.state = 281;
|
|
1390
1417
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1391
|
-
this.state =
|
|
1418
|
+
this.state = 282;
|
|
1392
1419
|
this.match(CircuitScriptParser.INDENT);
|
|
1393
|
-
this.state =
|
|
1420
|
+
this.state = 285;
|
|
1394
1421
|
this.errorHandler.sync(this);
|
|
1395
1422
|
_la = this.tokenStream.LA(1);
|
|
1396
1423
|
do {
|
|
1397
1424
|
{
|
|
1398
|
-
this.state =
|
|
1425
|
+
this.state = 285;
|
|
1399
1426
|
this.errorHandler.sync(this);
|
|
1400
1427
|
switch (this.tokenStream.LA(1)) {
|
|
1401
1428
|
case CircuitScriptParser.NEWLINE:
|
|
1402
1429
|
{
|
|
1403
|
-
this.state =
|
|
1430
|
+
this.state = 283;
|
|
1404
1431
|
this.match(CircuitScriptParser.NEWLINE);
|
|
1405
1432
|
}
|
|
1406
1433
|
break;
|
|
@@ -1416,12 +1443,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1416
1443
|
case CircuitScriptParser.Parallel:
|
|
1417
1444
|
case CircuitScriptParser.Define:
|
|
1418
1445
|
case CircuitScriptParser.Import:
|
|
1446
|
+
case CircuitScriptParser.If:
|
|
1419
1447
|
case CircuitScriptParser.Frame:
|
|
1420
1448
|
case CircuitScriptParser.Addition:
|
|
1421
1449
|
case CircuitScriptParser.Divide:
|
|
1422
1450
|
case CircuitScriptParser.ID:
|
|
1423
1451
|
{
|
|
1424
|
-
this.state =
|
|
1452
|
+
this.state = 284;
|
|
1425
1453
|
this.expression();
|
|
1426
1454
|
}
|
|
1427
1455
|
break;
|
|
@@ -1429,11 +1457,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1429
1457
|
throw new antlr.NoViableAltException(this);
|
|
1430
1458
|
}
|
|
1431
1459
|
}
|
|
1432
|
-
this.state =
|
|
1460
|
+
this.state = 287;
|
|
1433
1461
|
this.errorHandler.sync(this);
|
|
1434
1462
|
_la = this.tokenStream.LA(1);
|
|
1435
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
1436
|
-
this.state =
|
|
1463
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
1464
|
+
this.state = 289;
|
|
1437
1465
|
this.match(CircuitScriptParser.DEDENT);
|
|
1438
1466
|
}
|
|
1439
1467
|
}
|
|
@@ -1457,7 +1485,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1457
1485
|
try {
|
|
1458
1486
|
this.enterOuterAlt(localContext, 1);
|
|
1459
1487
|
{
|
|
1460
|
-
this.state =
|
|
1488
|
+
this.state = 291;
|
|
1461
1489
|
this.match(CircuitScriptParser.Break);
|
|
1462
1490
|
}
|
|
1463
1491
|
}
|
|
@@ -1481,11 +1509,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1481
1509
|
try {
|
|
1482
1510
|
this.enterOuterAlt(localContext, 1);
|
|
1483
1511
|
{
|
|
1484
|
-
this.state =
|
|
1512
|
+
this.state = 293;
|
|
1485
1513
|
this.atom_expr();
|
|
1486
|
-
this.state =
|
|
1514
|
+
this.state = 294;
|
|
1487
1515
|
this.match(CircuitScriptParser.T__2);
|
|
1488
|
-
this.state =
|
|
1516
|
+
this.state = 295;
|
|
1489
1517
|
this.data_expr(0);
|
|
1490
1518
|
}
|
|
1491
1519
|
}
|
|
@@ -1509,11 +1537,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1509
1537
|
try {
|
|
1510
1538
|
this.enterOuterAlt(localContext, 1);
|
|
1511
1539
|
{
|
|
1512
|
-
this.state =
|
|
1540
|
+
this.state = 297;
|
|
1513
1541
|
this.match(CircuitScriptParser.ID);
|
|
1514
|
-
this.state =
|
|
1542
|
+
this.state = 298;
|
|
1515
1543
|
this.match(CircuitScriptParser.T__2);
|
|
1516
|
-
this.state =
|
|
1544
|
+
this.state = 299;
|
|
1517
1545
|
this.data_expr(0);
|
|
1518
1546
|
}
|
|
1519
1547
|
}
|
|
@@ -1537,46 +1565,46 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1537
1565
|
let _la;
|
|
1538
1566
|
try {
|
|
1539
1567
|
let alternative;
|
|
1540
|
-
this.state =
|
|
1568
|
+
this.state = 324;
|
|
1541
1569
|
this.errorHandler.sync(this);
|
|
1542
1570
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
|
|
1543
1571
|
case 1:
|
|
1544
1572
|
this.enterOuterAlt(localContext, 1);
|
|
1545
1573
|
{
|
|
1546
1574
|
{
|
|
1547
|
-
this.state =
|
|
1575
|
+
this.state = 301;
|
|
1548
1576
|
this.data_expr(0);
|
|
1549
|
-
this.state =
|
|
1577
|
+
this.state = 306;
|
|
1550
1578
|
this.errorHandler.sync(this);
|
|
1551
1579
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 27, this.context);
|
|
1552
1580
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
1553
1581
|
if (alternative === 1) {
|
|
1554
1582
|
{
|
|
1555
1583
|
{
|
|
1556
|
-
this.state =
|
|
1584
|
+
this.state = 302;
|
|
1557
1585
|
this.match(CircuitScriptParser.T__1);
|
|
1558
|
-
this.state =
|
|
1586
|
+
this.state = 303;
|
|
1559
1587
|
this.data_expr(0);
|
|
1560
1588
|
}
|
|
1561
1589
|
}
|
|
1562
1590
|
}
|
|
1563
|
-
this.state =
|
|
1591
|
+
this.state = 308;
|
|
1564
1592
|
this.errorHandler.sync(this);
|
|
1565
1593
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 27, this.context);
|
|
1566
1594
|
}
|
|
1567
|
-
this.state =
|
|
1595
|
+
this.state = 313;
|
|
1568
1596
|
this.errorHandler.sync(this);
|
|
1569
1597
|
_la = this.tokenStream.LA(1);
|
|
1570
1598
|
while (_la === 2) {
|
|
1571
1599
|
{
|
|
1572
1600
|
{
|
|
1573
|
-
this.state =
|
|
1601
|
+
this.state = 309;
|
|
1574
1602
|
this.match(CircuitScriptParser.T__1);
|
|
1575
|
-
this.state =
|
|
1603
|
+
this.state = 310;
|
|
1576
1604
|
this.keyword_assignment_expr();
|
|
1577
1605
|
}
|
|
1578
1606
|
}
|
|
1579
|
-
this.state =
|
|
1607
|
+
this.state = 315;
|
|
1580
1608
|
this.errorHandler.sync(this);
|
|
1581
1609
|
_la = this.tokenStream.LA(1);
|
|
1582
1610
|
}
|
|
@@ -1587,21 +1615,21 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1587
1615
|
this.enterOuterAlt(localContext, 2);
|
|
1588
1616
|
{
|
|
1589
1617
|
{
|
|
1590
|
-
this.state =
|
|
1618
|
+
this.state = 316;
|
|
1591
1619
|
this.keyword_assignment_expr();
|
|
1592
|
-
this.state =
|
|
1620
|
+
this.state = 321;
|
|
1593
1621
|
this.errorHandler.sync(this);
|
|
1594
1622
|
_la = this.tokenStream.LA(1);
|
|
1595
1623
|
while (_la === 2) {
|
|
1596
1624
|
{
|
|
1597
1625
|
{
|
|
1598
|
-
this.state =
|
|
1626
|
+
this.state = 317;
|
|
1599
1627
|
this.match(CircuitScriptParser.T__1);
|
|
1600
|
-
this.state =
|
|
1628
|
+
this.state = 318;
|
|
1601
1629
|
this.keyword_assignment_expr();
|
|
1602
1630
|
}
|
|
1603
1631
|
}
|
|
1604
|
-
this.state =
|
|
1632
|
+
this.state = 323;
|
|
1605
1633
|
this.errorHandler.sync(this);
|
|
1606
1634
|
_la = this.tokenStream.LA(1);
|
|
1607
1635
|
}
|
|
@@ -1630,11 +1658,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1630
1658
|
try {
|
|
1631
1659
|
this.enterOuterAlt(localContext, 1);
|
|
1632
1660
|
{
|
|
1633
|
-
this.state =
|
|
1661
|
+
this.state = 326;
|
|
1634
1662
|
this.atom_expr();
|
|
1635
|
-
this.state =
|
|
1663
|
+
this.state = 327;
|
|
1636
1664
|
this.match(CircuitScriptParser.T__2);
|
|
1637
|
-
this.state =
|
|
1665
|
+
this.state = 328;
|
|
1638
1666
|
this.data_expr(0);
|
|
1639
1667
|
}
|
|
1640
1668
|
}
|
|
@@ -1658,13 +1686,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1658
1686
|
try {
|
|
1659
1687
|
this.enterOuterAlt(localContext, 1);
|
|
1660
1688
|
{
|
|
1661
|
-
this.state =
|
|
1689
|
+
this.state = 330;
|
|
1662
1690
|
this.match(CircuitScriptParser.T__3);
|
|
1663
|
-
this.state =
|
|
1691
|
+
this.state = 331;
|
|
1664
1692
|
this.match(CircuitScriptParser.ID);
|
|
1665
|
-
this.state =
|
|
1693
|
+
this.state = 332;
|
|
1666
1694
|
this.match(CircuitScriptParser.T__2);
|
|
1667
|
-
this.state =
|
|
1695
|
+
this.state = 333;
|
|
1668
1696
|
this.data_expr(0);
|
|
1669
1697
|
}
|
|
1670
1698
|
}
|
|
@@ -1697,7 +1725,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1697
1725
|
let alternative;
|
|
1698
1726
|
this.enterOuterAlt(localContext, 1);
|
|
1699
1727
|
{
|
|
1700
|
-
this.state =
|
|
1728
|
+
this.state = 350;
|
|
1701
1729
|
this.errorHandler.sync(this);
|
|
1702
1730
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 32, this.context)) {
|
|
1703
1731
|
case 1:
|
|
@@ -1705,11 +1733,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1705
1733
|
localContext = new RoundedBracketsExprContext(localContext);
|
|
1706
1734
|
this.context = localContext;
|
|
1707
1735
|
previousContext = localContext;
|
|
1708
|
-
this.state =
|
|
1736
|
+
this.state = 336;
|
|
1709
1737
|
this.match(CircuitScriptParser.OPEN_PAREN);
|
|
1710
|
-
this.state =
|
|
1738
|
+
this.state = 337;
|
|
1711
1739
|
this.data_expr(0);
|
|
1712
|
-
this.state =
|
|
1740
|
+
this.state = 338;
|
|
1713
1741
|
this.match(CircuitScriptParser.CLOSE_PAREN);
|
|
1714
1742
|
}
|
|
1715
1743
|
break;
|
|
@@ -1718,7 +1746,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1718
1746
|
localContext = new ValueAtomExprContext(localContext);
|
|
1719
1747
|
this.context = localContext;
|
|
1720
1748
|
previousContext = localContext;
|
|
1721
|
-
this.state =
|
|
1749
|
+
this.state = 342;
|
|
1722
1750
|
this.errorHandler.sync(this);
|
|
1723
1751
|
switch (this.tokenStream.LA(1)) {
|
|
1724
1752
|
case CircuitScriptParser.T__5:
|
|
@@ -1730,13 +1758,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1730
1758
|
case CircuitScriptParser.STRING_VALUE:
|
|
1731
1759
|
case CircuitScriptParser.PERCENTAGE_VALUE:
|
|
1732
1760
|
{
|
|
1733
|
-
this.state =
|
|
1761
|
+
this.state = 340;
|
|
1734
1762
|
this.value_expr();
|
|
1735
1763
|
}
|
|
1736
1764
|
break;
|
|
1737
1765
|
case CircuitScriptParser.ID:
|
|
1738
1766
|
{
|
|
1739
|
-
this.state =
|
|
1767
|
+
this.state = 341;
|
|
1740
1768
|
this.atom_expr();
|
|
1741
1769
|
}
|
|
1742
1770
|
break;
|
|
@@ -1750,10 +1778,10 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1750
1778
|
localContext = new UnaryOperatorExprContext(localContext);
|
|
1751
1779
|
this.context = localContext;
|
|
1752
1780
|
previousContext = localContext;
|
|
1753
|
-
this.state =
|
|
1781
|
+
this.state = 344;
|
|
1754
1782
|
this.unary_operator();
|
|
1755
|
-
this.state =
|
|
1756
|
-
this.data_expr(
|
|
1783
|
+
this.state = 345;
|
|
1784
|
+
this.data_expr(8);
|
|
1757
1785
|
}
|
|
1758
1786
|
break;
|
|
1759
1787
|
case 4:
|
|
@@ -1761,7 +1789,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1761
1789
|
localContext = new DataExprContext(localContext);
|
|
1762
1790
|
this.context = localContext;
|
|
1763
1791
|
previousContext = localContext;
|
|
1764
|
-
this.state =
|
|
1792
|
+
this.state = 347;
|
|
1765
1793
|
this.create_component_expr();
|
|
1766
1794
|
}
|
|
1767
1795
|
break;
|
|
@@ -1770,7 +1798,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1770
1798
|
localContext = new DataExprContext(localContext);
|
|
1771
1799
|
this.context = localContext;
|
|
1772
1800
|
previousContext = localContext;
|
|
1773
|
-
this.state =
|
|
1801
|
+
this.state = 348;
|
|
1774
1802
|
this.create_graphic_expr();
|
|
1775
1803
|
}
|
|
1776
1804
|
break;
|
|
@@ -1779,13 +1807,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1779
1807
|
localContext = new FunctionCallExprContext(localContext);
|
|
1780
1808
|
this.context = localContext;
|
|
1781
1809
|
previousContext = localContext;
|
|
1782
|
-
this.state =
|
|
1810
|
+
this.state = 349;
|
|
1783
1811
|
this.function_call_expr();
|
|
1784
1812
|
}
|
|
1785
1813
|
break;
|
|
1786
1814
|
}
|
|
1787
1815
|
this.context.stop = this.tokenStream.LT(-1);
|
|
1788
|
-
this.state =
|
|
1816
|
+
this.state = 367;
|
|
1789
1817
|
this.errorHandler.sync(this);
|
|
1790
1818
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 34, this.context);
|
|
1791
1819
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
@@ -1795,69 +1823,90 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1795
1823
|
}
|
|
1796
1824
|
previousContext = localContext;
|
|
1797
1825
|
{
|
|
1798
|
-
this.state =
|
|
1826
|
+
this.state = 365;
|
|
1799
1827
|
this.errorHandler.sync(this);
|
|
1800
1828
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 33, this.context)) {
|
|
1801
1829
|
case 1:
|
|
1802
1830
|
{
|
|
1803
1831
|
localContext = new MultiplyExprContext(new Data_exprContext(parentContext, parentState));
|
|
1804
1832
|
this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
|
|
1805
|
-
this.state =
|
|
1806
|
-
if (!(this.precpred(this.context,
|
|
1807
|
-
throw this.createFailedPredicateException("this.precpred(this.context,
|
|
1833
|
+
this.state = 352;
|
|
1834
|
+
if (!(this.precpred(this.context, 7))) {
|
|
1835
|
+
throw this.createFailedPredicateException("this.precpred(this.context, 7)");
|
|
1808
1836
|
}
|
|
1809
|
-
this.state =
|
|
1837
|
+
this.state = 353;
|
|
1810
1838
|
_la = this.tokenStream.LA(1);
|
|
1811
|
-
if (!(_la ===
|
|
1839
|
+
if (!(_la === 38 || _la === 39)) {
|
|
1812
1840
|
this.errorHandler.recoverInline(this);
|
|
1813
1841
|
}
|
|
1814
1842
|
else {
|
|
1815
1843
|
this.errorHandler.reportMatch(this);
|
|
1816
1844
|
this.consume();
|
|
1817
1845
|
}
|
|
1818
|
-
this.state =
|
|
1819
|
-
this.data_expr(
|
|
1846
|
+
this.state = 354;
|
|
1847
|
+
this.data_expr(8);
|
|
1820
1848
|
}
|
|
1821
1849
|
break;
|
|
1822
1850
|
case 2:
|
|
1823
1851
|
{
|
|
1824
1852
|
localContext = new AdditionExprContext(new Data_exprContext(parentContext, parentState));
|
|
1825
1853
|
this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
|
|
1826
|
-
this.state =
|
|
1827
|
-
if (!(this.precpred(this.context,
|
|
1828
|
-
throw this.createFailedPredicateException("this.precpred(this.context,
|
|
1854
|
+
this.state = 355;
|
|
1855
|
+
if (!(this.precpred(this.context, 6))) {
|
|
1856
|
+
throw this.createFailedPredicateException("this.precpred(this.context, 6)");
|
|
1829
1857
|
}
|
|
1830
|
-
this.state =
|
|
1858
|
+
this.state = 356;
|
|
1831
1859
|
_la = this.tokenStream.LA(1);
|
|
1832
|
-
if (!(_la ===
|
|
1860
|
+
if (!(_la === 36 || _la === 37)) {
|
|
1833
1861
|
this.errorHandler.recoverInline(this);
|
|
1834
1862
|
}
|
|
1835
1863
|
else {
|
|
1836
1864
|
this.errorHandler.reportMatch(this);
|
|
1837
1865
|
this.consume();
|
|
1838
1866
|
}
|
|
1839
|
-
this.state =
|
|
1840
|
-
this.data_expr(
|
|
1867
|
+
this.state = 357;
|
|
1868
|
+
this.data_expr(7);
|
|
1841
1869
|
}
|
|
1842
1870
|
break;
|
|
1843
1871
|
case 3:
|
|
1844
1872
|
{
|
|
1845
1873
|
localContext = new BinaryOperatorExprContext(new Data_exprContext(parentContext, parentState));
|
|
1846
1874
|
this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
|
|
1847
|
-
this.state =
|
|
1875
|
+
this.state = 358;
|
|
1876
|
+
if (!(this.precpred(this.context, 5))) {
|
|
1877
|
+
throw this.createFailedPredicateException("this.precpred(this.context, 5)");
|
|
1878
|
+
}
|
|
1879
|
+
this.state = 359;
|
|
1880
|
+
this.binary_operator();
|
|
1881
|
+
this.state = 360;
|
|
1882
|
+
this.data_expr(6);
|
|
1883
|
+
}
|
|
1884
|
+
break;
|
|
1885
|
+
case 4:
|
|
1886
|
+
{
|
|
1887
|
+
localContext = new LogicalOperatorExprContext(new Data_exprContext(parentContext, parentState));
|
|
1888
|
+
this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
|
|
1889
|
+
this.state = 362;
|
|
1848
1890
|
if (!(this.precpred(this.context, 4))) {
|
|
1849
1891
|
throw this.createFailedPredicateException("this.precpred(this.context, 4)");
|
|
1850
1892
|
}
|
|
1851
|
-
this.state =
|
|
1852
|
-
this.
|
|
1853
|
-
|
|
1893
|
+
this.state = 363;
|
|
1894
|
+
_la = this.tokenStream.LA(1);
|
|
1895
|
+
if (!(_la === 34 || _la === 35)) {
|
|
1896
|
+
this.errorHandler.recoverInline(this);
|
|
1897
|
+
}
|
|
1898
|
+
else {
|
|
1899
|
+
this.errorHandler.reportMatch(this);
|
|
1900
|
+
this.consume();
|
|
1901
|
+
}
|
|
1902
|
+
this.state = 364;
|
|
1854
1903
|
this.data_expr(5);
|
|
1855
1904
|
}
|
|
1856
1905
|
break;
|
|
1857
1906
|
}
|
|
1858
1907
|
}
|
|
1859
1908
|
}
|
|
1860
|
-
this.state =
|
|
1909
|
+
this.state = 369;
|
|
1861
1910
|
this.errorHandler.sync(this);
|
|
1862
1911
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 34, this.context);
|
|
1863
1912
|
}
|
|
@@ -1884,9 +1933,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1884
1933
|
try {
|
|
1885
1934
|
this.enterOuterAlt(localContext, 1);
|
|
1886
1935
|
{
|
|
1887
|
-
this.state =
|
|
1936
|
+
this.state = 370;
|
|
1888
1937
|
_la = this.tokenStream.LA(1);
|
|
1889
|
-
if (!(_la ===
|
|
1938
|
+
if (!(((((_la - 28)) & ~0x1F) === 0 && ((1 << (_la - 28)) & 63) !== 0))) {
|
|
1890
1939
|
this.errorHandler.recoverInline(this);
|
|
1891
1940
|
}
|
|
1892
1941
|
else {
|
|
@@ -1916,9 +1965,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1916
1965
|
try {
|
|
1917
1966
|
this.enterOuterAlt(localContext, 1);
|
|
1918
1967
|
{
|
|
1919
|
-
this.state =
|
|
1968
|
+
this.state = 372;
|
|
1920
1969
|
_la = this.tokenStream.LA(1);
|
|
1921
|
-
if (!(_la ===
|
|
1970
|
+
if (!(_la === 26 || _la === 37)) {
|
|
1922
1971
|
this.errorHandler.recoverInline(this);
|
|
1923
1972
|
}
|
|
1924
1973
|
else {
|
|
@@ -1946,7 +1995,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1946
1995
|
this.enterRule(localContext, 62, CircuitScriptParser.RULE_value_expr);
|
|
1947
1996
|
let _la;
|
|
1948
1997
|
try {
|
|
1949
|
-
this.state =
|
|
1998
|
+
this.state = 379;
|
|
1950
1999
|
this.errorHandler.sync(this);
|
|
1951
2000
|
switch (this.tokenStream.LA(1)) {
|
|
1952
2001
|
case CircuitScriptParser.Minus:
|
|
@@ -1959,18 +2008,18 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1959
2008
|
this.enterOuterAlt(localContext, 1);
|
|
1960
2009
|
{
|
|
1961
2010
|
{
|
|
1962
|
-
this.state =
|
|
2011
|
+
this.state = 375;
|
|
1963
2012
|
this.errorHandler.sync(this);
|
|
1964
2013
|
_la = this.tokenStream.LA(1);
|
|
1965
|
-
if (_la ===
|
|
2014
|
+
if (_la === 37) {
|
|
1966
2015
|
{
|
|
1967
|
-
this.state =
|
|
2016
|
+
this.state = 374;
|
|
1968
2017
|
this.match(CircuitScriptParser.Minus);
|
|
1969
2018
|
}
|
|
1970
2019
|
}
|
|
1971
|
-
this.state =
|
|
2020
|
+
this.state = 377;
|
|
1972
2021
|
_la = this.tokenStream.LA(1);
|
|
1973
|
-
if (!(((((_la -
|
|
2022
|
+
if (!(((((_la - 43)) & ~0x1F) === 0 && ((1 << (_la - 43)) & 125) !== 0))) {
|
|
1974
2023
|
this.errorHandler.recoverInline(this);
|
|
1975
2024
|
}
|
|
1976
2025
|
else {
|
|
@@ -1983,7 +2032,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
1983
2032
|
case CircuitScriptParser.T__5:
|
|
1984
2033
|
this.enterOuterAlt(localContext, 2);
|
|
1985
2034
|
{
|
|
1986
|
-
this.state =
|
|
2035
|
+
this.state = 378;
|
|
1987
2036
|
this.blank_expr();
|
|
1988
2037
|
}
|
|
1989
2038
|
break;
|
|
@@ -2012,40 +2061,40 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2012
2061
|
try {
|
|
2013
2062
|
this.enterOuterAlt(localContext, 1);
|
|
2014
2063
|
{
|
|
2015
|
-
this.state =
|
|
2064
|
+
this.state = 381;
|
|
2016
2065
|
this.match(CircuitScriptParser.Define);
|
|
2017
|
-
this.state =
|
|
2066
|
+
this.state = 382;
|
|
2018
2067
|
this.match(CircuitScriptParser.ID);
|
|
2019
|
-
this.state =
|
|
2068
|
+
this.state = 383;
|
|
2020
2069
|
this.match(CircuitScriptParser.OPEN_PAREN);
|
|
2021
|
-
this.state =
|
|
2070
|
+
this.state = 385;
|
|
2022
2071
|
this.errorHandler.sync(this);
|
|
2023
2072
|
_la = this.tokenStream.LA(1);
|
|
2024
|
-
if (_la ===
|
|
2073
|
+
if (_la === 44) {
|
|
2025
2074
|
{
|
|
2026
|
-
this.state =
|
|
2075
|
+
this.state = 384;
|
|
2027
2076
|
this.function_args_expr();
|
|
2028
2077
|
}
|
|
2029
2078
|
}
|
|
2030
|
-
this.state =
|
|
2079
|
+
this.state = 387;
|
|
2031
2080
|
this.match(CircuitScriptParser.CLOSE_PAREN);
|
|
2032
|
-
this.state =
|
|
2081
|
+
this.state = 388;
|
|
2033
2082
|
this.match(CircuitScriptParser.T__0);
|
|
2034
|
-
this.state =
|
|
2083
|
+
this.state = 389;
|
|
2035
2084
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2036
|
-
this.state =
|
|
2085
|
+
this.state = 390;
|
|
2037
2086
|
this.match(CircuitScriptParser.INDENT);
|
|
2038
|
-
this.state =
|
|
2087
|
+
this.state = 393;
|
|
2039
2088
|
this.errorHandler.sync(this);
|
|
2040
2089
|
_la = this.tokenStream.LA(1);
|
|
2041
2090
|
do {
|
|
2042
2091
|
{
|
|
2043
|
-
this.state =
|
|
2092
|
+
this.state = 393;
|
|
2044
2093
|
this.errorHandler.sync(this);
|
|
2045
2094
|
switch (this.tokenStream.LA(1)) {
|
|
2046
2095
|
case CircuitScriptParser.NEWLINE:
|
|
2047
2096
|
{
|
|
2048
|
-
this.state =
|
|
2097
|
+
this.state = 391;
|
|
2049
2098
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2050
2099
|
}
|
|
2051
2100
|
break;
|
|
@@ -2062,12 +2111,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2062
2111
|
case CircuitScriptParser.Return:
|
|
2063
2112
|
case CircuitScriptParser.Define:
|
|
2064
2113
|
case CircuitScriptParser.Import:
|
|
2114
|
+
case CircuitScriptParser.If:
|
|
2065
2115
|
case CircuitScriptParser.Frame:
|
|
2066
2116
|
case CircuitScriptParser.Addition:
|
|
2067
2117
|
case CircuitScriptParser.Divide:
|
|
2068
2118
|
case CircuitScriptParser.ID:
|
|
2069
2119
|
{
|
|
2070
|
-
this.state =
|
|
2120
|
+
this.state = 392;
|
|
2071
2121
|
this.function_expr();
|
|
2072
2122
|
}
|
|
2073
2123
|
break;
|
|
@@ -2075,11 +2125,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2075
2125
|
throw new antlr.NoViableAltException(this);
|
|
2076
2126
|
}
|
|
2077
2127
|
}
|
|
2078
|
-
this.state =
|
|
2128
|
+
this.state = 395;
|
|
2079
2129
|
this.errorHandler.sync(this);
|
|
2080
2130
|
_la = this.tokenStream.LA(1);
|
|
2081
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
2082
|
-
this.state =
|
|
2131
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 167748368) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
2132
|
+
this.state = 397;
|
|
2083
2133
|
this.match(CircuitScriptParser.DEDENT);
|
|
2084
2134
|
}
|
|
2085
2135
|
}
|
|
@@ -2101,7 +2151,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2101
2151
|
let localContext = new Function_exprContext(this.context, this.state);
|
|
2102
2152
|
this.enterRule(localContext, 66, CircuitScriptParser.RULE_function_expr);
|
|
2103
2153
|
try {
|
|
2104
|
-
this.state =
|
|
2154
|
+
this.state = 401;
|
|
2105
2155
|
this.errorHandler.sync(this);
|
|
2106
2156
|
switch (this.tokenStream.LA(1)) {
|
|
2107
2157
|
case CircuitScriptParser.T__3:
|
|
@@ -2116,20 +2166,21 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2116
2166
|
case CircuitScriptParser.Parallel:
|
|
2117
2167
|
case CircuitScriptParser.Define:
|
|
2118
2168
|
case CircuitScriptParser.Import:
|
|
2169
|
+
case CircuitScriptParser.If:
|
|
2119
2170
|
case CircuitScriptParser.Frame:
|
|
2120
2171
|
case CircuitScriptParser.Addition:
|
|
2121
2172
|
case CircuitScriptParser.Divide:
|
|
2122
2173
|
case CircuitScriptParser.ID:
|
|
2123
2174
|
this.enterOuterAlt(localContext, 1);
|
|
2124
2175
|
{
|
|
2125
|
-
this.state =
|
|
2176
|
+
this.state = 399;
|
|
2126
2177
|
this.expression();
|
|
2127
2178
|
}
|
|
2128
2179
|
break;
|
|
2129
2180
|
case CircuitScriptParser.Return:
|
|
2130
2181
|
this.enterOuterAlt(localContext, 2);
|
|
2131
2182
|
{
|
|
2132
|
-
this.state =
|
|
2183
|
+
this.state = 400;
|
|
2133
2184
|
this.function_return_expr();
|
|
2134
2185
|
}
|
|
2135
2186
|
break;
|
|
@@ -2157,49 +2208,49 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2157
2208
|
let _la;
|
|
2158
2209
|
try {
|
|
2159
2210
|
let alternative;
|
|
2160
|
-
this.state =
|
|
2211
|
+
this.state = 432;
|
|
2161
2212
|
this.errorHandler.sync(this);
|
|
2162
2213
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 44, this.context)) {
|
|
2163
2214
|
case 1:
|
|
2164
2215
|
this.enterOuterAlt(localContext, 1);
|
|
2165
2216
|
{
|
|
2166
|
-
this.state =
|
|
2217
|
+
this.state = 403;
|
|
2167
2218
|
this.match(CircuitScriptParser.ID);
|
|
2168
|
-
this.state =
|
|
2219
|
+
this.state = 408;
|
|
2169
2220
|
this.errorHandler.sync(this);
|
|
2170
2221
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 41, this.context);
|
|
2171
2222
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2172
2223
|
if (alternative === 1) {
|
|
2173
2224
|
{
|
|
2174
2225
|
{
|
|
2175
|
-
this.state =
|
|
2226
|
+
this.state = 404;
|
|
2176
2227
|
this.match(CircuitScriptParser.T__1);
|
|
2177
|
-
this.state =
|
|
2228
|
+
this.state = 405;
|
|
2178
2229
|
this.match(CircuitScriptParser.ID);
|
|
2179
2230
|
}
|
|
2180
2231
|
}
|
|
2181
2232
|
}
|
|
2182
|
-
this.state =
|
|
2233
|
+
this.state = 410;
|
|
2183
2234
|
this.errorHandler.sync(this);
|
|
2184
2235
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 41, this.context);
|
|
2185
2236
|
}
|
|
2186
|
-
this.state =
|
|
2237
|
+
this.state = 417;
|
|
2187
2238
|
this.errorHandler.sync(this);
|
|
2188
2239
|
_la = this.tokenStream.LA(1);
|
|
2189
2240
|
while (_la === 2) {
|
|
2190
2241
|
{
|
|
2191
2242
|
{
|
|
2192
|
-
this.state =
|
|
2243
|
+
this.state = 411;
|
|
2193
2244
|
this.match(CircuitScriptParser.T__1);
|
|
2194
|
-
this.state =
|
|
2245
|
+
this.state = 412;
|
|
2195
2246
|
this.match(CircuitScriptParser.ID);
|
|
2196
|
-
this.state =
|
|
2247
|
+
this.state = 413;
|
|
2197
2248
|
this.match(CircuitScriptParser.T__2);
|
|
2198
|
-
this.state =
|
|
2249
|
+
this.state = 414;
|
|
2199
2250
|
this.value_expr();
|
|
2200
2251
|
}
|
|
2201
2252
|
}
|
|
2202
|
-
this.state =
|
|
2253
|
+
this.state = 419;
|
|
2203
2254
|
this.errorHandler.sync(this);
|
|
2204
2255
|
_la = this.tokenStream.LA(1);
|
|
2205
2256
|
}
|
|
@@ -2208,29 +2259,29 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2208
2259
|
case 2:
|
|
2209
2260
|
this.enterOuterAlt(localContext, 2);
|
|
2210
2261
|
{
|
|
2211
|
-
this.state =
|
|
2262
|
+
this.state = 420;
|
|
2212
2263
|
this.match(CircuitScriptParser.ID);
|
|
2213
|
-
this.state =
|
|
2264
|
+
this.state = 421;
|
|
2214
2265
|
this.match(CircuitScriptParser.T__2);
|
|
2215
|
-
this.state =
|
|
2266
|
+
this.state = 422;
|
|
2216
2267
|
this.value_expr();
|
|
2217
|
-
this.state =
|
|
2268
|
+
this.state = 429;
|
|
2218
2269
|
this.errorHandler.sync(this);
|
|
2219
2270
|
_la = this.tokenStream.LA(1);
|
|
2220
2271
|
while (_la === 2) {
|
|
2221
2272
|
{
|
|
2222
2273
|
{
|
|
2223
|
-
this.state =
|
|
2274
|
+
this.state = 423;
|
|
2224
2275
|
this.match(CircuitScriptParser.T__1);
|
|
2225
|
-
this.state =
|
|
2276
|
+
this.state = 424;
|
|
2226
2277
|
this.match(CircuitScriptParser.ID);
|
|
2227
|
-
this.state =
|
|
2278
|
+
this.state = 425;
|
|
2228
2279
|
this.match(CircuitScriptParser.T__2);
|
|
2229
|
-
this.state =
|
|
2280
|
+
this.state = 426;
|
|
2230
2281
|
this.value_expr();
|
|
2231
2282
|
}
|
|
2232
2283
|
}
|
|
2233
|
-
this.state =
|
|
2284
|
+
this.state = 431;
|
|
2234
2285
|
this.errorHandler.sync(this);
|
|
2235
2286
|
_la = this.tokenStream.LA(1);
|
|
2236
2287
|
}
|
|
@@ -2259,23 +2310,23 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2259
2310
|
let alternative;
|
|
2260
2311
|
this.enterOuterAlt(localContext, 1);
|
|
2261
2312
|
{
|
|
2262
|
-
this.state =
|
|
2313
|
+
this.state = 434;
|
|
2263
2314
|
this.match(CircuitScriptParser.ID);
|
|
2264
|
-
this.state =
|
|
2315
|
+
this.state = 439;
|
|
2265
2316
|
this.errorHandler.sync(this);
|
|
2266
2317
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 45, this.context);
|
|
2267
2318
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2268
2319
|
if (alternative === 1) {
|
|
2269
2320
|
{
|
|
2270
2321
|
{
|
|
2271
|
-
this.state =
|
|
2322
|
+
this.state = 435;
|
|
2272
2323
|
this.match(CircuitScriptParser.T__4);
|
|
2273
|
-
this.state =
|
|
2324
|
+
this.state = 436;
|
|
2274
2325
|
this.match(CircuitScriptParser.ID);
|
|
2275
2326
|
}
|
|
2276
2327
|
}
|
|
2277
2328
|
}
|
|
2278
|
-
this.state =
|
|
2329
|
+
this.state = 441;
|
|
2279
2330
|
this.errorHandler.sync(this);
|
|
2280
2331
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 45, this.context);
|
|
2281
2332
|
}
|
|
@@ -2300,33 +2351,33 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2300
2351
|
this.enterRule(localContext, 72, CircuitScriptParser.RULE_trailer_expr);
|
|
2301
2352
|
let _la;
|
|
2302
2353
|
try {
|
|
2303
|
-
this.state =
|
|
2354
|
+
this.state = 449;
|
|
2304
2355
|
this.errorHandler.sync(this);
|
|
2305
2356
|
switch (this.tokenStream.LA(1)) {
|
|
2306
2357
|
case CircuitScriptParser.OPEN_PAREN:
|
|
2307
2358
|
this.enterOuterAlt(localContext, 1);
|
|
2308
2359
|
{
|
|
2309
|
-
this.state =
|
|
2360
|
+
this.state = 442;
|
|
2310
2361
|
this.match(CircuitScriptParser.OPEN_PAREN);
|
|
2311
|
-
this.state =
|
|
2362
|
+
this.state = 444;
|
|
2312
2363
|
this.errorHandler.sync(this);
|
|
2313
2364
|
_la = this.tokenStream.LA(1);
|
|
2314
|
-
if ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
2365
|
+
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 67109952) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 16279) !== 0)) {
|
|
2315
2366
|
{
|
|
2316
|
-
this.state =
|
|
2367
|
+
this.state = 443;
|
|
2317
2368
|
this.parameters();
|
|
2318
2369
|
}
|
|
2319
2370
|
}
|
|
2320
|
-
this.state =
|
|
2371
|
+
this.state = 446;
|
|
2321
2372
|
this.match(CircuitScriptParser.CLOSE_PAREN);
|
|
2322
2373
|
}
|
|
2323
2374
|
break;
|
|
2324
2375
|
case CircuitScriptParser.T__4:
|
|
2325
2376
|
this.enterOuterAlt(localContext, 2);
|
|
2326
2377
|
{
|
|
2327
|
-
this.state =
|
|
2378
|
+
this.state = 447;
|
|
2328
2379
|
this.match(CircuitScriptParser.T__4);
|
|
2329
|
-
this.state =
|
|
2380
|
+
this.state = 448;
|
|
2330
2381
|
this.match(CircuitScriptParser.ID);
|
|
2331
2382
|
}
|
|
2332
2383
|
break;
|
|
@@ -2356,18 +2407,18 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2356
2407
|
let alternative;
|
|
2357
2408
|
this.enterOuterAlt(localContext, 1);
|
|
2358
2409
|
{
|
|
2359
|
-
this.state =
|
|
2410
|
+
this.state = 452;
|
|
2360
2411
|
this.errorHandler.sync(this);
|
|
2361
2412
|
_la = this.tokenStream.LA(1);
|
|
2362
|
-
if (_la ===
|
|
2413
|
+
if (_la === 36 || _la === 38) {
|
|
2363
2414
|
{
|
|
2364
|
-
this.state =
|
|
2415
|
+
this.state = 451;
|
|
2365
2416
|
this.net_namespace_expr();
|
|
2366
2417
|
}
|
|
2367
2418
|
}
|
|
2368
|
-
this.state =
|
|
2419
|
+
this.state = 454;
|
|
2369
2420
|
this.match(CircuitScriptParser.ID);
|
|
2370
|
-
this.state =
|
|
2421
|
+
this.state = 456;
|
|
2371
2422
|
this.errorHandler.sync(this);
|
|
2372
2423
|
alternative = 1;
|
|
2373
2424
|
do {
|
|
@@ -2375,7 +2426,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2375
2426
|
case 1:
|
|
2376
2427
|
{
|
|
2377
2428
|
{
|
|
2378
|
-
this.state =
|
|
2429
|
+
this.state = 455;
|
|
2379
2430
|
this.trailer_expr();
|
|
2380
2431
|
}
|
|
2381
2432
|
}
|
|
@@ -2383,7 +2434,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2383
2434
|
default:
|
|
2384
2435
|
throw new antlr.NoViableAltException(this);
|
|
2385
2436
|
}
|
|
2386
|
-
this.state =
|
|
2437
|
+
this.state = 458;
|
|
2387
2438
|
this.errorHandler.sync(this);
|
|
2388
2439
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 49, this.context);
|
|
2389
2440
|
} while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
|
|
@@ -2410,23 +2461,23 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2410
2461
|
try {
|
|
2411
2462
|
this.enterOuterAlt(localContext, 1);
|
|
2412
2463
|
{
|
|
2413
|
-
this.state =
|
|
2464
|
+
this.state = 461;
|
|
2414
2465
|
this.errorHandler.sync(this);
|
|
2415
2466
|
_la = this.tokenStream.LA(1);
|
|
2416
|
-
if (_la ===
|
|
2467
|
+
if (_la === 36) {
|
|
2417
2468
|
{
|
|
2418
|
-
this.state =
|
|
2469
|
+
this.state = 460;
|
|
2419
2470
|
this.match(CircuitScriptParser.Addition);
|
|
2420
2471
|
}
|
|
2421
2472
|
}
|
|
2422
|
-
this.state =
|
|
2473
|
+
this.state = 463;
|
|
2423
2474
|
this.match(CircuitScriptParser.Divide);
|
|
2424
|
-
this.state =
|
|
2475
|
+
this.state = 465;
|
|
2425
2476
|
this.errorHandler.sync(this);
|
|
2426
2477
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 51, this.context)) {
|
|
2427
2478
|
case 1:
|
|
2428
2479
|
{
|
|
2429
|
-
this.state =
|
|
2480
|
+
this.state = 464;
|
|
2430
2481
|
this.data_expr(0);
|
|
2431
2482
|
}
|
|
2432
2483
|
break;
|
|
@@ -2453,9 +2504,9 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2453
2504
|
try {
|
|
2454
2505
|
this.enterOuterAlt(localContext, 1);
|
|
2455
2506
|
{
|
|
2456
|
-
this.state =
|
|
2507
|
+
this.state = 467;
|
|
2457
2508
|
this.match(CircuitScriptParser.Return);
|
|
2458
|
-
this.state =
|
|
2509
|
+
this.state = 468;
|
|
2459
2510
|
this.data_expr(0);
|
|
2460
2511
|
}
|
|
2461
2512
|
}
|
|
@@ -2480,27 +2531,27 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2480
2531
|
try {
|
|
2481
2532
|
this.enterOuterAlt(localContext, 1);
|
|
2482
2533
|
{
|
|
2483
|
-
this.state =
|
|
2534
|
+
this.state = 470;
|
|
2484
2535
|
this.match(CircuitScriptParser.Create);
|
|
2485
|
-
this.state =
|
|
2536
|
+
this.state = 471;
|
|
2486
2537
|
this.match(CircuitScriptParser.Component);
|
|
2487
|
-
this.state =
|
|
2538
|
+
this.state = 472;
|
|
2488
2539
|
this.match(CircuitScriptParser.T__0);
|
|
2489
|
-
this.state =
|
|
2540
|
+
this.state = 473;
|
|
2490
2541
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2491
|
-
this.state =
|
|
2542
|
+
this.state = 474;
|
|
2492
2543
|
this.match(CircuitScriptParser.INDENT);
|
|
2493
|
-
this.state =
|
|
2544
|
+
this.state = 477;
|
|
2494
2545
|
this.errorHandler.sync(this);
|
|
2495
2546
|
_la = this.tokenStream.LA(1);
|
|
2496
2547
|
do {
|
|
2497
2548
|
{
|
|
2498
|
-
this.state =
|
|
2549
|
+
this.state = 477;
|
|
2499
2550
|
this.errorHandler.sync(this);
|
|
2500
2551
|
switch (this.tokenStream.LA(1)) {
|
|
2501
2552
|
case CircuitScriptParser.NEWLINE:
|
|
2502
2553
|
{
|
|
2503
|
-
this.state =
|
|
2554
|
+
this.state = 475;
|
|
2504
2555
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2505
2556
|
}
|
|
2506
2557
|
break;
|
|
@@ -2508,7 +2559,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2508
2559
|
case CircuitScriptParser.INTEGER_VALUE:
|
|
2509
2560
|
case CircuitScriptParser.STRING_VALUE:
|
|
2510
2561
|
{
|
|
2511
|
-
this.state =
|
|
2562
|
+
this.state = 476;
|
|
2512
2563
|
this.property_expr();
|
|
2513
2564
|
}
|
|
2514
2565
|
break;
|
|
@@ -2516,11 +2567,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2516
2567
|
throw new antlr.NoViableAltException(this);
|
|
2517
2568
|
}
|
|
2518
2569
|
}
|
|
2519
|
-
this.state =
|
|
2570
|
+
this.state = 479;
|
|
2520
2571
|
this.errorHandler.sync(this);
|
|
2521
2572
|
_la = this.tokenStream.LA(1);
|
|
2522
|
-
} while (((((_la -
|
|
2523
|
-
this.state =
|
|
2573
|
+
} while (((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 275) !== 0));
|
|
2574
|
+
this.state = 481;
|
|
2524
2575
|
this.match(CircuitScriptParser.DEDENT);
|
|
2525
2576
|
}
|
|
2526
2577
|
}
|
|
@@ -2545,46 +2596,46 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2545
2596
|
try {
|
|
2546
2597
|
this.enterOuterAlt(localContext, 1);
|
|
2547
2598
|
{
|
|
2548
|
-
this.state =
|
|
2599
|
+
this.state = 483;
|
|
2549
2600
|
this.match(CircuitScriptParser.Create);
|
|
2550
|
-
this.state =
|
|
2601
|
+
this.state = 484;
|
|
2551
2602
|
this.match(CircuitScriptParser.Graphic);
|
|
2552
|
-
this.state =
|
|
2603
|
+
this.state = 485;
|
|
2553
2604
|
this.match(CircuitScriptParser.T__0);
|
|
2554
|
-
this.state =
|
|
2605
|
+
this.state = 486;
|
|
2555
2606
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2556
|
-
this.state =
|
|
2607
|
+
this.state = 487;
|
|
2557
2608
|
this.match(CircuitScriptParser.INDENT);
|
|
2558
|
-
this.state =
|
|
2609
|
+
this.state = 490;
|
|
2559
2610
|
this.errorHandler.sync(this);
|
|
2560
2611
|
_la = this.tokenStream.LA(1);
|
|
2561
2612
|
do {
|
|
2562
2613
|
{
|
|
2563
|
-
this.state =
|
|
2614
|
+
this.state = 490;
|
|
2564
2615
|
this.errorHandler.sync(this);
|
|
2565
2616
|
switch (this.tokenStream.LA(1)) {
|
|
2566
2617
|
case CircuitScriptParser.NEWLINE:
|
|
2567
2618
|
{
|
|
2568
|
-
this.state =
|
|
2619
|
+
this.state = 488;
|
|
2569
2620
|
this.match(CircuitScriptParser.NEWLINE);
|
|
2570
2621
|
}
|
|
2571
2622
|
break;
|
|
2572
2623
|
case CircuitScriptParser.Pin:
|
|
2573
2624
|
case CircuitScriptParser.ID:
|
|
2574
2625
|
{
|
|
2575
|
-
this.state =
|
|
2576
|
-
this.
|
|
2626
|
+
this.state = 489;
|
|
2627
|
+
this.graphic_expr();
|
|
2577
2628
|
}
|
|
2578
2629
|
break;
|
|
2579
2630
|
default:
|
|
2580
2631
|
throw new antlr.NoViableAltException(this);
|
|
2581
2632
|
}
|
|
2582
2633
|
}
|
|
2583
|
-
this.state =
|
|
2634
|
+
this.state = 492;
|
|
2584
2635
|
this.errorHandler.sync(this);
|
|
2585
2636
|
_la = this.tokenStream.LA(1);
|
|
2586
|
-
} while (
|
|
2587
|
-
this.state =
|
|
2637
|
+
} while (_la === 14 || _la === 44 || _la === 52);
|
|
2638
|
+
this.state = 494;
|
|
2588
2639
|
this.match(CircuitScriptParser.DEDENT);
|
|
2589
2640
|
}
|
|
2590
2641
|
}
|
|
@@ -2602,51 +2653,118 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2602
2653
|
}
|
|
2603
2654
|
return localContext;
|
|
2604
2655
|
}
|
|
2605
|
-
|
|
2606
|
-
let localContext = new
|
|
2607
|
-
this.enterRule(localContext, 84, CircuitScriptParser.
|
|
2656
|
+
nested_properties_inner() {
|
|
2657
|
+
let localContext = new Nested_properties_innerContext(this.context, this.state);
|
|
2658
|
+
this.enterRule(localContext, 84, CircuitScriptParser.RULE_nested_properties_inner);
|
|
2608
2659
|
let _la;
|
|
2609
2660
|
try {
|
|
2610
2661
|
this.enterOuterAlt(localContext, 1);
|
|
2611
2662
|
{
|
|
2612
|
-
|
|
2663
|
+
{
|
|
2664
|
+
this.state = 496;
|
|
2665
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
2666
|
+
this.state = 497;
|
|
2667
|
+
this.match(CircuitScriptParser.INDENT);
|
|
2668
|
+
this.state = 500;
|
|
2669
|
+
this.errorHandler.sync(this);
|
|
2670
|
+
_la = this.tokenStream.LA(1);
|
|
2671
|
+
do {
|
|
2672
|
+
{
|
|
2673
|
+
this.state = 500;
|
|
2674
|
+
this.errorHandler.sync(this);
|
|
2675
|
+
switch (this.tokenStream.LA(1)) {
|
|
2676
|
+
case CircuitScriptParser.NEWLINE:
|
|
2677
|
+
{
|
|
2678
|
+
this.state = 498;
|
|
2679
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
2680
|
+
}
|
|
2681
|
+
break;
|
|
2682
|
+
case CircuitScriptParser.ID:
|
|
2683
|
+
case CircuitScriptParser.INTEGER_VALUE:
|
|
2684
|
+
case CircuitScriptParser.STRING_VALUE:
|
|
2685
|
+
{
|
|
2686
|
+
this.state = 499;
|
|
2687
|
+
this.property_expr();
|
|
2688
|
+
}
|
|
2689
|
+
break;
|
|
2690
|
+
default:
|
|
2691
|
+
throw new antlr.NoViableAltException(this);
|
|
2692
|
+
}
|
|
2693
|
+
}
|
|
2694
|
+
this.state = 502;
|
|
2695
|
+
this.errorHandler.sync(this);
|
|
2696
|
+
_la = this.tokenStream.LA(1);
|
|
2697
|
+
} while (((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 275) !== 0));
|
|
2698
|
+
this.state = 504;
|
|
2699
|
+
this.match(CircuitScriptParser.DEDENT);
|
|
2700
|
+
}
|
|
2701
|
+
}
|
|
2702
|
+
}
|
|
2703
|
+
catch (re) {
|
|
2704
|
+
if (re instanceof antlr.RecognitionException) {
|
|
2705
|
+
this.errorHandler.reportError(this, re);
|
|
2706
|
+
this.errorHandler.recover(this, re);
|
|
2707
|
+
}
|
|
2708
|
+
else {
|
|
2709
|
+
throw re;
|
|
2710
|
+
}
|
|
2711
|
+
}
|
|
2712
|
+
finally {
|
|
2713
|
+
this.exitRule();
|
|
2714
|
+
}
|
|
2715
|
+
return localContext;
|
|
2716
|
+
}
|
|
2717
|
+
graphic_expr() {
|
|
2718
|
+
let localContext = new Graphic_exprContext(this.context, this.state);
|
|
2719
|
+
this.enterRule(localContext, 86, CircuitScriptParser.RULE_graphic_expr);
|
|
2720
|
+
let _la;
|
|
2721
|
+
try {
|
|
2722
|
+
this.enterOuterAlt(localContext, 1);
|
|
2723
|
+
{
|
|
2724
|
+
this.state = 506;
|
|
2613
2725
|
localContext._command = this.tokenStream.LT(1);
|
|
2614
2726
|
_la = this.tokenStream.LA(1);
|
|
2615
|
-
if (!(_la === 14 || _la ===
|
|
2727
|
+
if (!(_la === 14 || _la === 44)) {
|
|
2616
2728
|
localContext._command = this.errorHandler.recoverInline(this);
|
|
2617
2729
|
}
|
|
2618
2730
|
else {
|
|
2619
2731
|
this.errorHandler.reportMatch(this);
|
|
2620
2732
|
this.consume();
|
|
2621
2733
|
}
|
|
2622
|
-
this.state =
|
|
2734
|
+
this.state = 508;
|
|
2623
2735
|
this.errorHandler.sync(this);
|
|
2624
2736
|
_la = this.tokenStream.LA(1);
|
|
2625
2737
|
if (_la === 1) {
|
|
2626
2738
|
{
|
|
2627
|
-
this.state =
|
|
2739
|
+
this.state = 507;
|
|
2628
2740
|
this.match(CircuitScriptParser.T__0);
|
|
2629
2741
|
}
|
|
2630
2742
|
}
|
|
2631
|
-
this.state =
|
|
2743
|
+
this.state = 516;
|
|
2632
2744
|
this.errorHandler.sync(this);
|
|
2633
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2745
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context)) {
|
|
2634
2746
|
case 1:
|
|
2635
2747
|
{
|
|
2636
|
-
this.state =
|
|
2748
|
+
this.state = 510;
|
|
2637
2749
|
this.parameters();
|
|
2638
2750
|
}
|
|
2639
2751
|
break;
|
|
2640
2752
|
case 2:
|
|
2641
2753
|
{
|
|
2642
|
-
this.state =
|
|
2754
|
+
this.state = 511;
|
|
2643
2755
|
this.match(CircuitScriptParser.OPEN_PAREN);
|
|
2644
|
-
this.state =
|
|
2756
|
+
this.state = 512;
|
|
2645
2757
|
this.parameters();
|
|
2646
|
-
this.state =
|
|
2758
|
+
this.state = 513;
|
|
2647
2759
|
this.match(CircuitScriptParser.CLOSE_PAREN);
|
|
2648
2760
|
}
|
|
2649
2761
|
break;
|
|
2762
|
+
case 3:
|
|
2763
|
+
{
|
|
2764
|
+
this.state = 515;
|
|
2765
|
+
this.nested_properties_inner();
|
|
2766
|
+
}
|
|
2767
|
+
break;
|
|
2650
2768
|
}
|
|
2651
2769
|
}
|
|
2652
2770
|
}
|
|
@@ -2666,15 +2784,15 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2666
2784
|
}
|
|
2667
2785
|
property_expr() {
|
|
2668
2786
|
let localContext = new Property_exprContext(this.context, this.state);
|
|
2669
|
-
this.enterRule(localContext,
|
|
2787
|
+
this.enterRule(localContext, 88, CircuitScriptParser.RULE_property_expr);
|
|
2670
2788
|
try {
|
|
2671
2789
|
this.enterOuterAlt(localContext, 1);
|
|
2672
2790
|
{
|
|
2673
|
-
this.state =
|
|
2791
|
+
this.state = 518;
|
|
2674
2792
|
this.property_key_expr();
|
|
2675
|
-
this.state =
|
|
2793
|
+
this.state = 519;
|
|
2676
2794
|
this.match(CircuitScriptParser.T__0);
|
|
2677
|
-
this.state =
|
|
2795
|
+
this.state = 520;
|
|
2678
2796
|
this.property_value_expr();
|
|
2679
2797
|
}
|
|
2680
2798
|
}
|
|
@@ -2694,14 +2812,14 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2694
2812
|
}
|
|
2695
2813
|
property_key_expr() {
|
|
2696
2814
|
let localContext = new Property_key_exprContext(this.context, this.state);
|
|
2697
|
-
this.enterRule(localContext,
|
|
2815
|
+
this.enterRule(localContext, 90, CircuitScriptParser.RULE_property_key_expr);
|
|
2698
2816
|
let _la;
|
|
2699
2817
|
try {
|
|
2700
2818
|
this.enterOuterAlt(localContext, 1);
|
|
2701
2819
|
{
|
|
2702
|
-
this.state =
|
|
2820
|
+
this.state = 522;
|
|
2703
2821
|
_la = this.tokenStream.LA(1);
|
|
2704
|
-
if (!(((((_la -
|
|
2822
|
+
if (!(((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 19) !== 0))) {
|
|
2705
2823
|
this.errorHandler.recoverInline(this);
|
|
2706
2824
|
}
|
|
2707
2825
|
else {
|
|
@@ -2726,52 +2844,18 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2726
2844
|
}
|
|
2727
2845
|
property_value_expr() {
|
|
2728
2846
|
let localContext = new Property_value_exprContext(this.context, this.state);
|
|
2729
|
-
this.enterRule(localContext,
|
|
2847
|
+
this.enterRule(localContext, 92, CircuitScriptParser.RULE_property_value_expr);
|
|
2730
2848
|
let _la;
|
|
2731
2849
|
try {
|
|
2732
|
-
this.state =
|
|
2850
|
+
this.state = 533;
|
|
2733
2851
|
this.errorHandler.sync(this);
|
|
2734
2852
|
switch (this.tokenStream.LA(1)) {
|
|
2735
2853
|
case CircuitScriptParser.NEWLINE:
|
|
2736
2854
|
localContext = new Nested_propertiesContext(localContext);
|
|
2737
2855
|
this.enterOuterAlt(localContext, 1);
|
|
2738
2856
|
{
|
|
2739
|
-
this.state =
|
|
2740
|
-
this.
|
|
2741
|
-
this.state = 502;
|
|
2742
|
-
this.match(CircuitScriptParser.INDENT);
|
|
2743
|
-
this.state = 505;
|
|
2744
|
-
this.errorHandler.sync(this);
|
|
2745
|
-
_la = this.tokenStream.LA(1);
|
|
2746
|
-
do {
|
|
2747
|
-
{
|
|
2748
|
-
this.state = 505;
|
|
2749
|
-
this.errorHandler.sync(this);
|
|
2750
|
-
switch (this.tokenStream.LA(1)) {
|
|
2751
|
-
case CircuitScriptParser.NEWLINE:
|
|
2752
|
-
{
|
|
2753
|
-
this.state = 503;
|
|
2754
|
-
this.match(CircuitScriptParser.NEWLINE);
|
|
2755
|
-
}
|
|
2756
|
-
break;
|
|
2757
|
-
case CircuitScriptParser.ID:
|
|
2758
|
-
case CircuitScriptParser.INTEGER_VALUE:
|
|
2759
|
-
case CircuitScriptParser.STRING_VALUE:
|
|
2760
|
-
{
|
|
2761
|
-
this.state = 504;
|
|
2762
|
-
this.property_expr();
|
|
2763
|
-
}
|
|
2764
|
-
break;
|
|
2765
|
-
default:
|
|
2766
|
-
throw new antlr.NoViableAltException(this);
|
|
2767
|
-
}
|
|
2768
|
-
}
|
|
2769
|
-
this.state = 507;
|
|
2770
|
-
this.errorHandler.sync(this);
|
|
2771
|
-
_la = this.tokenStream.LA(1);
|
|
2772
|
-
} while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
|
|
2773
|
-
this.state = 509;
|
|
2774
|
-
this.match(CircuitScriptParser.DEDENT);
|
|
2857
|
+
this.state = 524;
|
|
2858
|
+
this.nested_properties_inner();
|
|
2775
2859
|
}
|
|
2776
2860
|
break;
|
|
2777
2861
|
case CircuitScriptParser.T__5:
|
|
@@ -2791,21 +2875,21 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2791
2875
|
localContext = new Single_line_propertyContext(localContext);
|
|
2792
2876
|
this.enterOuterAlt(localContext, 2);
|
|
2793
2877
|
{
|
|
2794
|
-
this.state =
|
|
2878
|
+
this.state = 525;
|
|
2795
2879
|
this.data_expr(0);
|
|
2796
|
-
this.state =
|
|
2880
|
+
this.state = 530;
|
|
2797
2881
|
this.errorHandler.sync(this);
|
|
2798
2882
|
_la = this.tokenStream.LA(1);
|
|
2799
2883
|
while (_la === 2) {
|
|
2800
2884
|
{
|
|
2801
2885
|
{
|
|
2802
|
-
this.state =
|
|
2886
|
+
this.state = 526;
|
|
2803
2887
|
this.match(CircuitScriptParser.T__1);
|
|
2804
|
-
this.state =
|
|
2888
|
+
this.state = 527;
|
|
2805
2889
|
this.data_expr(0);
|
|
2806
2890
|
}
|
|
2807
2891
|
}
|
|
2808
|
-
this.state =
|
|
2892
|
+
this.state = 532;
|
|
2809
2893
|
this.errorHandler.sync(this);
|
|
2810
2894
|
_la = this.tokenStream.LA(1);
|
|
2811
2895
|
}
|
|
@@ -2831,15 +2915,15 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2831
2915
|
}
|
|
2832
2916
|
blank_expr() {
|
|
2833
2917
|
let localContext = new Blank_exprContext(this.context, this.state);
|
|
2834
|
-
this.enterRule(localContext,
|
|
2918
|
+
this.enterRule(localContext, 94, CircuitScriptParser.RULE_blank_expr);
|
|
2835
2919
|
try {
|
|
2836
2920
|
this.enterOuterAlt(localContext, 1);
|
|
2837
2921
|
{
|
|
2838
|
-
this.state =
|
|
2922
|
+
this.state = 535;
|
|
2839
2923
|
this.match(CircuitScriptParser.T__5);
|
|
2840
|
-
this.state =
|
|
2924
|
+
this.state = 536;
|
|
2841
2925
|
this.match(CircuitScriptParser.INTEGER_VALUE);
|
|
2842
|
-
this.state =
|
|
2926
|
+
this.state = 537;
|
|
2843
2927
|
this.match(CircuitScriptParser.T__6);
|
|
2844
2928
|
}
|
|
2845
2929
|
}
|
|
@@ -2859,29 +2943,29 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2859
2943
|
}
|
|
2860
2944
|
wire_atom_expr() {
|
|
2861
2945
|
let localContext = new Wire_atom_exprContext(this.context, this.state);
|
|
2862
|
-
this.enterRule(localContext,
|
|
2946
|
+
this.enterRule(localContext, 96, CircuitScriptParser.RULE_wire_atom_expr);
|
|
2863
2947
|
try {
|
|
2864
|
-
this.state =
|
|
2948
|
+
this.state = 545;
|
|
2865
2949
|
this.errorHandler.sync(this);
|
|
2866
2950
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 63, this.context)) {
|
|
2867
2951
|
case 1:
|
|
2868
2952
|
localContext = new Wire_expr_direction_valueContext(localContext);
|
|
2869
2953
|
this.enterOuterAlt(localContext, 1);
|
|
2870
2954
|
{
|
|
2871
|
-
this.state =
|
|
2955
|
+
this.state = 539;
|
|
2872
2956
|
this.match(CircuitScriptParser.ID);
|
|
2873
|
-
this.state =
|
|
2957
|
+
this.state = 542;
|
|
2874
2958
|
this.errorHandler.sync(this);
|
|
2875
2959
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
|
|
2876
2960
|
case 1:
|
|
2877
2961
|
{
|
|
2878
|
-
this.state =
|
|
2962
|
+
this.state = 540;
|
|
2879
2963
|
this.match(CircuitScriptParser.INTEGER_VALUE);
|
|
2880
2964
|
}
|
|
2881
2965
|
break;
|
|
2882
2966
|
case 2:
|
|
2883
2967
|
{
|
|
2884
|
-
this.state =
|
|
2968
|
+
this.state = 541;
|
|
2885
2969
|
this.data_expr(0);
|
|
2886
2970
|
}
|
|
2887
2971
|
break;
|
|
@@ -2892,7 +2976,7 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2892
2976
|
localContext = new Wire_expr_direction_onlyContext(localContext);
|
|
2893
2977
|
this.enterOuterAlt(localContext, 2);
|
|
2894
2978
|
{
|
|
2895
|
-
this.state =
|
|
2979
|
+
this.state = 544;
|
|
2896
2980
|
this.match(CircuitScriptParser.ID);
|
|
2897
2981
|
}
|
|
2898
2982
|
break;
|
|
@@ -2914,26 +2998,26 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2914
2998
|
}
|
|
2915
2999
|
wire_expr() {
|
|
2916
3000
|
let localContext = new Wire_exprContext(this.context, this.state);
|
|
2917
|
-
this.enterRule(localContext,
|
|
3001
|
+
this.enterRule(localContext, 98, CircuitScriptParser.RULE_wire_expr);
|
|
2918
3002
|
try {
|
|
2919
3003
|
let alternative;
|
|
2920
3004
|
this.enterOuterAlt(localContext, 1);
|
|
2921
3005
|
{
|
|
2922
|
-
this.state =
|
|
3006
|
+
this.state = 547;
|
|
2923
3007
|
this.match(CircuitScriptParser.Wire);
|
|
2924
|
-
this.state =
|
|
3008
|
+
this.state = 551;
|
|
2925
3009
|
this.errorHandler.sync(this);
|
|
2926
3010
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
|
|
2927
3011
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2928
3012
|
if (alternative === 1) {
|
|
2929
3013
|
{
|
|
2930
3014
|
{
|
|
2931
|
-
this.state =
|
|
3015
|
+
this.state = 548;
|
|
2932
3016
|
this.wire_atom_expr();
|
|
2933
3017
|
}
|
|
2934
3018
|
}
|
|
2935
3019
|
}
|
|
2936
|
-
this.state =
|
|
3020
|
+
this.state = 553;
|
|
2937
3021
|
this.errorHandler.sync(this);
|
|
2938
3022
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
|
|
2939
3023
|
}
|
|
@@ -2955,13 +3039,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2955
3039
|
}
|
|
2956
3040
|
point_expr() {
|
|
2957
3041
|
let localContext = new Point_exprContext(this.context, this.state);
|
|
2958
|
-
this.enterRule(localContext,
|
|
3042
|
+
this.enterRule(localContext, 100, CircuitScriptParser.RULE_point_expr);
|
|
2959
3043
|
try {
|
|
2960
3044
|
this.enterOuterAlt(localContext, 1);
|
|
2961
3045
|
{
|
|
2962
|
-
this.state =
|
|
3046
|
+
this.state = 554;
|
|
2963
3047
|
this.match(CircuitScriptParser.Point);
|
|
2964
|
-
this.state =
|
|
3048
|
+
this.state = 555;
|
|
2965
3049
|
this.match(CircuitScriptParser.ID);
|
|
2966
3050
|
}
|
|
2967
3051
|
}
|
|
@@ -2981,13 +3065,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
2981
3065
|
}
|
|
2982
3066
|
import_expr() {
|
|
2983
3067
|
let localContext = new Import_exprContext(this.context, this.state);
|
|
2984
|
-
this.enterRule(localContext,
|
|
3068
|
+
this.enterRule(localContext, 102, CircuitScriptParser.RULE_import_expr);
|
|
2985
3069
|
try {
|
|
2986
3070
|
this.enterOuterAlt(localContext, 1);
|
|
2987
3071
|
{
|
|
2988
|
-
this.state =
|
|
3072
|
+
this.state = 557;
|
|
2989
3073
|
this.match(CircuitScriptParser.Import);
|
|
2990
|
-
this.state =
|
|
3074
|
+
this.state = 558;
|
|
2991
3075
|
this.match(CircuitScriptParser.ID);
|
|
2992
3076
|
}
|
|
2993
3077
|
}
|
|
@@ -3007,30 +3091,30 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
3007
3091
|
}
|
|
3008
3092
|
frame_expr() {
|
|
3009
3093
|
let localContext = new Frame_exprContext(this.context, this.state);
|
|
3010
|
-
this.enterRule(localContext,
|
|
3094
|
+
this.enterRule(localContext, 104, CircuitScriptParser.RULE_frame_expr);
|
|
3011
3095
|
let _la;
|
|
3012
3096
|
try {
|
|
3013
3097
|
this.enterOuterAlt(localContext, 1);
|
|
3014
3098
|
{
|
|
3015
|
-
this.state =
|
|
3099
|
+
this.state = 560;
|
|
3016
3100
|
this.match(CircuitScriptParser.Frame);
|
|
3017
|
-
this.state =
|
|
3101
|
+
this.state = 561;
|
|
3018
3102
|
this.match(CircuitScriptParser.T__0);
|
|
3019
|
-
this.state =
|
|
3103
|
+
this.state = 562;
|
|
3020
3104
|
this.match(CircuitScriptParser.NEWLINE);
|
|
3021
|
-
this.state =
|
|
3105
|
+
this.state = 563;
|
|
3022
3106
|
this.match(CircuitScriptParser.INDENT);
|
|
3023
|
-
this.state =
|
|
3107
|
+
this.state = 566;
|
|
3024
3108
|
this.errorHandler.sync(this);
|
|
3025
3109
|
_la = this.tokenStream.LA(1);
|
|
3026
3110
|
do {
|
|
3027
3111
|
{
|
|
3028
|
-
this.state =
|
|
3112
|
+
this.state = 566;
|
|
3029
3113
|
this.errorHandler.sync(this);
|
|
3030
3114
|
switch (this.tokenStream.LA(1)) {
|
|
3031
3115
|
case CircuitScriptParser.NEWLINE:
|
|
3032
3116
|
{
|
|
3033
|
-
this.state =
|
|
3117
|
+
this.state = 564;
|
|
3034
3118
|
this.match(CircuitScriptParser.NEWLINE);
|
|
3035
3119
|
}
|
|
3036
3120
|
break;
|
|
@@ -3046,12 +3130,13 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
3046
3130
|
case CircuitScriptParser.Parallel:
|
|
3047
3131
|
case CircuitScriptParser.Define:
|
|
3048
3132
|
case CircuitScriptParser.Import:
|
|
3133
|
+
case CircuitScriptParser.If:
|
|
3049
3134
|
case CircuitScriptParser.Frame:
|
|
3050
3135
|
case CircuitScriptParser.Addition:
|
|
3051
3136
|
case CircuitScriptParser.Divide:
|
|
3052
3137
|
case CircuitScriptParser.ID:
|
|
3053
3138
|
{
|
|
3054
|
-
this.state =
|
|
3139
|
+
this.state = 565;
|
|
3055
3140
|
this.expression();
|
|
3056
3141
|
}
|
|
3057
3142
|
break;
|
|
@@ -3059,11 +3144,11 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
3059
3144
|
throw new antlr.NoViableAltException(this);
|
|
3060
3145
|
}
|
|
3061
3146
|
}
|
|
3062
|
-
this.state =
|
|
3147
|
+
this.state = 568;
|
|
3063
3148
|
this.errorHandler.sync(this);
|
|
3064
3149
|
_la = this.tokenStream.LA(1);
|
|
3065
|
-
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) &
|
|
3066
|
-
this.state =
|
|
3150
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
3151
|
+
this.state = 570;
|
|
3067
3152
|
this.match(CircuitScriptParser.DEDENT);
|
|
3068
3153
|
}
|
|
3069
3154
|
}
|
|
@@ -3081,240 +3166,528 @@ export class CircuitScriptParser extends antlr.Parser {
|
|
|
3081
3166
|
}
|
|
3082
3167
|
return localContext;
|
|
3083
3168
|
}
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3169
|
+
if_expr() {
|
|
3170
|
+
let localContext = new If_exprContext(this.context, this.state);
|
|
3171
|
+
this.enterRule(localContext, 106, CircuitScriptParser.RULE_if_expr);
|
|
3172
|
+
let _la;
|
|
3173
|
+
try {
|
|
3174
|
+
let alternative;
|
|
3175
|
+
this.enterOuterAlt(localContext, 1);
|
|
3176
|
+
{
|
|
3177
|
+
this.state = 572;
|
|
3178
|
+
this.match(CircuitScriptParser.If);
|
|
3179
|
+
this.state = 573;
|
|
3180
|
+
this.data_expr(0);
|
|
3181
|
+
this.state = 574;
|
|
3182
|
+
this.match(CircuitScriptParser.T__0);
|
|
3183
|
+
this.state = 575;
|
|
3184
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3185
|
+
this.state = 576;
|
|
3186
|
+
this.match(CircuitScriptParser.INDENT);
|
|
3187
|
+
this.state = 579;
|
|
3188
|
+
this.errorHandler.sync(this);
|
|
3189
|
+
_la = this.tokenStream.LA(1);
|
|
3190
|
+
do {
|
|
3191
|
+
{
|
|
3192
|
+
this.state = 579;
|
|
3193
|
+
this.errorHandler.sync(this);
|
|
3194
|
+
switch (this.tokenStream.LA(1)) {
|
|
3195
|
+
case CircuitScriptParser.NEWLINE:
|
|
3196
|
+
{
|
|
3197
|
+
this.state = 577;
|
|
3198
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3199
|
+
}
|
|
3200
|
+
break;
|
|
3201
|
+
case CircuitScriptParser.T__3:
|
|
3202
|
+
case CircuitScriptParser.Break:
|
|
3203
|
+
case CircuitScriptParser.Branch:
|
|
3204
|
+
case CircuitScriptParser.Wire:
|
|
3205
|
+
case CircuitScriptParser.Add:
|
|
3206
|
+
case CircuitScriptParser.At:
|
|
3207
|
+
case CircuitScriptParser.To:
|
|
3208
|
+
case CircuitScriptParser.Point:
|
|
3209
|
+
case CircuitScriptParser.Join:
|
|
3210
|
+
case CircuitScriptParser.Parallel:
|
|
3211
|
+
case CircuitScriptParser.Define:
|
|
3212
|
+
case CircuitScriptParser.Import:
|
|
3213
|
+
case CircuitScriptParser.If:
|
|
3214
|
+
case CircuitScriptParser.Frame:
|
|
3215
|
+
case CircuitScriptParser.Addition:
|
|
3216
|
+
case CircuitScriptParser.Divide:
|
|
3217
|
+
case CircuitScriptParser.ID:
|
|
3218
|
+
{
|
|
3219
|
+
this.state = 578;
|
|
3220
|
+
this.expression();
|
|
3221
|
+
}
|
|
3222
|
+
break;
|
|
3223
|
+
default:
|
|
3224
|
+
throw new antlr.NoViableAltException(this);
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
this.state = 581;
|
|
3228
|
+
this.errorHandler.sync(this);
|
|
3229
|
+
_la = this.tokenStream.LA(1);
|
|
3230
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
3231
|
+
this.state = 583;
|
|
3232
|
+
this.match(CircuitScriptParser.DEDENT);
|
|
3233
|
+
this.state = 587;
|
|
3234
|
+
this.errorHandler.sync(this);
|
|
3235
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
|
|
3236
|
+
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3237
|
+
if (alternative === 1) {
|
|
3238
|
+
{
|
|
3239
|
+
{
|
|
3240
|
+
this.state = 584;
|
|
3241
|
+
this.if_inner_expr();
|
|
3242
|
+
}
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
this.state = 589;
|
|
3246
|
+
this.errorHandler.sync(this);
|
|
3247
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
|
|
3248
|
+
}
|
|
3249
|
+
this.state = 591;
|
|
3250
|
+
this.errorHandler.sync(this);
|
|
3251
|
+
_la = this.tokenStream.LA(1);
|
|
3252
|
+
if (_la === 25) {
|
|
3253
|
+
{
|
|
3254
|
+
this.state = 590;
|
|
3255
|
+
this.else_expr();
|
|
3256
|
+
}
|
|
3257
|
+
}
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
catch (re) {
|
|
3261
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3262
|
+
this.errorHandler.reportError(this, re);
|
|
3263
|
+
this.errorHandler.recover(this, re);
|
|
3264
|
+
}
|
|
3265
|
+
else {
|
|
3266
|
+
throw re;
|
|
3267
|
+
}
|
|
3268
|
+
}
|
|
3269
|
+
finally {
|
|
3270
|
+
this.exitRule();
|
|
3271
|
+
}
|
|
3272
|
+
return localContext;
|
|
3273
|
+
}
|
|
3274
|
+
if_inner_expr() {
|
|
3275
|
+
let localContext = new If_inner_exprContext(this.context, this.state);
|
|
3276
|
+
this.enterRule(localContext, 108, CircuitScriptParser.RULE_if_inner_expr);
|
|
3277
|
+
let _la;
|
|
3278
|
+
try {
|
|
3279
|
+
this.enterOuterAlt(localContext, 1);
|
|
3280
|
+
{
|
|
3281
|
+
this.state = 593;
|
|
3282
|
+
this.match(CircuitScriptParser.Else);
|
|
3283
|
+
this.state = 594;
|
|
3284
|
+
this.match(CircuitScriptParser.If);
|
|
3285
|
+
this.state = 595;
|
|
3286
|
+
this.data_expr(0);
|
|
3287
|
+
this.state = 596;
|
|
3288
|
+
this.match(CircuitScriptParser.T__0);
|
|
3289
|
+
this.state = 597;
|
|
3290
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3291
|
+
this.state = 598;
|
|
3292
|
+
this.match(CircuitScriptParser.INDENT);
|
|
3293
|
+
this.state = 601;
|
|
3294
|
+
this.errorHandler.sync(this);
|
|
3295
|
+
_la = this.tokenStream.LA(1);
|
|
3296
|
+
do {
|
|
3297
|
+
{
|
|
3298
|
+
this.state = 601;
|
|
3299
|
+
this.errorHandler.sync(this);
|
|
3300
|
+
switch (this.tokenStream.LA(1)) {
|
|
3301
|
+
case CircuitScriptParser.NEWLINE:
|
|
3302
|
+
{
|
|
3303
|
+
this.state = 599;
|
|
3304
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3305
|
+
}
|
|
3306
|
+
break;
|
|
3307
|
+
case CircuitScriptParser.T__3:
|
|
3308
|
+
case CircuitScriptParser.Break:
|
|
3309
|
+
case CircuitScriptParser.Branch:
|
|
3310
|
+
case CircuitScriptParser.Wire:
|
|
3311
|
+
case CircuitScriptParser.Add:
|
|
3312
|
+
case CircuitScriptParser.At:
|
|
3313
|
+
case CircuitScriptParser.To:
|
|
3314
|
+
case CircuitScriptParser.Point:
|
|
3315
|
+
case CircuitScriptParser.Join:
|
|
3316
|
+
case CircuitScriptParser.Parallel:
|
|
3317
|
+
case CircuitScriptParser.Define:
|
|
3318
|
+
case CircuitScriptParser.Import:
|
|
3319
|
+
case CircuitScriptParser.If:
|
|
3320
|
+
case CircuitScriptParser.Frame:
|
|
3321
|
+
case CircuitScriptParser.Addition:
|
|
3322
|
+
case CircuitScriptParser.Divide:
|
|
3323
|
+
case CircuitScriptParser.ID:
|
|
3324
|
+
{
|
|
3325
|
+
this.state = 600;
|
|
3326
|
+
this.expression();
|
|
3327
|
+
}
|
|
3328
|
+
break;
|
|
3329
|
+
default:
|
|
3330
|
+
throw new antlr.NoViableAltException(this);
|
|
3331
|
+
}
|
|
3332
|
+
}
|
|
3333
|
+
this.state = 603;
|
|
3334
|
+
this.errorHandler.sync(this);
|
|
3335
|
+
_la = this.tokenStream.LA(1);
|
|
3336
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
3337
|
+
this.state = 605;
|
|
3338
|
+
this.match(CircuitScriptParser.DEDENT);
|
|
3339
|
+
}
|
|
3340
|
+
}
|
|
3341
|
+
catch (re) {
|
|
3342
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3343
|
+
this.errorHandler.reportError(this, re);
|
|
3344
|
+
this.errorHandler.recover(this, re);
|
|
3345
|
+
}
|
|
3346
|
+
else {
|
|
3347
|
+
throw re;
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
finally {
|
|
3351
|
+
this.exitRule();
|
|
3352
|
+
}
|
|
3353
|
+
return localContext;
|
|
3354
|
+
}
|
|
3355
|
+
else_expr() {
|
|
3356
|
+
let localContext = new Else_exprContext(this.context, this.state);
|
|
3357
|
+
this.enterRule(localContext, 110, CircuitScriptParser.RULE_else_expr);
|
|
3358
|
+
let _la;
|
|
3359
|
+
try {
|
|
3360
|
+
this.enterOuterAlt(localContext, 1);
|
|
3361
|
+
{
|
|
3362
|
+
this.state = 607;
|
|
3363
|
+
this.match(CircuitScriptParser.Else);
|
|
3364
|
+
this.state = 608;
|
|
3365
|
+
this.match(CircuitScriptParser.T__0);
|
|
3366
|
+
this.state = 609;
|
|
3367
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3368
|
+
this.state = 610;
|
|
3369
|
+
this.match(CircuitScriptParser.INDENT);
|
|
3370
|
+
this.state = 613;
|
|
3371
|
+
this.errorHandler.sync(this);
|
|
3372
|
+
_la = this.tokenStream.LA(1);
|
|
3373
|
+
do {
|
|
3374
|
+
{
|
|
3375
|
+
this.state = 613;
|
|
3376
|
+
this.errorHandler.sync(this);
|
|
3377
|
+
switch (this.tokenStream.LA(1)) {
|
|
3378
|
+
case CircuitScriptParser.NEWLINE:
|
|
3379
|
+
{
|
|
3380
|
+
this.state = 611;
|
|
3381
|
+
this.match(CircuitScriptParser.NEWLINE);
|
|
3382
|
+
}
|
|
3383
|
+
break;
|
|
3384
|
+
case CircuitScriptParser.T__3:
|
|
3385
|
+
case CircuitScriptParser.Break:
|
|
3386
|
+
case CircuitScriptParser.Branch:
|
|
3387
|
+
case CircuitScriptParser.Wire:
|
|
3388
|
+
case CircuitScriptParser.Add:
|
|
3389
|
+
case CircuitScriptParser.At:
|
|
3390
|
+
case CircuitScriptParser.To:
|
|
3391
|
+
case CircuitScriptParser.Point:
|
|
3392
|
+
case CircuitScriptParser.Join:
|
|
3393
|
+
case CircuitScriptParser.Parallel:
|
|
3394
|
+
case CircuitScriptParser.Define:
|
|
3395
|
+
case CircuitScriptParser.Import:
|
|
3396
|
+
case CircuitScriptParser.If:
|
|
3397
|
+
case CircuitScriptParser.Frame:
|
|
3398
|
+
case CircuitScriptParser.Addition:
|
|
3399
|
+
case CircuitScriptParser.Divide:
|
|
3400
|
+
case CircuitScriptParser.ID:
|
|
3401
|
+
{
|
|
3402
|
+
this.state = 612;
|
|
3403
|
+
this.expression();
|
|
3404
|
+
}
|
|
3405
|
+
break;
|
|
3406
|
+
default:
|
|
3407
|
+
throw new antlr.NoViableAltException(this);
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3410
|
+
this.state = 615;
|
|
3411
|
+
this.errorHandler.sync(this);
|
|
3412
|
+
_la = this.tokenStream.LA(1);
|
|
3413
|
+
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 165651216) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 65797) !== 0));
|
|
3414
|
+
this.state = 617;
|
|
3415
|
+
this.match(CircuitScriptParser.DEDENT);
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
catch (re) {
|
|
3419
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3420
|
+
this.errorHandler.reportError(this, re);
|
|
3421
|
+
this.errorHandler.recover(this, re);
|
|
3422
|
+
}
|
|
3423
|
+
else {
|
|
3424
|
+
throw re;
|
|
3425
|
+
}
|
|
3426
|
+
}
|
|
3427
|
+
finally {
|
|
3428
|
+
this.exitRule();
|
|
3429
|
+
}
|
|
3430
|
+
return localContext;
|
|
3431
|
+
}
|
|
3432
|
+
sempred(localContext, ruleIndex, predIndex) {
|
|
3433
|
+
switch (ruleIndex) {
|
|
3434
|
+
case 28:
|
|
3435
|
+
return this.data_expr_sempred(localContext, predIndex);
|
|
3436
|
+
}
|
|
3437
|
+
return true;
|
|
3438
|
+
}
|
|
3439
|
+
data_expr_sempred(localContext, predIndex) {
|
|
3440
|
+
switch (predIndex) {
|
|
3441
|
+
case 0:
|
|
3442
|
+
return this.precpred(this.context, 7);
|
|
3443
|
+
case 1:
|
|
3444
|
+
return this.precpred(this.context, 6);
|
|
3445
|
+
case 2:
|
|
3446
|
+
return this.precpred(this.context, 5);
|
|
3447
|
+
case 3:
|
|
3448
|
+
return this.precpred(this.context, 4);
|
|
3449
|
+
}
|
|
3450
|
+
return true;
|
|
3451
|
+
}
|
|
3452
|
+
static _serializedATN = [
|
|
3453
|
+
4, 1, 55, 620, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
|
|
3454
|
+
6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
|
|
3455
|
+
2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
|
|
3456
|
+
7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
|
|
3457
|
+
2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33,
|
|
3458
|
+
7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39,
|
|
3459
|
+
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,
|
|
3460
|
+
7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52,
|
|
3461
|
+
2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 1, 0, 1, 0, 4, 0, 115, 8, 0, 11, 0, 12, 0, 116,
|
|
3462
|
+
1, 0, 1, 0, 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,
|
|
3463
|
+
1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 139, 8, 1, 1, 2, 4, 2, 142, 8, 2, 11, 2, 12, 2, 143, 1, 3, 1,
|
|
3464
|
+
3, 1, 3, 1, 3, 1, 3, 1, 3, 4, 3, 152, 8, 3, 11, 3, 12, 3, 153, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4,
|
|
3465
|
+
1, 4, 1, 4, 1, 4, 4, 4, 164, 8, 4, 11, 4, 12, 4, 165, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1,
|
|
3466
|
+
6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 181, 8, 7, 1, 8, 1, 8, 3, 8, 185, 8, 8, 1, 8, 5,
|
|
3467
|
+
8, 188, 8, 8, 10, 8, 12, 8, 191, 9, 8, 1, 8, 3, 8, 194, 8, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10,
|
|
3468
|
+
3, 10, 201, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 3, 12, 208, 8, 12, 1, 13, 1, 13, 1,
|
|
3469
|
+
13, 1, 13, 5, 13, 214, 8, 13, 10, 13, 12, 13, 217, 9, 13, 1, 13, 3, 13, 220, 8, 13, 1,
|
|
3470
|
+
14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 228, 8, 14, 10, 14, 12, 14, 231, 9, 14, 1,
|
|
3471
|
+
14, 1, 14, 1, 14, 1, 14, 1, 14, 4, 14, 238, 8, 14, 11, 14, 12, 14, 239, 1, 14, 1, 14, 1,
|
|
3472
|
+
15, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 249, 8, 15, 10, 15, 12, 15, 252, 9, 15, 1, 16, 1,
|
|
3473
|
+
16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 4, 17, 262, 8, 17, 11, 17, 12, 17, 263, 1,
|
|
3474
|
+
17, 1, 17, 1, 18, 1, 18, 3, 18, 270, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 276, 8, 19,
|
|
3475
|
+
1, 20, 1, 20, 3, 20, 280, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 4, 21, 286, 8, 21, 11, 21,
|
|
3476
|
+
12, 21, 287, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24,
|
|
3477
|
+
1, 24, 1, 25, 1, 25, 1, 25, 5, 25, 305, 8, 25, 10, 25, 12, 25, 308, 9, 25, 1, 25, 1, 25,
|
|
3478
|
+
5, 25, 312, 8, 25, 10, 25, 12, 25, 315, 9, 25, 1, 25, 1, 25, 1, 25, 5, 25, 320, 8, 25,
|
|
3479
|
+
10, 25, 12, 25, 323, 9, 25, 3, 25, 325, 8, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27,
|
|
3480
|
+
1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 3, 28, 343, 8, 28,
|
|
3481
|
+
1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 3, 28, 351, 8, 28, 1, 28, 1, 28, 1, 28, 1, 28,
|
|
3482
|
+
1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 366, 8, 28, 10, 28,
|
|
3483
|
+
12, 28, 369, 9, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 3, 31, 376, 8, 31, 1, 31, 1, 31,
|
|
3484
|
+
3, 31, 380, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 386, 8, 32, 1, 32, 1, 32, 1, 32, 1,
|
|
3485
|
+
32, 1, 32, 1, 32, 4, 32, 394, 8, 32, 11, 32, 12, 32, 395, 1, 32, 1, 32, 1, 33, 1, 33, 3,
|
|
3486
|
+
33, 402, 8, 33, 1, 34, 1, 34, 1, 34, 5, 34, 407, 8, 34, 10, 34, 12, 34, 410, 9, 34, 1,
|
|
3487
|
+
34, 1, 34, 1, 34, 1, 34, 5, 34, 416, 8, 34, 10, 34, 12, 34, 419, 9, 34, 1, 34, 1, 34, 1,
|
|
3488
|
+
34, 1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 428, 8, 34, 10, 34, 12, 34, 431, 9, 34, 3, 34, 433,
|
|
3489
|
+
8, 34, 1, 35, 1, 35, 1, 35, 5, 35, 438, 8, 35, 10, 35, 12, 35, 441, 9, 35, 1, 36, 1, 36,
|
|
3490
|
+
3, 36, 445, 8, 36, 1, 36, 1, 36, 1, 36, 3, 36, 450, 8, 36, 1, 37, 3, 37, 453, 8, 37, 1,
|
|
3491
|
+
37, 1, 37, 4, 37, 457, 8, 37, 11, 37, 12, 37, 458, 1, 38, 3, 38, 462, 8, 38, 1, 38, 1,
|
|
3492
|
+
38, 3, 38, 466, 8, 38, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1,
|
|
3493
|
+
40, 4, 40, 478, 8, 40, 11, 40, 12, 40, 479, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1,
|
|
3494
|
+
41, 1, 41, 1, 41, 4, 41, 491, 8, 41, 11, 41, 12, 41, 492, 1, 41, 1, 41, 1, 42, 1, 42, 1,
|
|
3495
|
+
42, 1, 42, 4, 42, 501, 8, 42, 11, 42, 12, 42, 502, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 509,
|
|
3496
|
+
8, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 3, 43, 517, 8, 43, 1, 44, 1, 44, 1, 44,
|
|
3497
|
+
1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 5, 46, 529, 8, 46, 10, 46, 12, 46, 532,
|
|
3498
|
+
9, 46, 3, 46, 534, 8, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 3, 48, 543, 8,
|
|
3499
|
+
48, 1, 48, 3, 48, 546, 8, 48, 1, 49, 1, 49, 5, 49, 550, 8, 49, 10, 49, 12, 49, 553, 9,
|
|
3500
|
+
49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 4,
|
|
3501
|
+
52, 567, 8, 52, 11, 52, 12, 52, 568, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1,
|
|
3502
|
+
53, 1, 53, 4, 53, 580, 8, 53, 11, 53, 12, 53, 581, 1, 53, 1, 53, 5, 53, 586, 8, 53, 10,
|
|
3503
|
+
53, 12, 53, 589, 9, 53, 1, 53, 3, 53, 592, 8, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1,
|
|
3504
|
+
54, 1, 54, 1, 54, 4, 54, 602, 8, 54, 11, 54, 12, 54, 603, 1, 54, 1, 54, 1, 55, 1, 55, 1,
|
|
3505
|
+
55, 1, 55, 1, 55, 1, 55, 4, 55, 614, 8, 55, 11, 55, 12, 55, 615, 1, 55, 1, 55, 1, 55, 0,
|
|
3506
|
+
1, 56, 56, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
|
|
3507
|
+
42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84,
|
|
3508
|
+
86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 0, 12, 2, 0, 9, 9, 18, 20,
|
|
3509
|
+
1, 0, 44, 45, 2, 0, 45, 45, 48, 48, 2, 0, 42, 42, 45, 45, 1, 0, 38, 39, 1, 0, 36, 37, 1,
|
|
3510
|
+
0, 34, 35, 1, 0, 28, 33, 2, 0, 26, 26, 37, 37, 2, 0, 43, 43, 45, 49, 2, 0, 14, 14, 44, 44,
|
|
3511
|
+
2, 0, 44, 45, 48, 48, 661, 0, 114, 1, 0, 0, 0, 2, 138, 1, 0, 0, 0, 4, 141, 1, 0, 0, 0, 6,
|
|
3512
|
+
145, 1, 0, 0, 0, 8, 157, 1, 0, 0, 0, 10, 169, 1, 0, 0, 0, 12, 173, 1, 0, 0, 0, 14, 176, 1,
|
|
3513
|
+
0, 0, 0, 16, 184, 1, 0, 0, 0, 18, 195, 1, 0, 0, 0, 20, 200, 1, 0, 0, 0, 22, 202, 1, 0, 0,
|
|
3514
|
+
0, 24, 204, 1, 0, 0, 0, 26, 209, 1, 0, 0, 0, 28, 221, 1, 0, 0, 0, 30, 243, 1, 0, 0, 0, 32,
|
|
3515
|
+
253, 1, 0, 0, 0, 34, 255, 1, 0, 0, 0, 36, 269, 1, 0, 0, 0, 38, 271, 1, 0, 0, 0, 40, 279,
|
|
3516
|
+
1, 0, 0, 0, 42, 281, 1, 0, 0, 0, 44, 291, 1, 0, 0, 0, 46, 293, 1, 0, 0, 0, 48, 297, 1, 0,
|
|
3517
|
+
0, 0, 50, 324, 1, 0, 0, 0, 52, 326, 1, 0, 0, 0, 54, 330, 1, 0, 0, 0, 56, 350, 1, 0, 0, 0,
|
|
3518
|
+
58, 370, 1, 0, 0, 0, 60, 372, 1, 0, 0, 0, 62, 379, 1, 0, 0, 0, 64, 381, 1, 0, 0, 0, 66, 401,
|
|
3519
|
+
1, 0, 0, 0, 68, 432, 1, 0, 0, 0, 70, 434, 1, 0, 0, 0, 72, 449, 1, 0, 0, 0, 74, 452, 1, 0,
|
|
3520
|
+
0, 0, 76, 461, 1, 0, 0, 0, 78, 467, 1, 0, 0, 0, 80, 470, 1, 0, 0, 0, 82, 483, 1, 0, 0, 0,
|
|
3521
|
+
84, 496, 1, 0, 0, 0, 86, 506, 1, 0, 0, 0, 88, 518, 1, 0, 0, 0, 90, 522, 1, 0, 0, 0, 92, 533,
|
|
3522
|
+
1, 0, 0, 0, 94, 535, 1, 0, 0, 0, 96, 545, 1, 0, 0, 0, 98, 547, 1, 0, 0, 0, 100, 554, 1, 0,
|
|
3523
|
+
0, 0, 102, 557, 1, 0, 0, 0, 104, 560, 1, 0, 0, 0, 106, 572, 1, 0, 0, 0, 108, 593, 1, 0,
|
|
3524
|
+
0, 0, 110, 607, 1, 0, 0, 0, 112, 115, 3, 2, 1, 0, 113, 115, 5, 52, 0, 0, 114, 112, 1, 0,
|
|
3525
|
+
0, 0, 114, 113, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 116, 117, 1, 0,
|
|
3526
|
+
0, 0, 117, 118, 1, 0, 0, 0, 118, 119, 5, 0, 0, 1, 119, 1, 1, 0, 0, 0, 120, 139, 3, 18, 9,
|
|
3527
|
+
0, 121, 139, 3, 26, 13, 0, 122, 139, 3, 24, 12, 0, 123, 139, 3, 46, 23, 0, 124, 139,
|
|
3528
|
+
3, 52, 26, 0, 125, 139, 3, 8, 4, 0, 126, 139, 3, 54, 27, 0, 127, 139, 3, 44, 22, 0, 128,
|
|
3529
|
+
139, 3, 64, 32, 0, 129, 139, 3, 74, 37, 0, 130, 139, 3, 98, 49, 0, 131, 139, 3, 102,
|
|
3530
|
+
51, 0, 132, 139, 3, 104, 52, 0, 133, 139, 3, 70, 35, 0, 134, 139, 3, 34, 17, 0, 135,
|
|
3531
|
+
139, 3, 4, 2, 0, 136, 139, 3, 100, 50, 0, 137, 139, 3, 106, 53, 0, 138, 120, 1, 0, 0,
|
|
3532
|
+
0, 138, 121, 1, 0, 0, 0, 138, 122, 1, 0, 0, 0, 138, 123, 1, 0, 0, 0, 138, 124, 1, 0, 0,
|
|
3533
|
+
0, 138, 125, 1, 0, 0, 0, 138, 126, 1, 0, 0, 0, 138, 127, 1, 0, 0, 0, 138, 128, 1, 0, 0,
|
|
3534
|
+
0, 138, 129, 1, 0, 0, 0, 138, 130, 1, 0, 0, 0, 138, 131, 1, 0, 0, 0, 138, 132, 1, 0, 0,
|
|
3535
|
+
0, 138, 133, 1, 0, 0, 0, 138, 134, 1, 0, 0, 0, 138, 135, 1, 0, 0, 0, 138, 136, 1, 0, 0,
|
|
3536
|
+
0, 138, 137, 1, 0, 0, 0, 139, 3, 1, 0, 0, 0, 140, 142, 3, 6, 3, 0, 141, 140, 1, 0, 0, 0,
|
|
3537
|
+
142, 143, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 5, 1, 0, 0, 0, 145,
|
|
3538
|
+
146, 7, 0, 0, 0, 146, 147, 5, 1, 0, 0, 147, 148, 5, 52, 0, 0, 148, 151, 5, 54, 0, 0, 149,
|
|
3539
|
+
152, 5, 52, 0, 0, 150, 152, 3, 2, 1, 0, 151, 149, 1, 0, 0, 0, 151, 150, 1, 0, 0, 0, 152,
|
|
3540
|
+
153, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155,
|
|
3541
|
+
156, 5, 55, 0, 0, 156, 7, 1, 0, 0, 0, 157, 158, 3, 70, 35, 0, 158, 159, 5, 1, 0, 0, 159,
|
|
3542
|
+
160, 5, 52, 0, 0, 160, 163, 5, 54, 0, 0, 161, 164, 5, 52, 0, 0, 162, 164, 3, 10, 5, 0,
|
|
3543
|
+
163, 161, 1, 0, 0, 0, 163, 162, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0,
|
|
3544
|
+
165, 166, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 5, 55, 0, 0, 168, 9, 1, 0, 0, 0, 169,
|
|
3545
|
+
170, 7, 1, 0, 0, 170, 171, 5, 1, 0, 0, 171, 172, 3, 62, 31, 0, 172, 11, 1, 0, 0, 0, 173,
|
|
3546
|
+
174, 5, 14, 0, 0, 174, 175, 7, 2, 0, 0, 175, 13, 1, 0, 0, 0, 176, 177, 5, 44, 0, 0, 177,
|
|
3547
|
+
180, 5, 1, 0, 0, 178, 181, 3, 62, 31, 0, 179, 181, 5, 44, 0, 0, 180, 178, 1, 0, 0, 0, 180,
|
|
3548
|
+
179, 1, 0, 0, 0, 181, 15, 1, 0, 0, 0, 182, 185, 3, 56, 28, 0, 183, 185, 3, 46, 23, 0, 184,
|
|
3549
|
+
182, 1, 0, 0, 0, 184, 183, 1, 0, 0, 0, 185, 189, 1, 0, 0, 0, 186, 188, 3, 14, 7, 0, 187,
|
|
3550
|
+
186, 1, 0, 0, 0, 188, 191, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190,
|
|
3551
|
+
193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 192, 194, 3, 12, 6, 0, 193, 192, 1, 0, 0, 0, 193,
|
|
3552
|
+
194, 1, 0, 0, 0, 194, 17, 1, 0, 0, 0, 195, 196, 5, 15, 0, 0, 196, 197, 3, 16, 8, 0, 197,
|
|
3553
|
+
19, 1, 0, 0, 0, 198, 201, 3, 16, 8, 0, 199, 201, 3, 12, 6, 0, 200, 198, 1, 0, 0, 0, 200,
|
|
3554
|
+
199, 1, 0, 0, 0, 201, 21, 1, 0, 0, 0, 202, 203, 7, 2, 0, 0, 203, 23, 1, 0, 0, 0, 204, 207,
|
|
3555
|
+
5, 16, 0, 0, 205, 208, 3, 20, 10, 0, 206, 208, 5, 18, 0, 0, 207, 205, 1, 0, 0, 0, 207,
|
|
3556
|
+
206, 1, 0, 0, 0, 208, 25, 1, 0, 0, 0, 209, 219, 5, 17, 0, 0, 210, 215, 3, 20, 10, 0, 211,
|
|
3557
|
+
212, 5, 2, 0, 0, 212, 214, 3, 20, 10, 0, 213, 211, 1, 0, 0, 0, 214, 217, 1, 0, 0, 0, 215,
|
|
3558
|
+
213, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 220, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 218,
|
|
3559
|
+
220, 5, 18, 0, 0, 219, 210, 1, 0, 0, 0, 219, 218, 1, 0, 0, 0, 220, 27, 1, 0, 0, 0, 221,
|
|
3560
|
+
222, 5, 16, 0, 0, 222, 223, 3, 20, 10, 0, 223, 224, 5, 17, 0, 0, 224, 229, 3, 20, 10,
|
|
3561
|
+
0, 225, 226, 5, 2, 0, 0, 226, 228, 3, 20, 10, 0, 227, 225, 1, 0, 0, 0, 228, 231, 1, 0,
|
|
3562
|
+
0, 0, 229, 227, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 232, 1, 0, 0, 0, 231, 229, 1, 0,
|
|
3563
|
+
0, 0, 232, 233, 5, 1, 0, 0, 233, 234, 5, 52, 0, 0, 234, 237, 5, 54, 0, 0, 235, 238, 5,
|
|
3564
|
+
52, 0, 0, 236, 238, 3, 30, 15, 0, 237, 235, 1, 0, 0, 0, 237, 236, 1, 0, 0, 0, 238, 239,
|
|
3565
|
+
1, 0, 0, 0, 239, 237, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 242,
|
|
3566
|
+
5, 55, 0, 0, 242, 29, 1, 0, 0, 0, 243, 244, 3, 22, 11, 0, 244, 245, 5, 1, 0, 0, 245, 250,
|
|
3567
|
+
3, 32, 16, 0, 246, 247, 5, 2, 0, 0, 247, 249, 3, 32, 16, 0, 248, 246, 1, 0, 0, 0, 249,
|
|
3568
|
+
252, 1, 0, 0, 0, 250, 248, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 31, 1, 0, 0, 0, 252, 250,
|
|
3569
|
+
1, 0, 0, 0, 253, 254, 7, 3, 0, 0, 254, 33, 1, 0, 0, 0, 255, 256, 3, 24, 12, 0, 256, 257,
|
|
3570
|
+
5, 1, 0, 0, 257, 258, 5, 52, 0, 0, 258, 261, 5, 54, 0, 0, 259, 262, 5, 52, 0, 0, 260, 262,
|
|
3571
|
+
3, 36, 18, 0, 261, 259, 1, 0, 0, 0, 261, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 261,
|
|
3572
|
+
1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 266, 5, 55, 0, 0, 266, 35,
|
|
3573
|
+
1, 0, 0, 0, 267, 270, 3, 2, 1, 0, 268, 270, 3, 38, 19, 0, 269, 267, 1, 0, 0, 0, 269, 268,
|
|
3574
|
+
1, 0, 0, 0, 270, 37, 1, 0, 0, 0, 271, 272, 3, 22, 11, 0, 272, 275, 5, 1, 0, 0, 273, 276,
|
|
3575
|
+
3, 40, 20, 0, 274, 276, 3, 42, 21, 0, 275, 273, 1, 0, 0, 0, 275, 274, 1, 0, 0, 0, 276,
|
|
3576
|
+
39, 1, 0, 0, 0, 277, 280, 3, 2, 1, 0, 278, 280, 5, 42, 0, 0, 279, 277, 1, 0, 0, 0, 279,
|
|
3577
|
+
278, 1, 0, 0, 0, 280, 41, 1, 0, 0, 0, 281, 282, 5, 52, 0, 0, 282, 285, 5, 54, 0, 0, 283,
|
|
3578
|
+
286, 5, 52, 0, 0, 284, 286, 3, 2, 1, 0, 285, 283, 1, 0, 0, 0, 285, 284, 1, 0, 0, 0, 286,
|
|
3579
|
+
287, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289,
|
|
3580
|
+
290, 5, 55, 0, 0, 290, 43, 1, 0, 0, 0, 291, 292, 5, 8, 0, 0, 292, 45, 1, 0, 0, 0, 293, 294,
|
|
3581
|
+
3, 70, 35, 0, 294, 295, 5, 3, 0, 0, 295, 296, 3, 56, 28, 0, 296, 47, 1, 0, 0, 0, 297, 298,
|
|
3582
|
+
5, 44, 0, 0, 298, 299, 5, 3, 0, 0, 299, 300, 3, 56, 28, 0, 300, 49, 1, 0, 0, 0, 301, 306,
|
|
3583
|
+
3, 56, 28, 0, 302, 303, 5, 2, 0, 0, 303, 305, 3, 56, 28, 0, 304, 302, 1, 0, 0, 0, 305,
|
|
3584
|
+
308, 1, 0, 0, 0, 306, 304, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 313, 1, 0, 0, 0, 308,
|
|
3585
|
+
306, 1, 0, 0, 0, 309, 310, 5, 2, 0, 0, 310, 312, 3, 48, 24, 0, 311, 309, 1, 0, 0, 0, 312,
|
|
3586
|
+
315, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 325, 1, 0, 0, 0, 315,
|
|
3587
|
+
313, 1, 0, 0, 0, 316, 321, 3, 48, 24, 0, 317, 318, 5, 2, 0, 0, 318, 320, 3, 48, 24, 0,
|
|
3588
|
+
319, 317, 1, 0, 0, 0, 320, 323, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0,
|
|
3589
|
+
322, 325, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 324, 301, 1, 0, 0, 0, 324, 316, 1, 0, 0, 0,
|
|
3590
|
+
325, 51, 1, 0, 0, 0, 326, 327, 3, 70, 35, 0, 327, 328, 5, 3, 0, 0, 328, 329, 3, 56, 28,
|
|
3591
|
+
0, 329, 53, 1, 0, 0, 0, 330, 331, 5, 4, 0, 0, 331, 332, 5, 44, 0, 0, 332, 333, 5, 3, 0,
|
|
3592
|
+
0, 333, 334, 3, 56, 28, 0, 334, 55, 1, 0, 0, 0, 335, 336, 6, 28, -1, 0, 336, 337, 5, 40,
|
|
3593
|
+
0, 0, 337, 338, 3, 56, 28, 0, 338, 339, 5, 41, 0, 0, 339, 351, 1, 0, 0, 0, 340, 343, 3,
|
|
3594
|
+
62, 31, 0, 341, 343, 3, 70, 35, 0, 342, 340, 1, 0, 0, 0, 342, 341, 1, 0, 0, 0, 343, 351,
|
|
3595
|
+
1, 0, 0, 0, 344, 345, 3, 60, 30, 0, 345, 346, 3, 56, 28, 8, 346, 351, 1, 0, 0, 0, 347,
|
|
3596
|
+
351, 3, 80, 40, 0, 348, 351, 3, 82, 41, 0, 349, 351, 3, 74, 37, 0, 350, 335, 1, 0, 0,
|
|
3597
|
+
0, 350, 342, 1, 0, 0, 0, 350, 344, 1, 0, 0, 0, 350, 347, 1, 0, 0, 0, 350, 348, 1, 0, 0,
|
|
3598
|
+
0, 350, 349, 1, 0, 0, 0, 351, 367, 1, 0, 0, 0, 352, 353, 10, 7, 0, 0, 353, 354, 7, 4, 0,
|
|
3599
|
+
0, 354, 366, 3, 56, 28, 8, 355, 356, 10, 6, 0, 0, 356, 357, 7, 5, 0, 0, 357, 366, 3, 56,
|
|
3600
|
+
28, 7, 358, 359, 10, 5, 0, 0, 359, 360, 3, 58, 29, 0, 360, 361, 3, 56, 28, 6, 361, 366,
|
|
3601
|
+
1, 0, 0, 0, 362, 363, 10, 4, 0, 0, 363, 364, 7, 6, 0, 0, 364, 366, 3, 56, 28, 5, 365, 352,
|
|
3602
|
+
1, 0, 0, 0, 365, 355, 1, 0, 0, 0, 365, 358, 1, 0, 0, 0, 365, 362, 1, 0, 0, 0, 366, 369,
|
|
3603
|
+
1, 0, 0, 0, 367, 365, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 57, 1, 0, 0, 0, 369, 367, 1,
|
|
3604
|
+
0, 0, 0, 370, 371, 7, 7, 0, 0, 371, 59, 1, 0, 0, 0, 372, 373, 7, 8, 0, 0, 373, 61, 1, 0,
|
|
3605
|
+
0, 0, 374, 376, 5, 37, 0, 0, 375, 374, 1, 0, 0, 0, 375, 376, 1, 0, 0, 0, 376, 377, 1, 0,
|
|
3606
|
+
0, 0, 377, 380, 7, 9, 0, 0, 378, 380, 3, 94, 47, 0, 379, 375, 1, 0, 0, 0, 379, 378, 1,
|
|
3607
|
+
0, 0, 0, 380, 63, 1, 0, 0, 0, 381, 382, 5, 22, 0, 0, 382, 383, 5, 44, 0, 0, 383, 385, 5,
|
|
3608
|
+
40, 0, 0, 384, 386, 3, 68, 34, 0, 385, 384, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 387,
|
|
3609
|
+
1, 0, 0, 0, 387, 388, 5, 41, 0, 0, 388, 389, 5, 1, 0, 0, 389, 390, 5, 52, 0, 0, 390, 393,
|
|
3610
|
+
5, 54, 0, 0, 391, 394, 5, 52, 0, 0, 392, 394, 3, 66, 33, 0, 393, 391, 1, 0, 0, 0, 393,
|
|
3611
|
+
392, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 393, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396,
|
|
3612
|
+
397, 1, 0, 0, 0, 397, 398, 5, 55, 0, 0, 398, 65, 1, 0, 0, 0, 399, 402, 3, 2, 1, 0, 400,
|
|
3613
|
+
402, 3, 78, 39, 0, 401, 399, 1, 0, 0, 0, 401, 400, 1, 0, 0, 0, 402, 67, 1, 0, 0, 0, 403,
|
|
3614
|
+
408, 5, 44, 0, 0, 404, 405, 5, 2, 0, 0, 405, 407, 5, 44, 0, 0, 406, 404, 1, 0, 0, 0, 407,
|
|
3615
|
+
410, 1, 0, 0, 0, 408, 406, 1, 0, 0, 0, 408, 409, 1, 0, 0, 0, 409, 417, 1, 0, 0, 0, 410,
|
|
3616
|
+
408, 1, 0, 0, 0, 411, 412, 5, 2, 0, 0, 412, 413, 5, 44, 0, 0, 413, 414, 5, 3, 0, 0, 414,
|
|
3617
|
+
416, 3, 62, 31, 0, 415, 411, 1, 0, 0, 0, 416, 419, 1, 0, 0, 0, 417, 415, 1, 0, 0, 0, 417,
|
|
3618
|
+
418, 1, 0, 0, 0, 418, 433, 1, 0, 0, 0, 419, 417, 1, 0, 0, 0, 420, 421, 5, 44, 0, 0, 421,
|
|
3619
|
+
422, 5, 3, 0, 0, 422, 429, 3, 62, 31, 0, 423, 424, 5, 2, 0, 0, 424, 425, 5, 44, 0, 0, 425,
|
|
3620
|
+
426, 5, 3, 0, 0, 426, 428, 3, 62, 31, 0, 427, 423, 1, 0, 0, 0, 428, 431, 1, 0, 0, 0, 429,
|
|
3621
|
+
427, 1, 0, 0, 0, 429, 430, 1, 0, 0, 0, 430, 433, 1, 0, 0, 0, 431, 429, 1, 0, 0, 0, 432,
|
|
3622
|
+
403, 1, 0, 0, 0, 432, 420, 1, 0, 0, 0, 433, 69, 1, 0, 0, 0, 434, 439, 5, 44, 0, 0, 435,
|
|
3623
|
+
436, 5, 5, 0, 0, 436, 438, 5, 44, 0, 0, 437, 435, 1, 0, 0, 0, 438, 441, 1, 0, 0, 0, 439,
|
|
3624
|
+
437, 1, 0, 0, 0, 439, 440, 1, 0, 0, 0, 440, 71, 1, 0, 0, 0, 441, 439, 1, 0, 0, 0, 442, 444,
|
|
3625
|
+
5, 40, 0, 0, 443, 445, 3, 50, 25, 0, 444, 443, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 446,
|
|
3626
|
+
1, 0, 0, 0, 446, 450, 5, 41, 0, 0, 447, 448, 5, 5, 0, 0, 448, 450, 5, 44, 0, 0, 449, 442,
|
|
3627
|
+
1, 0, 0, 0, 449, 447, 1, 0, 0, 0, 450, 73, 1, 0, 0, 0, 451, 453, 3, 76, 38, 0, 452, 451,
|
|
3628
|
+
1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 456, 5, 44, 0, 0, 455, 457,
|
|
3629
|
+
3, 72, 36, 0, 456, 455, 1, 0, 0, 0, 457, 458, 1, 0, 0, 0, 458, 456, 1, 0, 0, 0, 458, 459,
|
|
3630
|
+
1, 0, 0, 0, 459, 75, 1, 0, 0, 0, 460, 462, 5, 36, 0, 0, 461, 460, 1, 0, 0, 0, 461, 462,
|
|
3631
|
+
1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 5, 38, 0, 0, 464, 466, 3, 56, 28, 0, 465, 464,
|
|
3632
|
+
1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 77, 1, 0, 0, 0, 467, 468, 5, 21, 0, 0, 468, 469,
|
|
3633
|
+
3, 56, 28, 0, 469, 79, 1, 0, 0, 0, 470, 471, 5, 10, 0, 0, 471, 472, 5, 11, 0, 0, 472, 473,
|
|
3634
|
+
5, 1, 0, 0, 473, 474, 5, 52, 0, 0, 474, 477, 5, 54, 0, 0, 475, 478, 5, 52, 0, 0, 476, 478,
|
|
3635
|
+
3, 88, 44, 0, 477, 475, 1, 0, 0, 0, 477, 476, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 477,
|
|
3636
|
+
1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 55, 0, 0, 482, 81,
|
|
3637
|
+
1, 0, 0, 0, 483, 484, 5, 10, 0, 0, 484, 485, 5, 12, 0, 0, 485, 486, 5, 1, 0, 0, 486, 487,
|
|
3638
|
+
5, 52, 0, 0, 487, 490, 5, 54, 0, 0, 488, 491, 5, 52, 0, 0, 489, 491, 3, 86, 43, 0, 490,
|
|
3639
|
+
488, 1, 0, 0, 0, 490, 489, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 490, 1, 0, 0, 0, 492,
|
|
3640
|
+
493, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0, 494, 495, 5, 55, 0, 0, 495, 83, 1, 0, 0, 0, 496,
|
|
3641
|
+
497, 5, 52, 0, 0, 497, 500, 5, 54, 0, 0, 498, 501, 5, 52, 0, 0, 499, 501, 3, 88, 44, 0,
|
|
3642
|
+
500, 498, 1, 0, 0, 0, 500, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0,
|
|
3643
|
+
502, 503, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 505, 5, 55, 0, 0, 505, 85, 1, 0, 0, 0,
|
|
3644
|
+
506, 508, 7, 10, 0, 0, 507, 509, 5, 1, 0, 0, 508, 507, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0,
|
|
3645
|
+
509, 516, 1, 0, 0, 0, 510, 517, 3, 50, 25, 0, 511, 512, 5, 40, 0, 0, 512, 513, 3, 50,
|
|
3646
|
+
25, 0, 513, 514, 5, 41, 0, 0, 514, 517, 1, 0, 0, 0, 515, 517, 3, 84, 42, 0, 516, 510,
|
|
3647
|
+
1, 0, 0, 0, 516, 511, 1, 0, 0, 0, 516, 515, 1, 0, 0, 0, 517, 87, 1, 0, 0, 0, 518, 519, 3,
|
|
3648
|
+
90, 45, 0, 519, 520, 5, 1, 0, 0, 520, 521, 3, 92, 46, 0, 521, 89, 1, 0, 0, 0, 522, 523,
|
|
3649
|
+
7, 11, 0, 0, 523, 91, 1, 0, 0, 0, 524, 534, 3, 84, 42, 0, 525, 530, 3, 56, 28, 0, 526,
|
|
3650
|
+
527, 5, 2, 0, 0, 527, 529, 3, 56, 28, 0, 528, 526, 1, 0, 0, 0, 529, 532, 1, 0, 0, 0, 530,
|
|
3651
|
+
528, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 534, 1, 0, 0, 0, 532, 530, 1, 0, 0, 0, 533,
|
|
3652
|
+
524, 1, 0, 0, 0, 533, 525, 1, 0, 0, 0, 534, 93, 1, 0, 0, 0, 535, 536, 5, 6, 0, 0, 536, 537,
|
|
3653
|
+
5, 45, 0, 0, 537, 538, 5, 7, 0, 0, 538, 95, 1, 0, 0, 0, 539, 542, 5, 44, 0, 0, 540, 543,
|
|
3654
|
+
5, 45, 0, 0, 541, 543, 3, 56, 28, 0, 542, 540, 1, 0, 0, 0, 542, 541, 1, 0, 0, 0, 543, 546,
|
|
3655
|
+
1, 0, 0, 0, 544, 546, 5, 44, 0, 0, 545, 539, 1, 0, 0, 0, 545, 544, 1, 0, 0, 0, 546, 97,
|
|
3656
|
+
1, 0, 0, 0, 547, 551, 5, 13, 0, 0, 548, 550, 3, 96, 48, 0, 549, 548, 1, 0, 0, 0, 550, 553,
|
|
3657
|
+
1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 99, 1, 0, 0, 0, 553, 551, 1,
|
|
3658
|
+
0, 0, 0, 554, 555, 5, 18, 0, 0, 555, 556, 5, 44, 0, 0, 556, 101, 1, 0, 0, 0, 557, 558,
|
|
3659
|
+
5, 23, 0, 0, 558, 559, 5, 44, 0, 0, 559, 103, 1, 0, 0, 0, 560, 561, 5, 27, 0, 0, 561, 562,
|
|
3660
|
+
5, 1, 0, 0, 562, 563, 5, 52, 0, 0, 563, 566, 5, 54, 0, 0, 564, 567, 5, 52, 0, 0, 565, 567,
|
|
3661
|
+
3, 2, 1, 0, 566, 564, 1, 0, 0, 0, 566, 565, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 566,
|
|
3662
|
+
1, 0, 0, 0, 568, 569, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 571, 5, 55, 0, 0, 571, 105,
|
|
3663
|
+
1, 0, 0, 0, 572, 573, 5, 24, 0, 0, 573, 574, 3, 56, 28, 0, 574, 575, 5, 1, 0, 0, 575, 576,
|
|
3664
|
+
5, 52, 0, 0, 576, 579, 5, 54, 0, 0, 577, 580, 5, 52, 0, 0, 578, 580, 3, 2, 1, 0, 579, 577,
|
|
3665
|
+
1, 0, 0, 0, 579, 578, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 579, 1, 0, 0, 0, 581, 582,
|
|
3666
|
+
1, 0, 0, 0, 582, 583, 1, 0, 0, 0, 583, 587, 5, 55, 0, 0, 584, 586, 3, 108, 54, 0, 585,
|
|
3667
|
+
584, 1, 0, 0, 0, 586, 589, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 588, 1, 0, 0, 0, 588,
|
|
3668
|
+
591, 1, 0, 0, 0, 589, 587, 1, 0, 0, 0, 590, 592, 3, 110, 55, 0, 591, 590, 1, 0, 0, 0, 591,
|
|
3669
|
+
592, 1, 0, 0, 0, 592, 107, 1, 0, 0, 0, 593, 594, 5, 25, 0, 0, 594, 595, 5, 24, 0, 0, 595,
|
|
3670
|
+
596, 3, 56, 28, 0, 596, 597, 5, 1, 0, 0, 597, 598, 5, 52, 0, 0, 598, 601, 5, 54, 0, 0,
|
|
3671
|
+
599, 602, 5, 52, 0, 0, 600, 602, 3, 2, 1, 0, 601, 599, 1, 0, 0, 0, 601, 600, 1, 0, 0, 0,
|
|
3672
|
+
602, 603, 1, 0, 0, 0, 603, 601, 1, 0, 0, 0, 603, 604, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0,
|
|
3673
|
+
605, 606, 5, 55, 0, 0, 606, 109, 1, 0, 0, 0, 607, 608, 5, 25, 0, 0, 608, 609, 5, 1, 0,
|
|
3674
|
+
0, 609, 610, 5, 52, 0, 0, 610, 613, 5, 54, 0, 0, 611, 614, 5, 52, 0, 0, 612, 614, 3, 2,
|
|
3675
|
+
1, 0, 613, 611, 1, 0, 0, 0, 613, 612, 1, 0, 0, 0, 614, 615, 1, 0, 0, 0, 615, 613, 1, 0,
|
|
3676
|
+
0, 0, 615, 616, 1, 0, 0, 0, 616, 617, 1, 0, 0, 0, 617, 618, 5, 55, 0, 0, 618, 111, 1, 0,
|
|
3677
|
+
0, 0, 75, 114, 116, 138, 143, 151, 153, 163, 165, 180, 184, 189, 193, 200, 207, 215,
|
|
3678
|
+
219, 229, 237, 239, 250, 261, 263, 269, 275, 279, 285, 287, 306, 313, 321, 324,
|
|
3679
|
+
342, 350, 365, 367, 375, 379, 385, 393, 395, 401, 408, 417, 429, 432, 439, 444,
|
|
3680
|
+
449, 452, 458, 461, 465, 477, 479, 490, 492, 500, 502, 508, 516, 530, 533, 542,
|
|
3681
|
+
545, 551, 566, 568, 579, 581, 587, 591, 601, 603, 613, 615
|
|
3682
|
+
];
|
|
3683
|
+
static __ATN;
|
|
3684
|
+
static get _ATN() {
|
|
3685
|
+
if (!CircuitScriptParser.__ATN) {
|
|
3686
|
+
CircuitScriptParser.__ATN = new antlr.ATNDeserializer().deserialize(CircuitScriptParser._serializedATN);
|
|
3687
|
+
}
|
|
3688
|
+
return CircuitScriptParser.__ATN;
|
|
3689
|
+
}
|
|
3690
|
+
static vocabulary = new antlr.Vocabulary(CircuitScriptParser.literalNames, CircuitScriptParser.symbolicNames, []);
|
|
3318
3691
|
get vocabulary() {
|
|
3319
3692
|
return CircuitScriptParser.vocabulary;
|
|
3320
3693
|
}
|
|
@@ -3408,6 +3781,9 @@ export class ExpressionContext extends antlr.ParserRuleContext {
|
|
|
3408
3781
|
point_expr() {
|
|
3409
3782
|
return this.getRuleContext(0, Point_exprContext);
|
|
3410
3783
|
}
|
|
3784
|
+
if_expr() {
|
|
3785
|
+
return this.getRuleContext(0, If_exprContext);
|
|
3786
|
+
}
|
|
3411
3787
|
get ruleIndex() {
|
|
3412
3788
|
return CircuitScriptParser.RULE_expression;
|
|
3413
3789
|
}
|
|
@@ -4210,6 +4586,32 @@ export class MultiplyExprContext extends Data_exprContext {
|
|
|
4210
4586
|
}
|
|
4211
4587
|
}
|
|
4212
4588
|
}
|
|
4589
|
+
export class LogicalOperatorExprContext extends Data_exprContext {
|
|
4590
|
+
constructor(ctx) {
|
|
4591
|
+
super(ctx.parent, ctx.invokingState);
|
|
4592
|
+
super.copyFrom(ctx);
|
|
4593
|
+
}
|
|
4594
|
+
data_expr(i) {
|
|
4595
|
+
if (i === undefined) {
|
|
4596
|
+
return this.getRuleContexts(Data_exprContext);
|
|
4597
|
+
}
|
|
4598
|
+
return this.getRuleContext(i, Data_exprContext);
|
|
4599
|
+
}
|
|
4600
|
+
LogicalAnd() {
|
|
4601
|
+
return this.getToken(CircuitScriptParser.LogicalAnd, 0);
|
|
4602
|
+
}
|
|
4603
|
+
LogicalOr() {
|
|
4604
|
+
return this.getToken(CircuitScriptParser.LogicalOr, 0);
|
|
4605
|
+
}
|
|
4606
|
+
accept(visitor) {
|
|
4607
|
+
if (visitor.visitLogicalOperatorExpr) {
|
|
4608
|
+
return visitor.visitLogicalOperatorExpr(this);
|
|
4609
|
+
}
|
|
4610
|
+
else {
|
|
4611
|
+
return visitor.visitChildren(this);
|
|
4612
|
+
}
|
|
4613
|
+
}
|
|
4614
|
+
}
|
|
4213
4615
|
export class DataExprContext extends Data_exprContext {
|
|
4214
4616
|
constructor(ctx) {
|
|
4215
4617
|
super(ctx.parent, ctx.invokingState);
|
|
@@ -4326,6 +4728,18 @@ export class Binary_operatorContext extends antlr.ParserRuleContext {
|
|
|
4326
4728
|
NotEquals() {
|
|
4327
4729
|
return this.getToken(CircuitScriptParser.NotEquals, 0);
|
|
4328
4730
|
}
|
|
4731
|
+
GreaterThan() {
|
|
4732
|
+
return this.getToken(CircuitScriptParser.GreaterThan, 0);
|
|
4733
|
+
}
|
|
4734
|
+
GreatOrEqualThan() {
|
|
4735
|
+
return this.getToken(CircuitScriptParser.GreatOrEqualThan, 0);
|
|
4736
|
+
}
|
|
4737
|
+
LessThan() {
|
|
4738
|
+
return this.getToken(CircuitScriptParser.LessThan, 0);
|
|
4739
|
+
}
|
|
4740
|
+
LessOrEqualThan() {
|
|
4741
|
+
return this.getToken(CircuitScriptParser.LessOrEqualThan, 0);
|
|
4742
|
+
}
|
|
4329
4743
|
get ruleIndex() {
|
|
4330
4744
|
return CircuitScriptParser.RULE_binary_operator;
|
|
4331
4745
|
}
|
|
@@ -4696,11 +5110,11 @@ export class Create_graphic_exprContext extends antlr.ParserRuleContext {
|
|
|
4696
5110
|
DEDENT() {
|
|
4697
5111
|
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
4698
5112
|
}
|
|
4699
|
-
|
|
5113
|
+
graphic_expr(i) {
|
|
4700
5114
|
if (i === undefined) {
|
|
4701
|
-
return this.getRuleContexts(
|
|
5115
|
+
return this.getRuleContexts(Graphic_exprContext);
|
|
4702
5116
|
}
|
|
4703
|
-
return this.getRuleContext(i,
|
|
5117
|
+
return this.getRuleContext(i, Graphic_exprContext);
|
|
4704
5118
|
}
|
|
4705
5119
|
get ruleIndex() {
|
|
4706
5120
|
return CircuitScriptParser.RULE_create_graphic_expr;
|
|
@@ -4714,7 +5128,43 @@ export class Create_graphic_exprContext extends antlr.ParserRuleContext {
|
|
|
4714
5128
|
}
|
|
4715
5129
|
}
|
|
4716
5130
|
}
|
|
4717
|
-
export class
|
|
5131
|
+
export class Nested_properties_innerContext extends antlr.ParserRuleContext {
|
|
5132
|
+
constructor(parent, invokingState) {
|
|
5133
|
+
super(parent, invokingState);
|
|
5134
|
+
}
|
|
5135
|
+
NEWLINE(i) {
|
|
5136
|
+
if (i === undefined) {
|
|
5137
|
+
return this.getTokens(CircuitScriptParser.NEWLINE);
|
|
5138
|
+
}
|
|
5139
|
+
else {
|
|
5140
|
+
return this.getToken(CircuitScriptParser.NEWLINE, i);
|
|
5141
|
+
}
|
|
5142
|
+
}
|
|
5143
|
+
INDENT() {
|
|
5144
|
+
return this.getToken(CircuitScriptParser.INDENT, 0);
|
|
5145
|
+
}
|
|
5146
|
+
DEDENT() {
|
|
5147
|
+
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
5148
|
+
}
|
|
5149
|
+
property_expr(i) {
|
|
5150
|
+
if (i === undefined) {
|
|
5151
|
+
return this.getRuleContexts(Property_exprContext);
|
|
5152
|
+
}
|
|
5153
|
+
return this.getRuleContext(i, Property_exprContext);
|
|
5154
|
+
}
|
|
5155
|
+
get ruleIndex() {
|
|
5156
|
+
return CircuitScriptParser.RULE_nested_properties_inner;
|
|
5157
|
+
}
|
|
5158
|
+
accept(visitor) {
|
|
5159
|
+
if (visitor.visitNested_properties_inner) {
|
|
5160
|
+
return visitor.visitNested_properties_inner(this);
|
|
5161
|
+
}
|
|
5162
|
+
else {
|
|
5163
|
+
return visitor.visitChildren(this);
|
|
5164
|
+
}
|
|
5165
|
+
}
|
|
5166
|
+
}
|
|
5167
|
+
export class Graphic_exprContext extends antlr.ParserRuleContext {
|
|
4718
5168
|
_command;
|
|
4719
5169
|
constructor(parent, invokingState) {
|
|
4720
5170
|
super(parent, invokingState);
|
|
@@ -4734,12 +5184,15 @@ export class Sub_exprContext extends antlr.ParserRuleContext {
|
|
|
4734
5184
|
CLOSE_PAREN() {
|
|
4735
5185
|
return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
|
|
4736
5186
|
}
|
|
5187
|
+
nested_properties_inner() {
|
|
5188
|
+
return this.getRuleContext(0, Nested_properties_innerContext);
|
|
5189
|
+
}
|
|
4737
5190
|
get ruleIndex() {
|
|
4738
|
-
return CircuitScriptParser.
|
|
5191
|
+
return CircuitScriptParser.RULE_graphic_expr;
|
|
4739
5192
|
}
|
|
4740
5193
|
accept(visitor) {
|
|
4741
|
-
if (visitor.
|
|
4742
|
-
return visitor.
|
|
5194
|
+
if (visitor.visitGraphic_expr) {
|
|
5195
|
+
return visitor.visitGraphic_expr(this);
|
|
4743
5196
|
}
|
|
4744
5197
|
else {
|
|
4745
5198
|
return visitor.visitChildren(this);
|
|
@@ -4829,25 +5282,8 @@ export class Nested_propertiesContext extends Property_value_exprContext {
|
|
|
4829
5282
|
super(ctx.parent, ctx.invokingState);
|
|
4830
5283
|
super.copyFrom(ctx);
|
|
4831
5284
|
}
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
return this.getTokens(CircuitScriptParser.NEWLINE);
|
|
4835
|
-
}
|
|
4836
|
-
else {
|
|
4837
|
-
return this.getToken(CircuitScriptParser.NEWLINE, i);
|
|
4838
|
-
}
|
|
4839
|
-
}
|
|
4840
|
-
INDENT() {
|
|
4841
|
-
return this.getToken(CircuitScriptParser.INDENT, 0);
|
|
4842
|
-
}
|
|
4843
|
-
DEDENT() {
|
|
4844
|
-
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
4845
|
-
}
|
|
4846
|
-
property_expr(i) {
|
|
4847
|
-
if (i === undefined) {
|
|
4848
|
-
return this.getRuleContexts(Property_exprContext);
|
|
4849
|
-
}
|
|
4850
|
-
return this.getRuleContext(i, Property_exprContext);
|
|
5285
|
+
nested_properties_inner() {
|
|
5286
|
+
return this.getRuleContext(0, Nested_properties_innerContext);
|
|
4851
5287
|
}
|
|
4852
5288
|
accept(visitor) {
|
|
4853
5289
|
if (visitor.visitNested_properties) {
|
|
@@ -5036,3 +5472,138 @@ export class Frame_exprContext extends antlr.ParserRuleContext {
|
|
|
5036
5472
|
}
|
|
5037
5473
|
}
|
|
5038
5474
|
}
|
|
5475
|
+
export class If_exprContext extends antlr.ParserRuleContext {
|
|
5476
|
+
constructor(parent, invokingState) {
|
|
5477
|
+
super(parent, invokingState);
|
|
5478
|
+
}
|
|
5479
|
+
If() {
|
|
5480
|
+
return this.getToken(CircuitScriptParser.If, 0);
|
|
5481
|
+
}
|
|
5482
|
+
data_expr() {
|
|
5483
|
+
return this.getRuleContext(0, Data_exprContext);
|
|
5484
|
+
}
|
|
5485
|
+
NEWLINE(i) {
|
|
5486
|
+
if (i === undefined) {
|
|
5487
|
+
return this.getTokens(CircuitScriptParser.NEWLINE);
|
|
5488
|
+
}
|
|
5489
|
+
else {
|
|
5490
|
+
return this.getToken(CircuitScriptParser.NEWLINE, i);
|
|
5491
|
+
}
|
|
5492
|
+
}
|
|
5493
|
+
INDENT() {
|
|
5494
|
+
return this.getToken(CircuitScriptParser.INDENT, 0);
|
|
5495
|
+
}
|
|
5496
|
+
DEDENT() {
|
|
5497
|
+
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
5498
|
+
}
|
|
5499
|
+
expression(i) {
|
|
5500
|
+
if (i === undefined) {
|
|
5501
|
+
return this.getRuleContexts(ExpressionContext);
|
|
5502
|
+
}
|
|
5503
|
+
return this.getRuleContext(i, ExpressionContext);
|
|
5504
|
+
}
|
|
5505
|
+
if_inner_expr(i) {
|
|
5506
|
+
if (i === undefined) {
|
|
5507
|
+
return this.getRuleContexts(If_inner_exprContext);
|
|
5508
|
+
}
|
|
5509
|
+
return this.getRuleContext(i, If_inner_exprContext);
|
|
5510
|
+
}
|
|
5511
|
+
else_expr() {
|
|
5512
|
+
return this.getRuleContext(0, Else_exprContext);
|
|
5513
|
+
}
|
|
5514
|
+
get ruleIndex() {
|
|
5515
|
+
return CircuitScriptParser.RULE_if_expr;
|
|
5516
|
+
}
|
|
5517
|
+
accept(visitor) {
|
|
5518
|
+
if (visitor.visitIf_expr) {
|
|
5519
|
+
return visitor.visitIf_expr(this);
|
|
5520
|
+
}
|
|
5521
|
+
else {
|
|
5522
|
+
return visitor.visitChildren(this);
|
|
5523
|
+
}
|
|
5524
|
+
}
|
|
5525
|
+
}
|
|
5526
|
+
export class If_inner_exprContext extends antlr.ParserRuleContext {
|
|
5527
|
+
constructor(parent, invokingState) {
|
|
5528
|
+
super(parent, invokingState);
|
|
5529
|
+
}
|
|
5530
|
+
Else() {
|
|
5531
|
+
return this.getToken(CircuitScriptParser.Else, 0);
|
|
5532
|
+
}
|
|
5533
|
+
If() {
|
|
5534
|
+
return this.getToken(CircuitScriptParser.If, 0);
|
|
5535
|
+
}
|
|
5536
|
+
data_expr() {
|
|
5537
|
+
return this.getRuleContext(0, Data_exprContext);
|
|
5538
|
+
}
|
|
5539
|
+
NEWLINE(i) {
|
|
5540
|
+
if (i === undefined) {
|
|
5541
|
+
return this.getTokens(CircuitScriptParser.NEWLINE);
|
|
5542
|
+
}
|
|
5543
|
+
else {
|
|
5544
|
+
return this.getToken(CircuitScriptParser.NEWLINE, i);
|
|
5545
|
+
}
|
|
5546
|
+
}
|
|
5547
|
+
INDENT() {
|
|
5548
|
+
return this.getToken(CircuitScriptParser.INDENT, 0);
|
|
5549
|
+
}
|
|
5550
|
+
DEDENT() {
|
|
5551
|
+
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
5552
|
+
}
|
|
5553
|
+
expression(i) {
|
|
5554
|
+
if (i === undefined) {
|
|
5555
|
+
return this.getRuleContexts(ExpressionContext);
|
|
5556
|
+
}
|
|
5557
|
+
return this.getRuleContext(i, ExpressionContext);
|
|
5558
|
+
}
|
|
5559
|
+
get ruleIndex() {
|
|
5560
|
+
return CircuitScriptParser.RULE_if_inner_expr;
|
|
5561
|
+
}
|
|
5562
|
+
accept(visitor) {
|
|
5563
|
+
if (visitor.visitIf_inner_expr) {
|
|
5564
|
+
return visitor.visitIf_inner_expr(this);
|
|
5565
|
+
}
|
|
5566
|
+
else {
|
|
5567
|
+
return visitor.visitChildren(this);
|
|
5568
|
+
}
|
|
5569
|
+
}
|
|
5570
|
+
}
|
|
5571
|
+
export class Else_exprContext extends antlr.ParserRuleContext {
|
|
5572
|
+
constructor(parent, invokingState) {
|
|
5573
|
+
super(parent, invokingState);
|
|
5574
|
+
}
|
|
5575
|
+
Else() {
|
|
5576
|
+
return this.getToken(CircuitScriptParser.Else, 0);
|
|
5577
|
+
}
|
|
5578
|
+
NEWLINE(i) {
|
|
5579
|
+
if (i === undefined) {
|
|
5580
|
+
return this.getTokens(CircuitScriptParser.NEWLINE);
|
|
5581
|
+
}
|
|
5582
|
+
else {
|
|
5583
|
+
return this.getToken(CircuitScriptParser.NEWLINE, i);
|
|
5584
|
+
}
|
|
5585
|
+
}
|
|
5586
|
+
INDENT() {
|
|
5587
|
+
return this.getToken(CircuitScriptParser.INDENT, 0);
|
|
5588
|
+
}
|
|
5589
|
+
DEDENT() {
|
|
5590
|
+
return this.getToken(CircuitScriptParser.DEDENT, 0);
|
|
5591
|
+
}
|
|
5592
|
+
expression(i) {
|
|
5593
|
+
if (i === undefined) {
|
|
5594
|
+
return this.getRuleContexts(ExpressionContext);
|
|
5595
|
+
}
|
|
5596
|
+
return this.getRuleContext(i, ExpressionContext);
|
|
5597
|
+
}
|
|
5598
|
+
get ruleIndex() {
|
|
5599
|
+
return CircuitScriptParser.RULE_else_expr;
|
|
5600
|
+
}
|
|
5601
|
+
accept(visitor) {
|
|
5602
|
+
if (visitor.visitElse_expr) {
|
|
5603
|
+
return visitor.visitElse_expr(this);
|
|
5604
|
+
}
|
|
5605
|
+
else {
|
|
5606
|
+
return visitor.visitChildren(this);
|
|
5607
|
+
}
|
|
5608
|
+
}
|
|
5609
|
+
}
|