Inform compiles in a table of property and attribute names, which get used in runtime error messages. For example
[** object has no property sw_to **]
PunyInform does a lot of property aliasing, with lines like
Property door_dir alias w_to;
This generates a table entry string like "w_to/door_dir"
. With a lot of those in the game, the abbreviation optimizer picks "to_/"
as a common string.
If you compile with the option $OMIT_SYMBOL_TABLE=1
, Inform will skip the symbol table, at the cost of less explicit runtime error messages.