summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqrczak <unknown>2001-03-04 11:18:03 +0000
committerqrczak <unknown>2001-03-04 11:18:03 +0000
commita45096d650b6212273bbbc5c92c66c5c921412b0 (patch)
treee7d5fac9b05c6b50123af0668005c0e4c9d2d4d9
parent874d309255f603878dc31144c59a28d9dbca000f (diff)
downloadhaskell-a45096d650b6212273bbbc5c92c66c5c921412b0.tar.gz
[project @ 2001-03-04 11:18:03 by qrczak]
Fix #{stuff} parsing when stuff contains end of line.
-rw-r--r--ghc/utils/hsc2hs/Main.hs12
1 files changed, 6 insertions, 6 deletions
diff --git a/ghc/utils/hsc2hs/Main.hs b/ghc/utils/hsc2hs/Main.hs
index 58d31a091b..f103d4c235 100644
--- a/ghc/utils/hsc2hs/Main.hs
+++ b/ghc/utils/hsc2hs/Main.hs
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.23 2001/03/01 20:32:51 qrczak Exp $
+-- $Id: Main.hs,v 1.24 2001/03/04 11:18:03 qrczak Exp $
--
-- (originally "GlueHsc.hs" by Marcin 'Qrczak' Kowalczyk)
--
@@ -145,19 +145,19 @@ special = do
pos <- getPosition
char '#'
skipMany (oneOf " \t")
- keyArg pos <|> do
+ keyArg pos pzero <|> do
char '{'
skipMany (oneOf " \t")
- sp <- keyArg pos
+ sp <- keyArg pos (string "\n")
char '}'
return sp
-keyArg :: SourcePos -> Parser Token
-keyArg pos = do
+keyArg :: SourcePos -> Parser String -> Parser Token
+keyArg pos eol = do
key <- liftM2 (:) (letter <|> char '_') (many (alphaNum <|> char '_'))
<?> "hsc directive"
skipMany (oneOf " \t")
- arg <- argument pzero
+ arg <- argument eol
return (Special pos key arg)
argument :: Parser String -> Parser String