Générateurs de compilateurs
Pr ZEGOUR DJAMEL EDDINE
Ecole Supérieure d’Informatique (ESI)
http://zegour.esi.dz/
Générateurs de compilateurs
Introduction
Yacc
Lex
Coco/R
Fonctionnement des générateurs de compilateurs
Ils génèrent les parties d’un compilateur à partir d’une spécification concise
(Parties générées : scanner, analyseur syntaxico-sémantique, générateur de code , ...)
Générateur
De compilateurs
Spécification du scanner
Ex. grammaire régulière)
générateur
scanner scanner
Spécification sémantique
(Ex. grammaire d’attribut)
générateur
de l’analyseur Analyseur
Classes utilisateur
Table des symboles
Générateur de code
Programme principal
...
compilateur
& éditeur de
liens
compilateur
généré
Exemples
Yacc générateur d’analyseur syntaxique et sémantique pour C et Java
Lex générateur de scanner pour C, Java et C#
Coco/R générateur de scanner et d’analyseur pour Java, C#, Modula-2, Oberon, ...
...
Générateurs de compilateurs
Introduction
Yacc
Lex
Coco/R
Yacc - Yet another compiler compiler
1975 développé aux laboratoires Bell ( ensemble avec C et Unix)
Génère des analyseurs LALR(1)
À l’origine sous Unix, Aujourd'hui aussi sous Windows, Linux
A l’origine pour C, Aujourd'hui pour Java
Histoire
Utilisation
sample.y Yacc parser.java javac parser.class
Versions actuelles
Bison version GNU de Yacc
http://www.gnu.org/software/bison/bison.html
Byacc Berkeley Yacc
http://byaccj.sourceforge.net/
Nous décrivons ici la version de Java
1 / 29 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !