SlideShare une entreprise Scribd logo
ALF
Introduction
L’equipe
• Cours:
– Alexandru Radovici (ACS)
• TP:
– Alexandru Radovici (ACS)
– Diana Ghindaoanu (FILS)
– Ioana Culic (ACS)
• Devoir:
– Diana Ghindaoanu (FILS)
– Ioana Culic (ACS)
• Ressources
– Bogdan Nițulescu et l’equipe de CPL de ACS
2
Les courses de programmation
MTDL
PL, SDA, POO
AM, AO, ALF
Ecrier de
programmes
Conception de
programmes
3
Exécuter les
programmes
Sur une machine
Bibliographie
Keith Cooper, Linda Torczon, Engineering a
Compiler
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey
D. Ullman, Compilers: Principles, Techniques, and
Tools, 2nd Edition
Ressources pour le cours ALF
• Site web: http://ocw.cs.pub.ro/courses/alf/
• GitHub issues: https://github.com/upb-
fils/alf/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• vmchecker
• La documentation
5
Contenu
Cours
• 12 cours
• diapositives
• bibliographie
– Très important de lire
TP
• 12 TP
• Programmation en
Javascript, Flex et Bison
• C’est important de
collabores avec votre
collègues
6
Javascript Flex et Bison
Devoirs
Contenu
• NodeJS
• Langage Simple
• Analyse syntactique
• Analyse sémantique
• Génération de code
Développent
• 8-20 heures pur une devoir
– Test des devoirs avec
vmchecker
• Questions sur Github Issues
Les devoirs sont individuelles
7
Examen
• Semestre
– 5 devoirs (8p)
– activité de TP (2p)
• Session d’examen
– épreuve écrite (5p)
• Note
– > 5 passer
Hall of Fame
Catalin Stancu
2017
Teodor Deaconu
2018
Catrina Bodean
2018
Student Student
Student Student Student Student
Claudia Dumitru
2017
Daniela Constantin
2019
Diana Ghindăoanu
2019
Quelques mots sur ALF
• Automates
– Machines d'état
– Machine de Turing
– Expressions Régulier
• Langages Formelles
– Grammaires
• Compilateurs
– Arbre de syntaxe abstraite
– Three Address Code
– WebAssembly
– Formé SSA
– Graphe de flux du contrôle
Vous utiliserez ces pour
• Vérification des
données
• Extraction des
information dans des
ficher
• Faire de langages de
programmation
• Utilisez le langage
d’assemblage
• Apprendre plus vite un
langage de
programmation
• Un vue d’ensable sure
un system avec des
ordinateurs
Connexions avec autres courses
Connaissances requises
• SdE1
• AO
• LP
• SDA
Connaissances utiles pour
• SdE2
• Infographie
• IA
12
Outils logiciels recommandés
13
Visual Studio Code NodeJS 12 LTS
Alan Turing
• Britannique
• Mathématicien
• Machine de Turing
– Équivalent à des
ordinateurs modernes
Contenu
• Informatique
• Quelques mots sur ALF
• Compilateurs
• Sujets
Bibliographie pour aujourd'hui
• Engineering a Compiler
– Chapitre 1
• Compilers: Principles Techniques and Tools
– Chapitre 1
• 1.1
• 1.2
Langages
• Interprété
– PHP
• Compilé
– C/C++
• Interprété et compilé (JIT)
– Java, Python, NodeJS
Compilateur
Source
Source d’assemblage
Objet
Exécutable
Compilateur
Assembleur
Linker
Plateforme indépendante (d’habitude)
Dépend de l'architecture de l'UC
X86, x64, ARM, ARM64, MIPS, …
Dépend de l’UC & le SE
Bibliothèques
Les compilateurs se trouve
• SDK de langages
• Pilot de cartes vidéo
• Android Runtime (ART)
Android Source Compilateur Java Compilateur DEX
Compilateur sur le
dispositif
Source à assemblage
Code Objet
Pièces de compilation
Frontent Optimiseur Backend
Source
AST
Source
d’assemblage
Frontend
Source
Lexer Parser Semantic
AST
Tokens Parse Tree
Unexpected token … Expected …
Object has no
function …
Lexer
Source
function s(a, b)
{
return a+b;
}
Tokens
FUNCTION: function
IDENTIFIER: s
LP: (
IDENTIFIER: a
COMMA: ,
IDENTIFIER: b
RP: )
LB: {
RETURN: return
IDENTIFIER: a
PLUS: +
IDENTIFIER: b
PV: ;
RB: }
Parser
Tokens
FUNCTION: function
IDENTIFIER: s
LP: (
IDENTIFIER: a
COMMA: ,
IDENTIFIER: b
RP: )
LB: {
RETURN: return
IDENTIFIER: a
PLUS: +
IDENTIFIER: b
PV: ;
RB: }
Parse Tree
function
FUNCTION s LP parameters
a COMMA parameters
b
RP LB statements
return
RETURN expression
a
PLUS
b
PV
RB
AST
function s(a, b)
{
return a+b;
}
FUNCTION (name: s,
parameters: [a, b])
RETURN
PLUS
VAR (name: a)
VAR (name: b)
Backend
AST
Générateur de
code
Allocateur de
mémoire
Allocateur de
registres
Source
d’assemblage
Sujets
• Automates finités
• Expressions régulières
• Grammaires indépendantes du contexte
• Parser
• AST
• WebAssembly
• Représentation de la structure des données
• Génération de code
Ressources pour le cours ALF
• Site web: http://ocw.cs.pub.ro/courses/alf/
• GitHub issues: https://github.com/upb-
fils/alf/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• vmchecker
• La documentation
29
Questions

Contenu connexe

PPTX
ALF - Introduction
PPTX
ALF 1 - Introduction
PPTX
SdE 2 - Introduction
PPTX
ALF1 - Introduction
PPTX
SdE 10 - Threads
PPTX
Systemes d'explotation: Threads
PPTX
SdE 5 - Communication entre processus et Planification
PPTX
SdE - Introduction
ALF - Introduction
ALF 1 - Introduction
SdE 2 - Introduction
ALF1 - Introduction
SdE 10 - Threads
Systemes d'explotation: Threads
SdE 5 - Communication entre processus et Planification
SdE - Introduction

Tendances (20)

PPTX
SdE2 - Introduction
PPTX
SdE 4: Processus
PPTX
ALF - Introduction (2018)
PPTX
SdE 5 - Planification
PPTX
SdE2 4 - Processus
PPTX
SdE 1 - Introduction
PPTX
SdE 11: Implémentation de Système de Fichiers
PPTX
Systemes d'explotation: Mémoire Virtuelle
PPTX
SdE 4 - Processus
PPTX
SdE 6 - Gestion de la memoire
PPTX
Systemes d'explotation: Systèmes embarquées
PPTX
SdE 3 - Systemes de fichiers
PPTX
SdE 2 - Langage C, Allocation de memoire
PPTX
SdE 8 - Synchronization de execution
PPTX
SdE 6 - Planification
PPTX
Systemes d'explotation: Synchronization de execution
PPTX
SdE 3 - System de fichiers
PPTX
SdE 9 - Threads
PPTX
SdE 2 - System de fichiers
PPTX
SdE 8 - Synchronisation de execution
SdE2 - Introduction
SdE 4: Processus
ALF - Introduction (2018)
SdE 5 - Planification
SdE2 4 - Processus
SdE 1 - Introduction
SdE 11: Implémentation de Système de Fichiers
Systemes d'explotation: Mémoire Virtuelle
SdE 4 - Processus
SdE 6 - Gestion de la memoire
Systemes d'explotation: Systèmes embarquées
SdE 3 - Systemes de fichiers
SdE 2 - Langage C, Allocation de memoire
SdE 8 - Synchronization de execution
SdE 6 - Planification
Systemes d'explotation: Synchronization de execution
SdE 3 - System de fichiers
SdE 9 - Threads
SdE 2 - System de fichiers
SdE 8 - Synchronisation de execution
Publicité

Similaire à ALF 1 - Introduction (20)

PDF
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
PPTX
Arch_Ord_IF4_Partie1_2020_visio_FST.pptx
PPT
cours1.pptbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
PPT
cours1.ppt
PPT
Programmer en langage c PowerPoint Presentation
PDF
cours-android.pdf
PPTX
20131024 qualité de code et sonar - mug lyon
PDF
AntoineLambertCV
PPTX
Esiea - 5A - Archi 1/3
PDF
2009-10-13 Louis Martin Génie logiciel - Développement agile en gestion de pr...
PDF
arduino1.1222222222222222222222222222222222.pdf
PPTX
Javascript & tools
PDF
Acquia et Arte : Drupal Camp Paris 2013
PPTX
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
PPTX
JAva chapitre 1 programmation orientée objet
PDF
Angular.pdf
PDF
Développement d'un moteur de recherche avec Zend Search
PDF
1- Introduction-2022.pdf formation python
PDF
1- Introduction-2022.pdf formation python
PPT
Arte utilise Acquia Cloud pour héberger ses plateformes web
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
Arch_Ord_IF4_Partie1_2020_visio_FST.pptx
cours1.pptbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cours1.ppt
Programmer en langage c PowerPoint Presentation
cours-android.pdf
20131024 qualité de code et sonar - mug lyon
AntoineLambertCV
Esiea - 5A - Archi 1/3
2009-10-13 Louis Martin Génie logiciel - Développement agile en gestion de pr...
arduino1.1222222222222222222222222222222222.pdf
Javascript & tools
Acquia et Arte : Drupal Camp Paris 2013
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
JAva chapitre 1 programmation orientée objet
Angular.pdf
Développement d'un moteur de recherche avec Zend Search
1- Introduction-2022.pdf formation python
1- Introduction-2022.pdf formation python
Arte utilise Acquia Cloud pour héberger ses plateformes web
Publicité

Plus de Alexandru Radovici (19)

PPTX
SdE2 - Pilot Tock
PPTX
SdE2 - Systèmes embarquées
PPTX
SdE2 - Planification, IPC
PPTX
MDAD 6 - AIDL and Services
PPTX
MDAD 5 - Threads
PPTX
MDAD 4 - Lists, adapters and recycling
PPTX
MDAD 3 - Basics of UI Applications
PPTX
MDAD 2 - Introduction to the Android Framework
PPTX
MDAD 1 - Hardware
PPTX
MDAD 0 - Introduction
PPTX
SdE 11 - Reseau
PPTX
SdE 8 - Memoire Virtuelle
PPTX
SdE 7 - Gestion de la Mémoire
PPTX
ALF 6 - Parser
PPTX
ALF 5 - Parser
PPTX
ALF 4 - Grammaires
PPTX
ALF 3 - Expressions régulières et Lexer
PPTX
ALF 1 - Automates finis
PPTX
DAPM 1 - Introduction
SdE2 - Pilot Tock
SdE2 - Systèmes embarquées
SdE2 - Planification, IPC
MDAD 6 - AIDL and Services
MDAD 5 - Threads
MDAD 4 - Lists, adapters and recycling
MDAD 3 - Basics of UI Applications
MDAD 2 - Introduction to the Android Framework
MDAD 1 - Hardware
MDAD 0 - Introduction
SdE 11 - Reseau
SdE 8 - Memoire Virtuelle
SdE 7 - Gestion de la Mémoire
ALF 6 - Parser
ALF 5 - Parser
ALF 4 - Grammaires
ALF 3 - Expressions régulières et Lexer
ALF 1 - Automates finis
DAPM 1 - Introduction

Dernier (20)

PPTX
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
PPT
Formation ESPACESCONFINES_ Rôle et responsabilité.ppt
PDF
Consignes générales sécurité et environnement.pdf
PDF
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPT
Les moyens de transport-2023.ppt french language teaching ppt
DOC
Vocabulaire pour la description II - Francais Free Lesson-
PPTX
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
Leçon inaugurale2.ministere. enseignant.
PDF
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 📈 SES - Extrait
PPTX
Le rendez-vous de l'été.pptx Film français
PPT
étude----- droit------ 2005---------.ppt
PPTX
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
PDF
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
PDF
CLASE 2 TRAIN voacublaire en rancaise.pdf
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
XEROPHTALMIE , SES ETIOLOGIES ET SA PRISE EN CHARGE
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PPTX
plus que ´parfait--.-.-.-..-.--.-..-.-.-.-.
PPTX
Devenir Inspecteur HSE _ Chp1_ L1....pptx
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
Formation ESPACESCONFINES_ Rôle et responsabilité.ppt
Consignes générales sécurité et environnement.pdf
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Les moyens de transport-2023.ppt french language teaching ppt
Vocabulaire pour la description II - Francais Free Lesson-
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Leçon inaugurale2.ministere. enseignant.
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 📈 SES - Extrait
Le rendez-vous de l'été.pptx Film français
étude----- droit------ 2005---------.ppt
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
CLASE 2 TRAIN voacublaire en rancaise.pdf
Le rendez-vous de l'été.pptx Film français
XEROPHTALMIE , SES ETIOLOGIES ET SA PRISE EN CHARGE
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
plus que ´parfait--.-.-.-..-.--.-..-.-.-.-.
Devenir Inspecteur HSE _ Chp1_ L1....pptx

ALF 1 - Introduction

  • 2. L’equipe • Cours: – Alexandru Radovici (ACS) • TP: – Alexandru Radovici (ACS) – Diana Ghindaoanu (FILS) – Ioana Culic (ACS) • Devoir: – Diana Ghindaoanu (FILS) – Ioana Culic (ACS) • Ressources – Bogdan Nițulescu et l’equipe de CPL de ACS 2
  • 3. Les courses de programmation MTDL PL, SDA, POO AM, AO, ALF Ecrier de programmes Conception de programmes 3 Exécuter les programmes Sur une machine
  • 4. Bibliographie Keith Cooper, Linda Torczon, Engineering a Compiler Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd Edition
  • 5. Ressources pour le cours ALF • Site web: http://ocw.cs.pub.ro/courses/alf/ • GitHub issues: https://github.com/upb- fils/alf/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • vmchecker • La documentation 5
  • 6. Contenu Cours • 12 cours • diapositives • bibliographie – Très important de lire TP • 12 TP • Programmation en Javascript, Flex et Bison • C’est important de collabores avec votre collègues 6 Javascript Flex et Bison
  • 7. Devoirs Contenu • NodeJS • Langage Simple • Analyse syntactique • Analyse sémantique • Génération de code Développent • 8-20 heures pur une devoir – Test des devoirs avec vmchecker • Questions sur Github Issues Les devoirs sont individuelles 7
  • 8. Examen • Semestre – 5 devoirs (8p) – activité de TP (2p) • Session d’examen – épreuve écrite (5p) • Note – > 5 passer
  • 9. Hall of Fame Catalin Stancu 2017 Teodor Deaconu 2018 Catrina Bodean 2018 Student Student Student Student Student Student Claudia Dumitru 2017 Daniela Constantin 2019 Diana Ghindăoanu 2019
  • 10. Quelques mots sur ALF • Automates – Machines d'état – Machine de Turing – Expressions Régulier • Langages Formelles – Grammaires • Compilateurs – Arbre de syntaxe abstraite – Three Address Code – WebAssembly – Formé SSA – Graphe de flux du contrôle
  • 11. Vous utiliserez ces pour • Vérification des données • Extraction des information dans des ficher • Faire de langages de programmation • Utilisez le langage d’assemblage • Apprendre plus vite un langage de programmation • Un vue d’ensable sure un system avec des ordinateurs
  • 12. Connexions avec autres courses Connaissances requises • SdE1 • AO • LP • SDA Connaissances utiles pour • SdE2 • Infographie • IA 12
  • 13. Outils logiciels recommandés 13 Visual Studio Code NodeJS 12 LTS
  • 14. Alan Turing • Britannique • Mathématicien • Machine de Turing – Équivalent à des ordinateurs modernes
  • 15. Contenu • Informatique • Quelques mots sur ALF • Compilateurs • Sujets
  • 16. Bibliographie pour aujourd'hui • Engineering a Compiler – Chapitre 1 • Compilers: Principles Techniques and Tools – Chapitre 1 • 1.1 • 1.2
  • 17. Langages • Interprété – PHP • Compilé – C/C++ • Interprété et compilé (JIT) – Java, Python, NodeJS
  • 18. Compilateur Source Source d’assemblage Objet Exécutable Compilateur Assembleur Linker Plateforme indépendante (d’habitude) Dépend de l'architecture de l'UC X86, x64, ARM, ARM64, MIPS, … Dépend de l’UC & le SE Bibliothèques
  • 19. Les compilateurs se trouve • SDK de langages • Pilot de cartes vidéo • Android Runtime (ART) Android Source Compilateur Java Compilateur DEX Compilateur sur le dispositif
  • 22. Pièces de compilation Frontent Optimiseur Backend Source AST Source d’assemblage
  • 23. Frontend Source Lexer Parser Semantic AST Tokens Parse Tree Unexpected token … Expected … Object has no function …
  • 24. Lexer Source function s(a, b) { return a+b; } Tokens FUNCTION: function IDENTIFIER: s LP: ( IDENTIFIER: a COMMA: , IDENTIFIER: b RP: ) LB: { RETURN: return IDENTIFIER: a PLUS: + IDENTIFIER: b PV: ; RB: }
  • 25. Parser Tokens FUNCTION: function IDENTIFIER: s LP: ( IDENTIFIER: a COMMA: , IDENTIFIER: b RP: ) LB: { RETURN: return IDENTIFIER: a PLUS: + IDENTIFIER: b PV: ; RB: } Parse Tree function FUNCTION s LP parameters a COMMA parameters b RP LB statements return RETURN expression a PLUS b PV RB
  • 26. AST function s(a, b) { return a+b; } FUNCTION (name: s, parameters: [a, b]) RETURN PLUS VAR (name: a) VAR (name: b)
  • 28. Sujets • Automates finités • Expressions régulières • Grammaires indépendantes du contexte • Parser • AST • WebAssembly • Représentation de la structure des données • Génération de code
  • 29. Ressources pour le cours ALF • Site web: http://ocw.cs.pub.ro/courses/alf/ • GitHub issues: https://github.com/upb- fils/alf/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • vmchecker • La documentation 29