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;
}