The Assayer: Let's Build a Compiler The Assayer - book reviews and discussion for the free-information renaissance
home    help    links    log in    log out    add or review a book    contact
Browse by    subject    author    title    reviewer

Let's Build a Compiler

AuthorJack Crenshaw Entered2003-11-22 11:27:27 by bcrowell
Editedit data record FreedomCopyrighted, doesn't cost money to read, but otherwise not free (disclaimer)
SubjectQ.A - Mathematics. Computer science (programming languages)
This link was reported to be OK by user Bathala on 2003-12-17 01:12:01
You can't update this URL or report it OK or broken because you aren't logged in.
ReviewYou can't add a review of this book right now because you're not logged in.
Interesting Compiler Articles
by Robert Scott Horning (robert_horning at the server named netzero dot net) on 2004-03-07 09:16:41, review #391
better than 99%
better than 95%
Jack Crenshaw was one of the original physicists that helped plot the trajectories necessary for the Apollo spacecraft to land on the moon back in the 1960's. As a result, he got to using computer and compilers at a time when there still was quite a bit of hand tweaking going on by the main computer users. One of the first was the original FORTRAN compilers, and he treated compiler design as a hobby since then, reading several compiler books and forming is own ideas about practical compiler design. This series of articles, written over the course of about 10 years, try to do compiler design for mere mortals and has a heavy emphasis on incremental design philosophies. In other words, if you follow the guide you can have a working compiler after reading the second article that does real parsing. By the time you are through with all of the articles and practicing with some of the samples that he gives, you have a number of tools and skills that can be used to build a resonable compiler on your own. Even if you don't care to write your own compiler, this series is still useful to be able to understand what typical compilers do "under the hood", why some compilers perform better and what the perfomance issues are that come up. He covers code optimization, similiarities between compilers and interpreters, memory management, and language design philosophies. The articles have been written with code examples done using the Pascal programming language, specifically the Turbo Pascal. If you want to get a "free" version of this language, Borland is offering it at their "museum": Examples can also be compiled with Delphi (also by Borland), as well as a number of free Pascal compilers. There have been a number of add-on articles written by several other people building on Jack Crenshaw's work, with examples done in other languages including C, Euphoria, and other languages. I sat down and e-mailed Mr. Crenshaw regarding the use and distribution of these documents. He wanted to rewrite them, and was willing to let them go into some sort of copyleft type of license, but never really specified exactly what sort of license he was interested in. Basically, don't change the stuff he wrote and then claim that he wrote it. Give attribution to him if you use his ideas. The changes he wanted to do was move the compiler to a more object-oriented approach, which he suggested would change the design somewhat. Also, he kept changing directions as he wrote the articles, and sensed that essentially a full rewrite from the beginning was necessary to do it justice, so the 16 articles are going to be the full extent of the series. Still, as a series they are good starting points for people interested in compiler design.

You cannot revise or reply to this post because you are not logged in.

The contents of this web page, except the parts contributed by members of The Assayer, are copyright (c) 2000 by Benjamin Crowell, and are copyleft licensed under the Open Publication License 1.0, without options A or B.