[Python-es] expresiones regulares y mi profe al final dice...
Attila Saorin
mostroratas en yahoo.es
Vie Ago 2 17:17:20 CEST 2002
--- Jose Alejandro Perez Rubio <perezj en si.uji.es> escribió:
> > > Bueno, vere que opina mi profe de como prefiere que lo haga y a
> > > ello me pondre. Sera casi como
> > > volver a hacer la practica de compiladores de la carrera :(
> >
> > que pena! ya me habia entusiasmado y trate de resolverlo sin
> > usar parsers...
> > demas esta decir que yo tambien opino que la mejor solucion
> > es con analizadores. solo que me interesaba ver si es posible
> > hacer algo no tan "bien hecho" :-) que se pudiera resolver
> > en muy poquitas lineas de codigo.
Bueno, ya he hablado con mi profesor, le he contado lo que tenia y le he preguntado como lo queria
y me ha dicho que quiere un parser, es decir, pasar de:
'linux|(sun&(!pc))' o lo mismo 'linux or (sun and (not pc))'
a algo como: Or(Term('linux'), And(Term('sun'), Not(Term('pc'))))
primero empezare trabajando en esto y luego hare el parser que me pase de uno al otro.
es decir, como hacer un arbol:
|(or)
/ \
/ \
linux &(and)
/ \
/ \
sun !(not)
|
pc
Con lo que debo definir las 4 clases posibles, Or, And, Not y Terminal donde cada una se encargara
de evaluar lo que le pasan y me devolvera si se evalua o no con respecto a las clases o predicados
que nosotros definimos antes (es decir, si exite 'sun', 'www' y demas).
Pues nada, solo es para que supierais en que han acabado los mails de estos dias, espero que no te
haya decepcionado mucho Hernan ;)
Gracias de nuevo y... si, muy elegante y facil Jose :)
Attila
_______________________________________________________________
Yahoo! Messenger
Nueva versión: Webcam, voz, y mucho más ¡Gratis!
Descárgalo ya desde http://messenger.yahoo.es
Más información sobre la lista de distribución Python-es