Professional Documents
Culture Documents
Un compilador es un programa informtico que traduce un programa escrito a un lenguaje de alto nivel a otro lenguaje de bajo nivel, produciendo un programa equivalente que puede ser leda por un microprocesador. Lenguaje de mquina (lenguaje binario). Es un conjunto de smbolos directamente interpretable por una mquina. Un lenguaje es un conjunto de smbolos. Lenguaje de alto nivel es cuando est cerca de nosotros. Lenguaje de alto nivel = (natural) Concepto. - el lenguaje de alto nivel es un lenguaje cuya caracterstica es la semejanza con el lenguaje natural. (Lenguaje de las personas). Lenguaje de bajo nivel (se asemeja a la mquina) un lenguaje de bajo nivel es un lenguaje que tiene gran semejanza con el lenguaje de mquina. Compilador = cuando el lenguaje de alto nivel a bajo nivel. Traductor = cuando el lenguaje de bajo nivel a alto nivel. COMPILADOR Partes o funciones: El anlisis La sntesis ANALISIS: 3 etapas 1. Anlisis lxico 2. Anlisis sintctico 3. Anlisis semntico
El anlisis lxico: consiste en la traduccin del cdigo fuente a elementos lxicos.
Verifica los componentes lxicos Anlisis sintctico: consiste en el agrupamiento d elementos lxicos en frases gramaticales. Verifica qu tenga sentido la sentencia
Anlisis semntico: consiste en la validacin de dichas frases gramaticales o sentencias. Verifica la valides de las operaciones TOKEN: elementos lxicos (smbolos en la programacin) Ejemplo A = B + C TODOS LOS SIMBOLOS SON TOKEN
Las Palabras reservadas tambin son TOKEN. ( if , while , for ,etc.) SINTESIS.- consiste en producir un cdigo objeto o BYTECODE que ser interpretado por una maquina. CODIGO OBJETO.- es un fichero lista para ser ejecutado por la maquina. Durante el proceso de compilacin se crea 2 tablas: 1. TABLA DE SIMBOLOS 2. TABLA DE ERRORES Tabla de smbolo.- es una estructura de datos q contiene informacin de todos los elementos lxicos del cdigo.
TABLA DE SIMBOLOS
NOMBRE A B
POSICION 1 2
MEMORIA ASIGNADA: 0 1
TABLA DE ERRORES.- es una estructura de datos q almacena informacin sobre los eventos durante la compilacin. TABLA DE ERRORES CODIGO 1 MENSAJE variable duplicada
Constante.- Es una variable que su valor no puede cambiar. Variable.- Si puede cambiar o asignarle otro valor. Optimizacin.- Es el proceso por el cual se mejora la calidad del fichero ejecutable. Optimizacin(dos tipos) 1. optimizacin de velocidad. 2. Optimizacin de tamao. Optimizacin de velocidad. -Es el tipo de optimizacin que hace que un fichero se ejecute ms rpidamente. Optimizacin de tamao. -Es el tipo de optimizacin que hace que un fichero sea lo ms pequeo posible. Tipo Int Float String Tamao (bytes) 4 8 N Tiempo ejecucin Rpido Lento lento
unit1.cpp codigo unit1 intermedio objeto proyecto1.exe ejecutable if while repeat loop instrucciones bsicas de un compilador son if ( condiciones)
while (bucles,iteracciones) las demas for do loop repet case son solo variaciones instruccin especial goto ( ir a ) (saltos) < go to > sirve para saltar de una lnea a otra es una instruccion para realizar saltos en la ejecucin de un programa ejemplo: 1LEER (A) 2LEER (B) 3IF ](A>B) 4 MOSTRAR(A) 5 ELSE 6 MOSTRAR (B) 7 FIN 7FIN 1 LEER (A) 2LEER (B) 3 IF (B>A) GOTO 6 4 MOSTRAR (A) 5GOTO (7) 6 MOSTRAR
1int i=0; 2 show message (); 3i++; 4if (i< 10) goto 2
5 fin
Llena el vector con datos paises(0) = "Argentina"; paises(1) = "Per"; paises(2) = "Brasil"; Recorre los elementos del vector x= 0 while x > 2 MsgBox "Nombre del pas : " & paises(x) x = x+1 end while
dim x as integer dim paises (2) as string paises (0) = "bolivia" paises (1)= "peru" paises (2)= "mexico" x= 0 msgbox "nombre del pais: " & paises(x) x= x+1 if x < 3 goto 7 fin