概述
Cirru是一套基於縮進語法制定的程式語言語法.參考了一些流行縮進語法比如Haskell,CoffeeScript等進行了簡化.通過圓括弧,縮進,引號,逗號,美元符號和空白,構成了整個的文本.Cirru的文法還跟圖形上的語法樹對應,使得Cirru的執行過程非常清晰.此外Cirru也實現了代碼格式化,文本高亮等等方便開發者使用的工具.
歷史
Cirru最早的代碼在是2012年4月末開始寫的,當時王垠發表了文章思考Unix中字元串存在的問題的文章,引發了相關的思考,Cirru最初被定位為半圖形化的編輯器,在網頁里編輯,代碼能夠自動進行排版.然而作為圖形化編輯器,經歷了幾個版本依然不能達到文本編輯器所擁有的流暢.
受限於Cirru圖形化編輯器的複雜度,基於文本的方案在2012年9月份開始綢繆,2013年第四季度才發布可用版本,2014年五月初穩定文本的Cirru解釋器代碼才完成.同時GitHub也開始識別Cirru後綴.Cirru的語法高亮此前陸續在一些輕量級的文本編輯工具和語法高亮外掛程式中出現.
文法
Cirru的語法基於一些簡單的規則:
1. 使用兩格空格對代碼進行縮進
2. 使用圓括弧標記代碼的嵌套情況,但是括弧不能夠跨行
3. 使用雙引號標記字元串,內部可以使用反斜線進行轉義
4. 使用美元符號標記當前表達式隨後代碼都被嵌套進一個表達式
5. 使用逗號在表達式開頭標記當前表達式要展開到外層表達式
圖形化編輯
Cirru的圖形化編輯器,代碼可以作為HTML打開.編輯時,代碼將會根據Cirru表達式自身的嵌套情況進行排版,這也是Cirru語法的美元符號和逗號語法對代碼樹進行修改所參照的效果.2013年四月Cirru發布了LightEditor用於簡單的Cirru代碼的圖形化編輯,並隨著檔案的更改自動更新內容.
目標
Cirru的目標是完成一套簡單的語法框架,當其他任務中有輕量的腳本語言的需求時,Cirru希望提供的框架能帶來的方便.Cirru語法解析工具會對文本做簡單的處理,得到語法樹,具體的程式語言可以繼續進行解析,定製所需要的語言.另外藉助語法高亮,代碼格式化工具,Cirru的代碼倉庫當中還有其他相關的外掛程式可以提供這樣的方便.
