Engelska Studiehandboken kurser

Computer Science, Electrical Engineering

SMD002 Compiler Design 6.0 ECTS credits

DENNA SIDA FINNS OCKSÅ PÅ SVENSKA

General information about studying at Luleå university


TIMEPERIOD: II


LANGUAGE: English/Swedish

EXAMINER
Glenn Jennings Univ lekt


PREREQUISITES
Imperative Programming and Hardware/Software Interface. Hardware/Software Interface may be taken concurrently.

COURSE AIM
The goal of the course is for the student to construct a nontrivial and working compiler for a "C"-type imperative language, which translates source code all the way down to assembler code for a standard pipelined uniprocessor (for example, MIPS asembler); and to learn the theory needed to understand this.

CONTENTS
When the course begins, the teacher presents the problem which the participants shall solve. To solve this problem, the participants must then learn and apply what is needed.

TEACHING
The compiler-writing is broken up into a number of cumulative subgoals; the subgoals act as guidance toward the final goal. The student is expected to meet the deadlines for each subgoal. There will be a small number of lectures, mostly directed toward the compiler construction, however a few will deal with theoretical aspects as well.

EXAMINATION
Written examination. The student is expected to meet the course deadlines; therefore the exam will be based in large part on the student«s expected experience gathered during the entire compiler construction: scanner (FLEX), parser (BISON), dictionary construction and seeking, intermediate code and its optimizations, instruction scheduling, register allocation, final code and peephole optimizations.
COURSE GRADE SCALE: U,3,4,5

ITEMS/CREDITS

Required assignment                                         	4.5ECTS
Written exam                                                	1.5ECTS


COURSE LITTERATURE
Aho, Sethi, Ullman: Compilers: Principles, Techniques and Tools 2nd ed. Addison-Wesley. 1986. A.I. Holub: Compiler Design in C. Prentice-Hall 1990; also Kernighan, Ritchie: The C Programming Language, 2nd ed. Prentice-Hall 1988.

REMARKS
Course not given during academic year 97/98. The course assumes the student has knowledge of discrete mathematics and of abstract datatypes. The compiler is to be coded in standard "C": the student who does not know "C" will be expected to learn it on his own, as the course proceeds.
Last modified : 97-06-05 by Jan Lindberg
Further information: Glenn Jennings

Back to department menu