Encode-1.3.7: Encoding character data

CopyrightPeter Ljunglof 2002
LicenseGPL
Maintainerotakar-smrz users.sf.net
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

PureFP.Parsers.Parser

Description

Chapters 3 and 4 of Pure Functional Parsing – an advanced tutorial by Peter Ljunglöf

http://www.ling.gu.se/~peb/pubs/p02-lic-thesis.pdf

http://www.ling.gu.se/~peb/software/functional-parsing/

Documentation

class Parser m s | m -> s where Source

Minimal complete definition

parse

Methods

parse :: m a -> [s] -> [([s], a)] Source

parseFull :: m a -> [s] -> [a] Source

Instances

Parser (Standard s) s 
Parser (Stream s) s 
Ord s => Parser (Trie s) s 
Ord s => Parser (AmbTrie s) s 
Ord s => Parser (ExTrie s) s 
Ord s => Parser (AmbExTrie s) s 
Ord s => Parser (ParserTrie s) s 
Ord s => Parser (Mapper s) s 
ExtEnv e => Parser (Extend e s) s 
(Ord s, Parser m s) => Parser (PairTrie m s) s 
ExtEnv e => Parser (Extend e s) s 

class Monoid m where Source

Minimal complete definition

zero, (<+>)

Methods

zero :: m a Source

(<+>) :: m a -> m a -> m a infixl 2 Source

anyof :: [m a] -> m a Source

Instances

Monoid (Standard s) 
Monoid (Stream s) 
Ord s => Monoid (Trie s) 
Ord s => Monoid (AmbTrie s) 
Ord s => Monoid (ExTrie s) 
Ord s => Monoid (AmbExTrie s) 
Ord s => Monoid (ParserTrie s) 
Ord s => Monoid (Mapper s) 
Monoid (Extend e s) 
(Ord s, Monoid m, Lookahead m s) => Monoid (PairTrie m s) 
Monoid (Extend e s) 

class (Monad m, Functor m) => Sequence m where Source

Minimal complete definition

Nothing

Methods

(<*>) :: m (a -> b) -> m a -> m b infixl 3 Source

(*>) :: m a -> m b -> m b infixl 3 Source

Instances

Sequence (Standard s) 
Sequence (Stream s) 
Ord s => Sequence (Trie s) 
Ord s => Sequence (AmbTrie s) 
Ord s => Sequence (ExTrie s) 
Ord s => Sequence (AmbExTrie s) 
Ord s => Sequence (Mapper s) 
Sequence (Extend e s) 
(Ord s, Monoid m, Sequence m, Lookahead m s) => Sequence (PairTrie m s) 
Sequence (Extend e s) 

class Eq s => Symbol m s | m -> s where Source

Minimal complete definition

sat

Methods

sym :: s -> m s Source

sat :: (s -> Bool) -> m s Source

skip :: m s Source

Instances

Eq s => Symbol (Standard s) s 
Eq s => Symbol (Stream s) s 
InputSymbol s => Symbol (Trie s) s 
InputSymbol s => Symbol (AmbTrie s) s 
InputSymbol s => Symbol (ExTrie s) s 
InputSymbol s => Symbol (AmbExTrie s) s 
InputSymbol s => Symbol (Mapper s) s 
Eq s => Symbol (Extend e s) s 
(InputSymbol s, Monoid m, Symbol m s, Lookahead m s) => Symbol (PairTrie m s) s 
Eq s => Symbol (Extend e s) s 

class Ord s => InputSymbol s where Source

Methods

minSym, maxSym :: s Source

symbols :: [s] Source

class Eq s => SymbolCont m s | m -> s where Source

Methods

satCont :: (s -> Bool) -> (s -> m a) -> m a Source

Instances

Eq s => SymbolCont (Standard s) s 
Eq s => SymbolCont (Stream s) s 
Eq s => SymbolCont (Extend e s) s 

class Lookahead m s | m -> s where Source

Methods

lookahead :: ([s] -> m a) -> m a Source

Instances

success :: Monad m => m () Source

many0 :: (Monoid m, Sequence m) => m a -> m () Source

syms0 :: (Sequence m, Symbol m s) => [s] -> m () Source

(<:>) :: Sequence m => m a -> m [a] -> m [a] infixr 4 Source

many :: (Monoid m, Sequence m) => m a -> m [a] Source

syms :: (Sequence m, Symbol m s) => [s] -> m [s] Source