Crate oxidd_parser
source ·Expand description
Collection of parsers for various problem formats
§Example
let parse_options = ParseOptionsBuilder::default().build().unwrap();
let Some(problem) = load_file("foo.dimacs", &parse_options) else {
return; // an error message has been printed to stderr
};
match problem {
Problem::CNF(cnf) => println!("{:?}", cnf.clauses()),
Problem::Prop(prop) => println!("{:?}", prop.formula()),
_ => todo!("problem kind not yet supported"),
}
§Feature flags
load-file
(enabled by default) — Convenience functions etc. to load a problem from file (load_file
)
Modules§
- AIGER parser based on “The AIGER And-Inverter Graph (AIG) Format Version 20071012” and “AIGER 1.9 And Beyond”
- DIMACS CNF/SAT parser based on the paper “Satisfiability Suggested Format”
- Convenience functions etc. to load a
Problem
from file
Structs§
- And-inverter graph
- CNF problem instance
- A possibly negated variable
- Options for the parsers
- Builder for
ParseOptions
. - Propositional formula problem
- Compact representation of a
Vec<Vec<T>>
- Iterator over the inner vectors of a
Vec2d
Enums§
- Kinds of AIG vars
- Nodes in a pre-linearized binary clause order tree
- Error type for ParseOptionsBuilder
- Different problem kinds that may be returned by the problem parsers
- Propositional formula
Type Aliases§
- Variable type