




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站6个变态的C语言Hello World程序的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请大家用“最虔诚的态度”来阅读本文。BF语言介绍Brainfuck,是一种极小化的计算机语言,它是由Urban Mller在1993年创建的。由于“绿王八”的原因,这种语言有时被称为brainf*k或brainf*,甚至被简称为BF。这种 语言,是一种按照“Turing complete(完整图灵机)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF*k 语言只有八种符号,所有的操作都由这八种符号的组合来完成。BF基于一个简单的机器模型,除了八个指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。下面是这八种指令的描述,其中每个指令由一个字符标识:字符 含义 指针加一 +ptr; -ptr;+ +*ptr;- -*ptr;. putchar(*ptr);, *ptr =getchar(); while (*ptr) BF解释器因为 BrainFuck 只有八种指令,并且没有关键字,也不允许自定义标识符,因此它的编译器实现起来非常简单,初学 C 语言不久的人都可以自己编出来,尽管在座的各位每人都可以自己编一个,不过为了引起大家的兴趣,我这里还是给出大家一个官方发布的版本。这个程序只有短短 50 多行,并且完全由 ANSI C 写成,因此你随便找个 C 语言编译器,把它编译一下。查看源代码打印帮助01 #include ;0203 int p, r, q;04 char a5000, f5000, b, o, *s=f;0506 void interpret(char *c)07 08 char *d;0910 r+;11 while( *c ) 12 /if(strchr(“;+-,.n”,*c)printf(“%c”,*c);13 switch(o=1,*c+) 14 case ;: p+; break;16 case +: ap+; break;17 case -: ap; break;18 case .: putchar(ap); fflush(stdout); break;19 case ,: ap=getchar();fflush(stdout); break;20 case :21 for( b=1,d=c; b & *c; c+ )22 b+=*c=, b-=*c=;23 if(!b) 24 c-1=0;25 while( ap )26 interpret(d);27 c-1=;28 break;29 30 case :31 puts(“UNBALANCED BRACKETS”), exit(0);32 case #:33 if(q;2)34 printf(“%2d %2d %2d %2d %2d %2d %2d %2d %2d %2dn%*sn”,35 *a,a1,a2,a3,a4,a5,a6,a7,a8,a9,3*p+2,”);36 break;37 default: o=0;38 39 if( p;100)40 puts(“RANGE ERROR”), exit(0);41 42 r;43 / chkabort();44 4546 main(int argc,char *argv)47 48 FILE *z;4950 q=argc;5152 if(z=fopen(argv1,”r”) 53 while( (b=getc(z);0 )54 *s+=b;55 *s=0;56 interpret(f);57 58 当然,如果你觉得用C语言来实现BrainFuck语言的解释器是对BrainFuck这种语言的一种侮辱的话,我们的BrainFuck社区是绝对不能容忍你有这种想法的。因为我们有一个使用100%纯brainfuck写成的一个编译器awib:/p/awib/Hello World+ +.+.+.+.+. .+.+.怎么?看不懂吗?下面是解释:+ + + + initialize counter (cell #0) to 10 use loop to set the next four cells to 70/100/30/10 + + + add 7 to cell #1 + + + + add 10 to cell #2 + add 3 to cell #3 + add 1 to cell #4 + . print H+. print e+ + +. print l. print l+ . print o+ . print . print o+ . print r . print l . print d+. print !. print n相关链接:BF的官网:/breadbox/bf/。BF的Wikipedia:/wiki/Brainfuck。其它另类语言如果你要觉得BF已经很BT了,那么你就错了,下面这些程序语言更BT。WhiteSpace语言这是一种只用空白字符(空格,TAB和回车)编程的语言,而其它可见字符统统为注释。下面是它的一个示例:什么?你什么也没有看见,这就对了,因为这正是这门语言的独特之处。访问下面这个链接查看Hello,World示例。记得按Ctrl+A来查看程序。官网:http:/compsoc.dur.ac.uk/whitespace/index.php。LOLCODE语言LOLCODE是一种建立在高度缩写的网络英语之上的编程语言,一般来说如果一个人能理解这种网络英语就能在未经训练的情况下读懂LOLCODE程序源代码。下面是其Hello,World例程:HAICAN HAS STDIO?VISIBLE “HAI WORLD!”KTHXBYE官网:/中文编程语言不要以为只有老外才那么BT,咱们中国也有自己的BT编程语言。中文Basic中文指令 对应于的Applesoft BASIC10 卜=0 10 Y=020 入 水, 火 20 INPUT E, F30 從 日 = 水 到 火 30 FOR A = E TO F40 卜 = 卜+對數(日) 40 Y = Y + LOG (A)50 下一 日 50 NEXT A60 印 卜 60 PRINT Y官网无法访问了,只能看看Wikipedia了:/wiki/Chinese_BASIC中蟒语言(中文Python)下面的程序是不是很Cool?#!/usr/local/bin/cpython回答 = 读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化艺术市场交易平台在艺术品市场创新与产业发展中的品牌建设与营销策略研究报告
- 功能性饮料在篮球赛事中市场推广策略研究分析报告
- 2025年事业单位工勤技能-湖北-湖北公路养护工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北仓库管理员一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-浙江-浙江保育员三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南保健按摩师一级(高级技师)历年参考题库典型考点含答案解析
- 2024版标准并购协议
- 2025年事业单位工勤技能-江西-江西不动产测绘员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西造林管护工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西热力运行工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年秋季开学第一课《翻越你的浪浪山》课件
- 2025年疾控实验室生物安全及保密相关知识理论培训考试试题(含答案)
- 2025年岗前安全培训试题及答案
- 食品用纸包装容器等制品生产许可实施细则
- 光伏电站施工质量控制与安全措施
- 2025至2031年中国影视广告片行业投资前景及策略咨询研究报告
- 无人机应急处置预案
- 压力性损伤预防及处理课件
- 【2020】高中英语人教版必修一词汇 词性转换
- 自动化设备电气布线规范课件
- 双梁桥式起重机安装
评论
0/150
提交评论