/** Tell our token source and error strategy about a new way to create tokens. */ @Override public void setTokenFactory(TokenFactory<?> factory) { _input.getTokenSource().setTokenFactory(factory); }
@Override public TokenFactory<?> getTokenFactory() { return _input.getTokenSource().getTokenFactory(); }
/** * The preferred method of getting a tree pattern. For example, here's a * sample use: * * <pre> * ParseTree t = parser.expr(); * ParseTreePattern p = parser.compileParseTreePattern("<ID>+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"); }
@Override public TokenFactory<?> getTokenFactory() { return _input.getTokenSource().getTokenFactory(); }
@Override public TokenFactory<?> getTokenFactory() { return _input.getTokenSource().getTokenFactory(); }
/** Tell our token source and error strategy about a new way to create tokens. */ @Override public void setTokenFactory(TokenFactory<?> factory) { _input.getTokenSource().setTokenFactory(factory); }
/** Tell our token source and error strategy about a new way to create tokens. */ @Override public void setTokenFactory(TokenFactory<?> factory) { _input.getTokenSource().setTokenFactory(factory); }
/** Tell our token source and error strategy about a new way to create tokens. */ @Override public void setTokenFactory(TokenFactory<?> factory) { _input.getTokenSource().setTokenFactory(factory); }
@Override public TokenFactory<?> getTokenFactory() { return _input.getTokenSource().getTokenFactory(); }
public TokenFactory getTokenFactory() { return _input.getTokenSource().getTokenFactory(); }
@Override public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { String position = "line " + line + ", pos " + charPositionInLine; String tokenName = ""; String hint = ""; if (offendingSymbol != null && offendingSymbol instanceof Token && recognizer != null && recognizer instanceof Parser) { Token token = (Token) offendingSymbol; tokenName = token.getText(); String fullText = ((Parser) recognizer).getTokenStream().getTokenSource().getInputStream().toString(); hint = AntlrUtils.underlineError(fullText, tokenName, line, charPositionInLine); } throw new SyntaxErrorException(position + " near " + tokenName + " : " + msg + "\n" + hint, e); } }
CharStream stream; if (recognizer instanceof Parser) { stream = ((Parser) recognizer).getInputStream().getTokenSource().getInputStream(); } else if (recognizer instanceof Lexer) { stream = ((Lexer) recognizer).getInputStream();
/** * The preferred method of getting a tree pattern. For example, here's a * sample use: * * <pre> * ParseTree t = parser.expr(); * ParseTreePattern p = parser.compileParseTreePattern("<ID>+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"); }
/** * The preferred method of getting a tree pattern. For example, here's a * sample use: * * <pre> * ParseTree t = parser.expr(); * ParseTreePattern p = parser.compileParseTreePattern("<ID>+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"); }
/** * The preferred method of getting a tree pattern. For example, here's a * sample use: * * <pre> * ParseTree t = parser.expr(); * ParseTreePattern p = parser.compileParseTreePattern("<ID>+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"); }
/** * The preferred method of getting a tree pattern. For example, here's a * sample use: * * <pre> * ParseTree t = parser.expr(); * ParseTreePattern p = parser.compileParseTreePattern("<ID>+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"); }
CharStream stream; if (recognizer instanceof Parser) { stream = ((Parser) recognizer).getInputStream().getTokenSource().getInputStream(); } else if (recognizer instanceof Lexer) { stream = ((Lexer) recognizer).getInputStream();
this.setErrorHandler(DefaultErrorStrategy.INSTANCE); ((Lexer)this._input.getTokenSource()).removeErrorListeners(); ((Lexer)this._input.getTokenSource()).addErrorListener(listener); this.removeErrorListeners(); this.addErrorListener(listener);
return constructToken(recognizer.getInputStream().getTokenSource(), expectedTokenType, tokenText, current);