Maintaining scope while parsing C with a Yacc grammar

Chris F Clark <cfc@shell01.TheWorld.com>
Sun, 12 Jun 2011 20:43:13 -0400

          From comp.compilers

Related articles
[2 earlier articles]
Re: Maintaining scope while parsing C with a YACC grammar bobduff@shell01.TheWorld.com (Robert A Duff) (2011-04-26)
Re: Maintaining scope while parsing C with a YACC grammar eliben@gmail.com (eliben) (2011-04-28)
Re: Maintaining scope while parsing C with a YACC grammar bobduff@shell01.TheWorld.com (Robert A Duff) (2011-05-02)
Re: Maintaining scope while parsing C with a YACC grammar torbenm@diku.dk (2011-05-03)
Re: Maintaining scope while parsing C with a YACC grammar paul@paulbmann.com (Paul B Mann) (2011-05-06)
Re: Maintaining scope while parsing C with a YACC grammar idbaxter@semdesigns.com (Ira Baxter) (2011-05-13)
Maintaining scope while parsing C with a Yacc grammar cfc@shell01.TheWorld.com (Chris F Clark) (2011-06-12)
| List of all articles for this month |

From: Chris F Clark <cfc@shell01.TheWorld.com>
Newsgroups: comp.compilers
Date: Sun, 12 Jun 2011 20:43:13 -0400
Organization: The World Public Access UNIX, Brookline, MA
References: 11-04-036 11-04-038 11-05-003 11-05-007
Keywords: C, parse, types
Posted-Date: 13 Jun 2011 01:37:33 EDT

I'm sorry I missed this discussion. I did see the comments by Ira
Baxter and Paul Mann though and found them very informative. The one
thing that it prompted me to add is that there results are not
contradictory.


Paul Mann's grammar additions allow one to describe scoping as a
S-attributed grammar problem--that's the class of calculations one can
perform in one pass as one parses with an LR grammar. This matches
the fact that many languages such as C & Pascal are defined to allow
their declarations to be processed in one pass with define before use
rules.


The system Ira Baxter described was a general attribute solving
system. Thus, it includes Paul's model, but being more general
requires more work to do so. The general system does allow parsing
languages like PL/I where the declaration can appear after some (or
all) of the uses.


Hope this helps,
-Chris


******************************************************************************
Chris Clark email: christopher.f.clark@compiler-resources.com
Compiler Resources, Inc. Web Site: http://world.std.com/~compres
23 Bailey Rd voice: (508) 435-5016
Berlin, MA 01503 USA twitter: @intel_chris


Post a followup to this message

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