Copyright | (c) 2005 Martin Engelke 2007 Sebastian Fischer 2011 - 2016 Björn Peemöller 2016 - 2017 Finn Teegen 2018 Kai-Oliver Prott |
---|---|
License | BSD-3-clause |
Maintainer | fte@informatik.uni-kiel.de |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
CompilerOpts
Description
This module defines data structures holding options for the compilation of Curry programs, and utility functions for printing help information as well as parsing the command line arguments.
Synopsis
- data Options = Options {
- optMode :: CymakeMode
- optVerbosity :: Verbosity
- optForce :: Bool
- optLibraryPaths :: [FilePath]
- optImportPaths :: [FilePath]
- optHtmlDir :: Maybe FilePath
- optUseSubdir :: Bool
- optInterface :: Bool
- optPrepOpts :: PrepOpts
- optWarnOpts :: WarnOpts
- optTargetTypes :: [TargetType]
- optExtensions :: [KnownExtension]
- optDebugOpts :: DebugOpts
- optCaseMode :: CaseMode
- optCppOpts :: CppOpts
- data CppOpts = CppOpts {
- cppRun :: Bool
- cppDefinitions :: Map String Int
- data PrepOpts = PrepOpts {
- ppPreprocess :: Bool
- ppCmd :: String
- ppOpts :: [String]
- data WarnOpts = WarnOpts {
- wnWarn :: Bool
- wnWarnFlags :: [WarnFlag]
- wnWarnAsError :: Bool
- data DebugOpts = DebugOpts {
- dbDumpLevels :: [DumpLevel]
- dbDumpEnv :: Bool
- dbDumpRaw :: Bool
- dbDumpAllBindings :: Bool
- dbDumpSimple :: Bool
- data CaseMode
- data CymakeMode
- data Verbosity
- data TargetType
- data WarnFlag
- data KnownExtension
- data DumpLevel
- = DumpCondCompiled
- | DumpParsed
- | DumpExtensionChecked
- | DumpTypeSyntaxChecked
- | DumpKindChecked
- | DumpSyntaxChecked
- | DumpPrecChecked
- | DumpDeriveChecked
- | DumpInstanceChecked
- | DumpTypeChecked
- | DumpExportChecked
- | DumpQualified
- | DumpDerived
- | DumpDesugared
- | DumpDictionaries
- | DumpNewtypes
- | DumpSimplified
- | DumpLifted
- | DumpTranslated
- | DumpCaseCompleted
- | DumpTypedFlatCurry
- | DumpFlatCurry
- dumpLevel :: [(DumpLevel, String, String)]
- defaultOptions :: Options
- defaultPrepOpts :: PrepOpts
- defaultWarnOpts :: WarnOpts
- defaultDebugOpts :: DebugOpts
- getCompilerOpts :: IO (String, Options, [String], [String])
- updateOpts :: Options -> [String] -> (Options, [String], [String])
- usage :: String -> String
Documentation
Compiler options
Constructors
Options | |
Fields
|
C preprocessor options
Constructors
CppOpts | |
Fields
|
Preprocessor options
Constructors
PrepOpts | |
Fields
|
Warning options
Constructors
WarnOpts | |
Fields
|
Debug options
Constructors
DebugOpts | |
Fields
|
Constructors
CaseModeFree | |
CaseModeHaskell | |
CaseModeProlog | |
CaseModeGoedel |
data CymakeMode Source #
Modus operandi of the program
Constructors
ModeHelp | Show help information and exit |
ModeVersion | Show version and exit |
ModeNumericVersion | Show numeric version, suitable for later processing |
ModeMake | Compile with dependencies |
Instances
Eq CymakeMode Source # | |
Defined in CompilerOpts | |
Show CymakeMode Source # | |
Defined in CompilerOpts Methods showsPrec :: Int -> CymakeMode -> ShowS show :: CymakeMode -> String showList :: [CymakeMode] -> ShowS |
Verbosity level
Constructors
VerbQuiet | be quiet |
VerbStatus | show status of compilation |
data TargetType Source #
Type of the target file
Constructors
Tokens | Source code tokens |
Comments | Source code comments |
Parsed | Parsed source code |
FlatCurry | FlatCurry |
TypedFlatCurry | Typed FlatCurry |
TypeAnnotatedFlatCurry | Type-annotated FlatCurry |
AbstractCurry | AbstractCurry |
UntypedAbstractCurry | Untyped AbstractCurry |
Html | HTML documentation |
AST | Abstract-Syntax-Tree after checks |
ShortAST | Abstract-Syntax-Tree with shortened decls |
Instances
Eq TargetType Source # | |
Defined in CompilerOpts | |
Show TargetType Source # | |
Defined in CompilerOpts Methods showsPrec :: Int -> TargetType -> ShowS show :: TargetType -> String showList :: [TargetType] -> ShowS |
Warnings flags
Constructors
WarnMultipleImports | Warn for multiple imports |
WarnDisjoinedRules | Warn for disjoined function rules |
WarnUnusedGlobalBindings | Warn for unused global bindings |
WarnUnusedBindings | Warn for unused local bindings |
WarnNameShadowing | Warn for name shadowing |
WarnOverlapping | Warn for overlapping rules/alternatives |
WarnIncompletePatterns | Warn for incomplete pattern matching |
WarnMissingSignatures | Warn for missing type signatures |
WarnMissingMethods | Warn for missing method implementations |
WarnOrphanInstances | Warn for orphan instances |
WarnIrregularCaseMode |
Instances
Bounded WarnFlag Source # | |
Defined in CompilerOpts | |
Enum WarnFlag Source # | |
Defined in CompilerOpts | |
Eq WarnFlag Source # | |
Show WarnFlag Source # | |
data KnownExtension Source #
Known language extensions of Curry.
Constructors
AnonFreeVars | anonymous free variables |
CPP | C preprocessor |
FunctionalPatterns | functional patterns |
NegativeLiterals | negative literals |
NoImplicitPrelude | no implicit import of the prelude |
Instances
Dump level
Constructors
DumpCondCompiled | dump source code after conditional compiling |
DumpParsed | dump source code after parsing |
DumpExtensionChecked | dump source code after extension checking |
DumpTypeSyntaxChecked | dump source code after type syntax checking |
DumpKindChecked | dump source code after kind checking |
DumpSyntaxChecked | dump source code after syntax checking |
DumpPrecChecked | dump source code after precedence checking |
DumpDeriveChecked | dump source code after derive checking |
DumpInstanceChecked | dump source code after instance checking |
DumpTypeChecked | dump source code after type checking |
DumpExportChecked | dump source code after export checking |
DumpQualified | dump source code after qualification |
DumpDerived | dump source code after deriving |
DumpDesugared | dump source code after desugaring |
DumpDictionaries | dump source code after dictionary transformation |
DumpNewtypes | dump source code after removing newtype constructors |
DumpSimplified | dump source code after simplification |
DumpLifted | dump source code after lambda-lifting |
DumpTranslated | dump IL code after translation |
DumpCaseCompleted | dump IL code after case completion |
DumpTypedFlatCurry | dump typed FlatCurry code |
DumpFlatCurry | dump FlatCurry code |
Instances
Bounded DumpLevel Source # | |
Defined in CompilerOpts | |
Enum DumpLevel Source # | |
Eq DumpLevel Source # | |
Show DumpLevel Source # | |
defaultOptions :: Options Source #
Default compiler options
defaultPrepOpts :: PrepOpts Source #
Default preprocessor options
defaultWarnOpts :: WarnOpts Source #
Default warning options
defaultDebugOpts :: DebugOpts Source #
Default dump options
getCompilerOpts :: IO (String, Options, [String], [String]) Source #
Retrieve the compiler Options