top of page
nessfazawebspar

Aho Ullman Compiler Design Solution 11: Discover the Secrets and Strategies of Compiler Design



  • There are four good, fairly recent compiler textbooks available,none of which clearly dominates the others. Lectures and coursematerials will draw on all of them (among other sources). Most ofthese books have been used as the official text for the course atone time or another, and several of them would be suitable as achoice. We picked the Cooper/Torczon book as therecommended one because it seems to have the bestbalance between traditional and more recent material, but you arefree to use whichever of these books you like. All four books will be onreserve in the Engineering Library. Engineering a Compiler, Cooper and Torczon (2nd ed., Morgan-Kaufman, 2012). This book is particularly good on the design tradeoffs needed to build real compilers. Lecture organization and examples will follow this book to some extent. The current edition has some worthwhile changes, but if you have a copy of the first edition it would also be suitable. We will use specific examples and problems from this book.

  • Compilers: Principles, Techniques, & Tools, Aho, Lam, Sethi, & Ullman (Addison-Wesley, 2nd ed., 2007). The "Dragon Book". This is the updated edition of the classic compiler textbook. The coverage of grammars, parsing and optimization is very strong (and has the best theoretical treatment - well beyond what we will do); but the material on semantics and type checking is mixed up with intermediate code generation, and there is very little about SSA intermediate representation, which is a key data structure in most current compilers. If you already have a copy of the first edition, that would also be fine for this course, althought it is pretty dated at this point.

  • Modern Compiler Implementation in Java, Appel (Cambridge University Press, 2nd edition, 2002). This book is oriented around a mini-java project that is the basis of our course project, but it has some idiosyncrasies because of the author's background building compilers for functional languages and because of the close link between the presentation of core material and the project details. Probably the most succinct of the books, and with a good selection of more advanced material. Some past students have found this to be a great match to the course; others have found the presentation to be impenetrable.

  • Crafting a Compiler, Fischer, Crytron and LeBlanc (Addison-Wesley, 2010). The new edition of a classic project-oriented compiler text. It is a reasonably good match to the course and project, but with a different writing (and coding) style compared to the Appel book.

Assignments and Grading The course will be oriented around the project, covering topics inthe order needed for it. The project will be due in phases, both tokeep you on schedule, and so we can give you feedback at crucialpoints to be sure that all is well.




Aho Ullman Compiler Design Solution 11




All groups will be provided with a source code repository on theCSE GitLab server. You must store your project code there and coursestaff will retrieve projects from there for grading. You must not store your compiler or other homework solutions on any publicly accessible web site, repository, or other system. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page