21、Prolog 程序调试指南

Prolog 程序调试指南

1. 受限跟踪概述

受限跟踪是调试 Prolog 程序的重要手段。当为某些类型的事件指定了受限跟踪后,每当此类事件发生时,程序会暂停并询问下一步操作。例如:

?- append([a], [b], X).
CALL append([a],[b],_43)  ?

程序在输出 “?” 后停止,此时需要从一组可能的选项中选择一个进行回复。若选择的选项使程序继续运行,它将运行到下一个被跟踪谓词的受限事件处,再次询问操作,如:

CALL append([],[b],_103)  ?

通常可以选择在终端显示可用选项列表。

2. 检查目标

可以通过不同方式查看目标:
- write :通常作为查看目标的另一种方式。例如:

?- append([a], [b], X).
CALL append([a],[b],<foo>)  ?
write
CALL append([a],  [b],_103)  ?
  • write_canonical :当目标包含多个运算符且忘记其优先级时使用,它能清晰显示函子的嵌套结构。
3. 检查祖先目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值