Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 740 Bytes

README.md

File metadata and controls

23 lines (15 loc) · 740 Bytes

A PDDL parser for Python

This repository provides a simple parser for the Planning Domain Definition Language (PDDL), using the pyparsing library.

It implements the BNF of PDDL 3.1 as described in:

Daniel L. Kovacs: Complete BNF description of PDDL 3.1 (completely corrected), 2011.

It is assumed that all keywords and identifiers are caseless (so :strips is identified with :STRIPS, and move-block with MOVE-BLOCK).

The two functions for parsing domain and problem files return an abstract syntax tree (AST) in the form of a dictionary.

The examples directory contains a few example files from standard benchmarks. To see their ASTs, run

$ pytest -s pddl_parser.py