Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

XuetangX

Compilers Techniques

East China University of Science and Technology via XuetangX

Overview

Through the study of this course, students can master basic theoretical knowledge of grammar and language, lexical analysis, syntax analysis, semantic analysis, optimization and generation of object code, and lay a good foundation for the future compilers learning and compilers design development.

There are mainly 8 chapters, and the main contents of each chapter are as follows.

01 Introduction: This chapter briefly introduces the components of the compilers and various applications of compilers techniques.

02 Lexical analysis: This chapter introduces the concepts of regular form and finite automata and the automatic generation method of lexical analyzer.

03 Syntax analysis: This chapter introduces the basic concept of context-free grammar, and introduces the predictive top-down parsing (LL(1)) and bottom-up parsing (SLR, LR(1), LALR).

04 Syntax-Directed Translation: This chapter introduces two ways to connect semantic rules and production: syntax-directed definition and syntax-directed translation.

05 Organization and Management of Run-Time Storage Space: This chapter introduces the relationship between static program body and run-time activities before code generation, as well as the binding relationship between static names and runtime data objects.

06 Intermediate Code Generation: This chapter introduces how the basic structure of programming languages can be translated into machine independent intermediate representations based on syntax-directed definitions.

07 Code Generation:

This chapter introduces the problems to be solved by code generator, and understands the whole process of code generation through a simple code generation algorithm.

08 Design and Implementation of a Simple Compiler:

This chapter describes how to implement a simple Python-based compiler.


Syllabus

  • 1 Overview of Compilers Techniques
    • Overview of Compilers Techniques
  • 2 Design and Implementation of a Simple Compiler
    • 2.1 Demonstration of Compiler Framework based on Python
    • 2.2 Basic
    • 2.3 SimpleJava
  • 3 Lexical Analysis
    • 3.1  Lexical Tokens, Strings and Language
    • 3.2  Regular form
    • 3.3  Finite automata
    • 3.4  DFA construction, Subset construction, Simpleset DFA
    • 3.5 Lex
  • 4 Syntax Analysis
    • 4.1 Context-free Grammars
    • 4.2 Writing a Grammar
    • 4.3 Languages and Grammars
    • 4.4 Top-Down Parsing
    • 4.5 Bottom-up Parsing
    • 4.6 LR Parsing
  • 5 Syntax-Directed Translation
    • 5.1 Syntax-Directed Definitions
    • 5.2 Bottom-Up Calculation of S Attribute
    • 5.3 L-Attributed Definitions
    • 5.4 Bottom-Up Parsing of L-Attributed Translation
  • 6 Organization and Management of Run-Time Storage Space
    • 6.1 Overview
    • 6.2 Global Stack Storage
    • 6.3 Calling Sequences
    • 6.4 Non Local Names
  • 7 Intermediate Code Generation
    • 7.1 Overview of Intermediate Code Generation
    • 7.2 Declaration Statements
  • 8 Code Generation
    • 8.1 Issues in the Design of Code Generator
    • 8.2 Target Machine
    • 8.3 Basic Blocks and Flow Graphs
    • 8.4 A Simple Code Generator
  • Final Exam

    Taught by

    Xiujuan Xu, Qi Jia, Zhilei Ren, He Jiang, and Zhou Yong

    Tags

    Reviews

    Start your review of Compilers Techniques

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.