[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