Compliador

Descrição

Hay dos procesos en esta asignación: análisis y síntesis.
Ronaldo Gomez
Notas por Ronaldo Gomez, atualizado more than 1 year ago
Ronaldo Gomez
Criado por Ronaldo Gomez mais de 5 anos atrás
14
0

Resumo de Recurso

Página 1

Estructura de un Compilador

Hasta este punto hemos tratado al compilador como una caja simple que mapea un programa fuente a un programa destino con equivalencia semántica. Si abrimos esta caja un poco podremos ver que hay dos procesos en esta asignación: análisis y síntesis.

La parte del análisis divide el programa fuente en componentes e impone una estructura gramatical sobre ellas. Después utiliza esta estructura para crear un representación intermedia del programa fuente Si la parte del análisis detecta que el programa fuente está mal formado en cuanto a la sintaxis, o que no tiene semántica consistente, entonces debe proporcionar mensajes informativos para que el usuario pueda corregirlo. La parte del análisis bien recolecta información sobe el programa fuente  la almacena en una estructura de datos llamada tabla de símbolos, la cual se pasa junto con la representación intermedia a la parte de la síntesis.

La parte de la síntesis construye el programa destino deseado a partir de la representación y de la información en la tabla de símbolos. A la parte del análisis se le llama comúnmente el front-end del compilador;  la parte de la síntesis (propiamente la traducción) es el back-end.

Si examinamos el proceso de compilación con más detalle, podremos ver que opera como una secuencia de fases, cada una de las cuales transforma una representación del programa fuente en otro.

En la practica varias fases pueden agruparse, y las representaciones intermedias entre las fases agrupadas no necesitan construirse de manera explícita. La tabla de símbolos, que almacena información sobre todo el programa fuente, se utiliza en todas las fases del compilador.

Algunos compiladores tiene una fase de optimización código independiente de la máquina, entre el front-end y el back-end. El propósito de esta optimización es realizar transformaciones sobre la representación intermedia, para que el back-end pueda producir un mejor programa destino de lo que hubiera producido una representación intermedia sin optimizar . Como la optimización es opcional, puede faltar una de las dos fases de optimización,

Semelhante

FUNDAMENTOS DE REDES DE COMPUTADORAS
anhita
Test: "La computadora y sus partes"
Dayana Quiros R
Abreviaciones comunes en programación web
Diego Santos
Seguridad en la red
Diego Santos
Excel Básico-Intermedio
Diego Santos
Evolución de la Informática
Diego Santos
Introducción a la Ingeniería de Software
David Pacheco Ji
Conceptos básicos de redes
ARISAI DARIO BARRAGAN LOPEZ
La ingenieria de requerimientos
Sergio Abdiel He
TECNOLOGÍA TAREA
Denisse Alcalá P
Navegadores de Internet
M Siller