Está en la página 1de 5

DIRECCIÓN ACADÉMICA

Formato de entrega de evidencias


FO-205P11000-14

División: (1) Ingeniería en Tecnologías de la Información y Comunicación Grupo: (2) 1060-M


Asignatura: (3) Programación Web Docente: (4)
Nombre y número de control: (5) Rodríguez Romero Luis Fernando 173110068
Fecha de entrega: (6) 05-03-2020
Competencia No.: (7) Descripción: (8)
Indicador de alcance: (9)
Evidencia de aprendizaje: (10)

Contenido
¿Qué es un compilador?............................................................................................................................ 1
Partes del Compilador: ............................................................................................................................. 2
Tipos de compiladores .............................................................................................................................. 2
El Interprete .................................................................................................................................................. 3
Conclusión ..................................................................................................................................................... 3
Referencias .................................................................................................................................................... 3

¿Qué es un compilador?
Un compilador es un programa informático que traduce un programa escrito en
un lenguaje de programación a otro lenguaje de programación, generando un programa
equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje
es lenguaje de máquina, pero también puede ser un código intermedio , o simplemente
texto. Este proceso de traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un programa
en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de
máquina). De esta manera un programador puede diseñar un programa en un lenguaje
mucho más cercano a como piensa un ser humano, para luego compilarlo a un
programa más manejable por una computadora
Partes del Compilador:
 Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye
las fases correspondientes al Análisis Léxico (que consiste en la descomposición del
programa fuente en componentes léxicos), Análisis Sintáctico (agrupación de los
componentes léxicos en frases gramaticales ) y Análisis Semántico (comprobación
de la validez semántica de las sentencias aceptadas en la fase de Análisis Sintáctico).

 Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y


suele estar formado por una o varias combinaciones de fases de Generación de
Código (normalmente se trata de código intermedio o de código objeto) y de
Optimización de Código (en las que se busca obtener un código lo más eficiente
posible).

 Front-end: es la parte que analiza el código fuente, comprueba su validez, genera


el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele
ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está
compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de
Código Intermedio.

Tipos de compiladores

 Compiladores cruzados: generan código para un sistema distinto del que están
funcionando.
 Compiladores optimizadores: realizan cambios en el código para mejorar su
eficiencia, pero manteniendo la funcionalidad del programa original.
 Compiladores de una sola pasada: generan el código máquina a partir de una única
lectura del código fuente.
 Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes
de poder producir el código máquina.
 Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes
del código según se necesitan.
El Interprete
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de
analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se
diferencian de los compiladores en que mientras estos traducen un programa desde su
descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes
sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por
instrucción, y normalmente no guardan el resultado de dicha traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en
sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo
archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables
específicos a cada sistema.

Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad
de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos
de programación y de puración (lo que se traduce, por ejemplo, en una mayor facilidad para
reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten
ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta
el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).

Conclusión
La función de un compiladores es leer un programa escrito es un lenguaje, en este caso
el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje
objeto.
Por otro lado, comprendímos que un compilador, requiere de una sintaxis y lenguajes
específicos, ya que, al igual que el lenguaje humano, si no lo escribimos correctamente
el compilador no hará lo que deseamos. Y que en la compilación hay dos partes: Análisis
y Síntesis. La parte del análisis divide al programa fuente en sus elementos
componentes y crea una representación intermedia.
Y por la parte del interprete, este nos facilita la búsqueda de errores, pues la ejecución
de un programa puede interrumpirse en cualquier momento para estudiar el entorno
(valores de las variables). Además, el programa puede modificarse sobre la marcha, sin
necesidad de volver a comenzar la ejecución.

Referencias
1. Federico Tomassetti, F. T. (2018, 10 octubre). ¿Diferencia entre un compilador y
un intérprete? Y el porqué importa. Recuperado 5 marzo, 2020, de
https://ingenieriadesoftware.es/diferencia-compilador-interprete-transpilador/
2. Jose79, J. J. (s.f.). COMPILADOR E INTERPRETE. Recuperado 5 marzo, 2020, de
http://josesanchezsantos.blogspot.com/2012/05/compilador-e-interprete.html
Características de los intérpretes y compiladores orientados a web

Procesamiento de cadenas de caracteres, adopta Lenguaje interpretado


PERL características del lenguaje tipo C

Lenguaje de SCRIPT, permite hacer programas Lenguaje interpretado


TCL-TK gráficos de forma bastante rápida

Lenguaje SCRIPT estructurado Lenguaje interpretado


PYTHON

Desarrollo de programación web, para crear Lenguaje interpretado


AJAX aplicaciones interactivas

Programación Orientada a Objetos Lenguaje interpretado


RUBY

Desarrollo de Programación Web


ASP

También podría gustarte