mcrl2/process/parse.h

Include file:

#include "mcrl2/process/parse.h"

Parse function for process specifications.

Classes

  • mcrl2::process::detail::process_actions
  • mcrl2::process::untyped_process_specification

Functions

process::action_label_list mcrl2::process::parse_action_declaration(const std::string &text, const data::data_specification &data_spec = data::detail::default_specification())

Parses an action declaration from a string.

Parameters:

  • text A string containing an action declaration
  • data_spec A data specification used for sort normalization

Returns: A list of action labels exception * mcrl2::runtime_error when the input does not match the syntax of an action declaration.

process_expression mcrl2::process::parse_process_expression(const std::string &text, const std::string &data_decl, const std::string &proc_decl)

Parses and type checks a process expression.

Parameters:

  • text The input text containing a process expression.
  • data_decl A declaration of data and actions (“glob m:Nat; act a:Nat;”).
  • proc_decl A process declaration (“proc P(n: Nat);”).
process_expression mcrl2::process::parse_process_expression(const std::string &text, const std::string &procspec_text)

Parses and type checks a process expression.

Parameters:

  • text The input text containing a process expression.
  • procspec_text A textual version of a process specification used as context
process_expression mcrl2::process::parse_process_expression(const std::string &text, const VariableContainer &variables, const process_specification &procspec)

Parses and type checks a process expression. N.B. Very inefficient!

process_expression mcrl2::process::parse_process_expression(const std::string &text, const VariableContainer &variables = VariableContainer(), const data::data_specification &dataspec = data::data_specification(), const ActionLabelContainer &action_labels = std::vector< action_label >(), const ProcessIdentifierContainer &process_identifiers = ProcessIdentifierContainer())
process_identifier mcrl2::process::parse_process_identifier(std::string text, const data::data_specification &dataspec)

Parses a process identifier.

process_specification mcrl2::process::parse_process_specification(std::istream &in, bool alpha_reduce = false)

Parses a process specification from an input stream.

Parameters:

  • in An input stream
  • alpha_reduce Indicates whether alphabet reductions need to be performed

Returns: The parse result

process_specification mcrl2::process::parse_process_specification(const std::string &spec_string, bool alpha_reduce = false)

Parses a process specification from a string.

Parameters:

  • spec_string A string
  • alpha_reduce Indicates whether alphabet reductions needdto be performed

Returns: The parse result

Functions

void mcrl2::process::detail::complete_process_specification(process_specification &x, bool alpha_reduce = false)
process_expression mcrl2::process::detail::parse_process_expression_new(const std::string &text)
process_specification mcrl2::process::detail::parse_process_specification_new(const std::string &text)