How can I 'unroll' a YACC generated parser?
12 Mar 1998 23:19:19 -0500

          From comp.compilers

Related articles
How can I 'unroll' a YACC generated parser? (1998-03-12)
Re: How can I 'unroll' a YACC generated parser? (resslere) (1998-03-15)
Re: How can I 'unroll' a YACC generated parser? (Orlando Llanes) (1998-03-18)
| List of all articles for this month |

Newsgroups: comp.compilers
Date: 12 Mar 1998 23:19:19 -0500
Organization: Deja News - The Leader in Internet Discussion
Keywords: yacc, question

I have a hand-coded program that processes a string of commands to
create a data record. There is a grammar associated to this string of
commands, and I would like to replace the hand-coded program with
something generated from Yacc.

However, this is not a standalone program; instead of it providing the
loop control, looping is provided for it outside of the program. To be
exact, the hand-coded program provides an API to other, higher-level,

What I need to do is 'unroll' a Yacc generated parser, so that the
entrypoint of the parser is where the next token is provided. This
would allow the API caller to pass a single token to the parser with
each invocation.

Pictorially, this looks like...

                typical YACC-generated parser what I want

                                      ! <get token>
                                      ! !
                            +--->! !
                            ! +----+ !
                            ! ! !
                            ! <get token> !
                            ! ! !
                            ! +----+ !
                            ! ! !
                            ! <process token> <process token>
                            ! ! !
                            +----+ !
                                      ! !
                                  <exit> <exit>

The calling program would be responsible for the iteration through the
parser, providing a single token to each iteration.

Does anyone know of a parser generator that will accept a Yacc-like
grammar definition and produce an 'unrolled' parser?


Lew Pitcher
System Consultant, Delivery Systems Architecture
Toronto Dominion Bank

Post a followup to this message

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