jukebox-0.2.4: A first-order reasoning toolbox

Safe HaskellSafe
LanguageHaskell98

Jukebox.TPTP.Parsec

Documentation

newtype Parsec a b Source

Constructors

Parsec 

Fields

runParsec :: forall c. (b -> Reply a c -> a -> Reply a c) -> Reply a c -> a -> Reply a c
 

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] 

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

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 

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

userState :: !state
 
userStream :: !stream
 

Instances

Stream a b => Stream (UserState state a) b Source 
type Position (UserState state a) = UserState state a Source 

getState :: Parsec (UserState state a) state Source

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