aboutsummaryrefslogtreecommitdiffstats
path: root/tools/enum_parser
diff options
context:
space:
mode:
authormvel <mvel@yandex-team.ru>2022-02-10 16:45:41 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:41 +0300
commitbd30392c4cc92487950adc375c07adf52da1d592 (patch)
treee8d1a3f19b7fc890bcef6e4cc5de41f1d88c9ac3 /tools/enum_parser
parent5d50718e66d9c037dc587a0211110b7d25a66185 (diff)
downloadydb-bd30392c4cc92487950adc375c07adf52da1d592.tar.gz
Restoring authorship annotation for <mvel@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'tools/enum_parser')
-rw-r--r--tools/enum_parser/enum_parser/main.cpp564
-rw-r--r--tools/enum_parser/enum_parser/ya.make10
-rw-r--r--tools/enum_parser/ya.make8
3 files changed, 291 insertions, 291 deletions
diff --git a/tools/enum_parser/enum_parser/main.cpp b/tools/enum_parser/enum_parser/main.cpp
index 0943c69c1d..fca1161b6e 100644
--- a/tools/enum_parser/enum_parser/main.cpp
+++ b/tools/enum_parser/enum_parser/main.cpp
@@ -1,42 +1,42 @@
#include <library/cpp/json/writer/json_value.h>
#include <library/cpp/json/writer/json.h>
#include <library/cpp/getopt/small/last_getopt.h>
-
-#include <tools/enum_parser/parse_enum/parse_enum.h>
-
-#include <util/stream/file.h>
-#include <util/stream/output.h>
-#include <util/stream/input.h>
-#include <util/stream/mem.h>
-
-#include <util/charset/wide.h>
+
+#include <tools/enum_parser/parse_enum/parse_enum.h>
+
+#include <util/stream/file.h>
+#include <util/stream/output.h>
+#include <util/stream/input.h>
+#include <util/stream/mem.h>
+
+#include <util/charset/wide.h>
#include <util/string/builder.h>
-#include <util/string/strip.h>
-#include <util/string/cast.h>
+#include <util/string/strip.h>
+#include <util/string/cast.h>
#include <util/string/join.h>
-#include <util/string/subst.h>
-#include <util/generic/map.h>
+#include <util/string/subst.h>
+#include <util/generic/map.h>
#include <util/generic/string.h>
-#include <util/generic/vector.h>
-#include <util/generic/ptr.h>
-#include <util/generic/yexception.h>
-#include <util/generic/maybe.h>
-#include <util/system/fs.h>
-#include <util/folder/path.h>
-
+#include <util/generic/vector.h>
+#include <util/generic/ptr.h>
+#include <util/generic/yexception.h>
+#include <util/generic/maybe.h>
+#include <util/system/fs.h>
+#include <util/folder/path.h>
+
void WriteHeader(const TString& headerName, IOutputStream& out, IOutputStream* headerOutPtr = nullptr) {
- out << "// This file was auto-generated. Do not edit!!!\n";
+ out << "// This file was auto-generated. Do not edit!!!\n";
out << "#include " << headerName << "\n";
out << "#include <tools/enum_parser/enum_serialization_runtime/enum_runtime.h>\n\n";
out << "#include <tools/enum_parser/enum_parser/stdlib_deps.h>\n\n";
- out << "#include <util/generic/typetraits.h>\n";
- out << "#include <util/generic/singleton.h>\n";
+ out << "#include <util/generic/typetraits.h>\n";
+ out << "#include <util/generic/singleton.h>\n";
out << "#include <util/generic/string.h>\n";
out << "#include <util/generic/vector.h>\n";
- out << "#include <util/generic/map.h>\n";
+ out << "#include <util/generic/map.h>\n";
out << "#include <util/generic/serialized_enum.h>\n";
- out << "#include <util/string/cast.h>\n";
- out << "#include <util/stream/output.h>\n\n";
+ out << "#include <util/string/cast.h>\n";
+ out << "#include <util/stream/output.h>\n\n";
if (headerOutPtr) {
auto& outHeader = *headerOutPtr;
@@ -45,182 +45,182 @@ void WriteHeader(const TString& headerName, IOutputStream& out, IOutputStream* h
outHeader << "#include <util/generic/serialized_enum.h>\n";
outHeader << "#include " << headerName << "\n";
}
-}
-
+}
+
static inline void JsonEscape(TString& s) {
- SubstGlobal(s, "\\", "\\\\");
- SubstGlobal(s, "\"", "\\\"");
- SubstGlobal(s, "\r", "\\r");
- SubstGlobal(s, "\n", "\\n");
- SubstGlobal(s, "\t", "\\t");
-}
-
+ SubstGlobal(s, "\\", "\\\\");
+ SubstGlobal(s, "\"", "\\\"");
+ SubstGlobal(s, "\r", "\\r");
+ SubstGlobal(s, "\n", "\\n");
+ SubstGlobal(s, "\t", "\\t");
+}
+
static inline TString JsonQuote(const TString& s) {
TString quoted = s;
- JsonEscape(quoted);
- return "\"" + quoted + "\""; // do not use .Quote() here, it performs escaping!
-}
-
-
-/// Simplifed JSON map encoder for generic types
-template<typename T>
+ JsonEscape(quoted);
+ return "\"" + quoted + "\""; // do not use .Quote() here, it performs escaping!
+}
+
+
+/// Simplifed JSON map encoder for generic types
+template<typename T>
void OutKey(IOutputStream& out, const TString& key, const T& value, bool escape = true) {
TString quoted = ToString(value);
- if (escape) {
- quoted = JsonQuote(quoted);
- }
- out << "\"" << key << "\": " << quoted << ",\n";
-}
-
-/// Simplifed JSON map encoder for TMaybe
+ if (escape) {
+ quoted = JsonQuote(quoted);
+ }
+ out << "\"" << key << "\": " << quoted << ",\n";
+}
+
+/// Simplifed JSON map encoder for TMaybe
void OutKey(IOutputStream& out, const TString& key, const TMaybe<TString>& value) {
TString quoted;
- if (value) {
- quoted = JsonQuote(ToString(*value));
- } else {
- quoted = "null";
- }
- out << "\"" << key << "\": " << quoted << ",\n";
-}
-
-
-/// Simplifed JSON map encoder for bool values
+ if (value) {
+ quoted = JsonQuote(ToString(*value));
+ } else {
+ quoted = "null";
+ }
+ out << "\"" << key << "\": " << quoted << ",\n";
+}
+
+
+/// Simplifed JSON map encoder for bool values
void OutKey(IOutputStream& out, const TString& key, const bool& value) {
- out << "\"" << key << "\": " << (value ? "true" : "false") << ",\n";
-}
-
-
-/// Simplifed JSON map encoder for array items
-template<typename T>
+ out << "\"" << key << "\": " << (value ? "true" : "false") << ",\n";
+}
+
+
+/// Simplifed JSON map encoder for array items
+template<typename T>
void OutItem(IOutputStream& out, const T& value, bool escape = true) {
TString quoted = ToString(value);
- if (escape) {
- quoted = JsonQuote(quoted);
- }
- out << quoted << ",\n";
-}
-
-/// Cut trailing ",\n" or ","
-static inline void FinishItems(TStringStream& out) {
+ if (escape) {
+ quoted = JsonQuote(quoted);
+ }
+ out << quoted << ",\n";
+}
+
+/// Cut trailing ",\n" or ","
+static inline void FinishItems(TStringStream& out) {
TString& s = out.Str();
- if (s.EndsWith(",\n")) {
+ if (s.EndsWith(",\n")) {
s.remove(s.size() - 2, 2);
- }
- if (s.EndsWith(",")) {
- s.pop_back();
- }
-}
-
-
-static inline void OpenMap(TStringStream& out) {
- out << "{\n";
-}
-
-static inline void CloseMap(TStringStream& out) {
- out << "}\n";
-}
-
-static inline void OpenArray(TStringStream& out) {
- out << "[\n";
-}
-
-static inline void CloseArray(TStringStream& out) {
- out << "]\n";
-}
-
+ }
+ if (s.EndsWith(",")) {
+ s.pop_back();
+ }
+}
+
+
+static inline void OpenMap(TStringStream& out) {
+ out << "{\n";
+}
+
+static inline void CloseMap(TStringStream& out) {
+ out << "}\n";
+}
+
+static inline void OpenArray(TStringStream& out) {
+ out << "[\n";
+}
+
+static inline void CloseArray(TStringStream& out) {
+ out << "]\n";
+}
+
static TString WrapStringBuf(const TStringBuf str) {
return TString::Join("TStringBuf(\"", str, "\")");
}
-void GenerateEnum(
- const TEnumParser::TEnum& en,
+void GenerateEnum(
+ const TEnumParser::TEnum& en,
IOutputStream& out,
IOutputStream* jsonEnumOut = nullptr,
IOutputStream* headerOutPtr = nullptr
-) {
- TStringStream jEnum;
- OpenMap(jEnum);
-
+) {
+ TStringStream jEnum;
+ OpenMap(jEnum);
+
size_t count = en.Items.size();
- OutKey(jEnum, "count", count);
+ OutKey(jEnum, "count", count);
const TString name = TEnumParser::ScopeStr(en.Scope) + en.CppName;
- OutKey(jEnum, "full_name", name);
- OutKey(jEnum, "cpp_name", en.CppName);
- TStringStream scopeJson;
- OpenArray(scopeJson);
- for (const auto& scopeItem : en.Scope) {
- OutItem(scopeJson, scopeItem);
- }
- FinishItems(scopeJson);
- CloseArray(scopeJson);
-
- OutKey(jEnum, "scope", scopeJson.Str(), false);
- OutKey(jEnum, "enum_class", en.EnumClass);
-
- TEnumParser::TScope outerScope = en.Scope;
- if (en.EnumClass) {
- outerScope.push_back(en.CppName);
- }
-
+ OutKey(jEnum, "full_name", name);
+ OutKey(jEnum, "cpp_name", en.CppName);
+ TStringStream scopeJson;
+ OpenArray(scopeJson);
+ for (const auto& scopeItem : en.Scope) {
+ OutItem(scopeJson, scopeItem);
+ }
+ FinishItems(scopeJson);
+ CloseArray(scopeJson);
+
+ OutKey(jEnum, "scope", scopeJson.Str(), false);
+ OutKey(jEnum, "enum_class", en.EnumClass);
+
+ TEnumParser::TScope outerScope = en.Scope;
+ if (en.EnumClass) {
+ outerScope.push_back(en.CppName);
+ }
+
TString outerScopeStr = TEnumParser::ScopeStr(outerScope);
-
+
TString cName = name;
- SubstGlobal(cName, "::", "");
-
- out << "// I/O for " << name << "\n";
-
+ SubstGlobal(cName, "::", "");
+
+ out << "// I/O for " << name << "\n";
+
TString nsName = "N" + cName + "Private";
-
- out << "namespace { namespace " << nsName << " {\n";
-
+
+ out << "namespace { namespace " << nsName << " {\n";
+
TVector<TString> nameInitializerPairs;
TVector<TString> valueInitializerPairs;
TVector<TString> cppNamesInitializer;
-
- TStringStream jItems;
- OpenArray(jItems);
-
- for (const auto& it : en.Items) {
- TStringStream jEnumItem;
- OpenMap(jEnumItem);
-
- OutKey(jEnumItem, "cpp_name", it.CppName);
- OutKey(jEnumItem, "value", it.Value);
- OutKey(jEnumItem, "comment_text", it.CommentText);
-
- TStringStream jAliases;
- OpenArray(jAliases);
-
+
+ TStringStream jItems;
+ OpenArray(jItems);
+
+ for (const auto& it : en.Items) {
+ TStringStream jEnumItem;
+ OpenMap(jEnumItem);
+
+ OutKey(jEnumItem, "cpp_name", it.CppName);
+ OutKey(jEnumItem, "value", it.Value);
+ OutKey(jEnumItem, "comment_text", it.CommentText);
+
+ TStringStream jAliases;
+ OpenArray(jAliases);
+
TString strValue = it.CppName;
- if (it.Aliases) {
- // first alias is main
- strValue = it.Aliases[0];
- OutKey(jEnumItem, "str_value", strValue);
- }
+ if (it.Aliases) {
+ // first alias is main
+ strValue = it.Aliases[0];
+ OutKey(jEnumItem, "str_value", strValue);
+ }
nameInitializerPairs.push_back("TNameBufs::EnumStringPair(" + outerScopeStr + it.CppName + ", " + WrapStringBuf(strValue) + ")");
cppNamesInitializer.push_back(WrapStringBuf(it.CppName));
-
- for (const auto& alias : it.Aliases) {
+
+ for (const auto& alias : it.Aliases) {
valueInitializerPairs.push_back("TNameBufs::EnumStringPair(" + outerScopeStr + it.CppName + ", " + WrapStringBuf(alias) + ")");
- OutItem(jAliases, alias);
- }
- FinishItems(jAliases);
- CloseArray(jAliases);
-
- if (!it.Aliases) {
+ OutItem(jAliases, alias);
+ }
+ FinishItems(jAliases);
+ CloseArray(jAliases);
+
+ if (!it.Aliases) {
valueInitializerPairs.push_back("TNameBufs::EnumStringPair(" + outerScopeStr + it.CppName + ", " + WrapStringBuf(it.CppName) + ")");
- }
- OutKey(jEnumItem, "aliases", jAliases.Str(), false);
-
- FinishItems(jEnumItem);
- CloseMap(jEnumItem);
-
- OutItem(jItems, jEnumItem.Str(), false);
- }
- FinishItems(jItems);
- CloseArray(jItems);
- OutKey(jEnum, "items", jItems.Str(), false);
-
+ }
+ OutKey(jEnumItem, "aliases", jAliases.Str(), false);
+
+ FinishItems(jEnumItem);
+ CloseMap(jEnumItem);
+
+ OutItem(jItems, jEnumItem.Str(), false);
+ }
+ FinishItems(jItems);
+ CloseArray(jItems);
+ OutKey(jEnum, "items", jItems.Str(), false);
+
auto defineConstArray = [&out, payloadCache = TMap<std::pair<TString, TVector<TString>>, TString>()](const TStringBuf indent, const TStringBuf elementType, const TStringBuf name, const TVector<TString>& items) mutable {
if (items.empty()) { // ISO C++ forbids zero-size array
out << indent << "static constexpr const TArrayRef<const " << elementType << "> " << name << ";\n";
@@ -244,7 +244,7 @@ void GenerateEnum(
out << " public:\n";
out << " using TBase = ::NEnumSerializationRuntime::TEnumDescription<" << name << ">;\n\n";
out << " inline TNameBufs();\n\n";
-
+
// Instance
out << " static inline const TNameBufs& Instance() {\n";
out << " return *SingletonWithPriority<TNameBufs, 0>();\n"; // destroy enum serializers last, because it may be used from destructor of another global object
@@ -269,60 +269,60 @@ void GenerateEnum(
out << " : TBase(ENUM_INITIALIZATION_DATA)\n";
out << " {\n";
out << " }\n\n";
-
- out << "}}\n\n";
-
+
+ out << "}}\n\n";
+
if (headerOutPtr) {
(*headerOutPtr) << "// I/O for " << name << "\n";
}
- // outer ToString
+ // outer ToString
if (headerOutPtr) {
(*headerOutPtr) << "const TString& ToString(" << name << ");\n";
}
out << "const TString& ToString(" << name << " x) {\n";
- out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
- out << " return names.ToString(x);\n";
- out << "}\n\n";
-
- // outer FromString
+ out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
+ out << " return names.ToString(x);\n";
+ out << "}\n\n";
+
+ // outer FromString
if (headerOutPtr) {
(*headerOutPtr) << "bool FromString(const TString& name, " << name << "& ret);\n";
}
out << "bool FromString(const TString& name, " << name << "& ret) {\n";
- out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
- out << " return names.FromString(name, ret);\n";
- out << "}\n\n";
-
- // outer FromString
+ out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
+ out << " return names.FromString(name, ret);\n";
+ out << "}\n\n";
+
+ // outer FromString
if (headerOutPtr) {
(*headerOutPtr) << "bool FromString(const TStringBuf& name, " << name << "& ret);\n";
}
- out << "bool FromString(const TStringBuf& name, " << name << "& ret) {\n";
- out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
- out << " return names.FromString(name, ret);\n";
- out << "}\n\n";
-
- // specialization for internal FromStringImpl
- out << "template<>\n";
- out << name << " FromStringImpl<" << name << ">(const char* data, size_t len) {\n";
- out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
- out << " return names.FromString(TStringBuf(data, len));\n";
- out << "}\n\n";
-
- // specialization for internal TryFromStringImpl
- out << "template<>\n";
- out << "bool TryFromStringImpl<" << name << ">(const char* data, size_t len, " << name << "& result) {\n";
- out << " return FromString(TStringBuf(data, len), result);\n";
- out << "}\n\n";
-
- // outer Out
- out << "template<>\n";
+ out << "bool FromString(const TStringBuf& name, " << name << "& ret) {\n";
+ out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
+ out << " return names.FromString(name, ret);\n";
+ out << "}\n\n";
+
+ // specialization for internal FromStringImpl
+ out << "template<>\n";
+ out << name << " FromStringImpl<" << name << ">(const char* data, size_t len) {\n";
+ out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
+ out << " return names.FromString(TStringBuf(data, len));\n";
+ out << "}\n\n";
+
+ // specialization for internal TryFromStringImpl
+ out << "template<>\n";
+ out << "bool TryFromStringImpl<" << name << ">(const char* data, size_t len, " << name << "& result) {\n";
+ out << " return FromString(TStringBuf(data, len), result);\n";
+ out << "}\n\n";
+
+ // outer Out
+ out << "template<>\n";
out << "void Out<" << name << ">(IOutputStream& os, TTypeTraits<" << name << ">::TFuncParam n) {\n";
out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
out << " return names.Out(&os, n);\n";
- out << "}\n\n";
-
+ out << "}\n\n";
+
// specializations for NEnumSerializationRuntime function family
out << "namespace NEnumSerializationRuntime {\n";
// template<> GetEnumAllValues
@@ -338,7 +338,7 @@ void GenerateEnum(
out << " const " << nsName << "::TNameBufs& names = " << nsName << "::TNameBufs::Instance();\n";
out << " return names.AllEnumNames();\n";
out << " }\n\n";
-
+
// template<> GetEnumNames<EnumType>
out << " template<>\n";
out << " TMappedDictView<" << name << ", TString> GetEnumNamesImpl<" << name << ">() {\n";
@@ -353,8 +353,8 @@ void GenerateEnum(
out << " return names.AllEnumCppNames();\n";
out << " }\n";
- out << "}\n\n";
-
+ out << "}\n\n";
+
if (headerOutPtr) {
// <EnumType>Count
auto& outHeader = *headerOutPtr;
@@ -363,30 +363,30 @@ void GenerateEnum(
outHeader << " return " << en.Items.size() << ";\n";
outHeader << "}\n";
}
-
- FinishItems(jEnum);
- jEnum << "}\n";
-
- if (jsonEnumOut) {
- *jsonEnumOut << jEnum.Str();
- }
-}
-
-int main(int argc, char** argv) {
- try {
- using namespace NLastGetopt;
- TOpts opts = NLastGetopt::TOpts::Default();
- opts.AddHelpOption();
-
+
+ FinishItems(jEnum);
+ jEnum << "}\n";
+
+ if (jsonEnumOut) {
+ *jsonEnumOut << jEnum.Str();
+ }
+}
+
+int main(int argc, char** argv) {
+ try {
+ using namespace NLastGetopt;
+ TOpts opts = NLastGetopt::TOpts::Default();
+ opts.AddHelpOption();
+
TString outputFileName;
TString outputHeaderFileName;
TString outputJsonFileName;
TString includePath;
- opts.AddLongOption('o', "output").OptionalArgument("<output-file>").StoreResult(&outputFileName)
- .Help(
- "Output generated code to specified file.\n"
- "When not set, standard output is used."
- );
+ opts.AddLongOption('o', "output").OptionalArgument("<output-file>").StoreResult(&outputFileName)
+ .Help(
+ "Output generated code to specified file.\n"
+ "When not set, standard output is used."
+ );
opts.AddLongOption('h', "header").OptionalArgument("<output-header>").StoreResult(&outputHeaderFileName)
.Help(
"Generate appropriate header to specified file.\n"
@@ -397,75 +397,75 @@ int main(int argc, char** argv) {
"Include input header using this path in angle brackets.\n"
"When not set, header basename is used in double quotes."
);
-
- opts.AddLongOption('j', "json-output").OptionalArgument("<json-output>").StoreResult(&outputJsonFileName)
- .Help(
- "Generate enum data in JSON format."
- );
-
- opts.SetFreeArgsNum(1);
- opts.SetFreeArgTitle(0, "<input-file>", "Input header file with enum declarations");
-
- TOptsParseResult res(&opts, argc, argv);
-
+
+ opts.AddLongOption('j', "json-output").OptionalArgument("<json-output>").StoreResult(&outputJsonFileName)
+ .Help(
+ "Generate enum data in JSON format."
+ );
+
+ opts.SetFreeArgsNum(1);
+ opts.SetFreeArgTitle(0, "<input-file>", "Input header file with enum declarations");
+
+ TOptsParseResult res(&opts, argc, argv);
+
TVector<TString> freeArgs = res.GetFreeArgs();
TString inputFileName = freeArgs[0];
-
+
THolder<IOutputStream> hOut;
IOutputStream* out = &Cout;
-
+
THolder<IOutputStream> headerOut;
THolder<IOutputStream> jsonOut;
-
-
- if (outputFileName) {
+
+
+ if (outputFileName) {
NFs::Remove(outputFileName);
hOut.Reset(new TFileOutput(outputFileName));
- out = hOut.Get();
+ out = hOut.Get();
if (outputHeaderFileName) {
headerOut.Reset(new TFileOutput(outputHeaderFileName));
}
-
- if (outputJsonFileName) {
+
+ if (outputJsonFileName) {
jsonOut.Reset(new TFileOutput(outputJsonFileName));
- }
- }
-
+ }
+ }
+
if (!includePath) {
includePath = TString() + '"' + TFsPath(inputFileName).Basename() + '"';
} else {
includePath = TString() + '<' + includePath + '>';
}
- TEnumParser parser(inputFileName);
- WriteHeader(includePath, *out, headerOut.Get());
-
- TStringStream jEnums;
- OpenArray(jEnums);
-
- for (const auto& en : parser.Enums) {
- if (!en.CppName) {
- // skip unnamed enum declarations
- continue;
- }
-
- TStringStream jEnum;
- GenerateEnum(en, *out, &jEnum, headerOut.Get());
- OutItem(jEnums, jEnum.Str(), false);
- }
- FinishItems(jEnums);
- CloseArray(jEnums);
-
- if (jsonOut) {
- *jsonOut << jEnums.Str() << Endl;
- }
-
- return 0;
- } catch (...) {
- Cerr << CurrentExceptionMessage() << Endl;
- }
-
- return 1;
-}
+ TEnumParser parser(inputFileName);
+ WriteHeader(includePath, *out, headerOut.Get());
+
+ TStringStream jEnums;
+ OpenArray(jEnums);
+
+ for (const auto& en : parser.Enums) {
+ if (!en.CppName) {
+ // skip unnamed enum declarations
+ continue;
+ }
+
+ TStringStream jEnum;
+ GenerateEnum(en, *out, &jEnum, headerOut.Get());
+ OutItem(jEnums, jEnum.Str(), false);
+ }
+ FinishItems(jEnums);
+ CloseArray(jEnums);
+
+ if (jsonOut) {
+ *jsonOut << jEnums.Str() << Endl;
+ }
+
+ return 0;
+ } catch (...) {
+ Cerr << CurrentExceptionMessage() << Endl;
+ }
+
+ return 1;
+}
diff --git a/tools/enum_parser/enum_parser/ya.make b/tools/enum_parser/enum_parser/ya.make
index 82bac4e0f7..8e7b19358f 100644
--- a/tools/enum_parser/enum_parser/ya.make
+++ b/tools/enum_parser/enum_parser/ya.make
@@ -1,12 +1,12 @@
-OWNER(
+OWNER(
g:util
- mvel
-)
-
+ mvel
+)
+
IF (USE_PREBUILT_TOOLS)
INCLUDE(${ARCADIA_ROOT}/build/prebuilt/tools/enum_parser/enum_parser/ya.make.prebuilt)
ENDIF()
-
+
IF (NOT PREBUILT)
INCLUDE(${ARCADIA_ROOT}/tools/enum_parser/enum_parser/bin/ya.make)
ENDIF()
diff --git a/tools/enum_parser/ya.make b/tools/enum_parser/ya.make
index 762b282b3e..56c0286b82 100644
--- a/tools/enum_parser/ya.make
+++ b/tools/enum_parser/ya.make
@@ -1,6 +1,6 @@
-RECURSE(
- parse_enum
+RECURSE(
+ parse_enum
parse_enum/ut
- enum_parser
+ enum_parser
enum_serialization_runtime
-)
+)