GoParserFactory.java 文件源码

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

项目:goworks 作者:
@Override
public int adaptivePredict(TokenStream input, int decision, ParserRuleContext outerContext) {
    if (decision == QID_DECISION && QID_DECISION >= 0) {
        if (input.LA(1) == GoParser.IDENTIFIER) {
            if (input.LA(2) == GoParser.Dot) {
                if (input.LA(3) == GoParser.IDENTIFIER) {
                    return qidPredicate.eval(parser, outerContext) ? 1 : 2;
                } else {
                    assert input.LA(3) != CaretToken.CARET_TOKEN_TYPE;
                    return 2;
                }
            } else {
                assert input.LA(2) != CaretToken.CARET_TOKEN_TYPE;
                return 2;
            }
        }
    }

    return super.adaptivePredict(input, decision, outerContext);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号