From 75cc16003a1bf1cbb97a2dbb907af05ec8a5bb7a Mon Sep 17 00:00:00 2001 From: Pedro Furlanetto Date: Tue, 3 Sep 2019 20:52:13 -0400 Subject: [PATCH 1/4] More tolerance towards meanless spaces. Fixes https://github.com/sandrolovnicki/pLam/issues/11 --- src/Parser.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Parser.hs b/src/Parser.hs index 1eb55a5..1ff67d2 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -37,6 +37,7 @@ identifier = Token.identifier lexer reserved = Token.reserved lexer reservedOp = Token.reservedOp lexer parens = Token.parens lexer +comma = Token.comma lexer ------------------------------------------------------------------------------------- type Parser = Parsec String () @@ -86,13 +87,14 @@ createList (x:xs) = Abstraction (LambdaVar 'f' 0) (Abstraction (LambdaVar 'l' 0) parseList :: Parser Expression parseList = do reservedOp "[" - exprs <- parseExpression `sepBy` (char ',') + exprs <- parseExpression `sepBy` (comma) reservedOp "]" return $ createList exprs parseNumeral :: Parser Expression parseNumeral = do strNum <- many1 digit + spaces let intNum = read strNum :: Int maybeB <- optionMaybe (char 'b') case maybeB == (Just 'b') of From de4c170fab8034567697b69fb134d5c5e6afe537 Mon Sep 17 00:00:00 2001 From: Pedro Furlanetto Date: Tue, 3 Sep 2019 21:13:43 -0400 Subject: [PATCH 2/4] Yet more tolerance torwards meaningless spaces. Fixes https://github.com/sandrolovnicki/pLam/issues/10 Tried to preserve as much style as possible. --- src/Parser.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Parser.hs b/src/Parser.hs index 1ff67d2..a2aa80a 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -133,8 +133,11 @@ parseSingleton = parseList <|> parens parseApplication parseExpression :: Parser Expression -parseExpression = parseApplication - <|> parseSingleton +parseExpression = do + spaces + expr <- parseApplication <|> parseSingleton + spaces + return expr ------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- From 90df057779681bb5ff65b9ce622b5292bcd457d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20Lovni=C4=8Dki?= Date: Wed, 4 Sep 2019 19:17:24 +0200 Subject: [PATCH 3/4] src/Parser: [cleanup] --- src/Parser.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Parser.hs b/src/Parser.hs index a2aa80a..91d053a 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -27,7 +27,6 @@ languageDef = , "\\" , "[" , "]" - , "," ] } @@ -87,7 +86,7 @@ createList (x:xs) = Abstraction (LambdaVar 'f' 0) (Abstraction (LambdaVar 'l' 0) parseList :: Parser Expression parseList = do reservedOp "[" - exprs <- parseExpression `sepBy` (comma) + exprs <- parseExpression `sepBy` comma reservedOp "]" return $ createList exprs From 44a2b1f3bf71d78880f9fdda39ce815fedce6756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20Lovni=C4=8Dki?= Date: Wed, 4 Sep 2019 19:18:34 +0200 Subject: [PATCH 4/4] [update] version to 2.1.1 --- app/Main.hs | 2 +- pLam.cabal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Main.hs b/app/Main.hs index b105b23..6f1a0b6 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -14,7 +14,7 @@ import System.Environment import System.Directory (doesFileExist) -version = "2.1.0" +version = "2.1.1" heading = "\x1b[1;36m\ \ _\n\ \ | |\n\ diff --git a/pLam.cabal b/pLam.cabal index 0be408f..997f0f7 100644 --- a/pLam.cabal +++ b/pLam.cabal @@ -1,5 +1,5 @@ name: pLam -version: 2.1.0 +version: 2.1.1 -- synopsis: -- description: homepage: https://github.com/sandrolovnicki/pLam#readme