X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fgenprimopcode%2FSyntax.hs;h=5fe4e0b23e42f2c94425f697deb9350f83bdd17c;hb=1f7ab811c4421458568b0ed900b496192fee885b;hp=64e7875a40113f37ee646e54da968ab583e7af06;hpb=03ffa2bfa6c31dc6bcdcacecc2bdb3bbabd800a9;p=ghc-hetmet.git diff --git a/utils/genprimopcode/Syntax.hs b/utils/genprimopcode/Syntax.hs index 64e7875..5fe4e0b 100644 --- a/utils/genprimopcode/Syntax.hs +++ b/utils/genprimopcode/Syntax.hs @@ -40,6 +40,7 @@ data Option = OptionFalse String -- name = False | OptionTrue String -- name = True | OptionString String String -- name = { ... unparsed stuff ... } + | OptionInteger String Int -- name = deriving Show -- categorises primops @@ -109,8 +110,8 @@ sane_ty Compare (TyF t1 (TyF t2 td)) | t1 == t2 && td == TyApp "Bool" [] = True sane_ty Monadic (TyF t1 td) | t1 == td = True -sane_ty Dyadic (TyF t1 (TyF t2 _)) - | t1 == t2 && t2 == t2 = True +sane_ty Dyadic (TyF t1 (TyF t2 td)) + | t1 == td && t2 == td = True sane_ty GenPrimOp _ = True sane_ty _ _ @@ -120,6 +121,7 @@ get_attrib_name :: Option -> String get_attrib_name (OptionFalse nm) = nm get_attrib_name (OptionTrue nm) = nm get_attrib_name (OptionString nm _) = nm +get_attrib_name (OptionInteger nm _) = nm lookup_attrib :: String -> [Option] -> Maybe Option lookup_attrib _ [] = Nothing