Мені подобається синтаксис діаграм залізниць на json.org, які є графічним зображенням мови BNF. Я не знайшов інструментів, які б красномовно давали результати.
Мені подобається синтаксис діаграм залізниць на json.org, які є графічним зображенням мови BNF. Я не знайшов інструментів, які б красномовно давали результати.
Відповіді:
Є Інтернет-генератор діаграм залізниць . Він створює синтаксичні діаграми SVG , також відомі як діаграми залізниць, з контекстних граматик, визначених у EBNF . Ви можете скопіювати SVG-код або зробити знімки екрана.
Вам потрібно набрати граматику, і вона складе діаграму.
Наприклад, для створення першої схеми залізниці, яку ви показуєте, ви використовували б код:
object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}'
Потім ви можете перейти до визначення string
та value
використання string ::= ...
та value ::= ...
показано посилання.
Ознайомтеся з деякими прикладними схемами на сторінці. У них є XML і навіть сам EBNF.
від Дугласа Крокфорда
до
дати Алеєма В Вт, 28 квітня, 2009 о 18:01,
тема Re: Railroad Diagrams на json.orgЯ намалював їх із Візіо. Creative Docs.NET також добре працює.
-
Aleem B написав:
Привіт Дуглас,
Мені дуже подобається більшість речей, які ви розміщуєте там, і схеми залізниць на json.org не відрізняються. Я намагався шукати інструмент, який би генерував діаграми майже настільки красномовні, але не пощастило:
Інструмент для створення діаграми залізниць, що використовується на json.org
Чи є якийсь інструмент, який ви використовували для перетворення BNF на ці діаграми, або вони були виготовлені вручну?
- Алеєм
Tab Atkins Jr. створив генератор діаграм Javascript Railroad, використовуючиsvgспеціально тому, що він не міг знайти того, у кого було б захочене зорове звернення, тобто " погляд JSON.org ".
Кілька днів тому виникло подібне запитання: який хороший інструмент для створення діаграм залізниць?
Це питання стосувалося того, як створюються залізничні діаграми в синтаксичних діаграмах SQLite. Прийняв відповідь знайшов , що діаграми були отримані з використанням DSL , написаної на Tcl.
Інша відповідь запропонувала запропонувати використовувати генератор діаграм, який працює з граматики EBNL.
Однією з речей, з якою добре справляється генератор залізничних колій IBM, є значення за замовчуванням. Я не бачив іншого генератора, який це робить.
Прикладом є
┌─────◀────┐┌(──«defaults»─)─┐
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
│ ┌────◀─────┐ │
└(┴┬«option»┬┴┬─┬┘
└Help────┘ └)┘
Я шукав також інструменти, які використовуються для створення цих синтаксичних діаграм, і, якщо можливо, js library
це можна редагувати та відображати, не чекаючи нудного часу, коли з'явиться графіка.
Я знаю, що там є інструменти , але я б сказав, що генератор з bottlecaps.de має гарну графіку з кольоровим варіантом. На жаль, я не зміг отримати вихідний код цього інструменту.
Я також звернувся до відповідних питань відповідей тут, але отримав лише підписки, де ми можемо отримати це як відкритий код js library
і забезпечений онлайн-демонстрацією, де ми можемо спробувати і пограти .
js
( синтаксис існує також як Python
бібліотека)js
але UML ( синтаксис генерується через bottlecaps.de )js
але знайдено лише для UMLЯ знайшов інструмент J-algo. Я думаю, що малювати схему дуже просто, але я не можу експортувати зображення або інший тип.
Погляньте на http://code.google.com/p/html-railroad-diagram/, який генерує діаграми HTML залізниць. Є приклад, який показує залізницю JSON, сформовану на HTML-сторінці в JavaScript із посиланнями.