MiniParcel
标签:Utility, Program RFC:RFC 194
(此处需要语法文档,以便快速参考!)
MiniParcel(派生自 “Parcel NExT”,发音:/ˈmɪniˌpɑːrˈsɛl/ 或 /ˈmɪniˌpɑrˈsɛl/)是一种用于 Divooka 的微型文本语言,可用于图编辑器自动化、Shell(进程)自动化、简单的脚本编写、方便复制粘贴 Divooka 子图,以及以文本方式轻松描述 Divooka 程序。
MiniParcel 既指这种声明式 DSL 语言,也指一个解析器程序。有关语言规范和标准行为,请参阅 Divooka 开放标准(Divooka Open Standards,编写中,条目尚待创建)。MiniParcel 很智能——许多凭直觉预期的行为都会如预期般工作,也可以通过特定指令将其显式化。
MiniParcel 有几种不同的功能:
- 以解释方式使用时,它只是逐条执行语句并创建一个本地状态(用于变量)——此过程可能需要也可能不需要预先解析为 Zora 文档(不过预解析肯定有助于预先收集和加载所有需要的包)。
- 它是一种基于文本的 Zora 节点图程序规范格式,此时其预期用途是被直接解析为 Zora 文档。
规范
目标:
- 超级“智能”——无需 AI!能够自动知道(在不存在语义歧义时)应使用当前系统中可用的哪个节点。
- 可以包含过程式元素——但大部分只是顺序命令和函数式处理。
- 它应当非常自然,用起来就像使用 Zora/节点图编辑器,并且能够处理低层 API 访问(如节点图)和进程级自动化(因为这真的很简单)——全部以命令的形式。
提案:
- 支持
Jump命令和Tag:语法。
用法摘要
以下提供使用方法的快速参考:
- 完全限定或简化的类/函数目标路径(需要
using)。 - 许多上下文名称会在首次遇到时被默认导入(解包)/使用,包括 Parcel 标准库中的所有函数,以及开发时添加的 Parcel 原生框架列表。
unpack(package/module/framework/path):预加载函数列表。using namespace/type:允许在后续代码中简化寻址。- 关键语法:
NodeName = TargetPath [ParameterName:]ParameterValue....,其中Parameter value可以是对先前定义的节点的引用。
(待从 MiniParcel 单元测试中迁移部分示例到此处,以供参考)