27 lines
567 B
C++
27 lines
567 B
C++
#pragma once
|
|
|
|
#include ".generated/PgsqlLexer.h"
|
|
#include ".generated/PgsqlParser.h"
|
|
#include "CaseChangingCharStream.h"
|
|
#include "ErrorListener.h"
|
|
|
|
class Parser
|
|
{
|
|
public:
|
|
Parser(const std::string &input_string);
|
|
|
|
std::unique_ptr<sqlast::StatementList> Parse();
|
|
|
|
int errorCount() const
|
|
{
|
|
return Errors.errorCount();
|
|
}
|
|
private:
|
|
std::unique_ptr<antlr4::CharStream> InputStream;
|
|
CaseChangingCharStream CaseFilter;
|
|
PgsqlLexer Lexer;
|
|
antlr4::CommonTokenStream TokenStream;
|
|
PgsqlParser AParser;
|
|
ErrorListener Errors;
|
|
};
|
|
|