File: inform6.1

package info (click to toggle)
inform6-compiler 6.41-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,668 kB
  • sloc: ansic: 29,404; makefile: 57; sh: 48
file content (350 lines) | stat: -rw-r--r-- 8,559 bytes parent folder | download | duplicates (2)
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.