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

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

本文整理了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:

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

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

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

代码示例

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

  1. /**
  2. * The preferred method of getting a tree pattern. For example, here's a
  3. * sample use:
  4. *
  5. * <pre>
  6. * ParseTree t = parser.expr();
  7. * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
  8. * ParseTreeMatch m = p.match(t);
  9. * String id = m.get("ID");
  10. * </pre>
  11. */
  12. public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
  13. if ( getTokenStream()!=null ) {
  14. TokenSource tokenSource = getTokenStream().getTokenSource();
  15. if ( tokenSource instanceof Lexer ) {
  16. Lexer lexer = (Lexer)tokenSource;
  17. return compileParseTreePattern(pattern, patternRuleIndex, lexer);
  18. }
  19. }
  20. throw new UnsupportedOperationException("Parser can't discover a lexer to use");
  21. }

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

  1. /**
  2. * The preferred method of getting a tree pattern. For example, here's a
  3. * sample use:
  4. *
  5. * <pre>
  6. * ParseTree t = parser.expr();
  7. * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
  8. * ParseTreeMatch m = p.match(t);
  9. * String id = m.get("ID");
  10. * </pre>
  11. */
  12. public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
  13. if ( getInputStream()!=null ) {
  14. TokenSource tokenSource = getInputStream().getTokenSource();
  15. if ( tokenSource instanceof Lexer ) {
  16. Lexer lexer = (Lexer)tokenSource;
  17. return compileParseTreePattern(pattern, patternRuleIndex, lexer);
  18. }
  19. }
  20. throw new UnsupportedOperationException("Parser can't discover a lexer to use");
  21. }

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

  1. /**
  2. * The preferred method of getting a tree pattern. For example, here's a
  3. * sample use:
  4. *
  5. * <pre>
  6. * ParseTree t = parser.expr();
  7. * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
  8. * ParseTreeMatch m = p.match(t);
  9. * String id = m.get("ID");
  10. * </pre>
  11. */
  12. public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
  13. if ( getTokenStream()!=null ) {
  14. TokenSource tokenSource = getTokenStream().getTokenSource();
  15. if ( tokenSource instanceof Lexer ) {
  16. Lexer lexer = (Lexer)tokenSource;
  17. return compileParseTreePattern(pattern, patternRuleIndex, lexer);
  18. }
  19. }
  20. throw new UnsupportedOperationException("Parser can't discover a lexer to use");
  21. }

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

  1. /**
  2. * The preferred method of getting a tree pattern. For example, here's a
  3. * sample use:
  4. *
  5. * <pre>
  6. * ParseTree t = parser.expr();
  7. * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
  8. * ParseTreeMatch m = p.match(t);
  9. * String id = m.get("ID");
  10. * </pre>
  11. */
  12. public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
  13. if ( getTokenStream()!=null ) {
  14. TokenSource tokenSource = getTokenStream().getTokenSource();
  15. if ( tokenSource instanceof Lexer ) {
  16. Lexer lexer = (Lexer)tokenSource;
  17. return compileParseTreePattern(pattern, patternRuleIndex, lexer);
  18. }
  19. }
  20. throw new UnsupportedOperationException("Parser can't discover a lexer to use");
  21. }

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

  1. /**
  2. * The preferred method of getting a tree pattern. For example, here's a
  3. * sample use:
  4. *
  5. * <pre>
  6. * ParseTree t = parser.expr();
  7. * ParseTreePattern p = parser.compileParseTreePattern("&lt;ID&gt;+0", MyParser.RULE_expr);
  8. * ParseTreeMatch m = p.match(t);
  9. * String id = m.get("ID");
  10. * </pre>
  11. */
  12. public ParseTreePattern compileParseTreePattern(String pattern, int patternRuleIndex) {
  13. if ( getTokenStream()!=null ) {
  14. TokenSource tokenSource = getTokenStream().getTokenSource();
  15. if ( tokenSource instanceof Lexer ) {
  16. Lexer lexer = (Lexer)tokenSource;
  17. return compileParseTreePattern(pattern, patternRuleIndex, lexer);
  18. }
  19. }
  20. throw new UnsupportedOperationException("Parser can't discover a lexer to use");
  21. }

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

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

相关文章