4 ms·
Book: Compiler Construction, by Niklaus Wirth [pdf]
- deweller 16y agoSo many fun things to read. So little time!
- MarkBook 16y agoLife was so much simpler back in the olden times when people worked 6 days a week, there wasn't the same demands on time.
- petercooper 16y agoJack Crenshaw's "Let's Build A Compiler" is another classic: http://compilers.iecc.com/crenshaw/ http://compilers.iecc.com/crenshaw/ .. Back in the mid 90s, it's what got me into a continuing interest in compiler and interpreter development. It has a different audience to Wirth's, though. It's very entry level, almost "Dummies" level.
- aarongough 16y agoGreat link Peter! Just the sort of info I am looking for at the moment as well...
- silentbicycle 16y agoThat can be good, though - so many compiler texts go into heavy detail about LALR parsing algorithms, etc., and it's hard to get a sense of how it all ties together. Abdulaziz Ghuloum's "An Incremental Approach to Compiler Construction" (http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf) is great, too!
- brianobush 16y agoI went through this series several years back and it was very good. I just wish Jack had finished it :( I always enjoyed his writing style (embedded systems programming magazine - programmer's toolbox;, e.g.,http://www.eetimes.com/discussion/programmer-s-toolbox/4026927/Classic-Crenshaw-Rooting-for-Integer-Square-Roots- http://www.eetimes.com/discussion/programmer-s-toolbox/40269... )
- MarkBook 16y agoIt seems to require turbo pascal to work. Is it possible to find this?
- MarkBook 16y agoFound this https://downloads.embarcadero.com/free/turbopascal https://downloads.embarcadero.com/free/turbopascal
- petercooper 16y agoIt leans on Pascal, but when I first read it, I was waist deep in Turbo C. Luckily Pascal is almost pseudocode.. :-) The Pascal is simple enough that, I suspect, FreePascal would be OK with it - http://www.freepascal.org/ http://www.freepascal.org/ - though getting Turbo Pascal 7 for DOS would be a real blast from the past.
- pietrofmaggi 16y agoPorting of Crenshaw classic to Forth: http://home.iae.nl/users/mhx/crenshaw/tiny.html http://home.iae.nl/users/mhx/crenshaw/tiny.html "Jack W. Crenshaw wrote the Let's Build a Compiler article series from 1988 - 1995. This document is a formatted version of that excellent non-technical introduction to compiler construction. These web pages were created in 2005, and port Mr. Crenshaw's original Pascal code for the 68000 under SK*OS to the Forth language on a 80x86 CPU, under Windows XP." And porting to Haskell: http://alephnullplex.appspot.com/blog/view/2010/01/12/lbach-1-introduction http://alephnullplex.appspot.com/blog/view/2010/01/12/lbach-...
- francoisdevlin 16y agoWow... this book is exactly why ALGOL languages suck. They create too much of a barrier between the mind and the computer. With a LISP much of this is not even required, because you create the syntax tree directly. Infix notation for the fail.
- mahmud 16y agoWhat? Oberon is the simplest language to implement, I know, I did .. in Lisp. Here is a text that shows you how, and it's free: http://homepages.cwi.nl/~steven/pascal/book/pascalimplementation.html http://homepages.cwi.nl/~steven/pascal/book/pascalimplementa... There is another book, whose very generic name escapes me. It's a compiler book using Pascal; it went out of print in the late 80s. That one had invaluable tricks about code generation and optimizing for obsolete processors. There are Z-80 chips still in the market, and that book was the only one that I know of that had algorithms on code generation for accumulator machines. Somebody please prove me wrong! I got my copy of it for fifteen U.S. cents from a local university. The inside of the back cover has those old pockets for keeping library book cards; it was checked out from the library roughly 4 times and it has been on the shelf at least since 1976, the earliest checkout stamp on the card! Here is the kicker; I enrolled in that university for one cheap class, and spent the whole semester extending and renewing the book every time it was due. You see, In 26 years, I was the only person to have borrowed it, and I did so 3 times. Imagine my surprise one day when I went in to browse the shelves, and I saw the book at the library entrance a mid a pile of National Geographics and Popular Mechanics rags. What a treasure! I didn't have $0.15, so I gave them a quarter and donated the change to hire education. I wonder what IT certification book they replaced it with.
- petercooper 16y agoAwesome story. Please tell us that you actually kept the book!? :-)
- mahmud 16y agoWell, if you have a habit of calling family from overseas asking them to move your stuff from your apartment because you're "not coming back", well, crap happens. Last year when I was "permanently moving to Australia", my family staged and intervention and forced me to for-once move my things to my parents' house first. My immigration lasted roughly 364 days, the maximum duration of a tourist stay :-P
- fmora 16y agoThanks for providing this link. I was not looking for this information but now that I have it I know I will use it. I have always wondered how compilers work and know that I will get a great amount of value out of this book and several others listed here. This is why it pays to hang around HN. Every once in a while gems like these show up.