public static JSONObject queryToJSON(String query) throws IOException, RecognitionException, JSONException { ANTLRStringStream sparql; if (new File(query).exists()) { sparql = new ANTLRFileStream(query, "UTF8"); } else { System.err.println(query); sparql = new ANTLRStringStream(query); } XTree ast = SparqlParserUtilities.getParseTree(sparql); JSONWriter writer = new JSONWriter(new BufferedTreeNodeStream(ast)); JSONObject jsonOutput = writer.queryUnit(); return jsonOutput; }
public static Document parseThriftIdl(CharSource input) throws IOException { Tree tree = parseTree(input); TreeNodeStream stream = new BufferedTreeNodeStream(tree); DocumentGenerator generator = new DocumentGenerator(stream); try { return generator.document().value; } catch (RecognitionException e) { throw new IllegalArgumentException(e); } }
static Query getQuery(CharStream sparqlFile) throws RecognitionException { CommonTree ast = getParseTree(sparqlFile); // System.out.println(ast.toStringTree()); BufferedTreeNodeStream nodes = new BufferedTreeNodeStream(ast); // nodes.setTokenStream(tokens); // IbmSparqlAstRewriter astRewriter = new IbmSparqlAstRewriter(nodes); // CommonTree ast2 = (CommonTree)astRewriter.downup(ast, false); // System.out.println(ast2.toStringTree()); // BufferedTreeNodeStream nodes2 = new BufferedTreeNodeStream(ast2); // nodes2.setTokenStream(tokens); IbmSparqlAstWalker walker = new IbmSparqlAstWalker(nodes); Query q = walker.queryUnit(); return q; }
public static void runParser(String sparqlFile) throws IOException { //System.out.println("Parsing: "+sparqlFile+"\n"); IbmSparqlLexer lex = new IbmSparqlLexer(new ANTLRFileStream(sparqlFile, "UTF8")); CommonTokenStream tokens = new CommonTokenStream(lex); IbmSparqlParser parser = new IbmSparqlParser(tokens); try { IbmSparqlParser.queryUnit_return ret = parser.queryUnit(); CommonTree ast = (CommonTree) ret.getTree(); //System.out.println(ast.toStringTree()); //SparqlParserUtilities.dump_tree(ast, tokens, 0); BufferedTreeNodeStream nodes = new BufferedTreeNodeStream(ast); nodes.setTokenStream(tokens); IbmSparqlAstWalker walker = new IbmSparqlAstWalker(nodes); Query query = walker.queryUnit(); //System.out.println(query.toString()); } catch (Exception e) { e.printStackTrace(); } }
private static Query getQueryExt(CharStream sparqlFile) throws RecognitionException { // System.out.println("Parsing: "+sparqlFile+"\n"); IbmSparqlExtLexer lex = new IbmSparqlExtLexer(sparqlFile); CommonTokenStream tokens = new CommonTokenStream(lex); IbmSparqlExtParser parser = new IbmSparqlExtParser(tokens); parser.setTreeAdaptor(new CommonTreeAdaptor() { @Override public Object create(Token t) { return new XTree(t); } }); IbmSparqlExtParser.queryUnit_return ret = parser.queryUnit(); CommonTree ast = (CommonTree) ret.getTree(); // System.out.println(ast.toStringTree()); // SparqlParserUtilities.dump_tree(ast, tokens, 0); BufferedTreeNodeStream nodes = new BufferedTreeNodeStream(ast); nodes.setTokenStream(tokens); IbmSparqlExtAstWalker walker = new IbmSparqlExtAstWalker(nodes); QueryExt query = walker.queryUnit(); return query; }