fsmActions-0.2.0: Finite state machines and FSM actionsSource codeContentsIndex
Data.FsmActions.ActionMatrix
Contents
Input
Output
Description

Serialisation/deserialisation of FSMs and Actions as binary adjacency matrices.

An Action may be represented as an adjacency matrix of 0s and 1s. The rows and columns of the matrix correspond to states of an FSM: a 1 in a cell indicates that the Action causes a transition from the 'row' state to the 'column' state. If any of the rows in the matrix contain more than one 1, the corresponding Action and FSM will be nondeterministic.

Synopsis
parseFsmActionMxFiles :: Ord sy => [(sy, FilePath)] -> IO (FSM sy)
parseActionMxFile :: FilePath -> IO Action
parseActionMx :: String -> ReadMxMonad Action
printActionMx :: Action -> String
Input
parseFsmActionMxFiles :: Ord sy => [(sy, FilePath)] -> IO (FSM sy)Source

Given a list of (symbol, path) pairs, compute an FSM whose actions are read from action matrices in the specified paths, associated with their corresponding symbols.

Note that if the same symbol appears multiple times, only one instance will appear in the FSM; the choice of which appears is not defined.

parseActionMxFile :: FilePath -> IO ActionSource
Read an action matrix from a specified file, and parse it into an Action.
parseActionMx :: String -> ReadMxMonad ActionSource
Parse an action matrix string, and turn it into an Action.
Output
printActionMx :: Action -> StringSource
Pretty-print an action in action matrix format.
Produced by Haddock version 2.4.2