eiffel
Programación II (Sistemas y Gestión)
Eiffel estructurado
Félix Prieto, Esperanza Manso
Curso 2006/07
Programación II (Sistemas y Gestión)
Eiffel 1
Introducción
Lenguaje Orientado a Objetos puro
Fuertemente tipado
Dotado de genericidad
Con un sistema de tipos uniforme
Dotado con un sistema de contratos
Posibilidadde utilizar herencia múltiple
Creado en 1980 por Bertrand Meyer
Universidad de Valladolid
Departamento de Informática
i
FÉLX
Programación II (Sistemas y Gestión)
Eiffel 2
Introducción (II)
No es un lenguaje procedimiental, aunque los
métodos contenidos en sus clases utilizan
programación estructurada
Las estructuras básicas de control tienen
representación en ellenguaje
Podemos «pervertir» el lenguaje para escribir
programas estructurados
Si lo hacemos será más fácil la transición a la
programación Orientada a Objetos
Sin embargo Eiffel no es el lenguaje adecuado para
hacer programación estructurada
Universidad de Valladolid
Departamento de Informática
i
FÉLX
Programación II (Sistemas y Gestión)
Eiffel 3
El compiladorSmartEiffel
Versión 1.1 (Ojo, existen diferencias entre las
versiones)
Las viejas versiones se denominan SmallEiffel
Licencia GNU, disponible en el ftp del departamento:
Código fuente Eiffel del propio compilador, que debe
ser compilado
Versión compilada para Windows
Existen otras versiones compiladas
Genera código C intermedio para luego producir el
ejecutable
Universidad de ValladolidDepartamento de Informática
i
FÉLX
Programación II (Sistemas y Gestión)
Eiffel 4
Instalación en el laboratorio
El compilador está instalado en duero, jair, las
estaciones de trabajo SUN y todos los personales con
Linux
La forma natural de utilización es mediante las
estaciones de trabajo
Se puede acceder a duero o jair desde cualquier
estación de trabajo Linux decualquier laboratorio,
dotadas también del compilador
Dos directorios home disponibles, uno para las
máquinas SUN y otro para las máquinas Linux
Universidad de Valladolid
Departamento de Informática
i
FÉLX
Programación II (Sistemas y Gestión)
Eiffel 5
Instalación en el laboratorio (II)
Sun Enterprise 450 (4 procesadores Ultra Spark 250Mh)
nfs: Sistemas de ficheros
enred (/home /usr/local)
duero
nis+: Sistema de
autorización de
acceso
Acceso via ssh, scp,...
1L104. 24 Sun Ultra 1
1
0
1
0
1
0
1
0
L104A1
Universidad de Valladolid
L104A2
Servidor Linux
1
0
1
0
L104A3
1
0
1
0
L104A4
1
0
1
0
L104C8
Acceso via ssh, scp,...
Jair
Departamento de Informática
i
FÉLX
Programación II (Sistemas yGestión)
Eiffel 6
Primer ejemplo
indexing
description:"Primer ejemplo en Eiffel"
class HOLA_MUNDO
create make
feature
make is
do
std_output.put_string("Hola mundo %N")
end
end −− class HOLA_MUNDO
Universidad de Valladolid
Departamento de Informática
i
FÉLX
Programación II (Sistemas y Gestión)
Eiffel 7
Primer ejemplo (II)
Almacenar en un fichero llamadohola_mundo.e
Se puede editar utilizando vim o gvim
Compilar mediante la orden compile hola_mundo
Si el método de creación no se llama make hay que
añadir su nombre como segundo parámetro
Ejecutar con ./a.out
Limpiar los ficheros intermedios con
clean hola_mundo
Borrar el ejecutable
Universidad de Valladolid
Departamento de Informática
i
FÉLX
Programación II (Sistemas yGestión)
Eiffel 8
Primer ejemplo (III)
Se ejecutará el método de creación
En Eiffel no existen funciones definidas a nivel del
lenguaje
Para imprimir una cadena hay que enviar un
mensaje a un objeto
std_output es un objeto predefinido, al que
enviamos el mensaje put_string con el parámetro
adecuado
Los mensajes que entiende un objeto están
publicados en la forma corta de su clase
La...
Regístrate para leer el documento completo.