Skip to content
Snippets Groups Projects
Commit f8c14fe6 authored by Johannes Mey's avatar Johannes Mey
Browse files

cleanup

parent cfdd9ff3
Branches
No related tags found
No related merge requests found
aspect ConnectedComponents {
// syn Set<State> State.successors() circular [new HashSet<>()] {
// Set<State> result = new HashSet<>();
// for (Transition t : getOutgoingList()) {
// State s = t.getTo();
// result.add(s);
// result.addAll(s.successors());
// }
// return result;
// }
// syn Set<State> State.predecessors() circular [new HashSet<>()] {
// Set<State> result = new HashSet<>();
// for (Transition t : getIncomingList()) {
// State s = t.getFrom();
// result.add(s);
// result.addAll(s.predecessors());
// }
// return result;
// }
// syn boolean State.hasCycle() = successors().contains(this);
// syn Set<State> State.SCC() {
// Set<State> result = new HashSet<>(successors());
// result.retainAll(predecessors());
// return result;
// }
// coll HashSet<Set<State>> StateMachine.SCC() with add root StateMachine;
// State contributes SCC() when SCC().size() > 0 to StateMachine.SCC();
/**
* Kosaraju's algorithm
......
......@@ -17,6 +17,7 @@ aspect NameAnalysis {
return null;
}
// required interface implementation for name analysis in parser
eq StateMachine.globallyResolveStateByToken(String id) = resolveState(id);
eq Element.globallyResolveStateByToken(String id) = containingStateMachine().resolveState(id);
......
aspect ConnectedComponents {
// syn Set<State> State.successors() circular [new HashSet<>()] {
// Set<State> result = new HashSet<>();
// for (Transition t : getOutgoingList()) {
// State s = t.getTo();
// result.add(s);
// result.addAll(s.successors());
// }
// return result;
// }
// syn Set<State> State.predecessors() circular [new HashSet<>()] {
// Set<State> result = new HashSet<>();
// for (Transition t : getIncomingList()) {
// State s = t.getFrom();
// result.add(s);
// result.addAll(s.predecessors());
// }
// return result;
// }
// syn boolean State.hasCycle() = successors().contains(this);
// syn Set<State> State.SCC() {
// Set<State> result = new HashSet<>(successors());
// result.retainAll(predecessors());
// return result;
// }
// coll HashSet<Set<State>> StateMachine.SCC() with add root StateMachine;
// State contributes SCC() when SCC().size() > 0 to StateMachine.SCC();
/**
* Kosaraju's algorithm
......
......@@ -17,6 +17,7 @@ aspect NameAnalysis {
return null;
}
// required interface implementation for name analysis in parser
eq StateMachine.globallyResolveStateByToken(String id) = resolveState(id);
eq Element.globallyResolveStateByToken(String id) = containingStateMachine().resolveState(id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment