The main function of the Curry Preprocessor. |
The Curry Preprocessor transforms the source code of Curry programs.
Currently, only the translation of foreign code integrated in Curry code
is supported (option foreigncode
, see module Translator
).
Author: Michael Hanus
Version: April 2023
cppBanner
:: String |
parseTarget
:: String -> Maybe PPTarget |
initOpts
:: PPOpts |
main
:: IO () The main function of the Curry Preprocessor. |
processOptions
:: PPOpts -> [String] -> Maybe PPOpts |
showUsage
:: [String] -> IO () |
usageText
:: String |
preprocess
:: PPOpts -> String -> String -> String -> String -> IO () |
callPreprocessors
:: PPOpts -> String -> String -> String -> String -> IO String |
pathToModName
:: String -> String -> (Maybe String,String) Transforms a file path name for a module back into a hierarchical module name since only the file path of a module is passed to the preprocessor. |
replaceOptionsLine
:: String -> String |
isOptionLine
:: String -> Bool |
optionLines
:: String -> String |
Preprocessor targets, i.e., kind of entities to be preprocessed:
Constructors:
ForeignCode
:: PPTarget
DefaultRules
:: PPTarget
Contracts
:: PPTarget
Preprocessor options:
Constructors:
PPOpts
:: Bool -> Bool -> Int -> [PPTarget] -> String -> [String] -> [String] -> PPOpts
Fields:
optHelp
:: Bool
optSave
:: Bool
optVerb
:: Int
optTgts
:: [PPTarget]
optModel
:: String
optDefRules
:: [String]
optContracts
:: [String]
|
|
The main function of the Curry Preprocessor. |
|
|
|
|
|
Transforms a file path name for a module back into a hierarchical module
name since only the file path of a module is passed to the preprocessor.
This is done if the file path name is prefixed by a directory in the
|
|
|
|