X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmLex.x;h=a5defb618ae8bf34e7ac41458e7189bdcc876469;hb=4e0c994eb1613c62e94069642d7acdb2e69b773b;hp=22741f86469b43cd7dc919343166409b1edfa83c;hpb=24d49415d2833a1338dfb5fd8c5c1c84df6c282b;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x index 22741f8..a5defb6 100644 --- a/compiler/cmm/CmmLex.x +++ b/compiler/cmm/CmmLex.x @@ -12,7 +12,7 @@ { {-# OPTIONS -Wwarn -w #-} --- The above warning supression flag is a temporary kludge. +-- The above -Wwarn supression flag is a temporary kludge. -- While working on this module you are encouraged to remove it and fix -- any warnings in the module. See -- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings @@ -22,8 +22,6 @@ module CmmLex ( CmmToken(..), cmmlex, ) where -#include "HsVersions.h" - import Cmm import Lexer @@ -76,7 +74,7 @@ $white_no_nl+ ; -- single-line line pragmas, of the form -- # "" \n $digit+ { setLine line_prag1 } - \" ($printable # \")* \" { setFile line_prag2 } + \" [^\"]* \" { setFile line_prag2 } .* { pop } <0> { @@ -269,7 +267,7 @@ tok_string str = CmmT_String (read str) setLine :: Int -> Action setLine code span buf len = do let line = parseUnsignedInteger buf len 10 octDecDigit - setSrcLoc (mkSrcLoc (srcSpanFile span) (fromIntegral line - 1) 0) + setSrcLoc (mkSrcLoc (srcSpanFile span) (fromIntegral line - 1) 1) -- subtract one: the line number refers to the *following* line -- trace ("setLine " ++ show line) $ do popLexState @@ -300,7 +298,7 @@ lexToken = do sc <- getLexState case alexScan inp sc of AlexEOF -> do let span = mkSrcSpan loc1 loc1 - setLastToken span 0 0 + setLastToken span 0 return (L span CmmT_EOF) AlexError (loc2,_) -> do failLocMsgP loc1 loc2 "lexical error" AlexSkip inp2 _ -> do @@ -309,7 +307,7 @@ lexToken = do AlexToken inp2@(end,buf2) len t -> do setInput inp2 let span = mkSrcSpan loc1 end - span `seq` setLastToken span len len + span `seq` setLastToken span len t span buf len -- -----------------------------------------------------------------------------