SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
ParserSettings.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace smtrat {
7 namespace parser {
8 
9 struct ParserSettings {
11  bool read_opb;
12  std::string input_file;
15 };
16 
17 template<typename T>
18 void registerParserSettings(T& parser) {
19  namespace po = boost::program_options;
20  auto& settings = settings::Settings::getInstance();
21  auto& s = settings.get<ParserSettings>("parser");
22 
23  parser.add("Parser settings").add_options()
24  ("dimacs", po::bool_switch(&s.read_dimacs), "parse input file as dimacs file")
25  ("opb", po::bool_switch(&s.read_opb), "parse input file as OPB file")
26  ("input-file", po::value<std::string>(&s.input_file), "path of the input file")
27  ("disable-uf-flattening", po::bool_switch(&s.disable_uf_flattening), "disable flattening of nested uninterpreted functions")
28  ("disable-theory", po::bool_switch(&s.disable_theory), "disable theory construction")
29  ;
30 }
31 
32 }
33 
34 inline const auto& settings_parser() {
35  static const auto& s = settings::Settings::getInstance().get<parser::ParserSettings>("parser");
36  return s;
37 }
38 
39 }
void registerParserSettings(T &parser)
Class to create the formulas for axioms.
const auto & settings_parser()