From: | Chris F Clark <cfc@shell01.TheWorld.com> |
Newsgroups: | comp.compilers |
Date: | 18 Jun 2005 23:21:12 -0400 |
Organization: | The World Public Access UNIX, Brookline, MA |
References: | 05-06-074 05-06-076 05-06-079 05-06-086 |
Keywords: | tools |
Posted-Date: | 18 Jun 2005 23:21:12 EDT |
This note is in response to the following posting. I originally
intended it to be a private email, but since his address was
apparently invalid, I needed to respond in public, which is probably
just as well, since some of what I write is a general invitation.
Karsten Nyblad <d148f3wg02@sneakemail.com> writes:
> Todays computers are large enough to handle LALR(K) with K larger than
> 1. I am building a parser generator that can handle LALR(K), and is
> capable of generating the internal data structures for an LALR(8)
> parser for Ada83 in 1GB.
...
> I am trying to build such a parser generator. I have introduced new
> disambiguate rules on top of the normal #left, #right and #not. This
> rules specify that the parser generator should use a larger value of K
> than one and/or that it should use LR(K) state splitting. However, it
> is a considerable work to write such a parser generator. I think I
> will have more than 30,000 lines of code, before I am finished.
Karsten,
First, good luck on your new project. I have every faith that you
won't need luck though, since you've previously had success on very
similar projects.
Second, would it be possible to get a specification for the notations
you are intending to use? Some of the features you are implementing
are already implemented in Yacc++ or intended to be implemented, and
I'm going through a phase of trying to make Yacc++ more source (and
target) compatible with other parser generators (i.e. so one can read
in grammars not inteded for Yacc++ and get out outputs that you can
use with other implementations). For one of my laments is that to a
large extent the compiler-compiler world is fairly Balkanized.
Third, I am wondering if it might be possible to cooperate on your new
project. I would offer you a copy of Yacc++ to start as the basis of
your new project, but it sounds like you already have a working
prototype. However, there may be code or algorithm snippets that you
could borrow from Yacc++. I would also be happy to discuss with you
the ideas you are pursuing, if you would find that useful.
Hope this helps,
-Chris
*****************************************************************************
Chris Clark Internet : compres@world.std.com
Compiler Resources, Inc. Web Site : http://world.std.com/~compres
23 Bailey Rd voice : (508) 435-5016
Berlin, MA 01503 USA fax : (978) 838-0263 (24 hours)
------------------------------------------------------------------------------
Return to the
comp.compilers page.
Search the
comp.compilers archives again.