You are on page 1of 1

L3 - Langages et Compilation

TD 4 - Grammaire
S at | () | (L) L S | SL

Qu 1. Soit la grammaire des S -expressions Lisp {(, ), at}, {S, L}, S, o` u un atome at d ecrit un identicateur ou un nombre.

a. Simuler une analyse descendante r ecursive pour la cha ne (at(at)) en devinant les bonnes r` egles. b. Refaire lanalyse en choisissant les alternatives dans lordre d ecriture de la grammaire. c. Factoriser la grammaire ` a gauche. Qu 2. D ecorer la grammaire des S -expressions Lisp de r` egles s emantiques pour d eterminer le nombre de paires de parenth` eses dune expression. Qu 3. Le langage des entiers binaires sign es sur lalphabet {0, 1, +, } est engendr e par la grammaire suivante o` u N est laxiome. N SL | L L B | LB S +| B 0|1 a. Donner un arbre de d erivation pour le nombre 101 b. D ecorer la grammaire de r` egles s emantiques permettant de d eterminer la valeur d ecimale dun nombre binaire. Qu 4. On consid` ere les expressions n-aires pr ex ees sur lalphabet {+, , (, ), nb} d enies par la grammaire suivante. E nb | (+EL) | (EL) L E | EL a. Donner un arbre de d erivation pour lexpression (+ nb ( nb nb) nb) b. D ecorer la grammaire pour calculer la valeur de lexpression. On utilisera deux types dattribut lun synth etis e pour la valeur calcul ee et lautre h erit e qui indique si une suite dexpressions L d erive dun + ou dun . Qu 5. Proposer une grammaire pour les nombres binaires avec virgule et la d ecorer pour d eterminer leurs valeurs d ecimales.

You might also like