Ensimag Rubrique Formation 2022

- 3MMTL

  • Number of hours

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

    ECTS

    ECTS 4.0

Goal(s)

Introduction to the formalisms and tools used for the definition and analysis of the syntax of formal languages. Application to programming languages.

Responsible(s)

Lionel RIEG

Content(s)

  • Reminder about logic, quantifiers, and discrete mathematics
  • Fixed point theorem on sets
  • Inductive sets, reasoning by structural induction
  • Formal languages
  • Finite automata (deterministic and nondeterministic)
  • Modeling with automata (protocol, control automaton)
  • Automata transformation: elimination of epsilon transitions, determinization, minimization
  • Regular expressions: equivalence with automata, RE beyond regular languages ??(see programming languages)
  • Closure properties of regular languages, pumping lemma, nonregular languages
  • Grammars and Chomsky hierarchy, general generation algorithm
  • Context-free grammars: proofs on grammars, recognition algorithms (top-down and bottom-up), ambiguity and expression grammars, pumping lemma
  • Structure and construction of a parser : lexical, syntactic (LL(1) and above) and semantic (attributed grammars) analysis
  • Typing and properties guaranteed by a programming language

Prerequisites

Recursive functions and call stack

Test

Evaluation : 20% of Projet (évaluation en continu et sur le rendu) and 80% of Examen Ecrit (2h)

Resit : Examen Ecrit (2h)

Allowed documents for the final exam: one double-sided handwritten A4 sheet

Calendar

The course exists in the following branches:

  • Curriculum - Core curriculum - Semester 5
see the course schedule for 2025-2026

Additional Information

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

You can find this course among all other courses.