blob: 14dc022eaddd60aaa7328f65a4f99a740186d82e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
definition module Sil.Util.Parser
from StdOverloaded import class ==, class toString
from Control.Applicative import class Applicative, class Alternative
from Control.Monad import class Monad
from Data.Error import :: MaybeError
from Data.Functor import class Functor
from Data.Maybe import :: Maybe
from Sil.Error import :: Error
:: *ParseState a
:: ParsePosition =
{ pp_line :: Int
, pp_token :: Int
}
class getPos a :: a -> ParsePosition
instance getPos ParsePosition
:: ParseInput a
= PI_NewLine
| PI_Token a
makeParseState :: [ParseInput a] -> ParseState a
:: Parser a b = Parser (*(ParseState a) -> *(MaybeError Error b, *ParseState a))
instance Functor (Parser a)
instance Applicative (Parser a)
instance Monad (Parser a)
instance Alternative (Parser a)
class name a :: a -> String
instance name String
runParser :: (Parser a b) *(ParseState a) -> *(MaybeError Error b, *ParseState a)
getPosition :: Parser a ParsePosition
(<?>) :: (Parser a b) Error -> Parser a b
(<#>) :: (Parser a b) String -> Parser a b | toString a
fail :: Parser a b
top :: Parser a a
peek :: 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 | ==, name, toString a
list :: [a] -> Parser a [a] | ==, name, toString a
seplist :: a (Parser a b) -> Parser a [b] | ==, name, toString a
seplistUntil :: a a (Parser a b) -> Parser a [b] | ==, name, toString a
eof :: Parser a () | toString a
|