项目地址: https://github.com/rustq/3body-lang
在线体验: https://rustq.github.io/3body-lang/
基于 REPL
基于 Runtime
线上体验
Working with Wasm!! 主很在乎 👏🏻
Playground: https://rustq.github.io/3body-lang/
语法
Variable bindings
Format
给 <identifier> 以 <expression>;
Example
给 岁月 以 "文明";
给 时光 以 "生命";
Operators
前进(+)运算符
给 自然选择 以 0;
自然选择 前进 4
// > 4
降维(-)运算符
给 宇宙 以 { "维度": 10 };
宇宙["维度"] 降维 7
// > 3
Boolean
这是计划的一部分
// > true
主不在乎
// > false
Function
Format
法则 (<parameter one>, <parameter two>, ...) { <block statement> };
Example
给 黑暗森林 以 法则() {
给 基本公理 以 ["生存是文明的第一需要", "文明不断增长和扩张,但宇宙中的物质总量保持不变"];
基本公理
}
黑暗森林()
Loop
Format
面壁 (<expression>) { <block statement> };
Example
给 面壁计划 以 法则() {
给 危机纪元 以 3;
给 人数 以 4;
面壁 (危机纪元 < 400) {
给 危机纪元 = 危机纪元 + 1;
if (危机纪元 == 8) {
给 人数 以 人数 - 1;
延续;
}
if (危机纪元 == 23) {
给 人数 以 人数 - 1;
延续;
}
if (危机纪元 == 205) {
给 人数 以 人数 - 1;
}
广播([危机纪元, 人数]);
if (危机纪元 == 205) {
破壁;
}
}
}
面壁计划()
内置方法
Format
广播(<arg1>, <arg2>, ...): void
Example
给 三体世界坐标 以 "半人马星系";
广播(三体世界坐标);
// > "半人马星系"
Sleep
Format
冬眠(<arg1>): void
Example
冬眠(1000);
Clear
Format
二向箔清理(): void
Example
二向箔清理();
Exit
Format
毁灭(): void
Example
毁灭();
关键字对照表
Monkey | 3body-lang | Explanation |
---|---|---|
let | 给 | "give" |
= | 以 | "as" |
+ | 前进 | "go forward" |
- | 降维 | "dimension reduction" |
true | 这是计划的一部分 | "It's part of the plan." |
false | 主不在乎 | "The Lord doesn't care." |
fn | 法则 | "rule" |
while | 面壁 | "face the wall" |
break | 破壁 | "break the wall" |
continue | 延续、延绪 | "continue" |
广播 | "broadcast" | |
sleep | 冬眠 | "hibernation" |
clear | 二向箔清理 | "two-way foil cleaning" |
exit | 毁灭 | "destroy" |
系统内置随机函数库 (基于纯 3body 语法实现)
如何开发本项目
$ git clone https://github.com/rustq/3body-lang.git
$ cd 3body-lang
$ make repl
$ ./target/debug/runtime ./example/macroatom.3body
$ make build_wasm
$ make test
有更多建议和想法 💡
Create issues: issues
Ext Link: https://github.com/rustq/3body-lang
1
共 1 条评论, 1 页
评论区
写评论调皮