mulang-3.5.2: src/Language/Mulang/Inspector/Procedural.hs
module Language.Mulang.Inspector.Procedural (
usesRepeat,
usesWhile,
usesSwitch,
declaresProcedure) where
import Language.Mulang.Ast
import Language.Mulang.Identifier
import Language.Mulang.Inspector.Generic
declaresProcedure :: IdentifierPredicate -> Inspection
declaresProcedure = containsBoundDeclaration f
where f (Procedure _ _) = True
f _ = False
-- | Inspection that tells whether an expression uses while
-- in its definition
usesWhile :: Inspection
usesWhile = containsExpression f
where f (While _ _) = True
f _ = False
-- | Inspection that tells whether an expression uses Switch
-- in its definition
usesSwitch :: Inspection
usesSwitch = containsExpression f
where f (Switch _ _) = True
f _ = False
-- | Inspection that tells whether an expression uses reoeat
-- in its definition
usesRepeat :: Inspection
usesRepeat = containsExpression f
where f (Repeat _ _) = True
f _ = False