6 #ifndef KNOWROB_TERM_PARSERS_H
7 #define KNOWROB_TERM_PARSERS_H
9 #include <boost/spirit/include/qi.hpp>
10 #include "knowrob/terms/Term.h"
11 #include "knowrob/terms/Atom.h"
12 #include "knowrob/terms/Function.h"
13 #include "knowrob/terms/Variable.h"
16 using TermRule = boost::spirit::qi::rule<std::string::const_iterator, std::shared_ptr<Term>(), boost::spirit::ascii::space_type>;
17 using VariableRule = boost::spirit::qi::rule<std::string::const_iterator, std::shared_ptr<Variable>(), boost::spirit::ascii::space_type>;
18 using AtomRule = boost::spirit::qi::rule<std::string::const_iterator, std::shared_ptr<Atom>(), boost::spirit::ascii::space_type>;
19 using FunctionRule = boost::spirit::qi::rule<std::string::const_iterator, std::shared_ptr<Function>(), boost::spirit::ascii::space_type>;
VariableRule & var_question()
TermRule & key_value_pair()
boost::spirit::qi::rule< std::string::const_iterator, std::shared_ptr< Function >(), boost::spirit::ascii::space_type > FunctionRule
AtomRule & atom_regular()
VariableRule & var_upper()
boost::spirit::qi::rule< std::string::const_iterator, std::shared_ptr< Variable >(), boost::spirit::ascii::space_type > VariableRule
TermRule & options_or_nil()
boost::spirit::qi::rule< std::string::const_iterator, std::shared_ptr< Atom >(), boost::spirit::ascii::space_type > AtomRule
boost::spirit::qi::rule< std::string::const_iterator, std::shared_ptr< Term >(), boost::spirit::ascii::space_type > TermRule