-- 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 ()