views:

184

answers:

3

I need some urgently. Thanks for any help.

+1  A: 

Learning a lot about compilers isn't something you can do terribly quickly. It takes years of study and practice.

For back-end optimization, I don't think you can find a large amount of good information centralized anywhere online, apart from at the implementation level in open-source compilers. (I may be wrong, of course; I'd love to be proven wrong.) There are a large set of general ideas, such as constant folding, copy propagation, register allocation, strength reduction, loop variable induction, just to name some of the core ideas off the top of my head, and by searching on these individually you may find papers with the latest (or older) ideas.

For the basic concepts before the back end (chiefly, lexing, parsing and type checking), there are any number of introductions. Jack Crenshaw's tutorial, mentioned by the other poster, is one that is accessible to people without even a college background. Once upon a time a younger self wrote this sketch from comp.compilers - I too owe a debt to Jack :)

Barry Kelly
about backend optimization and some basic principles.
MainID
+2  A: 

The best online resource for people with no compiler background is Let's Build a Compiler by Jack Crenshaw.

Norman Ramsey
That is a really good series. I really enjoyed it. It's a pity the ASM is for such an old architecture.
Jonathan C Dickinson
+1  A: 

Here are excellent and comprehensive lecture notes (video/audio and screencast) on a complete compilers course.

none