X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FCmmLex.x;h=2bf4ff37a0c352f3b64fa9b5333ce2889317f1bb;hp=c2efd17710110a278b04cfef59182ed2c28742f4;hb=190f24892156953d73b55401d0467a6f1a88ce5d;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x index c2efd17..2bf4ff3 100644 --- a/compiler/cmm/CmmLex.x +++ b/compiler/cmm/CmmLex.x @@ -137,6 +137,7 @@ data CmmToken | CmmT_if | CmmT_jump | CmmT_foreign + | CmmT_prim | CmmT_import | CmmT_switch | CmmT_case @@ -211,6 +212,7 @@ reservedWordsFM = listToUFM $ ( "if", CmmT_if ), ( "jump", CmmT_jump ), ( "foreign", CmmT_foreign ), + ( "prim", CmmT_prim ), ( "import", CmmT_import ), ( "switch", CmmT_switch ), ( "case", CmmT_case ), @@ -274,7 +276,7 @@ lexToken = do sc <- getLexState case alexScan inp sc of AlexEOF -> do let span = mkSrcSpan loc1 loc1 - setLastToken span 0 + setLastToken span 0 0 return (L span CmmT_EOF) AlexError (loc2,_) -> do failLocMsgP loc1 loc2 "lexical error" AlexSkip inp2 _ -> do @@ -283,7 +285,7 @@ lexToken = do AlexToken inp2@(end,buf2) len t -> do setInput inp2 let span = mkSrcSpan loc1 end - span `seq` setLastToken span len + span `seq` setLastToken span len len t span buf len -- -----------------------------------------------------------------------------