Course detail

Programming Language Theory

FIT-TJDAcad. year: 2020/2021

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.

Questions to the State doctoral exam:

  1. Types of programming languages: procedural and declarative, diferencies from the semantic point of view.
  2. The problem of the programming languages semantic formal definition. Various ways of the programming languages semantic formal definition.
  3. The axiomatic definition of the formal semantic: Floyd-Hoare logic.
  4. The denotation definition of the formal sematic: lambda calculus.
  5. The technology of the programming languages translation after a parsing.
  6. The solution of the context features of programming languages in the syntax-directed context-free compiler.
  7. Internal languages between front and backend of the compiler
  8. Type systems
  9. Target code generation. Methods of registes assignment.
  10. The target code generation for pipeline processors.

Language of instruction

Czech

Mode of study

Not applicable.

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.

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.

Course curriculum

Not applicable.

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Aho, V. A. - Sethi, R. - Ullmann, J. D. : Compilers - Principles, Techniques, and Tools, Addison - Wesley Publishing Company 1987
Bird, R. - Walder, P.: Introduction to Functional Programming, Prentice Hall 1988
Gordon, J., C.: Programming language Theory and its Implementation, Prentice Hall 1988
Nielson R.,H. - Nielson F.: Semantics with Applications - A Formal Introduction, John Wiley 1992
Nilson U. - Matuszynski J.: Logic, Programming and Prolog, John Wiley 1990
Peyton Jones S., L.: The Implementation of functional programming languages, Prentice Hall 1986
Sethi R.: Programming Languages Concepts, Addison Wesley 1989
Tennent, R., D.: Principles of programming languages, Prentice Hall 1981

Classification of course in study plans

  • Programme CSE-PHD-4 Doctoral

    branch DVI4 , 0 year of study, winter semester, elective

  • Programme CSE-PHD-4 Doctoral

    branch DVI4 , 0 year of study, winter semester, elective

  • Programme CSE-PHD-4 Doctoral

    branch DVI4 , 0 year of study, winter semester, elective

  • Programme CSE-PHD-4 Doctoral

    branch DVI4 , 0 year of study, winter semester, elective

Type of course unit

 

Lecture

39 hod., 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 hod., optionally

Teacher / Lecturer