Procesos y fases del compilador: funciones, partes y representaciones intermedias

Clasificado en Informática

Escrito el en español con un tamaño de 18,5 KB

Preguntas y respuestas sobre compiladores

Definiciones y funciones básicas

Pregunta: ¿Es el proceso por el cual se traducen programas en código fuente a programas en código objeto?

R = compilación

Pregunta: Toma el programa escrito en código fuente y lo divide en símbolos, generando la llamada tabla de símbolos.

R = scanner (analizador léxico)

Pregunta: ¿Es un programa que toma los ficheros de código objeto generados en los primeros pasos del proceso de compilación?

R = enlazador (linker)

Pregunta: ¿Toma la tabla de símbolos y, mediante el uso de una gramática, recupera la estructura sintáctica de la oración?

R = parser (analizador sintáctico)

Pregunta: ¿Chequea el programa fuente para detectar posibles errores semánticos y verifica la compatibilidad de tipos?

R = analizador semántico

Pregunta: ¿Es la representación del código fuente como un programa escrito para ser ejecutado en una máquina abstracta?

R = código intermedio

Pregunta: Asigna una variable al registro.

R =

Pregunta: Identifica ciclo como un rótulo o etiqueta.

R =

Pregunta: Cambia A + 4 * 3 a A + 12.

R =

Pregunta: Encuentra una variable que no ha sido declarada.

R =

Pregunta: Cambia A := A + 12 a suma#12,A.

R =

Pregunta: Crea un árbol de análisis gramatical.

R =

Fases del proceso de compilación

Pregunta: Menciona las fases del proceso de compilación.

R = análisis léxico, análisis sintáctico, análisis semántico, generación de código intermedio, optimización, generación de código objeto

Ejercicio: tokens

Pregunta: Encontrar y representar todos los tokens para un programa compuesto de la asignación única:

max := min + 4 * 3;

R =

Tipos de compiladores

Pregunta: Menciona los tipos de compiladores que existen.

R = compiladores cruzados, optimizadores, de una sola pasada, de varias pasadas y JIT (just-in-time)

Partes de un compilador

Pregunta: Menciona y describe las partes de un compilador.

  • Front-end: Es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores en la tabla de símbolos.
  • Back-end: Es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis realizada por el front-end.

Ejercicio: árbol sintáctico

Pregunta: Realizar el árbol sintáctico de la siguiente expresión.

R =

Representaciones intermedias

Pregunta: Mencione las posibles representaciones intermedias.

R = tercetos, cuádruplos (cuartetos) y notación polaca inversa (RPN)

Tabla de símbolos

Pregunta: ¿Es una estructura de datos que contiene un registro para cada identificador utilizado en el código fuente?

R =

Estructura general del compilador

Pregunta: Dibuje la estructura general de un compilador.

R =

Captura

Entradas relacionadas: