Está en la página 1de 7

Guía de “Compiladores e Intérpretes I”.

Delmy Guerra
Carrera de Ingeniería en Sistemas, Universidad Cristiana Evangélica Nuevo Milenio
LCC-102: Laboratorio de Redes
Ing. David Ordoñez
04 de febrero del 2021
Tocoa, Colón
Honduras C.A.
Guía.

1. Explique qué es un traductor.

Son programas que traducen a su vez los programas fuente escritos en lenguajes de alto

nivel a código máquina, los traductores se dividen en: Compiladores e Intérpretes.

2. Explique qué es un intérprete.

Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo

ejecuta (dicho programa por medio de la computadora desarrolla una tarea específica).

Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje

interpretado. BASIC es el modelo por excelencia interpretado.

3. Explique qué es un compilador.

Un compilador es un programa que traduce los programas fuente escritos en lenguajes de

alto nivel a lenguaje máquina. Los programas escritos en lenguajes de alto nivel (en el

editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto

o código objeto. El compilador traduce (sentencia a sentencia) el programa fuente.

Lenguajes compiladores típicos son: PASCAL, COBOL, C.

4. Explique qué es un analizador léxico.

Un analizador léxico es un módulo destinado a leer caracteres del archivo de entrada,

donde se encuentra la cadena a analizar, reconocer subcadenas que correspondan a

símbolos del lenguaje y retornar los tokens correspondientes y sus atributos.


5. ¿Cuáles son las funciones del analizador léxico?

Su principal función consiste en leer los caracteres de entrada y elaborar como salida una

secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el

análisis. Además, puede eliminar del programa fuente comentarios y espacios en blanco

en forma de caracteres de espacio en blanco, caracteres TAB y de línea nueva. Otra

función es relaciones los mensajes de error del compilador con el programa fuente.

6. Explique qué es un lenguaje de alto nivel.

El Lenguaje de alto nivel es aquel que se aproxima más al lenguaje natural humano que al

lenguaje binario de las computadoras, el que se conoce como lenguaje de bajo nivel. Un

lenguaje de alto nivel permite al programador escribir las instrucciones de un programa

utilizando palabras o expresiones sintácticas muy similares al inglés. Por ejemplo, en C

se pueden usar palabras tales como: case, if, for, while, etc

7. Enumere cinco tipos de traductores.

 Traductores del idioma


 Compiladores
 Intérpretes
 Preprocesadores
 Intérpretes de comandos

8. Explique qué es un token.

Es una agrupación de caracteres reconocidos por el analizador léxico que constituyen los

símbolos con los que se forman las sentencias del lenguaje y también se les denomina

componentes léxicos.
9. ¿Qué funciones realiza el analizador sintáctico?

 Incorpora acciones semánticas en las que colocar el resto de fases del

compilador (excepto el analizador léxico): desde el análisis semántico hasta la

generación de código.

 Informa de la naturaleza de los errores sintácticos que encuentra e intenta

recuperarse de ellos para continuar la compilación.

 Controla el flujo de tokens reconocidos por parte del analizador léxico.

10. Enumere las fases de un compilador (desde el preprocesador hasta la generación del

código objeto).

 Preprocesamiento

 Analizador Léxico

 Analizador sintáctico

 Analizador semántico

 Generador de código intermedio

 Optimizador de código

 Generador de código

 Programa objeto

11. Escriba el significado de cada letra de: G=(N, T, P, S).

G = Gramática

N = No terminales

T = Terminales
P = Reglas de producción

S = Axioma inicial

12. Explique qué es un descompilador.

Un descompilador es un programa o utilidad que convierte el código de máquina

nuevamente en un lenguaje de programación de alto nivel que permite su lectura o

modificación.

13. Explique qué es el Shell.

Los shell son necesarios para invocar o ejecutar los distintos programas disponibles en la

computadora, el shell es un intérprete de órdenes o intérprete de comandos es el

programa informático que provee una interfaz de usuario para acceder a los servicios del

sistema operativo.

14. Explique qué es un preprocesador.

Ayudan a escribir de manera más simple para organizar mejor tu código, evitando al

mismo tiempo las repeticiones. Es una parte del compilador que se ejecuta en primer

lugar, cuando se compila una fuente C, y que realiza unas determinadas operaciones,

independientes del propio lenguaje C.


15. Explique qué es un ensamblador.

Los ensambladores son similares a compiladores en que producen código ejecutable. Sin

embargo, los ensambladores son más simplistas ya que solo convierten el código de bajo

nivel (lenguaje ensamblador) en código de máquina.

16. Explique qué son las pasadas de compilación.

Es el número de veces que un compilador debe leer el programa fuente para generar el

código.

17. Explique qué es un metacompilador.

Se refiere a un programa que recibe como entrada las especificaciones del lenguaje para

el que se desea obtener un compilador y genera como salida el compilador para ese

lenguaje.

18. Explique qué es Front-End y que fases abarca.

Es la parte de una aplicación que interactúa con los usuarios, es conocida como el lado

del cliente. Básicamente es todo lo que vemos en la pantalla cuando accedemos a un sitio

web o aplicación: tipos de letra, colores, adaptación para distintas pantallas(RWD), los

efectos del ratón, teclado, movimientos, desplazamientos, efectos visuales

- Esta etapa comprende aquellas fases, o partes de fases, que dependen exclusivamente

del lenguaje fuente y que son independientes de la máquina para la cual se va a

generar el código. En la etapa inicial (front-end) se integran los análisis léxicos y

sintácticos, el análisis semántico y la generación de código intermedio. La etapa


inicial también puede hacer cierta optimización de código e incluye, además, el

manejo de errores correspondiente a cada una de esas fases.

19. Explique qué es Back-End y que fases abarca.

Es la capa de acceso a datos de un software o cualquier dispositivo, que no es

directamente accesible por los usuarios, además contiene la lógica de la aplicación que

maneja dichos datos. Esta etapa incluye aquellas fases del compilador que dependen de la

maquina destino y que, en general, no dependen del lenguaje fuente sino solo del

lenguaje intermedio. En esta etapa, se encuentran aspectos de la fase de generación de

código, además de su optimización, junto con el manejo de errores necesario y el acceso

a las estructuras intermedias que haga falta.

También podría gustarte