[muddle] READ-TABLE parser

kaz at lambdaverse.org kaz at lambdaverse.org
Mon Mar 12 02:31:49 PDT 2018


I've designed a lexing/parsing API based on extending READ-TABLEs to
be suitable for Unicode, and a full ruleset for parsing Muddle. It
supports identifying parse errors and their locations, and is highly
extensible so it can easily handle ADECLs, hex notations, and anything
else we need. It still needs some polishing and is broken for some
edge cases, but it can parse the files I've tried (except itself--its
private namespace contains sentry ATOMs that it can't read; need to
change to out-of-band signaling).  More details on the design are in
the file comments. It's fairly slow but it's going to be until we have
a bytecode interpeter. It's still a WIP, and currently in-between a
Unicode-oriented implementation and a simpler table-based version that
should run a bit faster under Confusion.

I put it under a `stdlib` subdirectory of a new master repo we can use
to keep all our modular components in sync. It can be cloned here:
repo: git://git.lambdaverse.org/muddle
branch: master

To use the parser you'll needs a patched version of Confusion--I
fixed* a bug in READSTRING where it was stripping !s from the input
file (I didn't completely fix it but it should rarely fail now, and if
hits the bad case now it'll throw an error):
repo: git://git.lambdaverse.org/confusion
branch: master

I've also been working out in-depth semantics for the bytecodes from
the new MIM docs. More on that later this week!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://muddlers.org/pipermail/muddle/attachments/20180312/0993ce40/attachment.sig>


More information about the muddle mailing list