TABLE 1A: GENERAL OPERATORS

Lvl Operator Placed Asc Purpose
0 , between left separating values to work out
1 = between right set equal to
5 + between left 16-bit signed addition
- between left 16-bit signed subtraction
6 * between left 16-bit signed multiplication
/ between left 16-bit signed integer division
% between left 16-bit signed remainder
& between left bitwise AND
| between left bitwise OR
~ before   bitwise NOT
7 -> between left byte array entry
--> between left word array entry
8 - before   16-bit signed negation
9 ++ before   add 1 to then read
++ after   read then add 1 to
-- before   subtract 1 from then read
-- after   read then subtract 1 from
10 .& between left property array
.# between left property array size
11 (...) after   routine call
12 . between left property value
13 :: between left “superclass” operator

TABLE 1B: CONDITION OPERATORS

Lvl Operator Placed Asc Purpose
2 && between left one condition AND another
|| between left one condition OR another
~~ before   this condition NOT true
3 == between none equal to?
~= between none not equal to?
> between none greater than?
>= between none greater than or equal to?
< between none less than?
<= between none less than or equal to?
has between none object has this attribute?
hasnt between none object hasn't this attribute?
in between none first obj a child of second?
notin between none first obj not a child of second?
ofclass between none obj inherits from class?
provides between none obj provides this property?
4 or between left separating alternative values

TABLE 2A: LOWER ZSCII CHARACTER SET

 +0+1+2+3 +4+5+6+7
0         
8deltab em  new  
16         
24        esc
32sp!"# $%&'
40()*+ ,-./
480123 4567
5689:; <=>?
64@ABC DEFG
72HIJK LMNO
80PQRS TUVW
88XYZ[ \]^_
96`abc defg
104hijk lmno
112pqrs tuvw
120xyz{ |}~ 

TABLE 2B: HIGHER ZSCII CHARACTER SET

 +0+1+2+3 +4+5+6+7
128  f1f2f3
136f4f5f6f7 f8f9f10f11
144f12k0k1k2 k3k4k5k6
152k7 k8k9 äö üÄ Ö
@:a@:o @:u@:A @:O
160Ü ß» «ë ïÿ Ë
@:U @ss@>> @<<@:e @:i@:y @:E
168Ï áé íó úý Á
@:I @'a@'e @'i@'o @'u@'y @'A
176É ÍÓ ÚÝ àè ì
@'E @'I@'O @'U@'Y @`a@`e @`i
184ò ùÀ ÈÌ ÒÙ â
@`o @`u@`A @`E@`I @`O@`U @^a
192ê îô ûÂ ÊÎ Ô
@^e @^i@^o @^u@^A @^E@^I @^O
200Û åÅ øØ ãñ õ
@^U @oa@oA @\o@\O @~a@~n @~o
208à ÑÕ æÆ çÇ þ
@~A @~N@~O @ae@AE @,c@,C @th
216ð ÞÐ £œ Œ¡ ¿
@et @Th@Et @LL@oe @OE@!! @??
224         
232         
240         
248     mendblclk 

TABLE 3: COMMAND LINE SWITCHES

SwToMeaning
-d* 0 to 2 contract double spaces: never (0), after full stops (1),
after full stops, exclamation and question marks (2)
-e off/on economise by using the declared abbreviations
-g* 0 to 2 traces calls: none (0), all outside libraries (1), all (2)
-i off/on ignore default switches set within the file
-k off/on output Infix debugging information (and switch -D on)
-r off/on record all the text to a transcript file
-v* 3 to 8 compile to this Version of story file (default 5)
-C* 0 to 9 source is ASCII (0), or ISO 8859-1 to -9 (default 1)
-D off/on automatically include library's debugging features
-F* 0 or 1 use temporary files to reduce memory consumption
-M off/on compile as a Module for future linking
-S on/off compile strict error-checking at run-time (on by default)
-U off/on link in precompiled library modules
-X off/on include the Infix debugger

-a off/on trace assembly-language (without hex dumps; see -t)
-c off/on more concise error messages
-f off/on frequencies mode: show how useful abbreviations are
-h* on/1/2 print help information: on filenaming (1), switches (2)
-j off/on list objects as constructed
-l off/on list every statement run through Inform
-m off/on say how much memory has been allocated
-n off/on print numbers of properties, attributes and actions
-o off/on print offset addresses
-p off/on give percentage breakdown of story file
-q off/on keep quiet about obsolete usages
-s off/on give statistics
-t off/on trace assembly-language (with full hex dumps; see -a)
-u off/on work out most useful abbreviations (very very slowly)
-w off/on disable warning messages
-x off/on print a hash # for every 100 lines compiled
-y off/on trace linking system
-z off/on print memory map of the Z-machine
-E* 0, 1, 2 errors in Acorn (0), Microsoft (1) or Mac (2) style

TABLE 4: STATEMENTS

boxline-1› ‹line-2› … ‹line-n
break
continue
docode blockuntilcondition
font on or off
for (initial code:condition to carry on:update code)code block
giveobject› ‹attribute-1› … ‹attribute-n
ifcondition› ‹code block
ifcondition› ‹code blockelsecode-block
jumplabel
moveobjecttodestination
new_line
objectloopcondition choosing objects› ‹code block
printlist of printing specifications
print_retlist of printing specifications
removeobject
returnoptional value
rfalse
rtrue
spacesnumber of spaces to print
stringnumber› ‹text
style roman or bold or underline or reverse or fixed
switch (value)block of cases … default:
whilecondition› ‹code-block

TABLE 5: DIRECTIVES

Abbreviateword-1› … ‹word-n
Arraynew-name› ‹type› ‹initial values
Attributenew-name
Classnew-name› ‹body of definition
Constantnew-name=value
Defaultpossibly-new-name
End
Endif
Extendgrammar extension
Globalnew-name=value
Ifdefsymbol-name
Ifndefsymbol-name
Ifnot
Iftruecondition
Iffalsecondition
Importlist of imported goods
Includesource code filename
Linkmodule filename
Lowstringtext
Messagemessage-type› ‹diagnostic-message
Objectheader› ‹body of definition
Propertynew-name
Releasenumber
Replaceroutine-name
Serial "serial number"
Switcheslist of switches
Statusline score or time
System_file
Verbverb-definition
Zcharacter etc.

TABLE 6A: ACTIONS PROVIDED BY THE LIBRARY: GROUP 1

ActionTypically produced byNotes
Pronouns“pronouns” lists settings of “it” and so on
Quit“quit”
Restart“restart”
Restore“restore”
Save“save”
Verify“verify” checks story file integrity
ScriptOn“script on”
ScriptOff“script off”
NotifyOn“notify on” score change notification on
NotifyOff“notify off” and off
Places“places” list places visited
Objects“objects” list objects moved
Score“score”
FullScore“fullscore” full breakdown of score
Version“version” prints version numbers
LMode1“brief” normal room descriptions
LMode2“verbose” always full room descriptions
LMode3“superbrief” always abbreviated

TABLE 6B: ACTIONS PROVIDED BY THE LIBRARY: GROUP 2

ActionTypically produced byNotes
Look“look”
Examine“examine fish”
Search“look inside cup”
Inv“inventory”
InvTall“inventory tall” becomes Inv
InvWide“inventory wide” becomes Inv
Take“take fish” KS
Drop“drop fish” KS
Remove“take dice from cup” KS
PutOn“put cup on board” KS
Insert“put dice in cup” KS
LetGofake caused by Remove
Receivefake caused by PutOn and Insert
Empty“empty sack” becomes EmptyT d_obj
EmptyT“empty bag on box” for each item inside, becomes
Remove then Drop/PutOn/Insert
Transfer“transfer egg to box” becomes Drop/PutOn/Insert
Go“north” KS   special rules apply: see 15
Enter“enter cage” KS   can become Go if into a door
GetOff“get off table” KS
GoIn“enter” becomes Go in_obj
Exit“exit” KS   can become Go out_obj
Unlock“unlock door” KS
Lock“lock door” KS
SwitchOn“switch radio on” KS
SwitchOff“switch radio off” KS
Open“open door” KS
Close“close door” KS
Disrobe“take hat off” KS
Wear“wear hat” KS
Eat“eat fish” KS
Wait“wait”

TABLE 6C: ACTIONS PROVIDED BY THE LIBRARY: GROUP 3

ActionTypically produced byNotes
LookUnder“look under doormat”
Listen“listen [to tape]” noun can be nothing
Taste“taste marinade”
Touch“touch paint”
Pull“pull trolley”
Push“push trolley”
Wave“wave wand”
Turn“turn dial”
PushDir“push trolley north” special rules apply: see §15
ThrowAt“throw dart at board”
ThrownAtfake caused by ThrowAt
JumpOver“jump over fence”
Tie“tie rope [to hook]” second can be nothing
Drink“drink absinthe”
Fill“fill bottle”
Attack“fight soldiers”
Swing“swing on rope”
Blow“blow pipe”
Rub“clean table”
Set“set trap”
SetTo“set timer to 10” second not an object
Buy“buy ice cream”
Climb“climb ladder”
Squeeze“squash tomato”
Burn“burn papers [with match]” second can be nothing
Dig“dig lawn [with spade]” second can be nothing
Cut“cut paper”
Consult“look up fish in book” sets noun and the topic
Tell“tell jemima about austin” sets noun and the topic
Answer“say confirmed to avon” sets noun and the topic
Ask“ask jemima about isaac” sets noun and the topic
Give“give coin to troll”
Show“show pass to guard”
AskFor“ask jemima for daisies”
WakeOther“wake sleeper”
Kiss“kiss jemima”
Sleep“sleep”
Sing“sing”
WaveHands“wave” see also Wave
Swim“swim”, “dive”
Sorry“sorry”
Strongvery rude words
Mildfairly rude words
Jump“jump” see also JumpOver
Think“think”
Smell“smell coffee” noun can be nothing
Pray“pray”
VagueGo“go”
Yes“yes”
No“no”
Wake“wake up” see also WakeOther

TABLE 6D: ACTIONS SENT TO LIFE RULES

ActionTypically produced by
Answer“say yes to cashier”
Ask“ask woman about plutonium”
Attack“fight soldiers”
Give“give coin to charon”
Kiss“kiss jemima”
Order“thorin, go west”
Show“show pass to benton”
Tell“tell paris about helen”
ThrowAt“throw axe at dwarf”
WakeOther“wake beauty up”