Compiler Design

AUTOMATA THEORY

Lecture notes will be available in either postscript or pdf format.
  • For files that are in postscript format, you need a postscript previewer. You should be able to view them on the SparcStations. If you want to print them, while viewing them, select "save" and save as a file with a ".ps" extension, for example: lect1.psYou can then send the file to the printer by typing: lpr lect1.ps
  • To read PDF files you can download the free Adobe Acrobat Reader.
Lecture Notes

Compilers Design PDF

Programming Languages
and Compilers

Download :


Class
Topic
Lecture slides (pdf)
1
Introduction to course; intro to OCaml
2
Ocaml - tuples and lists
3
OCaml - type definitions, abstract syntax
4
Language implementation overview
5
Lexical analysis
6
Regular expressions, Ocamllex
7
Parsing - context-free grammars, recursive descent parsing
lecture 7(lecture 7 ann) (Code from lecture: 1, 2, 3,1b, 2b, 3b, 3c)
8
Top-down parsing
9
Bottom-up (shift/reduce) parsing
10
LR parsing - conflict resolution

Review for midterm 1 (optional)

Midterm 1 - 180 Bevier Hall, 7-8:30PM
11
Code generation
12
Code generation (cont.)
13
Garbage collection; run-time systems for dynamic languages
14
History of programming languages
15
APL
16
Functional programming: higher-order functions
17
More higher-order functions

Spring break

18
Even more higher-order functions
19
Functional programming in o-o languages
20
Review for midterm 2 (optional)

Midterm 2 - 151 Everitt Lab, 7-8:30PM
21
Inference systems; formalizing operational semantics
22
Type systems
23
Operational semantics
24
Hoare logic for imperative languages
25
Hoare logic for imperative languages
26
Advanced topics: Lazy evaluation; lambda-calculus
27
Advanced topics: functional programming for parallelism
28
Wrap-up; review for final; preview of follow-up courses