/**
*
*/
package querqy.antlr;
import java.io.PrintWriter;
import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CommonTokenStream;
import querqy.PrettyPrinter;
import querqy.antlr.parser.QueryLexer;
import querqy.antlr.parser.QueryParser;
import querqy.antlr.parser.QueryParser.QueryContext;
import querqy.model.Node;
import querqy.model.Query;
/*import querqy.rewrite.QueryRewriter;
import querqy.rewrite.synonyms.SynonymRewriter;
*/
/**
* @author rene
*
*/
public class Runme {
/**
* @param args
*/
public static void main(String[] args) {
// de fg +(a b)
char[] input = "a b".toCharArray();
// f2:c OR +f3:d"));
// "de fg +(a AND b)"));
// a AND b AND (c f)"));
QueryLexer lex = new QueryLexer(new ANTLRInputStream(input, input.length));
CommonTokenStream tokens = new CommonTokenStream(lex);
QueryParser parser = new QueryParser(tokens);
QueryContext t = parser.query();
Node node = t.accept(new QueryTransformerVisitor(input));
PrintWriter writer = new PrintWriter(System.out);
PrettyPrinter printer = new PrettyPrinter(writer, 4);
printer.visit((Query) node);
writer.flush();
System.out.println("----");
// QueryRewriter rewriter = new SynonymRewriter();
// Query query = rewriter.rewrite((Query) node);
// printer = new PrettyPrinter(writer, 4);
// printer.visit(query);
// writer.flush();
// System.out.println();
}
}