jukebox-0.3: A first-order reasoning toolbox

Safe HaskellSafe
LanguageHaskell98

Jukebox.TPTP.Parsec

Documentation

newtype Parsec a b Source #

Constructors

Parsec 

Fields

Instances

Monad (Parsec a) Source # 

Methods

(>>=) :: Parsec a a -> (a -> Parsec a b) -> Parsec a b #

(>>) :: Parsec a a -> Parsec a b -> Parsec a b #

return :: a -> Parsec a a #

fail :: String -> Parsec a a #

Functor (Parsec a) Source # 

Methods

fmap :: (a -> b) -> Parsec a a -> Parsec a b #

(<$) :: a -> Parsec a b -> Parsec a a #

Applicative (Parsec a) Source # 

Methods

pure :: a -> Parsec a a #

(<*>) :: Parsec a (a -> b) -> Parsec a a -> Parsec a b #

(*>) :: Parsec a a -> Parsec a b -> Parsec a b #

(<*) :: Parsec a a -> Parsec a b -> Parsec a a #

Alternative (Parsec a) Source # 

Methods

empty :: Parsec a a #

(<|>) :: Parsec a a -> Parsec a a -> Parsec a a #

some :: Parsec a a -> Parsec a [a] #

many :: Parsec a a -> Parsec a [a] #

MonadPlus (Parsec a) Source # 

Methods

mzero :: Parsec a a #

mplus :: Parsec a a -> Parsec a a -> Parsec a a #

type Reply a b = [String] -> Result (Position a) b Source #

data Result a b Source #

Constructors

Ok a b 
Error a String 
Expected a [String] 

nonempty :: Parsec a b -> Parsec a b Source #

skipSome :: Parsec a b -> Parsec a () Source #

skipMany :: Parsec a b -> Parsec a () Source #

(<?>) :: Parsec a b -> String -> Parsec a b infix 0 Source #

between :: Parsec a b -> Parsec a c -> Parsec a d -> Parsec a d Source #

sepBy1 :: Parsec a b -> Parsec a c -> Parsec a [b] Source #

run_ :: Stream a c => Parsec a b -> a -> Result (Position a) b Source #

run :: Stream a c => (Position a -> [String]) -> Parsec a b -> a -> (Position a, Either [String] b) Source #

class Stream a b | a -> b where Source #

Minimal complete definition

primToken, position

Associated Types

type Position a Source #

Methods

primToken :: a -> (a -> b -> c) -> c -> (String -> c) -> c Source #

position :: a -> Position a Source #

Instances

Stream a b => Stream (UserState state a) b Source # 

Associated Types

type Position (UserState state a) :: * Source #

Methods

primToken :: UserState state a -> (UserState state a -> b -> c) -> c -> (String -> c) -> c Source #

position :: UserState state a -> Position (UserState state a) Source #

next :: Stream a b => Parsec a b Source #

cut :: Stream a b => Parsec a () Source #

cut' :: Stream a b => Parsec a c -> Parsec a c Source #

satisfy :: Stream a b => (b -> Bool) -> Parsec a b Source #

eof :: Stream a b => Parsec a () Source #

data UserState state stream Source #

Constructors

UserState 

Fields

Instances

Stream a b => Stream (UserState state a) b Source # 

Associated Types

type Position (UserState state a) :: * Source #

Methods

primToken :: UserState state a -> (UserState state a -> b -> c) -> c -> (String -> c) -> c Source #

position :: UserState state a -> Position (UserState state a) Source #

type Position (UserState state a) Source # 
type Position (UserState state a) = UserState state a

getState :: Parsec (UserState state a) state Source #

putState :: state -> Parsec (UserState state a) () Source #