The subject "Compilers and Interpreters" aims at acquainting the students of "Computer Systems and Technologies" specialty with the principles of functioning and the methods for creation of basic language processors - compilers and interpreters. The methods of realization of the basic phases of the compilers - lexical, syntactic, semantic analysis, generation and optimization of the source code are discussed. In addition, the principles of interpretation of different levels of intermediate code are considered. There is also a place for interpreting high-level languages, as well as systems for assemblers, compilers and interpreters. The key role of programming languages in defining requirements to the architecture of computers is emphasized. In the laboratory exercises a high-level language compiler is developed.
Main issues of the syllabus content:
- Introduction to language processors. Formally defining programming languages
- Lexical analysis. Organization of lexical analysis tables
- Syntax analysis. Methods for syntactic analysis
- Semantic analysis. Synthesis and analysis of semantic tables
- Organization of memory during program execution
- Generate and interpret code