SlideShare une entreprise Scribd logo
Expression à analyser :

3

Pointeur sur le prochain caractère à lire

+

5

EOF
Expression à analyser :

3

+

5

EOF

État de la pile de productions
avant

Expression
État initial

Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
Expression à analyser :

avant

3

+

5

État de la pile de productions
/

EOF

après

Expression
État initial

Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

État de la pile de productions
avant
/
exécution des méthodes pop()

EOF

après

Production p = pop()
1

Expression
État initial

Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()
Production p = pop()
Digit
1

Expression

p.produce()

2

Operator
Digit

État initial

Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()
Production p = pop()
Digit
1

Expression
État initial

p.produce()

2

Operator
Digit

3

Valeur retournée : null
Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()
Production p = pop()
Digit
Operator
Digit

1

p.produce()
3

Operator

2

Digit
X

Valeur retournée : EventType.DIGIT
X Aucune modification de la pile
Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()
Production p = pop()
Operator
Digit

1

p.produce()
3

2

Digit
X

Valeur retournée : EventType.OPERATOR
X Aucune modification de la pile
Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
3

Expression à analyser :

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()
Production p = pop()
1

Digit

p.produce()
3

2
X

Valeur retournée : EventType.DIGIT
X Aucune modification de la pile
Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués
Expression à analyser :

3

+

5

EOF

État de la pile de productions
avant
/
après
exécution des méthodes pop() et produce()

La pile de productions étant
vide, l’analyse est terminée

X Aucune modification de la pile
Pointeur sur le prochain caractère à lire
Note : la table de productions contient des instances des types indiqués

Contenu connexe

En vedette

L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
Caféine.Studio
 
Chanson informatique jml
Chanson informatique jmlChanson informatique jml
Chanson informatique jmlDominique Pongi
 
Ppl Paul Salen apprentissage
Ppl Paul Salen apprentissagePpl Paul Salen apprentissage
Ppl Paul Salen apprentissagePaulsalen
 
FFAP Annuaire[1] 2011 2012
FFAP Annuaire[1] 2011 2012FFAP Annuaire[1] 2011 2012
FFAP Annuaire[1] 2011 2012Dominique Pongi
 
Toilettes sèches
Toilettes sèchesToilettes sèches
Toilettes sèches
alixmortgat
 
Nouveautes juin2011
Nouveautes juin2011Nouveautes juin2011
Nouveautes juin2011cdicbesson
 
Herramientas web
Herramientas webHerramientas web
Herramientas web
Carlos Arboleda
 
Sikasso Presentation (Yacouba)
Sikasso Presentation (Yacouba)Sikasso Presentation (Yacouba)
Sikasso Presentation (Yacouba)ccanepa
 
14300 les amours_de_jeunesses1
14300 les amours_de_jeunesses114300 les amours_de_jeunesses1
14300 les amours_de_jeunesses1Dominique Pongi
 
Jane eyre illustrations
Jane eyre illustrationsJane eyre illustrations
Jane eyre illustrationsczarnime
 
[Paroles de DSI] Mobilité - Intelligent Management Center HP - Lille 2013
[Paroles de DSI]   Mobilité - Intelligent Management Center HP - Lille 2013[Paroles de DSI]   Mobilité - Intelligent Management Center HP - Lille 2013
[Paroles de DSI] Mobilité - Intelligent Management Center HP - Lille 2013
Groupe D.FI
 
Projet de carrières informatiques
Projet de carrières informatiquesProjet de carrières informatiques
Projet de carrières informatiquesveroniquehache3
 

En vedette (18)

L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
L’environnement personnel d’apprentissage : regards croisés d’étudiants et d’...
 
Chanson informatique jml
Chanson informatique jmlChanson informatique jml
Chanson informatique jml
 
Deux restaurants1
Deux restaurants1Deux restaurants1
Deux restaurants1
 
Ppl Paul Salen apprentissage
Ppl Paul Salen apprentissagePpl Paul Salen apprentissage
Ppl Paul Salen apprentissage
 
Strip2
Strip2Strip2
Strip2
 
+Gremi+2 fc
+Gremi+2 fc+Gremi+2 fc
+Gremi+2 fc
 
FFAP Annuaire[1] 2011 2012
FFAP Annuaire[1] 2011 2012FFAP Annuaire[1] 2011 2012
FFAP Annuaire[1] 2011 2012
 
Noël stille nacht
Noël stille nachtNoël stille nacht
Noël stille nacht
 
Toilettes sèches
Toilettes sèchesToilettes sèches
Toilettes sèches
 
Nouveautes juin2011
Nouveautes juin2011Nouveautes juin2011
Nouveautes juin2011
 
Herramientas web
Herramientas webHerramientas web
Herramientas web
 
Sikasso Presentation (Yacouba)
Sikasso Presentation (Yacouba)Sikasso Presentation (Yacouba)
Sikasso Presentation (Yacouba)
 
14300 les amours_de_jeunesses1
14300 les amours_de_jeunesses114300 les amours_de_jeunesses1
14300 les amours_de_jeunesses1
 
Jane eyre illustrations
Jane eyre illustrationsJane eyre illustrations
Jane eyre illustrations
 
[Paroles de DSI] Mobilité - Intelligent Management Center HP - Lille 2013
[Paroles de DSI]   Mobilité - Intelligent Management Center HP - Lille 2013[Paroles de DSI]   Mobilité - Intelligent Management Center HP - Lille 2013
[Paroles de DSI] Mobilité - Intelligent Management Center HP - Lille 2013
 
02 corsensefronteres
02 corsensefronteres02 corsensefronteres
02 corsensefronteres
 
09 le-chemin-de-la-vie
09 le-chemin-de-la-vie09 le-chemin-de-la-vie
09 le-chemin-de-la-vie
 
Projet de carrières informatiques
Projet de carrières informatiquesProjet de carrières informatiques
Projet de carrières informatiques
 

Plus de yohanbeschi

VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and freeVoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
yohanbeschi
 
Java 8 - Nuts and Bold - SFEIR Benelux
Java 8 - Nuts and Bold - SFEIR BeneluxJava 8 - Nuts and Bold - SFEIR Benelux
Java 8 - Nuts and Bold - SFEIR Benelux
yohanbeschi
 
JVM Hardcore - Part 18 - Converting a logical expression into bytecode
JVM Hardcore - Part 18 - Converting a logical expression into bytecodeJVM Hardcore - Part 18 - Converting a logical expression into bytecode
JVM Hardcore - Part 18 - Converting a logical expression into bytecodeyohanbeschi
 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924
yohanbeschi
 
JVM Hardcode - Part 01 - How Frames work
JVM Hardcode - Part 01 - How Frames workJVM Hardcode - Part 01 - How Frames work
JVM Hardcode - Part 01 - How Frames workyohanbeschi
 
Introduction to dart - So@t - 20130410
Introduction to dart - So@t - 20130410Introduction to dart - So@t - 20130410
Introduction to dart - So@t - 20130410
yohanbeschi
 
Dart - web_ui & Programmatic components - Paris JUG - 20130409
Dart - web_ui & Programmatic components - Paris JUG - 20130409Dart - web_ui & Programmatic components - Paris JUG - 20130409
Dart - web_ui & Programmatic components - Paris JUG - 20130409
yohanbeschi
 
Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013
yohanbeschi
 
Introduction à dart
Introduction à dartIntroduction à dart
Introduction à dart
yohanbeschi
 

Plus de yohanbeschi (9)

VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and freeVoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
 
Java 8 - Nuts and Bold - SFEIR Benelux
Java 8 - Nuts and Bold - SFEIR BeneluxJava 8 - Nuts and Bold - SFEIR Benelux
Java 8 - Nuts and Bold - SFEIR Benelux
 
JVM Hardcore - Part 18 - Converting a logical expression into bytecode
JVM Hardcore - Part 18 - Converting a logical expression into bytecodeJVM Hardcore - Part 18 - Converting a logical expression into bytecode
JVM Hardcore - Part 18 - Converting a logical expression into bytecode
 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924
 
JVM Hardcode - Part 01 - How Frames work
JVM Hardcode - Part 01 - How Frames workJVM Hardcode - Part 01 - How Frames work
JVM Hardcode - Part 01 - How Frames work
 
Introduction to dart - So@t - 20130410
Introduction to dart - So@t - 20130410Introduction to dart - So@t - 20130410
Introduction to dart - So@t - 20130410
 
Dart - web_ui & Programmatic components - Paris JUG - 20130409
Dart - web_ui & Programmatic components - Paris JUG - 20130409Dart - web_ui & Programmatic components - Paris JUG - 20130409
Dart - web_ui & Programmatic components - Paris JUG - 20130409
 
Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013
 
Introduction à dart
Introduction à dartIntroduction à dart
Introduction à dart
 

Dernier

Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
MustaphaZhiri
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 

Dernier (7)

Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 

JVM Hardcore - Part 07 - Parsing (Productions stack states)

  • 1. Expression à analyser : 3 Pointeur sur le prochain caractère à lire + 5 EOF
  • 2. Expression à analyser : 3 + 5 EOF État de la pile de productions avant Expression État initial Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 3. Expression à analyser : avant 3 + 5 État de la pile de productions / EOF après Expression État initial Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 4. 3 Expression à analyser : + 5 État de la pile de productions avant / exécution des méthodes pop() EOF après Production p = pop() 1 Expression État initial Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 5. 3 Expression à analyser : + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() Production p = pop() Digit 1 Expression p.produce() 2 Operator Digit État initial Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 6. 3 Expression à analyser : + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() Production p = pop() Digit 1 Expression État initial p.produce() 2 Operator Digit 3 Valeur retournée : null Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 7. 3 Expression à analyser : + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() Production p = pop() Digit Operator Digit 1 p.produce() 3 Operator 2 Digit X Valeur retournée : EventType.DIGIT X Aucune modification de la pile Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 8. 3 Expression à analyser : + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() Production p = pop() Operator Digit 1 p.produce() 3 2 Digit X Valeur retournée : EventType.OPERATOR X Aucune modification de la pile Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 9. 3 Expression à analyser : + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() Production p = pop() 1 Digit p.produce() 3 2 X Valeur retournée : EventType.DIGIT X Aucune modification de la pile Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués
  • 10. Expression à analyser : 3 + 5 EOF État de la pile de productions avant / après exécution des méthodes pop() et produce() La pile de productions étant vide, l’analyse est terminée X Aucune modification de la pile Pointeur sur le prochain caractère à lire Note : la table de productions contient des instances des types indiqués