Menu

Home

lefering

There is a support page at http://graphviewer.nl
There is a blog with more screenshots from gml4gtk at https://myogdf.blogspot.com/

For windows users this open source project can improve by blocking
spy and other websites, see https://crazymax.dev/WindowsSpyBlocker/

For cross compilation of the source code there is also the project "Zero Setup" cross-compilation for C/C++. Supports numerous architectures, build systems, C standard libraries, vcpkg, and Conan. " at https://github.com/Alexhuszagh/xcross

There are often daily updates and changes of the source at notabug at https://notabug.org/mooigraph/gml4gtk/

The support for reading graphviz dot files is limited but daily improved with support for html style node labels and more issues to fix

The dot graph data which does not work with gml4gtk can be mailed or attached at the discussion section and it will be fixed.

The gml4gtk has sfg.c single-file graph layout library which can be used stand-alone or with python, tcl or java and has its own page on notabug at https://notabug.org/mooigraph/sfgraph

The GML graph data is easy to parse and often used in open source software and a patch to let GCC-10.1 compiler gml graph data is on notabug at https://notabug.org/mooigraph/gcc-10.1-gml

The GML graph data is easy to parse and can be used with ogdf and igraph libary and more programs

When you want javascipt graph layout routines as GNU GPL free software:

Create layered directed graphs with JavaScript and Scalable Vector Graphics using a Sugiyama barycenter algorithm.

https://github.com/speich/dGraph

When you like c++ programming you can also create such a tool using ogdf or igraph library or mipt-vis GNU GPL Free

When you like pyton or r programming that can be done with igraph library

When you like java programming there is unmaintained gvf on sourceforge which can read GML data

To generate a callgraph using GNU GCC compiler use option -fcallgraph-info and the ci file cn be used with gml4gtk open->vcg

The generated output.ci file is a vcg graph to be used with gml4gtk graph viewer

The GNU GCC has more options to generate graph data, just as the llvm clang compiler and that is documented on the blog

There is a free pdf about graph data structures and algorithms from jeff ericson http://jeffe.cs.illinois.edu/teaching/algorithms/

Wikibooks are free information books for example on graph theory at https://en.wikibooks.org/wiki/Category:Book:Graph_Theory

There are many free graph pdf's available to find using https://scholar.archive.org/

The gml4gtk program is in development and every new version can be better used with graph data from GCC or llvm clang coompilers.

These compiler options generate graph data of the compiler data also documented at https://graphviewer.nl/misc/tools/gcc/index.html

Depending on gcc compiler version these graph data output options are available:

-fdump-rtl-all-graph
-fdump-tree-all-graph
-fdump-ipa-all-graph
-fcallgraph-info
-fdump-analyzer-callgraph
-fdump-analyzer-exploded-graph
-fdump-analyzer-supergraph
-fdump-analyzer-state-purge

And there are also two unmaintained C++ programs with a qt gui interface as free software used with compiler data from GCC, icc and clang to mention which can be re-compiled.

These C++ programs have own sugiyama barycenter graph layout and support routines and interesting other features and for current compilers it needs updates on the parser code.They do not depend on graphviz.

One is mipt-vis as GNU GPL free software at https://github.com/MIPT-ILab-Compilers/MIPT-Vis

The updated mipt-vis compiler visualizer tool for qt5 and Linux is now at https://github.com/gml4gtk/miptgraph

And the other is showgraph at https://code.google.com/archive/p/showgraph/

About mipt-vis:

Mipt-vis is an open source tool that helps you to visualize compiler-specific graphs. It is also capable for performing different analyses on graphs. Primary goal is to implement user interface, layout algorithm and import of IR dumps from GCC and ICC.

About showgraph:

Showgraph is a simple graph editor/viewer. It allows for creating nodes and connecting them with edges. Nodes have editable labels and edges can be routed using control points. One of primary goals was to create lightweight and easy-to-use tool for fast construction of a graph's visual representation. Showgraph features an auto-layout for directed graphs.

Also these programs use their own xml data and can generate xml from the compiler data.

Now only find a C++ programmer to re-compile this open source and update the parsers for current GCC and llvm clang compiler data. done. see miptgraph on github

programs which depend on graphviz severely limit the user and themself to what is possible in graph layout and to make it more worse the output of graphviz does omit much important information about the graph data.

The solution is to keep using ogdf, igraph, showgraph, elk or otherwise and make sure all of the graph data details are available to the user.

And graphviz cannot write to gml, graphml, tulip or other graph formats to block interoperbility with other types of graph software then graphviz.

There are examples where this graphviz usage has been a problem this way as a anti-feature for the user as defined by fsf.org:

" Antifeatures are flags applied to applications to warn of issues that may be undesirable from the user's perspective. Frequently it is behavior that benefits the developer, but that the end user of the software would prefer not to be there."

https://directory.fsf.org/wiki/Free_Software_Directory:Antifeatures

Other software with anti-features is in this list of malware created by google, miscrosoft, apple and others:

https://www.gnu.org/proprietary/all.html

There are also online tools for graph layout or diagram drawing and some are free Software to install on own webserver

Markdeep https://casual-effects.com/markdeep/
markdown, ascii-to-all

Svgbob https://ivanceras.github.io/svgbob-editor/
ascii-to-all

Archetype https://fatiherikli.github.io/archetype/
ascii-drawing

Textik https://textik.com/
ascii-drawing

ASCIIFlow http://asciiflow.com/
ascii-drawing

Pikchr https://pikchr.org/home/pikchrshow
all

Kroki https://kroki.io/
BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag, BPMN, Bytefield, PlantUML, Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, PlantUML, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom

BPMN Sketch Miner https://www.bpmn-sketch-miner.ai/
BPMN/flow

Webgraphviz http://www.webgraphviz.com/
graphviz

Viz.js http://viz-js.com/
graphviz

Edotor https://edotor.net/
graphviz

nomnoml http://www.nomnoml.com/
activity, class
Source: https://github.com/skanaar/nomnoml

CodeUML http://codeuml.com/ (dead)
uml
Source: https://github.com/oazabir/codeuml

yuml https://yuml.me/diagram/scruffy/class/draw
uml

PlantText http://www.planttext.com/planttext
activity, class, component, object, use case, state, graphviz, sequence, gui, earth

PlantUML http://www.plantuml.com/plantuml/uml/
activity, class, component, object, use-case, sequence, state, deployment, timing, gui, archimate, gantt, mindmap, tree, math, entity-relationship

Umple Online http://cruise.site.uottawa.ca/umpleonline/
class, state, composite

ZenUML https://app.zenuml.com/
sequence

DotUML https://dotuml.com/playground.html
class, use case, sequence, state, deployment, graphviz

QuickDBD https://app.quickdatabasediagrams.com/#/
entity-relationship

dbdiagram https://dbdiagram.io/d
entity-relationship

WebSequenceDiagrams https://www.websequencediagrams.com/
sequence

SVG Sequence Diagram http://sullerandras.github.io/SVG-Sequence-Diagram/
sequence

JUMLY http://jumly.tmtk.net (dead)
sequence
Source: https://github.com/tmtk75/jumly

js sequence diagrams http://bramp.github.io/js-sequence-diagrams/
sequence

swimlanes https://swimlanes.io/
sequence

SequenceDiagram https://sequencediagram.org/
sequence

GraphUp https://graphup.co/ (broken)
sequence, gantt

Text Diagram http://weidagang.github.io/text-diagram/
ascii sequence
Source: https://github.com/weidagang/text-diagram

ASCII Sequence Diagram Creator https://textart.io/sequence
ascii sequence

Chart Mage http://chartmage.com/index.html
sequence, flow

flowchart.js http://flowchart.js.org/
flow

drawthe http://go.drawthe.net/
network
Source: https://github.com/cidrblock/drawthe.net

mermaid https://mermaid-js.github.io/mermaid-live-editor/
flow, sequence, class, state, entity-relationship, gantt, pie, journey

Diagram.codes https://www.diagram.codes/
flow, sequence, graph, tree, onion, stack, system, timeline, mindmap

Blockdiag http://interactive.blockdiag.com/
block, activity, network, rack/stack, packet

state machine cat https://state-machine-cat.js.org/
state
Source: https://github.com/sverweij/state-machine-cat

MetaUML https://metauml.denksoft.com (dead)

Railroad Diagram Generator http://www.bottlecaps.de/rr/ui#_StringLiteral
railroad/syntax

Gleek https://www.gleek.io/
architecture

Ilograph https://app.ilograph.com/
architecture

Structurizr https://structurizr.com/dsl
architecture

Penrose https://github.com/penrose/penrose
penrose

code2flow https://app.code2flow.com/
flow

flowchart.fun https://flowchart.fun/
flow

WaveDrom https://wavedrom.com/editor.html
timing

CLI Text to Diagram Tools
    perl graph-easy http://bloodgate.com/perl/graph/index.html #cli
    flow
    Doc: https://developpaper.com/recommend-a-tool-for-making-ascii-flow-chart-graph-easy
    Example: graph-easy <<< [node 1]->[some text]-[this][node 1]->[branch]

Welcome to your wiki!

This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses Markdown syntax.

Project Members:


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.