ParserATNSimulator.java 文件源码

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

项目:Scratch-ApuC 作者:
protected DFAState.PredPrediction[] getPredicatePredictions(BitSet ambigAlts,
                                                             SemanticContext[] altToPred)
    {
        List<DFAState.PredPrediction> pairs = new ArrayList<DFAState.PredPrediction>();
        boolean containsPredicate = false;
        for (int i = 1; i < altToPred.length; i++) {
            SemanticContext pred = altToPred[i];

            // unpredicated is indicated by SemanticContext.NONE
            assert pred != null;

            if (ambigAlts!=null && ambigAlts.get(i)) {
                pairs.add(new DFAState.PredPrediction(pred, i));
            }
            if ( pred!=SemanticContext.NONE ) containsPredicate = true;
        }

        if ( !containsPredicate ) {
            return null;
        }

//      System.out.println(Arrays.toString(altToPred)+"->"+pairs);
        return pairs.toArray(new DFAState.PredPrediction[pairs.size()]);
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号