mcrl2::process::process_type_checker

Include file:

#include "mcrl2/process/typecheck.h
class mcrl2::process::process_type_checker

Protected attributes

detail::action_context m_action_context
data::data_type_checker m_data_type_checker
detail::process_context m_process_context
data::detail::variable_context m_variable_context

Protected member functions

std::vector<process_identifier> equation_identifiers(const std::vector<process_equation> &equations)
process_expression typecheck_process_expression(const data::detail::variable_context &variables, const process_expression &x)

Public member functions

process_expression operator()(const process_expression &x)

Type check a process expression. Throws a mcrl2::runtime_error exception if the expression is not well typed.

Parameters:

  • x A process expression that has not been type checked.

Returns: a process expression where all untyped identifiers have been replace by typed ones.Typecheck the pbes pbesspec

void operator()(process_specification &procspec)

Typecheck the process specification procspec.

process_type_checker(const data::data_specification &dataspec, const VariableContainer &variables, const ActionLabelContainer &action_labels, const ProcessIdentifierContainer &process_identifiers)
process_type_checker(const data::data_specification &dataspec = data::data_specification())

Default constructor.