La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT313 Froduald Kabanza Département dinformatique Université de Sherbrooke Révision finale.

Présentations similaires


Présentation au sujet: "IFT313 Froduald Kabanza Département dinformatique Université de Sherbrooke Révision finale."— Transcription de la présentation:

1 IFT313 Froduald Kabanza Département dinformatique Université de Sherbrooke Révision finale

2 IFT313© Froduald Kabanza2 Analyse Lexicale - Expressions régulières Savoir ce quun langage régulier. Être capable décrire une expression régulière décrivant un langage donné. Être capable de faire une recherche dans un fichier texte en utilisant grep. Être capable décrire un programme cherchant des patterns dans un fichier texte avec regex.

3 IFT313© Froduald Kabanza3 Analyse lexicale - Automates à états finis Être capable décrire une automate fini acceptant un langage donné. Être capable de programmer un automate fini reconnaissant les tokens dun langage donné.

4 IFT313© Froduald Kabanza4 Analyse lexicale – de Exp. Reg. à AFN Être capable décrire un automate fini acceptant le langage décrit par une expression régulière donnée.

5 IFT313© Froduald Kabanza5 Analyse lexical – de AFN à AFD Être capable décrire un automate fini déterministe correspondant à un automate fini non déterministe. Être capable de simuler un AFN.

6 IFT313© Froduald Kabanza6 Analyse lexical – générateurs danalyseurs lexicaux Savoir utiliser JFLEX pour générer un analyseur lexical.

7 IFT313© Froduald Kabanza7 Minimisation dun AFD Savoir minimiser la taille (nombre détats) dun AFD.

8 IFT313© Froduald Kabanza8 Analyse syntaxique - grammaires Savoir reconnaître et expliquer les différentes types de grammaires. Pouvoir donner une grammaire acceptant un langage donné. Pouvoir décrire le langage accepté par une grammaire donnée. Connaître le rapport entre les grammaires et les automates finis. Pouvoir expliquer le concept darbre danalyse. Pouvoir expliquer ce quune grammaire ambiguë.

9 IFT313© Froduald Kabanza9 Analyse syntaxique – automate à pile Savoir décrire un automate à pile acceptant un langage donné ? Savoir simuler lexécution dun automate à pile ? Exprimer le pouvoir dexpressivité dun automate à pile ?

10 IFT313© Froduald Kabanza10 Analyse syntaxique LL – automate à pile LL Pouvoir décrire et simuler un automate à pile LL pour une grammaire donnée.

11 IFT313© Froduald Kabanza11 Analyse syntaxique LL – Nullable, First, Follow, table danalyse Savoir définir les concepts de symboles nullables, densemble first et densemble follow pour une grammaire. Pouvoir décrire et appliquer un algorithme pour calculer les symboles nullables, lensemble first et lensemble follow pour une grammaire. Savoir calculer une table danalyse LL(1) pour une grammaire LL(1) donnée. Pouvoir déterminer si une grammaire est LL(1)

12 IFT313© Froduald Kabanza12 Analyse syntaxique LL non-récursif Comprendre et pouvoir décrire et simuler lalgorithme danalyse LL (1) non-récursif. Pouvoir transformer une grammaire non LL(1) en une grammaire LL (1) –Pouvoir transformer une grammaires ambiguë en une grammaire non-ambiguë. –Pouvoir éliminer la récursivité à gauche (left recursion). –Pouvoir utiliser la factorisation à gauche (left factoring)

13 IFT313© Froduald Kabanza13 Analyse syntaxique LL récursif Pouvoir programmer un analyseur syntaxique récursif pour une grammaire donnée. Connaître les fondements dun générateur danalyseur syntaxique LL tel que JavaCC.

14 IFT313© Froduald Kabanza14 Analyse syntaxique - grammaires Savoir reconnaître et expliquer les différentes types de grammaires. Pouvoir donner une grammaire acceptant un langage donné. Pouvoir décrire le langage accepté par une grammaire donnée. Connaître le rapport entre les grammaires et les automates finis. Pouvoir expliquer le concept darbre danalyse. Pouvoir expliquer ce quune grammaire ambiguë.

15 IFT313© Froduald Kabanza15 Analyse syntaxique – automate à pile Savoir décrire un automate à pile acceptant un langage donné ? Savoir simuler lexécution dun automate à pile ? Exprimer le pouvoir dexpressivité dun automate à pile ?

16 IFT313© Froduald Kabanza16 Analyse syntaxique LL – automate à pile LL Pouvoir décrire et simuler un automate à pile LL pour une grammaire donnée.

17 IFT313© Froduald Kabanza17 Analyse syntaxique LL – Nullable, First, Follow, table danalyse Savoir définir les concepts de symboles nullables, densemble first et densemble follow pour une grammaire. Pouvoir décrire et appliquer un algorithme pour calculer les symboles nullables, lensemble first et lensemble follow pour une grammaire. Savoir calculer une table danalyse LL(1) pour une grammaire LL(1) donnée. Pouvoir déterminer si une grammaire est LL(1)

18 IFT313© Froduald Kabanza18 Analyse syntaxique LL non-récursif Comprendre et pouvoir décrire et simuler lalgorithme danalyse LL (1) non-récursif. Pouvoir transformer une grammaire non LL(1) en une grammaire LL (1) –Pouvoir transformer une grammaires ambiguë en une grammaire non-ambiguë. –Pouvoir éliminer la récursivité à gauche (left recursion). –Pouvoir utiliser la factorisation à gauche (left factoring)

19 IFT313© Froduald Kabanza19 Analyse syntaxique LL récursif Pouvoir programmer un analyseur syntaxique récursif pour une grammaire donnée. Connaître les fondements dun générateur danalyseur syntaxique LL tel que JavaCC.

20 IFT313© Froduald Kabanza20 Automate à pile LR Notion de poignée (handle) Pouvoir définir et simuler un automate à pile LR. Pouvoir définir la notion de poignée (handle).

21 IFT313© Froduald Kabanza21 Préfixes viables Éléments LR(0) AFD LR()) Pouvoir calculer lAFD des préfixes viables. Pouvoir générer une table danalyse LR(0). Pouvoir décrire le driver LR(0) et le simuler.

22 IFT313© Froduald Kabanza22 Analyse LR(0) Analyse SLR(1) Pouvoir définir et simuler lalgorithme danalyse LR (Driver LR) Pouvoir générer une table danalyse SLR(1) pour une grammaire donnée. Pouvoir reconnaître les grammaires SLR(1).

23 IFT313© Froduald Kabanza23 Analyse LR(1) Analyse LALR(1) Pouvoir définir ce quun élément LR(1). Pouvoir calculer lAFD LR(1). Pouvoir construire la table danalyse LR(1). Pouvoir reconnaître des grammaires LR(1). Pouvoir calculer lAFD LALR(1) Pouvoir construire la table danalyse LALR(1). Pouvoir reconnaître des grammaires LALR(1). Comprendre les forces relatives des analyses LR(0), SLR(1), LR(1) et LALR(1). Connaître lhiérarchie entre les différentes classes de grammaires hors- contexte : LL(0), LL(1), LR(0), LR(1), SLR(1), LALR(1).

24 IFT313© Froduald Kabanza24 Java CUP –Pouvoir spécifier une grammaire avec Java CUP –Pouvoir spécifier des actions sémantiques avec Java CUP


Télécharger ppt "IFT313 Froduald Kabanza Département dinformatique Université de Sherbrooke Révision finale."

Présentations similaires


Annonces Google