Course detail
Programming Language Theory
FIT-TJDAcad. year: 2021/2022
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
Department
Learning outcomes of the course unit
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.
Prerequisites
Not applicable.
Co-requisites
Not applicable.
Recommended optional programme components
Not applicable.
Recommended or required reading
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.
Planned learning activities and teaching methods
Not applicable.
Assesment methods and criteria linked to learning outcomes
discussion on the doctoral lectures, To write an essay of some relevant topic.
Language of instruction
Czech, English
Work placements
Not applicable.
Aims
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.
Specification of controlled education, way of implementation and compensation for absences
Lectures only. In the case whn the course is opened as the consulted study discussions with the given literature.
Classification of course in study plans
- Programme VTI-DR-4 Doctoral
branch DVI4 , any year of study, winter semester, 0 credits, elective
- Programme VTI-DR-4 Doctoral
branch DVI4 , any year of study, winter semester, 0 credits, elective
- Programme VTI-DR-4 Doctoral
branch DVI4 , any year of study, winter semester, 0 credits, elective
- Programme VTI-DR-4 Doctoral
branch DVI4 , any year of study, winter semester, 0 credits, elective
- Programme DIT Doctoral, any year of study, winter semester, 0 credits, compulsory-optional
- Programme DIT-EN Doctoral, any year of study, winter semester, 0 credits, compulsory-optional
- Programme DIT-EN Doctoral, any year of study, winter semester, 0 credits, compulsory-optional
- Programme DIT Doctoral, any year of study, winter semester, 0 credits, compulsory-optional
Type of course unit
Lecture
39 hours, optionally
Teacher / Lecturer
Syllabus
- 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.
Guided consultation in combined form of studies
26 hours, optionally
Teacher / Lecturer