aboutsummaryrefslogtreecommitdiff
path: root/Sil/Parse.icl
diff options
context:
space:
mode:
authorCamil Staps2017-07-27 13:23:20 +0200
committerCamil Staps2017-07-27 13:23:20 +0200
commit220601e2f2ec57024e6502e2f4e778c4a99dfe10 (patch)
tree9fc27ef0c3b4504880348dae4c9ef3f93a7868c1 /Sil/Parse.icl
parentResolve #11: special case for Void main (diff)
Resolve #3: comments
Diffstat (limited to 'Sil/Parse.icl')
-rw-r--r--Sil/Parse.icl6
1 files changed, 6 insertions, 0 deletions
diff --git a/Sil/Parse.icl b/Sil/Parse.icl
index d5c97ef..b5e0114 100644
--- a/Sil/Parse.icl
+++ b/Sil/Parse.icl
@@ -68,6 +68,12 @@ tokenise cs = reverse <$> tks cs []
where
tks :: [Char] [Token] -> MaybeError ParseError [Token]
tks [] t = pure t
+ tks ['/':'/':r] t = tks (dropWhile ((<>) '\n') r) t
+ tks ['/':'*':r] t = tks (skipUntilEndOfComment r) t
+ where
+ skipUntilEndOfComment [] = []
+ skipUntilEndOfComment ['*':'/':r] = r
+ skipUntilEndOfComment [_:r] = skipUntilEndOfComment r
tks [':':'=':r] t = tks r [TAssign :t]
tks ['=':'=':r] t = tks r [TDoubleEquals :t]
tks ['|':'|':r] t = tks r [TDoubleBar :t]