Prolog

Solo disponible en BuenasTareas
  • Páginas : 113 (28075 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de marzo de 2012
Leer documento completo
Vista previa del texto
Tabla de contenidos
1 Introducción
1,1 SWI-Prolog
SWI-Prolog se inició en 1986 con el requisito de un prólogo que pudiera manejar la interacción recurrente con el lenguaje C: Prolog llamado C y C Prolog llamada recursiva. Esos sistemas Prolog días eran muy conscientes de su entorno y que necesitábamos un sistema de apoyo a las aplicaciones interactivas. Desde entonces, el desarrollo deSWI-Prolog se ha guiado por las peticiones de la comunidad de usuarios, sobre todo centrándose en (en orden arbitrario) la interacción con el medio ambiente, la escalabilidad, (E / S) de desempeño, cumplimiento estándar de enseñanza, y el medio ambiente programa de desarrollo.
SWI-Prolog se basa en una máquina PROLOG muy simple virtual llamado ZIP Bowen y col. , 1983 , Neumerkel, 1993 , que define sólo7 instrucciones. Prolog pueden ser compilados en este lenguaje y el código de máquina abstracta es fácil de descompilación de nuevo en Prolog. Como también es posible conectar un estándar 4-puerto depurador en la máquina virtual no hay necesidad de una distinción entre código compilado e interpretado. Además de simplificar el diseño del sistema Prolog sí mismo, este enfoque tiene ventajas para eldesarrollo del programa: el compilador es sencillo y rápido, el usuario no tiene que decidir de antemano si se requiere la depuración y el sistema sólo se ejecuta un poco más lento cuando está en modo de depuración. El precio que tenemos que pagar una cierta degradación del rendimiento (la extracción del depurador desde el intérprete VM mejora el rendimiento en un 20%) y el uso de memoriaadicional para ayudar un poco el descompilador y depurador.
SWI-Prolog se extiende el conjunto mínimo de instrucciones descritas en Bowen et al. , 1983 para mejorar el rendimiento. Si bien la ampliación de este conjunto de atención se ha tomado para mantener las ventajas de la descompilación y la localización del código compilado. Las extensiones incluyen instrucciones especiales para la unificación, lainvocación de predicado, algunos utilizan con frecuencia incorporado en los predicados, la aritmética y de control ( ;/ 2 , | / 2 ), si-entonces ( -> / 2 ) y la negación por el fracaso ( \ + / 1 ).
1.1.1 Libros sobre Prolog
Este manual no describe la sintaxis completa y la semántica de Prolog, ni cómo se debe escribir un programa en Prolog. Estos temas se han descrito ampliamente en laliteratura. Ver Bratko de 1986 , Sterling y Shapiro, 1986 , y Clocksin y Melish, 1987 . Para obtener más material de Prolog avanzada ver O'Keefe, 1990 . Las declaraciones de la sintaxis y el estándar de los operadores cumplen con el estándar 'de Edimburgo. La mayoría de los incorporados en los predicados son compatibles con los descritos en Clocksin y Melish, 1987 . SWI-Prolog también ofrece una seriede predicados primitivos compatibles con Quintus Prolog 1 Qui, 1997 y BIM_Prolog 2 BIM, 1989 .
Predicados cumplir con la ISO se basan en Prolog ``:'' El estándar, Deransart et al. , 1996 , validado con Hodgson, 1998 .
1.2 Estado
Este manual describe la versión 6.1.2 de SWI-Prolog. SWI-Prolog se ha utilizado desde hace muchos años. El campo de aplicación incluye el material del curso Prolog, metade los intérpretes, la simulación de Prolog en paralelo, los sistemas de aprendizaje, el procesamiento del lenguaje natural, complejos sistemas interactivos, servidores Web y los componentes del servidor web. Aunque en nuestra experiencia, los errores más evidentes y críticos puede pasar inadvertida durante un período muy largo, asumimos que el sistema Prolog básica es bastante estable. Loserrores pueden esperar en los predicados de uso poco frecuente incorporado.
Algunos errores son conocidos por el autor. Se les describe como notas al pie de este manual.
1.3 El cumplimiento del estándar ISO
SWI-Prolog 3.3.0 implementa todos los predicados que se describen en Prolog ``:'' La Norma Deransart et al. , 1996 .
Las excepciones y advertencias siguen siendo débiles. Algunos SWI-Prolog...
tracking img