public static String getSemanticContextDisplayString(PredicateEvalInfo pred,
PreviewState previewState,
SemanticContext semctx,
int alt,
boolean result) {
Grammar g = previewState.g;
String semanticContextDisplayString = g.getSemanticContextDisplayString(semctx);
if ( semctx instanceof SemanticContext.PrecedencePredicate ) {
int ruleIndex = previewState.parsingResult.parser.getATN().decisionToState.get(pred.decision).ruleIndex;
Rule rule = g.getRule(ruleIndex);
int precedence = ((SemanticContext.PrecedencePredicate) semctx).precedence;
// precedence = n - originalAlt + 1, So:
int originalAlt = rule.getOriginalNumberOfAlts()-precedence+1;
alt = originalAlt;
}
return semanticContextDisplayString+" => alt "+alt+" is "+result;
}
ProfilerPanel.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:intellij-plugin-v4
作者:
评论列表
文章目录