Herramienta para generar el diagtwig del ferrocarril utilizado en json.org

Me encanta la syntax de los diagtwigs de ferrocarriles en json.org que son una representación gráfica del lenguaje BNF. No he encontrado ninguna herramienta que pueda producir resultados de manera eloquent.

¿Alguien puede identificar la herramienta utilizada para generar estos diagtwigs?

texto alternativo

texto alternativo

Hay un generador de diagtwig de ferrocarril en línea . Crea diagtwigs de syntax SVG, también conocidos como diagtwigs de ferrocarril, a partir de gramáticas libres de contexto especificadas en EBNF . Puede copiar el código SVG o tomar capturas de pantalla.

Tienes que escribir la gramática y hará el diagtwig.

Por ejemplo, para crear el primer diagtwig de ferrocarril que muestre, usaría el código:

object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}' 

enter image description here

Luego puede continuar definiendo string y value usando string ::= ... y value ::= ... Todas las referencias se muestran.

Vea algunos de los diagtwigs de ejemplo en la página. Tienen XML e incluso EBNF.

de Douglas Crockford
a Aleem B
Fecha martes, 28 de abril de 2009 a las 6:01 p.m.
subject Re: Railroad Diagrams en json.org

Los dibujé con Visio. Creative Docs.NET también funciona bien.

Aleem B escribió:

Hola Douglas,

Disfruto muchísimo de la mayoría de las cosas que publica y los diagtwigs de ferrocarriles en json.org no son diferentes. He estado tratando de buscar una herramienta que genere diagtwigs casi tan eloquents pero que no haya tenido suerte:

Herramienta para generar diagtwig de ferrocarril utilizado en json.org

¿Hay alguna herramienta que utilizó para convertir el BNF a estos diagtwigs o fueron hechos a mano?

– Aleem

Tab Atkins Jr. creó un generador de diagtwig de ferrocarril de Javascript usando svg específicamente porque no pudo encontrar uno que tuviera el atractivo visual que quería, es decir, ” el aspecto de JSON.org “.

Hubo una pregunta similar hace unos días: ¿Cuál es una buena herramienta para crear diagtwigs ferroviarios?

Esa pregunta fue acerca de cómo se generaron los diagtwigs de syntax SQLite en los diagtwigs de ferrocarril. La respuesta aceptada encontró que los diagtwigs se generaron usando una DSL escrita en Tcl.

Otra respuesta ofreció una sugerencia para usar un generador de diagtwigs que funciona a partir de la gramática EBNL.

Una de las cosas que maneja bien el generador de seguimiento ferroviario de IBM son los valores predeterminados. No he visto otro generador que haga esto.

Un ejemplo es

  ┌─────◀────┐┌(──«defaults»─)─┐ ▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀ │ ┌────◀─────┐ │ └(┴┬«option»┬┴┬─┬┘ └Help────┘ └)┘ 

Encontré la herramienta J-algo. Creo que es muy fácil dibujar un diagtwig, pero no puedo exportar a la imagen u otro tipo.

enter image description here

http://j-algo.binaervarianz.de/index.php

También he estado buscando las herramientas utilizadas para generar estos diagtwigs de syntax y, si es posible, en la js library para que puedan editarse y visualizarse sin esperar un momento aburrido para que aparezca un gráfico.

Sé que hay herramientas por ahí, pero diría que el generador de bottlecaps.de tiene un buen gráfico con la opción de color. Lamentablemente, no pude obtener el código fuente de la herramienta.

También me referí a las preguntas relacionadas con las respuestas aquí, pero obtuve los siguientes, donde podemos obtenerlo como js library código abierto y proporcionamos una demostración en línea donde podemos probar y jugar .

  • generador de diagtwigs de ferrocarril de tabatkins , en js (la syntax también existe como una biblioteca de Python )
  • js-sequence-diagtwigs de bramp , en js pero UML (la syntax se genera a través de bottlecaps.de )
  • umlClass de GoJS , en js pero solo para UML

Eche un vistazo a http://code.google.com/p/html-railroad-diagram/ que genera diagtwigs de trenes HTML. Hay un ejemplo que muestra el ferrocarril JSON generado en una página HTML por JavaScript con enlaces.

Me parece recordar que IBM tiene una herramienta que construye tales diagtwigs como parte de su suite BookMaster SGML. Los diagtwigs de ferrocarriles se usan a menudo en la documentación de mainframe.