1 [[!meta title="Boost Statechart Viewer"]]
6 Boost-statechart-viewer is a program for visualization state state
7 machines written in C++ with [boost][boost]/[statechart][statechart]
8 library. The program itself is written in C++ and uses [clang][clang]
9 from [LLVM][llvm] project for analyzing the source code. This program is released under the GNU GPL
12 [boost]: http://www.boost.org/
13 [statechart]: http://www.boost.org/doc/libs/1_46_1/libs/statechart/doc/index.html
14 [clang]: http://clang.llvm.org/
15 [llvm]: http://llvm.org/
20 Petr Silhavik <silhape2@fel.cvut.cz> <br>
21 Michal Sojka <sojkam1@fel.cvut.cz>
24 and correctly working program is necessary to have LLVM and clang
29 2011-08-11 Added support for orthogonal states.
34 - The program can found states and transitions in the source code. Now it also supports orthogonal states.
35 - The program understands all options and flags as the compilers (gcc, clang, ...).
36 - State machines can be defined in more than one file.
37 - The state machine can be inside many namespaces, but not inside templates.
42 The program can be used almost the same way as a C compiler. You will
43 typically need to specify locations for all header files except of the
44 files stored in system folder(in Linux: /usr/...) using `-I` option.
45 Of course you can specify the output filename (`-o` option). Program
46 displays all diagnostic messages like compilers. If an error occurs
49 ####Example of command line invocation:
51 ./visualizer main.cpp -o graph.dot -I /home/petr/install/
53 The output file can be transformed into the picture using classical
54 [dot][graphviz] commands (e.g. `dot -Tpng graph.dot -o graph.png`) . The initial
55 state is double outlined. Each transition has a label with the name of
58 [graphviz]: http://www.graphviz.org/
63 Boost statechart viewer can be downloaded from GIT repository.
65 git clone git://rtime.felk.cvut.cz/boost-statechart-viewer.git
67 You can also browse the [repository online][1].
75 [[Source code|test.cpp]]
79 [[Source code|StopWatch.cpp]]
83 [[Source code|StopWatch.cpp]]
87 [[Source code|big_sm.tar.gz]]
89 [1]: http://rtime.felk.cvut.cz/gitweb/boost-statechart-viewer.git