Title:

Programming Language Theory

Code:TJD
Ac.Year:2017/2018
Term:Winter
Curriculums:
ProgrammeBranchYearDuty
CSE-PHD-4DVI4-Elective
Language:Czech
Public info:http://www.fit.vutbr.cz/study/courses/TJD/public/
Private info:http://www.fit.vutbr.cz/study/courses/TJD/private/
Completion:examination (written&verbal)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:390000
 ExaminationTestsExercisesLaboratoriesOther
Points:00000
Guarantee:Hruška Tomáš, prof. Ing., CSc., DIFS
Lecturer:Hruška Tomáš, prof. Ing., CSc., DIFS
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
 
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.
Description:
  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. 
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.
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. 
Fundamental literature:
 
  • 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
  • Bird, R. - Walder, P.: Introduction to Functional Programming, Prentice Hall 1988
  • Tennent, R., D.: Principles of programming languages, Prentice Hall 1981
Study literature:
 
  • Peyton Jones S., L.: The Implementation of functional programming languages, Prentice Hall 1986
  • 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
Controlled instruction:
  Lectures only. In the case whn the course is opened as the consulted study discussions with the given literature.
Progress assessment:
  discussion on the doctoral lectures, To write an essay of some relevant topic.