From e46bcefeb766d69abff503074ba45e9b15ed28a9 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Thu, 23 Aug 2007 15:18:11 +0000 Subject: [PATCH] Rain: added parsing of input statements --- RainParse.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/RainParse.hs b/RainParse.hs index 771fba8..1ab5e88 100644 --- a/RainParse.hs +++ b/RainParse.hs @@ -220,8 +220,10 @@ each = do { m <- sPareach ; sLeftR ; n <- name ; sColon ; exp <- expression ; sR return $ A.Seq m $ A.Rep m (A.ForEach m n exp) $ A.OnlyP m st } comm :: RainParser A.Process -comm = do { lv <- lvalue ; sOut ; exp <- expression ; sSemiColon ; - return $ A.Output (findMeta lv) lv [A.OutExpression (findMeta exp) exp] } +comm = do { lv <- lvalue ; + do {sOut ; exp <- expression ; sSemiColon ; return $ A.Output (findMeta lv) lv [A.OutExpression (findMeta exp) exp] } + <|> do {sIn ; rv <- lvalue ; sSemiColon ; return $ A.Input (findMeta lv) lv $ A.InputSimple (findMeta rv) [A.InVariable (findMeta rv) rv] } + } statement :: RainParser A.Process statement