ianmadlenya / flowgen Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jlopezvi/flowgen
Flowchart-based documentation for C++ codes. Complementing Doxygen.
License: GNU General Public License v3.0
This project forked from jlopezvi/flowgen
Flowchart-based documentation for C++ codes. Complementing Doxygen.
License: GNU General Public License v3.0
FLOWGEN SOFTWARE PREREQUISITES: ===== • Python3 http://www.python.org/getit/ • PlantUML (already provided; NO need to install) http://plantuml.sourceforge.net/ • LLVM-Clang 3.1 (or superior) http://clang.llvm.org/ • Clang-Python3 bindings (already provided+fixed some bugs; NO need to install) https://github.com/kennytm/clang-cindex-python3 ACKNOWLEDGMENTS: ===== Thanks to the PlantUML team, specially to Arnaud Roques; to cldoc’s developer, Jesse Van Den Kieboom; and to the big LLVM+Clang developer community. This tool would not be possible without them. INSTALLATION: ===== [FOR UNIX-LIKE SYSTEMS: MAC/LINUX] - Install Python3 (if not present) - Install LLVM+Clang 3.1 (or superior). For MAC, you may try using a package management solution such as MacPorts or Fink. For Linux (type?), you may try using a package management solution such as… LLVM+Clang pre-built binaries are available from http://llvm.org/releases/download.html After installation, the environment variable $LD_LIBRARY_PATH=path_to_llvm/lib pointing to the libraries should have been set, or it can be set manually. That folder contains required library files such as "libclang.dylib". - Download Flowgen from GitHub. [FOR WINDOWS] - Install Python3 (does not seem to work with a portable version, needs a normal installation) - Install LLVM+Clang 3.1 (or superior). Prebuilt binaries available (3.4 or superior) from http://llvm.org/releases/download.html Choose the option 'Add LLVM to system PATH for all users’ - Download Flowgen from GitHub. CONFIGURING AND RUNNING FLOWGEN: ===== There is an example in the folder EXAMPLE, with some C++ code. [FOR UNIX-LIKE SYSTEMS: MAC/LINUX] The makefile is configured to either compile the sample program, by typing > make a.out or to run Flowgen and generate the documentation, by typing > make flowdoc The documentation is generated as .html files inside flowdoc/ Note: erase the folder flowdoc/ to regenerate completely the documentation. Note: it may be necessary to adjust the variables FLOWGEN_DIR and CXX to run the makefile. Note: type ‘make’ to do both actions (compiling and generating documentation) in the same run. Note [MAC SPECIFIC]: by default, makefiles are not recognized on Mac systems. In order to check, you can do 'make --version'. If it says: ‘-bash: make: command not found’, then you should install it. The easiest is to install the xCode addition to Mac OS X. The //$ annotations and the code can be changed in the test C++ code to experiment with Flowgen. [FOR WINDOWS] Set FLOWGEN_DIR environment variable to the FLOWGEN folder The make batch file ‘make_WIN.bat’ is configured to run the example The documentation is generated as .html files inside flowdoc/ NOTE: FOR THE MOMENT, the user has to copy manually the folder '/htmlCSSandJS' from the Flowgen folder into the /flowdoc folder of the documentation project This should be done automatically by make_WIN.bat The //$ annotations and the code can be changed in the test C++ code to experiment with Flowgen. MAP OF FILES ===== build_db.py —> Flowgen Python3 executable makeflows.py —> Flowgen Python3 executable makehtml.py —> Flowgen Python3 executable plantuml.jar —> PlantUML java executable, used by Flowgen ToDoList.txt —> To Do list, for continued development of the open source Flowgen tool. LICENSE.txt —> License agreement README.txt —> Information clang/ —> FOLDER with Clang-Python3 bindings, used by Flowgen htmlCSSandJS/ --> FOLDER with CSS and Javascript files that are copied into the '/flowdoc' SUBFOLDER of any project by the Flowgen script, and which are needed by the output HTML files example/ —> FOLDER with sample application /make_WIN.bat —> Flowgen executable for WINDOWS /Makefile —> Makefile for systems that have the Make utility. It can be used to compile the C++ code or to run Flowgen /simple_demo_src.cpp —> sample C++ source file with main() function /include/ —> SUB-FOLDER with sample C++ headers /src/ —> SUB-FOLDER with sample C++ source files /flowdoc/ —> SUB-FOLDER with documentation generated by flowgen (this whole folder can be erased and regenerated via Flowgen) /*.html —> the output HTML documentation files /aux_files/ —> SUB-SUB-FOLDER with auxiliary files created by Flowgen: - database files (.flowdb) - diagrams (.png), - CMAPX files which are used by the HTML output files to generate hyperlinks in the PNG diagram files. - PlantUML diagram-descriptions (*.txt) (they can be used as input to PlantUML)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.