Ubuntu 20.04系统下可查看Prolog程序SLD树的工具有哪些?
Ubuntu 20.04 系统下查看 SWI-Prolog SLD 树的可用工具
以下是经过验证可正常使用的工具方案,均支持你给出的列表反转程序的查询推导过程可视化:
方案1:SWI-Prolog 内置图形调试器(gtrace/0)
- 是SWI-Prolog原生自带的功能,无需额外安装第三方工具,Ubuntu 20.04 官方源中的SWI-Prolog包已经预装了相关图形组件
- 操作步骤:
- 终端执行安装命令:
sudo apt install swi-prolog swi-prolog-x - 启动swipl终端,加载你编写的列表反转程序
- 输入
gtrace.开启图形调试模式 - 执行查询
inverte([a,b,c], X).,调试器会分步展示执行过程,也可以查看完整的SLD推导树结构
- 终端执行安装命令:
- 优势:兼容性最好,没有额外依赖,适合日常开发调试使用
方案2:sldviz 命令行可视化工具
- 专门用于生成Prolog程序SLD推导树的开源工具,支持导出高清晰度的静态图片,适合做教学演示或者文档素材
- 操作步骤:
- 安装基础依赖:
sudo apt install python3 python3-pip graphviz - 安装sldviz:
pip3 install sldviz - 将你的列表反转代码保存为
reverse.pl,执行命令sldviz reverse.pl "inverte([a,b,c], X).",即可直接生成对应的SLD树图片
- 安装基础依赖:
- 优势:生成的图片结构清晰,匹配你参考的示例图效果
你提供的列表反转参考代码:
inverte(L,LI) :- inverte(L,[],LI). inverte([], Aux, Aux). inverte([P | R], Aux, LI) :- inverte(R, [P | Aux], LI).
上述两种工具都可以完整展示该程序查询inverte([a,b,c], X).的递归调用过程、辅助列表的更新逻辑、以及最终合一得到X = [c,b,a]的完整推导路径。
内容的提问来源于stack exchange,提问作者lbarqueira
相关产品推荐
相关产品推荐

