List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:io.siddhi.query.compiler.SiddhiCompiler.java
License:Open Source License
public static Query parseQuery(String source) throws SiddhiParserException { ANTLRInputStream input = new ANTLRInputStream(source); SiddhiQLLexer lexer = new SiddhiQLLexer(input); lexer.removeErrorListeners();/*from www.j a v a 2s. c o m*/ lexer.addErrorListener(SiddhiErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); SiddhiQLParser parser = new SiddhiQLParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(SiddhiErrorListener.INSTANCE); ParseTree tree = parser.query_final(); SiddhiQLVisitor eval = new SiddhiQLBaseVisitorImpl(); return (Query) eval.visit(tree); }
From source file:io.siddhi.query.compiler.SiddhiCompiler.java
License:Open Source License
public static FunctionDefinition parseFunctionDefinition(String source) throws SiddhiParserException { ANTLRInputStream input = new ANTLRInputStream(source); SiddhiQLLexer lexer = new SiddhiQLLexer(input); lexer.removeErrorListeners();/* w ww. j ava2 s . c o m*/ lexer.addErrorListener(SiddhiErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); SiddhiQLParser parser = new SiddhiQLParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(SiddhiErrorListener.INSTANCE); ParseTree tree = parser.definition_function_final(); SiddhiQLVisitor eval = new SiddhiQLBaseVisitorImpl(); return (FunctionDefinition) eval.visit(tree); }
From source file:io.siddhi.query.compiler.SiddhiCompiler.java
License:Open Source License
public static TimeConstant parseTimeConstantDefinition(String source) throws SiddhiParserException { ANTLRInputStream input = new ANTLRInputStream(source); SiddhiQLLexer lexer = new SiddhiQLLexer(input); lexer.removeErrorListeners();//from w w w. j a va 2s . c o m lexer.addErrorListener(SiddhiErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); SiddhiQLParser parser = new SiddhiQLParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(SiddhiErrorListener.INSTANCE); ParseTree tree = parser.time_value(); SiddhiQLVisitor eval = new SiddhiQLBaseVisitorImpl(); return (TimeConstant) eval.visit(tree); }
From source file:io.siddhi.query.compiler.SiddhiCompiler.java
License:Open Source License
public static StoreQuery parseStoreQuery(String storeQuery) throws SiddhiParserException { ANTLRInputStream input = new ANTLRInputStream(storeQuery); SiddhiQLLexer lexer = new SiddhiQLLexer(input); lexer.removeErrorListeners();/*from w w w. ja v a 2 s.c o m*/ lexer.addErrorListener(SiddhiErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); SiddhiQLParser parser = new SiddhiQLParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(SiddhiErrorListener.INSTANCE); ParseTree tree = parser.store_query_final(); SiddhiQLVisitor eval = new SiddhiQLBaseVisitorImpl(); return (StoreQuery) eval.visit(tree); }
From source file:io.smartspaces.expression.language.ssel.SselExpressionEvaluator.java
License:Apache License
/** * Evaluate an SSEL expression./*from www . j ava 2 s . c o m*/ * * @param expression * the expression * * @return the value */ private Object evaluateSselExpression(String expression) { ANTLRInputStream inputStream = new ANTLRInputStream(expression); SmartspacesexpressionlanguageParserLexer lexer = new SmartspacesexpressionlanguageParserLexer(inputStream); TokenStream tokenStream = new CommonTokenStream(lexer); SmartspacesexpressionlanguageParserParser parser = new SmartspacesexpressionlanguageParserParser( tokenStream); ExpressionContext expressionContext = parser.expression(); if (expressionContext.exception == null) { ExpressionVisitor visitor = new ExpressionVisitor(); Object value = visitor.visit(expressionContext); return value.toString(); } else { throw new SmartSpacesException("Could not parse expression " + expression, expressionContext.exception); } }
From source file:io.viewserver.expression.AntlrExpressionParser.java
License:Apache License
@Override public <TResult> TResult parse(String expressionText, ParseTreeVisitor<TResult> parseTreeVisitor, BitSet columnsUsed) {// w w w.j av a2s. com ExpressionLexer lexer = new ExpressionLexer(new ANTLRInputStream(expressionText)); ExpressionParser parser = new ExpressionParser(new CommonTokenStream(lexer)); ExpressionParser.ParseContext parse = parser.parse(); TResult result = parseTreeVisitor.visit(parse); if (columnsUsed != null && parseTreeVisitor instanceof IColumnTrackingExpressionVisitor) { columnsUsed.or(((IColumnTrackingExpressionVisitor) parseTreeVisitor).getColumnsUsed()); } return result; }
From source file:it.cnr.istc.core.Core.java
License:Open Source License
public boolean read(String script) { parser = new oRatioParser(new CommonTokenStream(new oRatioLexer(new ANTLRInputStream(script)))); oRatioParser.Compilation_unitContext cu = parser.compilation_unit(); ParseTreeWalker.DEFAULT.walk(new TypeDeclarationListener(this), cu); ParseTreeWalker.DEFAULT.walk(new TypeRefinementListener(this), cu); if (!new StatementVisitor(this, this).visit(cu)) { return false; }//from w w w .j av a 2s . c o m parser = null; return true; }
From source file:it.cnr.istc.core.Core.java
License:Open Source License
public boolean read(File... files) throws IOException { List<File> fs = new ArrayList<>(files.length); for (File file : files) { fs.addAll(Files.walk(Paths.get(file.toURI())).filter(Files::isRegularFile).map(path -> path.toFile()) .collect(Collectors.toList())); }/* ww w.j a v a2s .c o m*/ Collection<CodeSnippet> snippets = new ArrayList<>(fs.size()); for (File f : fs) { oRatioParser c_parser = new oRatioParser( new CommonTokenStream(new oRatioLexer(new ANTLRFileStream(f.getPath())))); oRatioParser.Compilation_unitContext context = c_parser.compilation_unit(); snippets.add(new CodeSnippet(f, c_parser, context)); } for (CodeSnippet snippet : snippets) { parser = snippet.parser; ParseTreeWalker.DEFAULT.walk(new TypeDeclarationListener(this), snippet.context); ParseTreeWalker.DEFAULT.walk(new TypeRefinementListener(this), snippet.context); if (!new StatementVisitor(this, this).visit(snippet.context)) { return false; } parser = null; } return true; }
From source file:it.cnr.istc.iloc.ddl.LanguageParser.java
License:Open Source License
public void read(String script) { DDLParser parser = new DDLParser(new CommonTokenStream(new DDLLexer(new ANTLRInputStream(script)))); parser.addErrorListener(error_listener); DDLParser.Compilation_unitContext compilation_unit = parser.compilation_unit(); scopes.put(compilation_unit, solver); WALKER.walk(new TypeDeclaration(solver, parser, scopes), compilation_unit); WALKER.walk(new TypeRefinement(solver, parser, scopes), compilation_unit); WALKER.walk(new Preprocessing(solver, parser, scopes), compilation_unit); compilation_unit.statement().forEach(statementContext -> { WALKER.walk(new StatementTesting(solver, parser, scopes), statementContext); });//from w w w . j a va 2 s . c om StatementExecutor statementExecutor = new StatementExecutor(solver, parser, scopes, solver); compilation_unit.statement().forEach(statement -> { statementExecutor.visit(statement); }); }
From source file:it.cnr.istc.iloc.ddl.LanguageParser.java
License:Open Source License
public void read(File... files) throws IOException { List<File> fs = new ArrayList<>(files.length); for (File file : files) { fs.addAll(Files.walk(Paths.get(file.toURI())).filter(Files::isRegularFile).map(path -> path.toFile()) .collect(Collectors.toList())); }// www.j a v a 2 s.c o m Collection<CodeSnippet> snippets = new ArrayList<>(fs.size()); for (File f : fs) { DDLParser parser = new DDLParser(new CommonTokenStream(new DDLLexer(new ANTLRFileStream(f.getPath())))); parser.addErrorListener(error_listener); DDLParser.Compilation_unitContext context = parser.compilation_unit(); scopes.put(context, solver); snippets.add(new CodeSnippet(f, parser, context)); } snippets.forEach(snippet -> { WALKER.walk(new TypeDeclaration(solver, snippet.parser, scopes), snippet.context); }); snippets.forEach(snippet -> { WALKER.walk(new TypeRefinement(solver, snippet.parser, scopes), snippet.context); }); snippets.forEach(snippet -> { WALKER.walk(new Preprocessing(solver, snippet.parser, scopes), snippet.context); }); snippets.forEach(snippet -> { snippet.context.statement().forEach(statementContext -> { WALKER.walk(new StatementTesting(solver, snippet.parser, scopes), statementContext); }); }); snippets.forEach(snippet -> { StatementExecutor statementExecutor = new StatementExecutor(solver, snippet.parser, scopes, solver); snippet.context.statement().forEach(statement -> { statementExecutor.visit(statement); }); }); }