沒有代碼的程式設計語言:Folders

來源:互聯網
上載者:User

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

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

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

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

它是如何啟動並執行。

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

接著,目錄裡出現了很多“Img”目錄,名稱中的 “(2),” “(3),”等數字是忽略不計的,它們用來區分同一目錄下多個相同的目錄。” – Copy”這樣的字元也是忽略不計的(這些字元是拷貝目錄時Windows自動加入的)。而目錄名稱前打頭的數字是程式員用來控製程序流程的。下面是一個範例:

New folder (2)New folder - CopyNew folder - Copy (2)Ifif10 ifif - Copy (1)etc.

字串“Hello, World!”被分成了四段,這樣可以讓語義看起來更加清晰好讀。”%20“是空白符的意思。

”Folders“是一種面向詞彙的編程系統,這是跟其它大多數的面向邏輯的編程系統的重要區別。”Folders“目錄裡可以放各種的檔案,但這些檔案是忽略不計的。

下面是一個用”Folders“程式設計語言編寫的“99 Bottles of Beer”程式。“99 Bottles of Beer”通常是用來表達最簡單的運用迴圈和變數的代碼例子,請注意下面一個對於有空格和逗號的特殊處理:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.