thaw-grammar
Version:
Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.
25 lines • 1.68 kB
TypeScript
import { IParser, ITokenizer } from 'thaw-interpreter-types';
import { EnvironmentFrame } from '../../../common/domain-object-model/environment-frame';
import { ISmalltalkClass, ISmalltalkEnvironmentFrame, ISmalltalkFunctionDefinition, ISmalltalkGlobalInfo, ISmalltalkValue, ISmalltalkVariable } from './interfaces/iexpression';
export declare class SmalltalkClass implements ISmalltalkClass {
readonly className: string;
readonly superClassName: string | undefined;
readonly classVariableList: ISmalltalkVariable[];
readonly clRep: ISmalltalkVariable[];
private exportedList;
readonly line: number;
readonly column: number;
superClass: ISmalltalkClass | undefined;
readonly exportedDict: Map<string, ISmalltalkFunctionDefinition>;
readonly classVariableEnvFrame: EnvironmentFrame<ISmalltalkValue>;
constructor(className: string, superClassName: string | undefined, classVariableList: ISmalltalkVariable[], clRep: ISmalltalkVariable[], exportedList: ISmalltalkFunctionDefinition[], line?: number, column?: number);
findMethod(methodName: string): {
method: ISmalltalkFunctionDefinition | undefined;
classInWhichMethodWasFound: ISmalltalkClass | undefined;
};
findClassVariableValue(variable: ISmalltalkVariable): ISmalltalkValue | undefined;
trySetClassVariableValue(variable: ISmalltalkVariable, value: ISmalltalkValue): boolean;
addFunction(tokenizer: ITokenizer, parser: IParser, functionAsString: string): void;
evaluate(globalInfo: ISmalltalkGlobalInfo, localEnvironment: ISmalltalkEnvironmentFrame | undefined, options?: unknown): ISmalltalkValue;
}
//# sourceMappingURL=class.d.ts.map