web site" style="">GNU的Prolog的网站
目前的稳定版本是gprolog - 1.4.0
内容的表
什么是GNU Prolog的?
特点
GNU Prolog的工作如何?
历史
支持的平台与去年变化
手册
下载
会费和有关的事态发展
邮件列表
报告bug
什么是GNU Prolog的
GNU Prolog是一个Prolog编译器解决了丹尼尔迪亚斯开发有限域约束的自由。
GNU Prolog的接受Prolog的约束方案和产生本地二进制文件(如gcc从C源)。得到的可执行文件,然后独立。此可执行文件的大小,可以非常小,因为GNU Prolog的可避免链接代码大多数未使用内置谓词。 GNU Prolog中的表现是非常令人鼓舞的(与商业系统)。
除了本机代码编译,GNU Prolog语言与调试器提供了一个经典的交互式解释器(顶层)。
序言部分,符合ISO标准为Prolog的许多扩展,在实践中非常有用的(全局变量,操作系统的接口,插座,...).
GNU Prolog中还包括一个有效的约束求解有限域(FD)。这将打开contraint逻辑编程的用户相结合的约束规划的权力逻辑编程declarativity。
特点
Prolog的系统:
符合为Prolog的ISO标准(浮点数,溪流,动态代码,...).
全局变量,明确子句语法(DCG),套接字接口,操作系统界面,...很多的扩展:
内置超过300 Prolog的谓词。
Prolog的调试器和一个低级别的WAM调试器。
行编辑下的交互式解释器完成对原子的设施。
Prolog和C之间的强大的双向接口
编译器:
本机代码编译器产生独立的可执行文件。
简单的命令行编译器接受的文件种类繁多:prolog文件,C文件,WAM文件,...
直接生成汇编代码比wamcc + GCC快15倍。
未使用的内置谓词最不挂钩(减少可执行文件的大小)。
编译谓词(机器码)平均wamcc快。
咨询谓词(字节码)wamcc更快5倍以上。
约束求解:
FD变量很好地融入了Prolog的环境(与Prolog的变量和整数完全兼容)。没有明确FD声明的需要。
非常有效的FD求解器(相当于商业求解)。
高层次的限制,可谓简单的原语。
很多预定义的约束:算术的限制,布尔约束,象征性的约束,物化的制约,... ...
几个预定义的枚举启发式。
用户可以定义自己的新的制约因素。
内置超过50 FD约束/谓词。
GNU Prolog的工作如何?
沃伦抽象机(WAM)是基于GNU Prolog编译器。它首先会编译一个Prolog程序一个WAM文件,然后转换为低级别的机器独立的语言,称为特别为GNU Prolog的设计的迷你汇编。生成的文件,然后翻译成目标机器(从一个对象获得)的汇编语言。这使得GNU Prolog中,以产生一种原生的立场独自从一个序言源可执行文件(类似什么从一个C程序,C编译器)。本汇编计划的主要优点是产生的本地代码要快。另一个有趣的特点是可执行文件小。事实上,大多数未使用内置的谓词的代码可以被排除在链接时的可执行文件。
GNU Prolog中还包括一个有效的约束求解有限域(FD)。GNU Prolog的求解器的主要特点是使用一个单一的(低级)的原始定义所有(高级别)FD约束。这种方法有许多优点:约束可以被编译,用户可以定义自己的约束他(原始),解算器是开放的,可扩展的(而不是像芯片暗箱求解),...此外GNU Prolog的求解器是相当高效的,往往比商业求解。
历史
GNU Prolog是由同一作者开发了两个系统的启发:
wamcc:一个C编译器的Prolog。wamcc关键的一点是它能够产生独立可执行文件使用的是原始的编译计划:Prolog的翻译通过WAM到C。其缺点是由GCC编译产生的来源需要时间。GNU Prolog中可以产生独立的可执行文件,但使用更快的编译计划。
CLP(FD):比FD约束编程语言。其主要特点是使用一个单一的原始定义FD约束。GNU Prolog是基于同样的想法,但扩展了原始的力量,使有可能更为复杂的约束定义。在比较中电(FD),GNU Prolog中提供新的预定义的限制,新的预定义的启发式,物化的制约,... ...
于1996年1月开始的名称卡里普索下的GNU Prolog的发展。
支持的平台和最后更改
目前支持以下的架构:
ix86 / GNU / Linux的
ix86 / Win32的使用Cygwin(见文件src / WINDOWS)
ix86 / Win32的使用MinGW的(见文件src / WINDOWS)
ix86 / Win32的使用MSVC + +(见文件src / WINDOWS)
ix86 /上海合作组织
ix86 / Solaris的
ix86 / FreeBSD的
ix86 / OpenBSD上
ix86 / NetBSD的
ix86 /达尔文(Mac OS X的)
x86_64的/ GNU / Linux的
X86_64 / Solaris中
X86_64 / Win64上使用MinGW64(见文件src/WINDOWS64)
x86_64的/ Win64中使用MSVC + +(见文件src/WINDOWS64)
的PowerPC / GNU / Linux的
PowerPC /达尔文的(Mac OS X的)
的PowerPC / NetBSD的
SPARC / SunOS的(4.1.3或更高)
SPARC / Solaris的
SPARC / NetBSD的
α/ GNU / Linux的
阿尔法/ OSF1
MIPS / IRIX
如果您有兴趣移植到另一个架构的GNU Prolog的阅读在src移植文件。
你可以参考下列文件:
一般的README文件。
新闻文件。
ChangeLog文件。
手册
本手册是在以下几种格式:
web page">一个网页上的HTML完全
web page per chapter">HTML与每章的网页
web page (gzipped tar file)">完全压缩的HTML上的一个网页(tar文件)
web page per chapter (gzipped tar file)" style="">每章的网页(tar文件的HTML压缩)
PDF格式
的PostScript
微软HTMLHELP版(CHM)
TeX的DVI(tar文件)
下载
我们提供的GNU Prolog的源代码和二进制分发版。
源代码分发:
的主要来源分布gprolog - 1.4.0.tar.gz。
二进制分发:
安装在/选择/地方/ /选择/ local / bin中的Mac OS X Leopard的英特尔安装程序包(使用圣保罗莫拉使用MacPorts创建:GNU Prolog的)。
Windows的英特尔32位自动安装设置(用MSVC编译ix86 / Windows 7的下+)。
Windows的英特尔32位自动安装设置(ix86 / Windows 7的下下MSYS与MinGW的GCC编译)。
Windows的英特尔64位自动安装设置(用MSVC编译x86_64的/ Windows 7的下+)。
Windows英特尔64位的自动安装设置(x86_64的/ Windows 7的MinGW64 GCC编译Cygwin下)。
其他版本:
在此目录中可以找到旧版本。
不稳定的版本都可以在这个目录中找到。
这些文件也可以从主GNU FTP站点下载或从任何一面镜子。
CVS存储库托管在SourceForge。
会费和有关的事态发展
欢迎踊跃投稿。如果你想你的贡献,请张贴邮件users-prolog@gnu.org(更多的信息在此列表中,单击)。这里是一个可用的捐款名单:
Bedevere - SWIG的包装
CLIP - 一个电(间隔)解释
CLPGUI - 为中电的图形用户界面
CTI - 一个基于约束的左终止ISO - Prolog的推理工具
GNU Prolog语言/国泰 - 扩展的GNU Prolog的语境逻辑编程
gprolog - RH - 归因变数,coroutinings和电的延伸超过雷亚尔的gprolog
Logtalk - 面向对象扩展到Prolog的
肌肉的PS / SC - 肌肉的PC / SC库的接口
MYSQL / Prolog语言 - MySQL数据库的接口
ODBC / Prolog语言 - gprolog一个小的ODBC接口模块
XGP - Mac OS X的IDE连接gprolog和可可
CGI编程 - 与GNU Prolog的引进CGI编程
邮件列表
邮件列表users-prolog@gnu.org:与其他GNU Prolog的用户和/或实施者沟通:
通知其他用途,发送邮件到users-prolog@gnu.org。
(联合国)订阅此列表发送邮件users-prolog-request@gnu.org(UN)在主题行认购。
web at http://mail.gnu.org/mailman/listinfo/users-prolog." style="">您还可以(联合国)通过在http://mail.gnu.org/mailman/listinfo/users-prolog网络订阅。
来自同一个站点,你也可以浏览存档。
邮件列表bug-prolog@gnu.org:报告错误:
通知其他用途,发送邮件到bug-prolog@gnu.org。
(联合国)订阅此列表发送邮件bug-prolog-request@gnu.org(UN)在主题行认购。
web at http://mail.gnu.org/mailman/listinfo/bug-prolog." style="">您还可以(联合国)通过在http://mail.gnu.org/mailman/listinfo/bug-prolog网络订阅。
来自同一个站点,你也可以浏览存档。
报告错误
错误报告是对我们工作的的关键。如果我们不知道的问题,我们可以解决这些问题。另一方面,它是一种浪费时间读/检查/回答这是不是错误的错误!请参考手册(上线的版本可用)。如果你可以尝试检查,如果错误发生的最后一个不稳定的版本(所有不稳定的版本在这里)。如果您已经使用的最后一个不稳定的版本,尝试最后的稳定版本。当你确定你已经发现了一个错误,请报告bug-prolog@gnu.org(在这里获得更多关于该列表中,单击的信息)。
您的报告应包括所有这些事情:
机器的类型,您使用的是(Unix下使用uname - a的)。
GNU Prolog的版本(使用gprolog - 版本)。
`配置和配置的输出操作数,如果错误的关注编译/安装阶段。
所需的任何文件的完整文本重现错误。尝试获得一个最小的例子,显示错误。
我们需要精确的命令类型重现错误。
描述你观察到什么样的行为,您认为是不正确的的。
如果你想提在GNU Prolog的源的东西,显示的代码行几行的背景下。不要只给一个行号。
版权所有(C)1999至2011年丹尼尔迪亚斯
逐字复制和整篇文章的分布是允许的,在任何媒介提供保留此通知。
目前的稳定版本是gprolog - 1.4.0
内容的表
什么是GNU Prolog的?
特点
GNU Prolog的工作如何?
历史
支持的平台与去年变化
手册
下载
会费和有关的事态发展
邮件列表
报告bug
什么是GNU Prolog的
GNU Prolog是一个Prolog编译器解决了丹尼尔迪亚斯开发有限域约束的自由。
GNU Prolog的接受Prolog的约束方案和产生本地二进制文件(如gcc从C源)。得到的可执行文件,然后独立。此可执行文件的大小,可以非常小,因为GNU Prolog的可避免链接代码大多数未使用内置谓词。 GNU Prolog中的表现是非常令人鼓舞的(与商业系统)。
除了本机代码编译,GNU Prolog语言与调试器提供了一个经典的交互式解释器(顶层)。
序言部分,符合ISO标准为Prolog的许多扩展,在实践中非常有用的(全局变量,操作系统的接口,插座,...).
GNU Prolog中还包括一个有效的约束求解有限域(FD)。这将打开contraint逻辑编程的用户相结合的约束规划的权力逻辑编程declarativity。
特点
Prolog的系统:
符合为Prolog的ISO标准(浮点数,溪流,动态代码,...).
全局变量,明确子句语法(DCG),套接字接口,操作系统界面,...很多的扩展:
内置超过300 Prolog的谓词。
Prolog的调试器和一个低级别的WAM调试器。
行编辑下的交互式解释器完成对原子的设施。
Prolog和C之间的强大的双向接口
编译器:
本机代码编译器产生独立的可执行文件。
简单的命令行编译器接受的文件种类繁多:prolog文件,C文件,WAM文件,...
直接生成汇编代码比wamcc + GCC快15倍。
未使用的内置谓词最不挂钩(减少可执行文件的大小)。
编译谓词(机器码)平均wamcc快。
咨询谓词(字节码)wamcc更快5倍以上。
约束求解:
FD变量很好地融入了Prolog的环境(与Prolog的变量和整数完全兼容)。没有明确FD声明的需要。
非常有效的FD求解器(相当于商业求解)。
高层次的限制,可谓简单的原语。
很多预定义的约束:算术的限制,布尔约束,象征性的约束,物化的制约,... ...
几个预定义的枚举启发式。
用户可以定义自己的新的制约因素。
内置超过50 FD约束/谓词。
GNU Prolog的工作如何?
沃伦抽象机(WAM)是基于GNU Prolog编译器。它首先会编译一个Prolog程序一个WAM文件,然后转换为低级别的机器独立的语言,称为特别为GNU Prolog的设计的迷你汇编。生成的文件,然后翻译成目标机器(从一个对象获得)的汇编语言。这使得GNU Prolog中,以产生一种原生的立场独自从一个序言源可执行文件(类似什么从一个C程序,C编译器)。本汇编计划的主要优点是产生的本地代码要快。另一个有趣的特点是可执行文件小。事实上,大多数未使用内置的谓词的代码可以被排除在链接时的可执行文件。
GNU Prolog中还包括一个有效的约束求解有限域(FD)。GNU Prolog的求解器的主要特点是使用一个单一的(低级)的原始定义所有(高级别)FD约束。这种方法有许多优点:约束可以被编译,用户可以定义自己的约束他(原始),解算器是开放的,可扩展的(而不是像芯片暗箱求解),...此外GNU Prolog的求解器是相当高效的,往往比商业求解。
历史
GNU Prolog是由同一作者开发了两个系统的启发:
wamcc:一个C编译器的Prolog。wamcc关键的一点是它能够产生独立可执行文件使用的是原始的编译计划:Prolog的翻译通过WAM到C。其缺点是由GCC编译产生的来源需要时间。GNU Prolog中可以产生独立的可执行文件,但使用更快的编译计划。
CLP(FD):比FD约束编程语言。其主要特点是使用一个单一的原始定义FD约束。GNU Prolog是基于同样的想法,但扩展了原始的力量,使有可能更为复杂的约束定义。在比较中电(FD),GNU Prolog中提供新的预定义的限制,新的预定义的启发式,物化的制约,... ...
于1996年1月开始的名称卡里普索下的GNU Prolog的发展。
支持的平台和最后更改
目前支持以下的架构:
ix86 / GNU / Linux的
ix86 / Win32的使用Cygwin(见文件src / WINDOWS)
ix86 / Win32的使用MinGW的(见文件src / WINDOWS)
ix86 / Win32的使用MSVC + +(见文件src / WINDOWS)
ix86 /上海合作组织
ix86 / Solaris的
ix86 / FreeBSD的
ix86 / OpenBSD上
ix86 / NetBSD的
ix86 /达尔文(Mac OS X的)
x86_64的/ GNU / Linux的
X86_64 / Solaris中
X86_64 / Win64上使用MinGW64(见文件src/WINDOWS64)
x86_64的/ Win64中使用MSVC + +(见文件src/WINDOWS64)
的PowerPC / GNU / Linux的
PowerPC /达尔文的(Mac OS X的)
的PowerPC / NetBSD的
SPARC / SunOS的(4.1.3或更高)
SPARC / Solaris的
SPARC / NetBSD的
α/ GNU / Linux的
阿尔法/ OSF1
MIPS / IRIX
如果您有兴趣移植到另一个架构的GNU Prolog的阅读在src移植文件。
你可以参考下列文件:
一般的README文件。
新闻文件。
ChangeLog文件。
手册
本手册是在以下几种格式:
web page">一个网页上的HTML完全
web page per chapter">HTML与每章的网页
web page (gzipped tar file)">完全压缩的HTML上的一个网页(tar文件)
web page per chapter (gzipped tar file)" style="">每章的网页(tar文件的HTML压缩)
PDF格式
的PostScript
微软HTMLHELP版(CHM)
TeX的DVI(tar文件)
下载
我们提供的GNU Prolog的源代码和二进制分发版。
源代码分发:
的主要来源分布gprolog - 1.4.0.tar.gz。
二进制分发:
安装在/选择/地方/ /选择/ local / bin中的Mac OS X Leopard的英特尔安装程序包(使用圣保罗莫拉使用MacPorts创建:GNU Prolog的)。
Windows的英特尔32位自动安装设置(用MSVC编译ix86 / Windows 7的下+)。
Windows的英特尔32位自动安装设置(ix86 / Windows 7的下下MSYS与MinGW的GCC编译)。
Windows的英特尔64位自动安装设置(用MSVC编译x86_64的/ Windows 7的下+)。
Windows英特尔64位的自动安装设置(x86_64的/ Windows 7的MinGW64 GCC编译Cygwin下)。
其他版本:
在此目录中可以找到旧版本。
不稳定的版本都可以在这个目录中找到。
这些文件也可以从主GNU FTP站点下载或从任何一面镜子。
CVS存储库托管在SourceForge。
会费和有关的事态发展
欢迎踊跃投稿。如果你想你的贡献,请张贴邮件users-prolog@gnu.org(更多的信息在此列表中,单击)。这里是一个可用的捐款名单:
Bedevere - SWIG的包装
CLIP - 一个电(间隔)解释
CLPGUI - 为中电的图形用户界面
CTI - 一个基于约束的左终止ISO - Prolog的推理工具
GNU Prolog语言/国泰 - 扩展的GNU Prolog的语境逻辑编程
gprolog - RH - 归因变数,coroutinings和电的延伸超过雷亚尔的gprolog
Logtalk - 面向对象扩展到Prolog的
肌肉的PS / SC - 肌肉的PC / SC库的接口
MYSQL / Prolog语言 - MySQL数据库的接口
ODBC / Prolog语言 - gprolog一个小的ODBC接口模块
XGP - Mac OS X的IDE连接gprolog和可可
CGI编程 - 与GNU Prolog的引进CGI编程
邮件列表
邮件列表users-prolog@gnu.org:与其他GNU Prolog的用户和/或实施者沟通:
通知其他用途,发送邮件到users-prolog@gnu.org。
(联合国)订阅此列表发送邮件users-prolog-request@gnu.org(UN)在主题行认购。
web at http://mail.gnu.org/mailman/listinfo/users-prolog." style="">您还可以(联合国)通过在http://mail.gnu.org/mailman/listinfo/users-prolog网络订阅。
来自同一个站点,你也可以浏览存档。
邮件列表bug-prolog@gnu.org:报告错误:
通知其他用途,发送邮件到bug-prolog@gnu.org。
(联合国)订阅此列表发送邮件bug-prolog-request@gnu.org(UN)在主题行认购。
web at http://mail.gnu.org/mailman/listinfo/bug-prolog." style="">您还可以(联合国)通过在http://mail.gnu.org/mailman/listinfo/bug-prolog网络订阅。
来自同一个站点,你也可以浏览存档。
报告错误
错误报告是对我们工作的的关键。如果我们不知道的问题,我们可以解决这些问题。另一方面,它是一种浪费时间读/检查/回答这是不是错误的错误!请参考手册(上线的版本可用)。如果你可以尝试检查,如果错误发生的最后一个不稳定的版本(所有不稳定的版本在这里)。如果您已经使用的最后一个不稳定的版本,尝试最后的稳定版本。当你确定你已经发现了一个错误,请报告bug-prolog@gnu.org(在这里获得更多关于该列表中,单击的信息)。
您的报告应包括所有这些事情:
机器的类型,您使用的是(Unix下使用uname - a的)。
GNU Prolog的版本(使用gprolog - 版本)。
`配置和配置的输出操作数,如果错误的关注编译/安装阶段。
所需的任何文件的完整文本重现错误。尝试获得一个最小的例子,显示错误。
我们需要精确的命令类型重现错误。
描述你观察到什么样的行为,您认为是不正确的的。
如果你想提在GNU Prolog的源的东西,显示的代码行几行的背景下。不要只给一个行号。
版权所有(C)1999至2011年丹尼尔迪亚斯
逐字复制和整篇文章的分布是允许的,在任何媒介提供保留此通知。