3 个版本 (破坏性)

0.3.0 2019年11月3日
0.2.0 2019年10月31日
0.1.0 2019年10月31日

#922 in 编程语言

每月下载 23

MIT 许可证

56KB
1.5K SLoC

rpiet,用 Rust 编写的 piet 解释器 🖼

piet 是一种将图像文件作为可执行文件执行的 esoteric 编程语言。这是一个用 Rust 编写的 piet 解释器。

Composition with Red, Yellow and Blue. 1921, Piet Mondrian.

红色、黄色和蓝色的组合。1921,皮埃特·蒙德里安。

Piet 是一种编程语言,旨在将图像处理成类似艺术家 皮埃特·蒙德里安 的可执行文件。了解更多关于图像执行的信息,请访问 Piet 主页

安装和使用

使用 cargo(Rust 软件包管理器)安装 rpiet。这需要安装最新的 Rust。

cargo install rpiet

然后运行 GIF 或 PNG 图像

rpiet sample_images/hello_world_globe.png

或者使用

rpiet --help

可以

  • 指定代码大小(-c--codel-size <codel_size>
  • 限制解释器在图像中执行的最大步数(---max-steps <max_steps>
  • 打印调试信息(---verbose),允许用户看到解释器在图像中采取的路径

此软件包的状态

可以在其中运行 Piet 程序(我已经验证了来自 Piet 主页的几个程序),请报告您发现的任何错误——规范有些宽松:)

输入处理目前并不严格符合规范。我们读取输入行——规范在这里不是很详细,但我认为我们应该只读取必要的字节(InChar -> 一个字节,InNum -> 构成一个有效数字所需的所有字节,但不能更多)。

手动测试了二进制文件,但我们还没有自动化测试。此外,代码文档很少。

贡献

欢迎在 GitHub 上提交错误报告和拉取请求 https://github.com/tessi/rpiet。此项目旨在成为安全、友好的合作空间,贡献者应遵守 贡献者公约 行为准则。

许可证

该软件包以开源形式提供,遵循MIT许可证

行为准则

所有在rpiet项目代码库、问题跟踪器、聊天室和邮件列表中互动的人预期遵守行为准则

依赖项

~1.5MB
~18K SLoC