mCRL2
Loading...
Searching...
No Matches
linearise.h
Go to the documentation of this file.
1// Author(s): Jan Friso Groote
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
11
12#ifndef MCRL2_LPS_LINEARISE_H
13#define MCRL2_LPS_LINEARISE_H
14
15#include "mcrl2/data/rewriter.h"
18#include "mcrl2/process/parse.h"
19
20namespace mcrl2
21{
22
23namespace lps
24{
25
28{
33 bool binary;
42 bool balance_summands; // Used to balance long expressions of the shape p1 + p2 + ... + pn. By default the parser delivers
43 // such expressions in a skewed form, causing stack overflow.
45
49 final_cluster(false),
50 newstate(false),
51 binary(false),
52 statenames(false),
53 norewrite(false),
54 noglobalvars(false),
55 nosumelm(false),
56 nodeltaelimination(false),
57 ignore_time(false),
60 balance_summands(false),
61 rewrite_strategy(mcrl2::data::jitty)
62 {}
63};
64
71 const mcrl2::process::process_specification& type_checked_spec,
72 mcrl2::lps::t_lin_options lin_options = t_lin_options());
73
80 const std::string& text,
82{
85 return linearise(spec, lin_options);
86}
87
88} // namespace lps
89
90} // namespace mcrl2
91
92#endif // MCRL2_LPS_LINEARISE_H
Process specification consisting of a data specification, action labels, a sequence of process equati...
The class rewriter.
rewrite_strategy
The strategy of the rewriter.
mcrl2::lps::stochastic_specification linearise(const mcrl2::process::process_specification &type_checked_spec, mcrl2::lps::t_lin_options lin_options=t_lin_options())
Linearises a process specification.
t_lin_method
The available linearisation methods.
process_specification parse_process_specification(std::istream &in)
Parses a process specification from an input stream.
Definition parse.h:43
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
Parse function for process specifications.
Options for linearisation.
Definition linearise.h:28
t_lin_method lin_method
Definition linearise.h:29
mcrl2::data::rewriter::strategy rewrite_strategy
Definition linearise.h:44