Lucas Serven e989f0a25f init há 7 anos atrás
..
ast e989f0a25f init há 7 anos atrás
internal e989f0a25f init há 7 anos atrás
.travis.yml e989f0a25f init há 7 anos atrás
AUTHORS e989f0a25f init há 7 anos atrás
CONTRIBUTORS e989f0a25f init há 7 anos atrás
LICENSE e989f0a25f init há 7 anos atrás
Makefile e989f0a25f init há 7 anos atrás
Readme.md e989f0a25f init há 7 anos atrás
analyse.go e989f0a25f init há 7 anos atrás
attr.go e989f0a25f init há 7 anos atrás
attrs.go e989f0a25f init há 7 anos atrás
catch.go e989f0a25f init há 7 anos atrás
dot.bnf e989f0a25f init há 7 anos atrás
edges.go e989f0a25f init há 7 anos atrás
escape.go e989f0a25f init há 7 anos atrás
gographviz.go e989f0a25f init há 7 anos atrás
graph.go e989f0a25f init há 7 anos atrás
install-godeps.sh e989f0a25f init há 7 anos atrás
nodes.go e989f0a25f init há 7 anos atrás
relations.go e989f0a25f init há 7 anos atrás
subgraphs.go e989f0a25f init há 7 anos atrás
write.go e989f0a25f init há 7 anos atrás

Readme.md

Parses the Graphviz DOT language and creates an interface, in golang, with which to easily create new and manipulate existing graphs which can be written back to the DOT format.

This parser has been created using gocc.

Example (Parse and Edit)

graphAst, _ := gographviz.ParseString(`digraph G {}`)
graph := gographviz.NewGraph()
if err := gographviz.Analyse(graphAst, graph); err != nil {
    panic(err)
}
graph.AddNode("G", "a", nil)
graph.AddNode("G", "b", nil)
graph.AddEdge("a", "b", true, nil)
output := graph.String()

Documentation

The godoc includes some more examples.

Installation

go get github.com/awalterschulze/gographviz

Tests

Build Status

Users

  • aptly - Debian repository management tool
  • gorgonia - A Library that helps facilitate machine learning in Go
  • imagemonkey - Let's create our own image dataset
  • depviz - GitHub dependency visualizer (auto-roadmap)

Mentions

Using Golang and GraphViz to Visualize Complex Grails Applications