Herramienta para generar un diagrama de ferrocarril utilizado en json.org [cerrado]

99

Me encanta la sintaxis de los diagramas de ferrocarril en json.org, que son una representación gráfica del lenguaje BNF. No he encontrado ninguna herramienta que pueda producir resultados con tanta elocuencia.

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

texto alternativo

texto alternativo

aleemb
fuente

Respuestas:

94

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

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

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

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

ingrese la descripción de la imagen aquí

Luego, podría continuar con la definición stringy el valueuso string ::= ...y value ::= ...se muestran todas las referencias.

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

Peter Ajtai
fuente
¿Alguna idea sobre cómo obtener los gráficos en su propio documento que no sea a) hacer una captura de pantalla b) copiar la fuente svg desde la fuente de la página?
Rudolfson
1
@rudolfson: puedes escribir el tuyo propio, la lógica central no es tan mala y todo el código está ahí para ver. Luego, solo incrusta en tu documento. Escribí un complemento de WP basado en esto. - La parte más difícil es hacer que los gráficos se vean bien.
Peter Ajtai
2
El generador de diagramas ferroviarios en línea mencionado aquí ahora ofrece un archivo ZIP con la versión PNG de los diagramas generados. ¡Gran herramienta!
Sebastián Grignoli
2
Parece que la aplicación web se movió aquí: bottlecaps.de/rr
enrico.bacis
Gracias @ enrico.bacis - enlace actualizado
Peter Ajtai
50

de Douglas Crockford
a Aleem B
fecha Martes 28 de abril de 2009 a las 6:01 PM
Asunto Re: Diagramas de ferrocarril en json.org

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

-

Aleem B escribió:

Hola Douglas,

Disfruto mucho de la mayoría de las cosas que publicas y los diagramas de trenes en json.org no son diferentes. He estado tratando de buscar una herramienta que genere diagramas casi tan elocuentes, pero no he tenido suerte:

Herramienta para generar un diagrama de ferrocarril utilizado en json.org

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

- Aleem

aleemb
fuente
7
En aras de las finalizaciones: Tab Atkins Jr. creó un generador de diagrama de ferrocarril Javascript usando SVG. específicamente porque no pudo encontrar uno que tuviera el atractivo visual que quería, es decir, "el aspecto JSON.org".
Potherca
8

Hace unos días surgió una pregunta similar: ¿Cuál es una buena herramienta para crear diagramas de vías?

Esa pregunta era sobre cómo se generaban los diagramas de ferrocarril en los diagramas de sintaxis de SQLite. La respuesta aceptada encontró que los diagramas se generaron utilizando un DSL escrito en Tcl.

Otra respuesta ofreció una sugerencia para usar un generador de diagramas que funciona con la gramática EBNL.

coobird
fuente
Para agregar a eso, también hay una lista de herramientas en el artículo de Wikipedia al que enlazo. Un verdadero diagrama de ferrocarril no debería necesitar flechas; si imagina un tren viajando por esas vías, debe quedar claro qué rutas puede o no puede tomar. Y los diagramas de json.org son tan bonitos, tengo que saber si hay una herramienta para ellos =) Ya he visto estos enlaces pero podría ayudar a otros.
aleemb
4

Una de las cosas que el generador de vías férreas de IBM maneja bien son los valores predeterminados. No he visto otro generador que haga esto.

Un ejemplo es

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

También he estado buscando las herramientas utilizadas para generar estos diagramas de sintaxis y, si es posible, js librarypara poder editarlos y mostrarlos sin esperar un momento aburrido para que venga un gráfico.

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

También fui a las preguntas relacionadas con las respuestas aquí, pero solo obtuve seguidores donde podemos obtenerlo como código abierto js libraryy se proporcionó una demostración en línea donde podemos probar y jugar .

Chetabahana
fuente
0

Creo recordar que IBM tiene una herramienta que crea estos diagramas como parte de su suite BookMaster SGML. Los diagramas de ferrocarril se utilizan a menudo en la documentación de mainframe.

Ron
fuente