diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-12-14 15:31:48 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-12-14 17:39:26 +0100 |
commit | b35713ae9a32184a002be8431d49a52db1c47a34 (patch) | |
tree | 08e92865c98eb8adc4bd908ef9259a8bcfaebd73 | |
parent | 2b2334c29f65f476240a13056bfd6061dbebc1ab (diff) |
Upgrade Antlr4 to 4.9.3
Remove tokens that are empty in lexer definition
5 files changed, 7 insertions, 12 deletions
diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml index 9250feca285..da50fadbd16 100644 --- a/cloud-tenant-base-dependencies-enforcer/pom.xml +++ b/cloud-tenant-base-dependencies-enforcer/pom.xml @@ -241,7 +241,7 @@ <include>net.java.dev.jna:jna:4.5.2:jar:test</include> <include>org.abego.treelayout:org.abego.treelayout.core:1.0.1:jar:test</include> <include>org.antlr:antlr-runtime:3.5.2:jar:test</include> - <include>org.antlr:antlr4-runtime:4.5:jar:test</include> + <include>org.antlr:antlr4-runtime:4.9.3:jar:test</include> <include>org.apache.commons:commons-exec:1.3:jar:test</include> <include>org.apache.commons:commons-math3:3.6.1:jar:test</include> <include>org.apache.httpcomponents.client5:httpclient5:${httpclient5.version}:jar:test</include> diff --git a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 index 5bc0253ee5f..38efba3b511 100644 --- a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 +++ b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 @@ -27,7 +27,6 @@ options { WHERE : 'where'; ORDERBY : 'order by'; DESC : 'desc'; - ASC :; FROM : 'from'; SOURCES : 'sources'; AS : 'as'; @@ -55,7 +54,6 @@ options { OR : 'or'; NOT_IN : 'not in'; IN : 'in'; - QUERY_ARRAY :; LT : '<'; GT : '>'; 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 c7c4b2885d2..df582ee8141 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 @@ -51,9 +51,9 @@ import com.yahoo.search.yql.yqlplusParser.StatementContext; import com.yahoo.search.yql.yqlplusParser.TimeoutContext; import com.yahoo.search.yql.yqlplusParser.UnaryExpressionContext; import com.yahoo.search.yql.yqlplusParser.WhereContext; -import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.BaseErrorListener; import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.RecognitionException; @@ -78,13 +78,11 @@ import java.util.Set; final class ProgramParser { public yqlplusParser prepareParser(String programName, InputStream input) throws IOException { - //TODO ANTLRInputStream goes away on 4.7, so must use CharStreams.fromXXX() when upgrading - return prepareParser(programName, new CaseInsensitiveCharStream(new ANTLRInputStream(input))); + return prepareParser(programName, new CaseInsensitiveCharStream(CharStreams.fromStream(input))); } public yqlplusParser prepareParser(String programName, String input) throws IOException { - //TODO ANTLRInputStream goes away on 4.7, so must use CharStreams.fromXXX() when upgrading - return prepareParser(programName, new CaseInsensitiveCharStream(new ANTLRInputStream(input))); + return prepareParser(programName, new CaseInsensitiveCharStream(CharStreams.fromString(input))); } private static class ErrorListener extends BaseErrorListener { diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java index ec33cca9739..2a21214c702 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java @@ -69,11 +69,10 @@ public class YqlParserTestCase { private final YqlParser parser = new YqlParser(new ParserEnvironment()); - @Test + @Test(timeout = 120_000) public void failsGracefullyOnMissingQuoteEscapingAndSubsequentUnicodeCharacter() { assertParseFail("select * from bar where rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d'œuvre') limit 10;", - new IllegalInputException("com.yahoo.search.yql.ProgramCompileException: query:L1:79 " + - "no viable alternative at input 'rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d''")); + new IllegalInputException("com.yahoo.search.yql.ProgramCompileException: query:L1:79 token recognition error at: 'œ'")); } @Test diff --git a/parent/pom.xml b/parent/pom.xml index 4b65bf82916..2cebaf21833 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -879,7 +879,7 @@ <aircompressor.version>0.21</aircompressor.version> <airline.version>0.7</airline.version> <antlr.version>3.5.2</antlr.version> - <antlr4.version>4.5</antlr4.version> + <antlr4.version>4.9.3</antlr4.version> <apache.httpclient.version>4.5.13</apache.httpclient.version> <apache.httpcore.version>4.4.13</apache.httpcore.version> <apache.httpclient5.version>5.1.2</apache.httpclient5.version> |