Uwielbiam składnię diagramów kolejowych w serwisie json.org, które są graficzną reprezentacją języka BNF. Nie znalazłem żadnych narzędzi, które mogłyby dać tak wymowne wyniki.
Uwielbiam składnię diagramów kolejowych w serwisie json.org, które są graficzną reprezentacją języka BNF. Nie znalazłem żadnych narzędzi, które mogłyby dać tak wymowne wyniki.
Odpowiedzi:
Istnieje internetowy generator diagramów kolejowych . Tworzy diagramy składniowe SVG , znane również jako diagramy kolejowe, z gramatyk bezkontekstowych określonych w EBNF . Możesz skopiować kod SVG lub robić zrzuty ekranu.
Musisz wpisać gramatykę, a to utworzy diagram.
Na przykład, aby utworzyć pierwszy pokazany diagram linii kolejowej, użyłbyś kodu:
object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}'
Następnie możesz przejść do zdefiniowania string
i value
używania, string ::= ...
a value ::= ...
wszystkie odniesienia są pokazane.
Zapoznaj się z przykładowymi diagramami na stronie. Mają XML, a nawet sam EBNF.
od Douglasa Crockforda
do Aleem B
data wt., 28 kwietnia 2009, godz.
18:01 temat Re: Diagramy kolejowe w serwisie json.orgNarysowałem je za pomocą Visio. Creative Docs.NET również działa dobrze.
-
Aleem B napisał:
Cześć Douglas,
Bardzo mi się podoba większość rzeczy, które tam publikujesz, a diagramy kolejowe na json.org nie różnią się od siebie. Próbowałem rozejrzeć się za narzędziem, które generowałoby diagramy prawie tak elokwentne, ale nie miałem szczęścia:
Narzędzie do generowania diagramów kolejowych używane w serwisie json.org
Czy jest jakieś narzędzie, którego użyłeś do konwersji BNF na te diagramy, czy były one ręcznie wykonane?
- Aleem
Tab Atkins Jr. stworzył generator diagramów kolejowych JavaScript przy użyciusvgszczególnie dlatego, że nie mógł znaleźć takiego, który miałby taki wygląd, jaki chciał, tj. „ wygląd JSON.org ”.
Kilka dni temu było podobne pytanie: Jakie jest dobre narzędzie do tworzenia diagramów kolejowych?
To pytanie dotyczyło sposobu generowania diagramów kolejowych w diagramach składni SQLite. Akceptowane odpowiedź stwierdził, że diagramy zostały wygenerowane przy użyciu DSL napisany w Tcl.
W innej odpowiedzi zaproponowano użycie generatora diagramów, który działa na podstawie gramatyki EBNL.
Jedną z rzeczy, z którymi dobrze radzi sobie generator torów kolejowych IBM, są wartości domyślne. Nie widziałem innego generatora, który to robi.
Przykładem jest
┌─────◀────┐┌(──«defaults»─)─┐
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
│ ┌────◀─────┐ │
└(┴┬«option»┬┴┬─┬┘
└Help────┘ └)┘
Szukałem również narzędzi używanych do generowania tych diagramów składni i, jeśli to możliwe, w js library
celu ich edytowania i wyświetlania bez czekania na nudny czas na nadejście grafiki.
Wiem, że są narzędzia , ale powiedziałbym, że generator z bottlecaps.de ma ładną grafikę z opcją koloru. Niestety nie udało mi się tam pobrać kodu źródłowego narzędzia.
Poszedłem również do powiązanych pytań z odpowiedziami, ale otrzymałem tylko następujące, w których możemy je pobrać jako oprogramowanie typu open source js library
i dostałem demo online, w którym możemy spróbować grać .
js
( Składnia istnieje również jako Python
biblioteka)js
but UML ( składnia jest generowana przez bottlecaps.de )js
ale znaleziony tylko dla UMLZnalazłem narzędzie J-algo. Myślę, że bardzo łatwo jest narysować diagram, ale nie mogę wyeksportować do obrazu ani innego typu.
Spójrz na http://code.google.com/p/html-railroad-diagram/, który generuje diagramy kolejowe HTML. Jest przykład, który pokazuje kolejkę JSON wygenerowaną na stronie HTML przez JavaScript z linkami.