1

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

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

4

1 回答 1

3

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

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

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

顺便说一句,我想你知道最近的野牛版本会生成DOT描述解析状态的文件吗?(使用该-g选项。)这些对于记录语法几乎没有用处,如果您的语法接近复杂,则需要大量空间,但它们也可以提供有关语法的一些有用信息。

于 2013-01-29T05:06:18.850 回答