pgLab/pglablib/sqlparser/Parser.h

27 lines
548 B
C
Raw Normal View History

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