Programming Languages
Code | Completion | Credits | Range |
---|---|---|---|
E36PJ | Z,ZK | 6 | 3+2s |
- Lecturer:
- Tutor:
- Supervisor:
- Department of Computer Science and Engineering
- Synopsis:
-
Foundations of compilers. Methods of designing and implementing of lexical analysers, parsers and syntax directed translators. Semantic analysis and attribute grammars. Programming language structures and their implementation. Foundations of nonprocedural programming languages.
- Requirements:
- Syllabus of lectures:
-
1. Regular grammars and finite state automata, implementation of FSA
2. Lexical analyzer, design, implementation
3. LL(1) grammars, recursive descent
4. Syntax driven translation, L-attributed grammars
5. Internal form of program, symbol table
6. Procedural programming languages, type checking
7. Structured data types, internal representation
8. Control structures, exception handling
9. Procedures and functions, block structure of programs, memory management
10. Modular structure of programs
11. Features of object oriented programming
12. Functional programming and languages
13. Logic programming and languages
14. Free
- Syllabus of tutorials:
-
1. Regular grammars and finite state automata
2. Implementation of finite state automata
3. Implementation of lexical analyzer
4. LL(1) grammars
5. Parser driven by recursive descent
6. L-attributed translation driven by recursive descent
7. Translation into internal form
8. Translation into internal form
9. Internal form interpretation
10. Internal representation of structured data types
11. Memory allocation
12. Exception handling
13. Consultations on semestral projects
14. Free
- Study Objective:
- Study materials:
-
Pratt,T.W., Zelkowitz,M.V.: Programming Languages. Third Edition. Prentice Hall, London, 1999.
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans: