public final ParseContext parse() throws RecognitionException { ParseContext _localctx = new ParseContext(_ctx, getState()); enterRule(_localctx, 0, RULE_parse); try { enterOuterAlt(_localctx, 1); { setState(72); ((ParseContext)_localctx).expression = expression(); setState(73); match(EOF); ((ParseContext)_localctx).e = ((ParseContext)_localctx).expression.e; if (fullExpression == null) fullExpression = (((ParseContext)_localctx).expression!=null?_input.getText(((ParseContext)_localctx).expression.start,((ParseContext)_localctx).expression.stop):null); tokenPos = (((ParseContext)_localctx).expression!=null?(((ParseContext)_localctx).expression.start):null).getTokenIndex(); } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.reportError(this, re); _errHandler.recover(this, re); } finally { exitRule(); } return _localctx; }
protected void reportNoViableAlternative(final Parser recognizer, final NoViableAltException e) { final TokenStream tokens = recognizer.getInputStream(); final String input; if (tokens != null) { if (e.getStartToken().getType() == -1) { input = "<EOF>"; } else { input = tokens.getText(e.getStartToken(), e.getOffendingToken()); } } else { input = "<unknown input>"; } final String msg = "no viable alternative at input " + this.escapeWSAndQuote(input); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
@Override public void reportAttemptingFullContext(Parser recognizer, DFA dfa, int startIndex, int stopIndex, BitSet conflictingAlts, ATNConfigSet configs) { String format = "reportAttemptingFullContext d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportContextSensitivity(Parser recognizer, DFA dfa, int startIndex, int stopIndex, int prediction, ATNConfigSet configs) { String format = "reportContextSensitivity d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
return tokens.getText(interval); // no instructions to execute
@Override public void reportAmbiguity(Parser recognizer, DFA dfa, int startIndex, int stopIndex, boolean exact, BitSet ambigAlts, ATNConfigSet configs) { if (exactOnly && !exact) { return; } String format = "reportAmbiguity d=%s: ambigAlts=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); BitSet conflictingAlts = getConflictingAlts(ambigAlts, configs); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, conflictingAlts, text); recognizer.notifyErrorListeners(message); }
/** * This is called by {@link #reportError} when the exception is a * {@link NoViableAltException}. * * @see #reportError * * @param recognizer the parser instance * @param e the recognition exception */ protected void reportNoViableAlternative(Parser recognizer, NoViableAltException e) { TokenStream tokens = recognizer.getInputStream(); String input; if ( tokens!=null ) { if ( e.getStartToken().getType()==Token.EOF ) input = "<EOF>"; else input = tokens.getText(e.getStartToken(), e.getOffendingToken()); } else { input = "<unknown input>"; } String msg = "no viable alternative at input "+escapeWSAndQuote(input); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
@Override public StringBuilder visitDefinition_table(@NotNull SiddhiQLParser.Definition_tableContext ctx) { StringBuilder tableText = new StringBuilder(" { \"Table\": "); tableText.append(" [{ \"tableId\":\"").append(ctx.source().stream_id().getText()).append("\","); String table_Text = excapeCode(tokenStreamRewriter.getTokenStream().getText(ctx.getStart(), ctx.getStop())); tableText.append(" \"table_Text\":\"").append(table_Text).append("\","); tableText = new StringBuilder(tableText.substring(0, tableText.length() - 1)); tableText.append(" }]}"); return tableText; }
/** * Parse any part of a Graql query * @param parseRule a method on GraqlParser that yields the parse rule you want to use (e.g. GraqlParser::variable) * @param visit a method on QueryVisitor that visits the parse rule you specified (e.g. QueryVisitor::visitVariable) * @param tokens the token stream to read * @param <T> The type the query is expected to parse to * @param <S> The type of the parse rule being used * @return the parsed result */ private <T, S extends ParseTree> T parseQueryFragment( Function<GraqlParser, S> parseRule, BiFunction<QueryVisitor, S, T> visit, TokenStream tokens ) { GraqlErrorListener errorListener = new GraqlErrorListener(tokens.getText()); return parseQueryFragment(parseRule, visit, errorListener, tokens); }
@Override public StringBuilder visitDefinition_trigger(@NotNull SiddhiQLParser.Definition_triggerContext ctx) { StringBuilder triggerText = new StringBuilder(" { \"Trigger\": "); triggerText.append(" [{ \"triggerName\":\"").append(ctx.trigger_name().getText()).append("\","); if (ctx.time_value() != null) { triggerText.append(" \"triggerValue\":\"").append(ctx.time_value().getText()).append("\","); } else { triggerText.append(" \"triggerValue\":\"").append(ctx.string_value().getText()).append("\","); } String trigger_text = excapeCode(tokenStreamRewriter.getTokenStream().getText(ctx.getStart(), ctx.getStop())); triggerText.append(" \"triggerText\":\"").append(trigger_text).append("\","); triggerText = new StringBuilder(triggerText.substring(0, triggerText.length() - 1)); triggerText.append(" }]}"); return triggerText; }
@Override public StringBuilder visitDefinition_function(@NotNull SiddhiQLParser.Definition_functionContext ctx) { StringBuilder functionText = new StringBuilder(" { \"Function\": "); functionText.append(" [{ \"functionName\":\"").append(ctx.function_name().getText()).append("\","); functionText.append("\"languageName\":\"").append(ctx.language_name().getText()).append("\","); functionText.append("\"attributeType\":\"").append(ctx.attribute_type().getText()).append("\","); String functionBody = excapeCode(tokenStreamRewriter.getTokenStream().getText(ctx.function_body().getStart(), ctx.function_body().getStop())); functionText.append("\"functionBody\":\"").append(functionBody).append("\",");; String function_Text = excapeCode(tokenStreamRewriter.getTokenStream().getText(ctx.getStart(), ctx.getStop())); functionText.append("\"functionText\":\"").append(function_Text).append("\","); functionText = new StringBuilder(functionText.substring(0, functionText.length() - 1)); functionText.append(" }]}"); return functionText; }
@Override public void reportAttemptingFullContext(Parser recognizer, DFA dfa, int startIndex, int stopIndex, BitSet conflictingAlts, ATNConfigSet configs) { String format = "reportAttemptingFullContext d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportContextSensitivity(Parser recognizer, DFA dfa, int startIndex, int stopIndex, int prediction, ATNConfigSet configs) { String format = "reportContextSensitivity d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportAttemptingFullContext(Parser recognizer, DFA dfa, int startIndex, int stopIndex, BitSet conflictingAlts, ATNConfigSet configs) { String format = "reportAttemptingFullContext d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportContextSensitivity(Parser recognizer, DFA dfa, int startIndex, int stopIndex, int prediction, ATNConfigSet configs) { String format = "reportContextSensitivity d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportAttemptingFullContext(Parser recognizer, DFA dfa, int startIndex, int stopIndex, BitSet conflictingAlts, ATNConfigSet configs) { String format = "reportAttemptingFullContext d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportContextSensitivity(Parser recognizer, DFA dfa, int startIndex, int stopIndex, int prediction, ATNConfigSet configs) { String format = "reportContextSensitivity d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getTokenStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
public Model visitProgram(ProgramContext ctx, PSLParser parser) { Model model = new Model(); for (PslRuleContext ruleCtx : ctx.pslRule()) { try { model.addRule((Rule) visit(ruleCtx)); } catch (RuntimeException ex) { throw new RuntimeException("Failed to compile rule: [" + parser.getTokenStream().getText(ruleCtx) + "]", ex); } } return model; }
@Override public void reportContextSensitivity(@NotNull Parser recognizer, @NotNull DFA dfa, int startIndex, int stopIndex, int prediction, @NotNull SimulatorState acceptState) { String format = "reportContextSensitivity d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getInputStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }
@Override public void reportAttemptingFullContext(@NotNull Parser recognizer, @NotNull DFA dfa, int startIndex, int stopIndex, @Nullable BitSet conflictingAlts, @NotNull SimulatorState conflictState) { String format = "reportAttemptingFullContext d=%s, input='%s'"; String decision = getDecisionDescription(recognizer, dfa); String text = recognizer.getInputStream().getText(Interval.of(startIndex, stopIndex)); String message = String.format(format, decision, text); recognizer.notifyErrorListeners(message); }