• Aucun résultat trouvé

Cours de Compilation - Test de connaissances

N/A
N/A
Protected

Academic year: 2022

Partager "Cours de Compilation - Test de connaissances"

Copied!
2
0
0

Texte intégral

(1)

Cours de Compilation - Test de connaissances

Master d’Informatique M1 2011–2012 15 septembre 2011

Nom : . . . Pr´enom : . . . .

Soit un langage d’expressions bool´eennes d´efini par :

<prog> ::= <inst> | <prog> <inst>

<inst> ::= set ident (ident) = <expr>

<expr> ::= true | false | ident |

| <expr> <binop> <expr> | ident ( <expr>)

| ( <expr>)

<binop> ::= && | || | =

Soit le programme:

set neg (x) = x = false set f (x) = x || neg (x)

On introduit des tokens SET, TRUE, FALSE correspondant aux mots cl´es set, true et false, le token IDENT pour les identificateurs et les tokens suivants pour les symboles : LP ((), RP ()), AND(&&),OR (||) et EQ (=).

1. Quels sont les symboles non-terminaux de la grammaire ? Correction : <prog>, <inst>, <expr> et <binop>

2. La grammaire est-elle ambigu¨e ?

Correction : oui, deux mani`eres d’interpr´eter true || false && true

3. Donner la suite de tokens associ´ee au programme.

Correction :

SET IDENT LP IDENT RP EQ IDENT EQ FALSE

SET IDENT LP IDENT RP EQ IDENT OR IDENT LP IDENT RP

4. Donner l’arbre de d´erivation syntaxique correspondant au programme.

Correction :

(2)

September 17, 2011 2

prog

prog

inst

SET IDENT LP IDENT RP EQ expr

expr

IDENT binop

EQ expr

FALSE

inst

SET IDENT LP IDENT RP EQ expr

expr

IDENT binop

OR

expr

IDENT LP expr

IDENT RP

Références

Documents relatifs

[r]

Le mode de passage des arguments en Java est-il par valeur ou par r´ ef´ erence?. Correction : En Java les param` etres sont pass´ es

[r]

L’application f e a une pr´ ec´ edence plus forte que celle de la multiplication * qui a elle-mˆ eme une pr´ ec´ edence plus forte que l’addition +..

[r]

WKMUTVPn§ZI[ˆKQnCrM†MVC:W&gt;QRC:H1C8J_T‘YKI[L†QnC•¬I[PnT‘acW&gt;C_x_E&gt;I?JKMQRC8M†MUdGq:Psg C:T&gt;g

'LVHDVHVRIRUDO

*ORPHUXODUGLVHDVHUHQDO IDLOXUHDQGRWKHUGLVRUGHUVRI NLGQH\DQGXUHWHU0DODGLHV JORPpUXODLUHVLQVXIILVDQFH UpQDOHHWDXWUHVDIIHFWLRQVGX