Provided by: inform6-compiler_6.36-1_amd64 bug

NAME

       inform - compile Inform interactive fiction story files to Z-machine or Glulx bytecode

SYNOPSIS

       inform [options...] infile [outfile]

DESCRIPTION

       inform  compiles  an Inform version 6 story file (usually with the extension .inf) into Z-
       machine or Glulx bytecode which can then be executed by a variety of  Z-machine  or  Glulx
       emulators.  If the output filename is not explicitly given on the command line, it will be
       constructed from the input filename.

       inform's mode  of  operation  can  be  controlled  with  switches  (one  or  two-character
       expressions  preceded  by  a  dash), path modifiers (starting with a plus sign) and memory
       strategy modifiers (starting with a dollar sign).

   SWITCHES
       -a     trace assembly-language (without hex dumps; see -t)

       -c     more concise error messages

       -d     contract double spaces after full stops in text

       -d2    contract double spaces after exclamation and question marks, too

       -e     economy mode (slower): make use of declared abbreviations

       -f     frequencies mode: show how useful abbreviations are

       -g     traces calls to functions (except in the library)

       -g2    traces calls to all functions

       --help, -h, -h1, -h2
              print usage information

       -i     ignore default switches set within the file

       -j     list objects as constructed

       -k     output Infix debugging information to "gameinfo.dbg" (and switch -D on)

       -l     list every statement run through Inform

       -m     say how much memory has been allocated

       -n     print numbers of properties, attributes and actions

       -o     print offset addresses

       -p     give percentage breakdown of story file

       -q     keep quiet about obsolete usages

       -r     record all the text to "gametext.txt"

       -s     give statistics

       -t     trace assembly-language (with full hex dumps; see -a)

       -u     work out most useful abbreviations (very very slowly)

       -vn    compile to a specific Z-code version; the default is 5. Available versions are:

              3      version-3 ("Standard") story file

              4      version-4 ("Plus") story file

              5      version-5 ("Advanced") story file

              6      version-6 (graphical) story file

              8      version-8 (expanded "Advanced") story file

       -w     disable warning messages

       -x     print # for every 100 lines compiled

       -y     trace linking system

       -z     print memory map of the Z-machine

       -B     use big memory model (for large version-6/version-7 files)

       -Cn    select text character set (defaults to 1):

              0      plain ASCII only

              1      ISO 8859-1 (Latin1)

              2      ISO 8859-2 (Latin2)

              3      ISO 8859-3 (Latin3)

              4      ISO 8859-4 (Latin4)

              5      ISO 8859-5 (Cyrillic)

              6      ISO 8859-6 (Arabic)

              7      ISO 8859-7 (Greek)

              8      ISO 8859-8 (Hebrew)

              9      ISO 8859-9 (Latin5)

              u      Unicode (UTF-8)

       -D     insert "Constant DEBUG;" automatically

       -En    select error message style (default is Archimedes):

              0      Archimedes-style error messages

              1      Microsoft-style error messages

              2      Macintosh MPW-style error messages

       -F1    use temporary files to reduce memory consumption

       -G     compile a Glulx game file

       -H     use Huffman encoding to compress Glulx strings

       -M     compile as a Module for future linking

       -S     compile strict error-checking at run-time (on by default)

       -U     insert "Constant USE_MODULES;" automatically

       -V     display version and exit

       -Wn    header extension table is at least n words (n = 3 to 99)

       -X     compile with INFIX debugging facilities present

   PATH MODIFIERS
       --path PATH=dir
              change PATH to this directory

       --addpath PATH=dir
              add this directory to the PATH

   PATH MODIFIERS (old style)
       +dir   set Include_Path to this directory

       ++dir  add this directory to Include_Path

       +PATH=dir
              change PATH to this directory

       ++PATH=dir
              add this directory to the PATH

   MEMORY SETTINGS
       --list
              List current memory allocation settings.

       --helpopt SETTING
              explain briefly what SETTING is for

       --opt SETTING=number
              change SETTING to given number

       --define SYMBOL=number
              define define SYMBOL as a constant in this story

       --config filename.icl
              read in a list of commands (in the format above) from this setup file.  See  INFORM
              COMMAND LANGUAGE below

   MEMORY STRATEGY MODIFIERS (old style)
       Note:  it  may be necessary to quote these parameters to prevent your shell from expanding
       them.

       $list  list current memory allocation settings

       $?SETTING
              explain memory setting SETTING (see $list for available parameters)

       $SETTING=number
              manually set SETTING to given number

       $#SYMBOL=number
              define SYMBOL as a constant in the story

       (filename.icl)
              read in a list of commands (in the format above) from this setup file.  See  INFORM
              COMMAND LANGUAGE below

INFORM COMMAND LANGUAGE

       The  Switches directive, which enables certain compiler switches to be set from within the
       source file rather than on the compiler command  line,  has  been  superseded  by  a  more
       powerful  mechanism. The special comment characters "!%", occurring on the very first line
       or lines of the source file, enable you to specify Inform Command Language (ICL)  commands
       to control the compilation. For example:

           !% -E1G         ! Glulx, 'Microsoft' errors
           !% -~S          ! disable Strict mode
           !% +include_path=./test,./,../lib/contrib ! look in 'test' library
           !% $MAX_STATIC_MEMORY=20000
           Constant STORY "RUINS";
           ...

       ICL  is  described  in  Section  39  of  the Inform Designer's Manual. In brief: each line
       specifies a single command, starting with "-" to define  one  or  more  switches,  "+"  to
       define a path variable, or "$" to define a memory setting. Comments are introduced by "$".
       The ICL command "compile" is not permitted at the head of a source file.

CAVEATS

       inform is not capable of creating story files conforming to versions 1  or  2  of  the  Z-
       Machine.
       Modules cannot be used with Glulx and are deprecated for Z-Machine.

DOCUMENTATION

       The canonical documentation for Inform6 is the Inform_Designer's Manual.  This work can be
       browsed at
       <http://inform-fiction.org/manual/html/contents.html> downloaded from
       <http://inform-fiction.org/manual/DM4.pdf> and purchased in hardcopy at
       <http://amazon.com/>

       Another noteworthy and somewhat more up-to-date resource is the Inform  Beginner's  Guide.
       This work can be downloaded at
       <http://inform-fiction.org/manual/download_ibg.html>

SEE ALSO

       zcode-interpreter(6) and the manuals and language reference which can be found online at
       <http://inform-fiction.org/manual/>
       and
       <http://inform-fiction.org/inform6.html>.

AUTHOR

       The various iterations of the Inform language were created by Graham Nelson in 1993.

       This  manpage  was  written  by Jan Nordholz <hesso@pool.math.tu-berlin.de> for the Debian
       Project and altered by David Griffith <dave@661.org>.

DISTRIBUTION

       The compiler and standard library for Inform6 are licensed under

       1)     The traditional Inform license as described by the DM4, or

       2)     The Artistic License 2.0 .

       Here is the relevant bit from the Inform Designer's Manual, 4th edition:

       Copyright on Inform, the program and its source code, its example games and  documentation
       (including  this  book)  is  retained  by Graham Nelson, who asserts the moral right to be
       identified as the author under the Copyrights, Designs and Patents Act 1988.  Having  said
       this,  I  am  happy  for it to be freely distributed to anybody who wants a copy, provided
       that: (a) distributed copies are not substantially different from those  archived  by  the
       author,  (b)  this  and  other  copyright messages are always retained in full, and (c) no
       profit is involved.  (Exceptions to these rules  must  be  negotiated  directly  with  the
       author.)   However,  a  story  file produced with the Inform compiler (and libraries) then
       belongs to its author, and may be sold for profit  if  desired,  provided  that  its  game
       banner  contains  the  information  that it was compiled by Inform, and the Inform version
       number.

       The Artistic License 2.0 can be found at
       https://opensource.org/licenses/Artistic-2.0
       and the file ARTISTIC in the Inform6 distribution archive.