Adoro la sintassi dei diagrammi ferroviari su json.org che sono una rappresentazione grafica del linguaggio BNF. Non ho trovato strumenti in grado di produrre risultati così eloquenti.
Adoro la sintassi dei diagrammi ferroviari su json.org che sono una rappresentazione grafica del linguaggio BNF. Non ho trovato strumenti in grado di produrre risultati così eloquenti.
Risposte:
C'è un generatore di schemi ferroviari in linea . Crea diagrammi di sintassi SVG , noti anche come diagrammi ferroviari, da grammatiche prive di contesto specificate in EBNF . Puoi copiare il codice SVG o acquisire schermate.
Devi digitare la grammatica e creerà il diagramma.
Ad esempio, per creare il primo diagramma ferroviario che mostri, dovresti utilizzare il codice:
object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}'
Quindi potresti continuare a definire string
e value
utilizzare string ::= ...
e value ::= ...
I riferimenti sono tutti mostrati.
Guarda alcuni dei diagrammi di esempio sulla pagina. Hanno XML e persino lo stesso EBNF.
da Douglas Crockford
ad Aleem B
data martedì 28 aprile 2009 alle 18:01
soggetto Re: Railroad Diagrams su json.orgLi ho disegnati con Visio. Anche Creative Docs.NET funziona bene.
-
Aleem B ha scritto:
Ciao Douglas,
Mi piace moltissimo la maggior parte delle cose che pubblichi e gli schemi ferroviari su json.org non sono diversi. Ho cercato di cercare uno strumento che generasse diagrammi quasi altrettanto eloquenti ma non ho avuto fortuna:
Strumento per la generazione del diagramma ferroviario utilizzato su json.org
C'è qualche strumento che hai usato per convertire il BNF in questi diagrammi o sono stati realizzati a mano?
- Aleem
Tab Atkins Jr. ha creato un generatore di diagrammi ferroviari Javascript utilizzandosvgin particolare perché non riusciva a trovarne uno che avesse l' aspetto visivo che voleva, ovvero " l'aspetto di JSON.org ".
Qualche giorno fa c'era una domanda simile: qual è un buon strumento per creare schemi ferroviari?
Quella domanda riguardava il modo in cui venivano generati i diagrammi ferroviari nei diagrammi di sintassi SQLite. La risposta accettata ha rilevato che i diagrammi sono stati generati utilizzando un DSL scritto in Tcl.
Un'altra risposta ha offerto un suggerimento per utilizzare un generatore di diagrammi che funziona con la grammatica EBNL.
Una delle cose che il generatore di binari ferroviari di IBM gestisce bene sono i valori predefiniti. Non ho visto un altro generatore che fa questo.
Un esempio è
┌─────◀────┐┌(──«defaults»─)─┐
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
│ ┌────◀─────┐ │
└(┴┬«option»┬┴┬─┬┘
└Help────┘ └)┘
Ho cercato anche gli strumenti utilizzati per generare questi diagrammi di sintassi e, se possibile, in js library
modo che possano essere modificati e visualizzati senza aspettare un momento noioso per un grafico a venire.
So che ci sono strumenti là fuori, ma direi che il generatore di bottlecaps.de ha una bella grafica con l'opzione colore. Sfortunatamente non sono riuscito a ottenere il codice sorgente dello strumento in sé.
Sono andato anche alle relative domande di risposte qui, ma ho ottenuto solo quanto segue dove possiamo ottenerlo come open source js library
e fornito con una demo online dove possiamo provare a giocare .
js
(la sintassi esiste anche come Python
libreria)js
ma UML (la sintassi è generata tramite bottlecaps.de )js
ma trovato solo per UMLHo trovato lo strumento J-algo. Penso che sia molto facile disegnare un diagramma ma non posso esportare in un'immagine o in un altro tipo.
Dai un'occhiata a http://code.google.com/p/html-railroad-diagram/ che genera diagrammi ferroviari HTML. C'è un esempio che mostra la ferrovia JSON generata in una pagina HTML da JavaScript con collegamenti.