Related articles |
---|
Parsing fully context-free grammars lowell@coasttocoastresearch.com (Lowell Thomas) (2005-09-17) |
Re: Parsing fully context-free grammars haberg@math.su.se (2005-09-18) |
Re: Parsing fully context-free grammars lowell@coasttocoastresearch.com (Lowell Thomas) (2005-09-22) |
Re: Parsing fully context-free grammars haberg@math.su.se (2005-09-23) |
Re: Parsing fully context-free grammars paul@parsetec.com (Paul Mann) (2005-10-02) |
Re: Parsing fully context-free grammars haberg@math.su.se (2005-10-02) |
Re: Parsing fully context-free grammars drikosv@otenet.gr (Evangelos Drikos) (2005-10-03) |
Re: Parsing fully context-free grammars paul@parsetec.com (Paul Mann) (2005-10-04) |
Re: Parsing fully context-free grammars hannah@schlund.de (2005-10-06) |
[2 later articles] |
From: | "Lowell Thomas" <lowell@coasttocoastresearch.com> |
Newsgroups: | comp.compilers |
Date: | 22 Sep 2005 23:41:51 -0400 |
Organization: | Compilers Central |
Keywords: | parse |
Posted-Date: | 22 Sep 2005 23:41:51 EDT |
>>This is somewhat unspecific. You have two different parses, which generate
>>two different parse trees. What do you mean with emulating these two
>>different parse trees from a single one?"
Well, in particular, I'm looking at the two parse trees in Fig. 4.6,
pg. 175 of the Dragon Book. If you just read the translation from the
leaves of the trees, the first gives
if(expr) then {if(expr) then {stmt} else {stmt}}
the second gives
if(expr) then {if(expr) then {stmt}} else {stmt}
APG actually generates the first tree. But during a depth-first
traversal of that tree, using different stack push/pop mechanisms at
the recursive "stmt" nodes, it's not hard to match the "else" either
of the two "then"s, effectively emulating the second tree during a
depth-first traversal of the first.
Lowell Thomas
Return to the
comp.compilers page.
Search the
comp.compilers archives again.