Software de Sistema y Aplicación: Lenguajes y Procesos de Compilación
Clasificado en Informática
Escrito el en español con un tamaño de 2,97 KB
Software de Sistema y Aplicación
Software de Sistema: Se enfoca en hacer que la computadora entienda lo que el usuario quiere.
Software de Aplicación: Son los programas que se especializan en una tarea en especial.
Lenguajes
Lenguaje: Forma que tienen las entidades para comunicarse entre sí.
- Natural: Es utilizado por las personas.
- Artificial: Puede ser usado para controlar el comportamiento de una máquina.
Proceso de Comunicación
Proceso de la Comunicación: Emisor, receptor, código, mensaje, canal, ruido.
Traductores, Ensambladores, Cargadores, Intérpretes y Compiladores
Traductor: Entidad que recibe un mensaje con cierto lenguaje y lo transforma a otro.
Ensamblador: Traduce un programa escrito en lenguaje ensamblador y produce código máquina.
- Residente: Siempre está en la memoria.
- 1ª pasada: Lee el programa en lenguaje ensamblador en busca de identificadores a los cuales almacena en una tabla de símbolos y asigna una dirección a partir del 0.
- 2ª pasada: Realiza la traducción, cambiando los mnemónicos de las operaciones, las variables por su dirección y las constantes por su valor binario.
Cargador: Programa que toma como entrada a otro programa en lenguaje de máquina re-localizable y produce como salida un programa en lenguaje de máquina absoluto.
Intérprete: Es aquel programa que analiza y ejecuta programas sin generar evidencia (código).
Compilador: Tiene varias etapas: análisis léxico, sintáctico, semántico, generador de código intermedio, optimizador de código, generador de código objeto, administración de la tabla de símbolos, detección y manejo de errores.
Etapas de la Compilación
Análisis Léxico: Lee caracteres de entrada, los reconoce y genera una secuencia de componentes léxicos.
Análisis Sintáctico: Dice si lo leído es una cadena válida de acuerdo con la gramática del lenguaje.
Análisis Semántico: Se encarga de darle sentido correcto a una expresión.
Optimización de Código: Hace el código intermedio aún más sencillo.
Generación de Código Objeto: Genera un programa que puede ser entendido fácilmente por la máquina.
Tabla de Símbolos: Es una estructura de datos que contiene un registro por cada identificador en los campos para sus atributos.
Detección y Manejo de Errores: Se deben tratar de alguna forma los errores para poder continuar la compilación.
Código Interno: Es una representación intermedia del programa fuente que debe ser fácil de producir y traducir.