Existe um módulo CPAN para analisar parênteses aninhados?

votos
6

Existe um módulo CPAN que possa ler uma string como esta:

[[<asdf>, <foo>], (abc, def, ghi), ({'jkl'})]

... e analisá-lo em algum tipo de estrutura de árvore que é fácil de andar e bem-print?

Publicado 09/12/2008 em 22:15
fonte usuário
Em outras línguas...                            


5 respostas

votos
9

Eu acho que você pode construir em cima do texto :: equilibrada , que vai fazer um monte de trabalho pesado para você. Você ainda vai precisar para construir uma estrutura de árvore, no entanto.

Respondeu 09/12/2008 em 23:23
fonte usuário

votos
4

Do Perl 5.10 expressões regulares pode lidar com estruturas equilibradas como essa. Veja a (?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)seção em perlre .

Respondeu 10/12/2008 em 02:20
fonte usuário

votos
2

Perl 6 vai ter built-in instalações para ajudar a suportar isso. Nesse ínterim, Text :: Equilibrado (como mencionado por Dave Rolsky) é provavelmente o módulo de escolha. Note-se que, também, foi escrito por Damian Conway (como recomendado por Bill Karwin).

Respondeu 09/12/2008 em 23:37
fonte usuário

votos
1

Parse :: RecDescent de Damian Conway

Eu nunca usei isso, mas é uma boa aposta que um módulo Perl escrito por Damian Conway vale a pena usar.

Respondeu 09/12/2008 em 22:28
fonte usuário

votos
0

Se a string é idêntico ao Descarregamento de Dados formato, então ele pode ser eval-ed volta para a estrutura original.

Respondeu 09/12/2008 em 22:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more