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.
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.
Respuestas:
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 )*)? '}'
Luego, podría continuar con la definición string
y el value
uso 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.
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.orgLos 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
Tab Atkins Jr.creó un generador de diagrama de ferrocarril Javascript usandosvgespecíficamente porque no pudo encontrar uno que tuviera el atractivo visual que deseaba, es decir, " el aspecto JSON.org ".
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.
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────┘ └)┘
También he estado buscando las herramientas utilizadas para generar estos diagramas de sintaxis y, si es posible, js library
para 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 library
y se proporcionó una demostración en línea donde podemos probar y jugar .
js
(la sintaxis también existe como una Python
biblioteca)js
pero en UML (la sintaxis se genera a través de bottlecaps.de )js
pero solo se encuentra para UMLEncontré la herramienta J-algo. Creo que es muy fácil dibujar un diagrama pero no puedo exportar a una imagen u otro tipo.
Eche un vistazo a http://code.google.com/p/html-railroad-diagram/ que genera diagramas de ferrocarril HTML. Hay un ejemplo que muestra el ferrocarril JSON generado en una página HTML por JavaScript con enlaces.