dfs3(+Arcs:list, +VisitedIn:list, -VisitedOut:list, +Path:list, +Negations:int, +OlonIn:list, -OlonOut:list, +OrdIn:list, -OrdOut:list, +PosIn:list, -PosOut:list) is det[private]
The main traversal. Traverse each arc for a node, but don't recursively search previously visited nodes.
Arguments:
Arcs- The list of arcs in the call graph that originate at the last node in the current path.
VisitedIn- Input list of visited nodes with negation, so that we only visit each node at most once for each negation option: no negation, odd negation and even negation. Elements are of the form v(X, N), where X is the node and N is 0 = no negations, 1 = odd negs or 2 = even > 0 negs.
VisitedOut- Output list of visited nodes.
Path- List of arcs forming the path currently being examined.
Negations- 0 = no negations, 1 = odd negs or 2 = even > 0 negs
OlonIn- Input list of paths containing OLONs.
OlonOut- Output list of paths containing OLONs.
OrdIn- Input list of ordinary paths.
OrdOut- Output list of ordinary paths.
PosIn- Input list of paths with cycles and no negations.
PosOut- Output list of paths with cycles and no negations.