Course syllabus - Compiler Theory
Scope
7.5 credits
Course code
DVA230
Valid from
Autumn semester 2015
Education level
First cycle
Progressive Specialisation
G2F (First cycle, has at least 60 credits in first-cycle course/s as entry requirements).
Main area(s)
Computer Science
School
School of Innovation, Design and Engineering
Ratified
2014-04-15
Status
This syllabus is not current and will not be given any more
Literature lists
Course literature is preliminary up to 8 weeks before course start. Course literature can be valid over several semesters.
-
Books
Modern compiler implementation in Java
2. ed. : New York : Cambridge University Press, 2002 - x, 501 s.
ISBN: 0-521-82060-X LIBRIS-ID: 8513076
-
Books
Modern compiler implementation in C
Rev. and expanded ed. : Cambridge : Cambridge University Press, 1998 - x, 544 p.
ISBN: 9780521607650 (2004 : hft.) LIBRIS-ID: 8665201
URL: Link
Objectives
This course aims to give theoretical and practical knowledge on how programming languages are defined and designed, and how a language can be transformed into object code. It should provide knowledge in how to construct different types of compilers as well as providing the basics of type analysis as well as giving insight in current technologies of compiler design.
Learning outcomes
The student should be able to construct compilers that are capable to translate high-level languages to assembler.
Specially the student should be able to:
1. Formulate a context free grammar from an informal description of a context free language, using BNF.
2. Define the syntax and semantics of a simple programming language.
3. Create a recursive top-down compiler based on a context free grammar.
4. Use tools for generating compilers, including comprehension of messages from the tool.
5. Handle syntax directed translation in type analysis.
6. Show how activation records are used during runtime, considering multi function programs.
7. Know about recent research issues within compiler theory.
Course content
How to define languages. Lexical analysis. The LL- and LR-methods for syntactical analysis. Syntax directed translation. Run-time environment. Intermediate representation of programs. Compiler generators. Insight into current research issues.
Tuition
Lectures with exercises and supervised laboratory work.
Specific requirements
Mathematics from three years of upper secondary school with science profile and a TOEFL test result (PBT) at least 530, TWE score 4, (iBT) at least 72, TWE score 17 or IELTS test score for academic purposes with an overall band score of minimum 5.5 and no band score below 5.0. The English test is COMPULSORY for all applicants except citizens of Australia, Canada, Ireland, New Zealand, United Kingdom and USA. The TOEFL code you must use is SWEDEN 9520.
Practical and theoretical knowledge in - Programming in a high level language - Basic data structures and algorithms - Basic discrete mathematics. At least one of the courses Operating systems, Data communication, or Functional programming.
Examination
Exercise, laboratory work (LAB1), 4 ECTS credits, marks Fail (U) or Pass (G), (examines the learning objectives 1-5)
Examination (TEN1), Written Exam, 3.5 ECTS credits, marks Fail (U), 3, 4 or 5, (examines the learning objectives 5-7)
A student who has a certificate from MDU regarding a disability has the opportunity to submit a request for supportive measures during written examinations or other forms of examination, in accordance with the Rules and Regulations for Examinations at First-cycle and Second-cycle Level at Mälardalen University (2020/1655). It is the examiner who takes decisions on any supportive measures, based on what kind of certificate is issued, and in that case which measures are to be applied.
Suspicions of attempting to deceive in examinations (cheating) are reported to the Vice-Chancellor, in accordance with the Higher Education Ordinance, and are examined by the University’s Disciplinary Board. If the Disciplinary Board considers the student to be guilty of a disciplinary offence, the Board will take a decision on disciplinary action, which will be a warning or suspension.
Grade
Grading scale: 5, 4, 3
Interim Regulations and Other Regulations
The course completely overlaps with CDT301 Compiler Theory.