Commit b30c3723 authored by Dr. Michael Petter's avatar Dr. Michael Petter

clarified immutability

parent 582cfb69
......@@ -87,6 +87,13 @@ It offers informations like programstates, beginstate, endstate, and transitions
between the states. Normally, You do not have to touch this one directly, instead
rely on the fixpoint engine:
## Program Transformations
The CFG structure package is designed based on edges, whose static data (i.e. label,
e.g. lhs/rhs of an assignment) is immutable after construction. In case of manipulation
of the CFG, the programmer is supposed to introduce new edges and delete old ones.
## Fixpoint engine
For the fixpoint-engine, you need to create your own class:
......@@ -6,8 +6,12 @@ import petter.cfg.Visitor;
import java.util.Map;
import java.util.HashMap;
* represents an edge in a CFG
* abstract class for all kinds of CFGEdge
* represents an edge in a CFG; abstract class for all kinds of CFGEdge
* edges are supposed to be immutable wrt. their static
* properties (e.g. lhs and rhs for assignments). Transformations on
* the CFG are supposed to introduce new edges either directly or via
* the TransitionFactory
* @see petter.cfg.TransitionFactory
public abstract class Transition implements, Analyzable{
protected State source;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment