Tool zum Generieren eines auf json.org verwendeten Eisenbahndiagramms [geschlossen]


99

Ich liebe die Syntax von Eisenbahndiagrammen auf json.org, die eine grafische Darstellung der BNF-Sprache sind. Ich habe keine Tools gefunden, die so eloquent zu Ergebnissen führen können.

Kann jemand das Tool identifizieren, mit dem diese Diagramme erstellt wurden?

Alt-Text

Alt-Text

Antworten:


94

Es gibt einen Online-Eisenbahndiagrammgenerator . Es erstellt SVG- Syntaxdiagramme , auch als Eisenbahndiagramme bezeichnet, aus kontextfreien Grammatiken, die in EBNF angegeben sind . Sie können den SVG-Code kopieren oder Screenshots machen.

Sie müssen die Grammatik eingeben und es wird das Diagramm erstellt.

Um beispielsweise das erste gezeigte Eisenbahndiagramm zu erstellen, verwenden Sie den folgenden Code:

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

Geben Sie hier die Bildbeschreibung ein

Dann könnten Sie gehen zu definieren stringund valueverwenden string ::= ...und value ::= ...die Referenzen sind alle gezeigt.

Schauen Sie sich einige der Beispieldiagramme auf der Seite an. Sie haben XML und sogar EBNF selbst.


Haben Sie eine Idee, wie Sie die Grafiken in Ihr eigenes Dokument integrieren können, außer a) einen Screenshot zu erstellen, b) die SVG-Quelle von der Quelle der Seite zu kopieren?
Rudolfson

1
@rudolfson - Du kannst deine eigene schreiben, die zentrale Logik ist nicht schlecht und der gesamte Code ist da, um zu sehen. Dann einfach in Ihr Dokument einbetten. Ich habe darauf basierend ein WP-Plugin geschrieben. - Das Schwierigste ist, die Grafik schön aussehen zu lassen.
Peter Ajtai

2
Der hier erwähnte Online Railroad Diagram Generator bietet jetzt eine ZIP-Datei mit der PNG-Version der generierten Diagramme. Tolles Werkzeug!
Sebastián Grignoli

2
Es scheint, dass die Webanwendung hierher gezogen ist: Bottlecaps.de/rr
enrico.bacis

Thanks @ enrico.bacis - aktualisierter Link
Peter Ajtai

50

von Douglas Crockford
nach Aleem B
Datum Di, 28. April 2009 um 18:01 Uhr
Betreff Re: Railroad Diagrams on json.org

Ich habe sie mit Visio gezeichnet. Creative Docs.NET funktioniert auch gut.

- -

Aleem B schrieb:

Hallo Douglas,

Ich mag die meisten Dinge, die Sie dort veröffentlichen, sehr und die Eisenbahndiagramme auf json.org sind nicht anders. Ich habe versucht, mich nach einem Werkzeug umzusehen, mit dem Diagramme fast genauso eloquent erstellt werden können, hatte aber kein Glück:

Tool zum Generieren eines auf json.org verwendeten Eisenbahndiagramms

Gibt es ein Werkzeug, mit dem Sie den BNF in diese Diagramme konvertiert haben, oder wurden sie von Hand gefertigt?

- Aleem


7
Zur Vervollständigung: Tab Atkins Jr. hat mit SVG einen Javascript Railroad-Diagram Generator erstellt . speziell, weil er keinen finden konnte, der die gewünschte visuelle Anziehungskraft hatte, dh "den JSON.org-Look".
Potherca


8

Vor einigen Tagen gab es eine ähnliche Frage: Was ist ein gutes Werkzeug zum Erstellen von Eisenbahndiagrammen?

Bei dieser Frage ging es darum, wie Eisenbahndiagramme in den SQLite-Syntaxdiagrammen generiert wurden. Die akzeptierte Antwort ergab, dass die Diagramme mit einem in Tcl geschriebenen DSL erstellt wurden.

Eine andere Antwort bot einen Vorschlag zur Verwendung eines Diagrammgenerators, der mit der EBNL-Grammatik arbeitet.


Hinzu kommt, dass der Wikipedia-Artikel, auf den ich verweise, auch eine Liste von Tools enthält. Ein echtes Eisenbahndiagramm sollte keine Pfeile benötigen. Wenn Sie sich einen Zug vorstellen, der diese Gleise fährt, sollte klar sein, welche Routen Sie nehmen können oder nicht. Und die json.org-Diagramme sind einfach so hübsch, dass ich wissen muss, ob es ein Tool für sie gibt =) Ich habe diese Links bereits gesehen, könnte aber anderen helfen.
Aleemb

4

Eines der Dinge, mit denen der Eisenbahngenerator von IBM gut umgehen kann, sind Standardwerte. Ich habe keinen anderen Generator gesehen, der dies tut.

Ein Beispiel ist

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

4

Ich habe auch für die verwendeten Werkzeuge gesucht , um diese zu erzeugen Syntaxdiagramme und wenn möglich in js libraryso kann es ohne warten auf eine langweilige Zeit für eine Grafik kommen bearbeitet und angezeigt werden.

Ich weiß, dass es Werkzeuge gibt, aber ich würde sagen, dass der Generator von Bottlecaps.de eine schöne Grafik mit Farboption hat. Leider konnte ich dort keinen Quellcode des Tools selbst bekommen.

Ich ging auch zu den verwandten Fragen der Antworten hier, bekam aber nur folgende, wo wir sie als Open Source bekommen können, js libraryund lieferte eine Online-Demo, mit der wir versuchen können, zu spielen .




0

Ich scheine mich zu erinnern, dass IBM ein Tool hat, das solche Diagramme als Teil seiner BookMaster SGML-Suite erstellt. Eisenbahndiagramme werden häufig in der Mainframe-Dokumentation verwendet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.