Course: Processor Architecture and Compilers

« Back
Course title Processor Architecture and Compilers
Course code AUPKS/AE0AP
Organizational form of instruction Lecture + Lesson
Level of course Master
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction English
Status of course Compulsory, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Jašek Roman, prof. Mgr. Ph.D., DBA
  • Lukašík Petr, Ing.
  • Černý Petr, Ing.
Course content
1. Architecture of processor 2. Instructions and instruction sets of modern processors 3. Introduction to formal languages 4. Grammar and language generated by grammar 5. Chomsky's hierarchy of grammars 6. Contextual grammar, context-free grammar, regular grammar 7. Selected parts of the theory of automata and an introduction to the compilers 8. Compiled and interpreted languages 9. Types and structure of compilers 10. Lexical and syntactic analysis 11. Code optimization 12. Memory management

Learning activities and teaching methods
Lecturing, Exercises on PC
  • Participation in classes - 15 hours per semester
prerequisite
Knowledge
Knowledge from areas: Basic Programming Skills Fundamentals of Mathematical Logic Fundamentals of Informatics
Knowledge from areas: Basic Programming Skills Fundamentals of Mathematical Logic Fundamentals of Informatics
learning outcomes
Because the compilation process is important today, student will gain a deeper insight into the development of modern applications (how to develop compile-friendly programs). The student will also be equipped with theoretical and practical knowledge that will allow him to understand both the positive and negative consequences of the implementation of various program structures. The student will be able to effectively implement the learned knowledge on various program constructions and paradigms.
Because the compilation process is important today, student will gain a deeper insight into the development of modern applications (how to develop compile-friendly programs). The student will also be equipped with theoretical and practical knowledge that will allow him to understand both the positive and negative consequences of the implementation of various program structures. The student will be able to effectively implement the learned knowledge on various program constructions and paradigms.
teaching methods
Exercises on PC
Exercises on PC
Lecturing
Lecturing
assessment methods
Written examination
Written examination
Recommended literature
  • AHO, Alfred V. Compilers: principles, techniques & tools. Boston: Pearson ; Addison Wesley, 2007. ISBN 0-321-49169-6.
  • APPEL, Andrew W. Modern compiler implementation in C. Cambridge: Cambridge University Press, 1998. ISBN 0-521-60765-5.
  • APPEL, Andrew W. Modern compiler implementation in Java. New York, NY, USA: Cambridge University press, 1998. ISBN 0-521-58388-8.
  • ČEŠKA, Milan, Tomáš HRUŠKA a Miroslav BENEŠ. Překladače. Brno: Vysoké učení technické, 1993. ISBN 80-214-0491-4.
  • LOUDEN, Kenneth C. Compiler construction: principles and practice. Boston: PWS Pub. Co., 1997. ISBN 0-534-93972-4.
  • MAREŠ, Jan. Jazyky, gramatiky a automaty. Praha: České vysoké učení technické v Praze, 2011. ISBN 978-80-01-04904-4.
  • MELICHAR, Bořivoj. Jazyky a překlady. Praha: Vydavatelství ČVUT, 2003. ISBN 80-01-02776-7.
  • MOGENSEN Torben ?gidius. Basics of Compiler Design. Copenhagen: University of Copenhagen, 2010. ISBN 978-87-993154-0-6.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester