Copyright | uni-bremen and DFKI |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | r.pascanu@jacobs-university.de |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
CMDL.Utils contains different basic functions that are used throughout the CMDL interface and could not be found in Prelude
- decomposeIntoGoals :: String -> ([String], [String], [String], [String])
- obtainNodeList :: [String] -> [LNode DGNodeLab] -> ([String], [LNode DGNodeLab])
- createEdgeNames :: [LNode DGNodeLab] -> [LEdge DGLinkLab] -> [(String, LEdge DGLinkLab)]
- obtainEdgeList :: [String] -> [String] -> [LNode DGNodeLab] -> [LEdge DGLinkLab] -> ([String], [LEdge DGLinkLab])
- obtainGoalEdgeList :: [String] -> [String] -> [LNode DGNodeLab] -> [LEdge DGLinkLab] -> ([String], [LEdge DGLinkLab])
- finishedNames :: [String] -> String -> ([String], String)
- stripComments :: String -> String
- lastChar :: String -> Char
- lastString :: [String] -> String
- safeTail :: [a] -> [a]
- fileFilter :: String -> [String] -> [String] -> IO [String]
- fileExtend :: String -> [String] -> [String] -> IO [String]
- prettyPrintErrList :: [String] -> String
- edgeContainsGoals :: LEdge DGLinkLab -> Bool
- isOpenConsEdge :: LEdge DGLinkLab -> Bool
- checkIntString :: String -> Bool
- delExtension :: String -> String
- arrowLink :: DGLinkLab -> String
Documentation
decomposeIntoGoals :: String -> ([String], [String], [String], [String])
Given a string the function decomposes it into 4 lists, one for node goals, the other for edges, the third for numbered edges and the last for names that could not be processed due to errors
obtainNodeList :: [String] -> [LNode DGNodeLab] -> ([String], [LNode DGNodeLab])
Given a list of node names and the list of all nodes the function returns all the nodes that have their name in the name list
createEdgeNames :: [LNode DGNodeLab] -> [LEdge DGLinkLab] -> [(String, LEdge DGLinkLab)]
Given a list of edges and the complete list of all edges computes not only the names of edges but also the numbered name of edges
obtainEdgeList :: [String] -> [String] -> [LNode DGNodeLab] -> [LEdge DGLinkLab] -> ([String], [LEdge DGLinkLab])
Given a list of edge names and numbered edge names and the list of all nodes and edges the function identifies the edges that appear in the name lists
obtainGoalEdgeList :: [String] -> [String] -> [LNode DGNodeLab] -> [LEdge DGLinkLab] -> ([String], [LEdge DGLinkLab])
Giben a listof edgenamesand numbered edge names and the list of all nodes and edges the function identifies the edges that appearin the name list and are also goals
finishedNames :: [String] -> String -> ([String], String)
check if edges are to be completed in the presence of nodes
stripComments :: String -> String
Function that given a string removes comments contained in the string
The function behaves exactly like last just that in case of an empty list returns the space character (it works only for lists of chars)
lastString :: [String] -> String
The function behaves exactly like last just that in case of an empty list returns the empty string (it is meant only for list of strings)
safeTail :: [a] -> [a]
The function behaves exactly as tail just that in the case of empty list returns an empty list instead of an error
fileFilter :: String -> [String] -> [String] -> IO [String]
Given a list of files and folders the function filters only directory names and files ending in extenstion .casl or .het
fileExtend :: String -> [String] -> [String] -> IO [String]
Given a list of files and folders the function expands the list adding the content of all folders in the list
prettyPrintErrList :: [String] -> String
The function nicely outputs a list of errors
edgeContainsGoals :: LEdge DGLinkLab -> Bool
Given an edge decides if it contains goals or not
isOpenConsEdge :: LEdge DGLinkLab -> Bool
Given an edge: does it contain an open conservativity goal or not
checkIntString :: String -> Bool
Checks if a string represents a int or not
delExtension :: String -> String