summaryrefslogtreecommitdiffstats
path: root/yql/essentials/tools
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-19 17:28:26 +0300
committervvvv <[email protected]>2025-02-19 17:46:38 +0300
commit52daccf61e2e827114cfb3372071cddaec7974ba (patch)
tree07404f6ec241c8a2b96a4da07dc0f0d0c247799c /yql/essentials/tools
parentca4b5f28703b0d06599c94f3eacc5d6c498c31d5 (diff)
YQL-19594 Explicit lexers & parsers
commit_hash:6be543b7c5bff6ee474ee606c920197fb2569767
Diffstat (limited to 'yql/essentials/tools')
-rw-r--r--yql/essentials/tools/sql2yql/sql2yql.cpp12
-rw-r--r--yql/essentials/tools/sql2yql/ya.make4
-rw-r--r--yql/essentials/tools/sql_formatter/sql_formatter.cpp12
-rw-r--r--yql/essentials/tools/sql_formatter/ya.make4
-rw-r--r--yql/essentials/tools/yql_facade_run/ya.make4
-rw-r--r--yql/essentials/tools/yql_facade_run/yql_facade_run.cpp12
6 files changed, 45 insertions, 3 deletions
diff --git a/yql/essentials/tools/sql2yql/sql2yql.cpp b/yql/essentials/tools/sql2yql/sql2yql.cpp
index dea00f68fc7..c7d8f68f55b 100644
--- a/yql/essentials/tools/sql2yql/sql2yql.cpp
+++ b/yql/essentials/tools/sql2yql/sql2yql.cpp
@@ -6,6 +6,10 @@
#include <yql/essentials/sql/sql.h>
#include <yql/essentials/sql/v1/sql.h>
+#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4/proto_parser.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4_ansi/proto_parser.h>
#include <yql/essentials/providers/common/provider/yql_provider_names.h>
#include <yql/essentials/parser/pg_wrapper/interface/parser.h>
@@ -100,7 +104,13 @@ bool TestFormat(
TString frmQuery;
NYql::TIssues issues;
- auto formatter = NSQLFormat::MakeSqlFormatter(settings);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+ lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory();
+ NSQLTranslationV1::TParsers parsers;
+ parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory();
+ parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory();
+ auto formatter = NSQLFormat::MakeSqlFormatter(lexers, parsers, settings);
if (!formatter->Format(query, frmQuery, issues)) {
Cerr << "Failed to format query: " << issues.ToString() << Endl;
return false;
diff --git a/yql/essentials/tools/sql2yql/ya.make b/yql/essentials/tools/sql2yql/ya.make
index 339169744af..8bd0b01492a 100644
--- a/yql/essentials/tools/sql2yql/ya.make
+++ b/yql/essentials/tools/sql2yql/ya.make
@@ -11,6 +11,10 @@ PEERDIR(
yql/essentials/sql/v1
yql/essentials/sql/pg
yql/essentials/sql/v1/format
+ yql/essentials/sql/v1/lexer/antlr4
+ yql/essentials/sql/v1/lexer/antlr4_ansi
+ yql/essentials/sql/v1/proto_parser/antlr4
+ yql/essentials/sql/v1/proto_parser/antlr4_ansi
)
ADDINCL(
diff --git a/yql/essentials/tools/sql_formatter/sql_formatter.cpp b/yql/essentials/tools/sql_formatter/sql_formatter.cpp
index 1cbde29ab39..b5dc06db418 100644
--- a/yql/essentials/tools/sql_formatter/sql_formatter.cpp
+++ b/yql/essentials/tools/sql_formatter/sql_formatter.cpp
@@ -1,4 +1,8 @@
#include <yql/essentials/sql/v1/format/sql_format.h>
+#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4/proto_parser.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4_ansi/proto_parser.h>
#include <library/cpp/getopt/last_getopt.h>
#include <google/protobuf/arena.h>
@@ -43,7 +47,13 @@ int RunFormat(int argc, char* argv[]) {
NSQLTranslation::TTranslationSettings settings;
settings.Arena = &arena;
settings.AnsiLexer = res.Has("ansi-lexer");
- auto formatter = NSQLFormat::MakeSqlFormatter(settings);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+ lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory();
+ NSQLTranslationV1::TParsers parsers;
+ parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory();
+ parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory();
+ auto formatter = NSQLFormat::MakeSqlFormatter(lexers, parsers, settings);
TString frm_query;
TString error;
NYql::TIssues issues;
diff --git a/yql/essentials/tools/sql_formatter/ya.make b/yql/essentials/tools/sql_formatter/ya.make
index 082bf605ceb..a198f772c9b 100644
--- a/yql/essentials/tools/sql_formatter/ya.make
+++ b/yql/essentials/tools/sql_formatter/ya.make
@@ -4,6 +4,10 @@ PEERDIR(
library/cpp/getopt
contrib/libs/protobuf
yql/essentials/sql/v1/format
+ yql/essentials/sql/v1/lexer/antlr4
+ yql/essentials/sql/v1/lexer/antlr4_ansi
+ yql/essentials/sql/v1/proto_parser/antlr4
+ yql/essentials/sql/v1/proto_parser/antlr4_ansi
)
SRCS(
diff --git a/yql/essentials/tools/yql_facade_run/ya.make b/yql/essentials/tools/yql_facade_run/ya.make
index f434c449fb9..d08df659479 100644
--- a/yql/essentials/tools/yql_facade_run/ya.make
+++ b/yql/essentials/tools/yql_facade_run/ya.make
@@ -37,6 +37,10 @@ PEERDIR(
yql/essentials/protos
yql/essentials/sql/settings
yql/essentials/sql/v1/format
+ yql/essentials/sql/v1/lexer/antlr4
+ yql/essentials/sql/v1/lexer/antlr4_ansi
+ yql/essentials/sql/v1/proto_parser/antlr4
+ yql/essentials/sql/v1/proto_parser/antlr4_ansi
yql/essentials/sql/v1
yql/essentials/sql
diff --git a/yql/essentials/tools/yql_facade_run/yql_facade_run.cpp b/yql/essentials/tools/yql_facade_run/yql_facade_run.cpp
index ac09dda5002..ba0a10c3119 100644
--- a/yql/essentials/tools/yql_facade_run/yql_facade_run.cpp
+++ b/yql/essentials/tools/yql_facade_run/yql_facade_run.cpp
@@ -42,6 +42,10 @@
#include <yql/essentials/sql/v1/format/sql_format.h>
#include <yql/essentials/sql/v1/sql.h>
#include <yql/essentials/sql/sql.h>
+#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4/proto_parser.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4_ansi/proto_parser.h>
#include <library/cpp/resource/resource.h>
#include <library/cpp/yson/node/node_io.h>
@@ -706,7 +710,13 @@ int TFacadeRunner::DoRun(TProgramFactory& factory) {
if (!fail && RunOptions_.TestSqlFormat && 1 == RunOptions_.SyntaxVersion) {
TString formattedProgramText;
NYql::TIssues issues;
- auto formatter = NSQLFormat::MakeSqlFormatter(settings);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+ lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory();
+ NSQLTranslationV1::TParsers parsers;
+ parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory();
+ parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory();
+ auto formatter = NSQLFormat::MakeSqlFormatter(lexers, parsers, settings);
if (!formatter->Format(RunOptions_.ProgramText, formattedProgramText, issues)) {
*RunOptions_.ErrStream << "Format failed" << Endl;
issues.PrintTo(*RunOptions_.ErrStream);