Ferramenta pmt para busca (exata e aproximada) de padrões. Autor: Márcio Barbosa (mbof) ******************************************************************************* INSTALAÇÃO ******************************************************************************* - Abra um terminal no diretório pmt/ - Execute o comando 'make'. O código será compilado e o aplicativo será colocado no diretório bin/ ******************************************************************************* ############################################################################### Execução ############################################################################### As opções disponíveis para a execução da ferramenta são: -e, --edit e_max: Localiza todos as ocorrências aproximadas do padrão a uma distância de edição máxima e_max. -p, --pattern patternfile: Realiza a busca de todos os padrões contidos no arquivo patternfile. -a, --algorithm A: Realiza a busca com o algoritmo A especificado. Os valores disponíveis são k (Kmp), b (BoyerMoore), sh (ShiftOr), a (AhoCorasick), se (Sellers), u (Ukkonen) e w (WuMamber). -c, --count-only: Define a saída da ferramenta como a quantidade de ocorrências encontradas, i.e, não imprime as ocorrências. -s, --show-alignment: Exibe um alinhamento para cada ocorrência aproximada encontrada. Usa o algoritmo Sellers. -h, --help: Exibe uma mensagem de ajuda. ------------------------------------------------------------------------------ A utilização mais simples da ferramenta: ./pmt pattern text-file.txt procura e imprime as ocorrências exatas do padrão 'pattern' no arquivo 'text-file.txt'. ############################################################################### OBS.: Em algumas partes do código eu uso vector ao invés de uma lista ligada. Alguns testes mostraram que isso é um pouco mais eficiente em alguns cenários. Além disso: "Bjarne Stroustrup: Why you should avoid Linked Lists" (https://www.youtube.com/watch?v=YQs6IC-vgmo)