2009-04-28 5 views

risposta

84

C'è un Online Railroad Diagram Generator. Crea SVG syntax diagrams, noto anche come diagrammi ferroviari, da context-free grammars specificato in EBNF. È possibile copiare il codice SVG o acquisire schermate.

Devi digitare la grammatica e farà il diagramma.

Ad esempio, per creare il primo schema di ferrovia si mostra, è necessario utilizzare il codice:

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

enter image description here

Poi si potrebbe andare avanti per definire string e value utilizzando string ::= ... e value ::= ... I riferimenti sono tutti mostrati

Guarda alcuni degli schemi di esempio nella pagina. Hanno XML e persino EBNF stesso.

+0

Qualche idea su come ottenere la grafica nel tuo documento diverso da a) creare uno screenshot b) copiare il sorgente svg dal sorgente della pagina? – rudolfson

+1

@rudolfson - Puoi scrivere il tuo, la logica centrale non è male, e tutto il codice è lì per vedere. Quindi inserisci semplicemente il tuo documento. Ho scritto un plugin WP basato su questo. - La parte più difficile è rendere la grafica piacevole. –

+2

Il generatore di diagrammi ferroviari online menzionato qui ora offre un file ZIP con la versione PNG degli schemi generati. Ottimo strumento! –

7

C'era una domanda simile pochi giorni fa: What is a good tool for creating railroad diagrams?

Tale questione era su come sono stati generati diagrammi ferrovia nei diagrammi di sintassi SQLite. Lo accepted answer ha rilevato che i diagrammi sono stati generati utilizzando un DSL scritto in Tcl.

Another answer ha offerto un suggerimento per utilizzare un generatore di diagrammi che funziona con la grammatica EBNL.

+0

Per aggiungere a ciò, vi è anche un elenco di strumenti nell'articolo di Wikipedia a cui mi collego.Un vero diagramma della ferrovia non dovrebbe avere bisogno di frecce - se immagini un treno che percorre quei binari dovrebbe essere chiaro quali percorsi puoi o non puoi percorrere. E i diagrammi di json.org sono così belli, devo sapere se c'è uno strumento per loro =) Ho già visto questi collegamenti ma potrebbe aiutare gli altri. – aleemb

0

Vedere this, ad esempio. Non proprio quello che ti serve, ma ancora.

45

da Douglas Crockford
per Aleem B
data Mar, Apr 28, 2009 alle 18:01
Oggetto RE: Ferrovia diagrammi sulla json.org

Li ho disegnato con Visio. Creative Docs.NET funziona anche bene.

-

Aleem B ha scritto:

Ciao Douglas,

Mi piacciono tantissimo maggior parte delle cose che hai messo là fuori e gli schemi della ferrovia sul json.org non sono diversi. Sono stato cercando di guardarsi intorno per uno strumento che genererebbe diagrammi quasi eloquente, ma non hanno avuto fortuna:

Tool for generating railroad diagram used on json.org

C'è qualche strumento è stato utilizzato per convertire BNF a questi schemi o erano fatti a mano ?

- Aleem

+6

Per motivi di completamento: [Tab Atkins Jr.] (http://www.xanthir.com/) ha creato un [generatore di diagrammi di una ferrovia Javascript] (https://github.com/tabatkins/railroad-diagrams) utilizzando SVG. in particolare perché non riusciva a trovarne uno che avesse il fascino visivo che voleva, cioè "l'aspetto di JSON.org". – Potherca

+1

Come è entrato nella coda di revisione di bassa qualità? –

0

Mi sembra di ricordare che IBM ha uno strumento che costruisce tali diagrammi come parte della loro suite SGML di BookMaster. I diagrammi delle ferrovie sono spesso usati nella documentazione del mainframe.

3

Una delle cose che gestisce correttamente il generatore di binario ferroviario IBM sono i valori predefiniti. Non ho visto un altro generatore che faccia questo.

Un esempio è

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

Ho cercato anche per gli strumenti utilizzati per generare queste Syntax diagrammi e, se possibile, in js library in modo che possa essere modificato e visualizzato senza attendere un tempo noioso per una grafica a venire .

So che ci sono strumenti out there ma direi che il generatore da bottlecaps.de ha una bella grafica con l'opzione colore. Sfortunatamente non ho potuto ottenere il codice sorgente dello strumento in sé.

sono andato anche per le relative domande di risposte qui, ma ha ottenuto solo chi segue in cui si può ottenere come open source js library e forniti con una demo online dove possiamo provare e giocare con.