CS2111 - Book list

None of these cover the course exactly but you may find them useful. I will produce lecture handouts but you will need to make extra notes. Many of these are available in the Student Resource Centre (indicated by [SRC]), the rest should be in the University library.

There is additional information at

Book list from the syllabus

Programming Languages: principles and practice
PWS-KENT (Thomson), 1993 (0-534-93277-0) [SRC]
Thorough coverage of language design, with some information about implementation.

H.E.Bal & D.Grune
Programming Language Essentials
Addison-Wesley, 1994 (0-201-63179-2) [SRC]
Similar to Louden's book, but condensed.

J.Levine, T.Mason & D.Brown
Lex and Yacc (2nd ed.)
O'Reilly and Associates, 1992 (1-56592-000-7) [SRC]
A superb description of lex & yacc.


T.W.Pratt & M.V.Zelkowitz
Programming Languages design and implementation (3rd ed.)
Prentice Hall, 1996 (0-13-678533-6)
Maybe this should be the recommended textbook? It seems to be slightly more relevant to this course than Bal&Grune or Louden, although I would like more examples in places. It is the biggest of the three.

Alternative references available locally

These cover similar topics to the books listed in the syllabus, but in different styles, or from different viewpoints, or in more detail. You may also want to refer to the booklist for CS3041.

M.E.Lesk & E.Schmidt
Lex - A Lexical Analyzer Generator

Yacc: Yet Another Compiler-Compiler

P.C.Capon & P.J.Jinks
Compiler Engineering Using Pascal (chs. 3, 6-10)
Macmillan, 1988 (out of print)
Chs. 11-13 may be useful for CS2042.

a newsgroup, moderated by John Levine. The FAQ includes a reading list about lex, yacc and compiling in general.


This is NOT a course about C or SML but, as part of finding out about language design, we do look at some details of these languages. You may want to refer to the booklists for CS1041, CS1062, CS1511 and CS1522.

P.van der Linden
Expert C programming: deep C secrets
Prentice Hall, 1994
Excellent book about C, also covering topics like linking, and C++.

S.P.Harbison & G.L.Steele Jr.
C: A reference manual (4th ed.)
Prentice Hall, 1995

P.J.Plauger & Jim Brodie
Standard C - A Reference
Prentice Hall, 1996 http://www.cs.man.ac.uk/applhax/C/standard_c

ANSI Technical Committee X3J11
Rationale for ANSI C

newsgroups: comp.lang.c and comp.lang.moderated.c including
comp.lang.c FAQs $CS2111/doc/c_faq/*