Bison 自动生成语法图

问题描述 投票:0回答:1

我想找到一个从野牛源文件自动生成语法图的工具。有谁知道这样的工具吗?这是一篇类似的帖子,但答案给我留下了太多疑问:

https://stackoverflow.com/questions/3141317/creating-diagram-of-grammar-bison

syntax bison
1个回答
3
投票

有这个工具:https://www.bottlecaps.de/rr/ui,但它需要 EBNF。公平地说,EBNF 使语法更加清晰,因为它允许直接表示必须从野牛源文件推断的项目序列。我相信也有一些工具可以尝试进行这种推理。

还有这个工具:https://github.com/tabatkins/railroad-diagrams,它要求您提供实际上的语法 AST(理想情况下,按照前一个进行转换。)可能是一个更好的选择,因为您可以使用 bison 轻松生成 bison 语法的 AST :) 并且应该很容易推断序列运算符,甚至标记它们。

可能还有其他工具,但我怀疑它们都会有类似的问题。我列出的两个工具至少对于正常大小的语法来说看起来不错(在我看来)。您可以在Wikipedia上找到更多链接。

顺便说一句,我想你知道最近的 bison 版本会生成描述解析状态的

DOT
文件吗? (使用
-g
选项。)这些对于记录语法几乎没有什么用处,如果您的语法接近复杂,则需要大量空间,但它们也可以提供一些有关语法的有用信息。

© www.soinside.com 2019 - 2024. All rights reserved.