This module defines a datatype to represent the analysis information.
Author: Heiko Hoffmann, Michael Hanus
Version: April 2021
emptyProgInfo
:: ProgInfo a
The empty program information. |
lookupProgInfo
:: (String,String) -> ProgInfo a -> Maybe a
Gets the information about an entity. |
combineProgInfo
:: ProgInfo a -> ProgInfo a -> ProgInfo a
Combines two analysis informations. |
lists2ProgInfo
:: ([((String,String),a)],[((String,String),a)]) -> ProgInfo a
Converts a public and a private analysis list into a program info. |
publicListFromProgInfo
:: ProgInfo a -> [((String,String),a)]
Returns the infos of public operations as a list. |
progInfo2Lists
:: ProgInfo a -> ([((String,String),a)],[((String,String),a)])
Transforms a program information into a pair of lists containing the information about public and private entities. |
mapProgInfo
:: (a -> b) -> ProgInfo a -> ProgInfo b
Transforms a program information by applying a function to all information entities. |
publicProgInfo
:: ProgInfo a -> ProgInfo a
Transforms a program information into a program information about interface entities only. |
showProgInfo
:: Show a => ProgInfo a -> String
Show a ProgInfo as a string (used for debugging only). |
equalProgInfo
:: Eq a => ProgInfo a -> ProgInfo a -> Bool
|
writeAnalysisFiles
:: Show a => DLevel -> String -> ProgInfo a -> IO ()
Writes a ProgInfo into a file. |
readAnalysisFiles
:: Read a => DLevel -> String -> IO (ProgInfo a)
Reads a ProgInfo from the analysis files where the base file name is given. |
readAnalysisPublicFile
:: Read a => DLevel -> String -> IO (ProgInfo a)
Reads the public ProgInfo from the public analysis file. |
Type to represent analysis information. The first component are public declarations, the second the private ones.
Constructors:
The empty program information.
|
Gets the information about an entity. |
Combines two analysis informations. |
Converts a public and a private analysis list into a program info. |
Returns the infos of public operations as a list. |
Transforms a program information into a pair of lists containing the information about public and private entities. |
Transforms a program information by applying a function to all information entities. |
Transforms a program information into a program information about interface entities only.
|
Show a ProgInfo as a string (used for debugging only). |
|
Writes a ProgInfo into a file. |
Reads a ProgInfo from the analysis files where the base file name is given. |
Reads the public ProgInfo from the public analysis file. |