3 #include <carl-formula/sort/SortManager.h>
12 namespace spirit = boost::spirit;
13 namespace qi = boost::spirit::qi;
14 namespace px = boost::phoenix;
16 struct SortParser :
public qi::grammar<Iterator, carl::Sort(), Skipper> {
29 for (
const auto& p: params) {
42 if (i.
indices ==
nullptr)
return carl::getSort(i.
symbol, params);
PositionIteratorType Iterator
Class to create the formulas for axioms.
std::vector< std::size_t > * indices
carl::Sort getSortWithParam(const Identifier &i, const std::vector< carl::Sort > ¶ms)
IdentifierParser identifier
carl::Sort getSort(const Identifier &i)
qi::symbols< char, carl::Sort > simpleSort
qi::symbols< char, carl::Sort > parameters
qi::rule< Iterator, carl::Sort(), Skipper > sort
void setParameters(const std::vector< std::string > ¶ms)
static void addSimpleSorts(qi::symbols< char, carl::Sort > &sorts)
Collects simple sorts from all theory modules.