BACK-END
GCC
LVMM
GCC VS GCC
Random
100

¿Cuál es el objetivo principal del backend de un compilador?

Traducir el código intermedio (IR) a código máquina o ensamblador.

100

¿Qué significan las siglas GCC?

GNU Compiler Collection.

100

Porque todas sus partes (frontend, middle-end y backend) están muy integradas y poco modularizadas.

Low Level Virtual Machine.

100

¿Qué framework utiliza GIMPLE y RTL?

GCC.

100

¿Qué hace la instrucción MOV en ensamblador?

Copia el valor de un operando a otro.

200

Menciona una de las tres tareas principales del backend.

principales del backend.Selección de instrucciones, asignación de registros o programación de instrucciones.

200

GNU Compiler Collection.

C.

200

¿En qué lenguaje está escrito LLVM?

C++.

200

¿Qué framework utiliza LLVM IR?

LLVM.

200

¿Qué significa “optimización” en el contexto de compiladores?

Mejorar el código sin alterar su comportamiento.

300

¿Qué parte del compilador decide qué variables van en los registros físicos del procesador?

El asignador de registros.

300

¿Cómo se llama la representación intermedia principal que usa GCC antes del RTL?

GIMPLE.

300

¿Cuál es el nombre de su representación intermedia (IR)?

LLVM IR.

300

¿Cuál es más modular y más fácil de extender?

LLVM.

300

En x86, ¿qué instrucción multiplica dos números enteros con signo?

IMUL.

400

¿Qué significa que el problema de generación de código óptimo sea NP-completo?

Que no existe un algoritmo eficiente que garantice siempre la mejor solución; se usan heurísticas.

400

¿Qué significa RTL en el contexto de GCC?

Register Transfer Language.

400

¿Qué ventaja tiene LLVM frente a GCC en términos de diseño?

Es modular, reutilizable y soporta múltiples frontends.

400

¿Cuál suele tener mejor rendimiento en compilación de grandes proyectos en C?

GCC.

400

¿Qué representa el acrónimo “IR” en compiladores?

Intermediate Representation (representación intermedia).

500

Si un backend está bien diseñado, ¿qué característica debería tener el código generado?

Ser eficiente (rápido, pequeño y usar bien los recursos).

500

¿Por qué se dice que GCC tiene una arquitectura “monolítica”?

Porque todas sus partes (frontend, middle-end y backend) están muy integradas y poco modularizadas.

500

Menciona al menos un lenguaje moderno que use LLVM como backend.

Swift, Rust, Julia, Haskell, entre otros.

500

Si quisieras crear un nuevo lenguaje desde cero, ¿cuál framework sería más recomendable y por qué?

LLVM, porque permite construir nuevos frontends y usar su backend modular sin reescribir todo el compilador.

500

Cual es el segundo nombre del profesor Jason Leiton

Josué 

M
e
n
u