Fawkes API  Fawkes Development Version
PreconditionToCLIPSFactVisitor Class Reference

#include "precondition_visitor.h"

Inheritance diagram for PreconditionToCLIPSFactVisitor:

Public Member Functions

 PreconditionToCLIPSFactVisitor (const std::string &parent, int sub_counter, bool is_main=false)
 Constructor. More...
 
std::vector< std::string > operator() (pddl_parser::Atom &a) const
 Translate an Atom into a vector of strings. More...
 
std::vector< std::string > operator() (pddl_parser::Predicate &p) const
 Translate a Predicate into a vector of strings. More...
 

Detailed Description

Translate a PDDL precondition into CLIPS facts.

Author
Till Hofmann Helper class to translate a precondition from pddl_parser::Expression to a CLIPS fact. An expression is a boost::variant, and this class is a visitor for the variant that translates the Expression into a a vector of CLIPS facts.

Definition at line 30 of file precondition_visitor.h.

Constructor & Destructor Documentation

◆ PreconditionToCLIPSFactVisitor()

PreconditionToCLIPSFactVisitor::PreconditionToCLIPSFactVisitor ( const std::string &  parent,
int  sub_counter,
bool  is_main = false 
)

Constructor.

Parameters
parentThe name of the parent (either an operator or a precondition)
sub_counterCounter passed by the parent to enumerate sub-conditions
is_maintrue if this is the direct child of the operator, i.e., not a sub-condition

Definition at line 41 of file precondition_visitor.cpp.

Referenced by operator()().

Member Function Documentation

◆ operator()() [1/2]

vector< string > PreconditionToCLIPSFactVisitor::operator() ( pddl_parser::Atom &  a) const

Translate an Atom into a vector of strings.

Note that this does not return a CLIPS fact because we do not store atoms (parameter names or constants) as separate facts. This needs to be further processed by the caller instead.

Parameters
aThe atom to translate into a string.
Returns
A vector that only contains the atom as is.

Definition at line 56 of file precondition_visitor.cpp.

◆ operator()() [2/2]

vector< string > PreconditionToCLIPSFactVisitor::operator() ( pddl_parser::Predicate p) const

Translate a Predicate into a vector of strings.

This creates proper CLIPS precondition fact strings for the Predicate and all its arguments. For compound formulae (e.g., conjunctions), this also translates all sub-formulae recursively.

Parameters
pThe predicate to translate.
Returns
A vector of strings, each string is a properly formed CLIPS fact.

Definition at line 69 of file precondition_visitor.cpp.

References pddl_parser::Predicate::arguments, pddl_parser::Predicate::function, and PreconditionToCLIPSFactVisitor().


The documentation for this class was generated from the following files: