From a7515ed727fc7e50ad9a59864f20cb4ddc93fb20 Mon Sep 17 00:00:00 2001 From: Josef Svenningsson Date: Thu, 20 Apr 2006 22:26:25 +0000 Subject: [PATCH] Fixing some lexer errors with extcore --- compiler/parser/LexCore.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/parser/LexCore.hs b/compiler/parser/LexCore.hs index 1a545a3..32ea6a8 100644 --- a/compiler/parser/LexCore.hs +++ b/compiler/parser/LexCore.hs @@ -5,7 +5,8 @@ import Ratio import Char import qualified Numeric( readFloat, readDec ) -isNameChar c = isAlpha c || isDigit c || (c == '_') || (c == '\'') +isNameChar c = isAlpha c || isDigit c || (c == '_') || (c == '\'') + || (c == ':') || (c == '$') isKeywordChar c = isAlpha c || (c == '_') lexer :: (Token -> P a) -> P a @@ -35,6 +36,10 @@ lexer cont ('\\':cs) = cont TKlambda cs lexer cont ('@':cs) = cont TKat cs lexer cont ('?':cs) = cont TKquestion cs lexer cont (';':cs) = cont TKsemicolon cs +-- 20060420 GHC spits out constructors with colon in them nowadays. jds +lexer cont (':':cs) = lexName cont TKcname (':':cs) +-- 20060420 Likewise does it create identifiers starting with dollar. jds +lexer cont ('$':cs) = lexName cont TKname ('$':cs) lexer cont (c:cs) = failP "invalid character" [c] -- 1.7.10.4