|Looking for dynamic parser generator email@example.com (1991-03-01)|
|Re: Looking for dynamic parser generator joshua@Atherton.COM (1991-03-07)|
|From:||firstname.lastname@example.org (Russell Turpin)|
|Organization:||U. Texas CS Dept., Austin, Texas|
|Date:||1 Mar 91 23:26:57 GMT|
Most parser generators are designed with the idea that grammar processing and
table generation take place during the development phase of a system, so that
the primary language processing function provided at run time is the ability
to parse strings in one (or perhaps a small fixed number) of languages. I am
interested in any parser generators that work entirely as a set of C
procedures at run-time, so that one can, at run time, parse strings from many
languages and also define new languages. This requires two primary
grammar -> "build parse -> status
table" -> parse table
parse table -> "parse -> status
input string -> string" -> parse tree
Notice that the parser must produce a parse tree, rather than depending on C
(and hence, compiled) semantic actions. Does anyone know how to do this
without writing such procedures from scratch?
I doubt this can be done with yacc and lex.
[I suppose you could run yacc in a subprocess and then read the y.out.c
file to load up some tables. There have been systems that allow you to
augment the syntax as the program is being compiled such as IMP10 and EL/1.
Return to the
Search the comp.compilers archives again.