UNPKG

thaw-grammar

Version:

Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.

20 lines 1.41 kB
import { IEnvironmentFrame } from '../../../common/domain-object-model/environment-frame'; import { IExpression } from '../../../common/domain-object-model/iexpression'; import { IGlobalInfo } from '../../../common/domain-object-model/iglobal-info'; import { IVariable } from '../../../common/domain-object-model/variable'; import { ISExpression } from '../../lisp/domain-object-model/isexpression'; import { SExpressionBase } from '../../lisp/domain-object-model/sexpression-base'; import { ICallableSExpression } from './icallable-sexpression'; export declare class Closure extends SExpressionBase implements ICallableSExpression { readonly argList: IVariable<ISExpression>[]; readonly body: IExpression<ISExpression>; readonly closureEnvironment: IEnvironmentFrame<ISExpression>; readonly line: number; readonly column: number; constructor(argList: IVariable<ISExpression>[], body: IExpression<ISExpression>, closureEnvironment: IEnvironmentFrame<ISExpression>, line?: number, column?: number); call(expressionList: IExpression<ISExpression>[], localEnvironment: IEnvironmentFrame<ISExpression>, globalInfo: IGlobalInfo<ISExpression>): ISExpression; isClosure(): boolean; toString(): string; evaluate(globalInfo: IGlobalInfo<ISExpression>, localEnvironment?: IEnvironmentFrame<ISExpression>, options?: unknown): ISExpression; } //# sourceMappingURL=closure.d.ts.map