man toegevoegd, mapjes gemaakt, bijna klaar voor inleveren
[cc1516.git] / src / yard.dcl
index dff75d9..7d08a9c 100644 (file)
@@ -6,8 +6,9 @@ from StdClass import class Eq
 from Data.Functor import class Functor
 from Control.Monad import class Monad
 from Control.Applicative import class Applicative, class Alternative
 from Data.Functor import class Functor
 from Control.Monad import class Monad
 from Control.Applicative import class Applicative, class Alternative
+import Data.Void
 
 
-:: Error = ParseError | LexError String | Unexpected String Int
+:: Error = PositionalError Int Int String | Error String
 :: Parser a b = Parser ([a] -> (Either Error b, [a]))
 
 instance Functor (Parser a)
 :: Parser a b = Parser ([a] -> (Either Error b, [a]))
 
 instance Functor (Parser a)
@@ -17,10 +18,15 @@ instance Alternative (Parser a)
 
 instance toString Error
 
 
 instance toString Error
 
+
 runParser :: (Parser a b) [a] -> (Either Error b, [a])
 runParser :: (Parser a b) [a] -> (Either Error b, [a])
-(<?>) :: (Parser a b) (String, Int) -> Parser a b
+(<?>) :: (Parser a b) Error -> Parser a b
 fail :: Parser a b
 top :: Parser a a
 fail :: Parser a b
 top :: Parser a a
+peek :: Parser a a
 satisfy :: (a -> Bool) -> Parser a a
 satisfy :: (a -> Bool) -> Parser a a
+check :: (a -> Bool) -> Parser a a
+(until) infix 2 :: (Parser a b) (Parser a c) -> Parser a [b]
 item :: a -> Parser a a | Eq a
 list :: [a] -> Parser a [a] | Eq a
 item :: a -> Parser a a | Eq a
 list :: [a] -> Parser a [a] | Eq a
+eof :: Parser a Void