ATNOptimizer.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:codebuff 作者:
private static void optimizeStates(ATN atn) {
//      System.out.println(atn.states);
        List<ATNState> compressed = new ArrayList<ATNState>();
        int i = 0; // new state number
        for (ATNState s : atn.states) {
            if ( s!=null ) {
                compressed.add(s);
                s.stateNumber = i; // reset state number as we shift to new position
                i++;
            }
        }
//      System.out.println(compressed);
//      System.out.println("ATN optimizer removed " + (atn.states.size() - compressed.size()) + " null states.");
        atn.states.clear();
        atn.states.addAll(compressed);
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号