This is an old revision of the document!
= PyLXR =
PyLXR este o aplicație care oferă posibilitatea navigării codului printr-o interfață web. Aplicația este o reimplementare LXR sau lxrng dar scrisă în Python. Aplicațiile actuale scrise în Perl sunt dificil de înțeles și configurat. Considerăm că un limbaj precum Python poate oferi un timp de dezvoltare rapid și o mentenanță facilă a codului.
* Software engineering (parsing, căutare, baze de date, interfață web)
* LXR * lxrng * GNU GLOBAL
* Se dorește obținerea unei aplicații care să permită acces prin intermediul interfeței web la codul sursă al unui program. * Pentru moment este vizat limbajul C. * Se dorește căutarea atât după numele funcției sau variabilei (tag-search) cât și după nume de fișiere (file search) sau șiruri de caractere (freetext search). * Aplicația va fi implementată în Python.
* Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum ctags, cscope, GNU GLOBAL și cele care oferă interfață web precum LXR, lxrng sau GNU GLOBAL sunt utile pentru parcugerea rapidă și înțelegerea codului.
* Limbaj principal: Python * ctags, cscope sau GNU GLOBAL pentru obținerea backendului de tag-uri * Aplicație de indexare a codului care să permită căutarea rapidă * Bază de date (de preferat SQLite) * Python (CGI sau mod_python) pentru interfața web
* Cunoștințe de bază de progamare * Cunoștințe medii de programare C * Cunoștințe de algoritmi de căutare și sortare * Deprinderi în utilizarea unui sistem Unix (linia de comandă) * Deprinderi de folosire a tool-urilor principale de programare (editor, compilator, debugger)
* Vom folosi un proiect Redmine și repository Git pentru dezvoltare, testare și planificare. Instanța Redmine va fi creată în momentul pornirii proiectului. * Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. * Pentru lucru efectiv vom folosi sala EG106.