Difference between revisions of "Yhc/Options"

From HaskellWiki
< Yhc
Jump to: navigation, search
(all -<option> changed to --<option>)
(Deleting page that hasn't been updated for over 10 years)
Line 1: Line 1:
Command syntax:
 
yhc [options] file
 
 
file: Name of the source file to compile, i.e. main.hs
 
options: a list of options
 
--flag turn on an option
 
--noflag turn off an option
 
--flag value pass a value as the flag
 
 
Path Options:
 
-I --includes str Include directories
 
-P --preludes str Prelude directories
 
-d --dst str destination path for generated bytecode files (default=.)
 
-i --hidst str destinated path for generated .hi file (default=.)
 
-w --wrapdst str destination path for generated FFI wrapper (default=.)
 
--hide hide object files (default=off)
 
 
Generation Options:
 
--hat compile with Hat debugging support (default=off)
 
--dotnet Generate .NET IL code (default=off)
 
-W --genwrapper generate FFI wrapper (default=off)
 
--hi-suffix str change the default ".hi" suffix (default=hi)
 
--exportall export all identifiers from a module, despite what the
 
export list says (default=off)
 
 
Action Flags:
 
--viewcore str View Core file (.ycr)
 
-c --compile Compile one file only (default=off)
 
 
Compilation Options:
 
--redefine Don't complain if redefining an imported identifier
 
(default=off)
 
--unix Use unix file names (default=on)
 
--unlit Unliterate the source code (default=off)
 
--cpp Pre-process the file first (default=off)
 
--prelude Keep prelude definitions in interface file (default=off)
 
--lib Compiling a lib, don't complain if importing modules with
 
names that differs from their filename. (default=off)
 
--unifyhack Enable nasty type hack that's needed to make the prelude
 
compile ... (default=off)
 
 
Compliance Options:
 
--underscore Enable H'98 underscore-is-lower-case (default=off)
 
--puns Enable pre-98 named-field puns (default=on)
 
--98 Haskell 98 compliance (default=off)
 
 
Help Options:
 
-v --version Show version information (default=off)
 
-? --help Show all options and useage information (default=off)
 
 
Core Options:
 
--core generate a .ycr binary file (default=off)
 
--showcore show the Core language (default=off)
 
--linkcore generate a linked .yca binary file (default=off)
 
 
Debug Options:
 
--lex show lexical input (default=off)
 
--parse show syntax tree after parser (default=off)
 
--need show need table before import (default=off)
 
--ineed show need table after import (default=off)
 
--irename show rename table after import (default=off)
 
--iineed show need table between all import files (default=off)
 
--iirename show rename table between all imports (default=off)
 
--rename show syntax tree after rename (default=off)
 
--derive show syntax tree after derive (default=off)
 
--remove show syntax tree after fields are removed (translated into
 
selectors) (default=off)
 
--scc show syntax tree after splitting into strongly connected
 
groups (default=off)
 
--type show syntax tree after type check (default=off)
 
--fixsyntax show syntax tree after removing newtype constructors and
 
fixing Class.Type.metod (default=off)
 
--lift show syntax tree after lambda lifting (default=off)
 
--case show stg tree after simplification of patterns
 
(default=off)
 
--prim show stg tree after inserting primitive functions
 
(default=off)
 
--bcodecompile show B code after compile (default=off)
 
--bcodemem show B code after heap usage analysis (default=off)
 
--bcodeflatten show B code after flattening (default=off)
 
--bcoderel show B code after converting to relative jumps
 
(default=off)
 
--keepcase Don't lift case, we fix those later (default=off)
 
--arity show stg tree after arity (default=off)
 
--ibound show symbol table after import (default=off)
 
--iibound show symbol table between all import files (default=off)
 
--rbound show symbol table after rename (default=off)
 
--dbound show symbol table after derive (default=off)
 
--pbound show symbol table after inserting primitive functions
 
(default=off)
 
--ebound show symbol table after extract (default=off)
 
--tbound show symbol table after type check (default=off)
 
--fsbound show symbol table after adding Class.Type.method info
 
(default=off)
 
--lbound show symbol table after lambda lifting (default=off)
 
--cbound show symbol table after simplification of pattern
 
(default=off)
 
--abound show symbol table after only atoms in applications
 
(default=off)
 
--import print name of imported files (default=off)
 
--depend print imported identifiers that are used (not even alpha
 
yet) (default=off)
 
--free show stg tree with explicitly free variables (default=off)
 
--atom show stg tree after only atoms in applications
 
(default=off)
 
--funnames insert position and name of functions in the code
 
(default=off)
 
--ilex show lexical input (default=off)
 
--report-imports show only imports actually used (default=off)
 
--showtype report type of "main" (default=off)
 
--showwidth num set width for showing intermediate program (default=80)
 
--showindent num set indentation for nesting (default=2)
 
--showqualified show qualified ids as far as possible (default=on)
 
 
 
 
Environment variables:
 
 
YHC_BASE_PATH The path to the Yhc compiler base directory
 
PATH The search path is used to find the compiler,
 
if YHC_BASE_PATH is not specified
 

Revision as of 14:34, 6 February 2021