Module Analysis.ProgInfo

This module defines a datatype to represent the analysis information.

Author: Heiko Hoffmann, Michael Hanus

Version: January 2019

Summary of exported operations:

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.
progInfo2XML :: ProgInfo String -> ([XmlExp],[XmlExp])   
Transforms analysis information into XML format.
mapProgInfo :: (a -> b) -> ProgInfo a -> ProgInfo b   
publicProgInfo :: ProgInfo a -> ProgInfo a   
Transforms a program information into a program information about interface entities only.
showProgInfo :: ProgInfo a -> String   
Show a ProgInfo as a string (used for debugging only).
equalProgInfo :: Eq a => ProgInfo a -> ProgInfo a -> Bool   
writeAnalysisFiles :: String -> ProgInfo a -> IO ()   
Writes a ProgInfo into a file.
readAnalysisFiles :: String -> IO (ProgInfo a)   
Reads a ProgInfo from the analysis files where the base file name is given.
readAnalysisPublicFile :: String -> IO (ProgInfo a)   
Reads the public ProgInfo from the public analysis file.

Exported datatypes:


ProgInfo

Type to represent analysis information. The first component are public declarations, the second the private ones.

Constructors:


Exported operations:

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.

progInfo2XML :: ProgInfo String -> ([XmlExp],[XmlExp])   

Transforms analysis information into XML format.

mapProgInfo :: (a -> b) -> ProgInfo a -> ProgInfo b   

publicProgInfo :: ProgInfo a -> ProgInfo a   

Transforms a program information into a program information about interface entities only.

showProgInfo :: ProgInfo a -> String   

Show a ProgInfo as a string (used for debugging only).

equalProgInfo :: Eq a => ProgInfo a -> ProgInfo a -> Bool   

writeAnalysisFiles :: String -> ProgInfo a -> IO ()   

Writes a ProgInfo into a file.

readAnalysisFiles :: String -> IO (ProgInfo a)   

Reads a ProgInfo from the analysis files where the base file name is given.

readAnalysisPublicFile :: String -> IO (ProgInfo a)   

Reads the public ProgInfo from the public analysis file.