mCRL2
Loading...
Searching...
No Matches
mcrl2::process::detail::typecheck_builder Struct Reference

#include <typecheck.h>

Inheritance diagram for mcrl2::process::detail::typecheck_builder:
mcrl2::process::process_expression_builder< typecheck_builder > mcrl2::process::add_process_expressions< Builder, Derived >

Public Types

typedef process_expression_builder< typecheck_buildersuper
 
- Public Types inherited from mcrl2::process::add_process_expressions< Builder, Derived >
typedef Builder< Derived > super
 

Public Member Functions

 typecheck_builder (data::data_type_checker &data_typechecker, const data::detail::variable_context &variable_context, const detail::process_context &process_context, const detail::action_context &action_context, const process_identifier *current_equation=nullptr)
 
data::sorts_list action_sorts (const core::identifier_string &name)
 
void check_action_declared (const core::identifier_string &a, const process_expression &x)
 
void check_actions_declared (const core::identifier_string_list &act_list, const process_expression &x)
 
template<typename Container >
void check_not_empty (const Container &c, const std::string &msg, const process_expression &x)
 
template<typename T >
void check_not_equal (const T &first, const T &second, const std::string &msg, const process_expression &x)
 
void check_rename_common_type (const core::identifier_string &a, const core::identifier_string &b, const process_expression &x)
 
bool is_action_name (const core::identifier_string &name)
 
bool is_process_name (const core::identifier_string &name)
 
action typecheck_action (const core::identifier_string &name, const data::data_expression_list &parameters)
 
process_instance typecheck_process_instance (const core::identifier_string &name, const data::data_expression_list &parameters)
 
std::string print_untyped_process_assignment (const untyped_process_assignment &x) const
 
void check_assignments (const process_identifier &P, const process_identifier &Q, const std::vector< data::assignment > &assignments, const untyped_process_assignment &x) const
 
template<class T >
void apply (T &result, const untyped_process_assignment &x)
 
template<class T >
void apply (T &result, const data::untyped_data_parameter &x)
 
template<class T >
void apply (T &result, const process::action &x)
 
template<class T >
void apply (T &result, const process::hide &x)
 
template<class T >
void apply (T &result, const process::block &x)
 
template<class T >
void apply (T &result, const process::rename &x)
 
template<class T >
void apply (T &result, const process::comm &x)
 
template<class T >
void apply (T &result, const process::allow &x)
 
template<class T >
void apply (T &result, const process::at &x)
 
template<class T >
void apply (T &result, const process::if_then &x)
 
template<class T >
void apply (T &result, const process::if_then_else &x)
 
template<class T >
void apply (T &result, const process::sum &x)
 
template<class T >
void apply (T &result, const process::stochastic_operator &x)
 
- Public Member Functions inherited from mcrl2::process::add_process_expressions< Builder, Derived >
void update (process::process_specification &x)
 
template<class T >
void apply (T &result, const process::process_equation &x)
 
template<class T >
void apply (T &result, const process::action &x)
 
template<class T >
void apply (T &result, const process::process_instance &x)
 
template<class T >
void apply (T &result, const process::process_instance_assignment &x)
 
template<class T >
void apply (T &result, const process::delta &x)
 
template<class T >
void apply (T &result, const process::tau &x)
 
template<class T >
void apply (T &result, const process::sum &x)
 
template<class T >
void apply (T &result, const process::block &x)
 
template<class T >
void apply (T &result, const process::hide &x)
 
template<class T >
void apply (T &result, const process::rename &x)
 
template<class T >
void apply (T &result, const process::comm &x)
 
template<class T >
void apply (T &result, const process::allow &x)
 
template<class T >
void apply (T &result, const process::sync &x)
 
template<class T >
void apply (T &result, const process::at &x)
 
template<class T >
void apply (T &result, const process::seq &x)
 
template<class T >
void apply (T &result, const process::if_then &x)
 
template<class T >
void apply (T &result, const process::if_then_else &x)
 
template<class T >
void apply (T &result, const process::bounded_init &x)
 
template<class T >
void apply (T &result, const process::merge &x)
 
template<class T >
void apply (T &result, const process::left_merge &x)
 
template<class T >
void apply (T &result, const process::choice &x)
 
template<class T >
void apply (T &result, const process::stochastic_operator &x)
 
template<class T >
void apply (T &result, const process::untyped_process_assignment &x)
 
template<class T >
void apply (T &result, const process::process_expression &x)
 

Static Public Member Functions

static bool has_empty_intersection (const data::sorts_list &s1, const data::sorts_list &s2)
 
static std::map< core::identifier_string, data::data_expressionmake_assignment_map (const data::untyped_identifier_assignment_list &assignments)
 

Public Attributes

data::data_type_checkerm_data_type_checker
 
data::detail::variable_context m_variable_context
 
const detail::process_contextm_process_context
 
const detail::action_contextm_action_context
 
const process_identifierm_current_equation
 

Detailed Description

Definition at line 129 of file typecheck.h.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ typecheck_builder()

mcrl2::process::detail::typecheck_builder::typecheck_builder ( data::data_type_checker data_typechecker,
const data::detail::variable_context variable_context,
const detail::process_context process_context,
const detail::action_context action_context,
const process_identifier current_equation = nullptr 
)
inline

Definition at line 140 of file typecheck.h.

Member Function Documentation

◆ action_sorts()

data::sorts_list mcrl2::process::detail::typecheck_builder::action_sorts ( const core::identifier_string name)
inline

Definition at line 153 of file typecheck.h.

◆ apply() [1/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const data::untyped_data_parameter x 
)
inline

Definition at line 345 of file typecheck.h.

◆ apply() [2/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::action x 
)
inline

Definition at line 363 of file typecheck.h.

◆ apply() [3/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::allow x 
)
inline

Definition at line 486 of file typecheck.h.

◆ apply() [4/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::at x 
)
inline

Definition at line 513 of file typecheck.h.

◆ apply() [5/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::block x 
)
inline

Definition at line 379 of file typecheck.h.

◆ apply() [6/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::comm x 
)
inline

Definition at line 408 of file typecheck.h.

◆ apply() [7/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::hide x 
)
inline

Definition at line 369 of file typecheck.h.

◆ apply() [8/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::if_then x 
)
inline

Definition at line 520 of file typecheck.h.

◆ apply() [9/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::if_then_else x 
)
inline

Definition at line 527 of file typecheck.h.

◆ apply() [10/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::rename x 
)
inline

Definition at line 387 of file typecheck.h.

◆ apply() [11/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::stochastic_operator x 
)
inline

Definition at line 555 of file typecheck.h.

◆ apply() [12/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const process::sum x 
)
inline

Definition at line 537 of file typecheck.h.

◆ apply() [13/13]

template<class T >
void mcrl2::process::detail::typecheck_builder::apply ( T &  result,
const untyped_process_assignment x 
)
inline

Definition at line 285 of file typecheck.h.

◆ check_action_declared()

void mcrl2::process::detail::typecheck_builder::check_action_declared ( const core::identifier_string a,
const process_expression x 
)
inline

Definition at line 158 of file typecheck.h.

◆ check_actions_declared()

void mcrl2::process::detail::typecheck_builder::check_actions_declared ( const core::identifier_string_list act_list,
const process_expression x 
)
inline

Definition at line 166 of file typecheck.h.

◆ check_assignments()

void mcrl2::process::detail::typecheck_builder::check_assignments ( const process_identifier P,
const process_identifier Q,
const std::vector< data::assignment > &  assignments,
const untyped_process_assignment x 
) const
inline

Definition at line 264 of file typecheck.h.

◆ check_not_empty()

template<typename Container >
void mcrl2::process::detail::typecheck_builder::check_not_empty ( const Container &  c,
const std::string &  msg,
const process_expression x 
)
inline

Definition at line 180 of file typecheck.h.

◆ check_not_equal()

template<typename T >
void mcrl2::process::detail::typecheck_builder::check_not_equal ( const T &  first,
const T &  second,
const std::string &  msg,
const process_expression x 
)
inline

Definition at line 189 of file typecheck.h.

◆ check_rename_common_type()

void mcrl2::process::detail::typecheck_builder::check_rename_common_type ( const core::identifier_string a,
const core::identifier_string b,
const process_expression x 
)
inline

Definition at line 204 of file typecheck.h.

◆ has_empty_intersection()

static bool mcrl2::process::detail::typecheck_builder::has_empty_intersection ( const data::sorts_list s1,
const data::sorts_list s2 
)
inlinestatic

Definition at line 197 of file typecheck.h.

◆ is_action_name()

bool mcrl2::process::detail::typecheck_builder::is_action_name ( const core::identifier_string name)
inline

Definition at line 227 of file typecheck.h.

◆ is_process_name()

bool mcrl2::process::detail::typecheck_builder::is_process_name ( const core::identifier_string name)
inline

Definition at line 232 of file typecheck.h.

◆ make_assignment_map()

static std::map< core::identifier_string, data::data_expression > mcrl2::process::detail::typecheck_builder::make_assignment_map ( const data::untyped_identifier_assignment_list assignments)
inlinestatic

Definition at line 212 of file typecheck.h.

◆ print_untyped_process_assignment()

std::string mcrl2::process::detail::typecheck_builder::print_untyped_process_assignment ( const untyped_process_assignment x) const
inline

Definition at line 250 of file typecheck.h.

◆ typecheck_action()

action mcrl2::process::detail::typecheck_builder::typecheck_action ( const core::identifier_string name,
const data::data_expression_list parameters 
)
inline

Definition at line 237 of file typecheck.h.

◆ typecheck_process_instance()

process_instance mcrl2::process::detail::typecheck_builder::typecheck_process_instance ( const core::identifier_string name,
const data::data_expression_list parameters 
)
inline

Definition at line 242 of file typecheck.h.

Member Data Documentation

◆ m_action_context

const detail::action_context& mcrl2::process::detail::typecheck_builder::m_action_context

Definition at line 137 of file typecheck.h.

◆ m_current_equation

const process_identifier* mcrl2::process::detail::typecheck_builder::m_current_equation

Definition at line 138 of file typecheck.h.

◆ m_data_type_checker

data::data_type_checker& mcrl2::process::detail::typecheck_builder::m_data_type_checker

Definition at line 134 of file typecheck.h.

◆ m_process_context

const detail::process_context& mcrl2::process::detail::typecheck_builder::m_process_context

Definition at line 136 of file typecheck.h.

◆ m_variable_context

data::detail::variable_context mcrl2::process::detail::typecheck_builder::m_variable_context

Definition at line 135 of file typecheck.h.


The documentation for this struct was generated from the following file: