expression-evaluation
Version: 
Expression Evaluation
15 lines (14 loc) • 554 B
TypeScript
import { ParserFrame } from './ParserFrame.js';
import { Type, Value } from './Type.js';
import { FunctionSignature } from './FunctionSignature.js';
export declare abstract class Node extends ParserFrame {
    constructor(frame: ParserFrame);
    abstract type: Type;
    abstract compile(type: Type): Node;
    abstract evaluate(): Value;
    get constant(): boolean;
    get signature(): FunctionSignature | undefined;
    protected reduceType(type: Type): Type;
    protected throwTypeError(type: Type): never;
    toString(ident?: number): string;
}