[Qualipso-a4] bugs en las herramientas de búsqueda de patrones

Miguel Angel Tinte Garcia matinte en gsyc.es
Mie Feb 25 11:53:26 CET 2009


Gracias Javier, tiene muy buena pinta. Acabo de adaptar las reg-exp para
ficheros de codigo y he lanzado el programa test.py de prueba que busca
en los ficheros bugs.txtx y files.txt. Efectivamente reconoce todos los
ficheros pero devuelve algunas cosas extra:

[(' ', 'advSearchServices.py', 'py', ' '), 
 (' ', 'examples.java', 'java', ' '), 
 (' ', 'patterns.py', 'py', ' '), 
 (' ', 'test.py', 'py', ' '), 
 (' ', 'library.c', 'c', ' '), 
 ('\n', 'test.py', 'py', ' ')]

¿Sabes como podemos controlar esas "cosas" extra que encuentra? 

Un saludo



El mar, 24-02-2009 a las 14:33 -0500, Javier Pueyo escribió:
> Hola,
> 
> El mar, 24-02-2009 a las 18:13 +0100, Miguel Angel Tinte Garcia
> escribió:
> > Acabo de hacer unas modificaciones en los patrones para resolver estos
> > errores. 
> 
> Quizá no tenga importancia, pero por si acaso lo comento, la solución
> que hay ahora: '\S*\.c ' tiene varios problemas:
> 
> 1) no matchea cadenas como: "he visto el fichero xxxx.c" (es decir, en
> final de cadena, ya que exigimos que haya un espacio detrás de c)
> 
> 2) no matchea ficheros entre comillas. Ejemplos:
> 
> se llama 'xxxx.c' en el repositorio
> se llama "xxxx.c" en el repositorio
> 
> (ya que exigimos que haya un espacio detrás de c)
> 
> 3) no matchea ficheros con puntuación detrás. Ejemplos:
> 
> se llaman xxxx.c, xxxx.java, xxxx.pl
> se llama xxxx.c; pero no lo veo en el repositorio
> y se llama xxxx.c. Hablando de otra cosa
> se llama xxxx.c: y sí está en el repositorio
> 
> Seguramente no son casos tan importantes. Pero si se quieren usar regex
> para localizar nombres de ficheros en cadenas arbitrarias más amplias,
> se podría cambiar las varias regex por una más compleja.
> 
> '(^|\s|\"|\')([^\s\/\"\']*?\.(c|py|java|pl))([\s\"\'\.\,\;\:]+?|$)'
> 
> Es decir, "Start of string OR Whitespace OR Quotation marks" + cualquier
> número de caracteres que NOT incluyan "Space OR Slash" + ".c OR .py
> OR .java OR .pl" + "Whitespace OR Quatation marks OR Punctuation OR End
> of string".
> 
> El resultado limpio, es decir xxxx.c, quedaría en el grupo 2 de los
> paréntesis de la regex: \2
> 
> Os adjunto el script con el que he hecho las pruebas, por si queréis
> probar más posibilidades.
> 
> > Están subidas al repositorio
> 
> Si es suficiente con la solución de Miguel, cuidado que los ficheros
> perl y java siguen sin espacio en el repositorio.
> 
> Saludos
> 
> 
> 
> > 
> > Ciao
> > 
> > 
> > El mar, 24-02-2009 a las 17:08 +0100, Jose Gato Luis escribió:
> > > Buenas,
> > > 
> > > he encontrado algún nuevo bug, buscando patrones de ficheros de código 
> > > fuente me devuelve esto:
> > > 
> > > "  voy a hablar de un par de ficheros de codigo fuente el library.c y el 
> > > test.py"
> > > 
> > > en vez de library.c y test.py ;)
> > > 
> > > Un saludo,
> > > 
> > > p.d: Miguel no corre prisa ;)
> > > 
> > > Jose Gato Luis escribió:
> > > > Buenas,
> > > > 
> > > > estoy probando la herramienta de búsqueda de patrones para ficheros de 
> > > > código fuente y me devuelve los siguientes ejemplos:
> > > > 
> > > > *** ['[cjwatson en ubuntu.c']
> > > > *** ['https://wiki.ubuntu.c']
> > > > *** ['<martin.pitt en ubuntu.c', 'https://wiki.ubuntu.c', 
> > > > 'http://www.ubuntu.c', 'ubuntu-devel en lists.ubuntu.c', 
> > > > 'https://lists.ubuntu.c']
> > > > *** ['https://help.ubuntu.c', 'www.c', '<http://www.c', 
> > > > 'https://wiki.ubuntu.c', 'h.u.c', 'w.u.c']
> > > > 
> > > > como acaban en ".c" se cree que es un fichero de código en c, ¿ideas 
> > > > para unas búsquedas más refinadas?, supongo que habrá que buscar por 
> > > > patrones fichero.ext, aunque un fichero se podría llamar cjwatson en ubuntu.c.
> > > > 
> > > > Por otro lado, en la búsqueda de bugs, me gustaría que cuando encuentra 
> > > > un bug, en vez de devolver la cadena completa (#bug 345), me devuelva 
> > > > sólo el identificador (345)
> > > > 
> > > > Saludos,
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> _______________________________________________
> Qualipso-a4 mailing list
> Qualipso-a4 en gsyc.escet.urjc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/qualipso-a4
-- 
Miguel Ángel Tinte García        
Libre Software Engineering Lab (GSyC)  | Universidad Rey Juan Carlos
matinte en gsyc.es         
http://libresoft.urjc.es/   



More information about the Qualipso-a4 mailing list