Está en la página 1de 13

Trabajo de investigación compiladores

Isabel Ramos Fuentes

Cc 1096946173

Corporación Universitaria Remington

Ingeniería de Sistemas

2019
Trabajo de investigación compiladores

Isabel Ramos Fuentes

Cc 1096946173

Camilo Caray

Ingeniero de Sistemas

Corporación Universitaria Remington

Ingeniería de Sistemas

2019
1. Que es un compilador.

Un compilador es un pequeño programa informático, que se encarga de traducir (compilar) el

código fuente de cualquier aplicación que se esté desarrollando. En pocas palabras, es un

software que se encarga de traducir el programa hecho en lenguaje de programación, a un

lenguaje de máquina que pueda ser comprendido por el equipo y pueda ser procesado o

ejecutado por este.

Un concepto un poco más elaborado es el siguiente: Un compilador es un programa que

convierte o traduce el código fuente de un programa hecho en lenguaje de alto nivel, a un

lenguaje de bajo nivel (lenguaje de máquina).

La importancia de los compiladores radica en que, sin estos programas no existiría ninguna

aplicación informática, ya que son la base de la programación en cualquier plataforma.


2. Que es lenguaje ensamblador

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas

informáticos de bajo nivel, y constituye la representación más directa del Código máquina

específico para cada arquitectura de computadoras legible por un programador. Aun hoy se

utiliza en la programación de handler o manipuladores de dispositivos de hardware.

Un programa escrito en lenguaje ensamblador consiste en una serie de Instrucciones que

corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la Memoria de un

sistema basado en Microprocesador.

Por ejemplo, un Procesador x86 puede ejecutar la siguiente instrucción Binaria como se expresa

en código de máquina:

Binario: 10110000 01100001 (Hexadecimal: 0xb061)

La representación equivalente en lenguaje ensamblador es más fácil de recordar:

MOV al, 061h

Esta instrucción significa:

Asigna el valor Hexadecimal 61 (97 Decimal) al registro "al".


3. Que es lenguaje maquina

1 y 0: los dos números que revolucionaron el mundo.

Aunque sea difícil creerlo estos dos números lograron revolucionar al mundo y fueron la base

para lo que hoy conocemos en cuanto a dispositivos electrónicos se refiere, el 1 y el 0 conforman

el denominado Sistema Binario y es el lenguaje usado por las computadoras, el “Lenguaje

Maquina”.

El Lenguaje Maquina es el conjunto de datos que la parte física de la computadora (Hardware) es

capaz de comprender e interpretar “El Código Binario” comprendido por los Valores 0 y 1 con

tensiones comprendidas entre 0 y 4 Voltios y 4 y 5 Voltios respectivamente, la secuencias de

estos valores formaran cadenas de información para que se realice una instrucción.

Este Lenguaje fue el primero empleado por el hombre en la programación de las primeras

computadoras, con secuencias como esta 01101100101001001111 prácticamente se le decía a las

computadoras que hacer, esto sera muy fácil de comprender para la maquina debido a que le

hablamos en su propio “idioma” pero es muy difícil de comprender para nosotros. Indicarle a una

Maquina lo que debe hacer es muy distinto que indicarle a un ser Humano lo que debe hacer,

aunque sea la misma orden.


4. Indique y explique cada una de las fases de un compilador (Análisis y síntesis).

 Análisis: El cual se trata de la escritura correcta del código fuente. Esta a su vez

comprende varias fases:

 Síntesis: Después del proceso de análisis se procede a generar grupos de los

componentes que conforman el programa, para generar una salida.


5. Indique cada uno de los pasos de la fase de análisis (léxico-sintáctico y semántico).

Análisis léxico: esta fase es la encargada de leer el código fuente y separarlo en lotes para poder

ser leído por el análisis sintáctico.

Análisis sintáctico: esta fase evalúa los lotes de código con el fin de que este cumpla con los

requerimientos definidos por el compilador.

Análisis semántico: en esta fase se busca establecer que el código fuente cumpla con la

semántica solicitada por el compilador, es decir que el código este correctamente escrito para

poder ser interpretado.

6. Indique cada uno de los pasos de la fase de síntesis (generación de código

intermedio, optimización y generación de código).

Generación de código intermedio: este código se genera con el fin de mejorar el uso de la

memoria con el fin de optimizar código fuente.


Optimización de código: el objeto de esta fase es mejorar el código para que sea más rápido

ejecutarlo.

Generación de código: Aquí se crea el código final de salida que va a ser interpretado por la

máquina.

7. Con un ejemplo indique como funciona o como se compila una línea en un lenguaje

de programación (puede escoger el que desee).

Ejemplo de programa que corre en Borland C++ que dice que el signo del zodiaco según el mes

y el día de nacimiento.

#include<iostream.h>

#include<conio.h>

int dia, mes;

void main()

cout<<" Signo Zodiacal ";

cout<<"\n\r Ingrese el Dia nacimiento "; cin>>dia;

cout<<"\n\r Ingrese el mes de nacimiento "; cin>>mes;

switch(mes){

case 1: if(dia<21) cout<<"CAPRICORNIO";

else cout<<"ACUARIO";

break;

case 2: if(dia<20) cout<<"ACUARIO";

else cout<<"PICIS";
break;

case 3: if(dia<21) cout<<"PICIS";

else cout<<"ARIES";

break;

case 4: if(dia<21) cout<<"ARIES";

else cout<<"TAURO";

break;

case 5: if(dia<21) cout<<"TAURO";

else cout<<"GEMINIS";

break;

case 6: if(dia<22) cout<<"GEMINIS";

else cout<<"CANCER";

break;

case 7: if(dia<23) cout<<"CANCER";

else cout<<"LEO";

break;

case 8: if(dia<23) cout<<"LEO";

else cout<<"VIRGO";

break;

case 9: if(dia<23) cout<<"VIRGO";

else cout<<"LIBRA";

break;

case 10: if(dia<23) cout<<"LIBRA";


else cout<<"ESCORPIO";

break;

case 11: if(dia<22) cout<<"ESCORPIO";

else cout<<"SAGITARIO";

break;

case 12: if(dia<22) cout<<"SAGITARIO";

else cout<<"CAPRICORNIO";

break;

default:cout<<"\n\r Datos incorrectos";

getch();

}
Referencias bibliográficas

Blog. Normas APA para trabajos escritos. Recuperado el 14 de Septiembre de 2019 de

http://compiladorandrea.blogspot.com/p/fases-de-un-compilador.html

EcuRed. Normas APA para trabajos escritos. Recuperado el 14 de Septiembre de 2019 de

https://www.ecured.cu/Lenguaje_ensamblador

Lignux. Normas APA para trabajos escritos. Recuperado el 14 de Septiembre de 2019 de

https://lignux.com/lenguaje-maquina/

También podría gustarte