FP8-17 Course Description Schedule Resources Semester Plan

Software Programmable Signal Processing Platform Analysis, Spring 2006: Episode 3

Lecture, March 29, morning

Subject: Semantic Analysis.

Text: Read Appel 5.1 (only pp.103–105), 5.3-5.4, pp.125–133 and pp.150–173. C does not have higher order functions, so you may skip p.126 when reading. Similarly, due to the lack of nested functions in C, you may ignore the parts on static links starting on p.133

Prerequisites: basic knowledge of C programming language

Comments: In this lecture we should study variable scopes, type checking and stack frames. The typechecking shall be illustrated using excerpts from the Appel's implementation and from the lcc compiler. Do not strive to understand all the details of the code fragments. The goal is to understand the essence of the type checking algorithm. The major part of this lecture is devoted to stack allocation discipline and calling conventions. We shall first approach the problem in general terms (using the explanation by Andrew Appel) and then make it very concrete for our architecture (using the TI documentation). We shall not describe the architecture in detail, yet. Only discuss properties of some registers. The architecture is being introduced in episode 4.

Time: Wednesday, Mar 29, 8:30–10:00. Room A6-308

Tutorial: 10:15–12:00. Room your group office.

Resources: (TBA)

episode03-handout.pdf
lecture slides
exercises03.pdf
exercise sheet
lcc
A free, simple retargettable compiler, mentioned in the lecture. One way to set off for your own adventure with compiler implementation is to grab LCC and start modifying it.