¿Hay un módulo de CPAN para analizar paréntesis anidados?

votos
6

¿Hay un módulo de CPAN que pueda leer una cadena como esta?

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

... y analizarlo en algún tipo de estructura de árbol que sea fácil de caminar y bonita.

Publicado el 09/12/2008 a las 22:15
fuente por usuario
En otros idiomas...                            


5 respuestas

votos
9

Creo que podrías construir encima de Text :: Balanced , que hará mucho del trabajo pesado por ti. Sin embargo, aún necesitará construir una estructura de árbol.

Respondida el 09/12/2008 a las 23:23
fuente por usuario

votos
4

Las expresiones regulares de Perl 5.10 pueden manejar estructuras equilibradas como esa. Vea la (?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)sección en perlre .

Respondida el 10/12/2008 a las 02:20
fuente por usuario

votos
2

Perl 6 va a tener instalaciones integradas para ayudar a esto. Mientras tanto, Text :: Balanced (según lo mencionado por Dave Rolsky) es probablemente el módulo de elección. Tenga en cuenta que, también, fue escrito por Damian Conway (como lo recomienda Bill Karwin).

Respondida el 09/12/2008 a las 23:37
fuente por usuario

votos
1

Parse de Damian Conway :: RecDescent

No he usado esto, pero es una buena apuesta que vale la pena usar un módulo de Perl escrito por Damian Conway.

Respondida el 09/12/2008 a las 22:28
fuente por usuario

votos
0

Si la cadena es idéntica al formato del Data Dumper , puede evalvolver a la estructura original.

Respondida el 09/12/2008 a las 22:58
fuente por usuario

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