thaw-grammar
Version:
Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.
56 lines • 2.51 kB
TypeScript
import { IParser, ITokenizer } from 'thaw-interpreter-types';
import { GlobalInfoBase } from '../../../common/domain-object-model/global-info-base';
import { PrologClause } from './prolog-clause';
import { PrologGoal } from './prolog-goal';
import { IPrologExpression } from './interfaces/iprolog-expression';
import { IPrologVariable } from './interfaces/ivariable';
export declare class PrologGlobalInfo extends GlobalInfoBase<IPrologExpression> {
static readonly ClauseAdded = "Clause added.";
static readonly ClauseAlreadyExists = "An identical clause is already in the clause list.";
static readonly IsomorphicClauseAlreadyExists = "An isomorphic clause is already in the clause list.";
static readonly IsomorphicOrMoreGeneralClauseAlreadyExists = "An isomorphic or more general clause is already in the clause list.";
static readonly OperatorAdded = "Operator added.";
static readonly InvalidCommand = "Invalid command.";
static readonly Satisfied = "Satisfied";
static readonly NotSatisfied = "Not satisfied";
private variableRenameNum;
private allMode;
private solutionCollectionMode;
private numSolutionsFound;
private readonly DefaultModule;
private guidNumber;
private readonly falseVal;
private readonly trueVal;
constructor(options?: {
parser?: IParser;
tokenizer?: ITokenizer;
});
toString(): string;
get falseValue(): IPrologExpression;
get trueValue(): IPrologExpression;
valueIsFalse(value: IPrologExpression): boolean;
valueIsInteger(value: IPrologExpression): boolean;
valueAsInteger(value: IPrologExpression): number;
integerAsValue(value: number): IPrologExpression;
Clear(): void;
FindFirstSolution(): void;
FindAllSolutions(): void;
GetNextUniqueVariable(): IPrologVariable;
private GetVariablesFromGoalList;
GetListOfBindingVariablesFromGoalList(goalListParam: PrologGoal[]): IPrologVariable[];
private AutomaticPrint;
private Unifiable2;
private NotUnifiable2;
private Equals2;
private NotEquals2;
private doIntegerArithmetic;
private doIntegerComparison;
private createSubstitutionForArithmeticOperation;
private ProveGoalList;
private ProveGoalListUsingModule;
ProcessInput(parseResult: PrologClause | PrologGoal[], currentModuleName?: string): string;
private FindModule;
evaluateToString(str: string): string;
private getNextGuid;
}
//# sourceMappingURL=prolog-global-info.d.ts.map