You are on page 1of 6

INSTITUTO TECNOLGICO SUPERIOR DE LOS ROS

Carrera Asignatura Ingeniera en Sistemas Lenguajes y Autmatas II Computacionales Actividad de aprendizaje. Contesta las siguientes preguntas en base a la lectura "Generacin de cdigo" del libro de compiladores de Sergio Glvez Rojas y Miguel ngel Mora Mata. Captulo 8. Archivo "compiladores.pdf" 1. En qu etapa de la compilacin se ubica la generacin de cdigo intermedio? En la etapa de frontend.

2. Qu diferencia existe entre cdigo intermedio y cdigo objeto? El cdigo intermedio es apenas una representacin a partir de la cual la etapa final genera el cdigo objeto, ya se en forma de cdigo maquina o ensamblador.

3. Qu es el cdigo de tercetos? Los cdigos de tercetos son parecidos a cualquier cdigo ensamblador, existiendo operaciones para sumar, restar, etc. Tambin existen instrucciones para controlar el flujo de ejecucin, y pueden aparecer etiquetas simblicas en medio del cdigo con objeto de identificar el destino de los saltos.

Carrera Asignatura Ingeniera en Sistemas Lenguajes y Autmatas II Computacionales Actividad de aprendizaje. Contesta las siguientes preguntas en base a la lectura "Generacin de cdigo" del artculo de la Universitat Jaume I. II26. Procesadores de lenguaje. Archivo "Generando cdigo intermedio.pdf"

1. Cul sera el esquema para la generacin de cdigo intermedio para la suma en el caso de la generacin de cdigo para expresiones? Escrbelo.

2. Cul sera el esquema para la generacin de cdigo intermedio para constantes en el caso de la generacin de cdigo para expresiones? Escrbelo.

3. Cul es la diferencia entre los generadores de cdigo de una pasada y los de mltiples pasadas?. Elabora un cuadro comparativo. GENERADORES DE CDIGO DE UNA PASADA DIFERENCIAS

GENERADORES DE CDIGO DE MULTIPLES PASADAS DIFERENCIA

Carrera Asignatura Ingeniera en Sistemas Lenguajes y Autmatas II Computacionales Actividad de aprendizaje. Contesta las siguientes preguntas en base a la lectura "tema 7. Generacin de cdigo de Mara del Mar Aguilera Sierra y Sergio Glvez Rojas. Archivo "generacion de cdigo.pdf" 1. Qu pasa con los nodos interiores de un rbol sintctico cuando se genera cdigo de tercetos ? Cuando se genera cdigo de tercetos, se construyen variables temporales para los nodos interiores del rbol sintctico.

2. Cul sera la salida y porqu para el siguiente cdigo de entrada en la generacin de cdigo de tercetos en sentencias de control? Explique.

Toda la salida del cdigo depende de la variable, usando la regla de produccin del no terminal sent y antes de que reduzcamos el If obtendremos las 2 sent : cdigo generado sent 1 _ S1 = 1 cdigo generado sent 2 _ S2 = 2 Despus incluimos las reglas intermedias y generamos el cdigo asociado a la condicin:

3. Cmo sera la estructura para la generacin de cdigo para las siguientes sentencias: ? a. IF-THEN-ELSE El caso del IF es el caso ms simple. Aqu basta, con indicar que la etiqueta de verdad de la condicin est asociada al cdigo a continuacin del THEN, y la etiqueta de falso se asocia al cdigo que puede haber tras el ELSE. En cualquier caso, una vez acabadas las sentencias del THEN se debe producir un salto al final del IF, porque no queremos que se ejecuten tambin las sentencias del ELSE. Por tanto, tras la sentencias del THEN, creamos una nueva etiqueta a la cual produciremos un salto, y colocamos el destino de tal etiqueta al final del cdigo del IF.

a. WHILE

En el caso del WHILE, a continuacin se genera el cdigo de la condicin. La etiqueta de verdad se pone justo antes de las sentencias del WHILE, que es lo que se debe ejecutar si la

condicin es cierta. Al final de las sentencias se pondr un salto al inicio del bucle, donde de nuevo se comprobar la condicin. La etiqueta de falso de la condicin, se pondr al final de todo lo relacionado con el WHILE, o lo que es lo mismo, al principio del cdigo generado para las sentencias que siguen al WHILE.

You might also like