I am currently reading through Engineering a Compiler because I heard that The Dragon Book is outdated and doesn't cover many things. However, some sources tell me that The Dragon Book is still good even though it has aged. What does /prog/ think?
I'm only in chapter 3 but finding it interesting so far, but I'm getting tired of the mathematical symbols used to describe everything without any clarification for someone who doesn't hasn't spent a good amount of time studying Set Theory. In a regular grammar, however, productions in P are restricted to one of two forms: α→a, or α→aβ, where α, β ∈ NT and a ∈ T.
Gee, thanks.
Also, are there any other books on compiler design that are decent?
Name:
Anonymous2009-11-14 14:59
SICP.
Name:
Anonymous2009-11-14 15:00
all that theoretical is for bookworm faggots. real programmers don't need that. just download yacc and flex or whatever and start hacking
Compiler Construction: Principles and Practice, by Kenneth Louden is said to be pretty good. I wouldn't know, I've had it sitting on my bookshelf for half a year now. Every night I am thinking to myself: Well, I could start reading now, but I never do.
Name:
Anonymous2009-11-14 15:18
α→a
"α" implies "a." Implying something is the same as "if α then a"
α→aβ
Same thing. α implies the result of a AND β (boolean)
β ∈ NT
a ∈ T
∈ means that "a" is a member/element of set T
I forget this part. Can you AND full sets? what does NT represent? an intersection?
>>5
Yeah... I mean I appreciate the fact that a book on compilers of all things is necessarily going to be very technical and the subject matter not necessarily easy to fully grasp at first, but damn, do I really have to learn all that Set Theory stuff when these concepts could probably be explained in plain English too? Does The Dragon Book or >>4's book contain a lot of this heavy mathematical notation like that too?
>>7
Or you could just learn some set theory, it's not that bad. Hell, I did some in high school
Name:
Anonymous2009-11-14 15:56
I don't think you don't understand that “heavy mathematical notation”, enjoy your compiler books.
Name:
Anonymous2009-11-14 16:17
alternatively, you could stop being pretenious and either learn all the prequests or stop reading material or such scope alltogether.
Name:
Anonymous2009-11-14 16:24
Why do you need to learn set theory for that? Don't T and NT just mean terminal and non-terminal? Read a little about formal languages and you'll understand.
Name:
Anonymous2009-11-14 17:20
>>5
I don't think that an arrow means implication in this context.
Name:
Anonymous2009-11-14 18:20
>>14
It's the closest thing we have to green text on this board; it HAS to be implies.
I'm assuming by Dragon Book you're referring to Principles of Compiler Design which, yes, is rather old. The "other" Dragon Book (http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools) was updated in 2006, and it is considerably more modern and up-to-date. Nevertheless, Aho is pretty good at introducing stuff, book outdated or not, and any such book you can get your hands on will have useful information in it.
Name:
Anonymous2009-11-14 23:04
>>5 α→a
> "α" implies "a."
Nice try, but this arrow represents a production rule in a grammar, which is not the same as logical implication.
7/10