Comments nu mogelijk
[cc1516.git] / src / yard.dcl
index 266eb75..38ce368 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 | Expected [String]
+:: Error = ParseError | LexError String | Unexpected String Int
 :: 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)
@@ -18,8 +19,13 @@ instance Alternative (Parser a)
 instance toString Error
 
 runParser :: (Parser a b) [a] -> (Either Error b, [a])
 instance toString Error
 
 runParser :: (Parser a b) [a] -> (Either Error b, [a])
+(<?>) :: (Parser a b) (String, Int) -> 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 :: (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