Giter Club home page Giter Club logo

boost-statechart-viewer's Introduction

Boost Statechart Viewer
=======================

This clang plugin can visualize simple state machines implemented with
Boost Statechart library. It is able to visualize states (except for
orthogonal states) and transitions. The examples folder contains some
source code of state machines that can be visualized using this tool.

The input file for the tool is the source code of the state machine.
On the command line you need to specify all source locations for
finding header files in the same way as you do for normal compilation
(e.g. -I options for include files). As this is plugin for compiler
the program line works the same as normal compiler. The output format
is dot (part of Graphvis project) and the output file can be
transformed into the picture using classic dot commands.

Usage
-----

Example of command line invocation:

    clang++ -Xclang -load -Xclang visualizer.so -Xclang -plugin -Xclang visualize-statechart -c file.cpp
    dot -Tpng file.dot > file.png


Installation
------------

For compiling and running the plugin you need to have LLVM and clang
installed. The program should work with packages distributed with
common Linux distributions or you can download LLVM and clang from
repositories and compile it.

On Debian/Ubuntu the dependencies can be installed with:

    sudo apt-get install clang-3.5 libclang-3.5-dev build-essential graphviz

To compile the the plugin, simply run:

    make

If you want to use a different clang/llvm version, run configure
before running make. For example:

  LLVM_CONFIG=llvm-config-3.5 ./configure

This program was tested with LLVM/Clang 3.5.

Reporting bugs
--------------

Please report bugs to [email protected].

boost-statechart-viewer's People

Contributors

aboseley avatar eugenschindler avatar janrueegg avatar wentasah avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.