Schedule, syllabus and examination date

Course content

This course covers principles and techniques central for compilation and spanning all phases of conventional compilers. That includes syntatic and semantic analysis, how to organize data at run-time and code generation.

Learning outcome

After completing the course:

  • you will have gained insight into established techiques and principles underlying compilers, and based on that you will be able to implement a small compiler covering central phases of a compiler.
  • you can implement the syntactic phase of a compiler (lexing and parsing), with regular expressions and context-free grammars foundation, and with standard tools like lex and yacc.
  • you will have learned crucial basic techniques for later phases of a compiler, including type checking, register usage, and code generation, and will have implemented a code generator with a byte-code as target output.
  • by learning how a compiler concretely deals with different linguistic aspects (for instance, parameter passing, scopes, memory management at run-time) you will have gained a deeper understanding of different kinds programming languages of different kinds (procedural, object-oriented, or functional).

Admission to the course

Students admitted at UiO must?apply for courses?in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.

If you are not already enrolled as a student at UiO, please see our information about?admission requirements and procedures for international applicants.

IN2010 – Algorithms and Data Structures and IN3040 – Programming Languages

Overlapping courses

Teaching

4 hours of lectures per week.

Submission of compulsory assignments is required.?Read more about requirements for submission of assignments, group work and legal cooperation under guidelines for mandatory assignments.

Examination

Oral or written exam depending in the number of enrolled.

All mandatory assignments must be approved to be allowed to take the exam.

It will also be counted as one of?your three?attempts to sit the exam for this course, if you sit the exam for one of the following courses:?INF5110 – Kompilatorteknikk (continued), INF9110 – Kompilatorteknikk (discontinued), INF310/IN310

Examination support material

All written and printed (for written exam).

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F?is a fail. Read more about?the grading system.

More about examinations at UiO

You will find further guides and resources at the web page on examinations at UiO.

Last updated from FS (Common Student System) Dec. 24, 2024 6:03:08 PM

Facts about this course

Level
Master
Credits
10
Teaching
Spring
Examination
Spring
Teaching language
Norwegian