Example usage for org.antlr.v4.runtime CommonTokenStream CommonTokenStream

List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream

Introduction

In this page you can find the example usage for org.antlr.v4.runtime CommonTokenStream CommonTokenStream.

Prototype

public CommonTokenStream(TokenSource tokenSource) 

Source Link

Document

Constructs a new CommonTokenStream using the specified token source and the default token channel ( Token#DEFAULT_CHANNEL ).

Usage

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;
}