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
Recent Comments