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:controle.analiseTexto.AnalisePeriodo.java

public ArrayList<String> recuperarFuncionalidades(String frase) throws Exception {
    SrsGrammarLexer lexer = new SrsGrammarLexer(new ANTLRInputStream(frase));
    tokens = new CommonTokenStream(lexer);
    SrsGrammarParser parser = new SrsGrammarParser(tokens);
    System.out.println(tokens.getText());

    etiquetar(tokens);/*from  www. ja  v  a2s .  c o m*/
    parser.funcionalidades();
    listaFuncionalidade.addAll(parser.conceitos);
    return parser.conceitos;
}

From source file:controle.analiseTexto.AnalisePeriodo.java

public String sentencaUC(String frase) throws Exception {
    frase = frase.toLowerCase();//from   ww  w . j a v  a 2  s. c  om
    UCGrammarLexer lexer = new UCGrammarLexer(new ANTLRInputStream(frase));
    tokens = new CommonTokenStream(lexer);
    UCGrammarParser parser = new UCGrammarParser(tokens);
    System.out.println(tokens.getText());

    etiquetarUC(tokens);
    Editor.jTextArea1.setText(frase);
    parser.addErrorListener(new UnderlineListener());
    parser.sentenca_uc();

    this.ucParser = parser;
    //        System.out.println("\n" + parser.elementosDaFrase.tipoElemento);
    //        System.out.println("\n" + parser.elementosDaFrase.elemento);
    //        System.out.println("\n" + parser.elementosDaFrase.verbos);
    //        System.out.println("\n" + parser.elementosDaFrase.posVerbo);
    String textErros = Editor.jTextArea1.getText();
    Editor.jTextArea1.setText(textErros + "\n" + parser.elementosDaFrase);

    ultimaPalavraParser = parser.ultimaPalavra;
    complemento = parser.complemento;
    ultimoComplemento = parser.complemento;
    ultimoAtor = parser.ultimoAtor;
    ultimoVerbo = parser.ultimoVerbo;
    numeroSentenca = parser.numeroSentenca;
    String proximo = (parser.ultimaPalavra.equals(".")) ? "" : parser.proximo;
    tipoFrase = parser.tipoFrase;

    verificarComplementos(parser);

    this.elementosFrase = recuperarElementosDafraseCasosDeUso(frase);
    //        System.out.println("\n" + parser.elementosDaFrase.tipoElemento);
    //        System.out.println("\n" + parser.elementosDaFrase.elemento);
    //        System.out.println("\n" + parser.elementosDaFrase.verbos);
    //        System.out.println("\n" + parser.elementosDaFrase.posVerbo);
    return proximo;
}

From source file:controle.analiseTexto.AnalisePeriodo.java

public String sintagmas(String frase) throws Exception {
    frase = frase.toLowerCase();/*from w w w . j  a  va  2  s.c  o  m*/
    etiquetasSentenca = "";
    SrsGrammarLexer lexer = new SrsGrammarLexer(new ANTLRInputStream(frase));
    tokens = new CommonTokenStream(lexer);
    SrsGrammarParser parser = new SrsGrammarParser(tokens);
    System.out.println(tokens.getText());

    tags = etiquetarDescricaoFuncionalidade(tokens); //demora pra porra
    Editor.jTextArea1.setText(frase);
    parser.addErrorListener(new UnderlineListener());
    UnderlineListener.erroList.clear();
    //System.out.println("");
    parser.inicio();
    tipoFrase = parser.tipoFrase;
    this.srsParser = parser;
    String textErros = Editor.jTextArea1.getText();
    textErros = textErros + "\n" + parser.caminho + "\n" + parser.conceitosTipados + "\n" + parser.tipoFrase;
    ;
    Editor.jTextArea1.setText(textErros);
    conceitosTipados = corrigirConceitosTipados(parser.conceitosTipados); //+1 parser

    //System.out.println("Conceitos antes:" + parser.conceitos);
    recuperarElementosDafraseFuncaoDoProduto(frase);// +1 parser

    textErros = textErros + "\n Nmero de iteraes" + parser.iteracaoVerbo;
    //        System.out.println("\n Nmero de iteraes" + parser.iteracaoVerbo);
    //        System.out.println("");
    //        System.out.println(parser.elementosDaFrase.elemento);
    //        System.out.println(parser.elementosDaFrase.tipoElemento);
    //        System.out.println("Elementos da frase:" + elementosFrase);
    srsParser.podeSer = eliminarPreposicaoFinDoConceito(srsParser.podeSer);
    return parser.proximo;
}

From source file:controle.analiseTexto.AnalisePeriodo.java

public String intellisense(String frase, boolean showTree) throws Exception {
    frase = frase.toLowerCase();/*from   w w w.j  a v a 2 s  .c o  m*/
    etiquetasSentenca = "";
    IntellisenseGrammarLexer lexer = new IntellisenseGrammarLexer(new ANTLRInputStream(frase));
    tokens = new CommonTokenStream(lexer);
    IntellisenseGrammarParser parser = new IntellisenseGrammarParser(tokens);
    System.out.println();
    System.out.println(tokens.getText());

    etiquetarDescricaoFuncionalidadeIntellisense(tokens);
    //System.out.println("");
    Editor.jTextArea1.setText(frase);
    parser.addErrorListener(new UnderlineListener());
    parser.inicio();

    this.intellisenseParser = parser;
    String textErros = Editor.jTextArea1.getText();
    textErros = textErros + "\n" + parser.caminho + "\n" + parser.conceitosTipados + "\n" + parser.tipoFrase;
    ;
    Editor.jTextArea1.setText(textErros);

    /* Teste de Rig*/
    conceitosTipados = parser.conceitosTipados;
    ultimaPalavraParser = parser.ultimaPalavra;
    return parser.proximo;
}

From source file:controle.dicionario.Dicionario.java

private void analisaAssunto(String nomeArquivo, String texto) throws Exception {
    //ArrayList<String> tags = null;
    ArrayList<String> tagsMorf = null;
    CommonTokenStream tokensMorf = null;
    CommonTokenStream tokens = null;/*from   w ww  .j a v  a 2 s.  co  m*/
    Referencia referenciaBanco = referenciasHash.get(nomeArquivo);
    referenciaBanco.setQtd(0);
    referenciaDAO.atualiza(referenciaBanco);
    this.nomeArquivo = nomeArquivo;
    SrsGrammarLexer lexer = new SrsGrammarLexer(new ANTLRInputStream(texto));
    tokens = new CommonTokenStream(lexer);
    SrsGrammarParser parser = new SrsGrammarParser(tokens);
    System.out.println(tokens.getText());

    analisePeriodo = new AnalisePeriodo(texto);

    SrsGrammarLexer lexerMorf = new SrsGrammarLexer(new ANTLRInputStream(texto));
    tokensMorf = new CommonTokenStream(lexerMorf);
    System.out.println(tokensMorf.getText());
    tagsMorf = etiquetar(tokensMorf);

    try {
        Sigla sigla = new Sigla();
        siglas.putAll(sigla.reconheceSiglas(tokens));

    } catch (Exception e) {
        e.printStackTrace();
    }

    Iterator it1 = tokens.getTokens().iterator();
    CommonToken ob = null;
    int qtdPalavrasRelevantes = 0;
    int qtdRadicais = 0;

    while (it1.hasNext()) {
        ob = (CommonToken) it1.next();
        //Retirando o caractere '-' do inicio da palavra
        if (ob.getText().length() > 1 && ob.getText().charAt(0) == '-') {
            ob.setText(ob.getText().substring(1));
        }
        //Retirando o caractere '-' do fim da palavra
        if (ob.getText().length() > 1 && (ob.getText().charAt(ob.getText().length() - 1) == '-')) {
            ob.setText(ob.getText().substring(0, ob.getText().length() - 2));
        }

        String palavra = ob.getText().toLowerCase();
        String palavraLemmaa = ob.getText();

        //Filtrando as palavras relevantes do texto
        if ((ob.getType() == SrsGrammarLexer.PALAVRA) && (ob.getText().length() > 4)
                && stopWordsHash.get(palavra) == null && !ehTudoIgual(palavra)) {
            qtdPalavrasRelevantes++;

            String radical;
            //Recuperando radical da palavra
            //Obtem radical utilizando o PTStemmer
            radical = getRadicalPTStemmer(palavra);

            String lemma;
            //Obtem lemma utilizando o TreeTagger
            //                lemma = AnalisePeriodo.tagger.getLemma(palavraLemmaa);
            lemma = AnalisePeriodo.recuperaLemma(palavraLemmaa);
            palavraLemma.put(palavraLemmaa, lemma);

            Lemma lemmaBanco = new Lemma(null, lemma);
            Radical radicalBanco = new Radical(null, radical);
            Palavra palavraBanco = new Palavra(null, palavra, lemmaBanco, radicalBanco);

            if (!palavrasHash.containsKey(palavra)) {
                palavrasHash.put(palavra, palavraBanco);
            }

            if (!radicaisHash.containsKey(radical)) {
                radicaisHash.put(radical, radicalBanco);
            }

            if (!lemmaHash.containsKey(lemma)) {
                lemmaHash.put(lemma, lemmaBanco);
            }

            Dados dadosBanco = new Dados();
            dadosBanco.setF(1);
            dadosBanco.setIdPalavra(palavraBanco);
            dadosBanco.setIdRadical(radicalBanco);
            dadosBanco.setIdReferencia(referenciaBanco);
            dadosBanco.setIdProjeto(projetoSelecionado);
            String chaveDados = projetoSelecionado.getId() + referenciaBanco.getId() + radical + palavra;
            if (!dadosHash.containsKey(chaveDados)) {
                dadosHash.put(chaveDados, dadosBanco);
                palavraBanco = palavrasHash.get(palavra);
                dadosBanco.setQtdDoc(dadosBanco.getQtdDoc() + 1);
            } else {
                Integer i = dadosHash.get(chaveDados).getF() + 1;
                dadosBanco.setF(i);
                dadosBanco.setQtdDoc(1);
                dadosHash.replace(chaveDados, dadosBanco);
            }

            DadoRadical dadoRadicalBanco = new DadoRadical();
            dadoRadicalBanco.setF(1);
            dadoRadicalBanco.setIdRadical(radicalBanco);
            dadoRadicalBanco.setIdReferencia(referenciaBanco);
            dadoRadicalBanco.setIdProjeto(projetoSelecionado);
            String chaveDadoRadical = projetoSelecionado.getId() + referenciaBanco.getId() + radical;
            if (!dadoRadicalHash.containsKey(chaveDadoRadical)) {
                dadoRadicalHash.put(chaveDadoRadical, dadoRadicalBanco);
                radicalBanco = radicaisHash.get(radical);
                dadoRadicalBanco.setQtdDoc(dadoRadicalBanco.getQtdDoc() + 1);
            } else {
                Integer i = dadoRadicalHash.get(chaveDadoRadical).getF() + 1;
                dadoRadicalBanco.setF(i);
                dadoRadicalBanco.setQtdDoc(1);
                dadoRadicalHash.replace(chaveDadoRadical, dadoRadicalBanco);
            }

        }
    }
    referenciaBanco.setQtdRelevante(qtdPalavrasRelevantes);
    referenciaBanco.setPercRelevante(((float) qtdPalavrasRelevantes / tokens.size()) * 100);
    referenciaDAO.atualiza(referenciaBanco);

    tagsMorf = etiquetar(tokensMorf);

    ParseTree tree;
    tree = parser.init();
    oracoes = parser.oracoes;
    ArrayList<String> oracoes1 = new ArrayList<>();
    for (String oracao : oracoes) {
        if (!oracao.equals("\n")) {
            oracoes1.add(oracao);
        }
    }
    parser.oracoes.clear();
    parser.oracoes.addAll(oracoes1);

    addAbreviatura();

}

From source file:cx2x.translator.language.base.ClawLanguage.java

License:BSD License

/**
 * Analyze a raw string input and match it with the CLAW language definition.
 *
 * @param rawPragma A raw pragma statement to be analyzed against the CLAW
 *                  language./*from w ww . j a  v  a2 s. co  m*/
 * @param lineno    Line number of the pragma statement.
 * @param generator Accelerator directive generator.
 * @param target    Target that influences the code transformation.
 * @return A ClawLanguage object with the corresponding extracted information.
 * @throws IllegalDirectiveException If directive does not follow the CLAW
 *                                   language specification.
 */
private static ClawLanguage analyze(String rawPragma, int lineno, AcceleratorGenerator generator, Target target)
        throws IllegalDirectiveException {
    // Remove additional claw keyword
    rawPragma = nakenize(rawPragma);

    // Discard the ignored code after the claw ignore directive
    if (rawPragma.toLowerCase().contains(IGNORE)) {
        rawPragma = rawPragma.substring(0, rawPragma.toLowerCase().indexOf(IGNORE) + IGNORE.length());
    }

    // Instantiate the lexer with the raw string input
    ClawLexer lexer = new ClawLexer(CharStreams.fromString(rawPragma));

    // Get a list of matched tokens
    CommonTokenStream tokens = new CommonTokenStream(lexer);

    // Pass the tokens to the parser
    ClawParser parser = new ClawParser(tokens);
    parser.setErrorHandler(new BailErrorStrategy());
    parser.removeErrorListeners();

    try {
        // Start the parser analysis from the "analyze" entry point
        ClawParser.AnalyzeContext ctx = parser.analyze();
        // Get the ClawLanguage object return by the parser after analysis.
        ctx.l.setAcceleratorGenerator(generator);
        ctx.l.setTarget(target);
        return ctx.l;
    } catch (ParseCancellationException pcex) {
        if (pcex.getCause() instanceof InputMismatchException) {
            InputMismatchException imex = (InputMismatchException) pcex.getCause();
            throw new IllegalDirectiveException(getTokens(imex.getExpectedTokens(), parser), lineno,
                    imex.getOffendingToken().getCharPositionInLine());
        } else if (pcex.getCause() instanceof NoViableAltException) {
            NoViableAltException nvex = (NoViableAltException) pcex.getCause();
            throw new IllegalDirectiveException(nvex.getOffendingToken(),
                    getTokens(nvex.getExpectedTokens(), parser), lineno,
                    nvex.getOffendingToken().getCharPositionInLine());
        }
        throw new IllegalDirectiveException(rawPragma, "Unsupported construct", lineno, 0);
    }
}

From source file:cypher.feature.parser.ResultsParser.java

License:Open Source License

ResultsParser() {
    this.lexer = new FeatureResultsLexer(new ANTLRInputStream(""));
    this.parser = new FeatureResultsParser(new CommonTokenStream(lexer));
    this.walker = new ParseTreeWalker();
}

From source file:cz.vutbr.fit.xproko26.pivis.parser.TextParser.java

License:Apache License

/**
 * Parses string of multiple lines containing process definitions.
 * @param lines input string to be parsed
 * @return list of parsed process definitions
 * @throws Exception if parsing failed//  w w  w  . jav a  2  s. c  om
 */
public List<ProcessDefinition> parseProcDefs(String lines) throws Exception {

    try {
        //split input string into tokens
        CharStream input = new ANTLRInputStream(lines);
        PiExprLexer lexer = new PiExprLexer(input);
        lexer.removeErrorListeners();
        lexer.addErrorListener(ErrorListener.getInstance());
        CommonTokenStream tokens = new CommonTokenStream(lexer);

        //parse tokens into tree
        PiExprParser parser = new PiExprParser(tokens);
        parser.removeErrorListeners();
        parser.addErrorListener(ErrorListener.getInstance());

        List<ProcessDefinition> proclist = new ArrayList<>();
        List<CmdContext> cmds = parser.cmds().cmd();
        //for each line (command) apply CommandVisitor to get the command type
        for (CmdContext cmd : cmds) {
            Command command = cmd.accept(new CommandVisitor());
            switch (command.getType()) {
            case AGENT:
                proclist.add(getProcessDefinition(command.getContext()));
                break;
            case EMPTY:
                break;
            default:
                throw new Exception("Error: Parser failed to get valid process definition.");
            }
        }

        return proclist;

    } catch (ParseCancellationException ex) {
        throw new Exception("Error: Parser failed to get valid process definition.");
    }
}

From source file:cz.vutbr.fit.xproko26.pivis.parser.TextParser.java

License:Apache License

/**
 * Parses single command and invokes appropriate listener methods based on its type.
 * Throws an exception if parsing failed.
 * @param instring input string to be parsed
 * @throws Exception of parsing failed//from  ww w . j  av a2  s  .c om
 */
public void parseCommand(String instring) throws Exception {

    try {
        //split input string into tokens
        CharStream input = new ANTLRInputStream(instring);
        PiExprLexer lexer = new PiExprLexer(input);
        lexer.removeErrorListeners();
        lexer.addErrorListener(ErrorListener.getInstance());
        CommonTokenStream tokens = new CommonTokenStream(lexer);

        //parse tokens into tree
        PiExprParser parser = new PiExprParser(tokens);
        parser.removeErrorListeners();
        parser.addErrorListener(ErrorListener.getInstance());

        //extract and process command from the tree
        List<CmdContext> cmds = parser.cmds().cmd();
        if (!cmds.isEmpty()) {
            //invoke listener method according to command type
            processCmd(cmds.get(0).accept(new CommandVisitor()));
        }

    } catch (ParseCancellationException ex) {
        throw new Exception("Syntax error: " + ex.getMessage());
    }
}

From source file:dbms.ANTGui.java

public void compilar2(String in) {
    try {//from  ww  w .ja v a  2  s.  c  o m

        jTextArea3.setText("");

        CharStream cs = new ANTLRInputStream(in);

        sqlLexer lexer = new sqlLexer(cs);
        lexer.removeErrorListeners();
        lexer.addErrorListener(DescriptiveErrorListener.INSTANCE);
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        parser = new sqlParser(tokens);
        parser.removeErrorListeners();
        parser.addErrorListener(DescriptiveErrorListener.INSTANCE);
        contexto = parser.sql2003Parser();
        ParseTree tree = contexto;

        // Specify our entry point

        ruleNames = parser.getRuleNames();

        int errorsCount = parser.getNumberOfSyntaxErrors();
        System.out.println(errorsCount);
        if (errorsCount == 0) {
            System.out.println("Parseo Exitoso");

            JOptionPane.showMessageDialog(this, "Parseo Exitoso!");
            Visitor vistor = new Visitor();
            VisitorAdolfo vistorAdolfo = new VisitorAdolfo();
            VisitorChuso vistorChuso = new VisitorChuso();
            vistor.visit(tree);
            vistorAdolfo.visit(tree);
            vistorChuso.visit(tree);
            System.out.println("visited");
        } else {
            JOptionPane.showMessageDialog(this, "Parseo Fallido!");
        }

    } catch (RecognitionException e) {
        System.out.println("ERROR");

    }
    // insertarTablaIDE();

}