|  | 
| | Language.ContextFree.CfgM | | Portability | portable |  | Stability | provisional |  | Maintainer | jas@di.uminho.pt | 
 | 
 | 
|  | 
|  | 
|  | 
| Description | 
| Regular Expressions in Haskell. Code Included in the Lecture Notes on 
Language Processing (with a functional flavour). | 
|  | 
| Synopsis | 
|  | 
| | data Cfg m sy = Cfg {} |  |  |  | type ProdM m sy = (sy, m) |  |  |  | (|->) :: a -> [a] -> [a] |  |  |  | (<$>) :: a -> b -> (a, b) |  |  |  | ($->) :: Monad m => a -> [(a, m ())] -> [(a, m ())] |  |  |  | (<$$>) :: MonadState s m => t -> (s -> s) -> (t, m ()) |  |  |  | (<*>) :: a -> [a] -> [a] |  |  |  | (<$*>) :: Monad m => a -> [(a, m ())] -> [(a, m ())] |  |  |  | exExpa :: MonadState Int m => Cfg (m ()) [Char] |  |  |  |  |  |  |  | exExpb :: MonadState [Exp] m => Cfg (m ()) [Char] |  |  |  | exExpc :: MonadState [Exp] m => Cfg (m ()) [Char] | 
 | 
|  | 
|  | 
| Context-free grammars with actions. | 
|  | 
| data Cfg m sy | 
| | Datatype of context-free grammars with actions. |  | Constructors |  | | Cfg |  |  | | terminals :: [sy] |  |  | nonterminals :: [sy] |  |  | root :: sy |  |  | prods :: [[(sy, m)]] |  | 
 | 
 |  | Instances |  | | (Show sy, ??? m sy) => Show (Cfg m sy) | 
 | 
 | 
|  | 
| type ProdM m sy = (sy, m) | 
| Type synonym for productions with actions | 
|  | 
| (|->) :: a -> [a] -> [a] | 
| Create a production from LHS and RHS. | 
|  | 
| (<$>) :: a -> b -> (a, b) | 
| Create a production with action from a production and an action. | 
|  | 
| ($->) :: Monad m => a -> [(a, m ())] -> [(a, m ())] | 
| Create a production with empty LHS action. | 
|  | 
| (<$$>) :: MonadState s m => t -> (s -> s) -> (t, m ()) | 
| Create a production with a state-modifying action | 
|  | 
| (<*>) :: a -> [a] -> [a] | 
| Construct list of RHS symbols with actions. The first argument
is a symbol with action. | 
|  | 
| (<$*>) :: Monad m => a -> [(a, m ())] -> [(a, m ())] | 
| Construct list of RHS symbols with actions. The first argument
is a symbol without action. | 
|  | 
| Examples | 
|  | 
| exExpa :: MonadState Int m => Cfg (m ()) [Char] | 
|  | 
| data Exp | 
|  | 
|  | 
| exExpb :: MonadState [Exp] m => Cfg (m ()) [Char] | 
|  | 
| exExpc :: MonadState [Exp] m => Cfg (m ()) [Char] | 
|  | 
| Produced by Haddock version 0.6 |