《ARITY PROLOG5.0v 使用、参考手册》
作者 | 张敏,孙华,查良钿,彭春龙译 编者 |
---|---|
出版 | 中国科学院软件研究所;时运电脑公司;海声软件开发公司;北京科海培训中心 |
参考页数 | 339 |
出版时间 | 1989(求助前请核对) 目录预览 |
ISBN号 | 无 — 求助条款 |
PDF编号 | 8660478(仅供预览,未存储实际文件) |
求助格式 | 扫描PDF(若分多册发行,每次仅能受理1册) |

序言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.1Arity/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.8Help文件包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.3Arity/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.3Arity/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
附录BArity/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.2Prolog数据类型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.2functor(?struct,?Name,?Arity)177
3.4.3arg(+N,+Term,-Value)177
3.4.4argo(+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.1bagof(+Term,+Goal,-Bag)179
3.5.2setof(+Term,+Goal,-Set)180
3.5.3 findall(+Term,+Goal,-List)181
第4章管理数据库182
4.1数据库中的项183
4.1.1recorda(+Key,+Tern,-Ref)184
4.1.2recordz(+Key,+Term,-Ref)185
4.1.3record after(+Ref,+Term,-NewRef)185
4.1.4recorded(+Key,+Term,-Ref)185
4.1.5recorded tro(+Key,+Term,-Ref)185
4.1.6instance(+Ref,-Term)185
4.1.7Key(+Key,-Ref)185
4.1.8keys(+Key)185
4.1.9nref(+Ref,-Next)186
4.1.10pref(+Ref,-Prey186
4.1.11nth_ref(Key,+N,-Ref)186
4.1.12replace(Ref,+Term)186
4.1.13 erase(+Ref)186
4.1.14 eraseall(Key)186
4.1.15expunge186
4.1.16 hard-erase(+Ref)187
4.1.17 如何使用recorded,recorded--tro,erase,hard-erase187
4.2数据库中的子句189
4.2.1clause(+Head,-Body)189
4.2.2asserta(+Clause)189
4.2.3assertz(+Clause)190
4.2.4assert(+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.1creat_world(+World_name)193
4.5.2code_world(-Old,+New)193
4.5.3 data_world(-Old,+New)194
4.5.4what_worlds(-X)194
4.5.5 delete_world(+World_name)194
第5章索引数据库的数据195
5.1b-树195
5.1.1reordb(+Tree_name,+Sort_Key,+Term)196
5.1.2retrieveb(+Tree_name,?Sort_Key,?Term)197
5.1.3betweenb(+Tree_name,+Keyl,+Key2,+Relationl,+Relation2,-Key,-Term)197
5.1.4betweenkeysb(+Tree_name,Keyl,+Key2,-Key)198
5.1.5defineb(+Tree_name,+Splitsize,+Uniqueness,+Order)198
5.1.6replaceb(+Tree_name,Sort_key,+Old_term,+New_term)200
5.1.7 remoneb(+Tree_name,+Sort_key,+Term)200
5.1.8nhat_btrees(-Btree)200
5.1.9 removeallb(+Tree_name)200
5.2建立hash表201
5.2.1recordh(+Table_name,+Sort_Key+Term)202
5.2.2retrieveh(+Table_name,?Sort_key,?Term)202
5.2.3defineh(+Table_name,+HashBuckets)203
5.2.4removeh(+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.1read(-Term)206
6.1.2write(+Term)206
6.1.3writeq(+Term)206
6.1.4display(+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.6flush212
6.2.7skip(+Char)212
6.2.8 put(+Char)212
6.2.9nl212
6.2.10 tab(+Name)212
6.3 串I/O212
第7章文件输入输出214
7.1打开和关闭文件215
7.1.1Create(-Handle,+Filenmae)216
7.1.2Gpen(-Handle,+Filename,+Access)216
7.1.3P-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.3seen220
7.4.4see_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.1in(+Port,-Byte)221
8.2 out(+Port,+Byte)221
第9章字符串222
9.1管理字符串224
9.1.1string-search224
9.1.2substring(+Instring,+N,+Length,-Outstring)224
9.1.3nth_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.1read_string227
9.3.2 read_line(+Handle,-Line)228
第10章窗口229
10.1 建立和修改窗口229
10.2 回送窗口信息230
10.3current_window(-Old,?New)231
10.4 hide_window(-Current,+New)231
10.5what_windows(-Name)231
10.6resiz_window(+Rows,+Columns)232
10.7move_window(+Rows,+Columns)232
10.8relabel_window(+Lable)232
10.9 recolor_window(+Window_attr+Border_attr)232
10.10 store_windows233
10.11refresh233
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.1tget(-Row,-Column)238
11.1.2tmore(+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.1wc(+Count,+Character)240
11.2.2wa(+Count,Attribute)241
11.2.3wca(+Count,+Character,+Attribute)241
11.2.4 tscroll(+Count,+(ULR,ULC),CLRR,LRC)242
11.2.5cls242
11.2.6region_ca(+(ULR,ULC),(LRR,LRC),?String)242
11.2.7region_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.4DCG和自然语言分析器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.1MS-DOS相互作用及系统谓词295
15.1.1 shell295
15.1.2 halt295
15.1.3 lock296
15.1.4 unlock296
15.1.5 gc296
15.1.6statstcs296
15.1.7 system(+Predicate)297
15.2建立程序数据库298
15.2.1consult(+Filename)298
15.2.2reconsult(+Filename)298
15.2.3[+Filename]298
15.2.4 edit(+Filename)298
15.3处理错误299
15.3.1syntaxerrors(-Old,+New)299
15.3.2 fileerrors(-Ole,+New)300
15.3.3 errcode(-Code)300
15.4管理目录300
15.4.1disk(?DiskName)300
15.4.2mkdir(+Path)301
15.4.3chdir(+Path)301
15.4.4rmdir(+Path)301
15.4.5 directory(+Peath,-Name,-Mode,-Tim,-Date,-Size)301
15.5执行文件维护302
15.5.1delete(+Filename)302
15.5.2rename(+Filename,+Newname)302
15.5.3 chmod(+Filename,?Attributes)302
15.6存取系统时钟302
15.6.1 date(?date(Year,Month,Day))303
15.6.2time(?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.2C全局说明和预处理指令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
附录ABONUS.LIB库330
A.1 写整数,浮点数,和串330
A.2 读整数,浮点数,串和331
A.3串缓冲谓词332
A.3.1 string_buf(+String)332
A.3.2but_string(-String)332
A.3.3 append_buf(+String)332
A.3.4buf_length(-Length)332
A.3.5write_buf(+Start,+Length)333
A.3.6buf_insert_char(+Char,+Location)333
A.3.7 buf_delete_char(+Location)333
A.4Microsoft鼠标谓词333
A.4.1 mouse334
A.4.2 show_mouse_cursor334
A.4.3hide_mouse_cursor334
A.4.4 set_mouse_position(+Row,+Column)334
A.4.5get_mouse_position(-Row,-Column,-State)334
A.4.6mouse_region(+ULR, +ULC,+LRR,+LRC)334
A.4.7mouse_press(+Button,-How many,-Row,-Column,-State)335
A.4.8mouse_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.1video_page(-Old,+New)338
A.6.2 video_mode(-Old,+New)339
1989《ARITY PROLOG5.0v 使用、参考手册》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由张敏,孙华,查良钿,彭春龙译 1989 中国科学院软件研究所;时运电脑公司;海声软件开发公司;北京科海培训中心 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。
高度相关资料
-
- Turbo C TOOLS 6.0工具库使用参考手册
- 1993 北京:学苑出版社
-
- VISICALC 使用手册
- 协群科技出版社
-
- POWERBUILDER 6.0用户参考手册
- 1998年10月第1版 北京希望电脑公司
-
- UNIX用户参考手册
- 中国科学院沈阳计算所SHENIX组
-
- Turbo Pascal 5.0版 使用和参考手册
- 1991 上海:上海科学普及出版社
-
- Unix参考手册
- 1997 北京:电子工业出版社
-
- Symphony使用手册 高等技巧 下 参考篇
- 1987 松岗电脑图书资料股份有限公司
-
- basis参考手册
- 1984 四川省电子计算机应用研究
-
- 用户参考手册
- 1991 上海电子计算机厂;北京希望电脑公司
-
- Microsoft BASIC编译程式使用参考手册
- 1987 波前电脑管理图书有限公司
-
- 港澳经济研究 3 台港及海外中文报刊资料专辑 1986年
- 1986 北京:书目文献出版社
提示:百度云已更名为百度网盘(百度盘),天翼云盘、微盘下载地址……暂未提供。➥ PDF文字可复制化或转WORD