SOF 解释器 · 2.05 与 2.04 LTS

SOF(Stackless Operand Framework)是一款轻量级、图灵完备的解释型语言,支持大整数、磁带存储和结构化编程。
当前稳定版本:2.05 Opaque Relay(常规)及 2.04 LTS Irritable Joker(长期支持)。

下载 SOF 更新日志

许可证信息
SOF 解释器采用 SCULv2(Screw Commercial Use License) 发布。
此许可证 禁止任何形式的商业使用(包括直接或间接盈利),仅允许个人学习、研究、内部非营利性活动以及内容创作(打赏除外)。
如需商业授权,请联系作者获取单独许可。

实现与语法

SOF 解释器由 C 编写,依赖 GMP 库实现任意精度整数运算。语法混合了汇编与高级语言风格,包含 DEF(函数)、LOP/POL(循环)、IF/ELS/FI(分支)以及 GET/PUT(磁带存储)等指令。

示例:计算 1 到 10 的累加和

SET sum = 0 SET i = 1 LOP 10 MOV sum = sum + i MOV i = i + 1 POL OPT sum

完整语法请参阅 语言参考手册

版本发布

2.04 LTS Irritable Joker

  • 首个长期支持(LTS)版本,提供稳定 API
  • 语法进一步扩展,增强图灵完备性
  • 性能较上一版本提升约 20%
  • 新增 BRK(跳出循环)和 CON(继续循环)

详细变更日志 →

2.05 Opaque Relay

  • 优化解释器性能,修复已知解析器错误
  • 扩展函数定义指令(DEF)

详细变更日志 →

使用 sof update 命令获取最新版本。

SOF Pro(商业版本)详情请访问 sof.ccwu.cc/pro

核心语法元素

变量与赋值

SET x = 10(初始化)
MOV x = 20(重新赋值)
MOV x += 5(自增)

控制流

IF cond ... ELS ... FI
LOP count ... POL(有限循环)
LOP INF ... POL(无限循环)
BRK / CON

函数

DEF name ... FED(定义)
通过函数名直接调用(如 myfunc
支持递归

磁带操作

GET dest = index(读取)
PUT index = value(写入)
索引与值均为任意精度整数

社区与支持

SOF 的源代码托管于 GitHub,但根据 SCUL 许可证,禁止商业使用。欢迎提交 Bug 报告和功能建议,但请注意所有贡献将遵循相同许可证。

文档

完整的语法规范、标准库和示例程序。

阅读文档 →

讨论

官方论坛与邮件列表,用于技术交流与答疑。

参与讨论 →

商业授权

如需将 SOF 用于商业项目,请通过 联系页面 获取商用许可证。