Упрощенный китайский |
Виджет, используемый для генерации блок-схемы в формате чистых символов из псевдокода.
Несколько дней назад я узнал о красном и черном дереве. Операции вставки и удаления были слишком сложными. Позже я хотел создать небольшой инструмент, который мог бы генерировать блок-схему в чистом формате символов, просто введя какой-то простой псевдокод, поэтому у меня был этот репозиторий.
псевдокод:
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, пожалуйста, обратитесь к этому.
В настоящее время поддерживаются только последовательные структуры, структуры отбора, контролируемые 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 операторы.
Грань