mcrl2/process/typecheck.h

Include file:

#include "mcrl2/process/typecheck.h"

add your file description here.

Classes

Functions

std::ostream &mcrl2::process::operator<<(std::ostream &out, const data::sorts_list &x)
data::sorts_list mcrl2::process::sorts_list_intersection(const data::sorts_list &sorts1, const data::sorts_list &sorts2)
action mcrl2::process::typecheck_action(const core::identifier_string &name, const data::data_expression_list &parameters, data::data_type_checker &typechecker, const data::detail::variable_context &variable_context, const detail::action_context &action_context)
process_expression mcrl2::process::typecheck_process_expression(const process_expression &x, const VariableContainer &variables = VariableContainer(), const data::data_specification &dataspec = data::data_specification(), const ActionLabelContainer &action_labels = ActionLabelContainer(), const ProcessIdentifierContainer &process_identifiers = ProcessIdentifierContainer(), const process_identifier *current_equation = nullptr)

Typecheck a process expression.

Parameters:

  • x An untyped process expression
  • variables A sequence of data variables
  • dataspec A data specification
  • action_labels A sequence of action labels
  • process_identifiers A sequence of process identifiers
  • current_equation A pointer to the current equation. If this pointer is set, a check will be done it process instance assignments assign values to all their parameters.
void mcrl2::process::typecheck_process_specification(process_specification &proc_spec)

Type check a parsed mCRL2 process specification. Throws an exception if something went wrong.

Parameters:

  • proc_spec A process specification that has not been type checked.

Post: proc_spec is type checked.

Functions

bool equal_multi_actions(core::identifier_string_list a1, core::identifier_string_list a2)
typecheck_builder mcrl2::process::detail::make_typecheck_builder(data::data_type_checker &data_typechecker, const data::detail::variable_context &variables, const detail::process_context &process_identifiers, const detail::action_context &action_context, const process_identifier *current_equation = nullptr)
bool mcrl2::process::detail::multi_actions_contains(const core::identifier_string_list &a, const action_name_multiset_list &A)
std::ostream &mcrl2::process::detail::operator<<(std::ostream &out, const std::pair<core::identifier_string, data::sort_expression_list> &x)