summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmLex.x
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cmm/CmmLex.x')
-rw-r--r--compiler/cmm/CmmLex.x14
1 files changed, 13 insertions, 1 deletions
diff --git a/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x
index 82f7bee965..691ca5eb28 100644
--- a/compiler/cmm/CmmLex.x
+++ b/compiler/cmm/CmmLex.x
@@ -22,6 +22,8 @@ module CmmLex (
CmmToken(..), cmmlex,
) where
+import GhcPrelude
+
import CmmExpr
import Lexer
@@ -97,6 +99,10 @@ $white_no_nl+ ;
"&&" { kw CmmT_BoolAnd }
"||" { kw CmmT_BoolOr }
+ "True" { kw CmmT_True }
+ "False" { kw CmmT_False }
+ "likely" { kw CmmT_likely}
+
P@decimal { global_regN (\n -> VanillaReg n VGcPtr) }
R@decimal { global_regN (\n -> VanillaReg n VNonGcPtr) }
F@decimal { global_regN FloatReg }
@@ -178,6 +184,9 @@ data CmmToken
| CmmT_Int Integer
| CmmT_Float Rational
| CmmT_EOF
+ | CmmT_False
+ | CmmT_True
+ | CmmT_likely
deriving (Show)
-- -----------------------------------------------------------------------------
@@ -264,7 +273,10 @@ reservedWordsFM = listToUFM $
( "b512", CmmT_bits512 ),
( "f32", CmmT_float32 ),
( "f64", CmmT_float64 ),
- ( "gcptr", CmmT_gcptr )
+ ( "gcptr", CmmT_gcptr ),
+ ( "likely", CmmT_likely),
+ ( "True", CmmT_True ),
+ ( "False", CmmT_False )
]
tok_decimal span buf len