pgLab/pglablib/sqlparser/Parser.h
eelke fbbe832a05 Start of new ANTLR4 based parser.
Very simple tests pass.
2022-04-03 12:27:35 +02:00

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;
};