table of contents
| CHICKEN(1) | General Commands Manual | CHICKEN(1) |
NAME¶
chicken — A
Scheme-to-C translator
SYNOPSIS¶
chicken |
[OPTION ...] [FILENAME ...] |
DESCRIPTION¶
chicken is a compiler and interpreter for
the programming language Scheme supporting most of the features as described
in the Revised^5 Report on the Algorithmic Language Scheme. The
chicken program is the basic Scheme-to-C translator
used in this system. For a more convenient interface, see
csc(1).
FILENAME should be a complete source file name with extension, or “-” for standard input. OPTION may be one of the following:
General options:
-help- Display usage and exit.
-version- Display compiler version and exit.
-release- Print release number and exit.
-verbose- Display information on compilation progress.
File and pathname options:
-output-fileFILENAME- Specifies output-filename, default is “out.c”.
-include-pathPATHNAME- Specifies alternative path for included files.
-to-stdout- Write compiled file to stdout instead of file.
Language options:
-featureSYMBOL- Register feature identifier.
-no-featureSYMBOL- Disable built-in feature identifier.
Syntax related options:
-case-insensitive- Don't preserve case of read symbols.
-keyword-styleSTYLE- Allow alternative keyword syntax (prefix, suffix or none).
-no-parentheses-synonyms- Disables list delimiter synonyms.
-no-symbol-escape- Disables support for escaped symbols.
-r5rs-syntax- Disables the CHICKEN extensions to R5RS syntax.
-compile-syntax- Macros are made available at run-time.
-emit-import-libraryMODULE- Write compile-time module information into separate file.
-emit-all-import-libraries- Emit import-libraries for all defined modules.
-no-compiler-syntax- Disable expansion of compiler-macros.
-moduleNAME- Wrap compiled code in module of the given name.
-module-registration- Always generate module registration code, even when import libraries are emitted.
-no-module-registration- Do not generate module registration code. Overrides
-module-registration.
Translation options:
-explicit-use- Do not use units ‘library’ and ‘eval’ by default.
-static- Link extensions statically.
-check-syntax- Stop compilation after macro-expansion.
-analyze-only- Stop compilation after first analysis pass.
Debugging options:
-no-warnings- Disable warnings.
-debug-levelNUMBER- Set level of available debugging information.
-no-trace- Disable tracing information.
-profile- Executable emits profiling information.
-profile-nameFILENAME- Name of the generated profile information file.
-accumulate-profile- Executable emits profiling information in append mode.
-no-lambda-info- Omit additional procedure-information.
-typesFILENAME- Load additional type database.
-emit-types-fileFILENAME- Write type-declaration information into file.
Optimization options:
-optimize-levelNUMBER- Enable certain sets of optimization options.
-optimize-leaf-routines- Enable leaf routine optimization.
-no-usual-integrations- Standard procedures may be redefined.
-unsafe- Disable all safety checks.
-local- Assume globals are only modified in current file.
-block- Enable block-compilation.
-disable-interrupts- Disable interrupts in compiled code.
-fixnum-arithmetic- Assume all numbers are fixnums.
-disable-stack-overflow-checks- Disables detection of stack-overflows.
-inline- Enable inlining.
-inline-limitLIMIT- Set inlining threshold.
-inline-global- Enable cross-module inlining.
-specialize- Perform type-based specialization of primitive calls.
-emit-inline-fileFILENAME- Generate file with globally inlinable procedures (implies
-inline-local). -consult-inline-fileFILENAME- Explicitly load inline file.
-no-argc-checks- Disable argument count checks.
-no-bound-checks- Disable bound variable checks.
-no-procedure-checks- Disable procedure call checks.
-no-procedure-checks-for-usual-bindings- Disable procedure call checks only for usual bindings.
-no-procedure-checks-for-toplevel-bindings- Disable procedure call checks for toplevel bindings.
-strict-types- Assume variable do not change their type.
-clustering- Combine groups of local procedures into dispatch loop.
-lfa2- Perform additional lightweight flow-analysis pass.
-unroll-limitLIMIT- Specifies inlining limit for self-recursive calls.
Configuration options:
-unitNAME- Compile file as a library unit.
-usesNAME- Declare library unit as used.
-heap-sizeNUMBER- Specifies heap-size of compiled executable.
-nurseryNUMBER-stack-sizeNUMBER- Specifies nursery size of compiled executable.
-extendFILENAME- Load file before compilation commences.
-preludeEXPRESSION- Add expression to front of source file.
-postludeEXPRESSION- Add expression to end of source file.
-prologueFILENAME- Include file before main source file.
-epilogueFILENAME- Include file after main source file.
-dynamic- Compile as dynamically loadable code.
-require-extensionNAME- Require and import extension NAME.
-emit-link-fileFILENAME- Write a list of statically linked extensions to FILENAME, used for identifying the static objects that need to be linked to an executable.
Obscure options:
-debugMODES- Display debugging output for the given modes.
-raw- Do not generate implicit init- and exit code.
-emit-external-prototypes-first- Emit prototypes for callbacks before foreign declarations.
-regenerate-import-libraries- Always emit import libraries, even when their contents haven't changed. The default behaviour is to preserve existing import libraries.
-ignore-repository- Do not refer to repository for extensions.
-setup-mode- Prefer the current directory when locating extensions.
ENVIRONMENT¶
The following environment variables change the behaviour of
chicken:
CHICKEN_INCLUDE_PATH- Contains one or more pathnames where the compiler should additionally look for include-files, separated by ‘;’ characters.
CHICKEN_OPTIONS- Holds a string of default compiler options that should apply to every
invocation of
chicken.
EXIT STATUS¶
The chicken utility exits 0 on
success, and >0 if an error occurs.
SEE ALSO¶
chicken(1), chicken-install(1), chicken-uninstall(1)
More information can be found in the CHICKEN User's Manual.
AUTHORS¶
The CHICKEN Team
BUGS¶
Submit bug reports by e-mail to chicken-janitors@nongnu.org
| April 26, 2017 | Debian |