-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | some modules specific for the ProB tool -- @package CSPM-ToProlog @version 0.5.2.0 -- | Translation of an AST into Prolog terms, suitable for the ProB -- CSPM-Interpreter module Language.CSPM.CompileAstToProlog -- | Translate a LModule into a Doc containing a number of -- Prolog facts. The LModule must be a renamed,i.e. contain only unique -- Identifier. cspToProlog :: ModuleFromRenaming -> Doc -- | Translate a AstAnnotation with UnqiueIdentifier (i.e. a -- Symboltable) into a Doc containing Prolog facts mkSymbolTable :: AstAnnotation UniqueIdent -> Doc -- | Translate a source location to Prolog mkSrcLoc :: SrcLoc -> Term -- | Convert an AST to Prolog. An experiment with the new GHC-Generic -- extentions This would be more compact with SYB. module Language.CSPM.AstToProlog toProlog :: TP d => d -> Doc instance [overlap ok] GTPL U1 instance [overlap ok] GTP U1 instance [overlap ok] GTPL V1 instance [overlap ok] GTP V1 instance [overlap ok] TP t => GTPL (K1 R t) instance [overlap ok] TP t => GTP (K1 R t) instance [overlap ok] (GTPL t, Selector c) => GTPL (M1 S c t) instance [overlap ok] (GTP t, Selector c) => GTP (M1 S c t) instance [overlap ok] (GTPL t, Constructor c) => GTPL (M1 C c t) instance [overlap ok] (GTP t, Constructor c) => GTP (M1 C c t) instance [overlap ok] (GTPL t, Datatype r) => GTPL (M1 D r t) instance [overlap ok] (GTP t, Datatype r) => GTP (M1 D r t) instance [overlap ok] (GTPL l, GTPL r) => GTPL (l :+: r) instance [overlap ok] (GTP l, GTP r) => GTP (l :+: r) instance [overlap ok] (GTPL a, GTPL b) => GTPL (a :*: b) instance [overlap ok] (GTP a, GTP b) => GTP (a :*: b) instance [overlap ok] TP UniqueIdent instance [overlap ok] TP Selector instance [overlap ok] TP FunCase instance [overlap ok] TP Const instance [overlap ok] TP Bool instance [overlap ok] TP e => TP (IntMap e) instance [overlap ok] TP e => TP (Array Int e) instance [overlap ok] TP Int instance [overlap ok] TP Integer instance [overlap ok] (TP a, TP b) => TP (a, b) instance [overlap ok] TP f => TP (Maybe f) instance [overlap ok] TP f => TP [f] instance [overlap ok] TP [Char] instance [overlap ok] TP SrcLoc instance [overlap ok] TP Comment instance [overlap ok] TP ModuleFromRenaming instance [overlap ok] TPL FdrExt instance [overlap ok] TPL FDRModels instance [overlap ok] TPL TauRefineOp instance [overlap ok] TPL RefineOp instance [overlap ok] TPL [Labeled CompGen] instance [overlap ok] TPL CommField instance [overlap ok] TPL BuiltIn instance [overlap ok] TPL Link instance [overlap ok] TPL Rename instance [overlap ok] TPL LinkList instance [overlap ok] TPL CompGen instance [overlap ok] TPL Range instance [overlap ok] TPL TypeDef instance [overlap ok] TPL Constructor instance [overlap ok] TPL AssertDecl instance [overlap ok] TPL UniqueIdent instance [overlap ok] TPL Exp instance [overlap ok] TPL Pattern instance [overlap ok] TPL Ident instance [overlap ok] TPL Decl instance [overlap ok] TPL f => TP (Labeled f) -- | Translate a CSPM-specification to Prolog. This is the interface used -- by Prolog module Language.CSPM.TranslateToProlog -- | The version of the CSPM-ToProlog library toPrologVersion :: Version -- | translateToProlog reads a CSPM specification from inFile and -- writes the Prolog representation to outFile. It handles all lexer and -- parser errors and catches all exceptions. translateToProlog :: FilePath -> FilePath -> IO ()