12#ifndef MCRL2_UTILITIES_FILE_UTILITY_H
13#define MCRL2_UTILITIES_FILE_UTILITY_H
15#include "mcrl2/utilities/exception.h"
16#include "mcrl2/utilities/logger.h"
27bool has_extension(
const std::string& filename,
const std::string& extension)
29 assert(extension.size()>=1 && extension[0]!=
'.');
30 std::string dotted_extension=
"."+extension;
31 if (filename.size()<dotted_extension.size())
35 const std::string filename_extension = filename.substr(filename.size()-dotted_extension.size());
36 return filename_extension==dotted_extension;
53 file_format(
const std::string& shortname,
const std::string& description,
bool is_text_format)
54 : m_shortname(shortname), m_description(description),
m_text_format(is_text_format)
57 void add_extension(
const std::string& ext)
59 m_extensions.push_back(ext);
68 bool matches(
const std::string& filename)
const
70 for (
const std::string& ext: m_extensions)
72 if (has_extension(filename,ext))
82 return m_shortname == other.m_shortname;
87 return m_shortname < other.m_shortname;
98bool file_exists(
const std::string& filename)
100 if (FILE * file = fopen(filename.c_str(),
"r"))
Namespace for all data library functionality.
rewrite_strategy
The strategy of the rewriter.
The main namespace for the PBES library.
void lps2pbes(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, const std::string &formula_filename, bool timed, bool structured, bool unoptimized, bool preprocess_modal_operators, bool generate_counter_example, bool check_only)
void pbesabstract(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const std::string ¶meter_selection, bool value_true)
pbes_rewriter_type
An enumerated type for the available pbes rewriters.
void txt2pbes(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, bool normalize)
void pbesstategraph(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const pbesstategraph_options &options)
void lpsbisim2pbes(const std::string &input_filename1, const std::string &input_filename2, const std::string &output_filename, const utilities::file_format &output_format, bisimulation_type type, bool normalize)
void complps2pbes(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, const std::string &formula_filename)
void pbesrewr(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type)
void pbesinfo(const std::string &input_filename, const std::string &input_file_message, const utilities::file_format &file_format, bool opt_full)
void pbespareqelm(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool ignore_initial_state)
void pbespp(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, core::print_format_type format, bool use_pfnf_printer)
void pbesparelm(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format)
bisimulation_type
An enumerated type for the available bisimulation types.
void pbesconstelm(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool compute_conditions, bool remove_redundant_equations, bool check_quantifiers)
void pbesabsinthe(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const std::string &abstraction_file, absinthe_strategy strategy, bool print_used_function_symbols, bool enable_logging)
absinthe_strategy
The approximation strategies of the absinthe tool.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
std::size_t operator()(const atermpp::detail::reference_aterm< T > &t) const