Está en la página 1de 6

UNIVESIDAD AUTÓNOMA DE NUEVO LEÓN FACULTAD DE

INGENIERÍA MECÁNICA Y ELECTRICA

Laboratorio de lenguajes de programación

Práctica 2: Compiladores e intérpretes

Agosto- Diciembre 2023

ALUM.: ÁNGEL RICARDO SÁNCHEZ HERNÁNDEZ


MATRICULA: 1948834. CARRERA: IAS
Compiladores Intérpretes
¿Qué es? Un compilador es un Un intérprete es un
programa informático que programa informático que
traduce todo el código procesa el código fuente de
fuente de un proyecto de un proyecto de software
software a código máquina durante su tiempo de
antes de ejecutarlo. Solo ejecución, es decir,
entonces el procesador mientras el software se está
ejecuta el software, ejecutando, y actúa como
obteniendo todas las una interfaz entre ese
instrucciones en código proyecto y el procesador.
máquina antes de Un intérprete siempre
comenzar. De esta manera, procesa el código línea por
el procesador cuenta con línea, de modo que lee,
todos los componentes analiza y prepara cada
necesarios para ejecutar el secuencia de forma
software, procesar las consecutiva para el
entradas y generar los procesador. Este principio
resultados. No obstante, en también se aplica a las
muchos casos, durante el secuencias recurrentes, que
proceso de compilación se ejecutan de unevo cada
tiene lugar un paso vez que vuelven a aparecer
intermedio fundamental: en el código. Para procesar
antes de generar la el código fuente del
traducción final en código software, el intérprete
máquina, la mayoría de los recurre a sus propias
compiladores suelen bibliotecas internas: en
convertir el código fuente cuanto una línea de código
en un código intermedio fuente se ha traducido a los
(también llamado código correspondientes
objeto) que, a menudo, es comandos legibles por
compatible con diversas máquina, esta se envía
plataformas y que, además, directamente al procesador.
también puede ser utilizado El proceso de conversión no
por un intérprete. Al finaliza hasta que se ha
producir el código, el interpretado todo el
compilador código. Solo se interrumpe
determina qué prematuramente si se
instrucciones van a produce un fallo durante el
enviarse al procesador procesamiento, lo que
y en qué orden. Si las simplifica mucho la
instrucciones no son resolución de los errores,
interdependientes, ya que la línea de código
incluso es posible que problemática se detecta
puedan procesarse en inmediatamente después
paralelo de ocurrir el fallo.
Historia El término «compilador»
fue acuñado a principios de
1950 por Grace Murray
Hopper. La traducción fue
vista entonces como la
«compilación» de una
secuencia de rutinas
seleccionadas.

Grace Brewster Murray


Hopper fue una científica
informática estadounidense
y contraalmirante de la
Marina de los Estados
Unidos. Una de las
primeras programadoras de
la computadora Harvard
Mark I, fue una pionera en
programación que inventó
una de las primeras
herramientas relacionadas
con el compilador. Ella
popularizó la idea de los
lenguajes de programación
independientes de la
máquina, lo que condujo al
desarrollo de COBOL, un
lenguaje de programación
de alto nivel que todavía se
usa en la actualidad.
El primer compilador del
lenguaje de alto nivel
FORTRAN se desarrolló
entre 1954 y 1957 en IBM
por un grupo dirigido por
John Backus
Función Tradicionalmente los Un intérprete lee un
compiladores generaban programa fuente
código máquina de inferior ejecutable, escrito en un
calidad que el que podían lenguaje de programación
escribir programadores de alto nivel, así como
humanos, pero datos para este programa, y
actualmente los ejecuta el programa contra
compiladores proporcionan los datos para producir
hoy en día un código algunos resultados. Un
máquina de alta calidad ejemplo es el intérprete de
pequeño y rápido, haciendo shell de Unix, que ejecuta
poco atractiva la comandos del sistema
programación en operativo de forma
ensamblador, interactiva.
programación que en
asignaturas como está ya
simplemente se menciona
por conocerla pero no se
realiza un estudio para
aprender este tipo de
programación.
Diferencias El compilador, en el fondo, Un intérprete funciona
hace lo mismo (traducir), “sobre la marcha”: recibe el
pero tiene una programa (el código que
aproximación al problema has escrito, por ejemplo, en
totalmente distinta. Python), así como el fichero
de datos. Procesa ambos y
El compilador recibe solo tu devuelve la lista de
código y hace un análisis recomendaciones.
profundo del mismo,
buscando errores e intérprete_qué es un
ineficiencias e intentando intérprete y qué es un
eliminarlas. Es un proceso compilador
mucho más largo y mucho Al procesar el código, va
más complejo. De hecho, haciendo la traducción
los compiladores suelen ser línea a línea y, al terminar la
los programas más traducción,
complejos que existen. El inmediatamente la ejecuta.
resultado de todo esto es Es decir, la ejecución se
un fichero que es hace a la vez que la
directamente ejecutable traducción.
por parte de la máquina.
Cuando has abierto el Al ser así, la traducción
browser para navegar en tiene que ser rápida y, por
esta página, lo que has tanto, no puede ser gran
hecho ha sido cargar uno cosa: es un trabajo rápido
de esos ficheros en para salir al paso.
memoria, posiblemente
chrome.exe.

Ese mismo fichero


ejecutable puede ahora
recibir los datos y
procesarlos.

Momento en que se Durante el tiempo de Antes de ejecutar el


traduce el código fuente ejecución del software software
Procedimiento de Línea por línea Siempre todo el código
traducción

Presentación de errores de Después de cada línea En conjunto, después de


código toda la compilación
Velocidad de traducción Alta Baja
Eficiencia de traducción Baja Alta
Coste de desarrollo Bajo Alto
Lenguajes tipicos PHP, Perl, Python, Ruby, C, C++, Pascal
BASIC
Ventaja Proporciona al procesador Proceso de desarrollo
el código máquina sencillo (sobre todo en
completo y listo para términos de depuración)
ejecutar
Desventaja Cualquier modificación del Proceso de traducción poco
código (resolución de eficiente y velocidad de
errores, desarrollo del ejecución lenta
software, etc.) requiere
volverlo a traducir

También podría gustarte