pddl-workspace
Version:
30 lines (29 loc) • 1.86 kB
TypeScript
import { FileInfo } from "../FileInfo";
import { PddlSyntaxNode } from "./PddlSyntaxNode";
import { DocumentPositionResolver } from "../DocumentPositionResolver";
import { DomainInfo, Action, DurativeAction, Job } from "../DomainInfo";
import { PddlSyntaxTree } from "./PddlSyntaxTree";
import { Variable } from "../language";
import { PddlFileParser } from "./PddlFileParser";
import { URI } from "vscode-uri";
import { SyntaxInjectors } from "../injector/SyntaxInjector";
export interface PddlParserOptions {
injectors: SyntaxInjectors;
}
/**
* Planning Domain parser.
*/
export declare class PddlDomainParser extends PddlFileParser<DomainInfo> {
private readonly injectors;
constructor(options?: PddlParserOptions);
tryParse(fileUri: URI, fileVersion: number, fileText: string, syntaxTree: PddlSyntaxTree, positionResolver: DocumentPositionResolver): Promise<DomainInfo | undefined>;
parse(fileUri: URI, fileVersion: number, fileText: string, domainNode: PddlSyntaxNode, syntaxTree: PddlSyntaxTree, positionResolver: DocumentPositionResolver): DomainInfo | undefined;
static parseText(domainText: string, fileNameOrIdentifier?: URI, version?: number): DomainInfo | undefined;
private parseDomainStructure;
static parseRequirements(defineNode: PddlSyntaxNode, fileInfo: FileInfo): void;
static parseDerived(defineNode: PddlSyntaxNode, positionResolver: DocumentPositionResolver): Variable[];
parseActionProcessOrEvent(defineNode: PddlSyntaxNode, positionResolver: DocumentPositionResolver, keyword: string): Action[];
parseDurativeActions(defineNode: PddlSyntaxNode, positionResolver: DocumentPositionResolver): DurativeAction[];
parseJob(defineNode: PddlSyntaxNode, positionResolver: DocumentPositionResolver): Job[];
inject(domainInfo: DomainInfo, positionResolver: DocumentPositionResolver): void;
}