List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
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(); }