[comp.compilers] needed: PD LL

web@applga.uucp (William Bulley) (11/29/88)

I need to locate a public domain parser for LL(1) grammars and I would
greatly appreciate it if anyone could point me in the right direction.

Thank you very much.

William Bulley  (313) 995-6211  Schlumberger CAD/CAM  ...umix!applga!web
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { decvax | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

irving@bli.com (Irving Reid) (11/30/88)

In article <2963@ima.ima.isc.com> web@applga.uucp (William Bulley) writes:
>I need to locate a public domain parser for LL(1) grammars and I would
>greatly appreciate it if anyone could point me in the right direction.

The University of Saskatchewan (like, Canada, eh?) has a package
called ATS (Attribute Translation System) that generates table-driven
LL(1) parsers with full insert-only error recovery.  It also handles
full left-attribute semantic handling, which is a dream compared to
using YACC's parser actions.  I've used it on a couple of large parser
projects, and it really is nice.

The error correction works by inserting tokens between the last token
accepted and the error token, looking for the shortest possible
sequence.  Parser writers can replace this error handler or supply
weights to adjust the insert tokens chosen.

Last I knew they were distributing ATS for some small sum (like $50)
with the stipulation that if you enhanced ATS you had to send them
back your modifications.  Try sending some e-mail to Dave Bocking
<bocking@skorpio.usask.ca>; feel free to tell him I sent you.


Another system to look at is DEER, described in the 1987 Summer Usenix
(Phoenix, AZ) proceedings.  This generates directly executable C,
rather than a table-driven C machine.  The author is Bob Gray; he lists
his contact address as <bob@boulder.colorado.edu>  Last I knew (this
summer's Usenix) he was still there.  He has since done a scanner
generator, described in the 1988 (San Francisco) Summer Usenix.


For something completely different, I have a full attributed (not just
left-attributed) LL(1) generator written in Miranda, generating
directly executable Miranda parsers.  The input is a bit ugly, because
I haven't built a front end for it, and Miranda is pretty slow, but
it's a handy research tool.

 - irving - (irving@bli.com .. uunet!blia!irving)
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { decvax | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request