mcrl2/data/typecheck.h

Include file:

#include "mcrl2/data/typecheck.h"

add your file description here.

Typedefs

type mcrl2::data::sorts_list

typedef for atermpp::term_list< sort_expression_list >

Functions

data_expression mcrl2::data::typecheck_data_expression(const data_expression &x, const VariableContainer &variables, const data_specification &dataspec = data_specification())

Type check a data expression. Throws an exception if something went wrong.

Parameters:

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

  • variables A container with variables that can occur in the data expression.

  • dataspec The data specification that is used for type checking.

Post: data_expr is type checked.

data_expression mcrl2::data::typecheck_data_expression(const data_expression &x, const data_specification &dataspec = data_specification())

Type check a data expression. Throws an exception if something went wrong.

Parameters:

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

  • dataspec Data specification to be used as context.

Post: data_expr is type checked.

void mcrl2::data::typecheck_data_specification(data_specification &data_spec)

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

Parameters:

  • data_spec A data specification that has not been type checked.

Post: data_spec is type checked.

void mcrl2::data::typecheck_sort_expression(const sort_expression &sort_expr, const data_specification &data_spec)

Type check a sort expression. Throws an exception if something went wrong.

Parameters:

  • sort_expr A sort expression that has not been type checked.

  • data_spec The data specification to use as context.

Post: sort_expr is type checked.

data_expression mcrl2::data::typecheck_untyped_data_parameter(data_type_checker &typechecker, const core::identifier_string &name, const data_expression_list &parameters, const data::sort_expression &expected_sort, const detail::variable_context &variable_context)