mcrl2/process/parse.h

Include file:

#include "mcrl2/process/parse.h"

Parse function for process specifications.

Functions

process::action_label_list 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(), const process_identifier *current_equation = nullptr)
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)

Parses a process specification from an input stream.

Parameters:

  • in An input stream

Returns: The parse result

process_specification mcrl2::process::parse_process_specification(const std::string &spec_string)

Parses a process specification from a string.

Parameters:

  • spec_string A string

Returns: The parse result

Functions

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