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

Aleemb
fonte

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.

Peter Ajtai
fonte
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

Aleemb
fonte
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.

coobird
fonte
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────┘ └)┘                         
Leslie Turriff
fonte
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 .

Chetabahana
fonte
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.

Ron
fonte