Course syllabus - Compiler Theory
Scope
7.5 credits
Course code
CDT301
Valid from
Autumn semester 2013
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
2013-01-29
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
Compilers : principles, techniques, and tools
Reading, Mass. : Addison-Wesley, cop. 1986 - x, 796 s.
ISBN: 0-201-10088-6 LIBRIS-ID: 8279527
Objectives
This course aims to give practical knowledge how to build various kinds of compilers, based on the established theories.
Learning outcomes
The student should be able to construct compilers that is capable to translate high-level languages to assembler.
Specially the student should be able to:
- Formulate a context free grammar from an informal description of a context free language, using BNF.
- Create a recursive top-down compiler based on a context free grammar.
- Use tools for generating compilers, including comprehension of messages from the tool.
- Handle syntax directed translation in type analysis.
- Show how activation records are used during runtime, considering multi function programs.
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.
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 - stressed on the concepts "finite automata", "regular languages" and "regular expressions" At least one additional course with a programming project that has "data structures and algorithms" as a prerequisit. Examples to such courses are "Operating systems" and "Functional programming".
Examination
Exercise, laboratory work (INL1), 4 credits, marks Pass (G)
Examination (TEN1), 3.5 credits, marks 3, 4 or 5
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
Pass with distinction, Pass with credit, Pass, Fail