Skip to main content
8 votes

Book to substitute "Compilers: Principles, Techniques and Tools" by Ullman et. al. (popularly known as the red dragon book)

The "problem" with the dragon book is that it is so complete; intentionally so. Over its lifetime there have been tremendous advances in the theory and practice of building compilers. If you ...
Buffy's user avatar
  • 36.4k
6 votes
Accepted

How to teach hardware-software integration to new developers?

Why are you making them reinvent everything? I know that there are people who believe that you learn more powerfully if you generate everything yourself, but I do not believe that research backs that ...
Ben I.'s user avatar
  • 33.9k
4 votes
Accepted

Should an undergraduate course on Programming Languages precede or succeed the course on Compiler Construction?

Typically a CS curriculum will have Programming Languages (or Programming Language Principles) either prior to Compiler Construction or concurrent with it. The course you describe is more like a "...
Buffy's user avatar
  • 36.4k
4 votes

Book to substitute "Compilers: Principles, Techniques and Tools" by Ullman et. al. (popularly known as the red dragon book)

I last taught the Compiler course in 2008, that's a longtime with probably newer books have appeared. (ie sorry if the answer is somehow outdated) But I did had the same complains from the students, ...
ShAr's user avatar
  • 149
4 votes

Principles of Compiler Design v/s Compilers: Principles, Techniques and Tools by Aho, Ullman

Although it is not quite what you are asking, I deprecated these two books when teaching compiler design as many otherwise capable students are finding them tough going. I started to focus on more ...
Brian Tompsett - 汤莱恩's user avatar
3 votes

The theory of parsing, translation, and compiling, v.s. Compilers: Principles, Techniques, and Tools?

A lot has been done since 1973. But for an introduction, the earlier books should be fine. For a more advanced treatment, choose a modern book, of course. Another book that I like a lot is On Pascal ...
Buffy's user avatar
  • 36.4k
3 votes
Accepted

(FOSS) Application to show/explain compilation?

One crazy suggestion, install Python from source. Configure time about 42 sec. and compile time either around 3 minutes, or 48 sec with make -j. Your class will be ...
Gypsy Spellweaver's user avatar
3 votes

Should an undergraduate course on Programming Languages precede or succeed the course on Compiler Construction?

I teach a Programming Language Principles before a Compiler course. I do have to talk a little about compilers, about 1 hour, just to discuss the compiled/interpreted distinction. It is useful to ...
Jacques Wainer's user avatar
1 vote

How to teach hardware-software integration to new developers?

Late answer, but IMO, "real industrial eval boards" that are capable of running Linux sound like overkill if the only goal is to "to develop C program that will read an I2C sensor."...
Solomon Slow's user avatar
1 vote
Accepted

Processing of arithmetic expressions, under both types of associativity

the examples you gave are correctly parenthesized w.r.t. the associativity of the two grammars and the evaluation order is correct. Consequently, results are correct as well. You can try this yourself ...
Chaos's user avatar
  • 126
1 vote
Accepted

C language tokenizer output for static integer array

Generally speaking a lexer (tokenizer) isn't concerned with semantics, only with classifying symbols, so i is just an identifier without meaning. It is the semantic analysis that connects the symbols ...
Buffy's user avatar
  • 36.4k
1 vote

(FOSS) Application to show/explain compilation?

Actually you have a misconception about compilers vs interpreters in the modern age. The stages of compilation (simplified) are Syntax Analysis (scanners - find the words and symbols and replace with ...
Buffy's user avatar
  • 36.4k
1 vote

Any good beginner tutorials for learning LLVM

As stated in Buffy's answer, you'll want to first be familiar with the other steps of compilation, because code generation is typically the last step in the compiler pipeline. If you haven't already, ...
thesecretmaster's user avatar
  • 4,795

Only top scored, non community-wiki answers of a minimum length are eligible