~snowball-yiddish-dev/snowball-yiddish/trunk

« back to all changes in this revision

Viewing changes to snowball/libstemmer/libstemmer.h

  • Committer: richard
  • Date: 2003-05-30 19:46:11 UTC
  • Revision ID: svn-v4:633ccae0-01f4-0310-8c99-d3591da6f01f:trunk:225
Add ability to get length of stemmed word, and list of available stemmers.
Update test accordingly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 
10
10
/* FIXME - should be able to get a version number for each stemming
11
11
 * algorithm (which will be incremented each time the output changes). */
12
 
/* FIXME - should be able to get a list of available stemmers. */
 
12
 
 
13
/** Returns an array of the names of the available stemming algorithms.
 
14
 *  Note that these are the canonical names - aliases (ie, other names for
 
15
 *  the same algorithm) will not be included in the list.
 
16
 *  The list is terminated with a null pointer.
 
17
 *
 
18
 *  The list must not be modified in any way.
 
19
 */
 
20
const char ** sb_stemmer_list();
 
21
 
 
22
/** Create a new stemmer object, using the specified algorithm.
 
23
 *
 
24
 *  @return If the specified algorithm is not recognised, 0 will be 
 
25
 *  returned; otherwise a pointer to a newly created stemmer for that
 
26
 *  algorithm will be returned.
 
27
 */
13
28
struct sb_stemmer * sb_stemmer_new(const char * algorithm);
 
29
 
 
30
/** Delete a stemmer object.
 
31
 *
 
32
 *  This frees all resources allocated for the stemmer.  After calling
 
33
 *  this function, the supplied stemmer may no longer be used in any way.
 
34
 *
 
35
 *  It is safe to pass a null pointer to this function - this will have
 
36
 *  no effect.
 
37
 */
14
38
void                sb_stemmer_delete(struct sb_stemmer * stemmer);
15
39
 
16
 
/* FIXME - this should return the length of the stemmed word. */
 
40
/** Stem a word.
 
41
 *
 
42
 *  The return value is owned by the stemmer - it must not be freed or
 
43
 *  modified, and it will become invalid when the stemmer is called again,
 
44
 *  or if the stemmer is freed.
 
45
 *
 
46
 *  The length of the return value can be obtained using sb_stemmer_length()
 
47
 */
17
48
const sb_symbol *   sb_stemmer_stem(struct sb_stemmer * stemmer,
18
49
                                    const sb_symbol * word, int size);
19
50
 
 
51
/** Get the length of the result of the last stemmed word.
 
52
 *  This should not be called before sb_stemmer_stem() has been called.
 
53
 */
 
54
int                 sb_stemmer_length(struct sb_stemmer * stemmer);
 
55
 
20
56
#ifdef __cplusplus
21
57
}
22
58
#endif