Parser.java 文件源码

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

项目:Scratch-ApuC 作者:
/**
 * The preferred method of getting a tree pattern. For example, here's a
 * sample use:
 *
 * <pre>
 * ParseTree t = parser.expr();
 * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
 * ParseTreeMatch m = p.match(t);
 * String id = m.get("ID");
 * </pre>
 */
public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
    if ( getTokenStream()!=null ) {
        TokenSource tokenSource = getTokenStream().getTokenSource();
        if ( tokenSource instanceof Lexer ) {
            Lexer lexer = (Lexer)tokenSource;
            return compileParseTreePattern(pattern, patternRuleIndex, lexer);
        }
    }
    throw new UnsupportedOperationException("Parser can't discover a lexer to use");
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号