
KGT 铁路图输出格式终极指南SVG、ASCII、UTF-8、HTML5、parcon 到底怎么选【免费下载链接】kgtBNF wrangling and railroad diagrams项目地址: https://gitcode.com/gh_mirrors/kg/kgtKGTKates Grammar Tool是一款命令行语法工具能将 BNF、ABNF、ISO EBNF 等各类形式化文法转换为铁路图Railroad Diagram并提供 SVG、ASCII、UTF-8、HTML5、parcon 等多种输出格式。本文带你快速搞懂每种铁路图输出格式的适用场景选对最适合你的那一枚。什么是 KGT一条命令生成语法铁路图KGT 从标准输入读取文法-l指定输入方言向标准输出写出目标格式-e指定输出格式。它的核心能力是把抽象的 BNF 规则画成人人能看懂的铁路图; kgt -l bnf -e rrutf8 examples/expr.bnf expr: │├──╮── term ── ── expr ──╭──┤│ │ │ ╰───────── term ──────────╯项目入口与全部输入/输出格式的注册表位于 src/main.c各格式实现分别位于src/svg/、src/rrtext/、src/html5/、src/rrparcon/等模块目录。KGT 输出格式全景图不止铁路图在选格式之前先了解 KGT 的编译流程输入方言 → 内部 AST → 铁路图树RRD→ 美化 → 目标格式。按用途输出格式可分为三类类别格式名用途✨ 表现层铁路图svg、rrtext、rrutf8、html5直接给人看的图 第三方渲染器中间格式rrparcon、rrll、rrta交给 parcon.js、railroad 等库再渲染 调试格式rrdot、rrdump、rrtdump、dot、sid、json查看 KGT 内部结构一般用不上五大铁路图输出格式逐个解析SVG网页嵌入的首选矢量图; kgt -l bnf -e svg examples/expr.bnf expr.svgSVG 输出是完整的矢量铁路图无限放大不糊可直接img嵌入网页、塞进文档或转成 PDF。适合需要正式排版、对外发布的场景。实现位于 src/svg/output.c。rrtext纯 ASCII 字符的终端铁路图只使用纯 ASCII 字符|、-、、绘制任何终端、邮件、纯文本环境都能原样显示不会因字体缺失而变砖。适合粘贴进聊天窗口、工单、纯文本 README提交到不支持 Unicode 的老旧系统rrutf8美观度最高的盒线字符图 ✨与rrtext同一个渲染引擎但用│ ─ ├ └ ╮等 UTF-8 盒线字符替换 ASCII对齐更整齐、观感接近真正的图形。现代终端和 GitHub Markdown 下效果最佳也是项目推荐的首选文本格式。两者的实现共享同一套渲染逻辑差异仅在于字符映射表见 src/rrtext/output.c 中的tile字符替换表。html5一个文件就是一张交互式网页; kgt -l bnf -e html5 examples/expr.bnf expr.html输出自包含的 HTML5 页面用浏览器打开即得带样式的铁路图可用-c选项附加自定义 CSS。适合直接分发给同事评审语法或嵌进项目文档站点。实现见 src/html5/output.c。parcon对接第三方渲染器的中间格式rrparcon输出的是 parcon.railroad DSL 文本而非图形本身交由 parcon.js 等客户端库在浏览器中渲染成可交互、可放大的铁路图类似的还有rrllLukas Lueg 的 railroad DSL和rrtaTab Atkins 风格CSS 规范同款。 选择建议想要所见即所得就选 SVG / HTML5想二次开发、动态渲染就选 parcon 系列。它们的 AST 支持有限部分语法特性需 KGT 自动改写后才能输出见 src/rrparcon/output.c。30 秒决策表你的场景对应哪个格式你的场景推荐格式嵌入网页 / 写入文档 / 出版svg生成独立网页分享评审html5粘贴进终端、工单、聊天rrutf8首选/rrtext老旧环境前端项目动态渲染语法图rrparcon/rrll排查 KGT 内部转换问题rrdump/rrtdump/rrdot常见问题速答Qrrtext 和 rrutf8 我该记哪个A日常用rrutf8就够了只有目标环境确定不支持 UTF-8 时才退回rrtext。Q如何只看文法中的部分规则A用-w rule1,rule2传入逗号分隔的规则白名单输出会只保留这些规则大文法如 C89/C99尤其好用。Q输出太啰嗦能关美化吗A加-n参数关闭 pretty-print直接输出原始铁路树。更多示例文法C89、C99、JSON、ABNF 等可参考 examples/ 目录其中 examples/expr.bnf 是最佳上手样例。总结一张图记住 KGT 铁路图格式选型正式展示→svg/html5纯文本场景→rrutf8兜底rrtext二次开发→rrparcon/rrll/rrta调试内部→rrdump/rrtdump从一条kgt -l bnf -e svg命令开始五分钟就能让你的语法文档焕然一新。【免费下载链接】kgtBNF wrangling and railroad diagrams项目地址: https://gitcode.com/gh_mirrors/kg/kgt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考