#################### English README #################### 

########## Why this strange name ##########  

  The name of this MELT module is Talpo. This means mole (the animal) in
Esperanto (the international language). The idea below this name is that we can
travel through GCC as the mole burrow: there are quite blind but still can find
food (as we find usefull informations).

  The idea of Talpo is to offer to the user various way to insert tests on his
code into the GCC machinery. It can be done by inserting #pragma in the code,
explicitly give parameters, or through a file (we can easily insert new way to
insert test).

  For the moment test can only be inserted at GIMPLE state, but we could
imagine to enlarge this later. The main inconvenient is that each pass is
runned with a function scope (so we cannot do tests on a global scope).

  The kind of test that we can actually run is:
    testing that the result of a call to a function is tested to be (not) NULL.
    ...

########## The different files ##########
  Talpo is separated in many files, the idea is that each file correspond to
one main things, so it is easy to add or delete file. The goal would be that
when you want to add something (a new test or a new way for the user to use the
plugin) you would only have to add one file without modifying anything else.
 
  talpo_init_test.melt:
    This file contains the info which are usefull to declare a test. This is
the first file compiled.

  _talpo_test_*.melt:
    Thoses files contains the differents possibles tests. They use
talpo_init_test.melt.

  talpo_read_user_arg.melt:
    This file is independant from the others (it doesn't need any other files
to be compiled). It contains the different way to know which tests the user
wants to run (from pragma, direct argument, from file...).

  talpo_dispatcher.melt:
    This is the file that convert the different tests into GCC pass. This is
also the main file executed when using the plugin, so at the end of this file
there is the different instructions to start the plugins.

########## Writting new Test ########## 

  This is pretty easy to a new test, you will just need to do the following:
      -create an instance of class_test_model, giving some basic informations
      -writing the handler as a usual pass execution function
      -adding the test to the list lst_simple_test in the function
        talpo_init.


