From 674178d72004921354159f443ac68a1b7930be9d Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 27 Oct 2020 08:34:56 +0530 Subject: basic comment support --- src/Parser.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/Parser.hs') diff --git a/src/Parser.hs b/src/Parser.hs index 94de680..6247843 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -2,11 +2,12 @@ module Parser ( parseLispValue , parseString , parseInt , parseFloat + , parseComment , parseId , parseQuote ) where -import Base (Expr (..), Function) +import Base (Expr (..)) import Control.Applicative ((<$>)) import Text.ParserCombinators.Parsec @@ -62,11 +63,14 @@ parseId = do "#f" -> BoolLiteral False _ -> Id atom +parseComment :: Parser () +parseComment = char ';' >> manyTill anyChar (char '\n') >> return () + whiteSpace :: Parser () -whiteSpace = skipMany1 $ oneOf [' ', '\n'] +whiteSpace = parseComment <|> (skipMany1 $ oneOf [' ', '\n']) optionalWhiteSpace :: Parser () -optionalWhiteSpace = skipMany $ oneOf [' ', '\n'] +optionalWhiteSpace = parseComment <|> (skipMany $ oneOf [' ', '\n']) type Alias = String parseModifier :: String -> Alias -> Parser Expr -- cgit v1.2.3