[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gramática de GraphViz



Hola,

Acabo de añadir a la lista de gramáticas disponibles [1] para el compilador de 
compiladores ANTLR [2] una que permite leer documentos en formato Dot[3] de 
GraphViz[4].
GraphViz es un conjunto de herramientas que generan representaciones visuales 
de grafos, organizando los nodos conforme a distintos criterios. Graphviz 
espera que los grafos se proporcionen en ficheros de texto en formato Dot.
El parseador [5] analiza ese tipo de ficheros y crea un modelo de objetos 
representando la topología del grafo.

Esta gramática constituye el primer paso en un roadmap orientado a utilizar el 
formato .dot para realizar el diseño tanto de modelos E/R como de diagramas 
de flujo, y poder implementar generadores que transformen dicho diseño en 
DDLs (posiblemente usando DdlUtils[6]), en un caso, y en clases e interfaces 
particulares, en el otro.
Esto es conveniente para evitar las penalidades derivadas de usar herramientas 
gráficas para realizar los diseños, como la dificultad o inadaptabilidad de 
los formatos (p.ej. Dia[7] usa SVG[8], pero no permite especificar metadatos 
ni dar más peso a unos elementos frente a otros), y sobre todo el retraso en 
el que se incurre por el hecho de organizar los modelos manualmente conforme 
éstos crecen, por no citar las dificultades al hacer "merge" en el CVS :).

Afortunadamente he podido hacer la gramática free.

Un saludo,
Jose.

P.S.: GraphViz también se puede integrar en MediaWiki.

[1] http://www.antlr.org/grammar/list
[2] http://www.antlr.org/
[3] http://www.graphviz.org/doc/info/lang.html
[4] http://www.graphviz.org
[5] http://www.antlr.org/grammar/1138116546902/dot/index.html
[6] http://db.apache.org/ddlutils/
[7] http://www.gnome.org/projects/dia/
[8] http://www.w3.org/TR/SVG/