เครื่องมือสำหรับสร้างแผนภาพทางรถไฟที่ใช้ใน json.org [ปิด]


99

ฉันชอบไวยากรณ์ของแผนภาพทางรถไฟในjson.orgซึ่งเป็นภาพกราฟิกของภาษา BNF ฉันไม่พบเครื่องมือใดที่สามารถสร้างผลลัพธ์ได้อย่างคมคาย

ใครสามารถระบุเครื่องมือที่ใช้สร้างไดอะแกรมเหล่านี้ได้บ้าง

ข้อความแสดงแทน

ข้อความแสดงแทน

คำตอบ:


94

มีความเป็นออนไลน์รถไฟแผนภาพปั่นไฟ สร้างแผนภาพไวยากรณ์ SVG หรือที่เรียกว่าแผนภาพทางรถไฟจากไวยากรณ์ที่ไม่มีบริบทที่ระบุในEBNF EBNFคุณสามารถคัดลอกรหัส SVG หรือถ่ายภาพหน้าจอ

คุณต้องพิมพ์ไวยากรณ์และมันจะสร้างแผนภาพ

ตัวอย่างเช่นในการสร้างแผนภาพทางรถไฟแรกที่คุณแสดงคุณจะต้องใช้รหัส:

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

ป้อนคำอธิบายภาพที่นี่

จากนั้นคุณสามารถกำหนดstringและvalueใช้string ::= ...และvalue ::= ...การอ้างอิงจะแสดงทั้งหมด

ดูแผนภาพตัวอย่างบางส่วนในหน้า พวกเขามี XML และแม้แต่ EBNF เอง


มีความคิดอย่างไรในการรับกราฟิกลงในเอกสารของคุณเองนอกเหนือจาก a) การสร้างภาพหน้าจอ b) การคัดลอกแหล่ง svg จากแหล่งที่มาของหน้าหรือไม่?
rudolfson

1
@rudolfson - คุณสามารถเขียนของคุณเองตรรกะกลางก็ไม่เลวร้ายเกินไปและมีโค้ดทั้งหมดให้ดู จากนั้นก็ฝังลงในเอกสารของคุณ ฉันเขียนปลั๊กอิน WP ตามนี้ - ส่วนที่ยากที่สุดคือการทำให้กราฟิกดูดี
Peter Ajtai

2
ตัวสร้างแผนภาพรถไฟออนไลน์ที่กล่าวถึงที่นี่ตอนนี้มีไฟล์ ZIP ที่มีเวอร์ชัน PNG ของไดอะแกรมที่สร้างขึ้น เครื่องมือที่ยอดเยี่ยม!
Sebastián Grignoli

2
ดูเหมือนว่า webapp จะย้ายมาที่นี่: bottlecaps.de/rr
enrico.bacis

ขอบคุณ @ enrico.bacis - อัปเดตลิงค์
Peter Ajtai

50

จาก Douglas Crockford
ถึง Aleem B
วันที่อ. 28 เม.ย. 2552 เวลา 18:01 น
เรื่อง Re: Railroad Diagrams ใน json.org

ฉันวาดด้วย Visio Creative Docs.NET ยังทำงานได้ดี

-

Aleem B เขียนว่า:

สวัสดีดักลาส

ฉันสนุกกับสิ่งต่างๆมากที่สุดที่คุณนำเสนอและแผนภาพรถไฟใน json.org ก็ไม่ต่างกัน ฉันพยายามมองไปรอบ ๆ เพื่อหาเครื่องมือที่จะสร้างไดอะแกรมได้เกือบจะคมชัด แต่ก็ไม่มีโชค:

เครื่องมือสำหรับสร้างแผนภาพทางรถไฟที่ใช้ใน json.org

มีเครื่องมือบางอย่างที่คุณใช้ในการแปลง BNF เป็นไดอะแกรมเหล่านี้หรือสร้างขึ้นด้วยมือหรือไม่?

- อาเลม


7
เพื่อความสำเร็จ: Tab Atkins Jr. ได้สร้างJavascript Railroad-diagram Generatorโดยใช้ SVG โดยเฉพาะเพราะเขาไม่พบสิ่งที่ดึงดูดสายตาอย่างที่ต้องการนั่นคือ "รูปลักษณ์ของ JSON.org"
Potherca


8

มีคำถามคล้าย ๆ กันเมื่อสองสามวันก่อน: อะไรคือเครื่องมือที่ดีในการสร้างแผนภาพทางรถไฟ?

คำถามนั้นเกี่ยวกับวิธีการสร้างแผนภาพทางรถไฟในแผนภาพไวยากรณ์ SQLite ตอบรับพบว่าแผนภาพที่ถูกสร้างขึ้นโดยใช้ DSL ที่เขียนใน Tcl

คำตอบอีกข้อเสนอข้อเสนอแนะในการใช้ตัวสร้างไดอะแกรมซึ่งทำงานได้ดีกว่าไวยากรณ์ EBNL


นอกจากนี้ยังมีรายการเครื่องมือในบทความ Wikipedia ที่ฉันลิงก์ไป แผนผังทางรถไฟที่แท้จริงไม่จำเป็นต้องมีลูกศรหากคุณนึกภาพว่ารถไฟกำลังเดินทางตามรางรถไฟเหล่านั้นควรมีความชัดเจนว่าคุณสามารถใช้เส้นทางใดได้หรือไม่ได้ และไดอะแกรม json.org ก็สวยมากฉันต้องรู้ว่ามีเครื่องมือสำหรับพวกเขาหรือไม่ =) เคยเห็นลิงค์เหล่านี้แล้ว แต่อาจช่วยคนอื่นได้
aleemb

4

สิ่งหนึ่งที่เครื่องกำเนิดรางรถไฟของ IBM จัดการได้ดีคือค่าดีฟอลต์ ฉันไม่เห็นเครื่องกำเนิดไฟฟ้าอื่นที่ทำเช่นนี้

ตัวอย่างคือ

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

4

ฉันกำลังมองหาเครื่องมือที่ใช้ในการสร้างSyntax Diagrams เหล่านี้และถ้าเป็นไปได้ในjs libraryก็สามารถแก้ไขและแสดงผลได้โดยไม่ต้องรอเวลาที่น่าเบื่อสำหรับกราฟิกที่จะมา

ฉันรู้ว่ามีเครื่องมืออยู่ที่นั่นแต่ฉันจะบอกว่าเครื่องกำเนิดไฟฟ้าจากbottlecaps.deมีกราฟิกที่ดีพร้อมตัวเลือกสี น่าเสียดายที่ฉันไม่สามารถรับซอร์สโค้ดของเครื่องมือได้ที่นั่น

ฉันยังไปที่คำถามที่เกี่ยวข้องของคำตอบที่นี่ แต่มีเพียงสิ่งต่อไปนี้ที่เราสามารถทำให้เป็นโอเพ่นซอร์สjs libraryและมีการสาธิตออนไลน์ที่เราสามารถลองเล่นได้




0

ฉันดูเหมือนจะจำได้ว่า IBM มีเครื่องมือที่สร้างไดอะแกรมดังกล่าวเป็นส่วนหนึ่งของชุด BookMaster SGML แผนภาพรางรถไฟมักใช้ในเอกสารประกอบของเมนเฟรม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.