JavaCC. - PLANIART - Université de Sherbrooke

publicité
IFT313
Introduction aux langages formels
Froduald Kabanza
Département d’informatique
Université de Sherbrooke
JavaCC
Objectifs
• Introduction à JavaCC
IFT313
© Froduald Kabanza
2
Références
[2] Appel, A. and Palsberg. J. Modern Compiler Implementation in Java.
Second Edition. Cambridge, 2004.
– Sections 3.4 à 3.5
[6] JavaCC : A parser / scanner generator for Java:
http://planiart.usherbrooke.ca/kabanza/cours/ift313/Tools/javacc-5.0.rar
IFT313
© Froduald Kabanza
3
JavaCC
•
JavaCC ne fait pas que valider la syntaxe.
•
Avec les attribut sémantiques, JavaCC permet:
– D’effectuer des calculs à la volé (exemple Calc1)
– De construire un arbre syntaxique abstrait (exemple Calc2 ci-après);
•
Limites avec JavaCC:
– Un seul attribut par symbole.
– Une seule passe d’évaluation.
•
Pour aller au-delà, il faut utiliser d’autres outils ou des méthodes adhoc pour
évaluer les attributs (avec l’aide l’outil JJTree). Ceci est au-delà du cours.
•
.
IFT313
© Froduald Kabanza
4
Exemples
•
Calc1
•
Calc2
IFT313
© Froduald Kabanza
5
Téléchargement