Course Text

The course text is a special collection of chapters of two very good text books, plus some supplementary material not available in standard text books. The text is required for the course and is available as an Eastman Course Pack which can be purchased in the basement of the McGill Book Store (look under the stairs going to the basement for the Eastman Custom Publishing area). The course text contains extracts from:
  1. Compiler Construction, Kenneth C. Louden, 582 pages
  2. Modern Compiler Implementation in C, Andrew W. Appel, 544 pages
  3. SableCC: An Object-Oriented Compiler Framework, M.Sc. Thesis, McGill Unviersity, Etienne Gagnon
plus, the following documents:
  1. Flex, version 2.5, by Vern Paxson
  2. Bison, The YACC-compatible Parser Generator, November 1995, Version 1.25
  3. A Beginner's Guide to HTML, NCSA
  4. An instantaneous introduction to CGI scripts and HTML forms, The University of Kansas, Michael Grobe
The order of the readings is:
  1. Introduction, Louden (Chapter 1), pages 1-30
  2. Lexical Analysis, Appel (Chapter 2) pages 16-38
  3. Flex, version 2.5, by Vern Paxson
  4. Context-Free Grammars and Parsing, Louden (Chapter 3), pages 95-142
  5. Parsing, Appel (Chapter 3.2 - 3.5), pages 46-87
  6. Bison, The YACC-compatible Parser Generator
  7. SableCC Gagnon (Chapters 3-6)
  8. A Beginner's Guide to HTML
  9. An instantaneous introduction to CGI scripts and HTML forms
  10. Symbol Tables, Louden (Chapter 6.3.1 - 6.3.4), pages 295-308
  11. Data Types and Type Checking, Louden (Chapter 6.4), pages 313-334
  12. Garbage Collection, Appel (Chapter 13), pages 273-298
  13. Liveness Analysis, Appel (Chapter 10), pages 218-234