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

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

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

Parser.getSourceName介绍

暂无

代码示例

代码示例来源:origin: co.cask.re/dre-core

  1. @Override
  2. public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine,
  3. String msg, RecognitionException e) {
  4. Parser parser = (Parser) recognizer;
  5. String name = parser.getSourceName();
  6. TokenStream tokens = parser.getInputStream();
  7. Token offSymbol = (Token) offendingSymbol;
  8. int thisError = offSymbol.getTokenIndex();
  9. String source = "<unknown>";
  10. if (offSymbol != null) {
  11. String charstream = offSymbol.getTokenSource().getInputStream().toString();
  12. String[] lines = charstream.split("\n");
  13. source = lines[line - 1];
  14. }
  15. if (offSymbol.getType() == -1 && thisError == tokens.size() - 1) {
  16. if (e != null) {
  17. if (e instanceof NoViableAltException) {
  18. msg = "unexpected token found '" + ((NoViableAltException) e).getStartToken().getText() + "'";
  19. }
  20. }
  21. String message = "At line " + line + ":" + charPositionInLine + ": " + msg;
  22. errors.add(new SyntaxError(line, charPositionInLine, message, source));
  23. return;
  24. }
  25. String offSymName = RulebookLexer.VOCABULARY.getDisplayName(offSymbol.getType());
  26. String message = "At line " + line + ":" + charPositionInLine + " at " + offSymName.toLowerCase() + ": " + msg;
  27. lastError = thisError;
  28. errors.add(new SyntaxError(line, charPositionInLine, message, source));
  29. }

代码示例来源:origin: co.cask.wrangler/wrangler-core

  1. String name = parser.getSourceName();
  2. TokenStream tokens = parser.getInputStream();

相关文章