Programming Languages and Compilers
Code | Completion | Credits | Range |
---|---|---|---|
X36PJP | Z,ZK | 5 | 2+2s |
- Lecturer:
- Petr Jendele
- Tutor:
- Petr Jendele
- Supervisor:
- Department of Computer Science and Engineering
- Synopsis:
-
This course offers an overview of general features of programming languages and explanation of basic methods of language implementation. Design and programming of particular parts of compilers are supported by elements of the theory of grammars and automata. Simple programming language is designed and its compiler is written as an example.
- Requirements:
-
For assessment: elaborating a semester work and getting the necessary number of points.
For exam: getting the assessment.
- Syllabus of lectures:
-
1. Overview of programming languages, programming paradigms
2. Structure of a compiler, virtual computer
3. Finite state automata and their implementation
4. Design and implementation of lexical analyzer
5. Context free grammars and pushdown automata
6. LL(1) grammars
7. Recursive descent
8. Translation grammars and automata
9. L-attributed translation grammars
10. Compiler specified by L-attributed translation grammar
11. Specification and implementation of data types
12. Specification and implementation of subprograms
13. Specification and Implementation of data abstractions
14. Machine code generation
- Syllabus of tutorials:
-
1. Syntax diagrams, BNF and EBNF
2. Semester project specification
3. Virtual computer
4. Implementation of finite state automata
5. Design and implementation of lexical analyzer
6. Context free grammars and pushdown automata
7. LL(1) grammars
8. Recursive descent
9. Translation grammars and automata
10. L-attributed translation grammars
11. Example of a compiler specified by L-attributed translation grammar
12. Example of a compiler specified by L-attributed translation grammar
13. Subprograms implementation
14. Assessment
- Study Objective:
- Study materials:
-
1. Pratt,T.W., Zelkowitz, M.V.: Programming Languages. Third Edition. Prentice Hall, London, 1999.
2. Melichar,B., Holub,J., Muzatko,P.: Languages and Translations. Publishing House of CTU, Praha 1997.
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Computer Technology- structured studies (compulsory course)
- Softwarové inženýrství (elective specialized course)
- Web a multimedia (elective specialized course)
- Manažerská informatika (elective specialized course)
- Inteligentní systémy (elective specialized course)