This page lists the proposal of jobs to be done at the LRDE in 2003.
Cppi Header Guards
Look for CPPI, written by Jim Meyering (or fetch
~akim/ftp/cppi-1.10.tar.gz),
and extend it with options for checking/setting the CPP guards. CPP guards are the #ifndef/#define/#endif lines that can be found in the headers. Ping me
for more information.
--
AkimDemaille
Develop an interface on top of
prcs that would simplify our tasks.
--
AkimDemaille
Continue the work initiated by
RobertAnisko?. Be the interface with him during his stay in Utrecht. --
AkimDemaille
The following tasks are open on the
Transformers project:
- Study the integration of the C++ pre-processor into Transformers and the optimization of parsing times. The current architecture of our processing chain is way too naive for practical use: we rely on a non-deterministic parser, followed by a parse forest filtering stage; yet, we are even unable of handling programs with pre-processing directives. In practice, because we will need to work on pre-processed files, which easily tend to become quite large, we unfortnunately expect this approach to induce prohibitive parsing times. These issues have to be adressed:
- Update our processing chain, so that C++ programs with pre-processor directives can be handled.
- Take advantage of this interaction with the pre-processor to introduce a form of incremental parsing: at project scale, a file that has already been successfully parsed shouldn't be determinized a second time when included in another compilation unit.
- Write a pretty-printing table for C++.
--
RobertAnisko?
Vaucanson Front-End
Design and implement a user interface to the
Vaucanson library, for use by Pr. Jacques Sakarovitch and more generally by Vaucanson.Vaucanson users.
This tool must be both adequate to an "advanced user" like Pr. Sakarovitch who needs to use Vaucanson.Vaucanson for research, and students in algorithmics and language recognition as an example for courses.
--
RaphaelPoss?
Static concept checking
As you must have realized, C++ is not a user-friendly language. The template metaprogramming does not improve this at all. In the case of "algorithm oriented" library (like STL), there are no strong static typing since the static arguments of template function are too laxness.
Well-known C++ tricks enable "static concept checking", i.e. testing of types static properties (such as methods presence ...). Look at:
Concept Checking: Binding Parametric Polymorphism in C++ (2000)
Jeremy Siek, Andrew Lumsdaine
Proceedings First Workshop on C++ Template Programming
and at the Boost system:
http://www.boost.org/libs/concept_check/concept_check.htm
Vaucanson was equipped with such a mecanism set in its earlier version but the system has to be "re-thinked".
--
YannRegisGianas?
Vaucanson's ergonomy
Contrary to an image, an automaton is a complex object with many services. The more important one is called "delta", the transition function.
For the moment, there are two kinds of delta but that is not sufficient.
The work consists in implementing another kinds of delta to improve user- friendly-ness and performance of the library.
--
YannRegisGianas?
About Images and Static Hierarchies
Design a clean and rich image hierarchy. There should be abstract types such as mask_image (when data are binary), labeled_image (when data are labels), color_image (guess when), image_2d (generalization for images on 2d lattices), etc. This hierarchy intensively uses conditional inheritance, conditional specialization, and multiple inheritance. Decorated images should be integrated. Constness should be properly managed (our reference counting mechanism could be factorized). Last, new concrete image types should be implemented.
--
ThierryGeraud
More Data Types
Cf. the paper about "Road Extraction Network", source code should be integrated to Olena.Olena. To that aim, there's a lot of work to be done about having generic routines. E.g., Markov Random Fields definition, stochastic relaxation algorithms, area opening (where lambda should become a parameter), and so on. This project should result in Olena.Olena offering much more data types.
--
ThierryGeraud
Swilena: interface to Olena to other languages
Swilena is a collection of
SWIG definitions for Olena.Olena.
Update Swilena to
Olena 0.7. Complete the interface. Study and work on a system that automates the generation of SWIG definitions from
Olena headers. Test Swilena. Study the possibility of rewriting part of the
Olena testsuite in an appropriate scripting language.
--
RaphaelPoss?
An imaging bioinformatic system for detecting cancerous cells
This project, submitted by the "Institut Curie", is at the intersection of image processing and medical analysis. Our goal is to detecte cancerous cell in images according to criteria defined by the doctors.
You will have to write a program that
- analyses the image
- from this analysis, decide whether the image has or has not cancerous cells.
This work will make intensive use of Olena.Olena. As a user you will have to report the problem you meet, as a developer your will have to include the algorithms you will write.
--
RedaDehak OlivierRicou
Bison/Flex/Vaucanson Screensaver
Watch out: this is a very sick idea...
I'm sure you already saw that screensaver: a maze and the computer
trying to escape from it. Well, imagine a DFA drwa on the screen, and
a text, presented a la Karaoke. Each time a letter is recognized, the
ball jumps to the next letter, and some nice effect is made on the
automaton. It's even better when it accepts or rejects a word!
If you are brave enough, you can even handle NFAs!
If you are crazy, you could go even further: represent an LR(1) parser
(LALR(1) is accepted). If just requires a stack in addition to the
DFA. And more animation.
And finally, if you are dead crazy, you can even go up to GLR and
display the constellation of stacks
Have fun! (Ahem...)--
AkimDemaille
to top