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 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010.

Présentations similaires


Présentation au sujet: "IFT313 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010."— Transcription de la présentation:

1 IFT313 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010

2 IFT3132 Tâches 1.Télécharger jflex.tar.gz ou jflex.zip 2.Télécharger exemples.zip (site du cours) 3.Installer JFlex 4.Essayer l’exemple « test » 5.Exercice sans JFLex (ex: StreamTokenizer) 5.Comparer les approches utilisant JFlex et StreamTokenizer d’un point de vue facilité et généralité

3 IFT3133 Installation de JFlex 1. Créer un répertoire ~/IFT313 2. Décompresser JFlex.tar.gz dans ce répertoire 3. Variable d’environnement PATH Linux et Unix(shell bash) export PATH=$PATH:~/IFT313/jflex-1.4.1/bin Windows* Adapter le fichier C:\IFT313\jflex-1.4.1\bin\jflex.bat : Modifier la ligne #5, ajouter REM JDK1.1 et retirer REM pour JDK1.2 set PATH=%PATH%;C:\IFT313\jflex-1.4.1\bin *Vous pouvez aussi allez dans le panneau de configuration…

4 IFT3134 Compilation de JFlex (optionnel) Vous n’aurez probablement pas à faire cette étape si vous avez téléchargé la version binaire de JFlex. 1. cd ~/IFT313/jflex-1.4.1 2. javac -classpath src -d classes src/JFlex/Main.java

5 IFT3135 Test de JFlex (1) 1.Décompresser exemples.zip dans ~/IFT313 2.cd ~/IFT313/examples/jflex/test 3.Générer un analyseur lexical (Yylex.java) à partir de scanner.jflex jflex scanner.jflex 4.Compiler les classes Java javac –cp.. *.java

6 IFT3136 Test de JFlex (2) 4. Executer java –cp.. test.Runscanner ( 3 + 5 * 2 ) ou java –cp.. test.Runscanner input.txt

7 IFT3137 Test de JFlex (3) Vous devriez obtenir : (TOKEN TEXTE ( TYPE 7 START 0 END 1) (TOKEN TEXTE 3 TYPE 9 START 2 END 3) (TOKEN TEXTE + TYPE 1 START 4 END 5) (TOKEN TEXTE 5 TYPE 9 START 6 END 7) (TOKEN TEXTE * TYPE 3 START 8 END 9) (TOKEN TEXTE 2 TYPE 9 START 10 END 11) (TOKEN TEXTE ) TYPE 8 START 12 END 13) END!

8 IFT3138 Explorer 1. Regarder à l’intérieur des fichiers: scanner.flex, Runscanner.java, Utility.java, Yytoken.java 2. Essayer de faire des modifications et de voir le résultat 3. Essayer d’autres exemples

9 IFT3139 Quoi faire après ? 1. Regarder à l’intérieur des fichiers générés -Reconnaître l’automate généré -Essayer l’option --table de JFlex. -Comprendre comment l’analyseur lexical est appelé par Runscanner Exercice: modifier test/scanner.jflex pour qu’il génère un fichier source.java autonome (sans avoir besoin de Runscanner.java) Indice: copier le code du main() au bon endroit dans le fichier.jflex

10 IFT31310 Quoi faire après ? 2. Refaire un exemple en utilisant la classe java.io.StreamTokenizer (au autre) au lieu de JFlex 3. Commenter les différences entre les deux approches : est-ce que ça serait complexe faire une suite de if pour reconnaître des tokens?

11 IFT31311 Tâches supplémentaires recommandées 1. Lire la documentation de JFlex 2. Se familiariser avec les exemples inclus dans JFlex 3. Essayer de modifier quelques-uns des exemples 4. Implémenter une tables de symboles avec un objet Hashtable 5. Additionner tous les nombres d’un fichiers


Télécharger ppt "IFT313 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010."

Présentations similaires


Annonces Google