|is lex useful? email@example.com (Dan E. Kelley) (1996-06-21)|
|Re: is lex useful? Or how about these other tools... firstname.lastname@example.org (INPACT5 inpact5) (1996-06-26)|
|Re: is lex useful? Or how about these other tools... email@example.com (Scott Stanchfield) (1996-06-27)|
|Re: is lex useful? Or how about these other tools... firstname.lastname@example.org (P A Keller) (1996-06-27)|
|Re: is lex useful? Or how about these other tools... email@example.com (1996-06-30)|
|Re: is lex useful? Or how about these other tools... daniels@Starbase.NeoSoft.COM (1996-07-02)|
|Re: is lex useful? Or how about these other tools... firstname.lastname@example.org (1996-07-03)|
|From:||daniels@Starbase.NeoSoft.COM (Brad Daniels)|
|Date:||2 Jul 1996 22:45:05 -0400|
|Organization:||NeoSoft, Inc. +1 713 968 5800|
INPACT5 inpact5 <email@example.com> wrote:
>Which is the better system of compiler tools :
> lex/yacc (flex/bison/byacc/...)
> visual parse++
>Any other reasonable ones that I missed?
Back in college (1988, I think), we used a tool called Linguist, which was
a really nifty attribute grammar system. I don't recall whether it had any
lexing capabilities, but it was the most BNF-looking thing I've ever seen.
You could define a set of attributes for nonterminals, and pass them
bidirectionally through the grammar something like:
conditional := IF condition action [ else action ]
conditional.code = GEN(IF_CONSTRUCT,condition.code,action1.code,action2.code);
action1.in_conditional = 1;
action2.in_conditional = 1;
I forget the exact syntax, but you get the general idea.
Hans Boehm was my prof in that course. He may be able to point you at it
if you can find his address. He was at Xerox PARC working on GC in C++
last I saw.
The down side of linguist is that there is no guarantee of execution order in
the generated code, but it was really nifty once you worked around the weird-
nesses that fact introduced.
Return to the
Search the comp.compilers archives again.