奇怪的计算机语言

  这个计算机语言我刚刚在网上发现,也不知道是哪个聪明的、爱做出圈事的编程高手发明的。它类似一种机器语言,跟古董,写一个“Hello World”都要写一堆的括号、加减好等等的符号。
这种计算机语言的编译器你自己也可以写出来,官方给出如下代码(用C语言编写)
#include <stdio.h>;

int  p, r, q;
char a[5000], f[5000], b, o, *s=f;

void interpret(char *c)
{
        
char *d;

        r
++;
        
while*c ) {
                
//if(strchr("<>;+-,.[]\n",*c))printf("%c",*c);
                switch(o=1,*c++{
                
case '<': p--;        break;
                
case '>;': p++;        break;
                
case '+': a[p]++;     break;
                
case '-': a[p]--;     break;
                
case '.': putchar(a[p]); fflush(stdout); break;
                
case ',': a[p]=getchar();fflush(stdout); break;
                
case '[':
                        
for( b=1,d=c; b && *c; c++ )
                                b
+=*c=='[', b-=*c==']';
                        
if(!b) {
                                c[
-1]=0;
                                
while( a[p] )
                                        interpret(d);
                                c[
-1]=']';
                                
break;
                        }

                
case ']':
                        puts(
"UNBALANCED BRACKETS"), exit(0);
                
case '#':
                        
if(q>;2)
                                printf(
"%2d %2d %2d %2d %2d %2d %2d %2d %2d %2d\n%*s\n",
                                       
*a,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],3*p+2,"^");
                        
break;
                
default: o=0;
                }

                
if( p<0 || p>;100)
                        puts(
"RANGE ERROR"), exit(0);
        }

        r
--;
//        chkabort();
}


main(
int argc,char *argv[])
{
        FILE 
*z;

        q
=argc;

        
if(z=fopen(argv[1],"r")) {
                
while( (b=getc(z))>;0 )
                        
*s++=b;
                
*s=0;
                interpret(f);
        }

}

之后,把这个程序编译成EXE文件,然后写下如下代码:
>;+++++++++[<++++++++>;-]<.>;+++++++[<++++>;-]<+.+++++++..+++.[-]>;++++++++[<++++>;-]
<.#>;+++++++++++[<+++++>;-]<.>;++++++++[<+++>;-]<.+++.------.--------.[-]>;++++++++[
<++++>;-]<+.[-]++++++++++.
这就是传说中的“Hello World!”。


原文地址:https://www.cnblogs.com/empty/p/1242398.html