List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:edu.umd.cs.psl.parser.PSLModelLoader.java
License:Apache License
/** * loads a model from the file system// w w w.j av a2s.c om * @param filename * @param ds DataStore to associate with the model * @return */ public static Model loadModel(String filename, DataStore ds) { PSLLexer lexer; Model model = new Model(); try { lexer = new PSLLexer(new ANTLRFileStream(filename)); CommonTokenStream tokens = new CommonTokenStream(lexer); PSLParser parser = new PSLParser(tokens); PSLParser.ProgramContext program = parser.program(); PSLModelLoader loader = new PSLModelLoader(model, ds); // start parsing loader.visit(program); log.debug(loader.getModel().toString()); } catch (IOException e) { e.printStackTrace(); } return model; }
From source file:edu.umn.cs.crisys.smaccm.aadl2rtos.parse.AadlModelParser.java
License:Open Source License
private SendsToWalker constructDispatchLimit(String sendsEventsTo, List<OutputEventPort> outputPorts) { ANTLRInputStream input = new ANTLRInputStream(sendsEventsTo); TokenStream tokens = new CommonTokenStream(new SendsToLexer(input)); SendsToParser parser = new SendsToParser(tokens); ParseTree tree = parser.program();// w w w .j a va2 s. co m ParseTreeWalker walker = new ParseTreeWalker(); SendsToWalker surrogate = new SendsToWalker(outputPorts); walker.walk(surrogate, tree); return surrogate; }
From source file:eric.bottard.tis100.NodeFactory.java
License:Apache License
public static SpringNode buildNode(String source) { ANTLRInputStream input = new ANTLRInputStream(source); Tis100Lexer lexer = new Tis100Lexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); Tis100Parser parser = new Tis100Parser(tokens); ParseTree tree = parser.node();/*from w w w. j a va 2s . c o m*/ ParseTreeWalker parseTreeWalker = new ParseTreeWalker(); NodeLabelListener nodeLabelListener = new NodeLabelListener(); parseTreeWalker.walk(nodeLabelListener, tree); SpringNode node = new SpringNode(source.split("\\n")); NodeCompilationListener nodeCompilationListener = new NodeCompilationListener(node, nodeLabelListener.getLabels()); parseTreeWalker.walk(nodeCompilationListener, tree); return node; }
From source file:es.bsc.mongoal.QueryGenerator.java
/** * Sends a query to the MongoDB database * @param queryString MongoAL query/*from ww w. j a va 2 s. c om*/ * @return An iterable collection of MongoDB DBobjects with the results of the query */ public Iterable<DBObject> query(String queryString) { MongoALLexer lexer = new MongoALLexer(new org.antlr.v4.runtime.ANTLRInputStream(queryString)); CommonTokenStream tokens = new CommonTokenStream(lexer); MongoALParser parser = new MongoALParser(tokens); Object[] ret = (Object[]) queryVisitor.visitQuery(parser.query()); System.out.println(JSON.serialize(ret[1])); DBCollection events = database.getCollection((String) ret[0]); if (ret[1] == null) { return events.find(); } else { return events.aggregate((List<DBObject>) ret[1]).results(); } }
From source file:es.ucm.fdi.ac.parser.AntlrTokenizer.java
License:Open Source License
public void tokenize(String source, String sourceFile, PrintWriter out) { Writer debugWriter = null;// w w w . j a v a 2 s. c o m try { Lexer lexer = (Lexer) language.lexerConstructor.newInstance(new ANTLRInputStream(source)); final CommonTokenStream tokens = new CommonTokenStream(lexer); tokens.fill(); if (log.isDebugEnabled()) { try { debugWriter = new BufferedWriter( new FileWriter(Files.createTempFile("tokens-" + NDC.get() + "-", ".txt").toFile())); } catch (IOException ioe) { log.warn("Could not create debugWriter", ioe); } } for (final Token tok : tokens.getTokens()) { out.print(tokenToString(tok)); if (log.isDebugEnabled()) { log.debug(tok); if (debugWriter != null) { debugWriter.write(tokenToString(tok)); } } } if (parse) { Parser parser = (Parser) language.parserConstructor.newInstance(tokens); parser.setErrorHandler(new BailErrorStrategy()); ParserRuleContext parserRuleContext = (ParserRuleContext) language.parserMethod.invoke(parser); if (log.isDebugEnabled()) { log.debug(Trees.toStringTree(parserRuleContext, parser)); } } } catch (Exception e) { e.printStackTrace(); throw new IllegalArgumentException("Bad token in source, or failed to parse", e); } finally { out.flush(); if (log.isDebugEnabled() && debugWriter != null) { try { debugWriter.close(); } catch (IOException ioe) { log.warn("Could not close debugWriter", ioe); } } } }
From source file:es.ull.mazesolver.agent.SARulesAgent.java
License:Open Source License
/** * Convierte el cdigo fuente guardado en m_code en la representacin de las * reglas de situacin-accin.//from w ww. ja v a 2 s . c o m * * @return {@code true} si la compilacin fue exitosa y {@code false} si no. */ public boolean compileCode() { m_error_handler.resetErrorList(); ArrayList<SituationActionRule> rules = new ArrayList<SituationActionRule>(); InputStream stream = new ByteArrayInputStream(m_code.getBytes(StandardCharsets.UTF_8)); try { ANTLRInputStream input = new ANTLRInputStream(stream); SituationActionLexer lexer = new SituationActionLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); SituationActionParser parser = new SituationActionParser(tokens); lexer.removeErrorListeners(); parser.removeErrorListeners(); lexer.addErrorListener(m_error_handler); parser.addErrorListener(m_error_handler); rules = new ArrayList<SituationActionRule>(); for (Sa_ruleContext i : parser.program().sa_rule()) rules.add(SituationActionRule.createFromTree(i)); } catch (Exception e) { return false; } if (m_error_handler.hasErrors()) return false; else { m_rules = rules; return true; } }
From source file:es.us.isa.aml.model.expression.Expression.java
License:Open Source License
public static Expression parse(String content) { ExpressionLexer lexer = new ExpressionLexer(new ANTLRInputStream(content)); // Get a list of matched tokens CommonTokenStream tokens = new CommonTokenStream(lexer); // Pass the tokens to the parser ExpressionParser parser = new ExpressionParser(tokens); // Specify our entry point ParseContext context = parser.parse(); // Walk it and attach our listener MExpressionVisitor visitor = new MExpressionVisitor(); Expression res = visitor.visitParse(context); return res;/*from ww w. jav a2 s . c o m*/ }
From source file:es.us.isa.aml.parsers.agreements.IAgreeParser.java
License:Open Source License
@Override public AgreementModel doParse(String content) { AgreementModel model;//from w ww .j a v a 2 s . c o m iAgreeLexer lexer = new iAgreeLexer(new ANTLRInputStream(content)); // Get a list of matched tokens CommonTokenStream tokens = new CommonTokenStream(lexer); // Pass the tokens to the parser iAgreeParser parser = new iAgreeParser(tokens); errorListener = new IAgreeErrorListener(); parser.addErrorListener(errorListener); // Specify our entry point EntryContext context = parser.entry(); // Walk it and attach our listener MiAgreeVisitor visitor = new MiAgreeVisitor(parser); model = visitor.visitEntry(context); if (errorListener.getErrors().size() > 0) { throw new IllegalArgumentException( "There was an error parsing the file. Please, check the syntax of the document."); } return model; }
From source file:es.us.isa.sedl.marshaller.analysis.statistic.DatasetSpecificationParser.java
@Override public DatasetSpecification parse(String s, SEDL4PeopleExtendedListener listener) { DatasetSpecification result = null;//ww w .j a va 2 s. c om try { ByteArrayInputStream stream = new ByteArrayInputStream(s.getBytes()); SEDL4PeopleLexer lexer = new SEDL4PeopleLexer(new ANTLRInputStream(stream)); //lexer.addErrorListener(errorListener); CommonTokenStream tokens = new CommonTokenStream(lexer); SEDL4PeopleParser parser = new SEDL4PeopleParser(tokens); //parser.addErrorListener(errorListener); result = parse(parser.statisticFunctionFilter(), listener); } catch (IOException ex) { Logger.getLogger(DatasetSpecificationParser.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } return result; }
From source file:es.us.isa.sedl.marshaller.analysis.statistic.StatisticalAnalysisSpecParser.java
@Override public StatisticalAnalysisSpec parse(String s, SEDL4PeopleExtendedListener listener) { StatisticalAnalysisSpec result = null; try {//from ww w . j a v a 2 s . co m ByteArrayInputStream stream = new ByteArrayInputStream(s.getBytes()); SEDL4PeopleLexer lexer = new SEDL4PeopleLexer(new ANTLRInputStream(stream)); //lexer.addErrorListener(errorListener); CommonTokenStream tokens = new CommonTokenStream(lexer); SEDL4PeopleParser parser = new SEDL4PeopleParser(tokens); //parser.addErrorListener(errorListener); result = parse(parser.statisticFunction(), listener); } catch (IOException ex) { java.util.logging.Logger.getLogger(DatasetSpecificationParser.class.getName()) .log(java.util.logging.Level.SEVERE, null, ex); } return result; }