Compilation
Projet Compilation
Mini Compilateur Pascal
LA SUITE!! NOUS Y VOILA
projet compilation
Mini Compilateur Pascal
Analyse Lexicale
EMSI
Analyse lexicale
R. Oulad Haj Thami
projet compilation
Mini Compilateur Pascal
RAPPEL
EMSI
Analyse lexicale
R. Oulad Haj Thami
1
07/10/2012
projet compilation
Mini Compilateur Pascal
Texte (langage source) Analyseur lexical (scanner) Analyseur syntaxique (parser) Analyseur sémantique Générateur de code intermédiaire (pseudo-code) Optimisateur de code Générateur de code objet Code cible
Architecture générale d’un compilateur EMSI R. Oulad Haj Thami
Gestionnaire d’erreurs
Gestionnaire de la Table des symboles
Projet Compilation
Mini Compilateur Pascal
L’analyseur lexical (ou scanner) fusionne les caractères lus du code source en groupes de mots qui forment logiquement des unités lexicales (ou tokens) du langage Symboles : identificateurs, chaînes, constantes numériques, Mots clefs : while, if, then Opérateurs (ou symboles spéciaux) : | = TERM { ADDOP TERM } +|FACT { MULOP FACT } *|/ ID | NUM | ( EXPR )
NOYAU DE LA GRAMMAIRE DU PASCAL : les règles syntaxiques
EMSI
R. Oulad Haj Thami
Projet Compilation ID NUM Chiffre Lettre ::= ::= ::= ::= lettre {lettre | chiffre} chiffre {chiffre} 0|..|9 a|b|..|z|A|..|Z
Mini Compilateur Pascal
NOYAU DE LA GRAMMAIRE DU PASCAL : les règles lexicales
EMSI
R. Oulad Haj Thami
Projet Compilation
Mini Compilateur Pascal
Méta-règles Une série de règles définissent la forme d'un programme: •Un commentaire est une suite de caractères encadrés des parenthèses {* et *} ; •Un séparateur est un caractère séparateur (espace blanc, tabulation, retour chariot) ou un commentaire ; •Deux ID ou mots clés qui se suivent doivent être séparés par au moins un séparateur ; •Des séparateurs peuvent être insérés partout, sauf à l'intérieur de terminaux. •Longueur maximale des identificateurs = 20 •Pas de