circuitscript 0.0.22 → 0.0.25

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 (180) hide show
  1. package/dist/cjs/BaseVisitor.js +487 -0
  2. package/dist/cjs/SemanticTokenVisitor.js +218 -0
  3. package/dist/cjs/SymbolValidatorVisitor.js +233 -0
  4. package/dist/cjs/antlr/CircuitScriptLexer.js +302 -0
  5. package/dist/cjs/antlr/CircuitScriptParser.js +5128 -0
  6. package/dist/cjs/antlr/CircuitScriptVisitor.js +7 -0
  7. package/dist/cjs/draw_symbols.js +819 -0
  8. package/dist/cjs/execute.js +778 -0
  9. package/{src/export.ts → dist/cjs/export.js} +34 -56
  10. package/dist/cjs/fonts.js +4 -0
  11. package/dist/cjs/geometry.js +450 -0
  12. package/dist/cjs/globals.js +60 -0
  13. package/dist/cjs/helpers.js +269 -0
  14. package/dist/cjs/index.js +31 -0
  15. package/{src/layout.ts → dist/cjs/layout.js} +421 -1002
  16. package/dist/cjs/lexer.js +111 -0
  17. package/dist/cjs/logger.js +17 -0
  18. package/dist/cjs/main.js +82 -0
  19. package/dist/cjs/objects/ClassComponent.js +145 -0
  20. package/dist/cjs/objects/ExecutionScope.js +135 -0
  21. package/dist/cjs/objects/Frame.js +22 -0
  22. package/{src/objects/Net.ts → dist/cjs/objects/Net.js} +9 -24
  23. package/dist/cjs/objects/ParamDefinition.js +42 -0
  24. package/dist/cjs/objects/PinDefinition.js +31 -0
  25. package/dist/cjs/objects/PinTypes.js +11 -0
  26. package/dist/cjs/objects/Wire.js +9 -0
  27. package/dist/cjs/objects/types.js +15 -0
  28. package/dist/cjs/parser.js +70 -0
  29. package/dist/cjs/regenerate-tests.js +23 -0
  30. package/dist/cjs/render.js +155 -0
  31. package/{src/server.ts → dist/cjs/server.js} +15 -21
  32. package/dist/cjs/sizing.js +105 -0
  33. package/{src/utils.ts → dist/cjs/utils.js} +25 -35
  34. package/dist/cjs/validate.js +81 -0
  35. package/dist/cjs/visitor.js +844 -0
  36. package/dist/esm/BaseVisitor.mjs +488 -0
  37. package/dist/esm/SemanticTokenVisitor.mjs +215 -0
  38. package/dist/esm/SymbolValidatorVisitor.mjs +222 -0
  39. package/dist/esm/antlr/CircuitScriptLexer.mjs +276 -0
  40. package/dist/esm/antlr/CircuitScriptParser.mjs +5038 -0
  41. package/{build/src/antlr/CircuitScriptVisitor.js → dist/esm/antlr/CircuitScriptVisitor.mjs} +8 -3
  42. package/{build/src/draw_symbols.js → dist/esm/draw_symbols.mjs} +78 -33
  43. package/{build/src/execute.js → dist/esm/execute.mjs} +59 -60
  44. package/{build/src/export.js → dist/esm/export.mjs} +2 -2
  45. package/{build/src/geometry.js → dist/esm/geometry.mjs} +31 -15
  46. package/dist/esm/helpers.mjs +252 -0
  47. package/dist/esm/index.mjs +15 -0
  48. package/{build/src/layout.js → dist/esm/layout.mjs} +19 -11
  49. package/{build/src/lexer.js → dist/esm/lexer.mjs} +10 -10
  50. package/{build/src/main.js → dist/esm/main.mjs} +9 -14
  51. package/{build/src/objects/ClassComponent.js → dist/esm/objects/ClassComponent.mjs} +6 -3
  52. package/{build/src/objects/ExecutionScope.js → dist/esm/objects/ExecutionScope.mjs} +1 -0
  53. package/{build/src/objects/PinDefinition.js → dist/esm/objects/PinDefinition.mjs} +1 -1
  54. package/dist/esm/objects/types.mjs +12 -0
  55. package/dist/esm/parser.mjs +64 -0
  56. package/{build/src/regenerate-tests.js → dist/esm/regenerate-tests.mjs} +1 -1
  57. package/{build/src/render.js → dist/esm/render.mjs} +7 -24
  58. package/{build/src/sizing.js → dist/esm/sizing.mjs} +22 -8
  59. package/{src/main.ts → dist/esm/validate.mjs} +31 -62
  60. package/dist/esm/visitor.mjs +838 -0
  61. package/dist/types/BaseVisitor.d.ts +69 -0
  62. package/dist/types/SemanticTokenVisitor.d.ts +36 -0
  63. package/dist/types/SymbolValidatorVisitor.d.ts +61 -0
  64. package/{build/src → dist/types}/antlr/CircuitScriptLexer.d.ts +28 -27
  65. package/dist/types/antlr/CircuitScriptParser.d.ts +719 -0
  66. package/{build/src → dist/types}/antlr/CircuitScriptVisitor.d.ts +69 -59
  67. package/{build/src → dist/types}/draw_symbols.d.ts +11 -2
  68. package/{build/src → dist/types}/execute.d.ts +6 -9
  69. package/{build/src → dist/types}/geometry.d.ts +5 -1
  70. package/dist/types/helpers.d.ts +40 -0
  71. package/dist/types/index.d.ts +15 -0
  72. package/{build/src → dist/types}/layout.d.ts +10 -10
  73. package/{build/src → dist/types}/lexer.d.ts +2 -2
  74. package/{build/src → dist/types}/objects/ClassComponent.d.ts +2 -2
  75. package/{build/src → dist/types}/objects/ExecutionScope.d.ts +4 -1
  76. package/{build/src → dist/types}/objects/PinDefinition.d.ts +1 -1
  77. package/{build/src → dist/types}/objects/types.d.ts +5 -0
  78. package/dist/types/parser.d.ts +25 -0
  79. package/{build/src → dist/types}/render.d.ts +1 -1
  80. package/{build/src → dist/types}/sizing.d.ts +3 -1
  81. package/dist/types/validate.d.ts +2 -0
  82. package/dist/types/visitor.d.ts +80 -0
  83. package/libs/lib.cst +0 -2
  84. package/package.json +38 -15
  85. package/.editorconfig +0 -15
  86. package/.eslintignore +0 -1
  87. package/.eslintrc.json +0 -27
  88. package/.gitlab-ci.yml +0 -81
  89. package/.prettierignore +0 -8
  90. package/.prettierrc +0 -16
  91. package/__tests__/expectedResults.ts +0 -657
  92. package/__tests__/helpers.ts +0 -82
  93. package/__tests__/parseScripts.ts +0 -593
  94. package/__tests__/renderData/script1.cst +0 -58
  95. package/__tests__/renderData/script1.cst.svg +0 -1
  96. package/__tests__/renderData/script2.cst +0 -16
  97. package/__tests__/renderData/script2.cst.svg +0 -1
  98. package/__tests__/renderData/script3.cst +0 -30
  99. package/__tests__/renderData/script3.cst.svg +0 -1
  100. package/__tests__/renderData/script4.cst +0 -54
  101. package/__tests__/renderData/script4.cst.svg +0 -1
  102. package/__tests__/renderData/script5.cst +0 -23
  103. package/__tests__/renderData/script5.cst.svg +0 -1
  104. package/__tests__/renderData/script6.cst +0 -28
  105. package/__tests__/renderData/script6.cst.svg +0 -1
  106. package/__tests__/renderData/script7.cst +0 -26
  107. package/__tests__/renderData/script7.cst.svg +0 -1
  108. package/__tests__/renderData/script8.cst +0 -37
  109. package/__tests__/renderData/script8.cst.svg +0 -1
  110. package/__tests__/testCLI.ts +0 -68
  111. package/__tests__/testMathOps.ts +0 -36
  112. package/__tests__/testMergeWires.ts +0 -141
  113. package/__tests__/testParse.ts +0 -263
  114. package/__tests__/testRender.ts +0 -38
  115. package/build/src/antlr/CircuitScriptLexer.js +0 -287
  116. package/build/src/antlr/CircuitScriptParser.d.ts +0 -674
  117. package/build/src/antlr/CircuitScriptParser.js +0 -4841
  118. package/build/src/helpers.d.ts +0 -1
  119. package/build/src/helpers.js +0 -73
  120. package/build/src/objects/types.js +0 -6
  121. package/build/src/parser.js +0 -69
  122. package/build/src/visitor.d.ts +0 -133
  123. package/build/src/visitor.js +0 -1154
  124. package/documentation.md +0 -238
  125. package/examples/example_arduino_uno.cst +0 -1146
  126. package/examples/example_garden_pump.cst +0 -567
  127. package/examples/lib.cst +0 -185
  128. package/jest.config.js +0 -23
  129. package/refresh.html +0 -42
  130. package/server.cjs +0 -50
  131. package/src/antlr/CircuitScript.g4 +0 -209
  132. package/src/antlr/CircuitScriptLexer.ts +0 -317
  133. package/src/antlr/CircuitScriptParser.ts +0 -4979
  134. package/src/antlr/CircuitScriptVisitor.ts +0 -420
  135. package/src/draw_symbols.ts +0 -1085
  136. package/src/execute.ts +0 -1227
  137. package/src/fonts.ts +0 -1
  138. package/src/geometry.ts +0 -638
  139. package/src/globals.ts +0 -67
  140. package/src/helpers.ts +0 -114
  141. package/src/lexer.ts +0 -151
  142. package/src/logger.ts +0 -17
  143. package/src/objects/ClassComponent.ts +0 -223
  144. package/src/objects/ExecutionScope.ts +0 -201
  145. package/src/objects/Frame.ts +0 -20
  146. package/src/objects/ParamDefinition.ts +0 -49
  147. package/src/objects/PinDefinition.ts +0 -49
  148. package/src/objects/PinTypes.ts +0 -7
  149. package/src/objects/Wire.ts +0 -19
  150. package/src/objects/types.ts +0 -66
  151. package/src/parser.ts +0 -106
  152. package/src/regenerate-tests.ts +0 -25
  153. package/src/render.ts +0 -260
  154. package/src/sizing.ts +0 -96
  155. package/src/visitor.ts +0 -1691
  156. package/tsconfig.json +0 -27
  157. package/tsconfig.release.json +0 -8
  158. /package/{build/src/fonts.js → dist/esm/fonts.mjs} +0 -0
  159. /package/{build/src/globals.js → dist/esm/globals.mjs} +0 -0
  160. /package/{build/src/logger.js → dist/esm/logger.mjs} +0 -0
  161. /package/{build/src/objects/Frame.js → dist/esm/objects/Frame.mjs} +0 -0
  162. /package/{build/src/objects/Net.js → dist/esm/objects/Net.mjs} +0 -0
  163. /package/{build/src/objects/ParamDefinition.js → dist/esm/objects/ParamDefinition.mjs} +0 -0
  164. /package/{build/src/objects/PinTypes.js → dist/esm/objects/PinTypes.mjs} +0 -0
  165. /package/{build/src/objects/Wire.js → dist/esm/objects/Wire.mjs} +0 -0
  166. /package/{build/src/server.js → dist/esm/server.mjs} +0 -0
  167. /package/{build/src/utils.js → dist/esm/utils.mjs} +0 -0
  168. /package/{build/src → dist/types}/export.d.ts +0 -0
  169. /package/{build/src → dist/types}/fonts.d.ts +0 -0
  170. /package/{build/src → dist/types}/globals.d.ts +0 -0
  171. /package/{build/src → dist/types}/logger.d.ts +0 -0
  172. /package/{build/src → dist/types}/main.d.ts +0 -0
  173. /package/{build/src → dist/types}/objects/Frame.d.ts +0 -0
  174. /package/{build/src → dist/types}/objects/Net.d.ts +0 -0
  175. /package/{build/src → dist/types}/objects/ParamDefinition.d.ts +0 -0
  176. /package/{build/src → dist/types}/objects/PinTypes.d.ts +0 -0
  177. /package/{build/src → dist/types}/objects/Wire.d.ts +0 -0
  178. /package/{build/src → dist/types}/regenerate-tests.d.ts +0 -0
  179. /package/{build/src → dist/types}/server.d.ts +0 -0
  180. /package/{build/src → dist/types}/utils.d.ts +0 -0
@@ -1,71 +1,77 @@
1
- import { ParseTreeVisitor } from 'antlr4';
2
- import { ScriptContext } from "./CircuitScriptParser";
3
- import { ExpressionContext } from "./CircuitScriptParser";
4
- import { Path_blocksContext } from "./CircuitScriptParser";
5
- import { Path_block_innerContext } from "./CircuitScriptParser";
6
- import { Property_set_expr2Context } from "./CircuitScriptParser";
7
- import { Assignment_expr2Context } from "./CircuitScriptParser";
8
- import { Data_expr_with_assignmentContext } from "./CircuitScriptParser";
9
- import { Add_component_exprContext } from "./CircuitScriptParser";
10
- import { Component_select_exprContext } from "./CircuitScriptParser";
11
- import { Pin_select_exprContext } from "./CircuitScriptParser";
12
- import { Pin_select_expr2Context } from "./CircuitScriptParser";
13
- import { At_component_exprContext } from "./CircuitScriptParser";
14
- import { To_component_exprContext } from "./CircuitScriptParser";
15
- import { At_to_multiple_exprContext } from "./CircuitScriptParser";
16
- import { At_to_multiple_line_exprContext } from "./CircuitScriptParser";
17
- import { At_to_multiple_line_expr_to_pinContext } from "./CircuitScriptParser";
18
- import { At_blockContext } from "./CircuitScriptParser";
19
- import { At_block_expressionsContext } from "./CircuitScriptParser";
20
- import { At_block_pin_exprContext } from "./CircuitScriptParser";
21
- import { At_block_pin_expression_simpleContext } from "./CircuitScriptParser";
22
- import { At_block_pin_expression_complexContext } from "./CircuitScriptParser";
23
- import { Break_keywordContext } from "./CircuitScriptParser";
24
- import { Assignment_exprContext } from "./CircuitScriptParser";
25
- import { Keyword_assignment_exprContext } from "./CircuitScriptParser";
26
- import { ParametersContext } from "./CircuitScriptParser";
27
- import { Property_set_exprContext } from "./CircuitScriptParser";
28
- import { Double_dot_property_set_exprContext } from "./CircuitScriptParser";
29
- import { AdditionExprContext } from "./CircuitScriptParser";
30
- import { MultiplyExprContext } from "./CircuitScriptParser";
31
- import { DataExprContext } from "./CircuitScriptParser";
32
- import { UnaryOperatorExprContext } from "./CircuitScriptParser";
33
- import { ValueAtomExprContext } from "./CircuitScriptParser";
34
- import { BinaryOperatorExprContext } from "./CircuitScriptParser";
35
- import { RoundedBracketsExprContext } from "./CircuitScriptParser";
36
- import { Binary_operatorContext } from "./CircuitScriptParser";
37
- import { Unary_operatorContext } from "./CircuitScriptParser";
38
- import { Value_exprContext } from "./CircuitScriptParser";
39
- import { Function_def_exprContext } from "./CircuitScriptParser";
40
- import { Function_exprContext } from "./CircuitScriptParser";
41
- import { Function_args_exprContext } from "./CircuitScriptParser";
42
- import { Atom_exprContext } from "./CircuitScriptParser";
43
- import { Trailer_exprContext } from "./CircuitScriptParser";
44
- import { Net_namespace_exprContext } from "./CircuitScriptParser";
45
- import { Function_return_exprContext } from "./CircuitScriptParser";
46
- import { Create_component_exprContext } from "./CircuitScriptParser";
47
- import { Create_graphic_exprContext } from "./CircuitScriptParser";
48
- import { Sub_exprContext } from "./CircuitScriptParser";
49
- import { Property_exprContext } from "./CircuitScriptParser";
50
- import { Property_key_exprContext } from "./CircuitScriptParser";
51
- import { Nested_propertiesContext } from "./CircuitScriptParser";
52
- import { Single_line_propertyContext } from "./CircuitScriptParser";
53
- import { Blank_exprContext } from "./CircuitScriptParser";
54
- import { Wire_exprContext } from "./CircuitScriptParser";
55
- import { Point_exprContext } from "./CircuitScriptParser";
56
- import { Import_exprContext } from "./CircuitScriptParser";
57
- import { Frame_exprContext } from "./CircuitScriptParser";
58
- export default class CircuitScriptVisitor<Result> extends ParseTreeVisitor<Result> {
1
+ import { AbstractParseTreeVisitor } from "antlr4ng";
2
+ import { ScriptContext } from "./CircuitScriptParser.js";
3
+ import { ExpressionContext } from "./CircuitScriptParser.js";
4
+ import { Path_blocksContext } from "./CircuitScriptParser.js";
5
+ import { Path_block_innerContext } from "./CircuitScriptParser.js";
6
+ import { Property_set_expr2Context } from "./CircuitScriptParser.js";
7
+ import { Assignment_expr2Context } from "./CircuitScriptParser.js";
8
+ import { Pin_select_exprContext } from "./CircuitScriptParser.js";
9
+ import { Component_modifier_exprContext } from "./CircuitScriptParser.js";
10
+ import { Data_expr_with_assignmentContext } from "./CircuitScriptParser.js";
11
+ import { Add_component_exprContext } from "./CircuitScriptParser.js";
12
+ import { Component_select_exprContext } from "./CircuitScriptParser.js";
13
+ import { Pin_select_expr2Context } from "./CircuitScriptParser.js";
14
+ import { At_component_exprContext } from "./CircuitScriptParser.js";
15
+ import { To_component_exprContext } from "./CircuitScriptParser.js";
16
+ import { At_to_multiple_exprContext } from "./CircuitScriptParser.js";
17
+ import { At_to_multiple_line_exprContext } from "./CircuitScriptParser.js";
18
+ import { At_to_multiple_line_expr_to_pinContext } from "./CircuitScriptParser.js";
19
+ import { At_blockContext } from "./CircuitScriptParser.js";
20
+ import { At_block_expressionsContext } from "./CircuitScriptParser.js";
21
+ import { At_block_pin_exprContext } from "./CircuitScriptParser.js";
22
+ import { At_block_pin_expression_simpleContext } from "./CircuitScriptParser.js";
23
+ import { At_block_pin_expression_complexContext } from "./CircuitScriptParser.js";
24
+ import { Break_keywordContext } from "./CircuitScriptParser.js";
25
+ import { Assignment_exprContext } from "./CircuitScriptParser.js";
26
+ import { Keyword_assignment_exprContext } from "./CircuitScriptParser.js";
27
+ import { ParametersContext } from "./CircuitScriptParser.js";
28
+ import { Property_set_exprContext } from "./CircuitScriptParser.js";
29
+ import { Double_dot_property_set_exprContext } from "./CircuitScriptParser.js";
30
+ import { FunctionCallExprContext } from "./CircuitScriptParser.js";
31
+ import { AdditionExprContext } from "./CircuitScriptParser.js";
32
+ import { MultiplyExprContext } from "./CircuitScriptParser.js";
33
+ import { DataExprContext } from "./CircuitScriptParser.js";
34
+ import { UnaryOperatorExprContext } from "./CircuitScriptParser.js";
35
+ import { ValueAtomExprContext } from "./CircuitScriptParser.js";
36
+ import { BinaryOperatorExprContext } from "./CircuitScriptParser.js";
37
+ import { RoundedBracketsExprContext } from "./CircuitScriptParser.js";
38
+ import { Binary_operatorContext } from "./CircuitScriptParser.js";
39
+ import { Unary_operatorContext } from "./CircuitScriptParser.js";
40
+ import { Value_exprContext } from "./CircuitScriptParser.js";
41
+ import { Function_def_exprContext } from "./CircuitScriptParser.js";
42
+ import { Function_exprContext } from "./CircuitScriptParser.js";
43
+ import { Function_args_exprContext } from "./CircuitScriptParser.js";
44
+ import { Atom_exprContext } from "./CircuitScriptParser.js";
45
+ import { Trailer_exprContext } from "./CircuitScriptParser.js";
46
+ import { Function_call_exprContext } from "./CircuitScriptParser.js";
47
+ import { Net_namespace_exprContext } from "./CircuitScriptParser.js";
48
+ import { Function_return_exprContext } from "./CircuitScriptParser.js";
49
+ import { Create_component_exprContext } from "./CircuitScriptParser.js";
50
+ import { Create_graphic_exprContext } from "./CircuitScriptParser.js";
51
+ import { Sub_exprContext } from "./CircuitScriptParser.js";
52
+ import { Property_exprContext } from "./CircuitScriptParser.js";
53
+ import { Property_key_exprContext } from "./CircuitScriptParser.js";
54
+ import { Nested_propertiesContext } from "./CircuitScriptParser.js";
55
+ import { Single_line_propertyContext } from "./CircuitScriptParser.js";
56
+ import { Blank_exprContext } from "./CircuitScriptParser.js";
57
+ import { Wire_expr_direction_valueContext } from "./CircuitScriptParser.js";
58
+ import { Wire_expr_direction_onlyContext } from "./CircuitScriptParser.js";
59
+ import { Wire_exprContext } from "./CircuitScriptParser.js";
60
+ import { Point_exprContext } from "./CircuitScriptParser.js";
61
+ import { Import_exprContext } from "./CircuitScriptParser.js";
62
+ import { Frame_exprContext } from "./CircuitScriptParser.js";
63
+ export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisitor<Result> {
59
64
  visitScript?: (ctx: ScriptContext) => Result;
60
65
  visitExpression?: (ctx: ExpressionContext) => Result;
61
66
  visitPath_blocks?: (ctx: Path_blocksContext) => Result;
62
67
  visitPath_block_inner?: (ctx: Path_block_innerContext) => Result;
63
68
  visitProperty_set_expr2?: (ctx: Property_set_expr2Context) => Result;
64
69
  visitAssignment_expr2?: (ctx: Assignment_expr2Context) => Result;
70
+ visitPin_select_expr?: (ctx: Pin_select_exprContext) => Result;
71
+ visitComponent_modifier_expr?: (ctx: Component_modifier_exprContext) => Result;
65
72
  visitData_expr_with_assignment?: (ctx: Data_expr_with_assignmentContext) => Result;
66
73
  visitAdd_component_expr?: (ctx: Add_component_exprContext) => Result;
67
74
  visitComponent_select_expr?: (ctx: Component_select_exprContext) => Result;
68
- visitPin_select_expr?: (ctx: Pin_select_exprContext) => Result;
69
75
  visitPin_select_expr2?: (ctx: Pin_select_expr2Context) => Result;
70
76
  visitAt_component_expr?: (ctx: At_component_exprContext) => Result;
71
77
  visitTo_component_expr?: (ctx: To_component_exprContext) => Result;
@@ -83,6 +89,7 @@ export default class CircuitScriptVisitor<Result> extends ParseTreeVisitor<Resul
83
89
  visitParameters?: (ctx: ParametersContext) => Result;
84
90
  visitProperty_set_expr?: (ctx: Property_set_exprContext) => Result;
85
91
  visitDouble_dot_property_set_expr?: (ctx: Double_dot_property_set_exprContext) => Result;
92
+ visitFunctionCallExpr?: (ctx: FunctionCallExprContext) => Result;
86
93
  visitAdditionExpr?: (ctx: AdditionExprContext) => Result;
87
94
  visitMultiplyExpr?: (ctx: MultiplyExprContext) => Result;
88
95
  visitDataExpr?: (ctx: DataExprContext) => Result;
@@ -98,6 +105,7 @@ export default class CircuitScriptVisitor<Result> extends ParseTreeVisitor<Resul
98
105
  visitFunction_args_expr?: (ctx: Function_args_exprContext) => Result;
99
106
  visitAtom_expr?: (ctx: Atom_exprContext) => Result;
100
107
  visitTrailer_expr?: (ctx: Trailer_exprContext) => Result;
108
+ visitFunction_call_expr?: (ctx: Function_call_exprContext) => Result;
101
109
  visitNet_namespace_expr?: (ctx: Net_namespace_exprContext) => Result;
102
110
  visitFunction_return_expr?: (ctx: Function_return_exprContext) => Result;
103
111
  visitCreate_component_expr?: (ctx: Create_component_exprContext) => Result;
@@ -108,6 +116,8 @@ export default class CircuitScriptVisitor<Result> extends ParseTreeVisitor<Resul
108
116
  visitNested_properties?: (ctx: Nested_propertiesContext) => Result;
109
117
  visitSingle_line_property?: (ctx: Single_line_propertyContext) => Result;
110
118
  visitBlank_expr?: (ctx: Blank_exprContext) => Result;
119
+ visitWire_expr_direction_value?: (ctx: Wire_expr_direction_valueContext) => Result;
120
+ visitWire_expr_direction_only?: (ctx: Wire_expr_direction_onlyContext) => Result;
111
121
  visitWire_expr?: (ctx: Wire_exprContext) => Result;
112
122
  visitPoint_expr?: (ctx: Point_exprContext) => Result;
113
123
  visitImport_expr?: (ctx: Import_exprContext) => Result;
@@ -6,11 +6,17 @@ export declare abstract class SymbolGraphic {
6
6
  displayBounds: boolean;
7
7
  drawing: SymbolDrawing;
8
8
  _angle: number;
9
+ _flipX: number;
10
+ _flipY: number;
9
11
  width: number;
10
12
  height: number;
11
13
  labelTexts: Map<string, string>;
12
14
  get angle(): number;
13
15
  set angle(value: number);
16
+ get flipX(): number;
17
+ set flipX(value: number);
18
+ get flipY(): number;
19
+ set flipY(value: number);
14
20
  refreshDrawing(calculateSize?: boolean): void;
15
21
  calculateSize(): void;
16
22
  abstract generateDrawing(): void;
@@ -18,7 +24,7 @@ export declare abstract class SymbolGraphic {
18
24
  width: number;
19
25
  height: number;
20
26
  };
21
- draw(group: G, extra?: {}): void;
27
+ draw(group: G, extra?: unknown): void;
22
28
  drawPlaceRemove(group: G, extra?: {
23
29
  place?: boolean;
24
30
  }): void;
@@ -31,12 +37,13 @@ export declare abstract class SymbolGraphic {
31
37
  protected drawBody(group: G): void;
32
38
  protected drawPins(group: G): void;
33
39
  protected drawLabels(group: G): void;
40
+ roundValues(value: number): number;
34
41
  flipTextAnchor(value: HorizontalAlign): HorizontalAlign;
35
42
  flipDominantBaseline(value: VerticalAlign): VerticalAlign;
36
43
  setLabelValue(labelId: string, labelValue: string): void;
37
44
  getLabelValue(labelId: string): string;
38
45
  }
39
- export declare function SymbolFactory(name: string): SymbolGraphic | null;
46
+ export declare function SymbolFactory(name: string): SymbolGraphic;
40
47
  export declare class SymbolPointHidden extends SymbolGraphic {
41
48
  generateDrawing(): void;
42
49
  }
@@ -88,6 +95,8 @@ export declare class SymbolDrawing {
88
95
  items: (Feature | GeometryProp)[];
89
96
  pins: [number, Feature, number][];
90
97
  angle: number;
98
+ flipX: number;
99
+ flipY: number;
91
100
  mainOrigin: [number, number];
92
101
  logger: Logger;
93
102
  clear(): void;
@@ -18,15 +18,14 @@ export declare class ExecutionContext {
18
18
  net?: Net;
19
19
  });
20
20
  stopFurtherExpressions: boolean;
21
- returnValue: any;
21
+ returnValue: null;
22
22
  silent: boolean;
23
23
  logger: Logger;
24
24
  __functionCache: {};
25
- constructor(name: string, namespace: string, netNamespace: string, executionLevel: number, indentLevel: number, silent: boolean, logger: Logger);
26
- print(...params: any[]): void;
25
+ parentContext: ExecutionContext;
26
+ constructor(name: string, namespace: string, netNamespace: string, executionLevel: number | undefined, indentLevel: number | undefined, silent: boolean | undefined, logger: Logger, parent: ExecutionContext);
27
+ log(...params: any[]): void;
27
28
  private setupRoot;
28
- instanceExists(instanceName: string): boolean;
29
- getComponent(instanceName: string): ClassComponent;
30
29
  getUniqueInstanceName(className: string): string;
31
30
  getUniqueNetName(): string;
32
31
  getCurrentPoint(): ComponentPin;
@@ -42,14 +41,11 @@ export declare class ExecutionContext {
42
41
  addComponentExisting(component: ClassComponent, pin: number): ComponentPin;
43
42
  toComponent(component: ClassComponent, pinId: number | null, options?: {
44
43
  addSequence?: boolean;
45
- cloneNetComponent?: boolean;
46
44
  }): ComponentPin;
47
45
  atComponent(component: ClassComponent, pinId: number | null, options?: {
48
46
  addSequence?: boolean;
49
- cloneNetComponent?: boolean;
50
47
  }): ComponentPin;
51
- private isNetOnlyComponent;
52
- private cloneComponent;
48
+ cloneComponent(component: ClassComponent): ClassComponent;
53
49
  enterBlocks(blockType: BlockTypes): void;
54
50
  exitBlocks(): void;
55
51
  enterBlock(blockIndex: number): void;
@@ -75,6 +71,7 @@ export declare class ExecutionContext {
75
71
  }
76
72
  export declare function isNetComponent(component: ClassComponent): boolean;
77
73
  export declare function isLabelComponent(component: ClassComponent): boolean;
74
+ export declare function isNetOnlyComponent(component: ClassComponent): boolean;
78
75
  export declare function getPortSide(pins: Map<number, PinDefinition>, arrangeProps: null | Map<string, number[]>): PortSideItem[];
79
76
  type PortSideItem = {
80
77
  pinId: number;
@@ -26,10 +26,11 @@ export declare class Label extends Flatten.Polygon {
26
26
  font: string;
27
27
  style: LabelStyle;
28
28
  textMeasurementBounds: Box;
29
- get box(): any;
29
+ get box(): Flatten.Box;
30
30
  constructor(id: string, text: string, anchorPoint: [number, number], polygon: Flatten.Polygon, style: LabelStyle, bounds: Box);
31
31
  static fromPoint(id: string, x: number, y: number, text: string, style: LabelStyle): Label;
32
32
  rotate(angle: number, origin: Flatten.Point): Label;
33
+ transform(matrix: Flatten.Matrix): Label;
33
34
  getLabelPosition(): [number, number];
34
35
  }
35
36
  export declare class GeometryProp {
@@ -47,7 +48,9 @@ export declare class Geometry {
47
48
  static arc(center: [x: number, y: number], radius: number, startAngle: number, endAngle: number, sweepDirection: boolean): Arc;
48
49
  static getCoords(item: Feature): [number, number][];
49
50
  static rotateDegs(feature: Feature, angleDegrees: number, center: [number, number]): Feature;
51
+ static flip(feature: Feature, flipX: number, flipY: number): Feature;
50
52
  static groupRotate(features: Feature[], angle: number, center: [number, number]): Feature[];
53
+ static groupFlip(features: Feature[], flipX: number, flipY: number): Feature[];
51
54
  static groupBounds(features: Feature[]): {
52
55
  start: [number, number];
53
56
  end: [number, number];
@@ -60,6 +63,7 @@ export declare class Geometry {
60
63
  path: string;
61
64
  isClosedPolygon: boolean;
62
65
  };
66
+ static roundPathValues(pathItems: (string | number)[]): string;
63
67
  static angle(dx: number, dy: number): number;
64
68
  static getQuadrant(dx: number, dy: number): number;
65
69
  static mergeWires(wirePoints: {
@@ -0,0 +1,40 @@
1
+ import { SymbolValidatorVisitor } from "./SymbolValidatorVisitor.js";
2
+ import { CommonTokenStream, DefaultErrorStrategy, Parser } from "antlr4ng";
3
+ import { CircuitScriptParser } from "./antlr/CircuitScriptParser.js";
4
+ import { CircuitScriptLexer } from "./antlr/CircuitScriptLexer.js";
5
+ import { IParsedToken, SemanticTokensVisitor } from "./SemanticTokenVisitor.js";
6
+ export declare enum JSModuleType {
7
+ CommonJs = "cjs",
8
+ ESM = "mjs"
9
+ }
10
+ export type ScriptOptions = {
11
+ currentDirectory: string | null;
12
+ defaultLibsPath: string;
13
+ dumpNets: boolean;
14
+ dumpData: boolean;
15
+ kicadNetlistPath: string | null;
16
+ showStats: boolean;
17
+ };
18
+ export declare function prepareFile(textData: string): {
19
+ parser: CircuitScriptParser;
20
+ lexer: CircuitScriptLexer;
21
+ lexerTimeTaken: number;
22
+ tokens: CommonTokenStream;
23
+ };
24
+ export declare function getScriptText(filePath: string): string | null;
25
+ export declare function getSemanticTokens(scriptData: string, options: ScriptOptions): {
26
+ visitor: SemanticTokensVisitor;
27
+ parsedTokens: IParsedToken[];
28
+ };
29
+ export declare class ParseErrorStrategy extends DefaultErrorStrategy {
30
+ reportUnwantedToken(recognizer: Parser): void;
31
+ }
32
+ export declare function validateScript(scriptData: string, options: ScriptOptions): SymbolValidatorVisitor;
33
+ export declare function renderScript(scriptData: string, outputPath: string, options: ScriptOptions): string | null;
34
+ export declare function detectJSModuleType(): JSModuleType;
35
+ export declare function getCurrentPath(): {
36
+ filePath: string;
37
+ };
38
+ export declare function getFontsPath(): string;
39
+ export declare function getDefaultLibsPath(): string;
40
+ export declare function getPackageVersion(): string;
@@ -0,0 +1,15 @@
1
+ export * from './draw_symbols.js';
2
+ export * from './execute.js';
3
+ export * from './export.js';
4
+ export * from './geometry.js';
5
+ export * from './globals.js';
6
+ export * from './helpers.js';
7
+ export * from './layout.js';
8
+ export * from './lexer.js';
9
+ export * from './logger.js';
10
+ export * from './parser.js';
11
+ export * from './render.js';
12
+ export * from './utils.js';
13
+ export * from './visitor.js';
14
+ export * from './sizing.js';
15
+ export * from './objects/types.js';
@@ -1,4 +1,4 @@
1
- import graphlib from '@dagrejs/graphlib';
1
+ import { Graph, Edge } from '@dagrejs/graphlib';
2
2
  import { SymbolGraphic, SymbolText } from "./draw_symbols.js";
3
3
  import { ClassComponent } from "./objects/ClassComponent.js";
4
4
  import { SequenceItem } from "./objects/ExecutionScope.js";
@@ -27,7 +27,7 @@ export declare class LayoutEngine {
27
27
  junctions: RenderJunction[];
28
28
  mergedWires: MergedWire[];
29
29
  };
30
- placeFrames(graph: graphlib.Graph, subgraphInfo: SubGraphInfo[], frameObjects: RenderFrame[]): {
30
+ placeFrames(graph: Graph, subgraphInfo: SubGraphInfo[], frameObjects: RenderFrame[]): {
31
31
  elementFrames: RenderFrame[];
32
32
  textObjects: RenderText[];
33
33
  };
@@ -35,23 +35,23 @@ export declare class LayoutEngine {
35
35
  applyFrameOffset(frame: RenderFrame, level?: number): void;
36
36
  placeAndSizeFrame(frame: RenderFrame, level?: number): void;
37
37
  dumpFrame(frame: RenderFrame, level?: number): void;
38
- prepareFrames(graph: graphlib.Graph, subgraphInfo: SubGraphInfo[], frame: RenderFrame, level?: number): {
38
+ prepareFrames(graph: Graph, subgraphInfo: SubGraphInfo[], frame: RenderFrame, level?: number): {
39
39
  elementFrames: RenderFrame[];
40
40
  textObjects: RenderText[];
41
41
  };
42
42
  generateLayoutGraph(sequence: SequenceItem[], nets: [ClassComponent, pin: number, net: Net][]): {
43
- graph: graphlib.Graph;
43
+ graph: Graph;
44
44
  containerFrames: RenderFrame[];
45
45
  };
46
- setGraphEdge(graph: graphlib.Graph, node1: string, node2: string, edgeValue: EdgeValue): void;
47
- sizeSubGraphs(graph: graphlib.Graph): SubGraphInfo[];
48
- walkAndPlaceGraph(graph: graphlib.Graph, firstNodeId: string, subgraphNodes: string[]): void;
49
- placeSubgraphV2(graph: graphlib.Graph, firstNodeId: string, subgraphEdges: graphlib.Edge[]): void;
46
+ setGraphEdge(graph: Graph, node1: string, node2: string, edgeValue: EdgeValue): void;
47
+ sizeSubGraphs(graph: Graph): SubGraphInfo[];
48
+ walkAndPlaceGraph(graph: Graph, firstNodeId: string, subgraphNodes: string[]): void;
49
+ placeSubgraphV2(graph: Graph, firstNodeId: string, subgraphEdges: Edge[]): void;
50
50
  mergeOriginNodes(node1: RenderItem, pin1: number, node2: RenderItem, pin2: number, originNode1: string, originNode2: string, originNodes: RenderItem[], originNodeGroups: Map<string, RenderItem[]>): void;
51
- placeSubgraph(graph: graphlib.Graph, firstNodeId: string, subgraphEdges: graphlib.Edge[]): void;
51
+ placeSubgraph(graph: Graph, firstNodeId: string, subgraphEdges: Edge[]): void;
52
52
  translateNodeBy(offsetX: number, offsetY: number, item: RenderItem): void;
53
53
  placeNodeAtPosition(fromX: number, fromY: number, item: RenderItem, pin: number, depth?: number): void;
54
- placeFloatingItems(graph: graphlib.Graph, item: RenderItem, depth?: number): void;
54
+ placeFloatingItems(graph: Graph, item: RenderItem, depth?: number): void;
55
55
  printWarnings(): void;
56
56
  }
57
57
  type EdgeValue = [
@@ -1,5 +1,5 @@
1
- import { CharStream, Token } from "antlr4";
2
- import CircuitScriptLexer from "./antlr/CircuitScriptLexer.js";
1
+ import { CharStream, Token } from "antlr4ng";
2
+ import { CircuitScriptLexer } from "./antlr/CircuitScriptLexer.js";
3
3
  export declare class MainLexer extends CircuitScriptLexer {
4
4
  tokens: any[];
5
5
  indents: any[];
@@ -1,6 +1,6 @@
1
1
  import { SymbolDrawingCommands } from '../draw_symbols.js';
2
2
  import { Net } from './Net.js';
3
- import { PinDefinition } from './PinDefinition.js';
3
+ import { PinDefinition, PinId } from './PinDefinition.js';
4
4
  import { WireSegment } from './Wire.js';
5
5
  export declare class ClassComponent {
6
6
  instanceName: string;
@@ -26,7 +26,7 @@ export declare class ClassComponent {
26
26
  setupPins(): void;
27
27
  getDefaultPin(): number;
28
28
  hasPin(pinId: number | string): boolean;
29
- getPin(pinId: number | string): number;
29
+ getPin(pinId: number | string): PinId;
30
30
  getNextPinAfter(pinIndex: number): number;
31
31
  setParam(key: string, value: number | string): void;
32
32
  private refreshParamCache;
@@ -1,6 +1,6 @@
1
1
  import { ClassComponent } from './ClassComponent.js';
2
2
  import { Net } from './Net.js';
3
- import { CFunction, ComponentPinNet, ComponentPinNetPair, ValueType } from './types.js';
3
+ import { CFunction, ComponentPinNet, ComponentPinNetPair, ParseSymbolType, ValueType } from './types.js';
4
4
  import { LayoutDirection } from '../globals.js';
5
5
  import { Wire, WireSegment } from './Wire.js';
6
6
  import { Frame } from './Frame.js';
@@ -10,6 +10,9 @@ export declare class ExecutionScope {
10
10
  instances: Map<string, ClassComponent>;
11
11
  functions: Map<string, CFunction>;
12
12
  variables: Map<string, ValueType | ClassComponent>;
13
+ symbols: Map<string, {
14
+ type: ParseSymbolType;
15
+ }>;
13
16
  blockStack: Map<number, any>;
14
17
  wires: Wire[];
15
18
  frames: Frame[];
@@ -8,7 +8,7 @@ export declare class PinDefinition {
8
8
  altNames: string[];
9
9
  side: string;
10
10
  position: number;
11
- constructor(id: PinId, idType: PinIdType, name: string, pinType?: PinTypes, altNames?: any[]);
11
+ constructor(id: PinId, idType: PinIdType, name: string, pinType?: PinTypes, altNames?: never[]);
12
12
  }
13
13
  export declare enum PinIdType {
14
14
  Int = "int",
@@ -47,3 +47,8 @@ export type ReferenceType = {
47
47
  type?: string;
48
48
  value?: any;
49
49
  };
50
+ export declare enum ParseSymbolType {
51
+ Variable = "variable",
52
+ Function = "function",
53
+ Undefined = "undefined"
54
+ }
@@ -0,0 +1,25 @@
1
+ import { CircuitScriptParser, ScriptContext } from './antlr/CircuitScriptParser.js';
2
+ import { ANTLRErrorListener, ATNConfigSet, ATNSimulator, BitSet, DefaultErrorStrategy, DFA, Parser, RecognitionException, Recognizer, Token } from 'antlr4ng';
3
+ import { BaseVisitor, OnErrorCallback } from './BaseVisitor.js';
4
+ export declare function parseFileWithVisitor(visitor: BaseVisitor, data: string): {
5
+ tree: ScriptContext;
6
+ parser: CircuitScriptParser;
7
+ hasError: boolean;
8
+ hasParseError: boolean;
9
+ parserTimeTaken: number;
10
+ lexerTimeTaken: number;
11
+ };
12
+ export declare class TempErrorStrategy extends DefaultErrorStrategy {
13
+ recover(recognizer: Parser, e: RecognitionException): void;
14
+ reportError(recognizer: Parser, e: RecognitionException): void;
15
+ }
16
+ export declare class CircuitscriptParserErrorListener implements ANTLRErrorListener {
17
+ syntaxErrorCounter: number;
18
+ onErrorHandler: OnErrorCallback | null;
19
+ constructor(onErrorHandler?: OnErrorCallback | null);
20
+ syntaxError<S extends Token, T extends ATNSimulator>(recognizer: Recognizer<T>, offendingSymbol: S | null, line: number, charPositionInLine: number, msg: string, e: RecognitionException | null): void;
21
+ reportAmbiguity(recognizer: Parser, dfa: DFA, startIndex: number, stopIndex: number, exact: boolean, ambigAlts: BitSet | undefined, configs: ATNConfigSet): void;
22
+ reportAttemptingFullContext(recognizer: Parser, dfa: DFA, startIndex: number, stopIndex: number, conflictingAlts: BitSet | undefined, configs: ATNConfigSet): void;
23
+ reportContextSensitivity(recognizer: Parser, dfa: DFA, startIndex: number, stopIndex: number, prediction: number, configs: ATNConfigSet): void;
24
+ hasSyntaxErrors(): boolean;
25
+ }
@@ -4,7 +4,7 @@ export declare function generateSVG2(graph: {
4
4
  wires: RenderWire[];
5
5
  junctions: RenderJunction[];
6
6
  mergedWires: MergedWire[];
7
- debugRects: BoundBox[];
7
+ debugRects?: BoundBox[];
8
8
  frameObjects: RenderFrame[];
9
9
  textObjects: RenderText[];
10
10
  }): string;
@@ -1,6 +1,8 @@
1
1
  import { Box, SVGTypeMapping } from '@svgdotjs/svg.js';
2
2
  import { HorizontalAlign, VerticalAlign } from './geometry.js';
3
- export declare function prepareSizing(fontsPath: any): Promise<void>;
3
+ import { SVGWindow } from 'svgdom';
4
+ export declare function prepareSVGEnvironment(fontsPath: string | null): Promise<void>;
5
+ export declare function getCreateSVGWindow(): () => SVGWindow;
4
6
  export declare function applyFontsToSVG(canvas: SVGTypeMapping): void;
5
7
  export declare function measureTextSize(text: string, fontFamily: string, fontSize: number): Promise<{
6
8
  width: number;
@@ -0,0 +1,2 @@
1
+ #! /usr/bin/env node
2
+ export declare function validate(): Promise<void>;
@@ -0,0 +1,80 @@
1
+ import { Add_component_exprContext, AdditionExprContext, At_blockContext, At_block_pin_exprContext, At_block_pin_expression_complexContext, At_block_pin_expression_simpleContext, At_component_exprContext, BinaryOperatorExprContext, Path_blocksContext, Component_select_exprContext, Create_component_exprContext, Create_graphic_exprContext, DataExprContext, Data_expr_with_assignmentContext, Double_dot_property_set_exprContext, Frame_exprContext, Function_def_exprContext, Keyword_assignment_exprContext, MultiplyExprContext, Nested_propertiesContext, Net_namespace_exprContext, Pin_select_expr2Context, Pin_select_exprContext, Point_exprContext, Property_exprContext, Property_key_exprContext, Property_set_exprContext, Single_line_propertyContext, Sub_exprContext, To_component_exprContext, Wire_exprContext, UnaryOperatorExprContext, Wire_expr_direction_onlyContext, Wire_expr_direction_valueContext } from './antlr/CircuitScriptParser.js';
2
+ import { ClassComponent } from './objects/ClassComponent.js';
3
+ import { PinTypes } from './objects/PinTypes.js';
4
+ import { ComponentPin, ComponentPinNet } from './objects/types.js';
5
+ import { Net } from './objects/Net.js';
6
+ import { BaseVisitor } from './BaseVisitor.js';
7
+ import { ParserRuleContext } from 'antlr4ng';
8
+ export declare class ParserVisitor extends BaseVisitor {
9
+ visitKeyword_assignment_expr: (ctx: Keyword_assignment_exprContext) => void;
10
+ visitPin_select_expr: (ctx: Pin_select_exprContext) => void;
11
+ visitAdd_component_expr: (ctx: Add_component_exprContext) => ComponentPin;
12
+ visitAt_component_expr: (ctx: At_component_exprContext) => ComponentPin;
13
+ visitTo_component_expr: (ctx: To_component_exprContext) => ComponentPin;
14
+ visitComponent_select_expr: (ctx: Component_select_exprContext) => void;
15
+ visitPath_blocks: (ctx: Path_blocksContext) => ComponentPin;
16
+ visitCreate_component_expr: (ctx: Create_component_exprContext) => void;
17
+ visitCreate_graphic_expr: (ctx: Create_graphic_exprContext) => void;
18
+ visitSub_expr: (ctx: Sub_exprContext) => void;
19
+ visitProperty_expr: (ctx: Property_exprContext) => void;
20
+ visitSingle_line_property: (ctx: Single_line_propertyContext) => void;
21
+ visitNested_properties: (ctx: Nested_propertiesContext) => void;
22
+ visitProperty_key_expr: (ctx: Property_key_exprContext) => void;
23
+ visitData_expr_with_assignment: (ctx: Data_expr_with_assignmentContext) => void;
24
+ visitUnaryOperatorExpr: (ctx: UnaryOperatorExprContext) => void;
25
+ visitDataExpr: (ctx: DataExprContext) => void;
26
+ visitBinaryOperatorExpr: (ctx: BinaryOperatorExprContext) => void;
27
+ visitMultiplyExpr: (ctx: MultiplyExprContext) => void;
28
+ visitAdditionExpr: (ctx: AdditionExprContext) => void;
29
+ visitFunction_def_expr: (ctx: Function_def_exprContext) => void;
30
+ visitPin_select_expr2: (ctx: Pin_select_expr2Context) => void;
31
+ visitAt_block_pin_expr: (ctx: At_block_pin_exprContext) => void;
32
+ visitAt_block: (ctx: At_blockContext) => void;
33
+ visitAt_block_pin_expression_simple: (ctx: At_block_pin_expression_simpleContext) => void;
34
+ visitAt_block_pin_expression_complex: (ctx: At_block_pin_expression_complexContext) => void;
35
+ visitWire_expr_direction_only: (ctx: Wire_expr_direction_onlyContext) => void;
36
+ visitWire_expr_direction_value: (ctx: Wire_expr_direction_valueContext) => void;
37
+ visitWire_expr: (ctx: Wire_exprContext) => void;
38
+ visitPoint_expr: (ctx: Point_exprContext) => ComponentPin;
39
+ visitProperty_set_expr: (ctx: Property_set_exprContext) => void;
40
+ visitDouble_dot_property_set_expr: (ctx: Double_dot_property_set_exprContext) => void;
41
+ visitFrame_expr: (ctx: Frame_exprContext) => void;
42
+ visitNet_namespace_expr: (ctx: Net_namespace_exprContext) => void;
43
+ pinTypes: PinTypes[];
44
+ private parseCreateComponentPins;
45
+ private parseCreateComponentParams;
46
+ printNets(): void;
47
+ dumpNets(): ComponentPinNet[];
48
+ dumpUniqueNets(): Net[];
49
+ dumpVariables(): Map<string, any>;
50
+ dumpInstances(): Map<string, ClassComponent>;
51
+ dump2(): {
52
+ name: string;
53
+ refdes: string;
54
+ pins: {};
55
+ }[];
56
+ getNetList(): NetListItem[];
57
+ getGraph(): {
58
+ sequence: any[];
59
+ nets: import("./objects/types.js").ComponentPinNetPair[];
60
+ components: ClassComponent[];
61
+ };
62
+ annotateComponents(): void;
63
+ private resolveNets;
64
+ private setComponentOrientation;
65
+ private setComponentFlip;
66
+ private getPropertyExprList;
67
+ }
68
+ export type NetListItem = {
69
+ instanceName: string;
70
+ instance: ClassComponent;
71
+ pins: {
72
+ [key: string | number]: string;
73
+ };
74
+ };
75
+ export declare class VisitorExecutionException {
76
+ errorMessage: string;
77
+ context: ParserRuleContext;
78
+ constructor(context: ParserRuleContext, errorMessage: string);
79
+ print(scriptData: string): void;
80
+ }
package/libs/lib.cst CHANGED
@@ -1,5 +1,3 @@
1
- // Circuitscript default lib
2
-
3
1
  def net(net_name):
4
2
  return create component:
5
3
  pins: 1