Comments kunnen nu eindigen met een EOF ipv newline
authorpimjager <pim@pimjager.nl>
Tue, 1 Mar 2016 10:25:49 +0000 (11:25 +0100)
committerpimjager <pim@pimjager.nl>
Tue, 1 Mar 2016 10:25:49 +0000 (11:25 +0100)
src/example.spl
src/lex.icl
src/yard.dcl

index 58d037e..2a1f3ab 100644 (file)
@@ -93,3 +93,4 @@ squareOddNumbers(list) :: [Int] -> [Int] {
        }
        return list;
 }
+//deze comment eindigt met EOF ipv newline
\ No newline at end of file
index fd4b564..63a14e0 100644 (file)
@@ -21,7 +21,7 @@ lexProgram = some lexToken <* many (satisfy isSpace) <* eof
 lexToken :: Parser Char TokenValue
 lexToken = 
     //Comments
-    (list (fromString "//") >>| until top (item '\n') >>| lexToken) <|>
+    (list (fromString "//") >>| until top ((item '\n' >>| return Void) <|> eof) >>| lexToken) <|>
     (list (fromString "/*") >>| until top (list (fromString "*/")) >>| lexToken) <|>
        //Keyword tokens
        (lexKw "var" VarToken) <|>
index 38ce368..bc4f940 100644 (file)
@@ -18,6 +18,8 @@ instance Alternative (Parser a)
 
 instance toString Error
 
+//(`until`) infix 1
+
 runParser :: (Parser a b) [a] -> (Either Error b, [a])
 (<?>) :: (Parser a b) (String, Int) -> Parser a b
 fail :: Parser a b