PARSER???
by Stu Galley
(The Status Line; Spring 1989; page 2)
Copyright 1989 (c) Infocom
Transcribed by Graeme Cree

    What is a parser anyway, and why should it matter to you?  Almost any
dictionary can answer the first question, and I'm here to tell you about
the second one.
    As the dictionary states, a parser is something that takes apart a
sentence, word by word, and determines what the words mean, and then what
the sentence means.  If you ever diagrammed a sentence for an English class,
then you were parsing.  But it's a lot easier for YOU to parse English than
it is for a machine, because you've had a lot more practice at it, and you
started life with a certain natural ability to do it.
    At Infocom, I've been working on a program that will parse your commands
and pass on their "meaning" to an interactive story.  This program is a part
of ZORK ZERO, ARTHUR, and SHOGUN, as well as future Infocom products that
may want to understand more complex sentences.  In a way, I'm like the
recording engineer for your favorite rock album, because my job is to make
sure that the artists' talent comes through to you as clearly as possible.
If the guitarist wants more reverb...I mean if the implementor wants
adverbs to work in his story, then I provide it.  The better I do my job, the
less you notice it!
    Almost anyone can write a simple parsing program, just as almost
anyone can make simple recordings on their boom box.  A simple parser could
parse any two-word sentence, by calling the first word a verb and the second
one a noun.  If it didn't know the verb, or if the noun wasn't the name of
something in the room, then it would give up.  Some simple adventure games
work exactly that way.
    Until now, Infocom's thirty-odd interactive stories have all used the
parser that evolved from ZORK I.  But each  new story needed some new
features in the parser, and so it grew more clever, but also harder to fix
and improve.  Eventually, we decided to build a new parser from scratch,
using the theory of computational linguistics.  (Technically speaking, we
used an ATN algorithm with a LALR grammar and one-token look-ahead.)
    So what does this mean to you?  It means that you can converse with our
interactive fiction more simply than ever, and we can easily add features
that you've never seen before.  For example, ZORK ZERO notices if you seem
to be having trouble with the parser, and it offers helpful suggestions,
such as sample commands.  And in SHOGUN, you can use a wider range of
sentences, including statements and questions, to converse with the
characters you'll meet.  In the future, we may develop new kinds of
products, able to "talk" with you about many topics; our interactive fiction
could becomre much more than mazes and mysteries!