Expresiones y Arboles Semánticos (Ejercicios)

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

ESPECIALIDAD:

INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA:

LENGUAJES Y AUTOMATAS II

DOCENTE:

MED. LYDIA MARCELA HERNANDEZ SAUCEDO

TEMA:

TEMA 1: EXPRESIONES Y ARBOLES SEMÁNTICOS

DOCUMENTO:

TAREA 2: EJERCICIOS

ALUMNO:

FRANCISCO JAVIER ALVARADO RAMOS


Problema 1
De la siguiente expresión en BNF:

e  n | e+e | e−e | e * e | e / e

n  d | nd

d0|1|2|3|4|5|6|7|8|9

Terminales: 0,1,2,3,4,5,6,7,8,9

Realizar la derivación regla sintáctica, regla semántica y árbol de derivación


para: 5 + 15 * 20 SI PERTENECE

ee+e
ee+e*e
en+n+n
ed+nd*nd
e5+d5*d0
e5+15*20

Regla semántica

ee1.val+e2.val
ee1.val+e3.val*e4.val
en1.val+n2.val*n3.val
ed1.val+nd1.val*nd2.val
e5+d5.val*d0.val
e5+15*20
Problema 2
e  n | e+e | e−e | e * e | e / e | (e)

Escribe la derivación, regla sintáctica, regla semántica y árbol semántico para:

1-1*1 and 1*(2-3+1) SEPARADOS SI PERTENECEN

ee-e ee*e
e-e*e e*(e)
n-n*n e*(e-e)
1-1*1 e*(e-e+e)
n*(n-n+n)
1*(2-3+1)
Regla semántica
ee1.val-e2.val ee1.val*e2.val
ee1.val-e3.val*e4.val ee1.val*(e3.val)
en5.val-n6.val*n7.val ee1.val*(e4.val-e5.val)
e1-1*1 ee1.val*(e4.val-e6.val+e7.val)
en8.val*(n9.val-n10.val+n11.val)
Problema 3
sentencia  sent-if | otro

sent-if  if (exp) sentencia parte-else

parte-else  else sentencia | 𝜀

exp -> 0 | 1

Derivar y realizar regla sintáctica, semántica y hacer el árbol semántico para:

If (0) otro else otro SI PERTENECE

sentencia sent-if
if(exp) sentencia parte-else
if (exp) otro else sentencia
if (0) otro else otro

Regla semantica
sentencia sent-if1.val
if (exp) sentencia parte.else2.val
if (exp) (otro3.val) (else sentencia4.val) 2.val
if (05.val)(otro3.val) (else otro6.val)
Problema 4
<dígito>::= 0|1|2|3|4|5|6|7|8|9
<letra>::= a|b|c……………|x|y|z
<identificador>::=<letra>|<identificador><dígito>|<identificador> <letra>

Derivar y realizar regla sintáctica, semántica y hacer el árbol semántico para:

Abl SI PERTENECE

(identificador)(digito)
(identificador)(letra)(digito)
(letra)(letra)(digito)
(a)(b)(1)

Regla semántica
(identificador1.val)(digito1.val)
(identificador2.val)(letra2.val)(digito1.val)
(letra3.val)(letra2.val)(digito1.val)
(a)(b)(1)
Problema 5
<asig>::= <id>:=<exp>
<id>::= A| B| C |D (también podría ser la definición de identificador anterior)
<exp>::= <exp> + <exp>
| <exp> * <exp>
| <id>

Derivar y realizar regla sintáctica, semántica y hacer el árbol semántico para:

A:= B + C * D SI PERTENECE

(id):=(exp)
(id):=(exp)+(exp)
(id):=(exp)+(exp)*(exp)
(id):=(id)+(id)*(id)
(A):=B+C*D
Regla semántica

(asig)= (id1.val):=(exp2.val)
(id1.val):=(exp3.val)+(exp3.val)
(id1.val):=(exp3.val)+(exp4.val)*(exp5.val)
(id1.val):=(id2.val)+(id3.val)*(id4.val)
(A):=B+C*D
Problema 6
Escribir una gramática para verificar la declaración de variables de un programa X.
var
a : integer;
b, c : real;
d :alumno;

También podría gustarte