diff options
Diffstat (limited to 'Sil')
-rw-r--r-- | Sil/Parse.icl | 6 |
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] |