UNPKG

lysergic

Version:

Synaptic's neural network compiler

103 lines (102 loc) 3.07 kB
export declare type BinaryOperator = '+' | '-' | '/' | '*' | '=' | '*=' | '/=' | '+=' | '-=' | '^' | '>' | '<' | '>=' | '<=' | '==' | 'max' | 'kronecker'; export declare type UnaryOperator = '-' | 'exp' | 'rand' | 'abs' | 'sqrt' | 'ln' | 'sign'; export declare abstract class Node { children: Node[]; hasParenthesis: boolean; nameMapping: { [i: number]: string; }; originalText: string; constructor(); parent: Node; addNode(node: Node | Node[]): void; toString(): string; readonly value: string; inspect(): any; } export declare class ExpressionNode extends Node { } export declare class DocumentNode extends Node { children: ExpressionNode[]; toString(): string; } export declare class ParameterNode extends ExpressionNode { name: string; constructor(name: string); toString(): string; } export declare class ParametersNode extends Node { children: ParameterNode[]; toString(): string; } export declare class BlockNode extends Node { name: string; children: ExpressionNode[]; toString(): string; } export declare class FunctionNode extends ExpressionNode { name: string; parameters: ParametersNode; body: BlockNode; toString(): string; } export declare class HeapPointer extends ExpressionNode { position: ExpressionNode; toString(): string; } export declare class HeapReferenceNode extends ExpressionNode { position: number; constructor(position: number); toString(): string; } export declare class TernaryExpressionNode extends ExpressionNode { condition: ExpressionNode; truePart: ExpressionNode; falsePart: ExpressionNode; constructor(); toString(): string; } export declare class BinaryExpressionNode extends ExpressionNode { lhs: ExpressionNode; rhs: ExpressionNode; operator: BinaryOperator; toString(): string; } export declare class UnaryExpressionNode extends ExpressionNode { rhs: ExpressionNode; operator: UnaryOperator; toString(): string; } export declare class FloatNumberNode extends ExpressionNode { numericValue: number; constructor(numericValue: number); toString(): string; } export declare class IntNumberNode extends ExpressionNode { numericValue: number; constructor(numericValue: number); toString(): string; } export declare class Variable extends HeapReferenceNode { id: number; key: string; initialValue: number; tag: string; constructor(id: number, key: string, initialValue: number, tag: string); } export declare class VariableDeclaration extends ExpressionNode { name: string; type: 'int' | 'float'; initialValue: number; constructor(name: string, type: 'int' | 'float', initialValue: number); } export declare class VariableReference extends ExpressionNode { variable: VariableDeclaration; constructor(variable: VariableDeclaration); } export declare class ForLoopNode extends ExpressionNode { from: number; to: number; var: VariableReference; expression: ExpressionNode; }