脑干:一种程序设计语言

———————-先闲聊几句———————-

前两天新闻里说有个老外造了一个机器,放在大街上,其功能就是赞美过路的人。 再早些日子有人在大街上举着免费拥抱的牌子和人拥抱。 于是:我想造一台会拥抱人的机器,和去大街上举“免费赞美”的牌子赞美别人。

———————-以下是技术冷———————-

脑干这个名字是非官方的译名,其英文名叫做 brainfuck

brainfuck是一个超级简化的编程语言,整个语言只有+-<>.,[]八个命令,通过操作内存
来进行运算。八个命令的意义分别如下:
brainfuck       解释            C中等价语句
    +       指针所指自加         ++*ptr
    –       指针所指自减         –*ptr
    <       指针左移一位         –ptr
    >       指针右移一位         ++ptr
    .       输出指针所指字符     putchar(*ptr)
    ,       读入字符到指针所指   *ptr = getchar()
    [       循环开始            while(*ptr){
    ]       循环结束            }

下面是一个用brainfuck写出的Hello World(//后面是注释)
++++++++++
[>+++++++>++++++++++>+++>+<<<<-] //设定初值
>++.                             //输出 ‘H’
>+.                              //输出 ‘e’
+++++++.                         //输出 ‘l’
.                                //输出 ‘l’
+++.                             //输出 ‘o’
>++.                             //输出 ‘ ‘
<<+++++++++++++++.               //输出 ‘W’
>.                               //输出 ‘o’
+++.                             //输出 ‘r’
——.                          //输出 ‘l’
——–.                        //输出 ‘d’
>+.                              //输出 ‘!’
>.                               //输出 ‘n’

当然,由于brainfuck除了+-<>.,[]什么字符都忽略,所以你可以把上面的程序写在一起来吓唬人:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.

《脑干:一种程序设计语言》有4个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注