Ejer Otro

5
 TRADUCTORES, COMPILADORE S E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro, cinco) char *uno; long dos; double tres; { } y las traduzca a definiciones del estilo C++, como prueba(char *uno, long dos, double tres, int cuatro, int cinco) { } Nótese que las variables a las que no se les ha indicado tipo, se suponen de tipo entero. 2.) Sup oner un len gu aje que no s pe rmi tirá de cla rar var iab les de t ipo sub ran go de ente ros , de la forma var1, var2 : [límite1..l ímite2]; . Además permite efectuar asignaciones a las variables previamente declaradas. Hacer un intérprete que controle lo siguiente: - No se puede declarar una variable dos o más veces. - Sólo se pueden hacer asignaciones a variables previamente declaradas. - Toda asignación a una variable debe controlar que el valor entero que se l e asigne esté entre los límites del rango con que se declaró. - Las operaciones deberán ser: *, /, + y -. 3.) Es u na b uena in ten ció n el permiti r al prog ramado r q ue e xpr ese condiciones c omp lej as como (a < b) AND (b < c), de una forma mucho más intuitiva, tal como a < b < c. Hacer un esquema de traducción con LEX/YACC que permita condiciones como la propuesta con objeto de generar código de tercetos. 4.) Seg ún el e squ ema de t raducción de L EX/ YAC C visto en clas e p ara estruct ura s co mpl eja s de control, indicar el código de tercetos que s e obtendría como resultado de traducir el siguiente trozo de código: SUMA := OPERANDO1; WHILE OPERANDO2 > 0 DO SUMA := SUMA + 1; FIN WHILE; 5.) Sup onie ndo que un pun tero se a lmac ena en 4 b yt es, un ent ero en 2 b yt es, un real en 5 bytes, y un lógico en un byte, modificar a decuadamente el esquema LEX/YACC visto en c lase sobre sistemas de tipos complejos, de manera que para ca da identificador, junto con su tipo, se almacene el tamaño que ocupa. Ignorar la existencia del tipo función, y considerar que un array implica el almacenamiento repetido del tipo a que referencia. 6. ) En e l es qu ema visto en clas e sobre estru ctu ras complejas d e cont rol, s e ge neran numerosas variables temporales. Modificar adecuadamente las acciones para que se reutilicen las

Transcript of Ejer Otro

Page 1: Ejer Otro

5/17/2018 slidepdf.com | 502: Bad gateway

http://slidepdf.com/reader/full/ejer-otro 1/1

Error 502 Ray ID: 41c6fe9b479e9f54 • 2018-05-17 15:07:35

UTC

Bad gateway

You

Browser

Working

Ashburn

Cloudflare

Working

slidepdf.com

Host

Error

What happened?

The web server reported a bad gateway error.

What can I do?

Please try again in a few minutes.

Cloudflare Ray ID: 41c6fe9b479e9f54 • Your IP: 2607:5300:203:be2:: • Performance & security by Cloudflare