Please enable JavaScript.
Coggle requires JavaScript to display documents.
Generación de código intermedio (Función (Convierte el programa en una…
Generación de código intermedio
Función
Convierte el programa en una forma intermedia independiente del procesador.
Ejemplo
x = a + b * c → código intermedio
Etapas del proceso de compilación
Análisis semántico
Ejemplo
x = "Hola" + 3; → error, no se puede sumar texto con número. Esto Asegura que las operaciones sean válidas.
Función
Comprueba el significado lógico del código: tipos de datos, variables declaradas, etc.
Análisis sintáctico
Ejemplo
Si escribimos if (x > 5) x = x + 1 falta el punto y coma ; → error sintáctico.
Función
Verifica la estructura del código según las reglas del lenguaje (gramática).
Generación de código
Función
Traduce el código intermedio a lenguaje máquina o ensamblador.
Referencias
GeeksforGeeks. (2024). Phases of Compiler: Lexical, Syntax, Semantic, Intermediate Code Generation, Optimization, and Code Generation. GeeksforGeeks.
https://www.geeksforgeeks.org/compiler-design/phases-of-a-compiler/
Wind River Systems. (2023). Phases of embedded compiler operation.
https://www.windriver.com/solutions/learning/phases-embedded-compiler-operation
Universidad de Valladolid. Fases de un compilador. Universidad de Valladolid.
https://www.infor.uva.es/~mluisa/talf/docs/aula/A7.pdf
Suigeneris. Fases de un compilador. Suigeneris. de
http://www.suigeneris.org/UCABTI/Fases%20de%20un%20Compilador.html
Optimización
Función
Mejora la eficiencia del programa sin cambiar su resultado.
Ejemplo
x = 3 * 2 → se reemplaza por x = 6
Esto elimina operaciones o variables innecesarias.
Análisis léxico
Funcion
Lee el código y lo convierte en tokens (palabras clave, identificadores, números, símbolos).
Ejemplo:
int x = 5 --> int, x, =, 5, ;
En esta etapa se detecta errores como caracteres inválidos o símbolos desconocidos.
Ensamblado
Función
Transforma el código ensamblador en código objeto binario.
Ejemplo
Convierte ADD R1, R2 en números binarios (010110…).
Crea archivos .obj o .o.
Enlazado
Función
Une todos los módulos y bibliotecas en un solo ejecutable.
Ejemplo
Combina main.obj + math.obj + librerías del sistema → programa.exe
Salida final
Función
Genera el programa ejecutable o bytecode listo para correr.
Ejemplo
C/C++ → programa. exeJava → .class.
C# → .dll o .exe
Cuando hablamos de proceso de compilacion hacemos referencia al mecanismo de traducción automática que convierte código fuente (escrito por humanos) en código máquina (entendible por computadoras).
Realizado por Elian Javier Baez Estepan 25-0489