Skip to content

Commit ea8873d

Browse files
committed
Add generated docs
1 parent c30f40b commit ea8873d

File tree

2 files changed

+164
-1
lines changed

2 files changed

+164
-1
lines changed

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
purescript-parsing
22
==================
33

4-
A work-in-progress parser combinator library written in PureScript
4+
A work-in-progress parser combinator library written in PureScript.
5+
6+
- [Module documentation](docs/Module.md)
7+
- [Example usage](examples/Test.purs)

docs/Module.md

+160
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Module Documentation
2+
3+
## Module Text.Parsing.Parser
4+
5+
### Types
6+
7+
data ParseError where
8+
ParseError :: { message :: String } -> ParseError
9+
10+
type Parser s a = ParserT s Identity a
11+
12+
data ParserT s m a where
13+
ParserT :: s -> m { consumed :: Boolean, result :: Either ParseError a, input :: s } -> ParserT s m a
14+
15+
16+
### Type Class Instances
17+
18+
instance alternativeParserT :: (Monad m) => Alternative (ParserT s m)
19+
20+
instance applicativeParserT :: (Monad m) => Applicative (ParserT s m)
21+
22+
instance applyParserT :: (Monad m) => Apply (ParserT s m)
23+
24+
instance bindParserT :: (Monad m) => Bind (ParserT s m)
25+
26+
instance errorParseError :: Error ParseError
27+
28+
instance functorParserT :: (Functor m) => Functor (ParserT s m)
29+
30+
instance monadParserT :: (Monad m) => Monad (ParserT s m)
31+
32+
instance monadStateParserT :: (Monad m) => MonadState s (ParserT s m)
33+
34+
instance monadTransParserT :: MonadTrans (ParserT s)
35+
36+
37+
### Values
38+
39+
consume :: forall s m. (Monad m) => ParserT s m { }
40+
41+
fail :: forall m s a. (Monad m) => String -> ParserT s m a
42+
43+
runParser :: forall s a. s -> Parser s a -> Either ParseError a
44+
45+
runParserT :: forall m s a. (Monad m) => s -> ParserT s m a -> m (Either ParseError a)
46+
47+
unParserT :: forall m s a. ParserT s m a -> s -> m { consumed :: Boolean, result :: Either ParseError a, input :: s }
48+
49+
50+
## Module Text.Parsing.Parser.Combinators
51+
52+
### Values
53+
54+
(<?>) :: forall m s a. (Monad m) => ParserT s m a -> String -> ParserT s m a
55+
56+
between :: forall m s a open close. (Monad m) => ParserT s m open -> ParserT s m close -> ParserT s m a -> ParserT s m a
57+
58+
chainl :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> a -> ParserT s m a
59+
60+
chainl1 :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> ParserT s m a
61+
62+
chainl1' :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> a -> ParserT s m a
63+
64+
chainr :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> a -> ParserT s m a
65+
66+
chainr1 :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> ParserT s m a
67+
68+
chainr1' :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m (a -> a -> a) -> a -> ParserT s m a
69+
70+
choice :: forall m s a. (Monad m) => [ParserT s m a] -> ParserT s m a
71+
72+
endBy :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
73+
74+
endBy1 :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
75+
76+
fix :: forall m s a. (ParserT m s a -> ParserT m s a) -> ParserT m s a
77+
78+
fix2 :: forall m s a b. (Tuple (ParserT m s a) (ParserT m s b) -> Tuple (ParserT m s a) (ParserT m s b)) -> Tuple (ParserT m s a) (ParserT m s b)
79+
80+
many :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m [a]
81+
82+
many1 :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m [a]
83+
84+
option :: forall m s a. (Monad m) => a -> ParserT s m a -> ParserT s m a
85+
86+
optionMaybe :: forall m s a. (Functor m, Monad m) => ParserT s m a -> ParserT s m (Maybe a)
87+
88+
optional :: forall m s a. (Monad m) => ParserT s m a -> ParserT s m { }
89+
90+
sepBy :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
91+
92+
sepBy1 :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
93+
94+
sepEndBy :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
95+
96+
sepEndBy1 :: forall m s a sep. (Monad m) => ParserT s m a -> ParserT s m sep -> ParserT s m [a]
97+
98+
try :: forall m s a. (Functor m) => ParserT s m a -> ParserT s m a
99+
100+
101+
## Module Text.Parsing.Parser.Expr
102+
103+
### Types
104+
105+
data Assoc where
106+
AssocNone :: Assoc
107+
AssocLeft :: Assoc
108+
AssocRight :: Assoc
109+
110+
data Operator m s a where
111+
Infix :: ParserT s m (a -> a -> a) -> Assoc -> Operator m s a
112+
Prefix :: ParserT s m (a -> a) -> Operator m s a
113+
Postfix :: ParserT s m (a -> a) -> Operator m s a
114+
115+
type OperatorTable m s a = [[Operator m s a]]
116+
117+
type SplitAccum m s a = { postfix :: [ParserT s m (a -> a)], prefix :: [ParserT s m (a -> a)], nassoc :: [ParserT s m (a -> a -> a)], lassoc :: [ParserT s m (a -> a -> a)], rassoc :: [ParserT s m (a -> a -> a)] }
118+
119+
120+
### Values
121+
122+
buildExprParser :: forall m s a. (Monad m) => OperatorTable m s a -> ParserT s m a -> ParserT s m a
123+
124+
lassocP :: forall m a b c s. (Monad m) => a -> ParserT s m (a -> a -> a) -> ParserT s m (b -> c) -> ParserT s m b -> ParserT s m (c -> a) -> ParserT s m a
125+
126+
lassocP1 :: forall m a b c s. (Monad m) => a -> ParserT s m (a -> a -> a) -> ParserT s m (b -> c) -> ParserT s m b -> ParserT s m (c -> a) -> ParserT s m a
127+
128+
nassocP :: forall m a b c d e s. (Monad m) => a -> ParserT s m (a -> d -> e) -> ParserT s m (b -> c) -> ParserT s m b -> ParserT s m (c -> d) -> ParserT s m e
129+
130+
rassocP :: forall m a b c s. (Monad m) => a -> ParserT s m (a -> a -> a) -> ParserT s m (b -> c) -> ParserT s m b -> ParserT s m (c -> a) -> ParserT s m a
131+
132+
rassocP1 :: forall m a b c s. (Monad m) => a -> ParserT s m (a -> a -> a) -> ParserT s m (b -> c) -> ParserT s m b -> ParserT s m (c -> a) -> ParserT s m a
133+
134+
splitOp :: forall m s a. Operator m s a -> SplitAccum m s a -> SplitAccum m s a
135+
136+
termP :: forall m s a b c. (Monad m) => ParserT s m (a -> b) -> ParserT s m a -> ParserT s m (b -> c) -> ParserT s m c
137+
138+
139+
## Module Text.Parsing.Parser.String
140+
141+
### Values
142+
143+
char :: forall m. (Monad m) => ParserT String m String
144+
145+
eof :: forall m. (Monad m) => ParserT String m { }
146+
147+
satisfy :: forall m. (Monad m) => (String -> Boolean) -> ParserT String m String
148+
149+
string :: forall m. (Monad m) => String -> ParserT String m String
150+
151+
whiteSpace :: forall m. (Monad m) => ParserT String m String
152+
153+
154+
## Module Text.Parsing.Parser.Token
155+
156+
### Types
157+
158+
type LanguageDef s m = { caseSensitive :: Boolean, reservedOpNames :: [String], reservedNames :: [String], opLetter :: ParserT s m String, opStart :: ParserT s m String, identLetter :: ParserT s m String, identStart :: ParserT s m String, nestedComments :: Boolean, commentLine :: String, commentEnd :: String, commentStart :: String }
159+
160+
type TokenParser s m = { commaSep1 :: forall a. ParserT s m a -> ParserT s m [a], commaSep :: forall a. ParserT s m a -> ParserT s m [a], semiSep1 :: forall a. ParserT s m a -> ParserT s m [a], semiSep :: forall a. ParserT s m a -> ParserT s m [a], dot :: ParserT s m String, colon :: ParserT s m String, comma :: ParserT s m String, semi :: ParserT s m String, brackets :: forall a. ParserT s m a -> ParserT s m a, angles :: forall a. ParserT s m a -> ParserT s m a, braces :: forall a. ParserT s m a -> ParserT s m a, parens :: forall a. ParserT s m a -> ParserT s m a, whiteSpace :: ParserT s m { }, lexme :: forall a. ParserT s m a -> ParserT s m a, symbol :: String -> ParserT s m Number, octal :: ParserT s m Number, hexadecimal :: ParserT s m Number, decimal :: ParserT s m Number, naturalOrFloat :: ParserT s m Number, float :: ParserT s m Number, integer :: ParserT s m Number, natural :: ParserT s m Number, stringLiteral :: ParserT s m String, charLiteral :: ParserT s m String, reservedOp :: String -> ParserT s m String, operator :: ParserT s m String, reserved :: String -> ParserT s m String, identifier :: ParserT s m String }

0 commit comments

Comments
 (0)