Lattice Land Parsing Library
|
Classes | |
class | SolverOutput |
Enumerations | |
enum class | OutputType { XCSP , FLATZINC } |
enum class | TableDecomposition { DISJUNCTIVE , TABLE_PREDICATE , ELEMENTS } |
Functions | |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_flatzinc_str (const std::string &input, SolverOutput< Allocator > &output) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_flatzinc (const std::string &filename, SolverOutput< Allocator > &output) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_flatzinc_str (const std::string &input, const Allocator &allocator=Allocator()) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_flatzinc (const std::string &filename, const Allocator &allocator=Allocator()) |
template<class Allocator > | |
void | parse_xcsp3 (const std::string &filename, XCSP3Core::XCSP3_turbo_callbacks< Allocator > &cb) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_xcsp3 (const std::string &filename, SolverOutput< Allocator > &output, TableDecomposition d=TableDecomposition::ELEMENTS) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_xcsp3_str (const std::string &input, TableDecomposition d=TableDecomposition::ELEMENTS, const Allocator &allocator=Allocator()) |
template<class Allocator > | |
battery::shared_ptr< TFormula< Allocator >, Allocator > | parse_xcsp3 (const std::string &filename, TableDecomposition d=TableDecomposition::ELEMENTS, const Allocator &allocator=Allocator()) |
|
strong |
|
strong |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_flatzinc_str | ( | const std::string & | input, |
SolverOutput< Allocator > & | output ) |
We parse the constraint language FlatZinc as described in the documentation: https://www.minizinc.org/doc-2.4.1/en/fzn-spec.html#specification-of-flatzinc. We also extend FlatZinc conservatively for the purposes of our framework:
real
(same as float
).int_ge
, int_gt
mainly to simplify testing in lala_core.int_minus
, float_minus
, int_neg
, float_neg
.true
and false
in the constraint
statement.int_le(int_plus(a,b), 5)
stands for a+b <= 5
.battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_flatzinc | ( | const std::string & | filename, |
SolverOutput< Allocator > & | output ) |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_flatzinc_str | ( | const std::string & | input, |
const Allocator & | allocator = Allocator() ) |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_flatzinc | ( | const std::string & | filename, |
const Allocator & | allocator = Allocator() ) |
void lala::parse_xcsp3 | ( | const std::string & | filename, |
XCSP3Core::XCSP3_turbo_callbacks< Allocator > & | cb ) |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_xcsp3 | ( | const std::string & | filename, |
SolverOutput< Allocator > & | output, | ||
TableDecomposition | d = TableDecomposition::ELEMENTS ) |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_xcsp3_str | ( | const std::string & | input, |
TableDecomposition | d = TableDecomposition::ELEMENTS, | ||
const Allocator & | allocator = Allocator() ) |
battery::shared_ptr< TFormula< Allocator >, Allocator > lala::parse_xcsp3 | ( | const std::string & | filename, |
TableDecomposition | d = TableDecomposition::ELEMENTS, | ||
const Allocator & | allocator = Allocator() ) |