Aller au contenu principal
Version: 2025

Bienvenue

Bienvenue dans le cours Automates, Langages Formels et Compilateurs.

Tout au long du cours, vous apprenez comment fonctionnent les processeurs informatiques, les langages de programmation et comment les compilateurs transforment un langage de haut niveau en code lisible par machine.

Au laboratoire, vous implémenterez des lexers, des analyseurs et des générateurs de code dans Kotlin.

Comme devoir, vous construiriez votre propre petit compilateur de langage qui génère du code WebAssembly (WASM).

Équipe

Alexandru Radovici Alexandru Radovici

Professeur de cours
GitHub: alexandruradovici
alexandru.radovici@upb.ro

Amalia Simion Amalia Simion

Responsable des devoirs
GitHub: CAmi307
amalia.simion@stud.fils.upb.ro

Adrian Popescu Adrian Popescu

Professeur de TP
GitHub: nerodesu017
Popescu.adrian.constantin98@gmail.com

Mihai Costin Mihai Costin

TP & Framework auteur
GitHub: mihaicostin34
mihai.costin@stud.fils.upb.ro

Horaire

ActivitéGoupeJourHeureSalle
Courstous les étudiantsJeudi10 - 12PR002
TP1220A + 1221 sous groupe 1Mardi14 - 16EG 306
TP1220B + 1221 sous groupe 2Mardi12 - 14EG 306

Système de notation

PartieDescriptionPoints
Tests de coursVous passerez un test au début de chaque cours avec des questions sue le cours précédent.5p
Tests de TPVous passerez un test au début de chaque laboratoire avec des questions sur le TP précédent.3p
ExamenL'examen au dernier cours.2p
TotalVous avez besoin de 5 points pour réussir le cours.10p

Règles

  1. Vous pouvez vous absenter sans motivation pendant un maximum de 1 TPs.
  2. Les TPs NE PEUVENT PAS ÊTRE RÉCUPÉRÉS
  3. Vous pouvez motiver l’absence aux TP (motif médical) dans maximum 2 semaines de la date de votre absence
  4. Chaque étudiant doit venir avec son groupe au TP, s'il y a des problèmes vous devez annoncer en avance.
  5. Vous pouvez être en retard de 10 minutes maximum au TP
  6. Les étudiants qui rattrapent la matière peuvent participer aux TPs seulement s'il y a des places libres. Afin d'obtenir des points, ils doivent résoudre des devoirs et passer l'examen final
  7. Vous aurez besoin d'un compte github avec votre nom complet et une vraie photo de profil.
  8. Pour 2 devoirs copiés (d'autres collègues ou des étudiants des années passées), vous allez échouer la matière
  9. Vous avez besoin d'au moins 5 points pour réussir l'examen

Bibliographie

  1. Keith Cooper, Linda Torczon, Engineering a Compiler
  2. Terence Parr, The Definitive ANTLR 4 Reference, 2nd Edition
  3. Rick Battagline, The Art of WebAssembly, Build Secure, Portable, High-Performance Applications
  4. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd Edition)
  5. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd Edition
  6. Andrew Tanenbaum, Modern Operating Systems (4th Edition)
  7. Kotlin Documentation, Get started with Kotlin lien