bni: A PDDL to C compiler with integrated REPL for interactive testing
Abstract
This paper presents the implementation of a modular parser and an interactive REPL PDDL, entirely developed in the C programming language. The proposed solution enables the translation of PDDL domain and problem specifications into efficient, manipulable C data structures, fostering transparency, performance, and portability. Complementing the parser, the integrated REPL facilitates incremental testing and interactive debugging of planning domains and problem instances, supporting a cycle of real-time action validation and state exploration. The system also incorporates an integrated validation functionality. This feature enables both incremental and post hoc verification of action sequences and complete plans, ensuring that they adhere to the defined domain and problem specifications. The validate capability of the tool allows users to detect logical inconsistencies and confirm goal achievement efficiently, even in large-scale instances. Compared to established tools such as VAL, the proposed solution offers improved flexibility and performance for plan validation, particularly in scenarios involving extensive and complex plans. This work represents a novel contribution to the field of automated planning, bridging the gap between high-level modelling languages and low-level systems programming.
References
Büchner, C., Christen, R., Corrêa, A. B., Eriksson, S., Ferber, P., Seipp, J., and Sievers, S. (2023). Fast downward stone soup 2023. Prague, Czech Republic.
de Moura, L., Kong, S., Avigad, J., van Doorn, F., and von Raumer, J. (2015). The lean theorem prover (system description). In 2015 Conference on Automated Deduction, pages 378–388. Springer, Cham.
Edelkamp, S. (2004). Pddl2. 2: The language for the classical part of the 4th international planning competition.
Fox, M. and Long, D. (2003). Pddl2.1: An extension to pddl for expressing temporal planning domains. 20:61–124.
Gerevini, A. and Long, D. (2005). Plan constraints and preferences in pddl3 the language of the fifth international planning competition.
Gerevini, A. and Serina, I. (2002). Lpg: A planner based on local search for planning graphs with action costs. AIPS: 6th International Conference on Artificial Intelligence Planning Systems.
Helmert, M. (2006). The fast downward planning system. Journal of Artificial Intelligence Research. Available at [link].
Howey, R., Long, D., and Fox, M. (2004). Val: Automatic plan validation, continuous effects and mixed initiative planning using pddl. In 16th IEEE International Conference on Tools with Artificial Intelligence, pages 294–301.
ICAPS (2025). International conference on automated planning and scheduling. Available at [link].
IPC (2023). International planning competition. Available at [link].
Kautz, H., Selman, B., and Hoffmann, J. (2006). Satplan: Planning as satisfiability. 5th International Planning Competition, Cumbria, UK.
Kernighan, B. W. and Ritchie, D. M. (1988). The C Programming Language. 2nd edition.
Magnaguagno, M. C., Pereira, R. F., Móre, M. D., and Meneguzzi, F. (2020). Web Planner: A Tool to Develop, Visualize, and Test Classical Planning Domains, pages 209–227. Springer International Publishing, Cham.
Muise, C. (2015). Pddl editor. [link].
Project, G. (2024). GNU Readline Library. Version used: 8.2. Available at [link].
Rintanen, J. (2014). Madagascar: Scalable planning with sat. In Proceedings of the International Planning Competition (IPC) 2014.
van Binsbergen, L. T., Verano Merino, M., Jeanjean, P., van der Storm, T., Combemale, B., and Barais, O. (2020). A principled approach to repl interpreters. In Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2020, page 84–100, New York, NY, USA. Association for Computing Machinery.
Yves Bertot, P. C. (2015). Le Coq’ Art. Available at [link].
Zhi-Xuan, T. (2022). Pddl.jl: An extensible interpreter and compiler interface for fast and flexible ai planning. Ms thesis, Massachusetts Institute of Technology.
