clafer-0.3.7: clafer compiles Clafer models to other formats, such as Alloy, XML, HTML, Dot.

Safe HaskellNone

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.

Synopsis

Documentation

desugarModule :: Module -> IModuleSource

Transform the AST into the intermediate representation (IR)

desugarEnums :: Declaration -> [Declaration]Source

desugars enumeration to abstract and global singleton features

sugarModId :: String -> ModIdSource

desugarNCard :: NCard -> (Integer, Integer)Source

desugarOp :: (a -> PExp) -> String -> [a] -> IExpSource

isSet :: IExp -> BoolSource

sugarLocId :: String -> LocIdSource