1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350
|
.TH INFORM "1" "2022-02-19" "Inform v6.36" "Inform v6.36 - interactive fiction story file compiler"
.SH NAME
inform \- compile Inform interactive fiction story files to Z-machine or Glulx bytecode
.SH SYNOPSIS
.BI "inform " "[options...] infile [outfile]"
.SH DESCRIPTION
\fBinform\fP compiles an Inform version 6 story file (usually with the
extension \fB.inf\fP) 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.
.PP
\fBinform\fP'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).
.SS SWITCHES
.TP
.B -a
trace assembly-language (without hex dumps; see \fB-t\fP)
.TP
.B -c
more concise error messages
.TP
.B -d
contract double spaces after full stops in text
.TP
.B -d2
contract double spaces after exclamation and question marks, too
.TP
.B -e
economy mode (slower): make use of declared abbreviations
.TP
.B -f
frequencies mode: show how useful abbreviations are
.TP
.B -g
traces calls to functions (except in the library)
.TP
.B -g2
traces calls to all functions
.TP
.B --help, -h, -h1, -h2
print usage information
.TP
.B -i
ignore default switches set within the file
.TP
.B -j
list objects as constructed
.TP
.B -k
output Infix debugging information to "gameinfo.dbg" (and switch \fB-D\fP on)
.TP
.B -l
list every statement run through Inform
.TP
.B -m
say how much memory has been allocated
.TP
.B -n
print numbers of properties, attributes and actions
.TP
.B -o
print offset addresses
.TP
.B -p
give percentage breakdown of story file
.TP
.B -q
keep quiet about obsolete usages
.TP
.B -r
record all the text to "gametext.txt"
.TP
.B -s
give statistics
.TP
.B -t
trace assembly-language (with full hex dumps; see \fB-a\fP)
.TP
.B -u
work out most useful abbreviations (very very slowly)
.TP
.B -v\fIn\fP
compile to a specific Z-code version; the default is 5. Available versions are:
.RS
.TP
.B 3
version-3 ("Standard") story file
.TP
.B 4
version-4 ("Plus") story file
.TP
.B 5
version-5 ("Advanced") story file
.TP
.B 6
version-6 (graphical) story file
.TP
.B 8
version-8 (expanded "Advanced") story file
.RE
.TP
.B -w
disable warning messages
.TP
.B -x
print # for every 100 lines compiled
.TP
.B -y
trace linking system
.TP
.B -z
print memory map of the Z-machine
.TP
.B -B
use big memory model (for large version-6/version-7 files)
.TP
.B -C\fIn\fP
select text character set (defaults to 1):
.RS
.TP
.B 0
plain ASCII only
.TP
.B 1
ISO 8859-1 (Latin1)
.TP
.B 2
ISO 8859-2 (Latin2)
.TP
.B 3
ISO 8859-3 (Latin3)
.TP
.B 4
ISO 8859-4 (Latin4)
.TP
.B 5
ISO 8859-5 (Cyrillic)
.TP
.B 6
ISO 8859-6 (Arabic)
.TP
.B 7
ISO 8859-7 (Greek)
.TP
.B 8
ISO 8859-8 (Hebrew)
.TP
.B 9
ISO 8859-9 (Latin5)
.TP
.B u
Unicode (UTF-8)
.RE
.TP
.B -D
insert "Constant DEBUG;" automatically
.TP
.B -E\fIn\fP
select error message style (default is Archimedes):
.RS
.TP
.B 0
Archimedes-style error messages
.TP
.B 1
Microsoft-style error messages
.TP
.B 2
Macintosh MPW-style error messages
.RE
.TP
.B -F1
use temporary files to reduce memory consumption
.TP
.B -G
compile a Glulx game file
.TP
.B -H
use Huffman encoding to compress Glulx strings
.TP
.B -M
compile as a Module for future linking
.TP
.B -S
compile strict error-checking at run-time (on by default)
.TP
.B -U
insert "Constant USE_MODULES;" automatically
.TP
.B -V
display version and exit
.TP
.B -W\fIn\fP
header extension table is at least n words (n = 3 to 99)
.TP
.B -X
compile with INFIX debugging facilities present
.SS PATH MODIFIERS
.TP
.B --path PATH=dir
change \fBPATH\fP to this directory
.TP
.B --addpath PATH=dir
add this directory to the \fBPATH\fP
.SS PATH MODIFIERS (old style)
.TP
.BI +dir
set \fBInclude_Path\fP to this directory
.TP
.BI ++dir
add this directory to \fBInclude_Path\fP
.TP
.BI +PATH=dir
change \fBPATH\fP to this directory
.TP
.BI ++PATH=dir
add this directory to the \fBPATH\fP
.SS MEMORY SETTINGS
.TP
.BI --list
.br
List current memory allocation settings.
.TP
.B --helpopt SETTING
explain briefly what \fBSETTING\fP is for
.TP
.B --opt SETTING=number
change \fBSETTING\fP to given number
.TP
.B --define SYMBOL=number
define define \fBSYMBOL\fP as a constant in this story
.TP
.B --config filename.icl
read in a list of commands (in the format above) from this setup file. See
.B INFORM COMMAND LANGUAGE
below
.SS MEMORY STRATEGY MODIFIERS (old style)
Note: it may be necessary to quote these parameters to prevent your shell
from expanding them.
.TP
.B $list
list current memory allocation settings
.TP
.BI $?SETTING
explain memory setting \fBSETTING\fP (see \fB$list\fP for available
parameters)
.TP
.BI $SETTING=number
manually set \fBSETTING\fP to given number
.TP
.B $#SYMBOL=number
define \fBSYMBOL\fP as a constant in the story
.TP
.B (filename.icl)
read in a list of commands (in the format above) from this setup file. See
.B INFORM COMMAND LANGUAGE
below
.SH 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 \fBInform Command Language\fP
(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";
...
\fBICL\fP 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 \fBICL\fP command
"compile" is not permitted at the head of a source file.
.SH CAVEATS
\fBinform\fP is not capable of creating story files conforming to
versions 1 or 2 of the Z-Machine.
.br
Modules cannot be used with Glulx and are deprecated for Z-Machine.
.SH DOCUMENTATION
The canonical documentation for \fBInform6\fP is the
\fBInform_Designer's Manual\fP. This work can be browsed at
.br
.RI < http://inform-fiction.org/manual/html/contents.html >
downloaded from
.br
.RI < http://inform-fiction.org/manual/DM4.pdf >
and purchased in hardcopy at
.br
.RI < http://amazon.com/ >
Another noteworthy and somewhat more up-to-date resource is the
\fBInform Beginner's Guide\fP. This work can be downloaded at
.br
.RI < http://inform-fiction.org/manual/download_ibg.html >
.SH SEE ALSO
.IR zcode-interpreter (6)
and the manuals and language reference which can be found online at
.br
.RI < http://inform-fiction.org/manual/ >
.br
and
.br
.RI < http://inform-fiction.org/inform6.html >.
.SH AUTHOR
The various iterations of the \fBInform\fP 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>.
.SH DISTRIBUTION
The compiler and standard library for \fBInform6\fP are licensed under
.IP 1)
The traditional Inform license as described by the DM4, or
.IP 2)
The Artistic License 2.0 .
.RE
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
.br
https://opensource.org/licenses/Artistic-2.0
.br
and the file \fBARTISTIC\fP in the \fBInform6\fP distribution archive.
|