Ya estoy harto de estar desvelandome todos los días, son las 2:45am y tengo que entregar un analizador sintáctico a las 9am y presentar un exámen a las 10am.
Pero bueno encontré algo fantástico en [el más fantástico aún] python, un módulo llamado pyparsing, el cual es una biblioteca de funciones extremadamente potente, me encantó esta herramienta, pero bueno hagamos el archi requete famosísimo “Hola, Mundo!”:
#importamos el modulo
from pyparsing import *
saludo= Word(alphas) + ‘,’ + Word(alphas) + ‘!’
#Aqui decimos que la gramatica “saludo” DEBE contener una palabra compuesta de caracteres alfanumericos (Word(alphas)) mas una ‘,’ mas otra palabra alfanumerica, mas ‘,’ y esos seian nuestros tokens
tokens = saludo.parseString(“Hola, Mundo !”)
#Ahora parseamos una cadena, “Hola, Mundo!”, el metodo parseString, nos devuelve una lista con los tokens encontrados, en caso de no haber errores…
for i in range(len(tokens)):
print “Token %d -> %s” % (i,tokens[i]) #imprimimos cada uno de los tokens
Y listooo!!, he aquí la salida
Token 0?> Hola
Token 1?> ,
Token 2?> Mundo
Token 3?> !
Por supuesto, se pueden “reutilizar” gramáticas, por ejemplo:
numimag = Word(nums) + 'i'
numreal = Word(nums)
numcomplex = numreal + numimag
numcomplex.parseString("3+5i")
Excelente!!, bueno, los dejo, me voy a seguir tirando código…
Salu2
Su ejemplo para procesar “Hola, Mundo!” me gusta mucho! Permiteme usarlo como ejemplo en la proxima distribucion de pyparsing?
— Paul McGuire
(Lo siento para mi espanol pobre – hace muchos anos que lo estudie.)
Hola, la otra vez encontré en mi blog un comentario y siguiendo el enlace llegue a este blog, en el comentario me decía que un enlace estaba dañado y que no se podía bajar desde megaupload, si tu eres el del comentario te informo que acabo de cambiar el enlace a rapidshare y si tu no pusiste el comentario mil disculpas y puedes borrar este comentario, a por cierto estaba el comentario en un post titulado la biblia del software libre.
Saludos.