Ferramenta para gerar diagrama de ferrovia usada em json.org [fechado]


99

Adoro a sintaxe dos diagramas ferroviários no json.org, que são uma representação gráfica da linguagem BNF. Não encontrei nenhuma ferramenta que possa produzir resultados com a mesma eloquência.

Alguém pode identificar a ferramenta usada para gerar esses diagramas?

texto alternativo

texto alternativo

Respostas:


94

Existe um Gerador de Diagrama de Ferrovia Online . Ele cria diagramas de sintaxe SVG , também conhecidos como diagramas de ferrovia, a partir de gramáticas livres de contexto especificadas em EBNF . Você pode copiar o código SVG ou fazer capturas de tela.

Você tem que digitar a gramática e isso fará o diagrama.

Por exemplo, para criar o primeiro diagrama de ferrovia que você mostra, você usaria o código:

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

insira a descrição da imagem aqui

Então você poderia definir string e valueusar string ::= ...evalue ::= ... As referências são todas mostradas.

Confira alguns dos diagramas de exemplo na página. Eles têm XML e até o próprio EBNF.


Alguma idéia de como obter os gráficos em seu próprio documento além de a) fazer uma captura de tela b) copiar o código-fonte svg do código-fonte da página?
rudolfson

1
@rudolfson - Você pode escrever o seu próprio, a lógica central não é tão ruim e todo o código está lá para ver. Em seguida, basta incorporar em seu documento. Eu escrevi um plugin WP baseado nisso. - A parte mais difícil é deixar os gráficos bonitos.
Peter Ajtai

2
O Online Railroad Diagram Generator mencionado aqui agora oferece um arquivo ZIP com a versão PNG dos diagramas gerados. Ótima ferramenta!
Sebastián Grignoli

2
Parece que o webapp mudou para cá: bottlecaps.de/rr
enrico.bacis

Obrigado @ enrico.bacis - link atualizado
Peter Ajtai

50

de Douglas Crockford
para Aleem B,
data Ter, 28 de abril de 2009 às 18:01
assunto Re: Railroad Diagrams em json.org

Eu os desenhei com o Visio. Creative Docs.NET também funciona bem.

-

Aleem B escreveu:

Olá Douglas,

Gosto muito da maioria das coisas que você publica e os diagramas ferroviários no json.org não são diferentes. Tenho tentado procurar uma ferramenta que gerasse diagramas quase tão eloquentes, mas não tive sorte:

Ferramenta para gerar diagrama de ferrovia usada em json.org

Você usou alguma ferramenta para converter o BNF para esses diagramas ou eles foram feitos à mão?

- Aleem


7
Para completar: Tab Atkins Jr. criou um gerador de diagrama de ferrovia Javascript usando SVG. especificamente porque ele não conseguiu encontrar um que tivesse o apelo visual que ele queria, ou seja, "o visual JSON.org".
Potherca


8

Houve uma pergunta semelhante há alguns dias: Qual é uma boa ferramenta para criar diagramas ferroviários?

Essa questão era sobre como os diagramas de ferrovia nos diagramas de sintaxe SQLite foram gerados. A resposta aceita descobriu que os diagramas foram gerados usando um DSL escrito em Tcl.

Outra resposta sugeriu o uso de um gerador de diagramas que funcione fora da gramática EBNL.


Para adicionar a isso, há também uma lista de ferramentas no artigo da Wikipedia para o qual estou vinculado. Um diagrama de ferrovia verdadeiro não precisa de setas - se você imaginar um trem viajando por esses trilhos, deve estar claro quais rotas você pode ou não tomar. E os diagramas do json.org são tão bonitos, preciso saber se existe uma ferramenta para eles =) Já vi esses links, mas talvez ajude outros.
aleemb

4

Uma das coisas que o gerador de trilhos da IBM lida bem são os valores padrão. Eu não vi outro gerador que faça isso.

Um exemplo é

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

4

Tenho procurado também as ferramentas usadas para gerar esses Diagramas de Sintaxe e, se possível, js librarypara que possam ser editados e exibidos sem esperar um tempo chato para um gráfico vir.

Eu sei que existem ferramentas lá fora, mas eu diria que o gerador de bottlecaps.de tem um gráfico legal com opção de cor. Infelizmente, não consegui obter o código-fonte da ferramenta lá.

Também fui às perguntas relacionadas com as respostas aqui, mas obtivemos apenas as seguintes, onde podemos obtê-lo como código aberto js librarye fornecido com uma demonstração online onde podemos experimentar e brincar .




0

Parece que me lembro que a IBM tem uma ferramenta que cria esses diagramas como parte de seu conjunto BookMaster SGML. Os diagramas ferroviários são freqüentemente usados ​​na documentação do mainframe.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.