<div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">I first took a compiler class at Drexel University around 1973.  At that time there were two books, one written in 1972 by Aho on "Parsing" and one written in 1973 by Ullman on "Compiling".  Together the two books cost over 300 dollars...in 1973.  My yearly tuition to Drexel, a private engineering school, was 2000 dollars that same year.   I was lucky enough to have to buy both books as well as pay my tuition.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Realizing these two books were a bit expensive, they mashed the two books together to create the first "Dragon Book" (nicknamed "The Green Dragon Book") in 1977.   I used this for my MSCS that I started in 1974 and finished in 1977...(rats. I had to buy this one too...and it too was not cheap).<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Then I started teaching college in 1977.  I asked my students to buy the Dragon Book, but then I realized that the "mashing" made it so not even Aho or Ullman could understand it.  So I also made my students buy another compiler book by Lewis, Rosenkrantz and Stearns (LR&S) called "Compiler Design Theory", which allowed mere mortals to understand how a compiler might work.  In fact LR&S had a complete compiler written in pseudo code in the appendix of the book.   If you transcribed the pseudo code into real code you would probably get a working compiler.</div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Most of my students never even opened "The Dragon Book" and they hated me for making them buy it.<br><br><a href="https://www.google.com/books/edition/Compiler_Design_Theory/b8AmAAAAMAAJ?hl=en" target="_blank">https://www.google.com/books/edition/Compiler_Design_Theory/b8AmAAAAMAAJ?hl=en</a><br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Therefore in 1986 Al and Jeff tried again and got this one fairly good.   It is known as  "The Purple Dragon Book".<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">I am not saying that the Dragon books were not worth it, but the early editions (to me) were a difficult slog.  LR&S may not have had all of the "depth" of the Dragon Books, but quicksand also has a lot of depth.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">I took compiler theory twice, once in undergraduate and once in graduate studies, but I never really understood it until I had to teach it.   I realized that when you are a student you can not understand 40% of the material and still get a passing grade.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">However, when you are teaching it you have to understand it ALL, because the part you do not understand is the part that they will ask the question on, and if you do not know the answer you will be the GOAT.<br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">So the first time I taught it I would sit in my office working on my lesson plan with about five books open and going between all of them looking for the answers.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">The second year I only needed two books open.</div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Of course there are a lot of other compiler books today.   It has been over thirty years since I actually taught compilers, so I am sure there are a lot of optimizations and issues of parallel programming and cache utilization as well as out-of-order execution considerations.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">However today I can go up to a whiteboard and give a good explanation of lexical analysis, syntactical analysis and code generation with some pretty good optimization talks without even breaking a sweat.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">And now you know the rest of the story.</div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">md</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 5, 2026 at 4:12 PM Pete Hardie via Ale <<a href="mailto:ale@ale.org" target="_blank">ale@ale.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>We used the Dragon book in my compilers class </div><div dir="auto"><br></div><div>Pete Hardie<br>--------<br>Better Living Through Bitmaps</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 5, 2026, 16:00 lollipopman691 via Ale <<a href="mailto:ale@ale.org" target="_blank">ale@ale.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Alfred Aho explains Lex and YACC.  Learning (f)lex and (bison)YACC changed my life, for better or for worse.<br>
<br>
<a href="https://www.youtube.com/watch?v=0ssGOC9m8Nk" rel="noreferrer noreferrer" target="_blank">https://www.youtube.com/watch?v=0ssGOC9m8Nk</a><br>
<br>
-- CHS<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" rel="noreferrer" target="_blank">Ale@ale.org</a><br>
<a href="https://mail.ale.org/mailman/listinfo/ale" rel="noreferrer noreferrer" target="_blank">https://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="https://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">https://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div>