Skip to content

Latest commit

 

History

History
176 lines (106 loc) · 4.59 KB

navm_cmd.md

File metadata and controls

176 lines (106 loc) · 4.59 KB

NAVM指令 Cmd

🔙概念

📃源码

  • 🎯用以表示CIN常用的输入方式
    • 📄如「输入Narsese」「推理器步进」等
  • 🎯便于架设一个「前后端」解析执行架构
    • 📌可统一各CIN实现的输入形式
      • 前端:处理各类输入(例如终端、脚本)数据,将其翻译成中间语(NAVM指令)
      • 后端:处理中间语对象,将其翻译成对应CIN命令

类别和语义

📍最后更新:【2024-04-10 15:12:04】

分类的整体原则

NAVM指令具有多种不同类型,其设计遵循以下原则:

  • 📌普遍:在多种主要CIN版本中(以某种语义共通的形式)普遍存在
  • 📌完备:能无损对应原CIN的各类输入(一般用于已构建的现有CIN)
  • 📌易用:能以统一格式表示其中所涉及的Narsese、循环步进

⚠️实现完整性:NAVM指令目前仅部分有完善、确定的用法

  • 目前最常用的几种指令
    • NSE 输入Narsese
    • CYC 推理循环步进
    • VOL 设置输出音量
    • REM 注释
  • 其它指令有待建立足以跨CIN的使用规范

具体类别

基于以上原则,NAVM指令分类如下:

(用「✏️」表示字段名,「📄」表示CIN输入用例)

SAV

Save | 保存当前数据到文件

  • ✏️目标:字符串 | 被保存的对象(记忆区、经验历史、缓冲区等)
  • ✏️路径:字符串 | 对象将被保存到的路径(文件路径等)

⚠️尚未形成规范

LOA

Load | 从文件加载数据

  • ✏️目标:字符串 | 要加载到的对象(记忆区、经验历史等)
  • ✏️路径:字符串 | 对象将从何许路径加载(文件路径等)

⚠️尚未形成规范

RES

Reset | 重置CIN数据

  • ✏️目标:字符串 | 要重置的对象(记忆区、经验历史等)

  • 重置路径

⚠️尚未形成规范

NSE

Narsese | 输入Narsese语句

  • ✏️词法Narsese任务 | 要输入进CIN中的Narsese任务(对「语句」可使用空预算以模拟)

NEW

New | 创建新推理器

  • ✏️目标:字符串 | 推理器名称

📄自PyNARS迁移而来:ConsolePlus中的/new指令

⚠️尚未形成规范

DEL

Delete | 删除(停止)推理器

  • ✏️目标:字符串 | 推理器名称

📄自PyNARS迁移而来:ConsolePlus中的/delete指令

⚠️尚未形成规范

CYC

Cycle | 控制推理器步进

  • ✏️正整数 | CIN步进的推理循环步长
  • 📄OpenNARS: 5
  • 📄OpenJunars: :c 5

VOL

Volume | 控制CIN输出音量,用以屏蔽

  • ✏️正整数 | 输出音量,通常为0~100,0=静音(仅回答、操作等),100=最大音量(允许所有次要结论展示)
  • 📄OpenNARS: *volume=0
  • 📄ONA: *volume=0

REG

Register | 向CIN注册操作符(NAL-8),用以定制CIN的操作机制

  • 📄ONA: *setopname 1 ^left

  • 📄PyNARS: /register left

  • ✏️名称:字符串 | 要被注册的操作符名称

INF

Information | 让CIN输出某类信息

  • ✏️来源:字符串 | 要从中获取信息的来源(推理器、记忆区、缓冲区等)

⚠️尚未形成规范

HLP

Help | 打印(CIN的)帮助文档

  • ✏️名称:字符串 | 要查询的条目名称

⚠️尚未形成规范

REM

Remark | 注释,一般不会被CIN执行;即便执行了也不会对推理过程产生影响

  • ✏️注释:字符串 | 注释中所含内容
  • 📄OpenNARS: 'the detective claims that tim lives in graz

Custom

Custom | 自定义,可用于对接一些CIN特别存在的「魔法输入」

  • ✏️指令头:字符串 | 自定义指令的指令头(纯大写)
  • ✏️指令内容:字符串 | 自定义指令的内容

⚠️未有规范,一般仅被特定CIN(转译器)支持

基本语法

📍最后更新:【2024-04-10 15:11:54】

NAVM指令采用类似汇编语言【指令头】 【指令内容】…的语法格式

  • 🎯旨在平衡可读性与性能

所有类型指令的语法:

指令类型 语法
SAV SAV 【目标】 【路径】
LOA LOA 【目标】 【路径】
RES RES 【目标】
NSE NSE 【CommonNarsese 语句/任务】
NEW NEW 【名称】
DEL DEL 【名称】
CYC CYC 【步数】
VOL VOL 【音量】
REG REG 【操作符名】
INF INF 【来源】
HLP HLP 【名称】
REM REM 【单行注释】
Custom 【任何表外指令头】 【任何单行内容】