hw11: exercise 2 - spaces and ident
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Sun, 28 Dec 2014 08:19:34 +0000 (13:49 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Sun, 28 Dec 2014 08:19:34 +0000 (13:49 +0530)
hw11/SExpr.hs

index c3f7d70f757a8cc7e00ac31f33b882974d6df8e7..b70683a583a4275278ab6d416eee9b78f7d12795 100644 (file)
@@ -6,6 +6,7 @@ module SExpr where
 
 import AParser
 import Control.Applicative
+import Data.Char(isSpace, isAlpha, isAlphaNum)
 
 ------------------------------------------------------------
 --  1. Parsing repetitions
@@ -29,10 +30,10 @@ oneOrMore p = liftA2 (:) p (zeroOrMore p)
 ------------------------------------------------------------
 
 spaces :: Parser String
-spaces = undefined
+spaces = zeroOrMore (satisfy isSpace)
 
 ident :: Parser String
-ident = undefined
+ident = liftA2 (:) (satisfy isAlpha) (zeroOrMore (satisfy isAlphaNum))
 
 ------------------------------------------------------------
 --  3. Parsing S-expressions