| Copyright | (c) 2017-2023 Jim Rogers and Dakotah Lambert | 
|---|---|
| License | MIT | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
| Extensions | Cpp | 
LTK.Traversals
Description
Find paths through an automaton.
Synopsis
- data Path n e = Path {}
 - word :: Path n e -> [Symbol e]
 - isAcyclic :: (Ord n, Ord e) => FSA n e -> Bool
 - initialsPaths :: (Ord e, Ord n) => FSA n e -> Set (Path n e)
 - initialsNDPath :: (Ord e, Ord n) => FSA n e -> Path (Set n) e
 - rejectingPaths :: (Ord e, Ord n) => FSA n e -> Integer -> Set (Path n e)
 - acyclicPaths :: (Ord e, Ord n) => FSA n e -> Set (Path n e)
 - extensions :: (Ord e, Ord n) => FSA n e -> Path n e -> Set (Path n e)
 - boundedCycleExtensions :: (Ord e, Ord n) => FSA n e -> Integer -> Path n e -> Set (Path n e)
 - nondeterministicAcyclicExtensions :: (Ord e, Ord n) => FSA n e -> Path (Set n) e -> Set (Path (Set n) e)
 
Documentation
A path through an FSA.
Constructors
| Path | |
isAcyclic :: (Ord n, Ord e) => FSA n e -> Bool Source #
True iff the given FSA contains no reachable cycles.
Since: 1.0
initialsPaths :: (Ord e, Ord n) => FSA n e -> Set (Path n e) Source #
Initial open list for traversal from initial states.
initialsNDPath :: (Ord e, Ord n) => FSA n e -> Path (Set n) e Source #
Initial open list for non-deterministic traversal from initial states.
rejectingPaths :: (Ord e, Ord n) => FSA n e -> Integer -> Set (Path n e) Source #
All paths of length less than or equal to a given bound that do not end in an accepting state.
acyclicPaths :: (Ord e, Ord n) => FSA n e -> Set (Path n e) Source #
All paths from initialsPaths that do not contain cycles.
extensions :: (Ord e, Ord n) => FSA n e -> Path n e -> Set (Path n e) Source #
Paths extending a given path by a single edge.