diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-11-14 12:44:18 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-11-14 12:44:18 +0100 |
commit | ff7c96919eefe63ab6ca66a939dabba7709daa14 (patch) | |
tree | 8a47f74285e9d49e3e4aa6bafe444b486cb8ecab /container-search | |
parent | 4b053a40485029d8ed48e3211d7b1b72361b1998 (diff) |
Suppress parser output on stderr
Diffstat (limited to 'container-search')
3 files changed, 20 insertions, 6 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/yql/ParserBase.java b/container-search/src/main/java/com/yahoo/search/yql/ParserBase.java index 73a29745149..3a3a590da01 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/ParserBase.java +++ b/container-search/src/main/java/com/yahoo/search/yql/ParserBase.java @@ -3,11 +3,19 @@ package com.yahoo.search.yql; import com.google.common.collect.Sets; +import com.yahoo.yolean.Exceptions; +import org.antlr.v4.runtime.BaseErrorListener; import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.Recognizer; import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.atn.ATNConfigSet; +import org.antlr.v4.runtime.dfa.DFA; import org.antlr.v4.runtime.tree.ParseTree; +import java.util.BitSet; import java.util.Set; +import java.util.logging.Logger; /** * Provides semantic helper functions to Parser. @@ -35,5 +43,5 @@ abstract class ParserBase extends Parser { } return name != null && arrayParameters.contains(name); } - + } diff --git a/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java b/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java index 988911fd408..1bd10234e55 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java @@ -127,9 +127,10 @@ final class ProgramParser { } - private yqlplusParser prepareParser(final String programName, CharStream input) { - yqlplusLexer lex = new yqlplusLexer(input); - lex.addErrorListener(new BaseErrorListener() { + private yqlplusParser prepareParser(String programName, CharStream input) { + yqlplusLexer lexer = new yqlplusLexer(input); + lexer.removeErrorListeners(); + lexer.addErrorListener(new BaseErrorListener() { @Override public void syntaxError(@NotNull Recognizer<?, ?> recognizer, @@ -142,8 +143,10 @@ final class ProgramParser { } }); - TokenStream tokens = new CommonTokenStream(lex); + TokenStream tokens = new CommonTokenStream(lexer); + yqlplusParser parser = new yqlplusParser(tokens); + parser.removeErrorListeners(); parser.addErrorListener(new BaseErrorListener() { @Override @@ -224,6 +227,7 @@ final class ProgramParser { } static class Binding { + private final List<String> binding; Binding(String moduleName, String exportName) { @@ -245,9 +249,11 @@ final class ProgramParser { public List<String> toPathWith(List<String> rest) { return ImmutableList.copyOf(Iterables.concat(toPath(), rest)); } + } static class Scope { + final Scope root; final Scope parent; Set<String> cursors = ImmutableSet.of(); diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java index 4ecae028f9d..259719571be 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java @@ -88,7 +88,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; * </p> * * @author Steinar Knutsen - * @author stiankri + * @author Stian Kristoffersen * @author Simon Thoresen */ @Beta |