domingo, 2 de marzo de 2014

Resumen 3

1. Elementos alrededor de un compilador
Otros elementos alrededor de un compilador:
Preprocesador. Se carga de uni car el programa fuente para poder realizar las
fases de un compilador
|-Carga Bibliotecas
|-Carga Subclases,SuperClase,entre otros..
Carga y enlace(del Sistema Operativo)
|-Resuelve direcciones de memoria
|-Da acceso a la parte de asignaci on de memoria y recursos f sicos.
Generador de c odigo intermedio:
temp1 = real(60)
temp2=id3*temp1
temp3=id2+temp2
id1=temp3
Optimizaci on de C odigo:
temp1=id3*60.0
id1= id2+temp1
Generador de C odigo:
movf id3,r2
1
mulf 60.0,t2
movf id2,r1
addf r2,r1
movf r1,id1
Consideraciones de dise~no de un compilador:
Lenguaje Fuente
|Tama~no del Lenguaje
|Cambio del lenguaje mientras se construye el compilador
|. Modularizar componentes ayuda afrontar el cambio
Lenguaje Objeto
|Si es nuevo debe asegurarse que es correcto
|Producci on para varias generaciones de m aquina objeto
Rendimiento
|Debe ser r apido
|Calidad de c odigo
|Localizaci on de errores
|Mantenimiento
|Transportabilidad
|. Redestinaci on: Pueda cambiar el c odigo objeto que genera.
|. Relocalizaci on: puede ejecutarse r apidamente en m aquinas distintas
inicializado?
Taxonom a de Lenguajes (por Abstracci on)
Primera Generaci on: Binario.
Segunda Generaci on: Lenguajes Simb olicos.
Tercera Gernaraci on: ALTO Nivel. Tienen Estructuras independientes de la
m aquina (C,Pascal,Java).
*Cuarta Generacai on: Construcci on de aplicaciones con piezas prefabricadas.
*Quinta Generaci on: De uso espec co. El programador conoce el problema y
el lenguaje puedo
ayudar a resolverlo a partir de las reglas.
Taxonom a de Lenguajes(por su Gram atica)
-Una gram atica describe de forma natural la estructura jer arquica de la
construcci on de lenguajes de programaci on
-Son reglas y principios que predicen correctamente las combinaciones de
oraciones de un lenguaje.
|-Ejemplo de Espa~nol
Para comprender mejor la idea, podemos considerar un modelo para el espa~nol:
1. ORACI ON {>SUJETO PREDICADO
2. SUJETO {>DETERMINANTE NOMBRE
3. PREDICADO {>VERBO COMPLEMENTO
4.DETERMINANTE {>EL
5. NOMBRE {>NI~NO|HOMBRE|ANCIANO
6.VERBO {>duerme|r e|come
7. COMPLEMENTO {>pl acidamente|intranquilo
2
Gram atica Regulares
Operaciones
+= aparecer una o m as veces
?= Aparece m aximo una vez
=Aparece 0 o m as veces (Cerradura de Kleene)
/[] o /() = Agrupaci on
|= OR
-= rangos. Ejemplo A-Z o 0-9
E = Vac o
|-Otras variantes
|- $ = Fin
|- .Potencias|||->a^(4) = aaaa
Gram aticas libres de contexto
1-Conjunto de componentes l exicos denominados S mbolos Terminales
2-Conjunto de componentes l exicos denominados No terminales
3-Producciones conformadas de no terminales y terminales
4-De nici on de un Noterminal como s mbolo inicial
S mbolos terminales->Se denotan con min uscula
|-Se pueden visualizar como las hojas de un arbol sint actico
|-En las gram aticas libres de contexto solo se encuentran en la parte derecha
de la producci on
Producciones->Se denotan con may uscula
3
Tienen dos partes, el Nombre(No terminal) y la parte derecha que indica la
sustituci on y puede tener terminales y no terminales
||Ejemplo
Lista{Lista + D gito
Lista{Lista - D gito
Lista{D gito
D gito{ 0|1|2|3|4|5|6|7|8|9
Propiedades de las Gram aticas
|-Cuando se dise~na una gram atica se busca que no sea ambigua.
|||Se dice que una gram atica es ambigua cuando se pueden construir 2
arboles sint acticos para una misma entrada
4

No hay comentarios:

Publicar un comentario