FlowChar
1.0.0
簡體中文| English
一個用來從偽代碼生成純字符格式流程圖的小工具。
前幾天學習紅黑樹,插入和刪除的操作過於復雜,心想畫個小流程圖好讓筆記看上去更直觀些,又懶得用畫圖工具,於是就一個字符一個字符地敲,敲完發現其實也沒比用畫圖工具輕鬆多少。後來我就想搞一個小工具,只要輸入一些很簡單的偽代碼就能生成一張純字符格式的流程圖,於是就有了這個倉庫。
虛擬程式碼:
be born;
while (alive) {
if (happy) {
smile;
}
else {
try to be happy;
}
}
die;
流程圖:
+-------------+
| be born |
+-------------+
|
V
N /-----------
+--------------| alive |<------------------+
| -----------/ |
| | Y |
| V |
| Y /----------- N |
| +----| happy |----+ |
| | -----------/ | |
| | | |
| V V |
| +-----------+ +---------------------+ |
| | smile | | try to be happy | |
| +-----------+ +---------------------+ |
| | | |
| +--------->O<---------+ |
| | |
| V |
| O-------------------------+
|
|
| +---------+
+-------------->| die |
+---------+
更多示例
首先克隆倉庫並進行構建:
git clone https://github.com/Gusabary/FlowChar.git
cd FlowChar
# for linux
chmod +x ./build.sh
./build.sh
# for windows
. b uild.bat然後指定偽代碼文件,可選地,可以指定流程圖輸出文件,缺省的話會打印到標準輸出:
cd build
./flowchar -c ../examples/simple -o ../examples/simple-chart使用-h選項以打印幫助信息:
./flowchar -h或者直接拉取Docker 鏡像,掛載並運行:
# from dockerhub
docker pull gusabary/flowchar:v1.0
# or from github
docker pull docker.pkg.github.com/gusabary/flowchar/flowchar:v1.0
# run
docker run -v /path/to/dir:/app/files gusabary/flowchar:v1.0 -c files/code -o files/chart需要將偽代碼文件所在目錄掛載為容器的/app/files目錄。
從github docker registry 拉取鏡像的話可能會需要token,可以參考這裡。
目前僅支持順序結構, if-else控制的選擇結構以及while控制的循環結構。
一串以分號結尾的字符串是一個語句,會出現在流程圖的一個方框中:
a;
do this;
if關鍵字後要求跟一對圓括號,其中為if的判斷條件,然後是由一對花括號包裹著的語句塊:
if (condition) {
statementA;
statementB;
}
可選地,使用else關鍵字,並跟上一對花括號包裹著的語句塊:
if (condition) {
ok;
}
else {
no;
}
while關鍵字後要求跟一對圓括號,其中為while的判斷條件,然後是由一對花括號包裹著的語句塊:
while (condition) {
loop;
}
語句塊可以是簡單語句、 if語句和while語句的組合。
MIT