PA037 Compiler Project

Faculty of Informatics
Autumn 2024
Extent and Intensity
1/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
In-person direct teaching
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 23. 9. to Fri 22. 11. Mon 10:00–12:50 C525, Mon 25. 11. to Mon 16. 12. Mon 10:00–12:50 S215
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 29 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2024
Extent and Intensity
1/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 19. 2. to Thu 9. 5. Thu 12:00–13:50 A319
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 53 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2023
Extent and Intensity
1/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 16. 2. to Thu 11. 5. Thu 12:00–13:50 C416
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 53 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2022
Extent and Intensity
1/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 52 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2021
Extent and Intensity
1/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 52 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2020
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 52 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Learning outcomes
Own experience with implementation of a compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2019
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 23 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2018
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 23 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2017
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 12:00–13:50 C417
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 23 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2016
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 23 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2015
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 22 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2014
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 12:00–13:50 G191m
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 22 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2013
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 10:00–11:50 G123
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 22 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2012
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 14:00–15:50 B411
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 22 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2011
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Thu 14:00–15:50 B411
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 21 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2010
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Wed 12:00–13:50 B411
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 21 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Teaching methods
Lectures, tutorials, project.
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2009
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 18 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge about the structure of programming languages and the funcionality of the corresponding compilers. To pass this seminar, students have to design a simple programming language and implement its compiler. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to the number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler.
Syllabus
  • The logical structure of a compiler. Formalisms used to specify the individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. Unix and the C language.
  • I386 assembler, conventions of the C language.
Literature
  • WILHELM, Reinhard and Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
  • FISCHER, Charles N. and Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. info
  • AHO, Alfred V., Ravi SETHI and Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
Assessment methods
Seminars and a group project.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2008
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Thu 12:00–13:50 B411
Prerequisites
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 18 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
Syllabus
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2007
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Thu 14:00–15:50 B411
Prerequisites
P008 Compilers
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 6 fields of study the course is directly associated with, display
Course objectives
The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
Syllabus
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2006
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Tue 10:00–11:50 B411
Prerequisites
P008 Compilers
PA008 Compiler Construction
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 6 fields of study the course is directly associated with, display
Syllabus
  • The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2005
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Wed 14:00–15:50 B403
Prerequisites
P008 Compilers
PA008 Compiler Construction
Course Enrolment Limitations
The course is only offered to the students of the study fields the course is directly associated with.
fields of study / plans the course is directly associated with
there are 6 fields of study the course is directly associated with, display
Syllabus
  • The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2004
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Thu 12:00–13:50 B411
Prerequisites
P008 Compilers
PA008 Compiler Construction
Course Enrolment Limitations
The course is only offered to the students of the study fields the course is directly associated with.
fields of study / plans the course is directly associated with
Syllabus
  • The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.

PA037 Compiler Project

Faculty of Informatics
Spring 2003
Extent and Intensity
0/2. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. PhDr. Karel Pala, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics
Contact Person: doc. RNDr. Pavel Smrž, Ph.D.
Timetable
Thu 16:00–17:50 B411
Prerequisites
( P008 Compilers || PA008 Compilers )
PA008 Compiler Construction
Course Enrolment Limitations
The course is only offered to the students of the study fields the course is directly associated with.
fields of study / plans the course is directly associated with
there are 6 fields of study the course is directly associated with, display
Syllabus
  • The aim of the seminar is to provide students with a deeper knowledge concerning the structure of programming languages and compilers. To pass this seminar, students have to implement a compiler of a simple programming language. It is possible to work in groups of 2-4 members; the complexity of the project should be proportional to this number.
  • The logical structure of a compiler. Formalisms used for specification of individual modules.
  • The scanner. Regular expressions. Tokens and their precedence.
  • The parser. Top-down and bottom-up analysis.
  • The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
  • The code generator, optimisations.
  • A complete specification of a simple one-pass optimising compiler. Cooperation between modules.
  • Symbol tables as attributes. Declarations, type checking, scope analysis.
  • Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
  • Input and Output. The relationship with operating system. Unix and C.
  • I386 assembler, conventions of C.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Autumn 2024.
  • Enrolment Statistics (recent)