DIMACS parser¶
The header <lorina/dimacs.hpp>
implements methods to parse the DIMACS CNF/DNF format.
The class lorina::dimacs_reader
provides the following public
member functions.
Function |
Description |
---|---|
|
Callback method for parsed format (CNF or DNF) |
|
Callback method for parsed number of variables |
|
Callback method for parsed number of clauses |
|
Callback method for parsed clauses |
|
Callback method for parsed end |
The following reader functions are available.
Function
|
Description
|
---|---|
Reader function for the DIMACS format.
|
|
Reader function for DIMACS format.
|
-
inline return_code lorina::read_dimacs(std::istream &in, const dimacs_reader &reader, diagnostic_engine *diag = nullptr)¶
Reader function for the DIMACS format.
Reads DIMACS format from a stream and invokes a callback method for each parsed primitive and each detected parse error.
- Parameters
in – Input stream
reader – A DIMACS reader with callback methods invoked for parsed primitives
diag – An optional diagnostic engine with callback methods for parse errors
- Returns
Success if parsing has been successful, or parse error if parsing has failed
-
inline return_code lorina::read_dimacs(const std::string &filename, const dimacs_reader &reader, diagnostic_engine *diag = nullptr)¶
Reader function for DIMACS format.
Reads DIMACS format from a file and invokes a callback method for each parsed primitive and each detected parse error.
- Parameters
filename – Name of the file
reader – A DIMACS reader with callback methods invoked for parsed primitives
diag – An optional diagnostic engine with callback methods for parse errors
- Returns
Success if parsing has been successful, or parse error if parsing has failed