图书介绍

ARITY PROLOG5.0v 使用、参考手册PDF|Epub|txt|kindle电子书版本网盘下载

ARITY PROLOG5.0v 使用、参考手册
  • 张敏,孙华,查良钿,彭春龙译 著
  • 出版社: 中国科学院软件研究所;时运电脑公司;海声软件开发公司;北京科海培训中心
  • ISBN:
  • 出版时间:1989
  • 标注页数:339页
  • 文件大小:71MB
  • 文件页数:362页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐