TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Basics of Compiler Design [pdf]

47 pointsby lapenneabout 16 years ago

5 comments

rlmabout 16 years ago
I've read it as a part of the introductory compiler course at DIKU (Computer Science dept. of University of Copenhagen).<p>It's good for exactly what the title says: Basics of Compiler Design. It won't make you a compiler guru, but it will give you a good grasp of the fundamentals.<p>If anyone is interested, I could share the weekly assignments and the exam project from the course.<p>The advanced compiler course at DIKU uses Modern Compiler Implementation in ML: <a href="http://www.cs.princeton.edu/~appel/modern/ml/" rel="nofollow">http://www.cs.princeton.edu/~appel/modern/ml/</a>.
Bjoernabout 16 years ago
I can only recommend the "Dragon Book". Its old but really a great intro into Compilers. I had the benefit of working with it must say I didn't find anything better so far.<p>Compilers: Principles, Techniques, and Tools by Alfred V. Aho (Author), Ravi Sethi (Author), Jeffrey D. Ullman (Author)<p><a href="http://www.amazon.com/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886" rel="nofollow">http://www.amazon.com/Compilers-Principles-Techniques-Alfred...</a>
评论 #603308 未加载
10renabout 16 years ago
Just browsing the contents on parsing (what I"m working on), it seems little different from the Dragon book. Has the simplest way to construct a parser really not improved after all these years? What about the LL(*) class of parsers that ANTLR uses, and packrat parsers (I don't use these, have just heard about them).<p>Or has "parsing" become a pedagogical foundation subject, whose content is determined not by pragmatic usefulness, but by the its role in the curriculum?(e.g. so if you say you've studied "parsing" people can assume you know about LALR, even if no one uses it.) I'm not saying the latter would be a bad thing - we need a common vocabulary - I'd just like to see progress at the core as well as the edges.
Simucalabout 16 years ago
In his first section he describes a compiler as something that turns high-level code into machine code. This isn't necessarily true is it?<p>A compiler is something that takes code in one language and converts it to another. It can be a Python to Javascript compiler, or a C to x86 Assembly Compiler (which can then be assembled using an appropriate assembler).<p>I'm reading both Louden's "Compiler Construction: Principles and Practice" and the Dragon Book. They are both good so far.
评论 #603229 未加载
friismabout 16 years ago
I was taught by this book while at DIKU. It's pretty 'dry' with its LaTex typesetting and all, but thorough and pretty comprehensive within the scope.