Files
old-oracle-parser/antlr-library.cpp

31 lines
648 B
C++
Raw Normal View History

2018-02-23 00:40:26 +01:00
#include <iostream>
#include <fstream>
#include <string>
#include "antlr4-runtime.h"
#include "PlSqlLexer.h"
#include "PlSqlParser.h"
using namespace antlr4;
using namespace std;
string parseInput(string inputFileName){
ifstream inputFile (inputFileName);
if (inputFile.is_open()) {
ANTLRInputStream input(inputFile);
PlSqlLexer lexer(&input);
CommonTokenStream tokens(&lexer);
tokens.fill();
for (auto token : tokens.getTokens()) {
std::cout << token->toString() << std::endl;
}
PlSqlParser parser(&tokens);
tree::ParseTree *tree = parser.sql_script();
inputFile.close();
return tree->toStringTree(&parser);
}
}