Reddit Reddit reviews Modern Compiler Implementation in Java

We found 9 Reddit comments about Modern Compiler Implementation in Java. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Programming
Software Design, Testing & Engineering
Object-Oriented Design
Modern Compiler Implementation in Java
Cambridge University Press
Check price on Amazon

9 Reddit comments about Modern Compiler Implementation in Java:

u/fadmmatt · 12 pointsr/Compilers

I just taught a compilers class. I've been posting my lecture notes on my blog (with many more to come); these might be useful to you:

  • Meta-circular evaluators and first-class macros
  • Compiling to Java
  • Compiling to C

    I recommend writing a Scheme compiler first, and I'd use Lisp in Small Pieces instead of the Dragon book.

    The Appel books are also a good treatment of compiler writing.

    Try writing a recursive descent parser by hand first. This is a manageable endeavor for a Scheme-like language. I wouldn't bother with ANTLR for a second attempt; I'd use one of the hot parser combinator libraries instead.

    In total, a good first compiler project would be something like:

  • A hand-written lexer.
  • A recursive-descent parser.
  • A normalizing pass to flatten expressions.
  • An escape-analysis pass.
  • A closure conversion pass.
  • A lambda-lifting pass.
  • A C-emission pass.

    You could then retarget to x86 if you write a register allocator.

    Good luck!
u/sriramalka · 11 pointsr/compsci

This is a good list. I'd definitely not go for Winskel's book, and I'd skip the Dragon book because I think it is quite out of date (nothing on type systems, or first-class functions or even objects).

For languages, I'd go with Andrew Appel's Modern Compiler Implementation in Java (or "in ML"), and for language semantics, I'd go with
Semantics with Applications: An Appetizer, followed by Pierce's Types and Programming Languages (TAPL).

Also, Knuth's Concrete Mathematics is very very good, but is heavily skewed towards number theory. It is a must-read if one's interests are in crypto, but won't help you at all if for example, you want to work with databases, theorem proving, programming languages etc. You need a solid set theory foundation. Or if you were interested in graphics or machine learning, I'd go for a solid linear algebra foundation.

There are no systems books on your list, so I'd suggest one on operating systems: it is free and very good.
Operating Systems: Three Easy Pieces

u/lacosaes1 · 9 pointsr/programming

> Modern Compiler Implementation in Java

One question about this book. Everyone here bitches about how the code sucks on that one because Appel tried to write Java as if it was SML. It seems, however, that people here are talking about the first edition. Palsberg made a lot of improvements in the second edition to the code:

http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/052182060X

Has anybody here read the second edition?

u/DonaldPShimoda · 8 pointsr/ProgrammingLanguages

I've peeked at this free online book a few times when implementing things. I think it's a pretty solid reference with more discussion of these sorts of things!

Another option is a "real" textbook.

My programming languages course in university followed Programming Languages: Application and Interpretation (which is available online for free). It's more theory-based, which I enjoyed more than compilers.

But the dragon book is the go-to reference on compilers that is slightly old but still good. Another option is this one, which is a bit more modern. The latter was used in my compilers course.

Outside of that, you can read papers! The older papers are actually pretty accessible because they're fairly fundamental. Modern papers in PL theory can be tricky because they build on so much other material.

u/BinaryLust · 4 pointsr/Compilers

Here are few more advanced books that I highly recommend after you learn the basics and want to really implement something.

​

- Modern Compiler Implementation in Java 2nd Edition

- Advanced Compiler Design and Implementation 1st Edition

​

Also here is a link to a GitHub page with tons of compiler related resources. awesome-compilers

u/[deleted] · 3 pointsr/compsci

When I took my Compilers class, I found that Appel's "tiger book" (http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/052182060X) was a more down-to-earth complement to the dragon book.

u/chalks777 · 1 pointr/Purdue

please don't use url shorteners, it tends to get caught in the spam filter. For anyone wondering, his link goes here.

u/logic_programmer · 0 pointsr/learnprogramming

Yeah, it costs a fair amount to get a half decent lab together but once you do!

Instead of electronics, what about getting a book that takes you through a software project and work your way through that. If you wanted to build a compiler for a language then there is plenty of choice, e.g.:
http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/052182060X/ref=sr_1_1?ie=UTF8&qid=1427095404&sr=8-1&keywords=compiler+design+java

http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/0521607655/ref=la_B000AP5X0W_1_5?s=books&ie=UTF8&qid=1427095531&sr=1-5

http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/0521607647/ref=la_B000AP5X0W_1_1?s=books&ie=UTF8&qid=1427095531&sr=1-1


There's other books for other types of project.

u/robby_w_g · 0 pointsr/programming

Compilers at Marquette? I remember the worst part was the awful Tiger textbook