Minimanualillo de SWI-Prolog
Enviado por felipeelizalde • 26 de Marzo de 2013 • Trabajos • 2.874 Palabras (12 Páginas) • 440 Visitas
Minimanualillo de SWI-Prolog
Roberto Torres de Alba
22 de marzo de 2006
´Indice
1. Introducci´on 2
2. Comandos b´asicos 2
3. Sintaxis de Prolog 2
4. Ayuda 4
5. Consultando y modificando programas 5
5.1. Consultar programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2. Errores y avisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Mostrar base de clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4. Modificando la base de clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Depurador 6
6.1. Depurador en modo texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.2. Depurador gr´afico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7. Manejo de t´erminos 8
7.1. Jerarqu´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1.1. ´Atomos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1.2. N´umeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2. Escritura y lectura de t´erminos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
8. Listas 12
9. Conjuntos 12
10.Manejo de archivos 12
11.Todas las soluciones a un objetivo 13
1
1. Introducci´on
Este peque˜no manual pretende ser una introducci´on al uso de SWI-Prolog poni´endolo en relaci´on
con los conceptos de la asignatura de Programaci´on L´ogica de las Ingenier´ıas T´ecnicas de Gesti´on y de
Sistema. La versi´on sobre la que versa este manual es la ´ultima que se puede encontrar, a d´ıa de hoy,
en la p´agina www.swi-prolog.com, que es la 5.6.6 para Windows NT/2000/XP.
2. Comandos b´asicos
Una vez instalado SWI-Prolog y procediendo a su ejecuci´on observamos el shell visto como un n´umero
m´as los caracteres ”?-”. Desde ah´ı es de donde vamos a ajecutar todos los objetivos. Los siguientes
apartados explican de forma muy general todo aquello que es fundamental conocer a la hora de usar
este int´erprete.
1. Consultar un programa Prolog: la manera m´as f´acil de consultar un programa Prolog es usando el
men´u file/consult y navegando por los directorios. Tambi´en existe la posibilidad de hacerlo desde
el shell escribiendo el nombre del programa, sin la extensi´on ”.pl”, encerrada por corchetes ”[ ]” y
seguida de punto. Ej:
[mi_prog].
2. Ayuda: SWI-Prolog posee una ayuda gr´afica f´acil de usar. Basta con poner en el shell ”help.”. Si
se quiere consultar un tema o un predicado en concreto basta con escribir el tema de la siguiente
forma: help(Tema).
3. Ejecuci´on de objetivos: para ejecutar un objetivo simplemente lo escribimos en el shell (seguido de
punto). Si el objetivo no tiene ´exito SWI-Prolog responder´a ”no”. Si ha tenido ´exito y el objetivo
ten´ıa variables entonces devolver´a la unificaci´on de esas variables que ha producido el ´exito y el
programa esperar´a una acci´on del usuario. Ahora debemos escribir un ´unico car´acter. Si buscamos
m´as respuestas escribiremos ”;” (punto y coma), si no pulsamos enter. Para una lista de comandos
escribimos ”h”.
4. Depuraci´on: Para entrar en el modo trace hay que escribir ”trace.”. Al lado del shell deber´ıa
aparecer la palabra ”[trace]”. Para salir de este modo hay que escribir ”notrace.” y ”nodebug.”.
Existe la posibilidad de utilizar un depurador gr´afico escribiendo ”guitracer.”
3. Sintaxis de Prolog
Cualquier programa en Prolog tiene que estar escrito en un fichero de texto plano (sin formato). La
manera m´as sencilla es usar el Bloc de Notas. Dicho archivo debe poseer la extensin ”.pl” para indicar
que contiene c´odigo fuente de Prolog.
Un programa Prolog est´a formado con un conjunto de hechos y de reglas junto con un objetivo. El
archivo del c´odigo fuente de Prolog contendr´a el conjunto de hechos y de reglas y el objetivo ser´a lanzado
desde el shell de SWI-Prolog.
Existen ciertas consideraciones sobre la sintaxis de Prolog:
1. Variables:
El identificador de una variable tendr´a que tener su primera letra en may´usculas.
Ej: X, Atapuerca, Cobaltina, RADgtfCdf
2
2. Constantes:
La primera letra de una constante deber´a estar escrita en min´usculas.
Ej: a, incienso, roberto, rADgtfCdf
Tambi´en se consideran constantes a los n´umeros,
...