Luleå University of Technology
home search contact us student
Course Catalog 1998/99


Computer Science, Electrical Engineering

SMD002 Compiler Design 6.0 ECTS credits

TIMEPERIOD:
II

LANGUAGE:English/Swedish

EXAMINER
Glenn Jennings Univ lekt


PREREQUISITES
SMD011 Imperative Programming and SMD082 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.50ECTS
Written exam 1.50ECTS

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.

Further information: Glenn Jennings

Valid for school year 1998/99.
Latest version:http://www.luth.se/stuka

Web Editor: Birgitta.Hakansson@dc.luth.se


The University | Student | Research | Search | Contact us | In Swedish


LULEÅ UNIVERSITY OF TECHNOLOGY
University Campus, Porsön, 971 87 Luleå. Tel. +46 (0) 920-91 000, fax +46 (0) 920-91 399
Last edited 1998-08-28