Browse by type
A tiny tool for conversion from pseudo-code to flowchart in character format.
pseudo-code:
be born;
while (alive) {
if (happy) {
smile;
}
else {
try to be happy;
}
}
die;
flowchart:
+-------------+
| be born |
+-------------+
|
V
N /-----------\
+--------------| alive |<------------------+
| \-----------/ |
| | Y |
| V |
| Y /-----------\ N |
| +----| happy |----+ |
| | \-----------/ | |
| | | |
| V V |
| +-----------+ +---------------------+ |
| | smile | | try to be happy | |
| +-----------+ +---------------------+ |
| | | |
| +--------->O<---------+ |
| | |
| V |
| O-------------------------+
|
|
| +---------+
+-------------->| die |
+---------+
First clone the repository and build:
git clone https://github.com/Gusabary/FlowChar.git
cd FlowChar
# for linux
chmod +x ./build.sh
./build.sh
# for windows
.\build.bat
Then execute the binary with pseudo-code file and, optionally, output file specified. If no output file is provided, the emitted flowchart would be printed to stdout:
cd build
./flowchar -c ../examples/simple -o ../examples/simple-chart
Use -h option to get help:
./flowchar -h
Alternatively, pull a docker image and run with the directory including pseudo-file code mounted.
# 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
Note: the directory including pseudo-code file should be mounted as /app/files directory in the container.
A token may be needed if the image is pulled from github docker registry, here for reference.
Only sequential structure, branch structure controlled by if-else and loop structure controlled by while are supported now.
a;
do this;
if keyword should be followed by condition wrapped in brackets and statement block wrapped in parenthesis:if (condition) {
statementA;
statementB;
}
Optionally, else keyword can be used with another statement block wrapped in parenthesis:
if (condition) {
ok;
}
else {
no;
}
while keyword should be followed by condition wrapped in brackets and statement block wrapped in parenthesis:while (condition) {
loop;
}
if statements and while statements.$ claude mcp add FlowChar \
-- python -m otcore.mcp_server <graph>