projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
White space only
[ghc-hetmet.git]
/
compiler
/
cmm
/
CmmLex.x
diff --git
a/compiler/cmm/CmmLex.x
b/compiler/cmm/CmmLex.x
index
22741f8
..
0a19290
100644
(file)
--- a/
compiler/cmm/CmmLex.x
+++ b/
compiler/cmm/CmmLex.x
@@
-11,8
+11,9
@@
-----------------------------------------------------------------------------
{
-----------------------------------------------------------------------------
{
+{-# LANGUAGE BangPatterns #-}
{-# OPTIONS -Wwarn -w #-}
{-# 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
-- 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,9
+23,7
@@
module CmmLex (
CmmToken(..), cmmlex,
) where
CmmToken(..), cmmlex,
) where
-#include "HsVersions.h"
-
-import Cmm
+import OldCmm
import Lexer
import SrcLoc
import Lexer
import SrcLoc
@@
-76,7
+75,7
@@
$white_no_nl+ ;
-- single-line line pragmas, of the form
-- # <line> "<file>" <extra-stuff> \n
<line_prag> $digit+ { setLine line_prag1 }
-- single-line line pragmas, of the form
-- # <line> "<file>" <extra-stuff> \n
<line_prag> $digit+ { setLine line_prag1 }
-<line_prag1> \" ($printable # \")* \" { setFile line_prag2 }
+<line_prag1> \" [^\"]* \" { setFile line_prag2 }
<line_prag2> .* { pop }
<0> {
<line_prag2> .* { pop }
<0> {
@@
-269,7
+268,7
@@
tok_string str = CmmT_String (read str)
setLine :: Int -> Action
setLine code span buf len = do
let line = parseUnsignedInteger buf len 10 octDecDigit
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
-- subtract one: the line number refers to the *following* line
-- trace ("setLine " ++ show line) $ do
popLexState
@@
-300,7
+299,7
@@
lexToken = do
sc <- getLexState
case alexScan inp sc of
AlexEOF -> do let span = mkSrcSpan loc1 loc1
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
return (L span CmmT_EOF)
AlexError (loc2,_) -> do failLocMsgP loc1 loc2 "lexical error"
AlexSkip inp2 _ -> do
@@
-309,7
+308,7
@@
lexToken = do
AlexToken inp2@(end,buf2) len t -> do
setInput inp2
let span = mkSrcSpan loc1 end
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
-- -----------------------------------------------------------------------------
t span buf len
-- -----------------------------------------------------------------------------