12#include "mcrl2/data/data_expression.h"
13#include "mcrl2/lps/is_well_typed.h"
14#include "mcrl2/lps/normalize_sorts.h"
15#include "mcrl2/lps/parse_impl.h"
16#include "mcrl2/lps/print.h"
17#include "mcrl2/lps/replace.h"
18#include "mcrl2/lps/specification.h"
19#include "mcrl2/lps/translate_user_notation.h"
74 return data::replace_variables(
75 data::data_expression_list(process_parameters),
76 data::assignment_sequence_substitution(assignments()));
81 std::ostringstream out;
82 core::detail::apply_printer<lps::detail::printer> printer(out, precedence_aware);
83 printer.process_name() = process_name;
90 std::ostringstream out;
91 core::detail::apply_printer<lps::detail::printer> printer(out, precedence_aware);
92 printer.print_summand_numbers() = summand_numbers;
93 printer.process_name() = process_name;
100 std::ostringstream out;
101 core::detail::apply_printer<lps::detail::printer> printer(out, precedence_aware);
102 printer.print_summand_numbers() = summand_numbers;
103 printer.process_name() = process_name;
110 return lps::
detail::check_well_typedness(x);
115 return lps::
detail::check_well_typedness(x);
120 return lps::
detail::check_well_typedness(x);
125 return lps::
detail::check_well_typedness(x);
133 unsigned int start_symbol_index = p.start_symbol_index(
"MultAct");
134 bool partial_parses =
false;
135 core::parse_node node = p.parse(text, start_symbol_index, partial_parses);
144 lps::normalize_sorts(result, data_spec);
152 lps::normalize_sorts(result, data_spec);
159 unsigned int start_symbol_index = p.start_symbol_index(
"ActionRenameSpec");
160 bool partial_parses =
false;
161 core::parse_node node = p.parse(text, start_symbol_index, partial_parses);
168 using namespace mcrl2::
data;
171 detail::translate_user_notation(x);
Action rename specification.
process::action_label_list & action_labels()
Returns the sequence of action labels.
LPS summand containing a multi-action.
data::data_expression_list next_state(const data::variable_list &process_parameters) const
Returns the next state corresponding to this summand.
\brief A timed multi-action
multi_action & operator=(multi_action &&) noexcept=default
Linear process specification.
Linear process specification.
\brief An untyped multi action or data application
D_ParserTables parser_tables_mcrl2
static data_specification const & default_specification()
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
multi_action complete_multi_action(process::untyped_multi_action &x, const process::action_label_list &action_decls, const data::data_specification &data_spec=data::detail::default_specification())
void complete_action_rename_specification(action_rename_specification &x, const lps::stochastic_specification &spec)
process::untyped_multi_action parse_multi_action_new(const std::string &text)
multi_action complete_multi_action(process::untyped_multi_action &x, multi_action_type_checker &typechecker, const data::data_specification &data_spec=data::detail::default_specification())
action_rename_specification parse_action_rename_specification_new(const std::string &text)
The main namespace for the LPS library.
std::string pp(const lps::stochastic_specification &x, bool arg0)
std::set< data::variable > find_all_variables(const lps::linear_process &x)
std::string pp(const lps::specification &x, bool arg0)
std::set< data::sort_expression > find_sort_expressions(const lps::stochastic_specification &x)
std::string pp_extended(const lps::stochastic_specification &x, const std::string &process_name, bool precedence_aware=true)
std::set< process::action_label > find_action_labels(const lps::stochastic_specification &x)
std::set< data::variable > find_free_variables(const lps::stochastic_specification &x)
std::string pp(const lps::stochastic_distribution &x, bool arg0)
std::string pp_extended(const stochastic_specification &x, const std::string &process_name, bool precedence_aware, bool summand_numbers)
std::set< data::variable > find_all_variables(const lps::multi_action &x)
Returns all variables inside a multi-action.
std::set< data::variable > find_all_variables(const lps::stochastic_specification &x)
bool check_well_typedness(const specification &x)
std::set< data::variable > find_free_variables(const lps::linear_process &x)
bool check_well_typedness(const linear_process &x)
std::set< data::function_symbol > find_function_symbols(const lps::stochastic_specification &x)
std::string pp_extended(const specification &x, const std::string &process_name, bool precedence_aware, bool summand_numbers)
std::set< process::action_label > find_action_labels(const lps::process_initializer &x)
std::set< data::variable > find_free_variables(const lps::specification &x)
multi_action typecheck_multi_action(process::untyped_multi_action &mult_act, const data::data_specification &data_spec, const process::action_label_list &action_decls)
Type check a multi action Throws an exception if something went wrong.
void normalize_sorts(lps::specification &x, const data::sort_specification &)
std::set< data::variable > find_free_variables(const lps::deadlock &x)
std::string pp(const lps::deadlock_summand &x, bool arg0)
std::set< process::action_label > find_action_labels(const lps::linear_process &x)
lps::multi_action normalize_sorts(const lps::multi_action &x, const data::sort_specification &sortspec)
std::set< data::variable > find_free_variables(const lps::stochastic_linear_process &x)
multi_action typecheck_multi_action(process::untyped_multi_action &mult_act, multi_action_type_checker &typechecker)
Type check a multi action Throws an exception if something went wrong.
std::set< data::function_symbol > find_function_symbols(const lps::specification &x)
std::string pp(const lps::stochastic_linear_process &x, bool arg0)
std::set< data::variable > find_free_variables(const lps::stochastic_process_initializer &x)
std::set< data::variable > find_free_variables(const lps::multi_action &x)
std::string pp(const lps::deadlock &x, bool arg0)
void normalize_sorts(lps::stochastic_specification &x, const data::sort_specification &)
std::set< data::variable > find_free_variables(const lps::process_initializer &x)
std::string pp(const lps::stochastic_action_summand &x, bool arg0)
std::string pp(const lps::stochastic_process_initializer &x, bool arg0)
std::string pp(const lps::linear_process &x, bool arg0)
std::string pp(const lps::multi_action &x, bool arg0)
std::set< data::sort_expression > find_sort_expressions(const lps::specification &x)
std::string pp(const lps::action_summand &x, bool arg0)
std::set< data::variable > find_all_variables(const lps::specification &x)
bool check_well_typedness(const stochastic_specification &x)
std::set< data::variable > find_all_variables(const lps::deadlock &x)
action_rename_specification typecheck_action_rename_specification(const action_rename_specification &arspec, const lps::stochastic_specification &lpsspec)
Type checks an action rename specification.
std::set< data::variable > find_all_variables(const lps::stochastic_linear_process &x)
bool check_well_typedness(const stochastic_linear_process &x)
lps::multi_action translate_user_notation(const lps::multi_action &x)
std::set< core::identifier_string > find_identifiers(const lps::stochastic_specification &x)
std::set< core::identifier_string > find_identifiers(const lps::specification &x)
std::set< process::action_label > find_action_labels(const lps::specification &x)
std::string pp(const lps::process_initializer &x, bool arg0)
The main namespace for the Process library.
lps::action_rename_specification parse_ActionRenameSpec(const core::parse_node &node) const
action_rename_actions(const core::parser &parser_)
process::untyped_multi_action parse_MultAct(const core::parse_node &node) const
multi_action_actions(const core::parser &parser_)