0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Rust实现的趣味三体编程语言

jf_wN0SrCdH 来源:Rust语言中文社区 2023-03-28 09:31 次阅读

项目地址:https://github.com/rustq/3body-lang

在线体验:https://rustq.github.io/3body-lang/

基于 REPL

ce824588-ccf7-11ed-bfe3-dac502259ad0.png

基于 Runtime

ce9bf99c-ccf7-11ed-bfe3-dac502259ad0.png

线上体验

cebca4ee-ccf7-11ed-bfe3-dac502259ad0.png

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) { 破壁; } } } 面壁计划()

内置方法

Print

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"
print 广播 "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语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何使用Rust语言和paho-mqtt模块实现MQTT协议

    模块实现MQTT协议,并重点介绍LWT特征。 Rust是一种系统级编程语言,它的主要特点是安全、高效、并发。Rust编译器会在编译时进行内存
    的头像 发表于 09-19 14:41 1958次阅读

    如何使用Rust语言和rumqttc模块实现MQTT协议的异步API

    的系统编程语言,非常适合开发物联网设备和后端服务。本教程将介绍如何使用Rust语言和rumqttc模块实现MQTT协议的异步API,并提供几
    的头像 发表于 09-19 14:45 2409次阅读

    基于Rust语言Hash特征的基础用法和进阶用法

    Rust语言是一种系统级编程语言,具有高性能、安全、并发等特点,是近年来备受关注的新兴编程语言
    的头像 发表于 09-19 16:02 1434次阅读

    如何在Rust中使用Memcached

    Memcached是一种高性能、分布式的内存对象缓存系统,可用于加速动态Web应用程序。Rust是一种系统级编程语言,具有内存安全、高性能和并发性等特点。Rust
    的头像 发表于 09-19 16:30 1231次阅读

    Rust语言如何与 InfluxDB 集成

    Rust 是一种系统级编程语言,具有高性能和内存安全性。InfluxDB 是一个开源的时间序列数据库,用于存储、查询和可视化大规模数据集。Rust
    的头像 发表于 09-30 16:45 1148次阅读

    基于Rust语言中的生命周期

    Rust是一门系统级编程语言具备高效、安和并发等特,而生命周期是这门语言中比较重要的概念之一。在这篇教程中,我们会了解什么是命周期、为什么需要生命周期、如何使用生命周期,同时我们依然会
    的头像 发表于 09-19 17:03 895次阅读

    Rust的多线程编程概念和使用方法

    Rust是一种强类型、高性能的系统编程语言,其官方文档中强调了Rust的标准库具有良好的并发编程支持。Thread是
    的头像 发表于 09-20 11:15 956次阅读

    Rust 语言中的 RwLock内部实现原理

    Rust是一种系统级编程语言,它带有严格的内存管理、并发和安全性规则,因此很受广大程序员的青睐。RwLock(读写锁)是 Rust 中常用的线程同步机制之一,本文将详细介绍
    的头像 发表于 09-20 11:23 860次阅读

    在Aurix Tc375Lk上使用Rust编程语言可以吗?

    您好,如果我想在 Aurix Tc375Lk 上使用 Rust 编程语言,可以吗?如果是,链接 rust 编译器 ADS 和 freetoolchain 的步骤是什么?你有在 ADS
    发表于 05-17 13:42

    C语言趣味程序百例精解

    其他编程语言——C语言趣味程序百例精解,感兴趣的小伙伴可以看一看。
    发表于 11-03 15:50 0次下载

    微软开发基于Rust的新编程语言,将很快开源

    此前,微软表示正探索将Rust作为C和C++的安全替代方案,并且也对外展示了使用Rust重写Windows组件的体验,根据微软的说法,Rust是一种从根本上考虑安全性的编程
    的头像 发表于 12-03 10:36 3911次阅读

    微软正在研发基于Rust新的安全编程语言

    为提高 Windows 10 的安全性,微软研究人员 Matthew Parkinson 在本周的一次演讲中披露:微软正基于 Rust 开发新的安全编程语言
    的头像 发表于 12-06 16:36 3205次阅读

    基于Rust 编程语言的小游戏程序实例

    在编写程序之前你的电脑必须先安装好 Rust 的基础开发环境,并且有 Cargo 支持,如果你是其他编程语言转过来的例如 C、 Java 、Python 、JavaScript 、Swift 等
    发表于 12-15 10:53 1831次阅读

    适合嵌入式设备开发的编程语言Rust语言

    Rust语言是二十一世纪的语言新星。Rust被人广泛承认的一点,就是因为它能运行在多样的目标上,从桌面和服务器设备,到资源有限的嵌入式设备。
    发表于 09-12 09:39 2957次阅读
    适合嵌入式设备开发的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>—<b class='flag-5'>Rust</b><b class='flag-5'>语言</b>

    基于Rust开发的编程语言

    Move 是一门由 Rust 语言开发的一门面向资产的编程语言,最早由 Facebook (现 Meta )投入大量的人力物力开发,用于 Libra (现 Dime )项目,处理全球性
    的头像 发表于 11-17 12:30 670次阅读