ParsingBasics
type Var = Char Source #
data Expr Source #
Constructors
data Op Source #
type Parse a b = [a] -> [(b, [a])] Source #
none :: Parse a b Source #
succeed :: b -> Parse a b Source #
token :: Eq a => a -> Parse a a Source #
spot :: (a -> Bool) -> Parse a a Source #
bracket :: Parse Char Char Source #
dig :: Parse Char Char Source #
alt :: Parse a b -> Parse a b -> Parse a b Source #
exam1 :: [(Char, [Char])] Source #
(>*>) :: Parse a b -> Parse a c -> Parse a (b, c) infixr 5 Source #
build :: Parse a b -> (b -> c) -> Parse a c Source #
list :: Parse a b -> Parse a [b] Source #
neList :: Parse a b -> Parse a [b] Source #
optional :: Parse a b -> Parse a [b] Source #
nTimes :: Int -> Parse a b -> Parse a [b] Source #
parser :: Parse Char Expr Source #
varParse :: Parse Char Expr Source #
isVar :: Char -> Bool Source #
opExpParse :: Parse Char Expr Source #
makeExpr :: (a, (Expr, (Char, (Expr, b)))) -> Expr Source #
isOp :: Char -> Bool Source #
charToOp :: Char -> Op Source #
litParse :: Parse Char Expr Source #
charlistToExpr :: [Char] -> Expr Source #
topLevel :: Parse a b -> [a] -> b Source #
data Command Source #
commandParse :: Parse Char Command Source #