All Projects → paypal → digraph-parser

paypal / digraph-parser

Licence: other
Java parser for digraph DSL (Graphviz DOT language)

Programming Languages

java
68154 projects - #9 most used programming language
ANTLR
299 projects

Projects that are alternatives of or similar to digraph-parser

vscode-graphviz
This extension provides GraphViz (dot) language support for VS Code.
Stars: ✭ 21 (-44.74%)
Mutual labels:  graphviz, dot
DotNetGraph
Create GraphViz DOT graph with .NET / C#
Stars: ✭ 57 (+50%)
Mutual labels:  graphviz, dot
rel
command line tool for managing personal graphs of anything and writing them to dot
Stars: ✭ 51 (+34.21%)
Mutual labels:  graphviz, dot
redot
Graphviz dot file processor powered by plugins based on @unifiedjs
Stars: ✭ 60 (+57.89%)
Mutual labels:  graphviz, dot
GiGraph
Simple yet versatile library for generating graphs in the DOT language
Stars: ✭ 25 (-34.21%)
Mutual labels:  graphviz, dot
cl-dot
Common Lisp package for generating GraphViz (dot) files
Stars: ✭ 24 (-36.84%)
Mutual labels:  graphviz, dot
AAG-Visualizer
🌆 🏙 🌃 Viz.js Graphviz - An Elegant Visualizer for And-Inverter Graph
Stars: ✭ 95 (+150%)
Mutual labels:  graphviz, dot
doteur
Tool to automate the visualisation of SQL schemas from a SQL file
Stars: ✭ 80 (+110.53%)
Mutual labels:  graphviz, dot
Viz.js
A hack to put Graphviz on the web.
Stars: ✭ 3,602 (+9378.95%)
Mutual labels:  graphviz, dot
home-assistant-graph
No description or website provided.
Stars: ✭ 30 (-21.05%)
Mutual labels:  graphviz
xmpaint
处理有向图的有力工具
Stars: ✭ 65 (+71.05%)
Mutual labels:  graphviz
gen-callgraph
gen-callgraph is a script to generate call graph from elf binary
Stars: ✭ 47 (+23.68%)
Mutual labels:  dot
rtl2dot
C call graph generator
Stars: ✭ 48 (+26.32%)
Mutual labels:  graphviz
dotnets
Create simple drawings of neural networks using graphviz
Stars: ✭ 161 (+323.68%)
Mutual labels:  graphviz
nmap-formatter
A tool that allows you to convert NMAP results to html, csv, json, markdown, graphviz (dot). Simply put it's nmap converter.
Stars: ✭ 129 (+239.47%)
Mutual labels:  graphviz
dockerfilegraph
Visualize your multi-stage Dockerfiles
Stars: ✭ 55 (+44.74%)
Mutual labels:  graphviz
ecto erd
A mix task for generating Entity Relationship Diagram from Ecto schemas available in your project.
Stars: ✭ 173 (+355.26%)
Mutual labels:  graphviz
xumlidot
RUBY UML class diagram generator with XMI and DOT output.
Stars: ✭ 28 (-26.32%)
Mutual labels:  dot
tlaplus specs
Different TLA+ specifications, mostly for learning purposes
Stars: ✭ 25 (-34.21%)
Mutual labels:  graphviz
heroku-buildpack-graphviz
Install Graphviz on Heroku
Stars: ✭ 18 (-52.63%)
Mutual labels:  graphviz

digraph-parser

Simple, standalone Java parser for digraph DSL (domain-specific language) in Graphviz DOT syntax. Available on Maven Central: http://central.maven.org/maven2/com/paypal/digraph/digraph-parser/1.0/

Maven Central

See also

Usage

GraphParser parser = new GraphParser(new FileInputStream("src/test/resources/test1.dg"));
Map<String, GraphNode> nodes = parser.getNodes();
Map<String, GraphEdge> edges = parser.getEdges();	

log("--- nodes:");
for (GraphNode node : nodes.values()) {
	log(node.getId() + " " + node.getAttributes());
}

log("--- edges:");
for (GraphEdge edge : edges.values()) {
	log(edge.getNode1().getId() + "->" + edge.getNode2().getId() + " " + edge.getAttributes());
}

For following digraph the program produces output below:

digraph testgraph
{
 xxx [k=v]
 yyy [k1=v1 k2=v2]
 a -> b
 n1 [label="Node 1"]; n2 [label="Node 2"]; 
 n1 -> n2 [style=dotted label="A dotted edge"]
 n1 -> n4
 n2 -> n3
 n3 -> n5
 foo -> { bar baz } [ek=ev]
 foo -> bar [fbk=fbv]
 n4 -> n5
 bar [kk=vv]
 bar [kkk=vvv]
}
--- nodes:
a {}
b {}
bar {kk=vv, kkk=vvv}
baz {}
foo {}
n1 {label=Node 1}
n2 {label=Node 2}
n3 {}
n4 {}
n5 {}
xxx {k=v}
yyy {k1=v1, k2=v2}
--- edges:
a->b {}
foo->bar {fbk=fbv, ek=ev}
foo->baz {ek=ev}
n1->n2 {style=dotted, label=A dotted edge}
n1->n4 {}
n2->n3 {}
n3->n5 {}
n4->n5 {}

Maven dependency

<dependency>
  <groupId>com.paypal.digraph</groupId>
  <artifactId>digraph-parser</artifactId>
  <version>1.0</version>
</dependency>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].