Compilers and Compiler Generators: An introduction with C++ is available in pdf, postscript and zipped html formats. It is also available as an online book. This book has been written to support a practically oriented course in programming language translation for senior undergraduates in Computer Science.
More specifically, it is aimed at students who are probably quite competent in the art of imperative programming (for example, in C++, Pascal, or Modula-2), but whose mathematics may be a little weak; students who require only a solid introduction to the subject, so as to provide them with insight into areas of language design and implementation, rather than a deluge of theory which they will probably never use again; students who will enjoy fairly extensive case studies of translators for the sorts of languages with which they are most familiar; students who need to be made aware of compiler writing tools, and to come to appreciate and know how to use them. It will hopefully also appeal to a certain class of hobbyist who wishes to know more about how translators work.
Topics included: Introduction •Translator classification and structure • Compiler construction and bootstrapping • Machine emulation • Language specification • Simple assemblers • Advanced assembler features • Grammars and their classification • Deterministic top-down parsing • Parser and scanner construction • Syntax-directed translation • Using Coco/R – overview • Using Coco/R – Case studies • A simple compiler – the front end • A simple compiler – the back end • Simple block structure • Parameters and functions • Concurrent programming •
Publisher: Coriolis Group
File size: 1.06 MB
Number of pages: 427