web-dev-qa-db-fra.com

Outil de génération de diagramme de chemin de fer utilisé sur json.org

J'adore la syntaxe de diagrammes de chemin de fer sur json.org qui sont une représentation graphique du langage BNF. Je n'ai trouvé aucun outil qui puisse produire des résultats aussi éloquemment.

Quelqu'un peut-il identifier l'outil utilisé pour générer ces diagrammes?

alt text

alt text

98
aleemb

Il existe un générateur de diagramme de chemin de fer en ligne . Il crée SVG diagrammes de syntaxe , également connus sous le nom de diagrammes de chemin de fer, à partir de grammaires sans contexte spécifié dans EBNF =. Vous pouvez copier le code SVG ou prendre des captures d'écran.

Vous devez taper la grammaire et cela fera le diagramme.

Par exemple, pour créer le premier diagramme de chemin de fer que vous montrez, vous utiliseriez le code:

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

enter image description here

Vous pouvez ensuite définir string et value en utilisant string ::= ... et value ::= ... Les références sont toutes affichées.

Découvrez quelques exemples de diagrammes sur la page. Ils ont XML et même EBNF lui-même.

92
Peter Ajtai

de Douglas Crockford
à Aleem B
date mar. 28 avr. 2009 à 18:01
sujet Re: Railroad Diagrams sur json.org

Je les ai dessinés avec Visio. Creative Docs.NET fonctionne également bien.

-

Aleem B a écrit:

Bonjour Douglas,

J'apprécie à fond la plupart des choses que vous mettez là-bas et les diagrammes de chemin de fer sur json.org ne sont pas différents. J'ai essayé de chercher un outil qui générerait des diagrammes presque aussi éloquents, mais je n'ai pas eu de chance:

Outil pour générer un diagramme de chemin de fer utilisé sur json.org

Y a-t-il un outil que vous avez utilisé pour convertir le BNF en ces diagrammes ou ont-ils été fabriqués à la main?

- Aleem

49
aleemb

Tab Atkins Jr. créé un Javascript Railroad-diagram Generator using svg spécifiquement parce qu'il n'a pas pu trouver celui qui avait l'attrait visuel qu'il voulait, c'est-à-dire " le look JSON.org".

19
Potherca

Il y avait une question similaire il y a quelques jours: Quel est un bon outil pour créer des diagrammes de chemin de fer?

Cette question était de savoir comment les diagrammes de chemin de fer dans les diagrammes de syntaxe SQLite ont été générés. Le réponse acceptée a révélé que les diagrammes ont été générés à l'aide d'un DSL écrit en Tcl.

ne autre réponse a proposé d'utiliser un générateur de diagramme qui fonctionne à partir de la grammaire EBNL.

7
coobird

L'une des choses que le générateur de voies ferrées d'IBM gère bien est les valeurs par défaut. Je n'ai pas vu d'autre générateur qui fasse ça.

Un exemple est

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

J'ai trouvé l'outil J-algo. Je pense qu'il est très facile de dessiner un diagramme mais je ne peux pas exporter vers une image ou un autre type.

enter image description here

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

3
Wendel

Je cherchais également les outils utilisés pour générer ces Syntaxe Diagrammes et si possible dans js library afin qu'il puisse être édité et affiché sans attendre un temps ennuyeux pour un graphique à venir.

Je sais qu'il existe des outils là-bas mais je dirais que le générateur de bottlecaps.de a un joli graphique avec option de couleur. Malheureusement, je n'ai pas pu obtenir le code source de l'outil lui-même.

Je suis également allé aux questions de réponses connexes ici, mais je n'ai eu que des suivis où nous pouvons l'obtenir en open source js library et fourni avec une démo en ligne où nous pouvons essayer de jouer avec .

3
Chetabahana

Jetez un œil à http://code.google.com/p/html-railroad-diagram/ qui génère des diagrammes de chemin de fer HTML. Il y a un exemple qui montre le chemin de fer JSON généré dans une page HTML par JavaScript avec des liens.

0
Mike Samuel

Il me semble que IBM a un outil qui construit de tels diagrammes dans le cadre de leur suite BookMaster SGML. Les diagrammes de chemin de fer sont souvent utilisés dans la documentation du mainframe.

0
Ron