Parsers compilador

407 palavras 2 páginas
package br.unesp.rc.bibsys.utils;

//responsável por trabalhar com expressões regulares import java.util.regex.Pattern;

//Executa as operações da partida em uma seqüência de caracteres disparados no Pattern import java.util.regex.Matcher;

/** * Classe que formata o arquivo .bib * @author mariana */ public class Parser { /** * Pattern:Busca as strings nos formatos variados * o .compile busca um texto com uma padrão de expressãor regular */ /** * Em Pattern.DOTALL, a expressão. corresponde a qualquer caractere, incluindo um terminador de linha. * Por padrão, essa expressão não corresponde terminadores de linha. * busca geral */ private static final Pattern allCharacters = Pattern.compile("@(\\w+)\\s*\\{\\s*(\\w*[:+]?\\d*)\\s*,(.*?,\\s*\\})",Pattern.DOTALL); /** * busca os dentro de cada chave os campos */ private static final Pattern field = Pattern.compile("(\\w*)\\s*"+"\\=\\s*"+"[\"\\{]\\s*"+"([^\"\\}]*)"+"\\s*[\"\\}]"+"\\s*,\\s*"); /** * Realizará o parser e formatará o aquivo .bib * @param str Text to be formatted. * @return Formatted text. */ static public String editBib(String str) { //valor final que será retornado String ret = ""; Matcher mat = allCharacters.matcher(str); // busca para serparar os artigos while (mat.find()) { // pula de linha if (!ret.isEmpty()) ret += "\n\n";

// Agrupa os artigos //@value String group1 = mat.group(1); // @value description String group2 = getAuthor(mat.group(3)); // conteúdo String group3 = mat.group(3); // cabeçalgo do artigo ret += "@"+group1+"{"+group2+",\n"; //percorre o conteúdo Matcher content = field.matcher(group3);

Relacionados

  • AnaliseSintatica LR Respostas
    661 palavras | 3 páginas
  • Compiladores
    1894 palavras | 8 páginas
  • Compiladores
    522 palavras | 3 páginas
  • Compiladores
    946 palavras | 4 páginas
  • infraestrutura de rede
    2405 palavras | 10 páginas
  • ANALISE LÉXICAS (LEX)
    2678 palavras | 11 páginas
  • Analisador sintatico para frases do verbo to be do ingles
    12105 palavras | 49 páginas
  • Pesquisa sobre yacc/bison
    394 palavras | 2 páginas
  • Exercicios Compiladores
    624 palavras | 3 páginas
  • LISTA DE EXERCICIOS DE COMPILADORES
    508 palavras | 3 páginas