circuitscript 0.0.21 → 0.0.22

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.
@@ -0,0 +1,133 @@
1
+ import { ParseTreeVisitor, ParserRuleContext } from 'antlr4';
2
+ import { Add_component_exprContext, AdditionExprContext, Assignment_exprContext, At_blockContext, At_block_pin_exprContext, At_block_pin_expression_complexContext, At_block_pin_expression_simpleContext, At_component_exprContext, Atom_exprContext, BinaryOperatorExprContext, Blank_exprContext, Path_blocksContext, Component_select_exprContext, Create_component_exprContext, Create_graphic_exprContext, DataExprContext, Data_expr_with_assignmentContext, Double_dot_property_set_exprContext, Frame_exprContext, Function_args_exprContext, Function_def_exprContext, Function_return_exprContext, Import_exprContext, Keyword_assignment_exprContext, MultiplyExprContext, Nested_propertiesContext, Net_namespace_exprContext, ParametersContext, Pin_select_expr2Context, Pin_select_exprContext, Point_exprContext, Property_exprContext, Property_key_exprContext, Property_set_exprContext, RoundedBracketsExprContext, ScriptContext, Single_line_propertyContext, Sub_exprContext, To_component_exprContext, Value_exprContext, Wire_exprContext, ValueAtomExprContext, UnaryOperatorExprContext } from './antlr/CircuitScriptParser.js';
3
+ import { ExecutionContext } from './execute.js';
4
+ import { ClassComponent } from './objects/ClassComponent.js';
5
+ import { PinBlankValue } from './objects/ParamDefinition.js';
6
+ import { PinTypes } from './objects/PinTypes.js';
7
+ import { CallableParameter, ComplexType, ComponentPin, ComponentPinNet, FunctionDefinedParameter, ReferenceType, ValueType } from './objects/types.js';
8
+ import { Logger } from './logger.js';
9
+ import { Net } from './objects/Net.js';
10
+ import { SymbolDrawingCommands } from './draw_symbols.js';
11
+ export declare class MainVisitor extends ParseTreeVisitor<any> {
12
+ indentLevel: number;
13
+ startingContext: ExecutionContext;
14
+ executionStack: ExecutionContext[];
15
+ silent: boolean;
16
+ logger: Logger;
17
+ printStream: string[];
18
+ printToConsole: boolean;
19
+ acceptedDirections: string[];
20
+ pinTypesList: string[];
21
+ onImportFile: (visitor: MainVisitor, filePath: string) => {
22
+ hasError: boolean;
23
+ hasParseError: boolean;
24
+ };
25
+ constructor(silent?: boolean);
26
+ getExecutor(): ExecutionContext;
27
+ visit(ctx: ParserRuleContext): any;
28
+ handleError(ctx: ParserRuleContext, err: string | VisitorExecutionException): void;
29
+ visitScript(ctx: ScriptContext): any;
30
+ visitParameters(ctx: ParametersContext): CallableParameter[];
31
+ visitKeyword_assignment_expr(ctx: Keyword_assignment_exprContext): [
32
+ key: string,
33
+ value: any
34
+ ];
35
+ visitAssignment_expr(ctx: Assignment_exprContext): ComplexType;
36
+ setInstanceParam(object: ClassComponent, trailers: string[], value: any): void;
37
+ visitValue_expr(ctx: Value_exprContext): ValueType;
38
+ visitBlank_expr(ctx: Blank_exprContext): PinBlankValue;
39
+ visitPin_select_expr(ctx: Pin_select_exprContext): string | number | null;
40
+ visitAdd_component_expr(ctx: Add_component_exprContext): ComponentPin;
41
+ visitAt_component_expr(ctx: At_component_exprContext): ComponentPin;
42
+ visitTo_component_expr(ctx: To_component_exprContext): ComponentPin;
43
+ visitComponent_select_expr(ctx: Component_select_exprContext): ComponentPin;
44
+ visitPath_blocks(ctx: Path_blocksContext): ComponentPin;
45
+ visitBreak_keyword(): number;
46
+ visitCreate_component_expr(ctx: Create_component_exprContext): ClassComponent;
47
+ visitCreate_graphic_expr(ctx: Create_graphic_exprContext): SymbolDrawingCommands;
48
+ visitSub_expr(ctx: Sub_exprContext): [
49
+ id: string,
50
+ parameters: CallableParameter[]
51
+ ];
52
+ visitProperty_expr(ctx: Property_exprContext): Map<string, any>;
53
+ visitSingle_line_property(ctx: Single_line_propertyContext): any | any[];
54
+ visitNested_properties(ctx: Nested_propertiesContext): Map<string, any>;
55
+ visitProperty_key_expr(ctx: Property_key_exprContext): string | number;
56
+ visitData_expr_with_assignment(ctx: Data_expr_with_assignmentContext): [
57
+ component: ComplexType,
58
+ pin: string | number | null
59
+ ];
60
+ visitValueAtomExpr(ctx: ValueAtomExprContext): ComplexType;
61
+ visitUnaryOperatorExpr(ctx: UnaryOperatorExprContext): ComplexType;
62
+ visitDataExpr(ctx: DataExprContext): ComplexType;
63
+ visitBinaryOperatorExpr(ctx: BinaryOperatorExprContext): boolean | number;
64
+ visitMultiplyExpr(ctx: MultiplyExprContext): number;
65
+ visitAdditionExpr(ctx: AdditionExprContext): number;
66
+ visitFunction_args_expr(ctx: Function_args_exprContext): FunctionDefinedParameter[];
67
+ createNetResolver(executionStack: ExecutionContext[]): (netName: string, netNamespace: string) => {
68
+ found: boolean;
69
+ net?: Net;
70
+ };
71
+ visitFunction_def_expr(ctx: Function_def_exprContext): void;
72
+ private setupDefinedParameters;
73
+ visitFunction_return_expr(ctx: Function_return_exprContext): ComplexType;
74
+ visitAtom_expr(ctx: Atom_exprContext): ReferenceType;
75
+ visitPin_select_expr2(ctx: Pin_select_expr2Context): string | number;
76
+ visitAt_block_pin_expr(ctx: At_block_pin_exprContext): ComponentPin;
77
+ visitAt_block(ctx: At_blockContext): ComponentPin;
78
+ visitAt_block_pin_expression_simple(ctx: At_block_pin_expression_simpleContext): void;
79
+ visitAt_block_pin_expression_complex(ctx: At_block_pin_expression_complexContext): ComponentPin;
80
+ visitWire_expr(ctx: Wire_exprContext): void;
81
+ visitPoint_expr(ctx: Point_exprContext): ComponentPin;
82
+ visitImport_expr(ctx: Import_exprContext): void;
83
+ visitProperty_set_expr(ctx: Property_set_exprContext): void;
84
+ visitDouble_dot_property_set_expr(ctx: Double_dot_property_set_exprContext): void;
85
+ visitRoundedBracketsExpr(ctx: RoundedBracketsExprContext): any;
86
+ visitFrame_expr(ctx: Frame_exprContext): void;
87
+ visitNet_namespace_expr(ctx: Net_namespace_exprContext): string;
88
+ pinTypes: PinTypes[];
89
+ createImportFileHandler(directory: string, defaultLibsPath: string): ((visitor: MainVisitor, importPath: string) => {
90
+ hasError: boolean;
91
+ hasParseError: boolean;
92
+ pathExists: boolean;
93
+ });
94
+ private importLib;
95
+ private parseCreateComponentPins;
96
+ private parseCreateComponentParams;
97
+ private prepareStringValue;
98
+ print(...params: any[]): void;
99
+ printNets(): void;
100
+ dumpNets(): ComponentPinNet[];
101
+ dumpUniqueNets(): Net[];
102
+ dumpVariables(): Map<string, any>;
103
+ dumpInstances(): Map<string, ClassComponent>;
104
+ dump2(): any[];
105
+ getNetList(): NetListItem[];
106
+ getGraph(): {
107
+ sequence: any[];
108
+ nets: import("./objects/types.js").ComponentPinNetPair[];
109
+ components: ClassComponent[];
110
+ };
111
+ annotateComponents(): void;
112
+ private resolveNets;
113
+ private setComponentOrientation;
114
+ private getPropertyExprList;
115
+ private runExpressions;
116
+ private checkNetNamespaceIncludes;
117
+ private getNamespaceParts;
118
+ private setupPrintFunction;
119
+ private getNetNamespace;
120
+ }
121
+ export type NetListItem = {
122
+ instanceName: string;
123
+ instance: ClassComponent;
124
+ pins: {
125
+ [key: string | number]: string;
126
+ };
127
+ };
128
+ export declare class VisitorExecutionException {
129
+ errorMessage: string;
130
+ context: ParserRuleContext;
131
+ constructor(context: ParserRuleContext, errorMessage: string);
132
+ print(scriptData: string): void;
133
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circuitscript",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "description": "Interpreter for the circuitscript language",
5
5
  "homepage": "https://circuitscript.net",
6
6
  "engines": {
package/tsconfig.json CHANGED
@@ -21,6 +21,7 @@
21
21
  "resolveJsonModule": true,
22
22
  "skipLibCheck": true,
23
23
  "esModuleInterop":true,
24
+ "declaration": true
24
25
  },
25
26
  "include": ["src/**/*", "__tests__/**/*"]
26
27
  }