bnf diagramming

bnf - Herramienta para generar el diagrama del ferrocarril utilizado en json.org



diagramming (9)

Me encanta la sintaxis de los diagramas 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 elocuente.

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


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 diagramas de ferrocarriles en json.org no son diferentes. He estado tratando de buscar una herramienta que genere diagramas casi tan elocuentes pero que no haya tenido suerte:

Herramienta para generar 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




Hay un generador de diagrama de ferrocarril 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 tomar capturas de pantalla.

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

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

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

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

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



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


También he estado buscando las herramientas utilizadas para generar estos diagramas de sintaxis 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 .


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────┘ └)┘