12#ifndef MCRL2_PROCESS_PROCESS_SPECIFICATION_H
13#define MCRL2_PROCESS_PROCESS_SPECIFICATION_H
28class process_specification;
33std::string
pp(
const process_specification& x);
34void normalize_sorts(process_specification& x,
const data::sort_specification& sortspec);
37std::set<core::identifier_string>
find_identifiers(
const process::process_specification& x);
75 m_action_labels = atermpp::down_cast<process::action_label_list>((*i++)[0]);
193std::string
pp(
const process_specification& x);
242 return !(spec1 == spec2);
const_iterator begin() const
Returns an iterator pointing to the first argument.
const function_symbol & function() const
Returns the function symbol belonging to an aterm.
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 add_context_sorts(const Container &c, typename atermpp::enable_if_container< Container >::type *=nullptr)
Adds the sorts in c to the context sorts.
\brief A process expression
Process specification consisting of a data specification, action labels, a sequence of process equati...
const std::vector< process_equation > & equations() const
Returns the equations of the process specification.
process_specification(data::data_specification data, process::action_label_list action_labels, process_equation_list equations, process_expression init)
Constructor that sets the global variables to empty;.
process::action_label_list m_action_labels
The action specification of the specification.
process_expression & init()
Returns the initialization of the process specification.
const process_expression & init() const
Returns the initialization of the process specification.
process_specification(data::data_specification data, process::action_label_list action_labels, data::variable_list global_variables, process_equation_list equations, process_expression init)
Constructor of a process specification.
std::vector< process_equation > & equations()
Returns the equations of the process specification.
process_specification(atermpp::aterm t)
Constructor.
std::set< data::variable > m_global_variables
The set of global variables.
const data::data_specification & data() const
Returns the data specification.
std::vector< process_equation > m_equations
The equations of the specification.
const process::action_label_list & action_labels() const
Returns the action label specification.
data::data_specification m_data
The data specification of the specification.
process_expression m_initial_process
The initial state of the specification.
process::action_label_list & action_labels()
Returns the action label specification.
data::data_specification & data()
Returns the data specification.
const std::set< data::variable > & global_variables() const
Returns the declared free variables of the process specification.
void construct_from_aterm(const atermpp::aterm &t)
Initializes the specification with an aterm.
process_specification()
Constructor.
std::set< data::variable > & global_variables()
Returns the declared free variables of the process specification.
Functions for pretty printing ATerms.
add your file description here.
add your file description here.
const atermpp::function_symbol & function_symbol_ProcSpec()
const atermpp::function_symbol & function_symbol_GlobVarSpec()
bool check_term_ProcSpec(const Term &t)
const atermpp::function_symbol & function_symbol_ProcessInit()
const atermpp::function_symbol & function_symbol_ActSpec()
const atermpp::function_symbol & function_symbol_ProcEqnSpec()
atermpp::aterm data_specification_to_aterm(const data_specification &s)
void find_identifiers(const T &x, OutputIterator o)
void complete_data_specification(process_specification &)
Adds all sorts that appear in the process specification spec to the data specification of spec.
std::set< data::sort_expression > find_sort_expressions(const process::action_label_list &x)
action_label_list normalize_sorts(const action_label_list &x, const data::sort_specification &sortspec)
bool is_process_specification(const atermpp::aterm &x)
Test for a process specification expression.
atermpp::aterm process_specification_to_aterm(const process_specification &spec)
Conversion to aterm.
std::string pp(const action_label &x)
void find_free_variables(const T &x, OutputIterator o)
action translate_user_notation(const action &x)
bool operator==(const process_specification &spec1, const process_specification &spec2)
Equality operator.
std::ostream & operator<<(std::ostream &out, const action_label &x)
bool operator!=(const process_specification &spec1, const process_specification &spec2)
Inequality operator.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
add your file description here.
static const atermpp::function_symbol ProcSpec