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