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.
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.
Respostas:
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 )*)? '}'
Então você poderia definir string
e value
usar 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.
de Douglas Crockford
para Aleem B,
data Ter, 28 de abril de 2009 às 18:01
assunto Re: Railroad Diagrams em json.orgEu 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
Tab Atkins Jr. criou um gerador de diagrama de ferrovia Javascript usandoSVGespecificamente porque ele não conseguiu encontrar um que tivesse o apelo visual que ele queria, ou seja, " o visual JSON.org ".
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.
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────┘ └)┘
Tenho procurado também as ferramentas usadas para gerar esses Diagramas de Sintaxe e, se possível, js library
para 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 library
e fornecido com uma demonstração online onde podemos experimentar e brincar .
js
(a sintaxe também existe como uma Python
biblioteca)js
but UML (a sintaxe é gerada via bottlecaps.de )js
mas encontrado apenas para UMLEncontrei a ferramenta J-algo. Acho que é muito fácil desenhar um diagrama, mas não consigo exportar para imagem ou outro tipo.
Dê uma olhada em http://code.google.com/p/html-railroad-diagram/ que gera diagramas de ferrovia em HTML. Há um exemplo que mostra a ferrovia JSON gerada em uma página HTML por JavaScript com links.