Re: How To Design A Code Generator

Christian Parpart <cparpart@surakware.net>
21 Mar 2002 22:03:09 -0500

          From comp.compilers

Related articles
How To Design A Code Generator cparpart@surakware.net (Christian Parpart) (2002-03-17)
Re: How To Design A Code Generator dontexists@hotmail.com (Pietro) (2002-03-19)
Re: How To Design A Code Generator dobes@dobesland.com (Dobes Vandermeer) (2002-03-21)
Re: How To Design A Code Generator cparpart@surakware.net (Christian Parpart) (2002-03-21)
| List of all articles for this month |

From: Christian Parpart <cparpart@surakware.net>
Newsgroups: comp.compilers
Date: 21 Mar 2002 22:03:09 -0500
Organization: SurakWare
References: 02-03-074 02-03-115
Keywords: code, design
Posted-Date: 21 Mar 2002 22:03:09 EST

Pietro inspired the electrons to say:


> Hi
> Christian Parpart wrote:
>> I was wondering if someone can tell me some information about
>> code generators and its design. We're currently developing our
>
> I advice you to read the Go4's "Design Patter" book. In Particular the
> visitor pattern come with a really helpful example about code generator
> design.
>


I've already read that book, "Design Patterns". And it really helped
for our Compiler Backend Library and its high-level code tree
manipulation.


Now we need to implement low-level code generation, that means. We
need an abstract layer for generation binary(i386/sparc/...) and
assembler (intel/at&t/...) and for the ABI (ELF,A/OUT/Win32EXE/...).


But this is a little problem for me since I've never written any code
generation tool. I am looking a something like this I want to write
just to take a look at it to get a point to start. I've already
written in assembler (intel style), so I do know (just) basic thinks
how I'd implement such abstract interfaces.


Does anyone have such informations? Or is this, what I'd like to
implement, the first library who should do this?


thanks in advance,
Christian Parpart
http://www.surakware.net/projects/libcbl/ (project page)


Post a followup to this message

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