我目前正在手动走树,而不是使用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)
知道如何解决这个问题?提前谢谢!
答案 0 :(得分:1)
这听起来像是一个Java问题。在枚举它时,您似乎正在操作ArrayList(插入/删除)。如果要删除节点,请先在单独的列表中收集候选项。然后迭代该候选列表并从原始列表中删除任何候选者。