如何在SICStus Prolog中模拟SWI-Prolog的atom_to_term(+Atom, -Term, -Bindings)?

2024-01-08

我正在使用 SICStus Prolog 编写 Dali 代理,我需要将原子转换为术语,但我无法使用atom_to_term内置于 SWI-Prolog


Use library(codesio) http://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/lib_002dcodesio.html:

| ?- use_module(library(codesio)).
yes
?- set_prolog_flag(double_quotes,codes).
true.
| ?- read_from_codes("a(X,Y).",T).     

T = a(_A,_B) ? yes
| ?- read_term_from_codes("a(X,Y).",T,[variable_names(VN_list)]).
T = a(_A,_B),
VN_list = ['X'=_A,'Y'=_B] ?

除此之外,你还需要atom_codes/2这是ISO。

对于更复杂的操作,您可以使用以下命令打开流open_codes_stream/2。需要关闭哪个close/1.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在SICStus Prolog中模拟SWI-Prolog的atom_to_term(+Atom, -Term, -Bindings)? 的相关文章

  • Prolog:消除查询中的重复

    我一直在尝试编写一个简单的代码 其行为方式如下 hasCoppiesOf X a b a b a b a b X a b X a b a b X a b a b a b a b And hasCoppiesOf a b a b a b a
  • Prolog - 递归列表构建

    对于我正在编写的程序 我需要创建一个列表列表 其中包含代表乘积的数字对和两个给定数字的总和 现在我有一个函数 我可以指定将列表添加到列表中的次数 稍后将使用完整功能进行扩展 这是我所拥有的 s1 0 X s1 Q X N is Q 1 mu
  • 展平列表

    尝试解决练习 07http www ic unicamp br meidanis courses mc336 2009s2 prolog problemas http www ic unicamp br meidanis courses m
  • 如何在 SWI-Prolog 中创建事实?

    我只想创建类似的东西 like x y 我已经尝试了很长时间了 真的很沮丧 谁能告诉我该怎么做 我假设您正在交互地使用 swi 并尝试输入事实会给您一个如下错误 1 like x y ERROR toplevel Undefined pro
  • 二叉树的 Herbrand 宇宙、Herbrand 基础和 Herbrand 模型(序言)

    什么是二叉树的 Herbrand 宇宙 Herbrand Base 和 Herbrand Model binary tree empty binary tree tree Left Element Right binary tree Lef
  • 如何在 Prolog 中求反

    我是 PROLOG 新手 正处于练习的开始阶段这一页 https sites google com site prologsite prolog course a first glimpse 给定规则parent X Y 和male X 我
  • Prolog 变量查询中的“\+”问题

    我正在读 七周七种语言 atm 我对一些 Prolog 查询感到困惑 我不明白对 否 的回答 The friends pl文件看起来像这样 likes wallace cheese likes grommit cheese likes we
  • Prolog 中的聊天机器人

    我一直在尝试在序言中创建一个聊天机器人 作为作业 到目前为止 我已经在 pl 文件中创建了一个数据库 并且列出了很多可能的对话 我知道序言是这样工作的 例如如果我们有 Chatbot good 然后我们输入 Chatbot good 它会回
  • YAP Prolog 中的正向链接?

    我需要在某些 Prolog 问题中使用前向链接器 我想避免使用普通元解释器从头开始实现它 但如果没有其他选项可用 这就是我必须要做的 因为使用元解释器执行此操作会很慢 而且我我确信应该有一些好的实现 有人知道 YAP 或 SWI Prolo
  • 如何在 Prolog 中为变量(如字符串)分配多个值?

    今天早些时候 我寻求帮助以在序言中构建数据库以及如何通过参数搜索 有人提出了这个 您还可以向每个处理器添加术语列表 例如 processor pentium g4400 brand intel family pentium series g
  • 如何从序言中的列表中删除列表?

    我想在序言中实现以下问题 Given L1 1 2 3 4 and L2 2 3 4 调用名为remove list L1 L2 L 的函数将从L1中删除L2 所以L将是 1 但是 如果第二个列表的元素与 L1 中的元素顺序不同 或者更准确
  • 在列表列表中查找形状

    节目说明 该计划的目的 我的程序旨在计算 20X15 大小的平面中形状的位置 我有一个形状列表 其中包含形状类型 其 ID 半径或高度以及其在平面上的预期 X Y 位置 我有一个不同的二元运算列表 仅包含形状类型 其 id 及其与另一个形状
  • 计算序言中列表的排列

    在 序言艺术 第二版中有一个问题 您应该定义一个谓词 Even permutation Xs Ys 和类似的奇数排列 当您查询时 例如 Even permutation 1 2 3 2 3 1 和 odd permutation 1 2 3
  • 以系统的方式报告 Prolog 中查询失败的“原因”

    我正在 Prolog 中寻找一种方法 模式或内置功能 我可以用它来返回why一组谓词失败 至少就数据库中的谓词而言 当用户在系统中提出查询时 我试图能够说的不仅仅是 那是错误的 例如 假设我有两个谓词 blue 1如果某物是蓝色的 则为真
  • 如何为有效号码指定 DCG?

    我正在尝试为有效数字指定 DCG 如下所示 value Number gt valid number Number 基本上检查指定的值是否是数字 它也可能是变量 因此有必要检查 我不知道如何构建这个valid number不过 DCG 谓词
  • 斜线(/)在序言中做什么?

    我有这个代码 set value X Value X T X Value T set value X Value Y V T Y V NewT X Y set value X Value T NewT set value X Value X
  • 通过递归扩展 Prolog 目标?

    我 最终 实现了一些目标 这些目标将根据开始由 开始之后 and duration 然而 计划目标仅接受规定数量的任务 我想扩展计划目标的功能以接受单个列表并在计划时迭代该列表 不幸的是 我认为这将需要与can run and 冲突目标如下
  • 使用 prolog 添加另外两次出现

    我有一个清单 a b a a a c c 我需要为每个元素添加两次以上的出现 最终结果应该是这样的 a a a b b b a a a a a c c c c 如果列表中有一个与下一个项目相同的项目 那么它会继续下去 直到出现一个新项目 当
  • Prolog中计算数字是否为素数

    我正在尝试计算输入是否是素数 但出了问题 这是我的代码 primeNumber X prime prime A 1 prime prime A B R is A mod B R 1 R A prime prime X B B lt A Ne
  • 变量的多个值介于 0 和数字序言之间

    所以我一直在尝试自学序言 我认为我进展顺利 然而 我有点坚持我正在尝试的这一种方法 toN N A A 等于 0 到 N 1 之间的整数值 按升序生成 所以 toN 5 A 将是 A 0 A 1 A 2 A 3 A 4 我对序言还很陌生 所

随机推荐

  • 推送视图控制器两次

    在我的应用程序中 我遇到以下错误 Pushing the same view controller instance more than once is not supported 这是一些用户反馈的错误报告 我们尝试复制它但不能 双击按钮
  • 如何编译 Latex 文档中 24 页的前 2 页?

    我的 Latex 作品有超过 24 页 我只需要pdf格式的摘要和简介 你怎么能只编译前两页呢 此外大卫的好建议 https stackoverflow com questions 757689 how can i compile firs
  • Dialogflow CX |如何让机器人发起对话?

    Dialogflow ES 有一个名为 WELCOME 的事件 该事件使机器人可以发起对话 如何在 Dialogflow CX 中执行相同操作 Dialogflow CX 的起始页中没有条目履行选项 Edit Delete the Defa
  • C++ 具有类内初始值设定项的成员必须是 const

    我正在尝试在我的类中创建一个静态字符串 在我的头文件中 static string description foo 但我收到此错误 IntelliSense a member with an in class initializer mus
  • 在对象数组中插入新元素并对数组进行排序

    我有一个对象数组 其中包含学生的姓名和分数 像下面这样 我如何计算每个学生的 平均 分数并比较 平均 分数以获得尖子生 我不想使用 ES6 var Students name Bob marks 78 80 89 90 68 name Al
  • Spring-Security 3/Spring MVC 和可怕的 @Secured/RequestMapping

    我在向控制器添加安全注释时遇到了很多问题 事实证明让我的控制器实现一个InitializingBean 是个坏主意 public class MyController implements InitializingBean Secured
  • 取消 PendingIntent

    在中使用 PendingIntent 时AppWidgetProvider 我使用以下代码 views setOnClickPendingIntent viewId PendingIntent getBroadcast context 0
  • 无法使用 CSS 网格定位 HTML 图例标记

    问题 出于可访问性的原因 我有一个包含多个字段集和图例标签的表单 我希望图例标签位于输入字段下方 由于我使用 CSS Grid 作为字段集 因此使其工作 在 Firefox 上 的唯一方法是为图例标签提供绝对定位 在其他浏览器中 例如 Ch
  • C++ 中具有按位数据的结构[重复]

    这个问题在这里已经有答案了 可能的重复 将位域转换为 int https stackoverflow com questions 2468708 converting bit field to int 我正在开发一个应用程序 其中一部分处理
  • 如何转储来自 JVM 堆老年代的 Java 对象?

    有没有工具可以转储旧代 JVM 堆 换句话说 我如何判断一个对象是来自年轻代还是老年代 如果您运行 Oracle JDK 或 OpenJDK 则可以使用以下命令执行此操作热点可服务性代理 http openjdk java net grou
  • 为 pygame 中的平台添加碰撞检测

    我正在开发一款小型平台游戏 您可以在其中放置块来制作一个关卡 然后玩它 我有重力 跳跃和左右移动 但我不确定如何让玩家在向左或向右移动时与墙壁碰撞 我希望它的工作方式是这样的 if key K LEFT if not block to th
  • 使用 bootstrapvalidator AJAX SubmitHandler 不起作用

    我正在使用 Bootstrap 验证https github com nghuuphuoc bootstrapvalidator https github com nghuuphuoc bootstrapvalidator 我有一个问题 s
  • 使用 JavaScript 获取变量名称

    我想创建一个日志函数 可以在其中插入变量名称 如下所示 var a 123 b abc log a b 结果在 console log 中应该如下所示 a 123 b abc 获取变量的值没有问题 但是如何获取变量名称呢 该函数应该是通用的
  • 如何使 celery 任务从任务内部失败?

    在某些情况下 我想让芹菜任务从该任务中失败 我尝试了以下方法 from celery task import task from celery import states task def run simulation if some co
  • 如何在iOS项目中控制多个导航控制器

    我的项目的结构如下 最初 当用户注册或尝试登录时 初始导航控制器应该可以工作 并且在成功注册 登录后 用户应该被带到选项卡栏控制器的第一个选项卡 但我面临的问题是我在选项卡栏视图中看到了 2 个导航栏 有人可以指导我如何以正确的方式实现这一
  • Android 偏好,是否必须是唯一的?

    For my private static final String PREFS NAME mypref 每个应用程序的 PREFS NAME 都必须是唯一的吗 或者我可以一遍又一遍地使用同一个 每个应用程序的它必须是唯一的 不同的应用程序
  • 加载数据INFILE错误代码:13

    在我的远程 MySQL 中 当我尝试执行此查询时 我收到 MySQL 错误代码 13 Query LOAD DATA INFILE httpdocs testFile csv INTO TABLE table temp FIELDS TER
  • Google Drive API V3 - 推送通知

    从昨天早上开始 我就被谷歌驱动器 API 请求困住了 正如这里所解释的 https developers google com drive api v3 push https developers google com drive api
  • JPA 和泛型

    我想知道带有泛型的抽象类如何处理 JPA 我的意思是该字段需要什么样的注释 考虑这些 MappedSuperclass public abstract class AbstractMyClass
  • 如何在SICStus Prolog中模拟SWI-Prolog的atom_to_term(+Atom, -Term, -Bindings)?

    我正在使用 SICStus Prolog 编写 Dali 代理 我需要将原子转换为术语 但我无法使用atom to term内置于 SWI Prolog Use library codesio http sicstus sics se si