circuitscript 0.0.32 → 0.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/BaseVisitor.js +187 -39
  2. package/dist/cjs/antlr/CircuitScriptLexer.js +226 -185
  3. package/dist/cjs/antlr/CircuitScriptParser.js +1439 -902
  4. package/dist/cjs/draw_symbols.js +1 -0
  5. package/dist/cjs/execute.js +14 -12
  6. package/dist/cjs/globals.js +14 -2
  7. package/dist/cjs/helpers.js +62 -19
  8. package/dist/cjs/layout.js +88 -36
  9. package/dist/cjs/objects/ClassComponent.js +3 -0
  10. package/dist/cjs/objects/ExecutionScope.js +1 -0
  11. package/dist/cjs/objects/Frame.js +4 -1
  12. package/dist/cjs/objects/ParamDefinition.js +1 -7
  13. package/dist/cjs/objects/types.js +6 -0
  14. package/dist/cjs/regenerate-tests.js +2 -1
  15. package/dist/cjs/render.js +238 -42
  16. package/dist/cjs/visitor.js +162 -27
  17. package/dist/esm/BaseVisitor.mjs +189 -41
  18. package/dist/esm/antlr/CircuitScriptLexer.mjs +226 -185
  19. package/dist/esm/antlr/CircuitScriptParser.mjs +1428 -899
  20. package/dist/esm/antlr/CircuitScriptVisitor.mjs +9 -2
  21. package/dist/esm/draw_symbols.mjs +1 -0
  22. package/dist/esm/execute.mjs +14 -12
  23. package/dist/esm/globals.mjs +13 -1
  24. package/dist/esm/helpers.mjs +61 -20
  25. package/dist/esm/layout.mjs +88 -37
  26. package/dist/esm/objects/ClassComponent.mjs +3 -0
  27. package/dist/esm/objects/ExecutionScope.mjs +1 -0
  28. package/dist/esm/objects/Frame.mjs +5 -1
  29. package/dist/esm/objects/ParamDefinition.mjs +0 -6
  30. package/dist/esm/objects/types.mjs +6 -0
  31. package/dist/esm/regenerate-tests.mjs +2 -1
  32. package/dist/esm/render.mjs +234 -43
  33. package/dist/esm/visitor.mjs +164 -29
  34. package/dist/types/BaseVisitor.d.ts +8 -2
  35. package/dist/types/antlr/CircuitScriptLexer.d.ts +41 -30
  36. package/dist/types/antlr/CircuitScriptParser.d.ts +169 -81
  37. package/dist/types/antlr/CircuitScriptVisitor.d.ts +18 -4
  38. package/dist/types/draw_symbols.d.ts +2 -1
  39. package/dist/types/execute.d.ts +6 -3
  40. package/dist/types/globals.d.ts +11 -0
  41. package/dist/types/helpers.d.ts +12 -0
  42. package/dist/types/layout.d.ts +17 -9
  43. package/dist/types/objects/ClassComponent.d.ts +2 -1
  44. package/dist/types/objects/ExecutionScope.d.ts +2 -0
  45. package/dist/types/objects/Frame.d.ts +6 -2
  46. package/dist/types/objects/ParamDefinition.d.ts +0 -4
  47. package/dist/types/objects/types.d.ts +4 -2
  48. package/dist/types/render.d.ts +6 -14
  49. package/dist/types/visitor.d.ts +10 -2
  50. package/libs/lib.cst +283 -0
  51. package/package.json +1 -1
@@ -24,36 +24,47 @@ export declare class CircuitScriptLexer extends antlr.Lexer {
24
24
  static readonly Return = 22;
25
25
  static readonly Define = 23;
26
26
  static readonly Import = 24;
27
- static readonly If = 25;
28
- static readonly Else = 26;
29
- static readonly Not = 27;
30
- static readonly Frame = 28;
31
- static readonly Equals = 29;
32
- static readonly NotEquals = 30;
33
- static readonly GreaterThan = 31;
34
- static readonly GreatOrEqualThan = 32;
35
- static readonly LessThan = 33;
36
- static readonly LessOrEqualThan = 34;
37
- static readonly LogicalAnd = 35;
38
- static readonly LogicalOr = 36;
39
- static readonly Addition = 37;
40
- static readonly Minus = 38;
41
- static readonly Divide = 39;
42
- static readonly Multiply = 40;
43
- static readonly OPEN_PAREN = 41;
44
- static readonly CLOSE_PAREN = 42;
45
- static readonly NOT_CONNECTED = 43;
46
- static readonly BOOLEAN_VALUE = 44;
47
- static readonly ID = 45;
48
- static readonly INTEGER_VALUE = 46;
49
- static readonly DECIMAL_VALUE = 47;
50
- static readonly NUMERIC_VALUE = 48;
51
- static readonly STRING_VALUE = 49;
52
- static readonly PERCENTAGE_VALUE = 50;
53
- static readonly ALPHA_NUMERIC = 51;
54
- static readonly WS = 52;
55
- static readonly NEWLINE = 53;
56
- static readonly COMMENT = 54;
27
+ static readonly For = 25;
28
+ static readonly In = 26;
29
+ static readonly While = 27;
30
+ static readonly Continue = 28;
31
+ static readonly If = 29;
32
+ static readonly Else = 30;
33
+ static readonly Not = 31;
34
+ static readonly Frame = 32;
35
+ static readonly Sheet = 33;
36
+ static readonly Equals = 34;
37
+ static readonly NotEquals = 35;
38
+ static readonly GreaterThan = 36;
39
+ static readonly GreatOrEqualThan = 37;
40
+ static readonly LessThan = 38;
41
+ static readonly LessOrEqualThan = 39;
42
+ static readonly LogicalAnd = 40;
43
+ static readonly LogicalOr = 41;
44
+ static readonly Addition = 42;
45
+ static readonly Minus = 43;
46
+ static readonly Divide = 44;
47
+ static readonly Multiply = 45;
48
+ static readonly Modulus = 46;
49
+ static readonly AdditionAssign = 47;
50
+ static readonly MinusAssign = 48;
51
+ static readonly DivideAssign = 49;
52
+ static readonly MultiplyAssign = 50;
53
+ static readonly ModulusAssign = 51;
54
+ static readonly OPEN_PAREN = 52;
55
+ static readonly CLOSE_PAREN = 53;
56
+ static readonly NOT_CONNECTED = 54;
57
+ static readonly BOOLEAN_VALUE = 55;
58
+ static readonly ID = 56;
59
+ static readonly INTEGER_VALUE = 57;
60
+ static readonly DECIMAL_VALUE = 58;
61
+ static readonly NUMERIC_VALUE = 59;
62
+ static readonly STRING_VALUE = 60;
63
+ static readonly PERCENTAGE_VALUE = 61;
64
+ static readonly ALPHA_NUMERIC = 62;
65
+ static readonly WS = 63;
66
+ static readonly NEWLINE = 64;
67
+ static readonly COMMENT = 65;
57
68
  static readonly channelNames: string[];
58
69
  static readonly literalNames: (string | null)[];
59
70
  static readonly symbolicNames: (string | null)[];
@@ -26,38 +26,49 @@ export declare class CircuitScriptParser extends antlr.Parser {
26
26
  static readonly Return = 22;
27
27
  static readonly Define = 23;
28
28
  static readonly Import = 24;
29
- static readonly If = 25;
30
- static readonly Else = 26;
31
- static readonly Not = 27;
32
- static readonly Frame = 28;
33
- static readonly Equals = 29;
34
- static readonly NotEquals = 30;
35
- static readonly GreaterThan = 31;
36
- static readonly GreatOrEqualThan = 32;
37
- static readonly LessThan = 33;
38
- static readonly LessOrEqualThan = 34;
39
- static readonly LogicalAnd = 35;
40
- static readonly LogicalOr = 36;
41
- static readonly Addition = 37;
42
- static readonly Minus = 38;
43
- static readonly Divide = 39;
44
- static readonly Multiply = 40;
45
- static readonly OPEN_PAREN = 41;
46
- static readonly CLOSE_PAREN = 42;
47
- static readonly NOT_CONNECTED = 43;
48
- static readonly BOOLEAN_VALUE = 44;
49
- static readonly ID = 45;
50
- static readonly INTEGER_VALUE = 46;
51
- static readonly DECIMAL_VALUE = 47;
52
- static readonly NUMERIC_VALUE = 48;
53
- static readonly STRING_VALUE = 49;
54
- static readonly PERCENTAGE_VALUE = 50;
55
- static readonly ALPHA_NUMERIC = 51;
56
- static readonly WS = 52;
57
- static readonly NEWLINE = 53;
58
- static readonly COMMENT = 54;
59
- static readonly INDENT = 55;
60
- static readonly DEDENT = 56;
29
+ static readonly For = 25;
30
+ static readonly In = 26;
31
+ static readonly While = 27;
32
+ static readonly Continue = 28;
33
+ static readonly If = 29;
34
+ static readonly Else = 30;
35
+ static readonly Not = 31;
36
+ static readonly Frame = 32;
37
+ static readonly Sheet = 33;
38
+ static readonly Equals = 34;
39
+ static readonly NotEquals = 35;
40
+ static readonly GreaterThan = 36;
41
+ static readonly GreatOrEqualThan = 37;
42
+ static readonly LessThan = 38;
43
+ static readonly LessOrEqualThan = 39;
44
+ static readonly LogicalAnd = 40;
45
+ static readonly LogicalOr = 41;
46
+ static readonly Addition = 42;
47
+ static readonly Minus = 43;
48
+ static readonly Divide = 44;
49
+ static readonly Multiply = 45;
50
+ static readonly Modulus = 46;
51
+ static readonly AdditionAssign = 47;
52
+ static readonly MinusAssign = 48;
53
+ static readonly DivideAssign = 49;
54
+ static readonly MultiplyAssign = 50;
55
+ static readonly ModulusAssign = 51;
56
+ static readonly OPEN_PAREN = 52;
57
+ static readonly CLOSE_PAREN = 53;
58
+ static readonly NOT_CONNECTED = 54;
59
+ static readonly BOOLEAN_VALUE = 55;
60
+ static readonly ID = 56;
61
+ static readonly INTEGER_VALUE = 57;
62
+ static readonly DECIMAL_VALUE = 58;
63
+ static readonly NUMERIC_VALUE = 59;
64
+ static readonly STRING_VALUE = 60;
65
+ static readonly PERCENTAGE_VALUE = 61;
66
+ static readonly ALPHA_NUMERIC = 62;
67
+ static readonly WS = 63;
68
+ static readonly NEWLINE = 64;
69
+ static readonly COMMENT = 65;
70
+ static readonly INDENT = 66;
71
+ static readonly DEDENT = 67;
61
72
  static readonly RULE_script = 0;
62
73
  static readonly RULE_expression = 1;
63
74
  static readonly RULE_expressions_block = 2;
@@ -82,41 +93,46 @@ export declare class CircuitScriptParser extends antlr.Parser {
82
93
  static readonly RULE_at_block_pin_expression_simple = 21;
83
94
  static readonly RULE_at_block_pin_expression_complex = 22;
84
95
  static readonly RULE_break_keyword = 23;
85
- static readonly RULE_assignment_expr = 24;
86
- static readonly RULE_keyword_assignment_expr = 25;
87
- static readonly RULE_parameters = 26;
88
- static readonly RULE_property_set_expr = 27;
89
- static readonly RULE_double_dot_property_set_expr = 28;
90
- static readonly RULE_data_expr = 29;
91
- static readonly RULE_binary_operator = 30;
92
- static readonly RULE_unary_operator = 31;
93
- static readonly RULE_value_expr = 32;
94
- static readonly RULE_function_def_expr = 33;
95
- static readonly RULE_function_expr = 34;
96
- static readonly RULE_function_args_expr = 35;
97
- static readonly RULE_atom_expr = 36;
98
- static readonly RULE_trailer_expr = 37;
99
- static readonly RULE_function_call_expr = 38;
100
- static readonly RULE_net_namespace_expr = 39;
101
- static readonly RULE_function_return_expr = 40;
102
- static readonly RULE_property_block_expr = 41;
103
- static readonly RULE_create_component_expr = 42;
104
- static readonly RULE_create_graphic_expr = 43;
105
- static readonly RULE_create_module_expr = 44;
106
- static readonly RULE_nested_properties_inner = 45;
107
- static readonly RULE_graphic_expr = 46;
108
- static readonly RULE_property_expr = 47;
109
- static readonly RULE_property_key_expr = 48;
110
- static readonly RULE_property_value_expr = 49;
111
- static readonly RULE_blank_expr = 50;
112
- static readonly RULE_wire_atom_expr = 51;
113
- static readonly RULE_wire_expr = 52;
114
- static readonly RULE_point_expr = 53;
115
- static readonly RULE_import_expr = 54;
116
- static readonly RULE_frame_expr = 55;
117
- static readonly RULE_if_expr = 56;
118
- static readonly RULE_if_inner_expr = 57;
119
- static readonly RULE_else_expr = 58;
96
+ static readonly RULE_continue_keyword = 24;
97
+ static readonly RULE_assignment_expr = 25;
98
+ static readonly RULE_operator_assignment_expr = 26;
99
+ static readonly RULE_keyword_assignment_expr = 27;
100
+ static readonly RULE_parameters = 28;
101
+ static readonly RULE_property_set_expr = 29;
102
+ static readonly RULE_double_dot_property_set_expr = 30;
103
+ static readonly RULE_data_expr = 31;
104
+ static readonly RULE_binary_operator = 32;
105
+ static readonly RULE_unary_operator = 33;
106
+ static readonly RULE_value_expr = 34;
107
+ static readonly RULE_function_def_expr = 35;
108
+ static readonly RULE_function_expr = 36;
109
+ static readonly RULE_function_args_expr = 37;
110
+ static readonly RULE_atom_expr = 38;
111
+ static readonly RULE_trailer_expr = 39;
112
+ static readonly RULE_function_call_expr = 40;
113
+ static readonly RULE_net_namespace_expr = 41;
114
+ static readonly RULE_function_return_expr = 42;
115
+ static readonly RULE_property_block_expr = 43;
116
+ static readonly RULE_create_component_expr = 44;
117
+ static readonly RULE_graphic_expressions_block = 45;
118
+ static readonly RULE_create_graphic_expr = 46;
119
+ static readonly RULE_create_module_expr = 47;
120
+ static readonly RULE_nested_properties_inner = 48;
121
+ static readonly RULE_graphic_expr = 49;
122
+ static readonly RULE_property_expr = 50;
123
+ static readonly RULE_property_key_expr = 51;
124
+ static readonly RULE_property_value_expr = 52;
125
+ static readonly RULE_wire_atom_expr = 53;
126
+ static readonly RULE_wire_expr = 54;
127
+ static readonly RULE_array_expr = 55;
128
+ static readonly RULE_point_expr = 56;
129
+ static readonly RULE_import_expr = 57;
130
+ static readonly RULE_frame_expr = 58;
131
+ static readonly RULE_if_expr = 59;
132
+ static readonly RULE_if_inner_expr = 60;
133
+ static readonly RULE_else_expr = 61;
134
+ static readonly RULE_while_expr = 62;
135
+ static readonly RULE_for_expr = 63;
120
136
  static readonly literalNames: (string | null)[];
121
137
  static readonly symbolicNames: (string | null)[];
122
138
  static readonly ruleNames: string[];
@@ -151,7 +167,9 @@ export declare class CircuitScriptParser extends antlr.Parser {
151
167
  at_block_pin_expression_simple(): At_block_pin_expression_simpleContext;
152
168
  at_block_pin_expression_complex(): At_block_pin_expression_complexContext;
153
169
  break_keyword(): Break_keywordContext;
170
+ continue_keyword(): Continue_keywordContext;
154
171
  assignment_expr(): Assignment_exprContext;
172
+ operator_assignment_expr(): Operator_assignment_exprContext;
155
173
  keyword_assignment_expr(): Keyword_assignment_exprContext;
156
174
  parameters(): ParametersContext;
157
175
  property_set_expr(): Property_set_exprContext;
@@ -171,6 +189,7 @@ export declare class CircuitScriptParser extends antlr.Parser {
171
189
  function_return_expr(): Function_return_exprContext;
172
190
  property_block_expr(): Property_block_exprContext;
173
191
  create_component_expr(): Create_component_exprContext;
192
+ graphic_expressions_block(): Graphic_expressions_blockContext;
174
193
  create_graphic_expr(): Create_graphic_exprContext;
175
194
  create_module_expr(): Create_module_exprContext;
176
195
  nested_properties_inner(): Nested_properties_innerContext;
@@ -178,15 +197,17 @@ export declare class CircuitScriptParser extends antlr.Parser {
178
197
  property_expr(): Property_exprContext;
179
198
  property_key_expr(): Property_key_exprContext;
180
199
  property_value_expr(): Property_value_exprContext;
181
- blank_expr(): Blank_exprContext;
182
200
  wire_atom_expr(): Wire_atom_exprContext;
183
201
  wire_expr(): Wire_exprContext;
202
+ array_expr(): Array_exprContext;
184
203
  point_expr(): Point_exprContext;
185
204
  import_expr(): Import_exprContext;
186
205
  frame_expr(): Frame_exprContext;
187
206
  if_expr(): If_exprContext;
188
207
  if_inner_expr(): If_inner_exprContext;
189
208
  else_expr(): Else_exprContext;
209
+ while_expr(): While_exprContext;
210
+ for_expr(): For_exprContext;
190
211
  sempred(localContext: antlr.ParserRuleContext | null, ruleIndex: number, predIndex: number): boolean;
191
212
  private data_expr_sempred;
192
213
  static readonly _serializedATN: number[];
@@ -212,10 +233,12 @@ export declare class ExpressionContext extends antlr.ParserRuleContext {
212
233
  to_component_expr(): To_component_exprContext | null;
213
234
  at_component_expr(): At_component_exprContext | null;
214
235
  assignment_expr(): Assignment_exprContext | null;
236
+ operator_assignment_expr(): Operator_assignment_exprContext | null;
215
237
  property_set_expr(): Property_set_exprContext | null;
216
238
  property_set_expr2(): Property_set_expr2Context | null;
217
239
  double_dot_property_set_expr(): Double_dot_property_set_exprContext | null;
218
240
  break_keyword(): Break_keywordContext | null;
241
+ continue_keyword(): Continue_keywordContext | null;
219
242
  function_def_expr(): Function_def_exprContext | null;
220
243
  function_call_expr(): Function_call_exprContext | null;
221
244
  wire_expr(): Wire_exprContext | null;
@@ -226,6 +249,8 @@ export declare class ExpressionContext extends antlr.ParserRuleContext {
226
249
  path_blocks(): Path_blocksContext | null;
227
250
  point_expr(): Point_exprContext | null;
228
251
  if_expr(): If_exprContext | null;
252
+ while_expr(): While_exprContext | null;
253
+ for_expr(): For_exprContext | null;
229
254
  get ruleIndex(): number;
230
255
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
231
256
  }
@@ -417,6 +442,12 @@ export declare class Break_keywordContext extends antlr.ParserRuleContext {
417
442
  get ruleIndex(): number;
418
443
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
419
444
  }
445
+ export declare class Continue_keywordContext extends antlr.ParserRuleContext {
446
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
447
+ Continue(): antlr.TerminalNode;
448
+ get ruleIndex(): number;
449
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
450
+ }
420
451
  export declare class Assignment_exprContext extends antlr.ParserRuleContext {
421
452
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
422
453
  atom_expr(): Atom_exprContext;
@@ -424,6 +455,18 @@ export declare class Assignment_exprContext extends antlr.ParserRuleContext {
424
455
  get ruleIndex(): number;
425
456
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
426
457
  }
458
+ export declare class Operator_assignment_exprContext extends antlr.ParserRuleContext {
459
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
460
+ atom_expr(): Atom_exprContext;
461
+ data_expr(): Data_exprContext;
462
+ AdditionAssign(): antlr.TerminalNode | null;
463
+ MinusAssign(): antlr.TerminalNode | null;
464
+ MultiplyAssign(): antlr.TerminalNode | null;
465
+ DivideAssign(): antlr.TerminalNode | null;
466
+ ModulusAssign(): antlr.TerminalNode | null;
467
+ get ruleIndex(): number;
468
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
469
+ }
427
470
  export declare class Keyword_assignment_exprContext extends antlr.ParserRuleContext {
428
471
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
429
472
  ID(): antlr.TerminalNode;
@@ -459,6 +502,11 @@ export declare class Data_exprContext extends antlr.ParserRuleContext {
459
502
  get ruleIndex(): number;
460
503
  copyFrom(ctx: Data_exprContext): void;
461
504
  }
505
+ export declare class ArrayExprContext extends Data_exprContext {
506
+ constructor(ctx: Data_exprContext);
507
+ array_expr(): Array_exprContext;
508
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
509
+ }
462
510
  export declare class FunctionCallExprContext extends Data_exprContext {
463
511
  constructor(ctx: Data_exprContext);
464
512
  function_call_expr(): Function_call_exprContext;
@@ -478,6 +526,7 @@ export declare class MultiplyExprContext extends Data_exprContext {
478
526
  data_expr(i: number): Data_exprContext | null;
479
527
  Multiply(): antlr.TerminalNode | null;
480
528
  Divide(): antlr.TerminalNode | null;
529
+ Modulus(): antlr.TerminalNode | null;
481
530
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
482
531
  }
483
532
  export declare class LogicalOperatorExprContext extends Data_exprContext {
@@ -548,7 +597,6 @@ export declare class Value_exprContext extends antlr.ParserRuleContext {
548
597
  PERCENTAGE_VALUE(): antlr.TerminalNode | null;
549
598
  BOOLEAN_VALUE(): antlr.TerminalNode | null;
550
599
  Minus(): antlr.TerminalNode | null;
551
- blank_expr(): Blank_exprContext | null;
552
600
  get ruleIndex(): number;
553
601
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
554
602
  }
@@ -644,10 +692,8 @@ export declare class Create_component_exprContext extends antlr.ParserRuleContex
644
692
  get ruleIndex(): number;
645
693
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
646
694
  }
647
- export declare class Create_graphic_exprContext extends antlr.ParserRuleContext {
695
+ export declare class Graphic_expressions_blockContext extends antlr.ParserRuleContext {
648
696
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
649
- Create(): antlr.TerminalNode;
650
- Graphic(): antlr.TerminalNode;
651
697
  NEWLINE(): antlr.TerminalNode[];
652
698
  NEWLINE(i: number): antlr.TerminalNode | null;
653
699
  INDENT(): antlr.TerminalNode;
@@ -657,6 +703,14 @@ export declare class Create_graphic_exprContext extends antlr.ParserRuleContext
657
703
  get ruleIndex(): number;
658
704
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
659
705
  }
706
+ export declare class Create_graphic_exprContext extends antlr.ParserRuleContext {
707
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
708
+ Create(): antlr.TerminalNode;
709
+ Graphic(): antlr.TerminalNode;
710
+ graphic_expressions_block(): Graphic_expressions_blockContext;
711
+ get ruleIndex(): number;
712
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
713
+ }
660
714
  export declare class Create_module_exprContext extends antlr.ParserRuleContext {
661
715
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
662
716
  Create(): antlr.TerminalNode;
@@ -684,15 +738,29 @@ export declare class Nested_properties_innerContext extends antlr.ParserRuleCont
684
738
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
685
739
  }
686
740
  export declare class Graphic_exprContext extends antlr.ParserRuleContext {
687
- _command?: Token | null;
688
741
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
742
+ get ruleIndex(): number;
743
+ copyFrom(ctx: Graphic_exprContext): void;
744
+ }
745
+ export declare class GraphicCommandExprContext extends Graphic_exprContext {
746
+ _command?: Token | null;
747
+ constructor(ctx: Graphic_exprContext);
689
748
  ID(): antlr.TerminalNode | null;
690
749
  Pin(): antlr.TerminalNode | null;
691
750
  parameters(): ParametersContext | null;
692
751
  OPEN_PAREN(): antlr.TerminalNode | null;
693
752
  CLOSE_PAREN(): antlr.TerminalNode | null;
694
753
  nested_properties_inner(): Nested_properties_innerContext | null;
695
- get ruleIndex(): number;
754
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
755
+ }
756
+ export declare class GraphicForExprContext extends Graphic_exprContext {
757
+ constructor(ctx: Graphic_exprContext);
758
+ For(): antlr.TerminalNode;
759
+ ID(): antlr.TerminalNode[];
760
+ ID(i: number): antlr.TerminalNode | null;
761
+ In(): antlr.TerminalNode;
762
+ data_expr(): Data_exprContext;
763
+ graphic_expressions_block(): Graphic_expressions_blockContext;
696
764
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
697
765
  }
698
766
  export declare class Property_exprContext extends antlr.ParserRuleContext {
@@ -726,12 +794,6 @@ export declare class Nested_propertiesContext extends Property_value_exprContext
726
794
  nested_properties_inner(): Nested_properties_innerContext;
727
795
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
728
796
  }
729
- export declare class Blank_exprContext extends antlr.ParserRuleContext {
730
- constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
731
- INTEGER_VALUE(): antlr.TerminalNode;
732
- get ruleIndex(): number;
733
- accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
734
- }
735
797
  export declare class Wire_atom_exprContext extends antlr.ParserRuleContext {
736
798
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
737
799
  get ruleIndex(): number;
@@ -757,6 +819,13 @@ export declare class Wire_exprContext extends antlr.ParserRuleContext {
757
819
  get ruleIndex(): number;
758
820
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
759
821
  }
822
+ export declare class Array_exprContext extends antlr.ParserRuleContext {
823
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
824
+ data_expr(): Data_exprContext[];
825
+ data_expr(i: number): Data_exprContext | null;
826
+ get ruleIndex(): number;
827
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
828
+ }
760
829
  export declare class Point_exprContext extends antlr.ParserRuleContext {
761
830
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
762
831
  Point(): antlr.TerminalNode;
@@ -773,8 +842,9 @@ export declare class Import_exprContext extends antlr.ParserRuleContext {
773
842
  }
774
843
  export declare class Frame_exprContext extends antlr.ParserRuleContext {
775
844
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
776
- Frame(): antlr.TerminalNode;
777
845
  expressions_block(): Expressions_blockContext;
846
+ Frame(): antlr.TerminalNode | null;
847
+ Sheet(): antlr.TerminalNode | null;
778
848
  get ruleIndex(): number;
779
849
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
780
850
  }
@@ -805,3 +875,21 @@ export declare class Else_exprContext extends antlr.ParserRuleContext {
805
875
  get ruleIndex(): number;
806
876
  accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
807
877
  }
878
+ export declare class While_exprContext extends antlr.ParserRuleContext {
879
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
880
+ While(): antlr.TerminalNode;
881
+ data_expr(): Data_exprContext;
882
+ expressions_block(): Expressions_blockContext;
883
+ get ruleIndex(): number;
884
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
885
+ }
886
+ export declare class For_exprContext extends antlr.ParserRuleContext {
887
+ constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
888
+ For(): antlr.TerminalNode;
889
+ ID(): antlr.TerminalNode;
890
+ In(): antlr.TerminalNode;
891
+ data_expr(): Data_exprContext;
892
+ expressions_block(): Expressions_blockContext;
893
+ get ruleIndex(): number;
894
+ accept<Result>(visitor: CircuitScriptVisitor<Result>): Result | null;
895
+ }
@@ -23,11 +23,14 @@ import { At_block_pin_exprContext } from "./CircuitScriptParser.js";
23
23
  import { At_block_pin_expression_simpleContext } from "./CircuitScriptParser.js";
24
24
  import { At_block_pin_expression_complexContext } from "./CircuitScriptParser.js";
25
25
  import { Break_keywordContext } from "./CircuitScriptParser.js";
26
+ import { Continue_keywordContext } from "./CircuitScriptParser.js";
26
27
  import { Assignment_exprContext } from "./CircuitScriptParser.js";
28
+ import { Operator_assignment_exprContext } from "./CircuitScriptParser.js";
27
29
  import { Keyword_assignment_exprContext } from "./CircuitScriptParser.js";
28
30
  import { ParametersContext } from "./CircuitScriptParser.js";
29
31
  import { Property_set_exprContext } from "./CircuitScriptParser.js";
30
32
  import { Double_dot_property_set_exprContext } from "./CircuitScriptParser.js";
33
+ import { ArrayExprContext } from "./CircuitScriptParser.js";
31
34
  import { FunctionCallExprContext } from "./CircuitScriptParser.js";
32
35
  import { AdditionExprContext } from "./CircuitScriptParser.js";
33
36
  import { MultiplyExprContext } from "./CircuitScriptParser.js";
@@ -50,24 +53,28 @@ import { Net_namespace_exprContext } from "./CircuitScriptParser.js";
50
53
  import { Function_return_exprContext } from "./CircuitScriptParser.js";
51
54
  import { Property_block_exprContext } from "./CircuitScriptParser.js";
52
55
  import { Create_component_exprContext } from "./CircuitScriptParser.js";
56
+ import { Graphic_expressions_blockContext } from "./CircuitScriptParser.js";
53
57
  import { Create_graphic_exprContext } from "./CircuitScriptParser.js";
54
58
  import { Create_module_exprContext } from "./CircuitScriptParser.js";
55
59
  import { Nested_properties_innerContext } from "./CircuitScriptParser.js";
56
- import { Graphic_exprContext } from "./CircuitScriptParser.js";
60
+ import { GraphicCommandExprContext } from "./CircuitScriptParser.js";
61
+ import { GraphicForExprContext } from "./CircuitScriptParser.js";
57
62
  import { Property_exprContext } from "./CircuitScriptParser.js";
58
63
  import { Property_key_exprContext } from "./CircuitScriptParser.js";
59
64
  import { Nested_propertiesContext } from "./CircuitScriptParser.js";
60
65
  import { Single_line_propertyContext } from "./CircuitScriptParser.js";
61
- import { Blank_exprContext } from "./CircuitScriptParser.js";
62
66
  import { Wire_expr_direction_valueContext } from "./CircuitScriptParser.js";
63
67
  import { Wire_expr_direction_onlyContext } from "./CircuitScriptParser.js";
64
68
  import { Wire_exprContext } from "./CircuitScriptParser.js";
69
+ import { Array_exprContext } from "./CircuitScriptParser.js";
65
70
  import { Point_exprContext } from "./CircuitScriptParser.js";
66
71
  import { Import_exprContext } from "./CircuitScriptParser.js";
67
72
  import { Frame_exprContext } from "./CircuitScriptParser.js";
68
73
  import { If_exprContext } from "./CircuitScriptParser.js";
69
74
  import { If_inner_exprContext } from "./CircuitScriptParser.js";
70
75
  import { Else_exprContext } from "./CircuitScriptParser.js";
76
+ import { While_exprContext } from "./CircuitScriptParser.js";
77
+ import { For_exprContext } from "./CircuitScriptParser.js";
71
78
  export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisitor<Result> {
72
79
  visitScript?: (ctx: ScriptContext) => Result;
73
80
  visitExpression?: (ctx: ExpressionContext) => Result;
@@ -93,11 +100,14 @@ export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisit
93
100
  visitAt_block_pin_expression_simple?: (ctx: At_block_pin_expression_simpleContext) => Result;
94
101
  visitAt_block_pin_expression_complex?: (ctx: At_block_pin_expression_complexContext) => Result;
95
102
  visitBreak_keyword?: (ctx: Break_keywordContext) => Result;
103
+ visitContinue_keyword?: (ctx: Continue_keywordContext) => Result;
96
104
  visitAssignment_expr?: (ctx: Assignment_exprContext) => Result;
105
+ visitOperator_assignment_expr?: (ctx: Operator_assignment_exprContext) => Result;
97
106
  visitKeyword_assignment_expr?: (ctx: Keyword_assignment_exprContext) => Result;
98
107
  visitParameters?: (ctx: ParametersContext) => Result;
99
108
  visitProperty_set_expr?: (ctx: Property_set_exprContext) => Result;
100
109
  visitDouble_dot_property_set_expr?: (ctx: Double_dot_property_set_exprContext) => Result;
110
+ visitArrayExpr?: (ctx: ArrayExprContext) => Result;
101
111
  visitFunctionCallExpr?: (ctx: FunctionCallExprContext) => Result;
102
112
  visitAdditionExpr?: (ctx: AdditionExprContext) => Result;
103
113
  visitMultiplyExpr?: (ctx: MultiplyExprContext) => Result;
@@ -120,22 +130,26 @@ export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisit
120
130
  visitFunction_return_expr?: (ctx: Function_return_exprContext) => Result;
121
131
  visitProperty_block_expr?: (ctx: Property_block_exprContext) => Result;
122
132
  visitCreate_component_expr?: (ctx: Create_component_exprContext) => Result;
133
+ visitGraphic_expressions_block?: (ctx: Graphic_expressions_blockContext) => Result;
123
134
  visitCreate_graphic_expr?: (ctx: Create_graphic_exprContext) => Result;
124
135
  visitCreate_module_expr?: (ctx: Create_module_exprContext) => Result;
125
136
  visitNested_properties_inner?: (ctx: Nested_properties_innerContext) => Result;
126
- visitGraphic_expr?: (ctx: Graphic_exprContext) => Result;
137
+ visitGraphicCommandExpr?: (ctx: GraphicCommandExprContext) => Result;
138
+ visitGraphicForExpr?: (ctx: GraphicForExprContext) => Result;
127
139
  visitProperty_expr?: (ctx: Property_exprContext) => Result;
128
140
  visitProperty_key_expr?: (ctx: Property_key_exprContext) => Result;
129
141
  visitNested_properties?: (ctx: Nested_propertiesContext) => Result;
130
142
  visitSingle_line_property?: (ctx: Single_line_propertyContext) => Result;
131
- visitBlank_expr?: (ctx: Blank_exprContext) => Result;
132
143
  visitWire_expr_direction_value?: (ctx: Wire_expr_direction_valueContext) => Result;
133
144
  visitWire_expr_direction_only?: (ctx: Wire_expr_direction_onlyContext) => Result;
134
145
  visitWire_expr?: (ctx: Wire_exprContext) => Result;
146
+ visitArray_expr?: (ctx: Array_exprContext) => Result;
135
147
  visitPoint_expr?: (ctx: Point_exprContext) => Result;
136
148
  visitImport_expr?: (ctx: Import_exprContext) => Result;
137
149
  visitFrame_expr?: (ctx: Frame_exprContext) => Result;
138
150
  visitIf_expr?: (ctx: If_exprContext) => Result;
139
151
  visitIf_inner_expr?: (ctx: If_inner_exprContext) => Result;
140
152
  visitElse_expr?: (ctx: Else_exprContext) => Result;
153
+ visitWhile_expr?: (ctx: While_exprContext) => Result;
154
+ visitFor_expr?: (ctx: For_exprContext) => Result;
141
155
  }
@@ -80,7 +80,8 @@ export declare enum PlaceHolderCommands {
80
80
  lineColor = "lineColor",
81
81
  textColor = "textColor",
82
82
  text = "text",
83
- units = "units"
83
+ units = "units",
84
+ for = "for"
84
85
  }
85
86
  export declare class SymbolCustom extends SymbolGraphic {
86
87
  pinDefinition: SymbolPinDefintion[];
@@ -1,4 +1,4 @@
1
- import { BlockTypes } from './globals.js';
1
+ import { BlockTypes, FrameType } from './globals.js';
2
2
  import { ClassComponent } from './objects/ClassComponent.js';
3
3
  import { ExecutionScope } from './objects/ExecutionScope.js';
4
4
  import { Net } from './objects/Net.js';
@@ -7,6 +7,7 @@ import { PinDefinition } from './objects/PinDefinition.js';
7
7
  import { CFunction, CFunctionResult, CallableParameter, ComponentPin, DeclaredReference } from './objects/types.js';
8
8
  import { Logger } from './logger.js';
9
9
  import { UnitDimension } from './helpers.js';
10
+ import { ParserRuleContext } from 'antlr4ng';
10
11
  export declare class ExecutionContext {
11
12
  name: string;
12
13
  namespace: string;
@@ -58,7 +59,9 @@ export declare class ExecutionContext {
58
59
  atPointBlock(): void;
59
60
  toPointBlock(): void;
60
61
  getPointBlockLocation(): [component: ClassComponent, pin: number, wireId: number];
61
- breakBranch(): void;
62
+ addBreakContext(ctx: ParserRuleContext): void;
63
+ popBreakContext(): ParserRuleContext;
64
+ getBreakContext(): ParserRuleContext;
62
65
  createFunction(functionName: string, __runFunc: CFunction): void;
63
66
  hasFunction(functionName: string): boolean;
64
67
  getFunction(functionName: string): CFunction;
@@ -72,7 +75,7 @@ export declare class ExecutionContext {
72
75
  [key: string]: number | string;
73
76
  }): void;
74
77
  applyComponentAngleFromWire(component: ClassComponent, pin: number, opposite?: boolean): void;
75
- enterFrame(): number;
78
+ enterFrame(frameType: FrameType): number;
76
79
  exitFrame(frameId: number): void;
77
80
  }
78
81
  export declare function getPortSide(pins: Map<number, PinDefinition>, arrangeProps: null | Map<string, number[]>): PortSideItem[];
@@ -41,6 +41,8 @@ export declare const defaultSymbolLineWidth: number;
41
41
  export declare const defaultWireLineWidth: number;
42
42
  export declare const defaultPinNameTextSize = 40;
43
43
  export declare const defaultPinIdTextSize = 30;
44
+ export declare const defaultPageMarginMM = 10;
45
+ export declare const defaultPageSpacingMM = 10;
44
46
  export declare const CustomSymbolPinTextSize = 40;
45
47
  export declare const CustomSymbolPinIdSize = 30;
46
48
  export declare const CustomSymbolRefDesSize = 50;
@@ -80,3 +82,12 @@ export declare enum BlockTypes {
80
82
  Parallel = 3,
81
83
  Point = 4
82
84
  }
85
+ export declare enum FrameType {
86
+ Frame = 1,
87
+ Sheet = 2
88
+ }
89
+ export declare const GlobalDocumentName = "document";
90
+ export declare const RenderFlags: {
91
+ ShowElementFrames: boolean;
92
+ ShowOrigin: boolean;
93
+ };
@@ -50,3 +50,15 @@ export declare class UnitDimension {
50
50
  }
51
51
  export declare function milsToMM(value: number): number;
52
52
  export declare function pxToMM(value: number): number;
53
+ export declare const PaperGridReferences: {
54
+ [key: string]: [rows: number, columns: number];
55
+ };
56
+ export declare function isSupportedPaperSize(type: string): boolean;
57
+ export declare function getPaperSize(type: string, margin?: number): {
58
+ width: number;
59
+ height: number;
60
+ widthMM: number;
61
+ heightMM: number;
62
+ originalWidthMM: number;
63
+ originalHeightMM: number;
64
+ };