Vous êtes sur la page 1sur 7

Td 1 de compilation

Exercice 1:
 Analyse lexicale:
le mot Signification Ligne
Main MC L1
( Sep L1
) Sep L1
{ Debut de bloc L1
Int MC L2
X Ident L2
, sep L2
Y Ident L2
; sep L2
Float MC L3
A Ident L3
== Op rel L3
2 Entier L3
; sep L3
If MC L4
A Ident L4
== Op rel L4
2 Entier L4
Y Ident L4
= Op Rel L4
1 Entier L4
; sep L4
X Ident L5
= Op rel L5
3.13 Reel L5
; sep L5
} Fin de bloc L6

 Analyse syntaxique
1 main (){ 2 int x,y; 3 float a==2 ;4 if a==2)y=1;
5 x=3.13; 6 }
Erreur1: dans la ligne 3 la declaration de variable
est incorrecte
Erreur2 : dans la ligne 4 la monque de parenthèse
 Analyse sémantique
Erreur1 : affectation non validé , la variable de
type entier et la valeur de type reel
Les lexèmes :
Tant que pas d’erreur dans le tableau toutes les
composantes du programme sont des lexèmes.

2.
 Analyse lexicale
Le mot signification Ligne
Public Mc L1
Classe Mc L1
Etudiant Ident L1
{ Debut de bloc L1
Int Mc L2
Public Mc L2
Cne Ident L2
; Sep L2
Public Mc L3
Float Mc L3
Note Ident L3
; Sep L3
Public Mc Ll4
String Mc L4
2nom Erreur L4
; Sep L4
Int Mc L5
Getcne() Mc L5
Return Mc L6
this Mc L6
L6
; L6
{ Fin de bloc L7

 Analyse syntaxique :
1 public classe etudiant{ 2 int public cne ; 3 public
float note ; 4 public string 2nom; 5 int getcne() 6
return this.cne; 7}
Erreur 1: dans la ligne 2 on ecrit public int cne non
int public cne .
Erreur 2 : dans la ligne 5 le monque de ;
 Analyse sémentique :
Aucun erreur
Les lexème :
Toutes les composante du programme sont des
lexèmes sauf 2nom .
Exercice2 :
Float V( float d ,float t ){
Return d/t ;
}
Analyse lexicale :
Le mot signification Ligne
Float Mc L1
V Ident L1
( Sep L1
Float mc L1
D Ident L1
, Sep L1
float Mc L1
T Ident L1
) Sep L1
{ Debut de bloc L1
Return Mc L2
d ident L2
/ oprel L2
t ident L2
; sep L2
} Fin de bloc L3
Exercice 3 :
1. Expression regulière de ident :
((A-Z|a-z)|_)((A-Z|a-z)|(0-9)|_)*
2. Expression regulière de nombre :
(0-9)*
Exercice 4 :
1. ∑ ∑^2=
{a,b,c,d}U{aa,ab,ac,ad,ba,bb,bc,bd,ca,cb,cc,cd,da,db,dc,dd}=
{aaa,aab,aac,aad,aba,abb,abc,abd,aca,acb,acb,acc,acd,ada,
adb,adc,add,baa,bab,bac,bad,bba,bbb,bbc,bbd,bca,bcb,bcc,bcd,
bda,bdb,bdc,bdd,caa,cab,,cac,cad,cba,cbb,cbc,cbd,cca,ccb,ccc,
ccd,cda,cdb,cdc,cdd,daa,dab,dac,dad,dba,dbb,dbc,dbd,dca,dcb,
dcc,dcd,dda,ddb,ddc,ddd}
2. a* on a {aaa,aab,aac,aad,aba,abb,abc,abd,aca,acb,acb,acc,acd,ada,
adb,adc,add}
3. on peut pas construire aucun mot commence par e a partir
l’alphabet ∑ .

Exercice 5 :
1.
L1UL2= {a,abc,d}

2.
L1L2={aabc,ad,dabc,dd}

3.

L1 0 = { ᶓ }

L1 2 = {aa,ad,da,dd }

L14 = {
aaaa,aaad,aada,aadd,adaa,adad,adda,addd,daaa,daad,
dada,dadd,ddaa,ddad,ddda,dddd}
4.

L2+=
{abc,d,abcabc,abcd,dabc,dd,abcabcabc,abcabcd,a
bcdabc,abcdd,dabcabc,dabcd,ddabc,ddd,......}
L2*=

{ᶓ ,abc,d,abcabc,abcd,dabc,dd,abcabcabc,abcabcd
,abcdabc,abcdd,dabcabc,dabcd,ddabc,ddd,......}

Hiba saghir
1904095

Vous aimerez peut-être aussi