1997Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: Just a bit of musing -->
<!--X-From-R13: ptNnzv&#45;pt.UenlEntr.Sqzbagba.OP.QO (Quevf Uenl) -->
<!--X-Date: from tacitus.globecomm.net [207.51.48.7] by mx01.ny.us.ibm.net id 857490589.135739&#45;1 Tue Mar  4 15:49:49 1997 -->
<!--X-Message-Id: 9703041423.7und@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: Just a bit of musing</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00048.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00050.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00046.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00050.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00049">Author</A>
&nbsp;|&nbsp;<A HREF="#00049">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00049">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: Just a bit of musing</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: Just a bit of musing</LI>
<LI><em>From</em>: <A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A> (Chris Gray)</LI>
<LI><em>Date</em>: Tue, 4 Mar 97 07:23:17 MST</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
:I posit that, in general, command interpreters for muds are Bad Things. The
:proposal runs sorta like this:
:   The command interface to a mud can be viewed as a context free grammar. A
:such, one should be able to whip up a command interpreter with lex/yacc.
:I've started on it at least a dozen times but never managed to quite
:finish. Is this worthwhile? Thoughts?

I think you'll get a more rigid parser than you want for a MUD. You'll
also get one that you can't add verbs to while the MUD is running. If you
do it the classical lex/yacc way, you won't even be able to add words to
the language!

:The proxy and daemon communicate through shared memory or semaphores or
:some such. Advantages:
:the proxy &lt;-&gt; daemon link conform to a single interface scheme
:the proxy &lt;-&gt; user link can conform to several protocols... say one for
:   text-based users, another for binary messages etc.
:if the user has link troubles, or is idle or whatever, it's the proxy that
:hangs.
:the proxy-daemon comm method is thru semaphores/shared memory. daemon
:writes updates to a shared segment that is read-only to all proxies. daemon
:reads new info from one segment per proxy. If the proxy has trouble and the
:segment isn't updated, the daemon skips it. Look ma... user A's troubles
:don't cascade and screw user B. Thoughts?

That's what I've got. I use AmigaOS Exec messages between the proxies and
the central server. In the Amiga's single address space, that's lots fast.
I currently have three different proxy programs: MUDAgent (talks serial
port reliable protocol), MUDBinary (supports my custom client over a
TCP link), and MUDText (supports a dumb telnet text-only connection).

The reason I did this is a bit different, however. My in-MUD interpreted
language has a recursive descent parser in a shared library. It needs to
maintain its own state in a parse (input can be huge!). So, I needed a
separate process for each client running something other than my custom
MUD client (which does the parsing local).

--
Chris Gray   cg#ami-cg,GraySage.Edmonton.AB.CA

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00048.html">Re: Quadtrees?</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00050.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00046.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00050.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00049"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00049"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: Just a bit of musing</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00039" HREF="msg00039.html">Re: Just a bit of musing</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 03 Mar 1997, 03:13 GMT
</LI>
<LI><strong><A NAME="00042" HREF="msg00042.html">Re: Just a bit of musing</A></strong>, 
Dmitri Kondratiev <a href="mailto:dima#paragraph,com">dima#paragraph,com</a>, Mon 03 Mar 1997, 09:36 GMT
</LI>
<LI><strong><A NAME="00045" HREF="msg00045.html">Re: Just a bit of musing</A></strong>, 
Carter T Shock <a href="mailto:ctso#umiacs,umd.edu">ctso#umiacs,umd.edu</a>, Mon 03 Mar 1997, 21:22 GMT
</LI>
<LI><strong><A NAME="00046" HREF="msg00046.html">Re: Just a bit of musing</A></strong>, 
Wout Mertens <a href="mailto:Wout.Mertens#rug,ac.be">Wout.Mertens#rug,ac.be</a>, Mon 03 Mar 1997, 22:51 GMT
</LI>
<LI><strong><A NAME="00049" HREF="msg00049.html">Re: Just a bit of musing</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 04 Mar 1997, 23:49 GMT
</LI>
<LI><strong><A NAME="00050" HREF="msg00050.html">Re: Just a bit of musing</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 05 Mar 1997, 08:53 GMT
</LI>
<LI><strong><A NAME="00051" HREF="msg00051.html">Re: Just a bit of musing</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Wed 05 Mar 1997, 14:31 GMT
</LI>
<LI><strong><A NAME="00052" HREF="msg00052.html">Re: Just a bit of musing</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 05 Mar 1997, 14:33 GMT
</LI>
<LI><strong><A NAME="00054" HREF="msg00054.html">Re: Just a bit of musing</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 05 Mar 1997, 16:15 GMT
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>