Related articles |
---|
Source for compiler using yacc/lex wanted platon!fauzan@uunet.uu.net (1996-03-05) |
Re: Source for compiler using yacc/lex wanted Steve_Kilbane@cegelecproj.co.uk (1996-03-08) |
Re: Source for compiler using yacc/lex wanted pjj@cs.man.ac.uk (1996-03-08) |
Re: Source for compiler using yacc/lex wanted nandu@longs.att.com214) (1996-03-15) |
Re: Source for compiler using yacc/lex wanted theedge@sun11.rbg.informatik.th-darmstadt.de (1996-03-22) |
Re: pretty-printing with yacc and lex scooter@mccabe.com (Scott Stanchfield) (1996-03-22) |
Re: pretty-printing with yacc and lex macrakis@osf.org (1996-03-27) |
From: | theedge@sun11.rbg.informatik.th-darmstadt.de (felix gaertner) |
Newsgroups: | comp.compilers |
Date: | 22 Mar 1996 00:35:57 -0500 |
Organization: | Compilers Central |
References: | 96-03-042 96-03-058 |
Keywords: | yacc, lex |
>Our moderator writes:
>>[I actually think that lex and yacc are lousy tools to use for a pretty
>>printer, because they throw too much information away.
>...
>
>If you have some actions in the lex (e.g. doing things with newlines
>and comments) as well as in the yacc (e.g. spotting the ends of
>control structures that don't have an explicit terminating keyword),
>and as long as you are careful about lookahead, then surely you should
>be able to do just about anything you want?
>[Not really, for the reasons outlined in the previous message on this topic.
>C has a two-level grammar, and the techniques you use to parse it don't lend
>themselves to recreating the source code. -John]
I have used lex and yacc (better: flex and bison) to build a multi
purpose prettyprinter and in most cases it works fine. Actually, the
project that I did was to build a prettyprinter generator that would
build a prettyprinter from a formal specification of how a given
language should be prettyprinted. I haven't experimented with a lot
of languages (only Pascal and C), but the results come out nicely
(even with preprocessor commands).
You might want to look at this URL, which gives first information on
the ``pretzel'' project:
http://www.student.informatik.th-darmstadt.de/~theedge/pretzel.html
Accompanying the pretzel distribution is a 60 page report dealing with
the problems of prettyprinting of source code (using context free
grammars) in a quite detailed fashion.
Felix
--
________"_________________________________________________
Felix Gartner (theedge@rbg.informatik.th-darmstadt.de)
CS Dept., Technical University of Darmstadt, Germany
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.