repositories
/
cc1516.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
print update, alles liftm
[cc1516.git]
/
src
/
parse.icl
diff --git
a/src/parse.icl
b/src/parse.icl
index
0860819
..
c28fb4c
100644
(file)
--- a/
src/parse.icl
+++ b/
src/parse.icl
@@
-184,7
+184,7
@@
satTok t = top >>= \tok=:(pos, tv) -> if (eq t tok) (return tok) (fail <?> (prin
parseSepList :: TokenValue (Parser Token a) -> Parser Token [a]
parseSepList sep p =
parseSepList :: TokenValue (Parser Token a) -> Parser Token [a]
parseSepList sep p =
- (
some (p <* satTok sep) >>= \es->p >>= \e.pure $ reverse [e:es]
) <|>
+ (
liftM2 (\es->(\e->reverse [e:es])) (some (p <* satTok sep)) p
) <|>
(liftM pure p) <|> pure empty
parseIdent :: Parser Token String
(liftM pure p) <|> pure empty
parseIdent :: Parser Token String
@@
-204,8
+204,8
@@
instance print FunDecl where
print (FunDecl i as t vs ss) =
["\n", i, " (":printersperse "," as] ++
[") :: ":print t] ++
print (FunDecl i as t vs ss) =
["\n", i, " (":printersperse "," as] ++
[") :: ":print t] ++
- ["{":printersperse "\n\t" vs] ++
- ["\n":printStatements ss 1] ++ ["}"]
+ ["{
\n\t
":printersperse "\n\t" vs] ++
+ ["\n":printStatements ss 1] ++ ["}
\n
"]
printStatements :: [Stmt] Int -> [String]
printStatements [] i = []
printStatements :: [Stmt] Int -> [String]
printStatements [] i = []