项目地址: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 语法实现)
rand
如何开发本项目
$ 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
审核编辑 :李倩
-
编程语言
+关注
关注
10文章
1942浏览量
34696 -
语法
+关注
关注
0文章
44浏览量
9807 -
Rust
+关注
关注
1文章
228浏览量
6597
原文标题:[大家的项目] Rust 实现的趣味三体编程语言
文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论