Related articles |
---|
YACC, going the other way elk@cblpn.att.com (1991-04-15) |
Re: YACC, going the other way zeil@cs.odu.edu (1991-04-23) |
Re: YACC, going the other way carlton@aldebaran.Berkeley.EDU (1991-04-23) |
Re: YACC, going the other way wunder@hpsdel.sde.hp.com (Walter Underwood) (1991-04-24) |
Re: YACC, going the other way zvr@ntua.gr (1991-04-25) |
Re: YACC, going the other way jimad@microsoft.UUCP (1991-04-26) |
Re: YACC, going the other way ressler@cs.cornell.edu (1991-05-01) |
Newsgroups: | comp.compilers |
From: | carlton@aldebaran.Berkeley.EDU (Mike Carlton) |
In-Reply-To: | <1991Apr23.163353.28709@cs.odu.edu> |
Keywords: | yacc, testing, prolog |
Organization: | Compilers Central |
References: | <1991Apr23.140427.5416@iecc.cambridge.ma.us> |
Date: | Tue, 23 Apr 91 20:38:41 PDT |
In article <1991Apr23.140427.5416@iecc.cambridge.ma.us> elk@cblpn.att.com (Edwin Lewis King +1 614 860 3394) writes:
>I'm interesting in generating strings that are described by a BNF (OK,
>YACC) grammar.
How proficient are you in Prolog? Prolog is a very nice environment to
do this sort of thing.
I recently took a bnf specification (written in prolog) of an intermediate
language an modified it to be a generator for the same language. The
specification was an executable program which succeeded iff the input was
in the language given by the bnf. It was a simple matter to replace a few
low level test rules such as
register(r(I)) :- integer(I).
with generators such as
register(r(0)).
register(r(1)).
With a suitable set of generators, I was able to generate all interesting
intermediate language statements and then run the output through the backend
for testing.
cheers,
--mike
--
Mike Carlton carlton@cs.berkeley.edu
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.