Chinês simplificado |
Um widget usado para gerar fluxogramas de formato de caracteres puros a partir de pseudo-código.
Alguns dias atrás, aprendi sobre a árvore vermelha e preta. Mais tarde, eu queria construir uma pequena ferramenta que pudesse gerar um fluxograma em formato de caráter puro, apenas inserindo um código de pseudo-código simples, então eu tinha esse repositório.
Pseudocode:
be born;
while (alive) {
if (happy) {
smile;
}
else {
try to be happy;
}
}
die;
Fluxo:
+-------------+
| be born |
+-------------+
|
V
N /-----------
+--------------| alive |<------------------+
| -----------/ |
| | Y |
| V |
| Y /----------- N |
| +----| happy |----+ |
| | -----------/ | |
| | | |
| V V |
| +-----------+ +---------------------+ |
| | smile | | try to be happy | |
| +-----------+ +---------------------+ |
| | | |
| +--------->O<---------+ |
| | |
| V |
| O-------------------------+
|
|
| +---------+
+-------------->| die |
+---------+
Mais exemplos
Primeiro clone o repositório e construa -o:
git clone https://github.com/Gusabary/FlowChar.git
cd FlowChar
# for linux
chmod +x ./build.sh
./build.sh
# for windows
. b uild.batEm seguida, especifique um arquivo pseudo-código.
cd build
./flowchar -c ../examples/simple -o ../examples/simple-chart Use a opção -h para imprimir informações de ajuda:
./flowchar -hOu puxe diretamente a imagem do Docker, monte e corra:
# 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 Você precisa montar o diretório onde o arquivo pseudocode está localizado como o diretório /app/files do contêiner.
Os tokens podem ser obrigados a extrair a imagem do Github Docker Registry, consulte isso.
Atualmente, apenas estruturas seqüenciais, estruturas de seleção controladas pelo if-else e estruturas de loop controladas por while são suportadas.
Uma string que termina com um ponto de vírgula é uma declaração que aparece em uma caixa no fluxograma:
a;
do this;
A palavra -chave if é seguida por um par de parênteses, que são as condições de julgamento de if e, em seguida, um bloco de declaração envolvido por um par de aparelhos encaracolados:
if (condition) {
statementA;
statementB;
}
Opcionalmente, use a palavra -chave else e siga um par de blocos de declaração embrulhados em aparelhos encaracolados:
if (condition) {
ok;
}
else {
no;
}
while a palavra -chave é seguida por um par de parênteses, que são as condições de julgamento do while e, em seguida, um bloco de declaração envolvido por um par de aparelhos encaracolados:
while (condition) {
loop;
}
Um bloco de declaração pode ser uma combinação de declarações simples, if declarações e while .
Mit