Sei sulla pagina 1di 1

Universidad Nacional Mayor de San Marcos Facultad de Ingeniera de Sistemas e Informtica

EXMEN FINAL 2012-1 LENGUAJES Y COMPILADORES Prof.: Nora La Serna 13-07-12

1. (4 puntos) Utilice la gramtica G para realizar el anlisis sintctico descendente utilizando el algoritmo Earley, de la siguiente cadena E y diga si es sintcticamente correcta o no: E={ id * id + (id) } G: {(E,T, F), (+, *, (, ), id), E, P} P= { 1. E E + T 2. E T 3. T T * F 4. T F 5. F ( E ) 6. F id } 2. (6 puntos) Verificacin semntica. En la siguiente gramtica actualizada del punto 1, P= { 1. E E + T 2. E T 3. T T * F 4. T F 5. F ( E ) 6. F id : T 7. T int | real } a) (3 puntos) Agregue las reglas semnticas para verificacin de tipos. Previamente indique el o los atributos y la(s) accin(es) semntica que utilizar. b) (3 puntos) Dibuje el rbol anotado del anlisis sintctico del punto 1, indicando su tipo de datos en cada uno de los nodos del rbol. 3. (6 puntos) Escriba el cdigo fuente en C++ de la suma de N nmeros enteros pares, Y traducir el cdigo fuente a cdigo de tres direcciones. 4. (4 puntos) Ejercicio LR, realizado en clase.

Potrebbero piacerti anche