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

« back to all changes in this revision

Viewing changes to snowball/runtime/api.c

  • Committer: richard
  • Date: 2003-03-30 12:08:09 UTC
  • Revision ID: svn-v4:633ccae0-01f4-0310-8c99-d3591da6f01f:trunk:216
This module will contain only the code and build system, and documentation
for building and running the stemming library.
All sample data will be in a separate module, and the website will be in
its own module too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include "header.h"
 
3
 
 
4
extern struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
 
5
{   struct SN_env * z = (struct SN_env *) calloc(1, sizeof(struct SN_env));
 
6
    z->p = create_s();
 
7
    if (S_size)
 
8
    {   z->S = (symbol * *) calloc(S_size, sizeof(symbol *));
 
9
        {   int i;
 
10
            for (i = 0; i < S_size; i++) z->S[i] = create_s();
 
11
        }
 
12
        z->S_size = S_size;
 
13
    }
 
14
 
 
15
    if (I_size)
 
16
    {   z->I = (int *) calloc(I_size, sizeof(int));
 
17
        z->I_size = I_size;
 
18
    }
 
19
 
 
20
    if (B_size)
 
21
    {   z->B = (symbol *) calloc(B_size, sizeof(symbol));
 
22
        z->B_size = B_size;
 
23
    }
 
24
 
 
25
    return z;
 
26
}
 
27
 
 
28
extern void SN_close_env(struct SN_env * z)
 
29
{
 
30
    if (z->S_size)
 
31
    {
 
32
        {   int i;
 
33
            for (i = 0; i < z->S_size; i++) lose_s(z->S[i]);
 
34
        }
 
35
        free(z->S);
 
36
    }
 
37
    if (z->I_size) free(z->I);
 
38
    if (z->B_size) free(z->B);
 
39
    if (z->p) lose_s(z->p);
 
40
    free(z);
 
41
}
 
42
 
 
43
extern void SN_set_current(struct SN_env * z, int size, const symbol * s)
 
44
{
 
45
    replace_s(z, 0, z->l, size, s);
 
46
    z->c = 0;
 
47
}
 
48