Table d'analyse pour chaque notion faire pour chaque terminal faire déterminer le numéro de la règle à utiliser fin fin
On remplit les tables d'analyse SAUT et ACTION
Il y a erreur dans le reste des cases non remplies
Il s'agit de la première phase d'analyse avant d'analyser la syntaxe. Elle permet entre autre l'élimination des informations inutiles dans le texte (supression des espaces, tabulations, etc.).
Dans cette forme plus condensée, on trouvera les unités syntaxiques (token, i.e. la catégorie du mot). L'analyseur n'a pas besoin de connaître la valeur des mots ou les noms. La lecture de la chaîne d'entrée se fait caractère par caractère.
Un code est attribué aux différentes unités syntaxiques. Les symboles de base = identificateurs & nombres
Entier -> Chiffre | Entier Chiffre Identificateur -> Lettre | Lettre Suite_ident Suite_ident -> Chiffre Suite_ident | Lettre Suite_ident | Vide (ou bien Lettre | Chiffre pour éviter une règle Epsilon) Lettre -> a | b | ... | A | ... | Z Chiffre -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Pour limiter la longueur d'un identificateur :
identificateur -> Lettre[Lettre | Chiffre]0-5
Synthèse des constantes : Nombre sans signes
Nbsansigne -> nbdec | exposant | nbdev exposant nbdec -> entierss | fraction | entierSS fraction exposant -> E entier entierSS -> C | EntierSS C faction -> . entierSS Entier -> entierSS | + entierSS | - entierSS
Transformer la grammaire suivante en grammaire régulière équivalent :
nbss -> C reste_nbss | E exposant | . fraction reste_nbss -> C reste_nbss | E exposant | .fraction | vide fraction -> C reste_fraction reste_fraction -> C reste_fraction | E exposant | vide Exposant -> S exposant_entier | C reste_exposant_entier exposant_entier -> C reste_exposant_entier reste_exposant_entier -> C reste_exposant_entier | vide
La valeur d'un nombre est représentée par un quadruplet (M, s, x, n).
Actions sémantiques :