circuitscript 0.1.29 → 0.1.32
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/dist/cjs/BaseVisitor.js +185 -22
- package/dist/cjs/RefdesAnnotationVisitor.js +27 -10
- package/dist/cjs/antlr/CircuitScriptLexer.js +241 -236
- package/dist/cjs/antlr/CircuitScriptParser.js +1197 -901
- package/dist/cjs/builtinMethods.js +6 -2
- package/dist/cjs/draw_symbols.js +38 -34
- package/dist/cjs/environment.js +28 -4
- package/dist/cjs/execute.js +195 -125
- package/dist/cjs/globals.js +6 -1
- package/dist/cjs/graph.js +14 -12
- package/dist/cjs/helpers.js +90 -17
- package/dist/cjs/layout.js +50 -25
- package/dist/cjs/main.js +16 -14
- package/dist/cjs/objects/ClassComponent.js +199 -30
- package/dist/cjs/objects/ExecutionScope.js +9 -0
- package/dist/cjs/objects/types.js +25 -2
- package/dist/cjs/parser.js +6 -2
- package/dist/cjs/regenerate-tests.js +3 -3
- package/dist/cjs/render.js +5 -3
- package/dist/cjs/rules-check/no-connect-on-connected-pin.js +9 -8
- package/dist/cjs/rules-check/rules.js +7 -2
- package/dist/cjs/rules-check/unconnected-pins.js +10 -8
- package/dist/cjs/utils.js +2 -1
- package/dist/cjs/validate/SymbolTable.js +7 -1
- package/dist/cjs/validate/SymbolValidatorVisitor.js +54 -17
- package/dist/cjs/visitor.js +299 -238
- package/dist/esm/BaseVisitor.js +187 -24
- package/dist/esm/RefdesAnnotationVisitor.js +27 -10
- package/dist/esm/antlr/CircuitScriptLexer.js +241 -236
- package/dist/esm/antlr/CircuitScriptParser.js +1196 -899
- package/dist/esm/antlr/CircuitScriptVisitor.js +4 -1
- package/dist/esm/builtinMethods.js +7 -3
- package/dist/esm/draw_symbols.js +38 -34
- package/dist/esm/environment.js +25 -1
- package/dist/esm/execute.js +197 -127
- package/dist/esm/globals.js +4 -0
- package/dist/esm/graph.js +14 -12
- package/dist/esm/helpers.js +91 -18
- package/dist/esm/layout.js +51 -26
- package/dist/esm/main.js +16 -14
- package/dist/esm/objects/ClassComponent.js +201 -30
- package/dist/esm/objects/ExecutionScope.js +9 -0
- package/dist/esm/objects/types.js +33 -1
- package/dist/esm/parser.js +6 -2
- package/dist/esm/regenerate-tests.js +3 -3
- package/dist/esm/render.js +5 -3
- package/dist/esm/rules-check/no-connect-on-connected-pin.js +9 -8
- package/dist/esm/rules-check/rules.js +7 -2
- package/dist/esm/rules-check/unconnected-pins.js +10 -8
- package/dist/esm/utils.js +2 -1
- package/dist/esm/validate/SymbolTable.js +5 -0
- package/dist/esm/validate/SymbolValidatorVisitor.js +53 -16
- package/dist/esm/visitor.js +201 -137
- package/dist/types/BaseVisitor.d.ts +27 -10
- package/dist/types/RefdesAnnotationVisitor.d.ts +2 -0
- package/dist/types/antlr/CircuitScriptLexer.d.ts +43 -42
- package/dist/types/antlr/CircuitScriptParser.d.ts +102 -58
- package/dist/types/antlr/CircuitScriptVisitor.d.ts +8 -2
- package/dist/types/environment.d.ts +8 -1
- package/dist/types/execute.d.ts +6 -3
- package/dist/types/globals.d.ts +4 -0
- package/dist/types/graph.d.ts +2 -2
- package/dist/types/helpers.d.ts +2 -1
- package/dist/types/layout.d.ts +5 -4
- package/dist/types/objects/ClassComponent.d.ts +34 -9
- package/dist/types/objects/ExecutionScope.d.ts +3 -1
- package/dist/types/objects/types.d.ts +40 -3
- package/dist/types/validate/SymbolTable.d.ts +1 -0
- package/dist/types/validate/SymbolValidatorVisitor.d.ts +6 -6
- package/dist/types/visitor.d.ts +10 -2
- package/package.json +4 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TerminalNode, Token } from "antlr4ng";
|
|
2
|
-
import {
|
|
2
|
+
import { Assignment_exprContext, Atom_exprContext, Function_call_exprContext, ValueAtomExprContext, UnaryOperatorExprContext, MultiplyExprContext, AdditionExprContext, BinaryOperatorExprContext, DataExprContext, Function_def_exprContext, For_exprContext, Import_simpleContext, Import_all_simpleContext, Import_specificContext } from "../antlr/CircuitScriptParser.js";
|
|
3
3
|
import { ExecutionContext } from "../execute.js";
|
|
4
4
|
import { ComplexType, FunctionDefinedParameter } from "../objects/types.js";
|
|
5
5
|
import { SymbolTableItem } from "./SymbolTable.js";
|
|
@@ -7,16 +7,16 @@ import { SymbolTable } from "./SymbolTable.js";
|
|
|
7
7
|
import { BaseVisitor } from "../BaseVisitor.js";
|
|
8
8
|
export declare class SymbolValidatorVisitor extends BaseVisitor {
|
|
9
9
|
symbolTable: SymbolTable;
|
|
10
|
-
filePathStack: string[];
|
|
11
|
-
enterFile(filePath: string): void;
|
|
12
|
-
exitFile(): void;
|
|
13
|
-
getCurrentFile(): string;
|
|
14
10
|
protected addSymbolVariable(token: Token, name: string, value: ComplexType, executor?: ExecutionContext | null): void;
|
|
15
11
|
protected addSymbolFunction(token: Token, functionName: string, funcDefinedParameters: FunctionDefinedParameter[]): void;
|
|
16
12
|
protected handleAtomSymbol(atom: TerminalNode): SymbolTableItem;
|
|
17
13
|
protected addSymbolInstance(symbol: SymbolTableItem, token: Token): void;
|
|
18
14
|
setSymbols(symbolTable: SymbolTable): void;
|
|
19
|
-
|
|
15
|
+
private importCommon;
|
|
16
|
+
visitImport_simple: (ctx: Import_simpleContext) => Promise<void>;
|
|
17
|
+
visitImport_all_simple: (ctx: Import_all_simpleContext) => Promise<void>;
|
|
18
|
+
visitImport_specific: (ctx: Import_specificContext) => Promise<void>;
|
|
19
|
+
private applyModuleImports;
|
|
20
20
|
visitAssignment_expr: (ctx: Assignment_exprContext) => ComplexType;
|
|
21
21
|
visitAtom_expr: (ctx: Atom_exprContext) => void;
|
|
22
22
|
visitFunction_call_expr: (ctx: Function_call_exprContext) => void;
|
package/dist/types/visitor.d.ts
CHANGED
|
@@ -4,10 +4,12 @@ import { PinTypes } from './objects/PinTypes.js';
|
|
|
4
4
|
import { ComponentPin, ComponentPinNet, ComponentPinNetPair } from './objects/types.js';
|
|
5
5
|
import { ExecutionWarning } from "./utils.js";
|
|
6
6
|
import { Net } from './objects/Net.js';
|
|
7
|
-
import { BaseVisitor } from './BaseVisitor.js';
|
|
7
|
+
import { BaseVisitor, OnErrorHandler } from './BaseVisitor.js';
|
|
8
8
|
import { ParserRuleContext } from 'antlr4ng';
|
|
9
9
|
import { Wire } from './objects/Wire.js';
|
|
10
|
+
import { NodeScriptEnvironment } from './environment.js';
|
|
10
11
|
export declare class ParserVisitor extends BaseVisitor {
|
|
12
|
+
constructor(silent: boolean | undefined, onErrorHandler: OnErrorHandler | null | undefined, environment: NodeScriptEnvironment);
|
|
11
13
|
componentCreationIndex: number;
|
|
12
14
|
creationCtx: Map<ClassComponent | Wire, ParserRuleContext>;
|
|
13
15
|
visitKeyword_assignment_expr: (ctx: Keyword_assignment_exprContext) => void;
|
|
@@ -20,6 +22,9 @@ export declare class ParserVisitor extends BaseVisitor {
|
|
|
20
22
|
visitPath_block: (ctx: Path_blockContext) => void;
|
|
21
23
|
visitGraph_expressions: (ctx: Graph_expressionsContext) => void;
|
|
22
24
|
visitCreate_component_expr: (ctx: Create_component_exprContext) => void;
|
|
25
|
+
private extractComponentUnitDefinition;
|
|
26
|
+
private extractComponentUnitProperties;
|
|
27
|
+
private createComponentPropertyValidator;
|
|
23
28
|
visitCreate_graphic_expr: (ctx: Create_graphic_exprContext) => void;
|
|
24
29
|
visitGraphic_expressions_block: (ctx: Graphic_expressions_blockContext) => void;
|
|
25
30
|
visitGraphicCommandExpr: (ctx: GraphicCommandExprContext) => void;
|
|
@@ -61,6 +66,7 @@ export declare class ParserVisitor extends BaseVisitor {
|
|
|
61
66
|
visitIf_inner_expr: (ctx: If_inner_exprContext) => void;
|
|
62
67
|
visitWhile_expr: (ctx: While_exprContext) => void;
|
|
63
68
|
visitFor_expr: (ctx: For_exprContext) => void;
|
|
69
|
+
private setCurrentComponentRefdes;
|
|
64
70
|
visitAnnotation_comment_expr: (ctx: Annotation_comment_exprContext) => void;
|
|
65
71
|
visitPart_set_expr: (ctx: Part_set_exprContext) => void;
|
|
66
72
|
visitPart_match_block: (ctx: Part_match_blockContext) => void;
|
|
@@ -69,10 +75,11 @@ export declare class ParserVisitor extends BaseVisitor {
|
|
|
69
75
|
visitPart_value_expr: (ctx: Part_value_exprContext) => void;
|
|
70
76
|
visitPart_condition_expr: (ctx: Part_condition_exprContext) => void;
|
|
71
77
|
visitPart_condition_key_only_expr: (ctx: Part_condition_key_only_exprContext) => void;
|
|
78
|
+
checkModuleHasRefdesFile(filePath: string): Promise<void>;
|
|
72
79
|
private resolveDataExpr;
|
|
73
80
|
private resolveDataValue;
|
|
74
81
|
pinTypes: PinTypes[];
|
|
75
|
-
private
|
|
82
|
+
private extractPinDefintion;
|
|
76
83
|
private parseCreateModulePorts;
|
|
77
84
|
private getArrangePropFromModulePorts;
|
|
78
85
|
private getPortItems;
|
|
@@ -93,6 +100,7 @@ export declare class ParserVisitor extends BaseVisitor {
|
|
|
93
100
|
nets: ComponentPinNetPair[];
|
|
94
101
|
};
|
|
95
102
|
annotateComponents(): void;
|
|
103
|
+
private setComponentUnitRefdesSuffix;
|
|
96
104
|
private renameNetsWithRefdes;
|
|
97
105
|
applySheetFrameComponent(): {
|
|
98
106
|
frameComponent: ClassComponent | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circuitscript",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.32",
|
|
4
4
|
"description": "Interpreter for the circuitscript language",
|
|
5
5
|
"homepage": "https://circuitscript.net",
|
|
6
6
|
"engines": {
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/big.js": "^6.2.2",
|
|
28
|
+
"@types/crypto-js": "^4.2.2",
|
|
28
29
|
"@types/figlet": "^1.5.8",
|
|
29
30
|
"@types/jest": "~29.5",
|
|
30
31
|
"@types/node": "~18",
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
"scripts": {
|
|
50
51
|
"start": "node build/src/main.js",
|
|
51
52
|
"clean": "rimraf coverage build tmp dist",
|
|
53
|
+
"compile": "npm run build",
|
|
52
54
|
"build": "npm run copy-assets ; npm run build:cjs ; npm run build:esm",
|
|
53
55
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
54
56
|
"build:release:cjs": "tsc -p tsconfig.release.cjs.json",
|
|
@@ -86,6 +88,7 @@
|
|
|
86
88
|
"antlr4ng": "^3.0.4",
|
|
87
89
|
"big.js": "^6.2.2",
|
|
88
90
|
"commander": "^11.1.0",
|
|
91
|
+
"crypto-js": "^4.2.0",
|
|
89
92
|
"express": "^4.18.2",
|
|
90
93
|
"figlet": "^1.7.0",
|
|
91
94
|
"lodash": "^4.17.21",
|