Ensimag Rubrique Formation 2022

Compiler Construction - 3MM1GC

  • Number of hours

    • Lectures 22.5
    • Projects -
    • Tutorials 22.5
    • Internship -
    • Laboratory works -
    • Written tests -

    ECTS

    ECTS 5.0

Goal(s)

Introduction to formal language theory and compilers.

Responsible(s)

Sylvain BOULME

Content(s)

Parsing of context-free languages

  • Kleene's least fixpoints
  • Context-free languages / BNF definition
  • Parse trees
  • Definitions of semantics and interpreters by attributed BNF
  • Abstract syntaxes
  • Generative Grammar and Chomsky Hierarchy
  • LL(1) parsing

Compiler Construction

  • Study of a compiler for a mini-Java (object-oriented language).
  • Main components: parsing, verification, code generation
  • Link with term project in software engineering

Prerequisites

Equivalence between Finite Automata and Regular Expressions.

Test

2 written examinations of two hours, one at the end of each term.
In "session 2": only one two-hours exam.

  • Un examen par période donne la note de chaque période: NP2 et NP3
  • Note Bilan Intermédiaire: NB2 := NP2.
  • La note de session 1 est la moyenne pondérée des 2 examens :
    NFS1 := (NP2+4*NP3)/5
  • La note de session 2 est la note de l'examen de rattrapage :
    NFS2 := NR.

Calendar

The course exists in the following branches:

  • Curriculum - Work Study Education - Alternance 1ere annee
see the course schedule for 2023-2024

Additional Information

Course ID : 3MM1GC
Course language(s): FR

The course is attached to the following structures:

You can find this course among all other courses.

Bibliography

  • Introduction to automata theory, languages, and computation de Hopcroft, Motwani & Ullman (2007)
  • Compilers: Principles, Techniques and Tools de Aho, Lam, Sethi & Ullman (1988/2007)
  • The Definitive ANTLR 4 Reference - Terence Parr (2013)