Инструмент для формирования рельсовой схемы, используемой на json.org [закрыто]


Я люблю синтаксис железной дороги-схемы on json.org которые являются графическим представлением языка BNF. Я не нашел никаких инструментов, которые могли бы дать столь же красноречивые результаты.

может ли кто-нибудь определить инструмент, используемый для создания этих диаграмм?

9 94

9 ответов:

есть Онлайн Генератор Железнодорожных Диаграмм. Он создает SVG синтаксические диаграммы, также известный как железнодорожные диаграммы, от контекстно-свободных грамматик, указанный в EBNF. Вы можете скопировать код SVG или сделать снимки экрана.

вы должны ввести грамматику, и это сделает диаграмму.

например, чтобы создать первую железнодорожную схему, которую вы показываете, вы должны использовать код:

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

enter image description here

тогда вы можете перейти к определению string и value используя string ::= ... и value ::= ... ссылки все показано.

проверить некоторые примеры диаграмм на странице. У них есть XML и даже сам EBNF.

от Дугласа Крокфорда
к Алиму Б
дата Вт, 28 апреля 2009 в 6: 01 вечера
тема Re: железнодорожные схемы на json.org

Я нарисовал их с Visio. Творческий Docs.NET также хорошо работает.

--

Aleem B писал:

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

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

инструмент для формирования железнодорожной схемы, используемый на json.org

есть ли какой-то инструмент, который вы использовали для преобразования БНФ к этим диаграммам или они были ручной работы?

-- Aleem

Таб Аткинс Младший создал железной дороги-схема генератора на JavaScript используя svg в частности, потому что он не мог найти тот , который имел визуальную привлекательность, которую он хотел, т. е. "в JSON.org посмотри".

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

этот вопрос касался того, как были созданы железнодорожные диаграммы в синтаксических диаграммах SQLite. Элемент принято отвечать найдено, что диаграммы были сгенерированы с использованием DSL, написанного на Tcl.

еще один ответ предложил использовать генератор диаграмм, который работает с грамматикой EBNL.

одна из вещей, которые хорошо обрабатывает генератор железнодорожных путей IBM, - это значения по умолчанию. Я не видел другого генератора, который делает это.

пример

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

Я нашел инструмент J-algo. Я думаю, что это очень легко рисовать схемы, но я не могу экспортировать в изображение или другой тип.

enter image description here

http://j-algo.binaervarianz.de/index.php

Я искал также инструменты, используемые для создания этих синтаксис диаграммы и по возможности в js library таким образом, его можно редактировать и отображать, не дожидаясь скучного времени для графики.

Я знаю, что есть инструменты там но я бы сказал, что генератор от bottlecaps.de имеет приятную графику с цветовым вариантом. К сожалению, я не смог получить исходный код инструмент он сам там.

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

взгляните на http://code.google.com/p/html-railroad-diagram/ который генерирует HTML железнодорожные диаграммы. Существует пример это показывает железную дорогу JSON, созданную на HTML-странице JavaScript со ссылками.

Я, кажется, помню, что IBM имеет инструмент, который строит такие диаграммы как часть их BookMaster SGML suite. Железнодорожные схемы часто используются в документации ЭВМ.