将C语言编译成Brainfuck(用于骚扰教授)?

32
我的一位教授说他将接受我们用任何语言提交的作业。我和他关系很好,想调侃他并提交一个使用brainfuck、whitespace或者其他同样"有用"的语言编写的有效作业。
我有几个简单的数值分析例程的C源代码以及它们生成的编译输出和汇编文件。
有人知道是否有反编译器(或C-> brainfuck转换器),可以给我类似于"brainfuck源代码"的东西吗?

6
我完全同意Belisarius的观点,并且我认为提交机器生成的代码并不能算作用你所选的任何编程语言完成作业任务。如果我是你的老师,我会给你一个差评。 :-) - R.. GitHub STOP HELPING ICE
@Sevenless 是一样的。只需在编译版本中包含源文件的压缩版本,就可以实现即时反编译语言。 - Dr. belisarius
3
学习 APL 或 J :) 这些都是非常“有用”的编程语言。请记住,不要改变原意,尽可能让翻译更加通俗易懂。 - user166390
25
你应该用Postscript写出答案——教授可以在他的激光打印机上运行它。 - caf
Postscript 是我最喜欢的编程语言之一。 - alex tingle
我只是想适当地回复一下给我发了一个用汇编语言写的生日时钟的人;)。无论如何,这个链接(http://esolangs.org/wiki/C2BF)可能会有所帮助... - ntg
3个回答

21

只需使用APLJ

与BF不同,它们实际上是为了“有用”(而不是“像BF一样有用”)的目的而设计的 - 但可以轻松地使Perl代码高尔夫条目看起来像小说。(享受这些语言所需的奉献精神和心理训练目前超出了我的技能/努力水平。)

如果目标是使用纯粹的奇怪语言,我一直喜欢Piet程序的外观。它看起来更漂亮,实际上能够解决常见的计算机科学作业问题。跟随链接将显示“Piet汇编器”和其他工具。赢取胜利。

愉快的编码。


5
看看这个网站 http://www.matthias-ernst.eu/piet/ ... 是Piet语言的BF解释器! - Dr. belisarius
1
@belisarius 美妙的艺术 -- 我无法理解其他人的思维 :) - user166390
1
J是令人难以置信的。http://beust.com/weblog/2008/08/28/coding-challenge-wrap-up/ - JCasso

12

就我所知,我刚刚写了一个非常简单的Brainfuck汇编器(实际上是受这篇Stack Overflow帖子的启发),它可以将可读的源代码(不是C语言,只是一些简单且匿名的东西)转换为BrainFuck。源代码和编译/使用说明可以在此处找到:BrainFuck Assembler

编辑:该项目最近以新名称进行了更新:BrainFix

编辑2:我重新制作了整个项目。这个新的、改进版有很多特性,并且可以在Github上获得。


1
我想看一下,但是...考虑到当前SourceForge的可用性,我建议你也在其他地方复制你的工作。 - philippe lhardy
1
@philippelhardy,我花了几年时间才采纳了您的建议,从头开始,并将其托管在Github上现在;-) - JorenHeit

3
一次快速的谷歌搜索可以找到(一个)Brainfuck网站,它链接到一个包含“所有Brainfuck东西”的归档。我怀疑是否有任何C->brainfuck翻译器存在,因为我认为没有人会投入那么多时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接