是否有任何工具可以为jtb& amp; javacc喜欢antlrworks

时间:2015-06-30 05:01:26

标签: antlr javacc antlrworks

Antlrworks为输入源代码文件提供可视化的解析树。我想知道javacc&是否有任何等价工具。 JTB 感谢

1 个答案:

答案 0 :(得分:2)

走树。以graphviz(“点”)格式吐出节点和弧。在结果上调用graphviz。

这对于超过一百个节点来说不是很有用,因为它不是很密集。

值得注意的是,一种更具伸缩性的方法是打印嵌套的S-expression,格式如下:

<depth_from_root*spaces> ( <nodetype>  <newline>
        <childnode1_as_S-expression>
        <childnode2_as_S-expression>
        ...
        <childnodeN_as_S-expression>
               )<nodetype>

这实际上是将树打印到侧面,例如用根打印 在左边,孩子在右边。你可以打印出来 这样的大树,仍然能够阅读它们(如果你 可以在文本中上下滚动。)

作为一个例子:a *(b + c)-d:

   (-
        (* 
           (+ 
              (variable b)
              (variable c)
            )+
         )*
         (constant 1)
    )-

这也可以通过树步行轻松完成。您可以轻松地进行打印 版本更密集,或添加更多信息。

查看这两个示例,here