Make your own free website on Tripod.com

Universidad Mundo Maya

Codificación

Principal
Proceso de Compilación
Codificación
Programas Objeto
Cuestionario del Capítulo # 9

Análisis y Codificación:

 

 

De las dos partes del proceso de compilación, análisis y síntesis, se ha visto hasta el momento  la primera.  Pero  si el compilador solo hiciera esta parte, meramente serviría para comprobar que la sentencia analizada del lenguaje fuente es correcta;  pero no haria ninguna traducción.

   Se puede decir que el engarse entre el análisis y la síntesis se puede mencionar dos aspectos:

 

      .lenguaje intermedio.

      .Generación de código.

 

       En un copilador suele existir los dos componentes , no es imprescindible

 

 

 LENGUAJE INTERMEDIO:

 

  Cabria considerar la compilación en dos pasos: primero de lenguaje fuente (LF) a lenguaje Intermedio (LI) y , de LI a lenguaje Objeto (LO).

    Cuando la disparidad entre los LF y LO es muy elevada, surge la conveniencia de diseñar y usar un LI que facilite el proceso.

   Las ventajas mayores de empleo de un LI son las siguientes:

 

 

       .Facilitar la base de optimización de un copilador.

        .Aumentar la portabilidad del compilador de una maquina a otra.

         .Facilitar la división del proyecto en fases.

  

 

GENERACION DE CODIGO .

 

 

    Una vez que se tiene el LI hace falta generar el código objeto para la maquina objeto deseada que  en el caso normal de no tratarse de un copilador cruzado es el mismo código, con el que esta escrito el copilador.

 

     1.– Se va analizando secuencialmente cada símbolo de entrada. S es operando se apila y sigue con este mismo paso, pero con el símbolo siguiente,  si el símbolo de entrada es un operador, se va al paso  2 .

 

      2.– Si el símbolo en cuestión es un operador se aplica a los dos símbolos superiores a los de la pila. Así si se tenia en la pila AB, los dos elementos superiores, y llega al operador  entonces se debe generar LOAD A, seguido de MULT B y de STORE T .

 

OPTIMIZACION DE CODIGO

 

 La fase optimizadota de un compilador  tiene por misión adecuar  correctamente el código objeto  generado de forma que  se optimice en lo posible la longitud del programa, su inherente velocidad  de ejecución o sus requerimientos de memoria.

 

    La correspondencia entre código  fuente y código objeto ejecutable nunca  es bi univoca

 

No solamente por el echo de las diferentes modalidades  de generación de dicho  código, sino además y fundamentalmente por las posibles optimizaciones que pudieran surgir.

 

     Pueden distinguirse dos clases de optimizaciones susceptibles de ser tratadas  por la fase copiladora:

                 

                  1.– Optimizaciones independientes de la maquina.

                 

                  2.– Optimizaciones dependientes de la maquina.

 

 

1.– Optimizaciones independientes de la maquina.

Existen multitud de tipos y subtipos  de esta clase.  Algunos de ellos son : la reducción simple, el rea condicionamiento  de instrucciones, la reducciones de potencia y la reducción de frecuencia.

   

2.– Optimizaciones dependientes de la maquina.

I might also include some information about my personal history: where I grew up, where I went to school, various places I've lived. If I have one, I'll include a picture of myself engaging in an activity I enjoy, such as a sport or hobby.