Copyright | (c) 2017-2023 Jim Rogers and Dakotah Lambert |
---|---|
License | MIT |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Extensions | Cpp |
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
.
isAcyclic :: (Ord n, Ord e) => FSA n e -> Bool #
True iff the given FSA contains no reachable cycles.
Since: 1.0
initialsPaths :: (Ord e, Ord n) => FSA n e -> Set (Path n e) #
Initial open list for traversal from initial states.
initialsNDPath :: (Ord e, Ord n) => FSA n e -> Path (Set n) e #
Initial open list for non-deterministic traversal from initial states.
rejectingPaths :: (Ord e, Ord n) => FSA n e -> Integer -> Set (Path n e) #
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) #
All paths from initialsPaths
that do not contain cycles.
extensions :: (Ord e, Ord n) => FSA n e -> Path n e -> Set (Path n e) #
Paths extending a given path by a single edge.