How to obtain a flattened list of tokens

Lex Yaccer <>
Mon, 9 Nov 2009 03:24:39 -0800 (PST)

          From comp.compilers

Related articles
How to obtain a flattened list of tokens (Lex Yaccer) (2009-11-09)
| List of all articles for this month |

From: Lex Yaccer <>
Newsgroups: comp.compilers
Date: Mon, 9 Nov 2009 03:24:39 -0800 (PST)
Organization: Compilers Central
Keywords: parse, question
Posted-Date: 11 Nov 2009 01:01:54 EST


I want to view a flattened list of all rules for a particular non-
terminal (can be the top-most one too).
So, for something like:

top: middle1 | middle2

middle1: leaf1 leaf2 | leaf3

leaf1: terminal1 | terminal2
leaf2: terminal3 | terminal4
leaf3: terminal5

I would like to see flattened list for middle1 as

middle1: terminal1 terminal3
| terminal2 terminal3
| terminal1 terminal4
| terminal2 terminal4
| terminal5

Thus, all the possible rules for middle1 are flattened out in terms of
its terminals.

[In general it's impossible since recursive rules have a potentially
infinite expansion, but for cases where there's no reference loops
it's just a simple macro expansion. -John]

Post a followup to this message

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