IFT313 Introduction aux langages formels Froduald Kabanza Département d’informatique Université de Sherbrooke JavaCC
Objectifs Introduction à JavaCC IFT313 © Froduald Kabanza Brève introduction à JavaCC. Il y aura un Lab pour une initiation plus approfondie. IFT313 © Froduald Kabanza
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
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
Exemples Calc1 Calc2 IFT313 © Froduald Kabanza