[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNU-COBOL] Re: Laura Leaving GNU COBOL Project



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.