Compiler Design I
Course, Bachelor's level, 1DL321
Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 31 October 2023–14 January 2024
- Language of instruction
- English
- Entry requirements
-
60 credits including 15 credits in mathematics, including Automata Theory, and 30 credits in computer science, including Operating Systems and a second course in computer programming or Process-Oriented Programming
- Selection
-
Higher education credits in science and engineering (maximum 240 credits)
- Fees
-
If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application and tuition fees.
- Application fee: SEK 900
- First tuition fee instalment: SEK 10,833
- Total tuition fee: SEK 10,833
- Application deadline
- 17 April 2023
- Application code
- UU-11019
Admitted or on the waiting list?
- Registration period
- 17 October 2023–7 November 2023
- Information on registration.
Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English For exchange students
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 31 October 2023–14 January 2024
- Language of instruction
- English
- Entry requirements
-
60 credits including 15 credits in mathematics, including Automata Theory, and 30 credits in computer science, including Operating Systems and a second course in computer programming or Process-Oriented Programming
Admitted or on the waiting list?
- Registration period
- 17 October 2023–7 November 2023
- Information on registration.
About the course
A compiler translates a computer program from a high-level language, such as C or Java, to machine code, the internal representation in the computer.
Compilation takes several steps. The first step is lexical analysis, to separate the program into "words". The syntactic analysis finds the structures. Code generation is often done in two steps, via an intermediate code to machine code. Often the code is improved through code optimisation.
The methods and tools from compiler design are useful for other forms of translation, for example from XML to a data structure.