List of usage examples for org.antlr.v4.runtime CommonTokenStream getText
@Override
public String getText()
From source file:com.espertech.esper.epl.parse.ParseHelper.java
License:Open Source License
private static String rewriteScripts(List<UniformPair<Integer>> ranges, CommonTokenStream tokens) { if (ranges.isEmpty()) { return tokens.getText(); }/*from w w w. j a va 2 s.co m*/ StringWriter writer = new StringWriter(); int rangeIndex = 0; UniformPair<Integer> current = ranges.get(rangeIndex); for (int i = 0; i < tokens.size(); i++) { Token t = tokens.get(i); if (t.getType() == EsperEPL2GrammarLexer.EOF) { break; } if (i < current.getFirst()) { writer.append(t.getText()); } else if (i == current.getFirst()) { writer.append(t.getText()); writer.append("'"); } else if (i == current.getSecond()) { writer.append("'"); writer.append(t.getText()); rangeIndex++; if (ranges.size() > rangeIndex) { current = ranges.get(rangeIndex); } else { current = new UniformPair<Integer>(-1, -1); } } else { if (t.getType() == EsperEPL2GrammarParser.QUOTED_STRING_LITERAL && i > current.getFirst() && i < current.getSecond()) { writer.append("\\'"); writer.append(t.getText().substring(1, t.getText().length() - 1)); writer.append("\\'"); } else { writer.append(t.getText()); } } } return writer.toString(); }
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; Referencia referenciaBanco = referenciasHash.get(nomeArquivo); referenciaBanco.setQtd(0);/* ww w .jav a2s . co m*/ 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:de.bioviz.parser.BioParser.java
License:Open Source License
/** * Parses the annotations in a file.//from www.java 2 s.co m * @param input an ANTLRInputStream * @param channel the channel to parse * @return A List of Strings containing the annotations. */ private static List<String> parseChannel(final ANTLRInputStream input, final int channel) { BioLexerGrammar lexer = new BioLexerGrammar(input); lexer.reset(); CommonTokenStream cts = new CommonTokenStream(lexer); List<String> channelTokens = new ArrayList<>(); // this one gets everything that is in the stream. cts.getText(); // now we can use size() to run over the tokens for (int i = 0; i < cts.size(); i++) { Token token = cts.get(i); // and check here if the token is on the right channel if (token.getChannel() == channel) { logger.trace("Parsing Comment: " + token.getText()); channelTokens.add(token.getText()); } } return channelTokens; }
From source file:org.apache.drill.common.parser.LogicalExpressionParser.java
License:Apache License
/** * Initializes logical expression lexer and parser, add error listener that converts all * syntax error into {@link org.apache.drill.common.exceptions.ExpressionParsingException}. * Parses given expression into logical expression instance. * * @param expr expression to be parsed/*from ww w . j a v a 2 s .c o m*/ * @return logical expression instance */ public static LogicalExpression parse(String expr) { ExprLexer lexer = new ExprLexer(CharStreams.fromString(expr)); lexer.removeErrorListeners(); // need to remove since default listener will output warning lexer.addErrorListener(ErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); ExprParser parser = new ExprParser(tokens); parser.removeErrorListeners(); // need to remove since default listener will output warning parser.addErrorListener(ErrorListener.INSTANCE); ExprParser.ParseContext parseContext = parser.parse(); logger.trace("Tokens: [{}]. Parsing details: [{}].", tokens.getText(), parseContext.toInfoString(parser)); return parseContext.e; }