diff options
Diffstat (limited to 'yql/essentials/tools/sql2yql/sql2yql.cpp')
| -rw-r--r-- | yql/essentials/tools/sql2yql/sql2yql.cpp | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/yql/essentials/tools/sql2yql/sql2yql.cpp b/yql/essentials/tools/sql2yql/sql2yql.cpp index 948cf86ef63..694be80034b 100644 --- a/yql/essentials/tools/sql2yql/sql2yql.cpp +++ b/yql/essentials/tools/sql2yql/sql2yql.cpp @@ -320,22 +320,6 @@ int BuildAST(int argc, char** argv) { opts.PrintUsage(argv[0], Cerr); } - NSQLTranslationV1::TLexers lexers; - lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory(); - lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory(); - NSQLTranslationV1::TParsers parsers; - parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory( - res.Has("test-syntax-ambiguity"), - res.Has("debug-syntax-ambiguity")); - parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory( - res.Has("test-syntax-ambiguity"), - res.Has("debug-syntax-ambiguity")); - - NSQLTranslation::TTranslators translators( - nullptr, - NSQLTranslationV1::MakeTranslator(lexers, parsers), - NSQLTranslationPG::MakeTranslator()); - TVector<TString> queries; int errors = 0; for (ui32 i = 0; i <= queryFiles.size(); ++i) { @@ -392,6 +376,27 @@ int BuildAST(int argc, char** argv) { settings.AssumeYdbOnClusterWithSlash = res.Has("assume-ydb-on-slash"); settings.TestAntlr4 = res.Has("test-antlr4"); + NSQLTranslationV1::TLexers lexers = { + .Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory(), + .Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory(), + }; + + NSQLTranslationV1::TParsers parsers = { + .Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory( + res.Has("test-syntax-ambiguity"), + res.Has("debug-syntax-ambiguity"), + settings.MaxParseTreeDepth), + .Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory( + res.Has("test-syntax-ambiguity"), + res.Has("debug-syntax-ambiguity"), + settings.MaxParseTreeDepth), + }; + + NSQLTranslation::TTranslators translators( + nullptr, + NSQLTranslationV1::MakeTranslator(lexers, parsers), + NSQLTranslationPG::MakeTranslator()); + if (res.Has("lexer")) { NYql::TIssues issues; auto lexer = NSQLTranslation::SqlLexer(translators, query, issues, settings); |
