Chinois simplifié |
Un widget utilisé pour générer des organigrammes de format de caractère pur à partir de pseudo-code.
Il y a quelques jours, j'ai appris sur l'arbre rouge et noir. Plus tard, je voulais construire un petit outil qui pourrait générer un organigramme au format de caractère pur en entrant simplement un pseudo-code simple, j'ai donc eu ce référentiel.
Pseudocode:
be born;
while (alive) {
if (happy) {
smile;
}
else {
try to be happy;
}
}
die;
Tableau de débit:
+-------------+
| be born |
+-------------+
|
V
N /-----------
+--------------| alive |<------------------+
| -----------/ |
| | Y |
| V |
| Y /----------- N |
| +----| happy |----+ |
| | -----------/ | |
| | | |
| V V |
| +-----------+ +---------------------+ |
| | smile | | try to be happy | |
| +-----------+ +---------------------+ |
| | | |
| +--------->O<---------+ |
| | |
| V |
| O-------------------------+
|
|
| +---------+
+-------------->| die |
+---------+
Plus d'exemples
Clone d'abord le référentiel et le construire:
git clone https://github.com/Gusabary/FlowChar.git
cd FlowChar
# for linux
chmod +x ./build.sh
./build.sh
# for windows
. b uild.batSpécifiez ensuite un fichier pseudo-code.
cd build
./flowchar -c ../examples/simple -o ../examples/simple-chart Utilisez l'option -h pour imprimer les informations d'aide:
./flowchar -hOu tirez directement l'image Docker, montez et exécutez:
# 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 Vous devez monter le répertoire dans lequel le fichier pseudocode est situé en tant que répertoire /app/files du conteneur.
Des jetons peuvent être tenus de retirer l'image du registre GitHub Docker, veuillez vous référer à cela.
Actuellement, seules les structures séquentielles, les structures de sélection contrôlées par if-else et les structures de boucle contrôlées par while sont prises en charge.
Une chaîne se terminant par un point-virgule est une instruction qui apparaît dans une boîte dans l'organigramme:
a;
do this;
Le mot-clé if est suivi d'une paire de parenthèses, qui sont les conditions de jugement de if , puis un bloc de déclaration enveloppé par une paire de bretelles bouclées:
if (condition) {
statementA;
statementB;
}
Facultativement, utilisez le mot-clé else et suivez une paire de blocs d'instruction enveloppés dans des accolades bouclées:
if (condition) {
ok;
}
else {
no;
}
Le mot-clé while est suivi par une paire de parenthèses, qui sont les conditions de jugement de while , puis un bloc de déclaration enveloppé par une paire de bretelles bouclées:
while (condition) {
loop;
}
Un bloc d'instructions peut être une combinaison d'instructions simples, if relevés et while instructions.
Mit