/**
*
*/
package querqy.antlr;
import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CommonTokenStream;
import querqy.antlr.parser.QueryLexer;
import querqy.antlr.parser.QueryParser;
import querqy.antlr.parser.QueryParser.QueryContext;
import querqy.model.Query;
import querqy.parser.QuerqyParser;
/**
* @author rene
*
*/
public class ANTLRQueryParser implements QuerqyParser {
@Override
public Query parse(String input) {
char[] inputChars = input.toCharArray();
QueryLexer lex = new QueryLexer(new ANTLRInputStream(inputChars, inputChars.length));
CommonTokenStream tokens = new CommonTokenStream(lex);
QueryParser parser = new QueryParser(tokens);
QueryContext t = parser.query();
return (Query) t.accept(new QueryTransformerVisitor(inputChars));
}
}