设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

没有代码的编程语言:Folders

2015-3-6 22:00| 发布者: joejoe0332| 查看: 825| 评论: 0|原作者: 程序师|来自: 程序师

摘要: 之前我们介绍过“Whitespace”编程语言,这是一种很奇葩的编程语言,在“Whitespace”编程语言中,任何非空白的字符都是被忽略的,只有空格符,tab和换行符被认为是有效的语义字符。也就是说,你可以把用“Whitespac ...

  之前我们介绍过“Whitespace”编程语言,这是一种很奇葩的编程语言,在“Whitespace”编程语言中,任何非空白的字符都是被忽略的,只有空格符,tab和换行符被认为是有效的语义字符。也就是说,你可以把用“Whitespace”编程语言编写的代码藏在其他的文本、代码中,具有隐形代码的效果。


  而今天要说的这种语言更是奇葩,它叫做 Folders ,顾名思义,这种语言没有代码,也没有代码文件,这种语言的代码就是操作系统的目录结构。


  事实上,文件系统目录结构跟普通编程语言的过程结构非常相似,它就像各种的语法树,在“Folders”编程语言中,代码的结构就是这样的,代码命令通过目录结构和其包含的子目录的名称构成。


  比如,下面就是一个“Hello,World”程序:


tumblr_inline_niucicPBBF1qaohdj


它是如何运行的?

  这最外层的目录是程序的名称,“Hello World”。目录的读取是按目录顺序,这段程序的第一层子目录是“Setup”。“Setup”是打印命令的别称;下面有张表描述了各种名称代表的语义,这些名称区分于Windows系统里最常见的那些目录名,比如“Program files”。

tumblr_inline_niucinYgO41qaohdj


  接着,目录里出现了很多“Img”目录,名称中的 “(2),” “(3),”等数字是忽略不计的,它们用来区分同一目录下多个相同的目录。” – Copy”这样的字符也是忽略不计的(这些字符是拷贝目录时Windows自动加入的)。而目录名称前打头的数字是程序员用来控制程序流程的。

下面是一个样例:

New folder (2)
New folder - Copy
New folder - Copy (2)
If
if
10 if
if - Copy (1)
etc.


  字符串“Hello, World!”被分成了四段,这样可以让语义看起来更加清晰好读。”%20“是空白符的意思。


  ”Folders“是一种面向词汇的编程系统,这是跟其它大多数的面向逻辑的编程系统的重要区别。”Folders“目录里可以放各种的文件,但这些文件是忽略不计的。


  下面是一个用”Folders“编程语言编写的“99 Bottles of Beer”程序。“99 Bottles of Beer”通常是用来表达最简单的运用循环和变量的代码例子,请注意下面一个对于有空格和逗号的特殊处理:

tumblr_inline_niucj08diK1qaohdj


  目前,”Folders“编程语言只支持Windows平台。它的代码解析器是开源的,你可以在github上找到它。https://github.com/rottytooth/Folders


酷毙

雷人

鲜花
1

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部