This module supports the configuration of the analysis system and provides access to some values in Config file.
It also provides an operation to get the port number of the analysis server (which is implicitly started if necessary).
Author: Michael Hanus
Version: December 2024
systemBanner
:: String
The banner of the CASS system. |
baseDir
:: String
The base directory of the analysis tool containing all programs and documentations. |
docDir
:: String
The directory containing the documentations of the various analyses. |
executableName
:: String
The name of the main executable. |
getServerAddress
:: IO String
The address of the server when it is connected from the worker clients. |
waitTime
:: Int
timeout for network message passing: -1 is wait time infinity |
defaultCConfig
:: CConfig
The default configuration has no properties and is quiet. |
debugLevel
:: CConfig -> DLevel
Returns the debug level from the current configuration. |
setDebugLevel
:: Int -> CConfig -> CConfig
Returns the debug level from the current configuration. |
useCurryInfo
:: CConfig -> Bool
Returns the curryinfo flag from the current configuration. |
fixpointMethod
:: CConfig -> String
Returns the fixpoint computation method from Config file |
withPrelude
:: CConfig -> Bool
Gets the option to analyze also the prelude from Config file |
getDefaultPath
:: CConfig -> IO String
Gets the default load path from the property file (added at the end of CURRYPATH). |
numberOfWorkers
:: CConfig -> Int
number of worker threads running at the same time |
readRCFile
:: IO CConfig
Reads the rc file (and try to install a user copy of it if it does not exist) and returns its definition. |
updateProperty
:: String -> String -> CConfig -> CConfig
Updates a property. |
storeServerPortNumber
:: Int -> IO ()
Stores the current server port number together with the pid of the server process. |
removeServerPortNumber
:: IO ()
Removes the currently stored server port number. |
Configuration info used during execution of CASS. It contains the properties from the rc file and the current debug level.
Constructors:
CConfig
:: [(String,String)] -> DLevel -> CConfig
Fields:
ccProps
:: [(String,String)]
ccDebugLevel
:: DLevel
The banner of the CASS system. |
The base directory of the analysis tool containing all programs and documentations. It is used to copy the configuration file, to the find executables of the server and the workers, and to find the documentation of the various analyses.
|
The directory containing the documentations of the various analyses. |
The name of the main executable. Used to start workers in
|
The address of the server when it is connected from the worker clients. |
timeout for network message passing: -1 is wait time infinity |
The default configuration has no properties and is quiet.
|
Returns the debug level from the current configuration.
|
Returns the debug level from the current configuration.
|
Returns the curryinfo flag from the current configuration. |
Returns the fixpoint computation method from Config file |
Gets the option to analyze also the prelude from Config file |
Gets the default load path from the property file (added at the end of CURRYPATH). |
number of worker threads running at the same time |
Reads the rc file (and try to install a user copy of it if it does not exist) and returns its definition. Additionally, the definitions are compared with the default property file of the CASS distribution. If the set of variables is different, the rc file of the user is updated with the distribution but the user's definitions are kept. |
Updates a property. |
Stores the current server port number together with the pid of the server process. |
Removes the currently stored server port number. |