next up previous contents
Next: Add the function to Up: An example - Adding Previous: Create a test collection

Add the function to the hierarchy

Now, let's add the local.index.stem.remove_s_french to the local.* hierarchy. If the middle-level hierarchy does not exist yet, you might have to create it, too. This is currently the case with local.index.*: the local.index.stem.* hierarchy does not exist yet, as can be seen if you look at the data structure that describes the local.index.* hierarchy, which is stored in the lproc_index variable in the file smart.11.0/src/liblocal/libproc/proc_index.c . The hierarchies that currently exist in this place are top, preparse, parts_preparse, parse_sect, token_to_con and makevec; but no 'stem' hierarchy is present. To create it, add a new structure element for 'stem'; you can copy the corresponding line from the smart.11.0/src/libproc/proc_index.c .

For this example, you can also type

cd smart.11.0/src/liblocal/libproc/
patch -p0 < proc_index.diff
to apply all the modifications to this file.

Once the hierarchy local.index.stem.* is created, its contents must be defined. In our example, a single entry is created into the local.index.stem.* , as a member of a new structure of type PROC_TAB. (Again, you can look at how it is done in the index.stem.* hierarchy by reading the source file smart.11.0/src/libproc/proc_index.c .)

Note that the prototype for the three function init_remove_s_french(), remove_s_french() and close_remove_s_french() are contained in the proc_index.c file.


next up previous contents
Next: Add the function to Up: An example - Adding Previous: Create a test collection
Christian Meunier
1999-05-02