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
|
|
|
|