blob: 79984d00e2b8eed0172ec14e7e55727ae9639dcb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#pragma once
#include <yql/essentials/sql/v1/complete/sql_complete.h>
#include <yql/essentials/sql/v1/lexer/lexer.h>
#include <util/generic/string.h>
#include <util/generic/vector.h>
namespace NSQLComplete {
struct TLocalSyntaxContext {
TVector<TString> Keywords;
bool IsTypeName;
bool IsFunctionName;
};
class ILocalSyntaxAnalysis {
public:
using TPtr = THolder<ILocalSyntaxAnalysis>;
virtual TLocalSyntaxContext Analyze(TCompletionInput input) = 0;
virtual ~ILocalSyntaxAnalysis() = default;
};
ILocalSyntaxAnalysis::TPtr MakeLocalSyntaxAnalysis(TLexerSupplier lexer);
} // namespace NSQLComplete
|