repositories
/
cc1516.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sattok mooier
[cc1516.git]
/
src
/
parse.icl
diff --git
a/src/parse.icl
b/src/parse.icl
index
f1c7620
..
e60ad17
100644
(file)
--- a/
src/parse.icl
+++ b/
src/parse.icl
@@
-172,8
+172,14
@@
trans2 t f = satTok t >>= \(_, r).pure (f r)
trans1 :: TokenValue a -> Parser Token a
trans1 t r = trans2 t $ const r
trans1 :: TokenValue a -> Parser Token a
trans1 t r = trans2 t $ const r
+derive gEq TokenValue
satTok :: TokenValue -> Parser Token Token
satTok :: TokenValue -> Parser Token Token
-satTok t = satisfy ((===) t)
+satTok t = satisfy $ eq t
+ where
+ eq (IdentToken _) (_, IdentToken _) = True
+ eq (NumberToken _) (_, NumberToken _) = True
+ eq (CharToken _) (_, CharToken _) = True
+ eq x (_, y) = gEq {|*|} x y
parseSepList :: TokenValue (Parser Token a) -> Parser Token [a]
parseSepList sep p =
parseSepList :: TokenValue (Parser Token a) -> Parser Token [a]
parseSepList sep p =