[Cascavel-pm] Quando usar Gramatica e quando usar Regexp? [Was: Artigo - Como Perl Salvou o Projeto Genoma]
Luis Motta Campos
luismottacampos em yahoo.co.uk
Sexta Maio 25 00:40:38 PDT 2007
On May 24, 2007, at 7:35 PM, Nilson Santos Figueiredo Junior wrote:
> On 5/24/07, Wendel Scardua <wendelscardua em gmail.com> wrote:
>> A string "a^n b^n" (que não é regular) não pode ser reconhecida
>> com uma
>> regexp do Perl (a menos de trapaças envolvendo "use re 'eval'").
>
> $str =~ /a(?:n(?{$c++}))*b(??{'n' x $c})$/;
>
> Devem ter outros jeitos melhores ainda.
> Por esse tipo de coisa que regex de Perl é melhor que das outras
> linguagens...
Me desculpa, mas isto não qualifica como "regular". Esta expressão
regular implementa um autômato de pilha.
Mas é uma solução bem interessante para o problema, de qualquer
forma.
Alguém testou isso?
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm