summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java14
1 files changed, 10 insertions, 4 deletions
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();