Jun04 1s Sol
INFORMÁTICA
EXAMEN DE PROCESADORES DE LENGUAJES
MAYO /J UNIO 2004
NO ESTÁ PERMITIDO EL USO DE NI NGÚN MATERIAL ADICIONAL
PRIMERA SEMANA
PROBLEMA 1. Tiempo estimado 40 minutos
Puntuación 5 puntos
1. ¿Qué son las expresiones de tipos de un lenguaje?. Definirlas, enumerarlas y poner un ejemplo de cada
caso (1 punto)2. Indicar las diferencias que tiene lugar en el entorno de ejecución de un programa en lenguajes que permiten
funciones recursivas y en los que no las permiten. (1 punto)
3. Dado el siguienteprograma, y suponiendo que se calculan las direcciones de memoria a partir de la posición
100, que los enteros y caracteres ocupan dos posiciones de memoria:
int a;
char c[10][20];
struct {int x, y;}cuenta;
int fibonacci(int n)
{
int x, y;
char c;
if (n <= 2)
else
Instante
para
resolver
return 1;
return (fibonacci(n-1) + fibonacci(n-2));
}
main ()
{
a = fibonacci (3);
}
3.1. Dibujar la tabla detipos y la tabla de símbolos global del programa (1,5 puntos)
3.2. Explicar cuál es la función y la estructura de un Registro de Activación en un lenguaje de programación.
(0,5 puntos)
3.3. Sisuponemos que el programa se ejecuta en un entorno basado en pila, indicar cuál es el contenido de la
pila durante la ejecución de este programa, en el punto indicado en el programa (1 punto)
PROBLEMA 2.Tiempo estimado 60 minutos
Puntuación 5 puntos
Se desea diseñar un Esquema de Traducción Dirigido por la Sintaxis para traducir declaraciones de variables en
MODULA 2 al lenguaje C. Por ejemplo:Ejemplo 1
Ejemplo 2
Ejemplo 3
MODULA 2
VAR v1: INTEGER;
VAR v2: ARRAY[0..5] OF CHAR;
VAR a: ARRAY[0..10] OF ARRAY[0..20] OF REAL;
C
int v1;
char v2[6];
float a[11][21];
La gramática considerada paralas declaraciones en MODULA 2 es:
S à VAR id : T ;
T à ARRAY [ num .. num ] OF T
T à REAL | INTEGER | CHAR
donde S y T son símbolos no terminales, el terminal id representa cadenas de caracteres...
Regístrate para leer el documento completo.