flow2dot

Library and binary to generate sequence/flow diagrams from plain text source http://adept.linux.kiev.ua:8080/repos/flow2dot

Latest on Hackage:0.9.0.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed and maintained by Dmitry Astapov
This is a tool to generate nice sequence (flow) diagrams from
textual descriptions, written in Haskell.

This tool generates a diagram _description_, which could be made into
a nice picture with help of Graphviz (www.graphviz.org)

To try it out, run:
runhaskell flow2dot.hs sample.flow | dot -T png -o sample.png
and view "sample.png" with your favorite picture viewer. If you
dont get a nice picture and get something else (for example, ugly
segfault from dot), try upgrading to latest Graphviz (2.12 or later)

If you want to use national alphabets, make sure that your .flow files
are encoded in UTF-8. If you want to tweak the output - read Dot manual
and use it for scaling, colors, pagination etc.

Latest version could be obtained via:
darcs pull http://adept.linux.kiev.ua:8080/repos/flow2dot/

License : BSD-style (see the file LICENSE)
Send patches to dastapov@gmail.com (using "darcs send")

Thanks to Cale, quicksilver and roconnor from #haskell for
suggestions on how to modularize this. Thanks to Dema from
haskell@conference.jabber.ru for win32 testing. Gwern0 helped
to adapt this to GHC 6.8.2. Radoslav Dorcik sent in parser improvements.
Mike Shigorin and Denis Smirnov packaged for Alt Linux and provided feedback
on compatibility with different GHC versions. Vasyl Vaskul reported bugs.

Known issues
============

* Dot < 2.12 will most likely segfault on files generated by flow2dot

* If your version of dot complains about "Error: lost n1 n2 edge", try using
flow2dot-fix-dot-lost-edges in place of dot:

runhaskell flow2dot your.flow | flow2dot-fix-dot-lost-edges -T png -o your.png

Trick is to remove 'constraint="false"' from all edges that dot reports as lost.

Changes

tagged 0.7

* Added Order directive (see sample.flow for usage)
* Fix: identifier could not be empty
* Removing useles import
* Preserve UTF8 chars in "reflow"
* Fix to preserve UTF8 chars in "showDot" (again)
* Imported Dot.hs from dotgen 0.4.1
* Fixed "lost edge" errors from graphviz

tagged 0.6.1

* Forgot to add Text.Dot local override to cabal. Thnx to dons for spotting it

tagged 0.6

* Fixed repo URL in README
* Made sources compilable with QuickCheck2
* Dotgen kills UTF-8 in graph attributes. Incorporated patched version of dotgen-0.2 into flow2dot until it will be fixed upstream
* Added quickCheck.hs and rebuild.sh

tagged 0.5.1

* Moved all flow diagram processing to separate module (exposed from this package)

tagged 0.4
* Documentation fixes
* Switched to `dotgen` package for all graphviz generation needs.
Dropped support of preformatted strings in flow files.

tagged 0.3.1
* Fixed links to repo and docs

tagged 0.3
* Ditched Text.UTF8 in favor of utf8-string library
* Quotes inside messages are now properly escaped for Dot. Sample updated accordingly.

tagged 0.2.1
* Version bump to 0.2.1 - ready for GHC 6.8.2
* -Wall
* +LANGUAGE pragmas

tagged 0.2
* Some minor clarifications in docs
* Dropped regex-based parser in favor of parsec-based due to issues with Unicode
* Added QuickCheck to cabal, added LICENSE to Dot.hs
* Added QuickCheck for Flow parser/pretty-printer
* Moved graph generation into separate module
* Added UTF8 module
* cabalization

tagged 0.1
* initial version
comments powered byDisqus