[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNU-COBOL] Re: Laura Leaving GNU COBOL Project
- To: gnu-cobol@lusars.net
- Subject: Re: [GNU-COBOL] Re: Laura Leaving GNU COBOL Project
- From: Laura Tweedy <tweedy@lusars.net>
- Date: Thu, 21 Oct 1999 00:50:16 -0400
- Delivered-To: gnu-cobol-outgoing@wallace.lusars.net
- In-Reply-To: <380840A5.D9BFFCE4@melbpc.org.au>; from Tim Josling on Sat, Oct 16, 1999 at 07:08:53PM +1000
- References: <19991015003239.A2295@hathor.lusars.net> <380840A5.D9BFFCE4@melbpc.org.au>
- Reply-To: gnu-cobol@lusars.net
- Sender: owner-gnu-cobol@wallace.lusars.net
Tim Josling (tej@melbpc.org.au) wrote:>
>
> I know you spent a lot of time looking at parser generators and I
> would really like to get a brain dump of what you found. What
> were the issues and which ones do you think we should consider?
From the list of compiler generators:
(http://www.first.gmd.de/cogent/catalog/index.html)
(As a note, I am fairly impatient and grew tired to trying to beat some of
these packages into doing simple examples. They might be worth pursuing
their suitability. Others (like Eli IIRC) were complicated enough to setup
and run that I thought they would be too much of a burden on users.)
Cocktail - Has alot of tree transformation tools. LALR(1) and LL(1)
which I didn't think would be able to handle the Cobol grammar.
Eli - A "translator constructor", I never got it working correctly. Looked
interesting but seemed to cater to small grammars.
GENTLE - Like Cocktail, it had numerous tree manipulation tools and walkers.
Again, I never got it to work.
PCCTS - The tools we used for the first version. Pretty good. It had some
annoyances (like not handling all the verbs we added, but that was
a weird case). It claims LL(k), but we found 4 to 8 to be a practical
limit for the stuff we were doing.
Its biggest plus was the ability to read from multiple grammar
description files, which made separating verbs out easier.
btyacc - btyacc looks promising. I never got it to work correctly with
backtracking (its big win). Another drawback is BNF, which doesn't
seem like a problem until you try some of the more complicated verbs.
PRECC - I don't think I ever tried this at all. It looks interesting because
of some of the context sensitive things, but I don't really know how
useful that would be in the real world.
SableCC - This was another very promising candidate. I actually had made the
decision to use this until I starting adding verbs to the grammar
and the compile times became the major bottleneck. (I think it was
on the order of 30-40 minutes for 10 incomplete verbs (!)).
Machines are so fast now that this might not be a problem. The
really great part about this compiler generator was that the
grammar and the actions were separated. This made the grammar
amazingly clean.
COCOM - This is what I wanted to switch to instead of PCCTS. It has EBNF
input, and is backward bison input compatible, and can generate C++,
if you so desire. This is very nearly an EBNF bison. It claims
LR(k).
All of the above are on the Catalog of Compiler tools (URL above), except for
COCOM which is at http://www.geocities.com/SiliconValley/Lab/4557/cocom.html
(or was, last time I looked).
I also have links of interest at http://www.lusars.net/~tweedy/bookmarks.html
in the COBOL section.
That's all I can think of really. Everything I have done so far is under
anonymous ftp on hathor.lusars.net /pub/all_cobol.tar.gz
Let me know if you have questions about the source or anything else.
Good Luck!
laura
--
Laura Tweedy .. tweedy@lusars.net
"If you're going through Hell, keep going..." -- Winston Churchill
--
This message was sent through the gnu-cobol mailing list. To remove yourself
from this mailing list, send a message to majordomo@lusars.net with the
words "unsubscribe gnu-cobol" in the message body. For more information on
the GNU COBOL project, send mail to gnu-cobol-owner@lusars.net.