沒有代碼的編程語言:Folders

jopen 9年前發布 | 4K 次閱讀 Folders

之前我們介紹過“Whitespace”編程語言,這是一種很奇葩的編程語言,在“Whitespace”編程語言中,任何非空白的字符都是被忽略的,只有空格符,tab和換行符被認為是有效的語義字符。也就是說,你可以把用“Whitespace”編程語言編寫的代碼藏在其他的文本、代碼中,具有隱形代碼的效果。

而今天要說的這種語言更是奇葩,它叫做 Folders ,顧名思義,這種語言沒有代碼,也沒有代碼文件,這種語言的代碼就是操作系統的目錄結構。

事實上,文件系統目錄結構跟普通編程語言的過程結構非常相似,它就像各種的語法樹,在“Folders”編程語言中,代碼的結構就是這樣的,代碼命令通過目錄結構和其包含的子目錄的名稱構成。

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

沒有代碼的編程語言:Folders

它是如何運行的?

這最外層的目錄是程序的名稱,“Hello World”。目錄的讀取是按目錄順序,這段程序的第一層子目錄是“Setup”。“Setup”是打印命令的別稱;下面有張表描述了各種名稱代表的語 義,這些名稱區分于Windows系統里最常見的那些目錄名,比如“Program files”。

沒有代碼的編程語言:Folders

接著,目錄里出現了很多“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”通常是用來表達最簡單的運用循環和變量的代碼例子,請注意下面一個對于有空格和逗號的特殊處理:

沒有代碼的編程語言:Folders

目前,”Folders“編程語言只支持Windows平臺。它的代碼解析器是開源的,你可以在github上找到它。https://github.com/rottytooth/Folders

來源:程序師

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!