org.antlr.v4.runtime.Parser.compileParseTreePattern()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(4.5k)|赞(0)|评价(0)|浏览(94)

本文整理了Java中org.antlr.v4.runtime.Parser.compileParseTreePattern()方法的一些代码示例,展示了Parser.compileParseTreePattern()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parser.compileParseTreePattern()方法的具体详情如下:
包路径:org.antlr.v4.runtime.Parser
类名称:Parser
方法名:compileParseTreePattern

Parser.compileParseTreePattern介绍

[英]The preferred method of getting a tree pattern. For example, here's a sample use:

ParseTree t = parser.expr(); 
ParseTreePattern p = parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr); 
ParseTreeMatch m = p.match(t); 
String id = m.get("ID");

[中]获取树模式的首选方法。例如,这里有一个示例用法:

ParseTree t = parser.expr(); 
ParseTreePattern p = parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr); 
ParseTreeMatch m = p.match(t); 
String id = m.get("ID");

代码示例

代码示例来源:origin: org.antlr/antlr4-runtime

/**
 * 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");
}

代码示例来源:origin: com.tunnelvisionlabs/antlr4-runtime

/**
 * 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 ( getInputStream()!=null ) {
    TokenSource tokenSource = getInputStream().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");
}

代码示例来源:origin: com.impetus.fabric/fabric-jdbc-driver-shaded

/**
 * 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");
}

代码示例来源:origin: uk.co.nichesolutions/antlr4-runtime

/**
 * 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");
}

代码示例来源:origin: io.virtdata/virtdata-lib-realer

/**
 * 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");
}

代码示例来源:origin: antlr/intellij-plugin-v4

ParseTreePattern p = parser.compileParseTreePattern(treePattern, ANTLRv4Parser.RULE_lexerRule);
List<ParseTreeMatch> matches = p.findAll(tree, lexerRulesXPath);

相关文章