項目地址: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文章
1950瀏覽量
34905 -
語法
+關注
關注
0文章
44瀏覽量
9850 -
Rust
+關注
關注
1文章
230瀏覽量
6641
原文標題:[大家的項目] Rust 實現的趣味三體編程語言
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論