图书介绍
ARITY PROLOG5.0v 使用、参考手册PDF|Epub|txt|kindle电子书版本网盘下载
- 张敏,孙华,查良钿,彭春龙译 著
- 出版社: 中国科学院软件研究所;时运电脑公司;海声软件开发公司;北京科海培训中心
- ISBN:
- 出版时间:1989
- 标注页数:339页
- 文件大小:71MB
- 文件页数:362页
- 主题词:
PDF下载
下载说明
ARITY PROLOG5.0v 使用、参考手册PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
序言1
Ariy/Prolog解释器和编译器使用手册1
Ariy/Prolog语言参考手册2
第一部分 启动 Arity/Prolog3
第1章 什么是Prolog3
第2章 安装系统4
2.1 启动Arity/Prolog4
2.2 退出Arity/Prolog4
2.3 可选择的Arity/Prolog装配过程4
2.3.1 从任一目录区中调用Arity/Prolog5
2.3.2 启动解释器时将信息加入数据库5
2.3.3 使用Arity/Prolog编辑器之外的编辑器5
2.3.4 设置打开文件限制数6
第3章 Arity/Prolog菜单7
3.1 移动光标并进行选择8
3.1.1 在菜单行方式下移动光标9
3.1.2 在下拉菜单方式下移动光标并选择9
3.1.3 快速键10
3.1.4 功能键10
3.1.5 会话框内的光标移动和选择11
3.2 菜单选择项12
3.2.1 File菜单选择项13
3.2.2 Edit菜单选择项14
3.2.3 Buffers菜单选择项15
3.2.4 Info菜单选择项17
3.2.5 Debug菜单选择项17
3.2.6 Switch菜单选择项18
3.2.7 Help菜单选择项18
第4章 使用Arify/Prolog19
4.1 Arity/Prolog编辑器19
4.1.1 启动编辑器19
4.1.2 使用编辑器20
4.1.3 移动光标20
4.1.4 删除、考贝和恢复文本21
4.1.5 文本查找和替换22
4.1.6 文件合并23
4.1.7 使用缓冲区23
4.1.8 保存文件24
4.1.9 使用辅助缓冲区25
4.2 输入Prolog程序25
4.2.1 保存示例文件28
4.2.2 装入示例文件28
4.2.3 错误处理28
4.3 运行Prolog程序29
4.3.1 浏览数据库29
4.3.2 进行询问30
4.3.3 删除已输入的内容31
4.3.4 具有1000以上优先级算符的谓词31
4.3.5 谓词命名的约定32
4.4 加载文件到数据库32
4.4.1 用于装入文件的谓词34
4.4.2 嵌入的consult指命34
4.5 转换到MS-DOS35
4.6 使用调试器35
4.6.1 调试器是如何工作的36
4.6.2 运行调试器37
4.6.3 调试一个程序38
4.6.4 关闭调试器和消除监测点40
4.6.5 从解释器中调用调试器41
4.7 保存数据库的内容41
4.7.1 恢复数据库内容42
4.7.2 消除数据库的变化42
4.7.3 保存和恢复数据库的谓词42
4.8 Help文件包43
4.8.1 使用Help文件43
4.8.2 增加Help文件44
4.9 Arity/Prolog信息44
4.10 退出解释器47
第5章 开发应用软件48
5.1 使用窗口环境48
5.2 程序设计风格49
第6章 在解释器中加入可求值谓词51
第二部分 建立编译的应用软件57
第7章 Arity/Prolog编译器介绍57
7.1 apc命令58
7.2 连接每个文件建立一个可执行映象59
第8章 编译应用软件的要点61
8.1 进一步的了解61
8.1.1 可执行文件61
8.1.2 数据库文件61
8.1.3 环境文件62
8.1.4 浮点协处理器62
8.2 软件开发过程简介62
8.3 Prolog文件的结构63
第9章 被编译的程序代码说明65
9.1 为程序标识主入口点65
9.2 restart谓词66
9.3 公用说明66
9.4 外部说明67
9.5 显式说明67
9.5.1 default(invisible)说明69
9.6 模块说明69
9.7 使用后辍interp69
9.8 装入程序数据库70
9.8.1 在一个被编译程序的数据库中装入子句70
9.8.2 启动时装入数据库72
9.9 编译时和运行时的操作符定义73
第10章 编译与连接74
10.1 编译74
10.1.1 编译命令行的示例74
10.1.2 ctrlvis文件75
10.1.3 使用批处理文件75
10.2 连接76
10.2.1 使用连接文件77
10.2.2 使用make文件77
10.3 出错处理78
第11章 环境文件79
11.1 建立环境文件80
11.1.1 局部栈大小80
11.1.2 全局栈大小81
11.1.3 尾随栈大小81
11.1.4 设置最小和最大页面分配81
11.1.5 溢出文件82
11.1.6 IDB文件82
11.1.7 扩展的存储器支持83
11.2 缺省环境文件设置83
第12章 远 PROLOG84
12.1 段说明84
12.2 远代码段的说明调整84
12.3 clone实用程序85
12.4 连接远代码段85
第13章 优化编译代码87
13.1 包含mode说明87
13.2 编译算术运算优化88
第14章 说明编译器89
第三部分 与其它程序设计语言相接93
第15章 书写可调用的汇编语言子程序93
15.1 说明汇编语言子程序名字和自变量93
15.1.1 命名汇编语言子程序93
15.1.2 说明子程序是外部的和可见的93
15.2 堆栈和寄存器的使用94
15.3 汇编语言宏95
15.3.1 evalsucced95
15.3.2 evalfail95
15.3.3 evalargref95
15.4 汇编语言子程序95
15.4.1 getshort_a96
15.4.2 getint_a96
15.4.3 putshort_a96
15.4.4 putint_a96
15.4.5 getlong_a96
15.4.6 p?tlong_a97
15.4.7 整数存储97
15.4.8 gettxt_a97
15.4.9 puttxt_a97
15.4.10 putatm_a98
15.4.11 getflt_a98
15.4.12 putflt_a98
15.4.13 getfunctor_a98
15.4.14 getfuncarg_a99
15.4.15 putfunctor_a99
15.4.16 findtype_a99
15.4.17 eqrefs_a100
15.5 汇编语言求值谓词实例100
第16章 书写可调用的c函数104
16.1 说明C函数的名字和自变量104
16.1.1 说明函数为外部的和可见的104
16.2 转换数据类型105
16.3 Arity/Prolog C子程序106
16.3.1 getshort_c106
16.3.2 getint_c106
16.3.3 putshort_c106
16.3.4 putint_c107
16.3.5 getlong_c107
16.3.6 putlong_c107
16.3.7 整数 存储108
16.3.8 gettxt_c108
16.3.9 puttxt_c108
16.3.10 putatm_c109
16.3.11 getflt_c109
16.3.12 putflt_c109
16.3.13 getfunctor_c109
16.3.14 getfuncarg_c110
16.3.15 putfunctor_c110
16.3.16 findtype_c110
16.3.17 eqrefs_c111
16.4 返回成功或失败111
16.5 编译Lattice C函数111
16.6 编译Microsoft C函数111
16.7 连接C模块112
16.8 程序设计例子112
16.8.1 把C求值谓词加到解释器中113
16.8.2 调用C函数的独立程序115
16.9 从C函数调用Prolog117
第17章 书写可调用的PASCAL和FORTRAN过程118
17.1 说明函数名字和自变量118
17.1.1 Pascal子程序的外部和可见的说明118
17.2 转换数据类型119
17.3 Arity/Prolog Pascal函数119
17.3.1 getshort_p120
17.3.2 getint_P120
17.3.3 putshort_P120
17.3.4 putint_p120
17.3.5 getlong_p120
17.3.6 putlong_p121
17.3.7 整数存储121
17.3.8 gettxt_P121
17.3.9 puttxt_p121
17.3.10 putatm_p122
17.3.11 getflt_p122
17.3.12 putflt_p122
17.3.13 getfunctor_p122
17.3.14 getfuncarg_p123
17.3.15 putfunctor_p123
17.3.16 findtype_P123
17.3.17 eqrefs_p123
17.4 返回成功或失败124
17.5 编译Pascal函数124
17.5.1 连接Pascal函数124
17.6 Pascal程序设计例子124
17.7 Fortran程序设计例子127
17.8 从Pascal函数中调用Prolog128
附录A 词汇表130
附录B Arity/Prolog信息132
B.1 MS—DOS信息132
B.2 语法错误132
B.3 运行时错误133
B.4 编译器信息135
附录C 用其它语言书写的求值谓词137
附录D 谓词一览139
附录E Arity/Prolog编辑器快速参考指南151
附录F 推荐参阅文献153
Arity/Prolog语言参考手册157
符号约定157
第1章 语言结构和控制158
1.1 一致化158
1.2 Prolog数据类型158
1.2.1 变量159
1.2.2 原子159
1.2.3 整数159
1.2.4 浮点数159
1.2.5 串160
1.2.6 数据库参引数160
1.2.7 结构160
1.2.8 表161
1.3 程序控制161
1.3.1 回溯162
1.3.2 repeat—fail循环163
1.3.3 递归164
1.3.4 截断164
1.3.5 截断—失败组合165
1.3.6 使用剪切166
1.3.7 使用case控制算符167
第2章 算术运算及算术表达式169
2.1 算术运算符170
2.2 算术求值谓词171
2.3 计数器谓词172
第3章 处理项173
3.1 分类项173
3.2 使项一致化174
3.3 比较项175
3.4 转换项177
3.4.1 struct=..List177
3.4.2 functor(?struct,?Name,?Arity)177
3.4.3 arg(+N,+Term,-Value)177
3.4.4 argo(+N,+Term,-Value)178
3.4.5 argrep(+Term,+N,+Arg,-Newstruct)178
3.4.6 name(?Atom,?List)178
3.4.7 length(+List,-N)179
3.5 收集项179
3.5.1 bagof(+Term,+Goal,-Bag)179
3.5.2 setof(+Term,+Goal,-Set)180
3.5.3 findall(+Term,+Goal,-List)181
第4章 管理数据库182
4.1 数据库中的项183
4.1.1 recorda(+Key,+Tern,-Ref)184
4.1.2 recordz(+Key,+Term,-Ref)185
4.1.3 record after(+Ref,+Term,-NewRef)185
4.1.4 recorded(+Key,+Term,-Ref)185
4.1.5 recorded tro(+Key,+Term,-Ref)185
4.1.6 instance(+Ref,-Term)185
4.1.7 Key(+Key,-Ref)185
4.1.8 keys(+Key)185
4.1.9 nref(+Ref,-Next)186
4.1.10 pref(+Ref,-Prey186
4.1.11 nth_ref(Key,+N,-Ref)186
4.1.12 replace(Ref,+Term)186
4.1.13 erase(+Ref)186
4.1.14 eraseall(Key)186
4.1.15 expunge186
4.1.16 hard-erase(+Ref)187
4.1.17 如何使用recorded,recorded--tro,erase,hard-erase187
4.2 数据库中的子句189
4.2.1 clause(+Head,-Body)189
4.2.2 asserta(+Clause)189
4.2.3 assertz(+Clause)190
4.2.4 assert(+Clause)190
4.2.5 retract(+Clause)190
4.2.6 abolish(Name/Arity)190
4.3 检测数据库190
4.3.1 listing190
4.3.2 current-predicate(-Predicate)191
4.4 保存和恢复数据库191
4.4.1 save191
4.4.2 restore192
4.5 用域进行工作192
4.5.1 creat_world(+World_name)193
4.5.2 code_world(-Old,+New)193
4.5.3 data_world(-Old,+New)194
4.5.4 what_worlds(-X)194
4.5.5 delete_world(+World_name)194
第5章 索引数据库的数据195
5.1 b-树195
5.1.1 reordb(+Tree_name,+Sort_Key,+Term)196
5.1.2 retrieveb(+Tree_name,?Sort_Key,?Term)197
5.1.3 betweenb(+Tree_name,+Keyl,+Key2,+Relationl,+Relation2,-Key,-Term)197
5.1.4 betweenkeysb(+Tree_name,Keyl,+Key2,-Key)198
5.1.5 defineb(+Tree_name,+Splitsize,+Uniqueness,+Order)198
5.1.6 replaceb(+Tree_name,Sort_key,+Old_term,+New_term)200
5.1.7 remoneb(+Tree_name,+Sort_key,+Term)200
5.1.8 nhat_btrees(-Btree)200
5.1.9 removeallb(+Tree_name)200
5.2 建立hash表201
5.2.1 recordh(+Table_name,+Sort_Key+Term)202
5.2.2 retrieveh(+Table_name,?Sort_key,?Term)202
5.2.3 defineh(+Table_name,+HashBuckets)203
5.2.4 removeh(+Table_name,Sort_key,+Term)203
5.2.5 removeallh(+Table_name)203
5.3 对b-树和Hash表使用多重索引203
第6章 标准输入输出205
6.1 项I/O205
6.1.1 read(-Term)206
6.1.2 write(+Term)206
6.1.3 writeq(+Term)206
6.1.4 display(+Term)206
6.1.5 op(+Prec,+Assoc,+Op)207
6.1.6 current_op(?Prec,?Assoc,?Op)209
6.1.7 reset_op209
6.2 字符I/O209
6.2.1 geto(-Char)210
6.2.2 get(-Char)210
6.2.3 geto_noecho(Char)210
6.2.4 Keyb(-ASCII,Scan)210
6.2.5 Keyb-Peek(-ASCII,-Scan)211
6.2.6 flush212
6.2.7 skip(+Char)212
6.2.8 put(+Char)212
6.2.9 nl212
6.2.10 tab(+Name)212
6.3 串I/O212
第7章 文件输入输出214
7.1 打开和关闭文件215
7.1.1 Create(-Handle,+Filenmae)216
7.1.2 Gpen(-Handle,+Filename,+Access)216
7.1.3 P-open(-Handle,+Filename,+Access)216
7.1.4 close(+Handle)217
7.2 文件中移动217
7.2.1 seek(+Handle,+Offset,+Method,-Newloc)217
7.3 改变输入输出方向218
7.3.1 stdin,stdout,stdinout218
7.3.2 file_list219
7.4 标准Prolog输入输出219
7.1.1 see(+Filename)219
7.4.2 seeing(-Filename)219
7.4.3 seen220
7.4.4 see_h(+Handle)220
7.4.5 tell(+Filename)220
7.4.6 telling(-Filename)220
7.4.7 told220
7.4.8 tell_h(Hanolle)220
第8章 低级I/O221
8.1 in(+Port,-Byte)221
8.2 out(+Port,+Byte)221
第9章 字符串222
9.1 管理字符串224
9.1.1 string-search224
9.1.2 substring(+Instring,+N,+Length,-Outstring)224
9.1.3 nth_char(+N,+String,-Char)225
9.1.4 string_length(+String,-Length)225
9.1.5 concat225
9.2 转换字符串226
9.2.1 string_term(?String,?Term)226
9.2.2 atom_string(?Atom,?String)226
9.2.3 int_text(?Integer,?Text)226
9.2.4 float_text(?Float,?Text,?Format)227
9.2.5 ilst_text(?List,?String)227
9.3 字符串输入输出227
9.3.1 read_string227
9.3.2 read_line(+Handle,-Line)228
第10章 窗口229
10.1 建立和修改窗口229
10.2 回送窗口信息230
10.3 current_window(-Old,?New)231
10.4 hide_window(-Current,+New)231
10.5 what_windows(-Name)231
10.6 resiz_window(+Rows,+Columns)232
10.7 move_window(+Rows,+Columns)232
10.8 relabel_window(+Lable)232
10.9 recolor_window(+Window_attr+Border_attr)232
10.10 store_windows233
10.11 refresh233
10.12 delete_window(+Name)233
10.13 上托窗口233
10.13.1 建立上托窗口234
10.13.2 删除上托窗口234
10.14 一个窗口的例子235
第11章 文本管理238
11.1 光标控制238
11.1.1 tget(-Row,-Column)238
11.1.2 tmore(+Row,+Column)238
11.1.3 set_cursor(+Low_scan,+High_scan)239
11.1.4 get_cursor(-Low_scan,-High_scan)239
11.1.5 tchar(-Char,-Attr)239
11.2 写到窗口239
11.2.1 wc(+Count,+Character)240
11.2.2 wa(+Count,Attribute)241
11.2.3 wca(+Count,+Character,+Attribute)241
11.2.4 tscroll(+Count,+(ULR,ULC),CLRR,LRC)242
11.2.5 cls242
11.2.6 region_ca(+(ULR,ULC),(LRR,LRC),?String)242
11.2.7 region_cc(+(ULR,ULC),+(LRR,LRC),?String)243
11.2.8 region_c(+(ULR,ULC),+(LRR,LRC),?String)243
第12章 会话框244
12.1 标准会话框控制245
12.1.1 在会话框中移动和选择247
12.1.2 加速话会框249
12.1.3 退出会话框249
12.2 会话框和控制定义249
12.2.1 文本控制定义251
12.2.2 选择按钮控制251
12.2.3 辐射按钮定义252
12.2.4 编辑域定义253
12.2.5 按钮定义254
12.2.6 列表框定义254
12.2.7 编辑框定义256
12.2.8 编辑区定义257
12.3 装入编辑框和编辑区的内容257
12.4 调入控制定义258
12.5 dialog|run谓词258
12.6 处理控制信息258
12.6.1 会话框管理信息260
12.6.2 控制信息261
12.6.3 通知信息264
12.6.4 which_control谓词265
12.7 处理信息265
12.7.1 缺省会话数265
12.7.2 send_dialog_msg谓词266
12.7.3 send_control_msg谓词266
12.7.4 exit_dbox谓词266
12.7.5 一个信息处理的实例267
12.8 设置控制的初始值270
12.9 运行会话框271
12.10 设计定做的控制271
12.10.1 如何处理控制定义272
12.10.2 write_ctrl_tert(+Key,+Label)273
12.10.3 一个定做的控制实例273
12.10.4 使用标准控制信息与定做的控制277
12.11 编译使用会话框的程序278
第13章 菜单279
13.1 在菜单中移动和进行选择279
13.1.1 条形菜单方式下移动光标280
13.1.2 在下拉方式移动和进行选择280
13.1.3 加速键(accelerator key)280
13.2 菜单定义281
13.2.1 条形菜单项定义282
13.2.2 下拉菜单选样项定义283
13.2.3 一个菜单定义实例283
13.3 菜单信息284
13.3.1 画出并启动条形菜单285
13.3.2 画条形菜单286
13.3.3 检查和改变色状态286
13.3.4 检查和改变检查状态287
13.3.5 改变菜单属性287
第14章 受限子句文法标志法289
14.1 理解语言结构289
14.2 内容随意文法289
14.3 受限子句文法290
14.4 DCG和自然语言分析器290
14.4.1 DCG语法291
14.4.2 调用你的DCG291
14.4.3 添加附加变量291
14.4.4 expand_term(+T1,-T2)293
14.5 一个使用DCG的实例293
第15章 执行系统功能295
15.1 MS-DOS相互作用及系统谓词295
15.1.1 shell295
15.1.2 halt295
15.1.3 lock296
15.1.4 unlock296
15.1.5 gc296
15.1.6 statstcs296
15.1.7 system(+Predicate)297
15.2 建立程序数据库298
15.2.1 consult(+Filename)298
15.2.2 reconsult(+Filename)298
15.2.3 [+Filename]298
15.2.4 edit(+Filename)298
15.3 处理错误299
15.3.1 syntaxerrors(-Old,+New)299
15.3.2 fileerrors(-Ole,+New)300
15.3.3 errcode(-Code)300
15.4 管理目录300
15.4.1 disk(?DiskName)300
15.4.2 mkdir(+Path)301
15.4.3 chdir(+Path)301
15.4.4 rmdir(+Path)301
15.4.5 directory(+Peath,-Name,-Mode,-Tim,-Date,-Size)301
15.5 执行文件维护302
15.5.1 delete(+Filename)302
15.5.2 rename(+Filename,+Newname)302
15.5.3 chmod(+Filename,?Attributes)302
15.6 存取系统时钟302
15.6.1 date(?date(Year,Month,Day))303
15.6.2 time(?time(Hour,Minute,Second,Hundredth))303
15.6.3 date_day(+date(Y,M,D),-WeekDay)303
15.7 在应用程序中包含变元305
第16章 嵌入的C306
16.1 编译指令306
16.1.1 model指令306
16.1.2 cseg指令307
16.1.3 dseg指令307
16.1.4 pack指令307
16.1.5 name(pascal)指令307
16.2 C全局说明和预处理指令308
16.2.1 C数据类型308
16.2.2 简单变量说明308
16.2.3 枚举说明309
16.2.4 结构说明309
16.2.5 联合说明309
16.2.6 数组说明309
16.2.7 指针说明310
16.2.8 数说明310
16.2.9 复合说明310
16.2.10 存储类别310
16.2.11 typedef指令311
16.2.12 预处理指令311
16.2.13 Arity/Prolog嵌入的C不支持的项目311
16.3 使用嵌入的C表达式312
16.3.1 在嵌入的C表达式中说明变量312
16.3.2 表达式的元素312
16.3.3 算符314
16.3.4 值算符315
16.3.5 算术运算315
16.3.6 使用Prolog变量316
16.4 串转换谓词316
16.5 说明全局变量317
16.6 编译的算术运算317
16.6.1 嵌入的C表达式之外的编译的算术运算318
16.7 说明被C,Pascal或Fortran调用的Prolog谓词318
16.7.1 处理不确定的谓词318
16.7.2 public说明319
16.8 arityc.c和arityp.pas文件320
16.9 运行态错321
16.10 在解释器中使用嵌入的C321
16.11 嵌入的C实例322
第17章 调试器谓词327
17.1 启动和关闭调试器327
17.1.1 trace327
17.1.2 notrace327
17.2 建立监测点327
17.2.1 spy327
17.2.2 nospy328
17.3 端口328
17.3.1 leash(+Mode)328
17.4 调试器命令329
附录A BONUS.LIB库330
A.1 写整数,浮点数,和串330
A.2 读整数,浮点数,串和331
A.3 串缓冲谓词332
A.3.1 string_buf(+String)332
A.3.2 but_string(-String)332
A.3.3 append_buf(+String)332
A.3.4 buf_length(-Length)332
A.3.5 write_buf(+Start,+Length)333
A.3.6 buf_insert_char(+Char,+Location)333
A.3.7 buf_delete_char(+Location)333
A.4 Microsoft鼠标谓词333
A.4.1 mouse334
A.4.2 show_mouse_cursor334
A.4.3 hide_mouse_cursor334
A.4.4 set_mouse_position(+Row,+Column)334
A.4.5 get_mouse_position(-Row,-Column,-State)334
A.4.6 mouse_region(+ULR, +ULC,+LRR,+LRC)334
A.4.7 mouse_press(+Button,-How many,-Row,-Column,-State)335
A.4.8 mouse_release(+Button,-How many,-Row,-Column,-State)335
A.4.9 set_mouse_cursor(+Cursor_type,+Cursor_Val1,+Cursor_Val2)336
A.5 ANSI驱动谓词336
A.6 视屏页面338
A.6.1 video_page(-Old,+New)338
A.6.2 video_mode(-Old,+New)339