Compiler Construction
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-CCN | Z,ZK | 5 | 3P | English |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
This is an introductory class on compiler construction for bachelor students in computer science. The goal of the class is to introduce basic principles of compilers for students to understand the design and implementation of programming languages. Seeing and actually understanding self-compilation is the overarching theme of the class.
- Requirements:
-
Basic programming skills.
- Syllabus of lectures:
-
Selfie
Language
Programming Language
Machine Code
Formal Grammar
Machine
Model
Processor
Memory
Input/Output
Instructions
Emulation
Compiler
Scanning
Parsing
Code Generation
Operators
Arrays
Structs
Loops
Conditionals
Procedures
Linking
Bootstrapping
- Syllabus of tutorials:
- Study Objective:
-
After taking the class, students are able to understand the difference between syntax and semantics of a programming language, how syntax is specified and efficiently checked, how semantics is efficiently implemented through code generation, and finally how a compiler that compiles itself is bootstrapped.
- Study materials:
- Note:
- Further information:
- https://courses.fit.cvut.cz/BIE-CCN/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor branch Security and Information Technology, in English, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in English, 2015-2020 (elective course)
- Bachelor branch Computer Science, in English, 2015-2020 (elective course)
- Bachelor Specialization Computer Engineering, 2021 (elective course)
- Bachelor Specialization, Information Security, 2021 (elective course)
- Bachelor Specialization, Software Engineering, 2021 (elective course)
- Master specialization Software Engineering, in English, 2021 (elective course)
- Master specialization Computer Security, in English, 2021 (elective course)
- Master specialization Computer Systems and Networks, in English, 2021 (elective course)
- Master specialization Design and Programming of Embedded Systems, in English, 2021 (elective course)
- Bachelor Specialization, Computer Science, 2021 (elective course)
- Bachelor Specialization, Computer Networks and Internet, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, 2021 (elective course)
- Master specialization Computer Science, in English, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor branch Computer Science, in English, 2015-2020 original version (elective course)
- Master Specialization Digital Business Engineering, 2023 (elective course)
- Bachelor Specialization, Computer Engineering, Version 2024 (elective course)
- Master Programme Informatics, unspecified Specialization, in English, 2021 (elective course)
- Master specialization Computer Science, in English, 2024 (elective course)