Sie sind auf Seite 1von 4

http://www.ecured.cu/index.

php/SWI_Prolog
SWI-Prolog es una aplicacion de codigo abierto del lengueaje de programacion
Prololog; es comunmente utilizado para la enseanza y las aplicaciones de web
semantica.
Contenido
|ocultar|
O 1 Resea Historica
O 2 Funcionamiento
O 3 Edicion de archivos
4 3.1 Editor emacs
4 3.2
4 3.3 Editor UltraEdit
O 4 Consideraciones:
O 5 COMANDOS BASICOS:
O 6 Fuentes
#esea Histrica
Como es de codigo abierto se ejecuta tanto sobre Windows como Unix Linux, y algunas
plataIormas Macintosh. Su autor principal es Jan Wielemaker. En desarrollo
ininterrumpido desde 1987, SWI-Prolog posee un rico conjunto de caracteristicas,
bibliotecas (incluyendo su propia biblioteca para GUI, XPCE), herramientas
(incluyendo un IDE) y una documentacion extensiva. SWI-Prolog Iunciona en las
plataIormas Unix, Windows y Macintosh. El nombre SWI deriva de Sociaal-
Wetenschappelijke InIormatica ("InIormatica de Ciencias Sociales"), el antiguo nombre
de un grupo de investigacion en la Universidad de Amsterdam en el que Wielemaker
esta integrado. El nombre de ese grupo se cambio posteriormente a HCS (Human-
Computer Studies).
Funcionamiento
Los programas Prolog hay que editarlos con un editor de texto. Se puede usar el
Notepad, pero no conviene, es bastante limitado. Hay uno que se llama emacs que viene
con el SWI. Tambien se pueden usar editores de texto de uso general, p.ej. el UltraEdit.
Mas abajo contamos algunos tipos sobre como trabajar con los editores. Conviene
guardar los archivos con extension .pl. El SWI se usa para hacer consultas a partir de un
programa. Hay varias Iormas de "cargar" un programa en Prolog, mencionamos dos:
1. Darle doble click al Iuente .pl en el administrador de archivos o similar (p.ej.
windows commander), abre el SWI y carga el programa.
2. Abrir el SWI, y despues File -~ Consult.
Si hay errores en el programa, aparecen en la ventana de SWI indicando la linea de cada
error. Tambien pueden aparecer warnings, esos no importan. Si hay errores (te das
cuenta porque la linea correspondiente empieza con ERROR:) el programa no se carga,
hay que corregir los errores. Una vez que se cargo el programa, las consultas se hacen
escribiendolas en la ventana del SWI, al lado del prompt ?- . Recordar que las consultas
tambien tienen que terminar con punto. Para consultas existenciales, el SWI muestra la
primer respuesta. Si quiero mas, pulso ; (punto y coma), si no, pulso Enter. Si pulso ; y
responde No es porque no encontro mas respuestas a la consulta. Si cambio un
programa en la ventana del editor y lo grabo, el SWI no se entera. Para que se entere,
luego de grabar el archivo modiIicado, poner ?- make. en la ventana del SWI; esto
hace que el SWI levante de nuevo el programa a partir del archivo .pl. Si quiero cambiar
de .pl, tengo que hacer File -~ Consult. No vemos en la materia como tener mas de un
.pl cargado al mismo tiempo.
dicin de archivos

ditor emacs
Para editar el codigo de SWI, por deIecto se usa el Notepad de Windows. El SWI trae
incorporado un editor con mucha mas onda: el "emacs". Este editor colorea las clausulas
de Iorma que las hace mucho mas claras y por lo tanto Iacilita la deteccion de errores.
Para usarlo, solo tienen que escribir: ?- emacs.
Esto les va a abrir una ventana con el editor. Si quieren editar un archivo nuevo, pueden
usarla directamente. Caso contrario, la cierran y listo. Cuando lo hayan usado una vez,
los siguientes archivos que abran tambien los van a ver con este editor.
Si quieren que el SWI arranque siempre usando este editor, tienen que hacer lo
siguiente:
1. Desde el menu, van a "Settings -~ User init Iile..."
2. Si es la primera vez que lo hacen, les va a avisar que no existe un archivo de
inicio y les va a preguntar si quieren crear uno. Responden que si y siguen.
3. Una vez que esten viendo el archivo, van a encontrar una linea como la
siguiente: :- setprologIlag(editor, pceemacs). Le borran la marca de
comentario () y queda:
- setprologIlag(editor, pceemacs). /dd~
4. Guardan el archivo y... listo para usar!!

ditor Ultradit
Si no te gusto el emacs tambien hay otra Iorma de tener la sintaxis coloreada. Hay un
programa muy copado para escribir codigo, el UltraEdit. Lo lindo de este programa es
que sirve para programar en cualquier lenguaje. Esto es posible porque tiene un archivo
de texto plano donde se especiIican las reglas de sintaxis de cada lenguaje. Esto
signiIica que uno le puede agregar todos los lenguajes que quiera (bueno, en realidad se
banca hasta 20, pero eso ya es bastante). Viene con los mas populares ya integrados,
como C,PHP, Java, Javascript, etc.
Para que el UltraEdit conozca la sintaxis de Prolog, se bajan este archivo de
texto: prologwordIile.txt y su contenido lo copian y lo pegan al Iinal del wordIile.txt
que viene en el directorio de instalacion de UltaEdit. Ahora la proxima vez que entren al
programa, en View -~ View as van a ver en la opcion numero 20 la opcion del prolog.
Consideraciones:
En caso de que rompan todo, guardense antes una copia del wordIile.txt como
resguardo. El UltraEdit es solo un editor y NO un compilador. El wordIile que les
damos no es exactamente para SWI Prolog sino para Sisctus Prolog, pero hasta ahora no
le vi la diIerencia. Si usan la extension .pl para sus archivos de Prolog, el UltraEdit va a
pensar que se trata de un archivo de Perl, asi que pueden hacer una de las siguientes
cosas:
1. Ver abajo como editar el wordIile.txt para que la extension .pl no este asociada a
Perl
2. Cambiar la extension de sus archivos a .pro .
3. Cada vez que entran, cambiar manualmente la opcion de resaltado de sintaxis.
UltraEdit - como editar el wordIile.txt para que la extension .pl no este asociada al Perl
Aunque en algun lugar de la documentacion del UltraEdit esta esta inIo, no esta
explicita, por lo que les enumero los pasos para que lo puedan hacer rapidito.
1. Abrir el archivo wordIile.txt que viene en el directorio de instalacion del
UltraEdit con su editor de texto Iavorito.
2. Buscar la cadena "Perl". Esto los va a posicionar en la parte del wordIile donde
se especiIica la sintaxis de Perl.
3. La linea que estan viendo se deberia parecer a esto: /L5"Perl" Line Comment
# Line Comment Preceding Chars |~|`|``$/\(| Escape Char \ File
Extensions CGI PM PL PLX Si son piolas, ya se dieron cuenta que al Iinal de
dicha linea se especiIican las extensiones de los archivos que el UltraEdit va a
reconocer como de Perl. Por lo tanto:
4. Borar la subcadena "PL" de la linea mencionada en el punto 3.
5. Reiniciar el UltraEdit. Ahora deberia tomar automaticamente los archivos .pl
como de Prolog (siempre y cuando le hayan incluido el wordIile que dice mas
arriba.
6. CodiIicar! CONSULTAR PROGRAMAS. Para poder consultar (correr) un
programa en Prolog hay que primeramente escribir el programa en algun editor
de texto, como el bloc de notas, ya teniendo esto lo guardamos con cualquier
nombre y con la extension .pl. Ahora si teniendo el programa ya escrito lo
podemos consultar en el interprete de Prolog si damos clicl en el menu File-
Consult o dando doble clicl en el archivo .pl que creamos. Ya podemos
"consultarlo".
COMANDOS BSICOS:
?- halt. Sale del entorno prolog (el punto es muy importante ya que designa el Iinal de la
linea).
?- edit('archivo'). Invoca al editor prdeterminado.
?- consult('archivo'). |'archivo'|. Consulta el Iichero Iuente.
?- help help('ayuda). Solicita ayuda al entorno.
?- make. Consulta los Iicheros que cambiaron desde la ultima consulta.
Fuentes
O SoItware-swi-prolog
O Tutorial-novato-en-swi-prolog
O SWI-prolog
O Prolog