2个稳定版本
1.0.1 | 2019年8月15日 |
---|---|
1.0.0 | 2019年8月14日 |
755 在 编程语言 中排名
每月下载量:39
在 mbi 中使用
17KB
244 行
Rust语言中的Malbolge解释器
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#" CB]V?Tx<uVtT
Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
这是怎么回事?
那正是Malbolge中的Hello World。
你所看到的是一种比所有现有语言都要糟糕的语言。它的神秘程度超过Brainfu*k,甚至比它的朋友Befunge更难阅读和编写。
Malbolge是一种自修改的编程语言,旨在故意难以编程且几乎无法阅读。尽管有些研究人员为其辩护,但你可能无法确定仅此代码就能打印出'Hello!'。
(=<`#9]76Z{z2V0/S-Qr*)M:,+*)('&%$#"!~}|{z(Kw%$t"Vq0iAm,,j<h'`%
Hello!
此实现是用纯Rust编写的,并从C和Java参考实现中移植而来,能够执行用Malbolge编写的程序。
这是UNIX cat
程序的Malbolge实现。
(=BA#9"=<;:3y7x54-21q/p-,+*)"!h%B0/.
~P<
<:(8&
66#"!~}|{zyxwvu
gJ%
还提供了一个宏,可以使用原始字符串字面量传入原始的Malbolge二进制文件。
这是打印Hello!的相同程序。
malbolge!(r#"(=<`#9]76Z{z2V0/S-Qr*)M:,+*)('&%$#"!~}|{z(Kw%$t"Vq0iAm,,j<h'`%"#);
请参阅示例以获取更多非平凡的Malbolge程序。
在Malbolge中编程
我不知道为什么有人会想这样做,但我猜你真的很想知道,所以下面是解释。
多年来众所周知,Malbolge几乎不可能编程。在上述'Hello World'程序能够运行之前,Malbolge的第一个有效程序是通过8年的试错和暴力破解找到的。
为什么?
因为我可以,你应该也可以。
示例
请参阅 示例 文件夹,以了解如何通过解释器运行这些程序。
构建
使用此命令构建。
cargobuild
测试
cargotest
许可证
GPLv3+