我想找到一个从bison源文件自动生成语法图的工具。有谁知道这样的工具?这是一个类似的帖子,但答案给我留下了太多问题:
https://stackoverflow.com/questions/3141317/creating-diagram-of-grammar-bison
答案 0 :(得分:3)
有这个工具:http://bottlecaps.de/rr/ui但它需要EBNF。公平地说,EBNF使语法更清晰,因为它允许直接表示必须从野牛源文件推断出的项目序列。我相信也有一些工具可以尝试进行推理。
还有这个工具:https://github.com/tabatkins/railroad-diagrams,它要求你提供实际上是语法的AST(理想情况下,按照前一个转换。)这可能是一个更好的选择,因为你使用,好吧,野牛:)可以很容易地产生一个野牛语法的AST,它应该很容易推断序列运算符,甚至标记它们。
可能还有其他工具,但我怀疑他们都会有类似的问题。我列出的两个工具至少看起来很好(imo)正常大小的语法。您可以在Wikipedia找到更多链接。
顺便说一下,我想你知道最近的bison版本会产生描述解析状态的DOT
个文件吗? (使用-g
选项。)这些用于记录语法的用处很少,如果你的语法接近复杂,你需要很多空间,但是它们也可以提供一些有关语法的有用信息。