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 =