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
-
Upload
jose-garcia -
Category
Documents
-
view
24 -
download
1
Transcript of Ejer Otro
![Page 1: Ejer Otro](https://reader030.fdocuments.es/reader030/viewer/2022020804/557201cc4979599169a25761/html5/thumbnails/1.jpg)
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