10 #include <boost/spirit/home/qi/nonterminal/grammar.hpp>
40 qi::rule<Iterator, std::pair<std::string, carl::Sort>(),
Skipper>
main;
43 struct TermParser:
public qi::grammar<Iterator, types::TermType(), Skipper> {
51 | (qi::lit(
"(") >>
termop >>
")")[qi::_val = qi::_1]
carl::mpl_variant_of< TermTypes >::type TermType
Variant type for all terms.
PositionIteratorType Iterator
std::vector< carl::Variable > vars(const std::pair< QuantifierType, std::vector< carl::Variable >> &p)
Class to create the formulas for axioms.
#define SMTRAT_LOG_DEBUG(channel, msg)
Identifier checkQualification(const Identifier &identifier, const carl::Sort &) const
qi::rule< Iterator, Identifier(), Skipper > main
QualifiedIdentifierParser()
IdentifierParser identifier
qi::rule< Iterator, std::pair< std::string, carl::Sort >), Skipper > main
SpecConstantParser specconstant
AttributeParser attribute
conversion::VariantVariantConverter< types::TermType > Converter
qi::rule< Iterator, types::TermType(), Skipper > termop
qi::rule< Iterator, Skipper > binding
QualifiedIdentifierParser qualifiedidentifier
qi::rule< Iterator, types::TermType(), Skipper > main
TermParser(Theories *theories)
SortedVariableParser sortedvariable
void declareQuantifiedVariable(const std::vector< std::pair< std::string, carl::Sort >> &vars)
The Theories class combines all implemented theories and provides a single interface to interact with...
void handleLet(const std::string &symbol, const types::TermType &term)
types::TermType functionCall(const Identifier &identifier, const std::vector< types::TermType > &arguments)
types::TermType resolveSymbol(const Identifier &identifier) const
void declareVariable(const std::string &name, const carl::Sort &sort)
const auto & annotateTerm(const types::TermType &term, const std::vector< Attribute > &attributes)
void popExpressionScope(std::size_t n)
types::TermType quantifiedTerm(const std::vector< std::pair< std::string, carl::Sort >> &vars, const types::TermType &term, bool universal)
bool isVariableDeclared(const std::string &name) const
void pushExpressionScope(std::size_t n)