【问题标题】:Add subtree to main tree?将子树添加到主树?
【发布时间】:2013-07-17 11:54:20
【问题描述】:

我目前正在手动遍历树,而不是使用 ANTLR/CommonTree 执行树语法。我做了一些转换,我想将其中一些移到那棵树的父级。它也可能发生在根上。

例子:

说这个 AST,我想把 BLOCK 里面的所有 VARDECL 语句移动到树的根部。

这样做:我得到一个异常

Exception in thread "main" java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    at java.util.ArrayList$Itr.next(Unknown Source)

知道如何解决这个问题吗?提前致谢!

【问题讨论】:

    标签: tree antlr antlr3 abstract-syntax-tree


    【解决方案1】:

    这听起来像是一个 Java 问题。似乎您在枚举它时正在操作 ArrayList(插入/删除)。如果要删除节点,请首先在单独的列表中收集候选者。然后遍历该候选列表并从原始列表中删除任何候选。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多