Vous êtes sur la page 1sur 2

TP 2 : Analyseur lexicale

Exercice I :
Écrire un programme qui permet de reconnaître les lexèmes dans le texte source. La syntaxe des
lexèmes de notre langage est décrite en EBNF :

Les classes de lexème sont représentées par des valeurs entières. La définition des lexèmes EBNF est
donnée dans le fichier EBNFTokens.java

L’action de base de l’analyseur lexical est de lire une partie de l’entrée et de retourner un lexème.
Votre tâche est de compléter le fichier EBNFScanner.java dont le scolyte est :
La classe EBNFScannerTest vous
permettra de tester votre code.

II : Mini Projet
Réalisation un analyseur
nalyseur lexicale par le généra
générateur JFlex .

Découverte de JFlex

Les analyseurs lexicaux basés sur des tables de transitions sont les plus efficaces une fois la table de
transition construite. Or, la construction de cette table est une opération longue et délicate. Le
programme JFlex fait cette construction automatiquement. Pour réaliser un tel analyseur il faut décrire
d’abord l’outil à construire dans un fichier texte qu’il est bon de le nommé avec un extension .flex. Par
exemple on peut l’appeler monanalyseur.flex, ce texte fourni à JFLex permet d’obtenir ensuite un
analyseur lexical en langage Java. Une fois obtenu cet analyseur sous la forme d’une seule classe de
java, il faut la compiler en .class que l’on peut exécuter et qui effectué l’analyse lexicale d’un texte
suivant les instructions
ions données dans monanalyseur.lex. Ce fonctionnement peu
peutt être schématisé par la
figure suivante.

Les instructions nécessaires à la réalisation sont alors les suivantes :

java -jar
jar lib/JFlex.jar monanalyseur.lex

javac -classpath
classpath /usr/share/java Lexer.java
java Lexer <texteAAnalyser>

Vous aimerez peut-être aussi