pddl-workspace
Version:
28 lines (27 loc) • 1.5 kB
TypeScript
import { DocumentPositionResolver } from "../DocumentPositionResolver";
import { PddlSyntaxTree } from "./PddlSyntaxTree";
import { PddlExtensionContext } from "../PddlExtensionContext";
import { ProblemInfo, TimedVariableValue, VariableValue, SupplyDemand, Metric } from "../ProblemInfo";
import { PddlSyntaxNode } from "./PddlSyntaxNode";
import { PddlFileParser } from "./PddlFileParser";
import { URI } from "vscode-uri";
/**
* Planning Problem parser.
*/
export declare class PddlProblemParser extends PddlFileParser<ProblemInfo> {
private problemPreParser;
private problemPattern;
constructor(context?: PddlExtensionContext);
static parseText(problemText: string, fileNameOrIdentifier?: URI, version?: number): Promise<ProblemInfo | undefined>;
tryParse(fileUri: URI, fileVersion: number, fileText: string, syntaxTree: PddlSyntaxTree, positionResolver: DocumentPositionResolver): Promise<ProblemInfo | undefined>;
getProblemStructure(problemInfo: ProblemInfo): void;
/**
* Parses problem :init section.
* @param initNode init syntax node
*/
parseInitSection(initNode: PddlSyntaxNode): [TimedVariableValue[], SupplyDemand[]];
parseInit(bracket: PddlSyntaxNode): TimedVariableValue | undefined;
parseVariableValue(node: PddlSyntaxNode): VariableValue | undefined;
parseSupplyDemand(node: PddlSyntaxNode): SupplyDemand | undefined;
parseMetrics(defineNode: PddlSyntaxNode, positionResolver: DocumentPositionResolver): Metric[];
}