从Bison自动生成语法图

时间:2013-01-29 02:14:39

标签: syntax bison

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

顺便说一下,我想你知道最近的bison版本会产生描述解析状态的DOT个文件吗? (使用-g选项。)这些用于记录语法的用处很少,如果你的语法接近复杂,你需要很多空间,但是它们也可以提供一些有关语法的有用信息。