List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:org.apache.drill.exec.record.metadata.schema.parser.SchemaExprParser.java
License:Apache License
private static SchemaParser initParser(String value) { CodePointCharStream stream = CharStreams.fromString(value); UpperCaseCharStream upperCaseStream = new UpperCaseCharStream(stream); SchemaLexer lexer = new SchemaLexer(upperCaseStream); lexer.removeErrorListeners();// w ww. j a va2 s . co m lexer.addErrorListener(ErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); SchemaParser parser = new SchemaParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(ErrorListener.INSTANCE); return parser; }
From source file:org.apache.hive.hplsql.Exec.java
License:Apache License
/** * Initialize PL/HQL//from www .j av a 2 s. c o m */ Integer init(String[] args) throws Exception { if (!parseArguments(args)) { return 1; } // specify the default log4j2 properties file. System.setProperty("log4j.configurationFile", "hive-log4j2.properties"); conf = new Conf(); conf.init(); conn = new Conn(this); meta = new Meta(this); initOptions(); expr = new Expression(this); select = new Select(this); stmt = new Stmt(this); converter = new Converter(this); function = new Function(this); new FunctionDatetime(this).register(function); new FunctionMisc(this).register(function); new FunctionString(this).register(function); new FunctionOra(this).register(function); addVariable(new Var(ERRORCODE, Var.Type.BIGINT, 0L)); addVariable(new Var(SQLCODE, Var.Type.BIGINT, 0L)); addVariable(new Var(SQLSTATE, Var.Type.STRING, "00000")); addVariable(new Var(HOSTCODE, Var.Type.BIGINT, 0L)); for (Map.Entry<String, String> v : arguments.getVars().entrySet()) { addVariable(new Var(v.getKey(), Var.Type.STRING, v.getValue())); } InputStream input = null; if (execString != null) { input = new ByteArrayInputStream(execString.getBytes("UTF-8")); } else { input = new FileInputStream(execFile); } HplsqlLexer lexer = new HplsqlLexer(new ANTLRInputStream(input)); CommonTokenStream tokens = new CommonTokenStream(lexer); HplsqlParser parser = new HplsqlParser(tokens); tree = parser.program(); if (trace) { System.err.println("Configuration file: " + conf.getLocation()); System.err.println("Parser tree: " + tree.toStringTree(parser)); } includeRcFile(); return 0; }
From source file:org.apache.hive.hplsql.Exec.java
License:Apache License
/** * Execute statements from an include file *///from ww w.ja va 2 s. c o m void include(String content) throws Exception { InputStream input = new ByteArrayInputStream(content.getBytes("UTF-8")); HplsqlLexer lexer = new HplsqlLexer(new ANTLRInputStream(input)); CommonTokenStream tokens = new CommonTokenStream(lexer); HplsqlParser parser = new HplsqlParser(tokens); ParseTree tree = parser.program(); visit(tree); }
From source file:org.apache.metron.common.query.PredicateProcessor.java
License:Apache License
public boolean parse(String rule, VariableResolver resolver) { if (rule == null || isEmpty(rule.trim())) { return true; }//from ww w. j a va2 s .c om ANTLRInputStream input = new ANTLRInputStream(rule); PredicateLexer lexer = new PredicateLexer(input); lexer.removeErrorListeners(); lexer.addErrorListener(new ErrorListener()); TokenStream tokens = new CommonTokenStream(lexer); PredicateParser parser = new PredicateParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(new ErrorListener()); QueryCompiler treeBuilder = new QueryCompiler(resolver); parser.removeParseListeners(); parser.addParseListener(treeBuilder); parser.single_rule(); return treeBuilder.getResult(); }
From source file:org.apache.metron.common.stellar.BaseStellarProcessor.java
License:Apache License
/** * Parses and evaluates the given Stellar expression, {@code rule}. * @param rule The Stellar expression to parse and evaluate. * @return The Expression, which can be reevaluated without reparsing in different Contexts and Resolvers. *//*w w w. java2 s. c om*/ public static StellarCompiler.Expression compile(final String rule) { if (rule == null || isEmpty(rule.trim())) { return null; } ANTLRInputStream input = new ANTLRInputStream(rule); StellarLexer lexer = new StellarLexer(input); lexer.removeErrorListeners(); lexer.addErrorListener(new ErrorListener()); TokenStream tokens = new CommonTokenStream(lexer); StellarParser parser = new StellarParser(tokens); StellarCompiler treeBuilder = new StellarCompiler(ArithmeticEvaluator.INSTANCE, NumberLiteralEvaluator.INSTANCE, ComparisonExpressionWithOperatorEvaluator.INSTANCE); parser.addParseListener(treeBuilder); parser.removeErrorListeners(); parser.addErrorListener(new ErrorListener()); parser.transformation(); return treeBuilder.getExpression(); }
From source file:org.apache.metron.common.transformation.TransformationProcessor.java
License:Apache License
public Object parse(String rule, VariableResolver resolver) { if (rule == null || isEmpty(rule.trim())) { return null; }/*from www . j a va 2 s.com*/ ANTLRInputStream input = new ANTLRInputStream(rule); TransformationLexer lexer = new TransformationLexer(input); lexer.removeErrorListeners(); lexer.addErrorListener(new ErrorListener()); TokenStream tokens = new CommonTokenStream(lexer); TransformationParser parser = new TransformationParser(tokens); TransformationCompiler treeBuilder = new TransformationCompiler(resolver); parser.addParseListener(treeBuilder); parser.removeErrorListeners(); parser.addErrorListener(new ErrorListener()); parser.transformation(); return treeBuilder.getResult(); }
From source file:org.apache.metron.profiler.client.window.WindowProcessor.java
License:Apache License
private static TokenStream createTokenStream(String statement) { if (statement == null || isEmpty(statement.trim())) { return null; }//from ww w. j ava 2 s. co m statement = statement.trim(); ANTLRInputStream input = new ANTLRInputStream(statement); WindowLexer lexer = new WindowLexer(input); lexer.removeErrorListeners(); lexer.addErrorListener(new ErrorListener()); TokenStream tokens = new CommonTokenStream(lexer); return tokens; }
From source file:org.apache.olingo.server.core.uri.parser.Parser.java
License:Apache License
private ParserRuleContext parseRule(final String input, final ParserEntryRules entryPoint) throws UriParserSyntaxException { UriParserParser parser = null;/*from w w w . j a v a2 s. c om*/ UriLexer lexer = null; ParserRuleContext ret = null; // Use 2 stage approach to improve performance // see https://github.com/antlr/antlr4/issues/192 // stage = 1 try { // create parser if (logLevel > 0) { //TODO: Discuss if we should keep this code lexer = new UriLexer(new ANTLRInputStream(input)); showTokens(input, lexer.getAllTokens()); } lexer = new UriLexer(new ANTLRInputStream(input)); parser = new UriParserParser(new CommonTokenStream(lexer)); // Set error strategy addStage1ErrorStategy(parser); // Set error collector addStage1ErrorListener(parser); // user the faster LL parsing parser.getInterpreter().setPredictionMode(PredictionMode.SLL); // parse switch (entryPoint) { case All: ret = parser.allEOF(); break; case Batch: ret = parser.batchEOF(); break; case CrossJoin: ret = parser.crossjoinEOF(); break; case Metadata: ret = parser.metadataEOF(); break; case PathSegment: ret = parser.pathSegmentEOF(); break; case FilterExpression: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.filterExpressionEOF(); break; case Orderby: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.orderByEOF(); break; case ExpandItems: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.expandItemsEOF(); break; case Entity: ret = parser.entityEOF(); break; case Select: ret = parser.selectEOF(); break; default: break; } } catch (ParseCancellationException hardException) { // stage = 2 try { // create parser lexer = new UriLexer(new ANTLRInputStream(input)); parser = new UriParserParser(new CommonTokenStream(lexer)); // Set error strategy addStage2ErrorStategy(parser); // Set error collector addStage2ErrorListener(parser); // Use the slower SLL parsing parser.getInterpreter().setPredictionMode(PredictionMode.LL); // parse switch (entryPoint) { case All: ret = parser.allEOF(); break; case Batch: ret = parser.batchEOF(); break; case CrossJoin: ret = parser.crossjoinEOF(); break; case Metadata: ret = parser.metadataEOF(); break; case PathSegment: ret = parser.pathSegmentEOF(); break; case FilterExpression: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.filterExpressionEOF(); break; case Orderby: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.orderByEOF(); break; case ExpandItems: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.expandItemsEOF(); break; case Entity: ret = parser.entityEOF(); break; case Select: ret = parser.selectEOF(); break; default: break; } } catch (final RecognitionException weakException) { throw new UriParserSyntaxException("Error in syntax", weakException, UriParserSyntaxException.MessageKeys.SYNTAX); // exceptionOnStage = 2; } } catch (final RecognitionException hardException) { throw new UriParserSyntaxException("Error in syntax", hardException, UriParserSyntaxException.MessageKeys.SYNTAX); } return ret; }
From source file:org.apache.sling.scripting.sightly.impl.compiler.frontend.ExpressionParser.java
License:Apache License
private SightlyParser createParser(String string) { SightlyLexer lexer = new SightlyLexer(new ANTLRInputStream(string)); lexer.removeErrorListeners();// w w w . j a va2 s.co m lexer.addErrorListener(new SightlyParserErrorListener()); CommonTokenStream tokenStream = new CommonTokenStream(lexer); SightlyParser parser = new SightlyParser(tokenStream); parser.removeErrorListeners(); parser.addErrorListener(new SightlyParserErrorListener()); return parser; }
From source file:org.apache.syncope.core.logic.scim.SearchCondConverter.java
License:Apache License
public static SearchCond convert(final SearchCondVisitor visitor, final String filter) { SCIMFilterParser parser = new SCIMFilterParser( new CommonTokenStream(new SCIMFilterLexer(CharStreams.fromString(filter)))); parser.setBuildParseTree(true);//from w ww . j a v a 2 s. com parser.setTrimParseTree(true); parser.setProfile(true); parser.removeErrorListeners(); parser.setErrorHandler(new SCIMFilterErrorHandler()); try { return visitor.visit(parser.scimFilter()); } catch (Exception e) { LOG.error("Could not parse '{}'", filter, e); throw new BadRequestException(ErrorType.invalidFilter, "Could not parse '" + filter + "'"); } }