Інструмент для створення діаграми залізниць, що використовується на json.org [закрито]


99

Мені подобається синтаксис діаграм залізниць на json.org, які є графічним зображенням мови BNF. Я не знайшов інструментів, які б красномовно давали результати.

Чи може хтось визначити інструмент, що використовується для створення цих діаграм?

alt текст

alt текст

Відповіді:


94

Є Інтернет-генератор діаграм залізниць . Він створює синтаксичні діаграми SVG , також відомі як діаграми залізниць, з контекстних граматик, визначених у EBNF . Ви можете скопіювати SVG-код або зробити знімки екрана.

Вам потрібно набрати граматику, і вона складе діаграму.

Наприклад, для створення першої схеми залізниці, яку ви показуєте, ви використовували б код:

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

введіть тут опис зображення

Потім ви можете перейти до визначення stringта valueвикористання string ::= ...та value ::= ...показано посилання.

Ознайомтеся з деякими прикладними схемами на сторінці. У них є XML і навіть сам EBNF.


Будь-яка ідея про те, як перетворити графіку у власний документ, окрім а) створення скріншоту б) копіювання джерела svg з джерела сторінки?
rudolfson

1
@rudolfson - Ви можете написати свою власну, центральна логіка не надто погана, і весь код є, щоб побачити. Потім просто вставте у свій документ. На основі цього я написав плагін WP. - Найважча частина - це зробити графіку красивою.
Пітер Айтай

2
Згаданий тут онлайн-генератор діаграм залізниць тепер пропонує ZIP-файл із PNG-версією згенерованих діаграм. Чудовий інструмент!
Себастьян Гріньолі

2
Здається, що сюди переїхав веб-сайт: bottlecaps.de/rr
enrico.bacis

Спасибі @ enrico.bacis - оновлене посилання
Пітер Айтай

50

від Дугласа Крокфорда
до
дати Алеєма В Вт, 28 квітня, 2009 о 18:01,
тема Re: Railroad Diagrams на json.org

Я намалював їх із Візіо. Creative Docs.NET також добре працює.

-

Aleem B написав:

Привіт Дуглас,

Мені дуже подобається більшість речей, які ви розміщуєте там, і схеми залізниць на json.org не відрізняються. Я намагався шукати інструмент, який би генерував діаграми майже настільки красномовні, але не пощастило:

Інструмент для створення діаграми залізниць, що використовується на json.org

Чи є якийсь інструмент, який ви використовували для перетворення BNF на ці діаграми, або вони були виготовлені вручну?

- Алеєм


7
Для завершення: Tab Atkins Jr. створив генератор діаграм Javascript Railroad, використовуючи SVG. спеціально тому, що він не міг знайти того, у кого було б захочене зорове звернення, тобто "погляд JSON.org".
Potherca


8

Кілька днів тому виникло подібне запитання: який хороший інструмент для створення діаграм залізниць?

Це питання стосувалося того, як створюються залізничні діаграми в синтаксичних діаграмах SQLite. Прийняв відповідь знайшов , що діаграми були отримані з використанням DSL , написаної на Tcl.

Інша відповідь запропонувала запропонувати використовувати генератор діаграм, який працює з граматики EBNL.


Щоб додати до цього, у статті Вікіпедії, на яку я посилаюся, також є список інструментів. Дійсна схема залізниці не повинна мати стрілок - якщо ви уявляєте, як поїзд проїжджає цими коліями, повинно бути зрозуміло, якими маршрутами ви можете чи не можете пройти. І діаграми json.org просто такі гарні, я мушу знати, чи є інструмент для них =) Я вже бачив ці посилання, але може допомогти іншим.
aleemb

4

Однією з речей, з якою добре справляється генератор залізничних колій IBM, є значення за замовчуванням. Я не бачив іншого генератора, який це робить.

Прикладом є

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

4

Я шукав також інструменти, які використовуються для створення цих синтаксичних діаграм, і, якщо можливо, js libraryце можна редагувати та відображати, не чекаючи нудного часу, коли з'явиться графіка.

Я знаю, що там є інструменти , але я б сказав, що генератор з bottlecaps.de має гарну графіку з кольоровим варіантом. На жаль, я не зміг отримати вихідний код цього інструменту.

Я також звернувся до відповідних питань відповідей тут, але отримав лише підписки, де ми можемо отримати це як відкритий код js libraryі забезпечений онлайн-демонстрацією, де ми можемо спробувати і пограти .




0

Здається, я пам’ятаю, що у IBM є інструмент, який будує такі діаграми як частина їх пакету SGM BookMaster. Діаграми залізниць часто використовуються в документації на основні рамки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.