thaw-grammar
Version:
Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.
38 lines • 1.57 kB
TypeScript
import { IParser, ITokenizer } from 'thaw-interpreter-types';
import { IEnvironmentFrame } from './environment-frame';
import { IFunctionDefinition } from './function-definition';
import { IGlobalInfo } from './iglobal-info';
import { IMacroDefinition } from './imacro-definition';
export declare abstract class GlobalInfoBase<T> implements IGlobalInfo<T> {
protected readonly tokenizer: ITokenizer | undefined;
protected readonly parser: IParser | undefined;
readonly globalEnvironment: IEnvironmentFrame<T>;
readonly functionDefinitions: Map<string, IFunctionDefinition<T>>;
readonly macroDefinitions: Map<string, IMacroDefinition<T>>;
dynamicScoping: boolean;
debug: boolean;
private printedText;
protected constructor(options?: {
parser?: IParser;
tokenizer?: ITokenizer;
});
initialize(): void;
abstract get falseValue(): T;
abstract get trueValue(): T;
booleanAsValue(value: boolean): T;
abstract valueIsFalse(value: T): boolean;
abstract valueIsInteger(value: T): boolean;
abstract valueAsInteger(value: T): number;
abstract integerAsValue(value: number): T;
loadPreset(presetName: string): string;
loadPresets(): void;
setScoping(dynamicScoping: boolean): void;
setDebug(debug: boolean): void;
clearPrintedText(): void;
print(evaluatedArguments: T[]): void;
protected printDirect(str: string): void;
getPrintedText(): string;
evaluate(str: string): T;
evaluateToString(str: string): string;
}
//# sourceMappingURL=global-info-base.d.ts.map