Usando Graphviz para hacer gráficas de autómatas

2:50 am GNU/Linux, Parsing

Hoy me he dado un momento para empezar a usar Graphviz (http://www.graphviz.org) que es un programa para realizar gráficas. Graphviz es exactamente el mismo programa que usa Kakuy (proyecto SEPa). Kakuy es un software en windows que usa para animar (por medio de gráficas) técnicas de parsing, muy recomendado más por la extensa documentación sobre las técnicas de parsing ;) .

Bueno, para empezar hay que saber que Graphviz usa documentos *.dot para que por medio de dot (comando) se pueda leer la estructura de éste y se genere la gráfica correspondiente.

Un ejemplo simple:

ejemplo.dot

digraph G{
  rankdir=LR;
  node [shape = doublecircle]; q3;
  node [shape = circle];
  q0 -> q1 [ label = "a" ];
  q1 -> q2 [ label = "b" ];
  q2 -> q3 [ label = "c" ];
}

Para crear un archivo *.png mediante el archivo ejemplo.dot en nuestra consola hacemos:

dot -Tpng ejemplo.dot -o ejemplo.png
soullost@UnderHouse ~/dots $ ls *.png
ejemplo1.png

La imagen:

Ejemplo

:o ! Ya tenemos nuestro primer autómata dibujado! :D XD

La razón de usar Graphviz es porque quisiera poner más ejemplos de parsing pero no encontraba como dibujar los autómatas de una forma sencilla :P , en fin puedes obtener Graphviz de:

Windows: http://www.graphviz.org/Download_windows.php
Linux: http://www.graphviz.org/Download_linux.php

Gentoo :) :

emerge graphviz

Hay cosas más interesantes sobre Graphviz, por ejemplo, hay una librería para C y Python (me parece xD)..

Recomendado leer:
- PDF dot guide

Nos vemos!!..

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

Temas Relacionados:
  • El ejercito de EUA usa Gnome en Jericho
  • Usando TOR en GNU/Linux
  • Cómo cortar un video con AVIDEMUX GNU/Linux
  • Y tú, ¿Eres mexicano?
  • Usando RSA en SSHD y Putty
  • 3 Responses

    1. Joseba Says:

      Hola Solullost,

      Estoy intentando aprender a utilizar Graphviz. El caso es que no consigo crear ningún gráfico. Siempre me da error a la hora de crearlo. En concreto me pone:

      “CreateProcess failed. Error: 0(12001)”

      Supongo que no te dirá nada este error, pero por lo que se ve parece seguir al pié de la letra el primer comando que indicas para ejecutarlo (dot -Tpng ejemplo.dot -o ejemplo.png) sólo que de una manera gráfica (con el ejecutable dot que viene con la descargas que indicas para windows).

      Me puedes ayudar con esto, lo necesito para la tesis y ya ando desesperado.
      Si necesitas más información tienes mi correo.

      Gracias por tu tiempo,
      JOSEBA

    2. soullost Says:

      Hola Joseba, te comento que lo he probado en Windows y funciona bien, tanto desde la interfaz gráfica de dot hasta en el msdos :P .

      Para la interfaz gráfica primero debes: crear un archivo .dot (desde bloc de notas) con las descripciones de tu gráfica (puedes usar el que pongo del autómata que uso de ejemplo), después debes especificar este archivo en “Input file”, y especificar el nombre/ruta de tu imagen en “Output File”, seleccionar el tipo de imagen de png y es todo, dar clic en “Do layout”.

      Una imagen:
      http://img264.imageshack.us/img264/9973/dotrunlv5.png

      MsDOS:
      http://img151.imageshack.us/img151/4261/dotmsdosrunbz8.png

      Nos vemos, saludos.

    3. Graphviz & DOT « Since 1977 Says:

      [...] [soullost.org]~$ Usando Graphviz para hacer gráficas de autómatas [...]

    Leave a Comment

    Your comment

    You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.