19#ifndef MCRL2_LTS_LTS_MCRL2_H
20#define MCRL2_LTS_LTS_MCRL2_H
57 template <
class CONTAINER >
60 static_assert(std::is_same<typename CONTAINER::value_type, data::data_expression>::value,
"Value type must be a data_expression");
171 if (std::find(tau_actions.begin(),tau_actions.end(),
172 std::string(a.label().name()))==tau_actions.end())
174 new_multi_action.push_back(a);
216 const std::string& multi_action_string,
220 std::string l(multi_action_string);
223 size_t position_of_at=l.find_first_of(
'@');
224 std::string time_expression_string;
225 if (position_of_at!=std::string::npos)
228 time_expression_string=l.substr(position_of_at+1,l.size());
229 l=l.substr(0,position_of_at-1);
237 throw mcrl2::runtime_error(
"Parse error in action label " + multi_action_string +
".\n" + e.what());
240 if (time_expression_string.size()>0)
248#ifdef MCRL2_ENABLE_MACHINENUMBERS
270 throw mcrl2::runtime_error(
"Parse error in the time expression " + multi_action_string +
".\n" + e.what());
360 for(std::size_t c=0; c!=i; ++j, ++c)
384class lts_lts_t :
public lts< state_label_lts, action_label_lts, detail::lts_lts_base >
394 void load(
const std::string& filename);
400 void save(
const std::string& filename)
const;
411 probabilistic_state<std::size_t, lps::probabilistic_data_expression>,
412 detail::lts_lts_base >
422 void load(
const std::string& filename);
428 void save(
const std::string& filename)
const;
442 hash<mcrl2::lps::multi_action> hasher;
Read-only balanced binary tree of terms.
size_type size() const
Returns the size of the term_list.
const_iterator end() const
Returns a const_iterator pointing to the end of the term_list.
const_iterator begin() const
Returns a const_iterator pointing to the beginning of the term_list.
void push_front(const lps::state &el)
Inserts a new element at the beginning of the current list.
void swap(unprotected_aterm_core &t) noexcept
Swaps this term with its argument.
sort_expression sort() const
Returns the sort of the data expression.
\brief A timed multi-action
const process::action_list & actions() const
const data::data_expression & time() const
A class containing the values for action labels for the .lts format.
action_label_lts & operator=(const action_label_lts &)=default
Copy assignment.
static mcrl2::lps::multi_action sort_multiactions(const mcrl2::lps::multi_action &a)
A function to sort a multi action to guarantee that multi-actions are compared properly.
void hide_actions(const std::vector< std::string > &tau_actions)
Hide the actions with labels in tau_actions.
action_label_lts(const action_label_lts &)=default
Copy constructor.
static const action_label_lts & tau_action()
action_label_lts()
Default constructor.
action_label_lts(const mcrl2::lps::multi_action &a)
Constructor.
a base class for lts_lts_t and probabilistic_lts_t.
static lts_type type()
Yields the type of this lts, in this case lts_lts.
void set_process_parameters(const data::variable_list ¶ms)
Set the state parameters for this LTS.
const data::data_specification & data() const
Returns the mCRL2 data specification of this LTS.
bool operator==(const lts_lts_base &other) const
Standard equality function;.
process::action_label_list m_action_decls
void swap(lts_lts_base &l)
void set_action_label_declarations(const process::action_label_list &decls)
Set the action label information for this LTS.
const data::variable & process_parameter(std::size_t i) const
Returns the i-th parameter of the state vectors stored in this LTS.
data::data_specification m_data_spec
const data::variable_list & process_parameters() const
Return the process parameters stored in this LTS.
void set_data(const data::data_specification &spec)
Set the mCRL2 data specification of this LTS.
lts_lts_base()
Default constructor.
const process::action_label_list & action_label_declarations() const
Return action label declarations stored in this LTS.
data::variable_list m_parameters
This class contains labelled transition systems in .lts format.
lts_lts_t()
Creates an object containing no information.
void save(const std::string &filename) const
Save the labelled transition system to file.
void load(const std::string &filename)
Load the labelled transition system from file.
A class that contains a labelled transition system.
This class contains probabilistic labelled transition systems in .lts format.
void load(const std::string &filename)
Load the labelled transition system from file.
probabilistic_lts_lts_t()
Creates an object containing no information.
void save(const std::string &filename) const
Save the labelled transition system to file.
A class that contains a labelled transition system.
This class contains state labels for an labelled transition system in .lts format.
state_label_lts()
Default constructor.
state_label_lts(const state_label_lts &)=default
Copy constructor.
state_label_lts operator+(const state_label_lts &l) const
An operator to concatenate two state labels.
state_label_lts(const super &l)
Construct a state label out of list of balanced trees of data expressions, representing a state label...
atermpp::term_list< lps::state > super
state_label_lts(const lps::state &l)
Construct a state label out of a balanced tree of data expressions, representing a state label.
state_label_lts & operator=(const state_label_lts &)=default
Copy assignment.
static state_label_lts number_to_label(const std::size_t n)
Create a state label consisting of a number as the only list element.
state_label_lts(const CONTAINER &l)
Construct a single state label out of the elements in a container.
Standard exception class for reporting runtime errors.
add your file description here.
add your file description here.
const function_symbol & cint()
Constructor for function symbol @cInt.
const basic_sort & int_()
Constructor for sort expression Int.
const function_symbol & cnat()
Constructor for function symbol @cNat.
const basic_sort & nat()
Constructor for sort expression Nat.
const function_symbol & pos2nat()
Constructor for function symbol Pos2Nat.
const function_symbol & c1()
Constructor for function symbol @c1.
const basic_sort & pos()
Constructor for sort expression Pos.
const function_symbol & creal()
Constructor for function symbol @cReal.
const basic_sort & real_()
Constructor for sort expression Real.
data_expression parse_data_expression(std::istream &in, const VariableContainer &variables, const data_specification &dataspec=detail::default_specification(), bool type_check=true, bool translate_user_notation=true, bool normalize_sorts=true)
Parses and type checks a data expression.
std::string pp(const abstraction &x)
std::string pp(const action_summand &x)
multi_action parse_multi_action(std::stringstream &in, const process::action_label_list &action_decls, const data::data_specification &data_spec=data::detail::default_specification())
Parses a multi_action from an input stream.
lts_type
The enumerated type lts_type contains an index for every type type of labelled transition system that...
action_label_lts parse_lts_action(const std::string &multi_action_string, const data::data_specification &data_spec, lps::multi_action_type_checker &typechecker)
Parse a string into an action label.
std::size_t label(const outgoing_pair_t &p)
Label of a pair of a label and target state.
std::vector< action > action_vector
\brief vector of actions
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
This file contains a class that contains labels for probabilistic transitions as a mCRL2 data express...
The file containing the core class for transition systems.
std::size_t operator()(const mcrl2::lts::action_label_lts &as) const