Course details
Programming Language Theory
TJD Acad. year 2021/2022 Winter semester
Types of programming languages: procedural and declarative, diferencies from the semantic point of view. The problem of the programming languages semantic formal definition. Various ways of the programming languages semantic formal definition. The axiomatic definition of the formal semantic: Floyd-Hoare logic. The denotation definition of the formal sematic: lambda calculus. The technology of the programming languages translation after a parsing. The solution of the context features of programming languages in the syntax-directed context-free compiler. Type systems. Target code generation. Methods of registes assignment. The target code generation for pipeline processors.
Doctoral state exam - topics:
- Types of programming languages: procedural and declarative, diferencies from the semantic point of view.
- The problem of the programming languages semantic formal definition. Various ways of the programming languages semantic formal definition.
- The axiomatic definition of the formal semantic: Floyd-Hoare logic.
- The denotation definition of the formal sematic: lambda calculus.
- The technology of the programming languages translation after a parsing.
- The solution of the context features of programming languages in the syntax-directed context-free compiler.
- Internal languages between front and backend of the compiler
- Type systems
- Target code generation. Methods of registes assignment.
- The target code generation for pipeline processors.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 39 hrs lectures
Assessment points
- 100 pts final exam
Department
Lecturer
Instructor
Course Web Pages
Subject specific learning outcomes and competences
The ability to define formally and th use the definition of the programming language semantic. To have an overview over the code generation for modern processors.
Learning objectives
To obtain wide knowledge especially of the semantic and translation of programming language. To focus to possibility of a formal definition of the syntax and semantic of programming languages.
Study literature
- Sethi R.: Programming Languages Concepts, Addison Wesley 1989
- Nilson U. - Matuszynski J.: Logic, Programming and Prolog, John Wiley 1990
- Nielson R.,H. - Nielson F.: Semantics with Applications - A Formal Introduction, John Wiley 1992
- Aho, V. A. - Sethi, R. - Ullmann, J. D. : Compilers - Principles, Techniques, and Tools, Addison - Wesley Publishing Company 1987
- Gordon, J., C.: Programming language Theory and its Implementation, Prentice Hall 1988
- Reynolds, J.: Theories of Programming Languages, Cambridge University Press, 2009
- Friedman, D.P., Wand, M.: Essentials of Programming Language, MIT Press, 2008.
- Pierce, B.C.: Types and Programming Languages, MIT Press, 2002.
Syllabus of lectures
- Types of programming languages: procedural and declarative, diferencies from the semantic point of view.
- The problem of the programming languages semantic formal definition. Various ways of the programming languages semantic formal definition.
- The axiomatic definition of the formal semantic: Floyd-Hoare logic.
- The denotation definition of the formal sematic: lambda calculus.
- The technology of the programming languages translation after a parsing.
- The solution of the context features of programming languages in the syntax-directed context-free compiler.
- Type systems
- Target code generation. Methods of registes assignment.
- The target code generation for pipeline processors.
Progress assessment
discussion on the doctoral lectures, To write an essay of some relevant topic.
Controlled instruction
Lectures only. In the case whn the course is opened as the consulted study discussions with the given literature.
Course inclusion in study plans
- Programme DIT, any year of study, Compulsory-Elective group O
- Programme DIT, any year of study, Compulsory-Elective group O
- Programme DIT-EN (in English), any year of study, Compulsory-Elective group O
- Programme DIT-EN (in English), any year of study, Compulsory-Elective group O
- Programme VTI-DR-4, field DVI4, any year of study, Elective
- Programme VTI-DR-4, field DVI4, any year of study, Elective
- Programme VTI-DR-4 (in English), field DVI4, any year of study, Elective
- Programme VTI-DR-4 (in English), field DVI4, any year of study, Elective