| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Language.Clafer.Intermediate.Desugarer
Description
Transforms an Abstract Syntax Tree (AST) from Language.Clafer.Front.AbsClafer into Intermediate representation (IR) from Language.Clafer.Intermediate.Intclafer of a Clafer model.
- desugarModule :: Maybe String -> Module -> IModule
 - sugarModule :: IModule -> Module
 - desugarEnums :: Declaration -> [Declaration]
 - desugarDeclaration :: Declaration -> [IElement]
 - sugarDeclaration :: IElement -> Declaration
 - desugarClafer :: Clafer -> [IElement]
 - getPExpClaferIdent :: SetExp -> String
 - sugarClafer :: IClafer -> Clafer
 - desugarSuper :: Super -> Maybe PExp
 - desugarReference :: Reference -> Maybe IReference
 - desugarInit :: PosIdent -> Init -> [IElement]
 - desugarInitHow :: InitHow -> Bool
 - desugarName :: Name -> IExp
 - desugarModId :: ModId -> Result
 - sugarModId :: String -> ModId
 - sugarSuper :: Maybe PExp -> Super
 - sugarReference :: Maybe IReference -> Reference
 - sugarInitHow :: Bool -> InitHow
 - desugarConstraint :: Constraint -> PExp
 - desugarSoftConstraint :: SoftConstraint -> PExp
 - desugarGoal :: Goal -> PExp
 - sugarConstraint :: PExp -> Constraint
 - sugarSoftConstraint :: PExp -> SoftConstraint
 - sugarGoal :: PExp -> Goal
 - desugarAbstract :: Abstract -> Bool
 - sugarAbstract :: Bool -> Abstract
 - desugarElements :: Elements -> [IElement]
 - sugarElements :: [IElement] -> Elements
 - desugarElement :: Element -> [IElement]
 - sugarElement :: IElement -> Element
 - desugarGCard :: GCard -> Maybe IGCard
 - isOptionalDef :: NCard -> Bool
 - isExIntegerAst :: ExInteger -> Bool
 - sugarGCard :: Maybe IGCard -> GCard
 - desugarCard :: Card -> Maybe Interval
 - desugarNCard :: NCard -> (Integer, Integer)
 - desugarExInteger :: ExInteger -> Integer
 - sugarCard :: Maybe Interval -> Card
 - sugarExInteger :: Integer -> ExInteger
 - desugarExp :: Exp -> PExp
 - desugarExp' :: Exp -> IExp
 - desugarOp :: (a -> PExp) -> String -> [a] -> IExp
 - desugarSetExp :: SetExp -> PExp
 - desugarSetExp' :: SetExp -> IExp
 - sugarExp :: PExp -> Exp
 - sugarExp' :: IExp -> Exp
 - sugarSetExp :: PExp -> SetExp
 - sugarSetExp' :: IExp -> SetExp
 - desugarPath :: PExp -> PExp
 - isSetExp :: IExp -> Bool
 - reducePExp :: PExp -> PExp
 - reduceIExp :: IExp -> IExp
 - reduceNav :: IExp -> IExp
 - desugarDecl :: Bool -> Decl -> IDecl
 - sugarDecl :: IDecl -> Decl
 - desugarLocId :: LocId -> String
 - sugarLocId :: String -> LocId
 - desugarQuant :: Quant -> IQuant
 - sugarQuant :: IQuant -> Quant
 
Documentation
desugarModule :: Maybe String -> Module -> IModule Source
Transform the AST into the intermediate representation (IR)
sugarModule :: IModule -> Module Source
desugarEnums :: Declaration -> [Declaration] Source
desugars enumeration to abstract and global singleton features
desugarDeclaration :: Declaration -> [IElement] Source
desugarClafer :: Clafer -> [IElement] Source
getPExpClaferIdent :: SetExp -> String Source
sugarClafer :: IClafer -> Clafer Source
desugarSuper :: Super -> Maybe PExp Source
desugarInit :: PosIdent -> Init -> [IElement] Source
desugarInitHow :: InitHow -> Bool Source
desugarName :: Name -> IExp Source
desugarModId :: ModId -> Result Source
sugarModId :: String -> ModId Source
sugarSuper :: Maybe PExp -> Super Source
sugarInitHow :: Bool -> InitHow Source
desugarGoal :: Goal -> PExp Source
sugarConstraint :: PExp -> Constraint Source
desugarAbstract :: Abstract -> Bool Source
sugarAbstract :: Bool -> Abstract Source
desugarElements :: Elements -> [IElement] Source
sugarElements :: [IElement] -> Elements Source
desugarElement :: Element -> [IElement] Source
sugarElement :: IElement -> Element Source
desugarGCard :: GCard -> Maybe IGCard Source
isOptionalDef :: NCard -> Bool Source
isExIntegerAst :: ExInteger -> Bool Source
sugarGCard :: Maybe IGCard -> GCard Source
desugarCard :: Card -> Maybe Interval Source
desugarNCard :: NCard -> (Integer, Integer) Source
sugarExInteger :: Integer -> ExInteger Source
desugarExp :: Exp -> PExp Source
desugarExp' :: Exp -> IExp Source
desugarSetExp :: SetExp -> PExp Source
desugarSetExp' :: SetExp -> IExp Source
sugarSetExp :: PExp -> SetExp Source
sugarSetExp' :: IExp -> SetExp Source
desugarPath :: PExp -> PExp Source
reducePExp :: PExp -> PExp Source
reduceIExp :: IExp -> IExp Source
desugarDecl :: Bool -> Decl -> IDecl Source
desugarLocId :: LocId -> String Source
sugarLocId :: String -> LocId Source
desugarQuant :: Quant -> IQuant Source
sugarQuant :: IQuant -> Quant Source