如何可视化构建AST的每一步

时间:2018-04-21 21:48:56

标签: parsing data-structures abstract-syntax-tree

我正在编写表达式和可视化解析器,这意味着递归下降解析或构建AST的每一步都会像VisuAlgo

的小版本一样可视化
// Expression grammer
Goal -> Expr
Expr -> Term + Term
      | Expr - Term
      | Term
Term -> Term * Factor
      | Term / Factor
      | Factor
Factor -> (Expr)
      | num
      | name

所以我想知道什么数据结构可以很容易地用于存储构建AST的每个步骤以及如何实现构建AST的每个步骤的可视化。好吧,我之前已经搜索了一些类似的问题并实现了一个递归下降解析器,但是无法找到解决这个问题的方法。如果有人能帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

This SO answer显示了在解析时如何解析和构建树

您可以轻松地在创建它们的每个点打印树或树片段。

要打印树,只需递归地遍历它并打印带有等于递归深度的缩进的节点。