TokenStreamRewriter.InsertBefore() 行为与 C "do-while();" 语句不一致

Inconsistent TokenStreamRewriter.InsertBefore() behavior with C "do-while();" statements

我正在尝试使用 ANTLR 侦听器机制来检测 C 代码。但是我发现 TokenStreamRewriter.InsertBefore() API 与 C do-while(); 语句有些不一致的行为。

我已经发布了详细的描述ANTLR Issue #2252。所以我不会在这里重复它。

有人遇到同样的问题吗?

问题已解决。结果证明我对 InsertBefore/After() 行为的假设是不正确的。我把详细的解释发到Issue #2252了。希望能帮到有困惑的人。