Re: is lex useful? Or how about these other tools...

daniels@Starbase.NeoSoft.COM (Brad Daniels)
2 Jul 1996 22:45:05 -0400

          From comp.compilers

Related articles
is lex useful? kelley@phys.ocean.dal.ca (Dan E. Kelley) (1996-06-21)
Re: is lex useful? Or how about these other tools... inpact5@clr34el.der.edf.fr (INPACT5 inpact5) (1996-06-26)
Re: is lex useful? Or how about these other tools... scooter@mccabe.com (Scott Stanchfield) (1996-06-27)
Re: is lex useful? Or how about these other tools... bsspak@bath.ac.uk (P A Keller) (1996-06-27)
Re: is lex useful? Or how about these other tools... mkgardne@pertsserver.cs.uiuc.edu (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... preston@tera.com (1996-07-03)
| List of all articles for this month |

From: daniels@Starbase.NeoSoft.COM (Brad Daniels)
Newsgroups: comp.compilers,comp.compilers.tools.pccts
Date: 2 Jul 1996 22:45:05 -0400
Organization: NeoSoft, Inc. +1 713 968 5800
References: 96-06-073 96-06-115
Keywords: tools

INPACT5 inpact5 <inpact5@clr34el.der.edf.fr> wrote:
>Which is the better system of compiler tools :
> pccts
> lex/yacc (flex/bison/byacc/...)
> muskox
> visual parse++
> eli
> txl
>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.


- Brad
--
Brad Daniels
daniels@neosoft.com
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.