Re: YACC with infinite lookahead

Chris F Clark <cfc@world.std.com>
20 May 1999 01:47:52 -0400

          From comp.compilers

Related articles
YACC with infinite lookahead daniele.benegiamo@aleph.it (Daniele Benegiamo) (1999-05-16)
Re: YACC with infinite lookahead bbuckley@ozemail.com.au (Bob Buckley) (1999-05-20)
Re: YACC with infinite lookahead cfc@world.std.com (Chris F Clark) (1999-05-20)
Re:YACC with infinite lookahead scavadini@hotmail.com (Salvador V. Cavadini) (1999-05-20)
Re: YACC with infinite lookahead demaille@solo.enst.fr (Akim Demaille) (1999-05-21)
Re: YACC with infinite lookahead vmakarov@cygnus.com (Vladimir Makarov) (1999-05-21)
Re: YACC with infinite lookahead bromage@cs.mu.OZ.AU (1999-05-27)
| List of all articles for this month |
From: Chris F Clark <cfc@world.std.com>
Newsgroups: comp.compilers
Date: 20 May 1999 01:47:52 -0400
Organization: The World Public Access UNIX, Brookline, MA
References: 99-05-072
Keywords: yacc, parse

Daniele Benegiamo asked:


> Someone know if there exists a version of YACC with infinite lookahead?
>
> I'm writing a compiler for a new language and I have found that LALR(1)
> implemented by Yacc needs too adjustments in the grammar that make it
> too unreadable.
>
> I have tried to use PCCTS but his syntax is too complex and the problem
> of readability is not resolved. Instead the syntax of Yacc is ok but
> have the lookahead problem.


As of 2.3 (or perhaps it was 2.2) Yacc++(R) supports syntactic
predicates for infinite lookahead (via controlled backtracking). The
rest of the notation is essentially yacc extended with regular
expressions. Note that it is a commercial product and not public
domain, free software, or shareware though.


Visual Parse++ has a "natural language" mode that appears to be
Tomita/Lang style parsing (simulating an Earley parser using LR tables
and generating "shared parse forests"). Again, it is a commercial
product.


The tool Btyacc applies backtracking rules to yacc grammars to achieve
"infinite lookahead". I don't remember whether it is commercial or not.


Disclaimer, I helped write Yacc++.


Hope this helps,
-Chris


*****************************************************************************
Chris Clark Internet : compres@world.std.com
Compiler Resources, Inc. CompuServe : 74252,1375
3 Proctor Street voice : (508) 435-5016
Hopkinton, MA 01748 USA fax : (508) 435-4847 (24 hours)
------------------------------------------------------------------------------
Web Site in Progress: Web Site : http://world.std.com/~compres


Post a followup to this message

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