12#ifndef MCRL2_DATA_REWRITER_TOOL_H
13#define MCRL2_DATA_REWRITER_TOOL_H
15#include "mcrl2/data/detail/enumerator_iteration_limit.h"
16#include "mcrl2/data/rewriter.h"
17#include "mcrl2/utilities/command_line_interface.h"
23template <
typename Tool>
38 Tool::add_options(desc);
41 rewriter_option.add_value(data::rewrite_strategy::jitty,
true);
42#ifdef MCRL2_ENABLE_JITTYC
43 rewriter_option.add_value(data::rewrite_strategy::jitty_compiling);
47 rewriter_option.add_value(data::rewrite_strategy::jitty_prover);
53 "use rewrite strategy NAME:"
59 utilities::make_mandatory_argument(
"NUM"),
60 "limit enumeration of universal and existential quantifiers in data expressions to NUM iterations (default NUM=10, NUM=0 for unlimited).",
75 Tool::parse_options(parser);
79 if (parser.options.count(
"qlimit"))
81 std::size_t qlimit = parser.option_argument_as< std::size_t >(
"qlimit");
82 m_qlimit = (qlimit == 0 ? std::numeric_limits<std::size_t>::max() : qlimit);
84 data::detail::set_enumerator_iteration_limit(m_qlimit);
91 const std::string& author,
92 const std::string& what_is,
93 const std::string& tool_description,
94 std::string known_issues =
""
101 data::rewrite_strategy rewrite_strategy()
const
data_specification()=default
Default constructor. Generate a data specification that contains only booleans and positive numbers.
Rewriter that operates on data expressions.
Main parsing component for command line strings as well as interface to the results of parsing....
Command line interface description component.