COMPILADORES

Páginas: 21 (5043 palabras) Publicado: 16 de julio de 2015
UNIVERSIDAD MILLENIUM INTERNACIONAL



ALUMNO:
ISRAEL IGNACIO ORONA FING



CATEDRATICO:
LORENA CASTRO



MATERIA:
COMPILADORES



TAREAS Y TRABAJOS
PROCESO DE COMPILACION
Proceso de compilación:
1. Cuando un código es leído por un compilador este entra al análisis léxico donde se verifica dónde empieza y termina cada instrucción, esto se hace tomando como referencia los espacios en blanco.2. Una vez hecho esto el analizador sintáctico llama de manera repetida al analizador léxico para que este le envié cada línea de código para ser verificada si está bien escrita en el lenguaje. Para realizar esta verificación se realiza por medio de un estructura llamada Árbol gramatical. Ejemplo:

1. Después entra en la etapa del analizador semántico, esta se encarga de la construcción de lasinstrucciones del lenguaje, revisando que sean iguales a las definidas.
2. Luego entramos al proceso de síntesis, donde se generas el código intermedio, este para ser utilizado en la memoria de forma temporal.
3. Ahora este código generado pasa por el optimizador para ser ejecutado de forma más rápida.
4. En esta última etapa se genera un código que sea entendible por la máquina para ser ejecutado porla computadora.


Otros conceptos
Tabla de símbolos: es una lista o tabla en la memoria que se utiliza para almacenar variables definidas por el código fuente. Su objetivo es facilitar la consulta de información referente a las variables, para evitar la regresión en el código.
Detección e información de errores: durante la compilación, la detección de errores es una tarea que se realiza en cadafase, esto con el fin de buscar el mayor número de errores existentes en el código antes de que termine la compilación.
Grafico procesos y fases de un compilador









Analizador léxico
Un analizador léxico y/o analizador lexicográfico (en inglés scanner) es la primera fase de un compilador consistente en un programa que recibe como entrada el código fuente de otro programa (secuencia decaracteres) y produce una salida compuesta de tokens (componentes léxicos) o símbolos. Estos tokens sirven para una posterior etapa del proceso de traducción, siendo la entrada para el analizador sintáctico (en inglés parser).

La especificación de un lenguaje de programación a menudo incluye un conjunto de reglas que definen el léxico. Estas reglas consisten comúnmente en expresiones regularesqueindican el conjunto de posibles secuencias de caracteres que definen un token o lexema.
En algunos lenguajes de programación es necesario establecer patrones para caracteres especiales (como el espacio en blanco) que la gramática pueda reconocer sin que constituya un token en sí.

Programas que existen de compiladores y de interpretes:
C, C++, NET, Pascal, Basic, Cobol

Free pascal
minGW

freeBASIC3 Programas en Turbo Pascal

Escribir un programa en Pascal que calcule el factorial de un número.
PROGRAM EJER01;
USES CRT;
VAR factorial, x, num, y:REAL;
BEGIN
{Este programa hace el factorial de un numero}
ClrScr;
WRITE ('Introduzca un numero para hacer su factorial: ');
READLN (num); WRITELN ('');
x:=1;
WHILE num > 1DO
BEGIN
x:=x * num;
num:=num - 1;
WRITELN (x);
END;
READ
END.
PROGRAM EJER53;
USES CRT;
VAR temp,num,fac:LONGINT;
BEGIN
ClrScr;
fac:=1;
temp:=num;
WRITE('Introduzca un numero -> '); READLN(num);
temp:=num;
WHILE num>=1 DO
BEGIN
fac:=fac*num;num:=num-1;
END;
WRITE('El factorial de '); WRITE(temp); WRITE(' es '); WRITE(fac);
READ
END.


Escribir un programa en Pascal que determine si un número
leído desde el teclado es par o impar

PROGRAM EJER02;
USES CRT;
VAR num:INTEGER;
BEGIN
ClrScr;
WRITE ('Introduzca un numero entero: '); READLN (num);
IF num = 0 THEN...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS