Message-ID: <3ABF5285.2B5C47E@csi.com>
Date: Mon, 26 Mar 2001 09:30:29 -0500
From: John Colagioia <JColagioia@csi.com>
Organization: No Conspiracy Here...
X-Mailer: Mozilla 4.76 [en] (Win98; U)
X-Accept-Language: en,fr,ru,es,it,ga,de,ja,gd,eu
MIME-Version: 1.0
Newsgroups: rec.arts.int-fiction
Subject: Re: Can INFORM be run as a server?
References: <3ABC21E8.65205EBF@pacbell.net> <3abc3a29.6421443@news.bright.net>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 208.34.37.104
X-Original-NNTP-Posting-Host: 208.34.37.104
X-Trace: excalibur.gbmtech.net 985616702 208.34.37.104 (26 Mar 2001 09:25:02 EST)
Lines: 41
X-Authenticated-User: jnc
Path: news.duke.edu!newsgate.duke.edu!nntp-out.monmouth.com!newspeer.monmouth.com!news.maxwell.syr.edu!news.stealth.net!24.30.200.2.MISMATCH!news-east.rr.com!news.rr.com!portc01.blue.aol.com!uunet!dca.uu.net!nyc.uu.net!excalibur.gbmtech.net
Xref: news.duke.edu rec.arts.int-fiction:84594

Jonadab the Unsightly One wrote:

> Simon South <s2south@pacbell.net> wrote:
> > I have looked through the Design Manual and Technical Manual and can't
> > find any indications that one can get the interpreter to print its
> > grammar.
> The interpreter doesn't know anything about grammar.  That's all
> done at the parser level.  The interpreter just executes the
> virtual machine instructions contained in the module.

Well, maybe.  It depends on the style of parser...

No--hang on, let's try that again.  The virtual machine, proper, knows
nothing about the grammar, itself, just like the Pentium chip knows nothing
about mouse movement.  However, if the parser is table-driven (rather than
recursive-descent), then a debugging command could probably be added to
"export" the contents of the table.

The structure of the standard Inform parser, then, is the semi-key, here.
And, looking at Parser__parse(), it looks like the standard parser is sort
of a simplified table-driven parser, which means that it could be feasible,
in theory, depending on the internal storage format used by the compiler and
virtual machine.


> You could write an interpreter that functions as a server and
> has a client attached to it for I/O.  But all the using the
> grammar to parse the user's response would be done by the
> compiled module running inside the VM at the server end.  The
> client would just do the I/O.  Off the top of my head I'm not
> sure what advantage this would have, but it's possible.

Well, I could see that such a thing might be a first step into a multiplayer
game.  It wouldn't work until someone wrote a game specific to the
architecture (by supplying multiple Player Characters, basically), but the
framework would be available.

....And I suppose it wouldn't be so difficult to hack a game so that, for
example, a second player could control the Thief in Zork I...


