Re: Need an interesting topic for an undergraduate project on Compilers

Philip Herron <redbrain@gcc.gnu.org>
Sat, 3 Sep 2011 06:43:30 +0100

          From comp.compilers

Related articles
[7 earlier articles]
Re: Need an interesting topic for an undergraduate project on Compiler cr88192@hotmail.com (BGB) (2011-08-31)
Re: Need an interesting topic for an undergraduate project on Compiler thomas.mertes@gmx.at (tm) (2011-08-30)
Re: Need an interesting topic for an undergraduate project on Compiler torbenm@diku.dk (2011-08-31)
Re: Need an interesting topic for an undergraduate project on Compiler bumens@dingens.org (Volker Birk) (2011-08-31)
Re: Need an interesting topic for an undergraduate project on Compiler cr88192@hotmail.com (BGB) (2011-09-01)
Re: Need an interesting topic for an undergraduate project on Compiler gneuner2@comcast.net (George Neuner) (2011-08-31)
Re: Need an interesting topic for an undergraduate project on Compiler redbrain@gcc.gnu.org (Philip Herron) (2011-09-03)
Re: Need an interesting topic for an undergraduate project on Compiler cbergstrom@pathscale.com (=?ISO-8859-1?Q?=22C=2E_Bergstr=F6m=22?=) (2011-09-03)
Re: Need an interesting topic for an undergraduate project on Compiler gneuner2@comcast.net (George Neuner) (2011-09-03)
Re: Need an interesting topic for an undergraduate project on Compiler christophe.de.dinechin@gmail.com (Christophe de Dinechin) (2011-09-04)
| List of all articles for this month |

From: Philip Herron <redbrain@gcc.gnu.org>
Newsgroups: comp.compilers
Date: Sat, 3 Sep 2011 06:43:30 +0100
Organization: Compilers Central
References: 11-08-006 11-08-007 11-08-029 11-08-030 11-09-003
Keywords: courses, GCC
Posted-Date: 03 Sep 2011 02:14:02 EDT

I would recommend the experience of implementing a front-end in GCC
its a great area to start implementing a language and you can
concentrate on more specificity what you want to do. We are really
starting to get a lot of cool documentation but we have yet to try and
get it merged into mainline but you can contact us through the mailing
list for the links to that. Gccgo/gfortran are really good reference
front-ends my front-end gccpy is quite complicated.


But if you've never written a compiler from scratch i would recommend
spending like a week just implementing some really basic language and
outputting to some target code to really get a feel in the nitty
gritty what it is to work with compilers otherwise i dont think you
would really understand why certain aspects work the way they do.


When it comes to "new and innovative" i think you need to work on
compilers for a bit to understand what that is on your own. Since here
be dragons... lol.


As for interesting undergrad project you could either checkout my
project gccpy or gccgo or PHC (php compiler Paul Biggar's phd is a
good read for this i think he floats on this list) or Parrot. I think
are all interesting projects to possibly work on and have a lot of
scope. The best part about these is you could sit at a more high-level
rather than trying to delve into the depths of code-gen in llvm or gcc
which is not a task for the faint hearted trying to find some new
innovative algorithm there.


As for the backend outputting to C thread here, i dont recommend this
as i personally believe it will push you to produce bad IL and
middle-end code because you will rely too much on C. And in the end if
you want to do more interesting things you may be a little too reliant
on C and thus your limited by C. Though outputting C does have its
advantage in that you can easily output target code and makes your
compiler quite simple but i don't think it gives the full picture.


--Phil


Post a followup to this message

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