CS301 Languages and Compiler Design I Winter 1999
Instructor:
Andrew Tolmach
Course Information
Syllabus
(postscript)
PCAT Language Reference Manual
(postscript)
Sample PCAT programs
hello
8q
fibb
hanoi
sort
square
Regression testing
(postscript)
Lecture Notes
Lecture 1: (1/4/99) Introduction
(4up postscript)
(html)
Lecture 2: (1/6/99) No lecture notes for today; will discuss homework 1.
Lecture 3: (1/11/99) Language Design; Historical Survey
(4up postscript)
(html)
Lecture 4: (1/13/99) Lexical Analysis
(4up postscript)
(html)
Lecture 5: (1/20/99) More Lexical Analysis
(4up postscript)
(html is broken -- sorry)
Lecture 6: (1/25/99) Syntactic Analysis; Grammars
(4up postscript)
(html is broken -- sorry)
Lecture 7: (1/27/99) Top-down parsing; Recursive-Descent
(4up postscript)
(html is broken -- sorry)
Lecture 8: (2/1/99) Table-driven top-down parsing; LL(1)
(4up postscript)
(html is broken -- sorry)
Lecture 9: (2/3/99) Bottom-up parsing
(4up postscript)
(html is broken -- sorry)
Lecture 10: (2/10/99) No lecture notes for today; discussed homework 3.
Lecture 11: (2/15/99) Parser generators; Syntax directed-translation
(4up postscript)
(poor-quality plain text)
Lecture 12: (2/17/99) More Syntax directed-translation
(4up postscript)
(poor-quality plain text)
Lecture 13: (2/22-24/99) Types
(4up postscript)
(poor-quality plain text)
Lecture 14: (3/1/99) Syntax-directed type checking
(4up postscript)
(poor-quality plain text)
Lecture 15: (3/3/99) Abstract data types
(4up postscript)
(poor-quality plain text)
Lecture 16: (3/8-10/99) Object-oriented Programming
(4up postscript)
(poor-quality plain text)
Object-oriented C++ framework for AST trees
Homework Assignments
Handing in assignments
(postscript)
(html)
Homework 1
(postscript)
(html)
ast.h
ast.c
parse0.c
check0.c
main0.c
makefile
bad.e
example1.e
Homework 2
(postscript)
(html)
Token names.
Homework 3
(postscript)
(html)
concrete.txt (PCAT concrete syntax).
ast.txt (PCAT abstract syntax).
byte_codes.txt (PCAT token byte codes).
ast.h
ast.c
lexin.c
lexout.c
token_bytecodes.h
dotest
newbaseline
Homework 1 E Language yacc parser spec
Homework 1 E Language lexer
Homework 4
(postscript)
(html)
types.h
types.c
symbol.h
symbol.c
parse_ast.y
ast.h
ast.c
Other Useful Links
CS301 Mailing List Archive