thaw-grammar
Version:
Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.
17 lines • 989 B
TypeScript
import { Name } from 'thaw-interpreter-core';
import { IEnvironmentFrame } from './environment-frame';
import { IExpression } from './iexpression';
import { IGlobalInfo } from './iglobal-info';
export declare class OperatorUsage<T> implements IExpression<T> {
readonly operatorName: Name;
readonly expressionList: IExpression<T>[];
private readonly twoArgumentIntegerPredicates;
private readonly twoArgumentIntegerOperators;
constructor(operatorName: Name, expressionList: IExpression<T>[]);
toString(): string;
evaluate(globalInfo: IGlobalInfo<T>, localEnvironment?: IEnvironmentFrame<T>, options?: unknown): T;
protected tryGetExpectedNumArgs(globalInfo: IGlobalInfo<T>): number | undefined;
protected checkArgTypes(evaluatedArguments: T[]): string | undefined;
protected evaluateAux(evaluatedArguments: T[], globalInfo: IGlobalInfo<T>, localEnvironment?: IEnvironmentFrame<T>, options?: unknown): T;
}
//# sourceMappingURL=operator-usage.d.ts.map