Ensimag Rubrique Formation 2022

Formal Language Theory and Compiler Construction - 3MM1TLC

  • Number of hours

    • Lectures 36.0
    • Tutorials 36.0

    ECTS

    ECTS 6.0

Goal(s)

Introduction to formal language theory and compilers.

Contact Joëlle THOLLOT

Content(s)

Formal Languages

  • Modeling a language: automata, grammars, expressions
  • Equivalence of these formalisms
  • Classical algorithms linked to each model

Parsing of context-free languages

  • Algebraic languages / BNF definition
  • Definitions of semantics and interpreters by attributed BNF
  • Abstract syntaxes
  • Parse trees
  • LL(1) parsing

Compiler Construction

  • Architecture of a compiler
  • Main components: analysis, verification, code generation
  • Link with term project in software engineering


Prerequisites

none

Test

3 written examinations, one at the end of each term



  • La note de session 1 est la moyenne pondérée des 3 examens :
    N1 = (E1a*6+E1b*4+E1c*6)/16
  • La note de session 2 est la note de l'examen de session 2 :
    N2 = E2.

Additional Information

Curriculum->Sandwich education->Alternance 1ere annee

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)