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

« back to all changes in this revision

Viewing changes to snowball/runtime/header.h

  • 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 <limits.h>
 
3
 
 
4
#include "api.h"
 
5
 
 
6
#define MAXINT INT_MAX
 
7
#define MININT INT_MIN
 
8
 
 
9
#define HEAD 2*sizeof(int)
 
10
 
 
11
#define SIZE(p)        ((int *)(p))[-1]
 
12
#define SET_SIZE(p, n) ((int *)(p))[-1] = n
 
13
#define CAPACITY(p)    ((int *)(p))[-2]
 
14
 
 
15
struct among
 
16
{   int s_size;     /* number of chars in string */
 
17
    symbol * s;       /* search string */
 
18
    int substring_i;/* index to longest matching substring */
 
19
    int result;     /* result of the lookup */
 
20
    int (* function)(struct SN_env *);
 
21
};
 
22
 
 
23
extern symbol * create_s(void);
 
24
extern void lose_s(symbol * p);
 
25
 
 
26
extern int in_grouping(struct SN_env * z, unsigned char * s, int min, int max);
 
27
extern int in_grouping_b(struct SN_env * z, unsigned char * s, int min, int max);
 
28
extern int out_grouping(struct SN_env * z, unsigned char * s, int min, int max);
 
29
extern int out_grouping_b(struct SN_env * z, unsigned char * s, int min, int max);
 
30
 
 
31
extern int in_range(struct SN_env * z, int min, int max);
 
32
extern int in_range_b(struct SN_env * z, int min, int max);
 
33
extern int out_range(struct SN_env * z, int min, int max);
 
34
extern int out_range_b(struct SN_env * z, int min, int max);
 
35
 
 
36
extern int eq_s(struct SN_env * z, int s_size, symbol * s);
 
37
extern int eq_s_b(struct SN_env * z, int s_size, symbol * s);
 
38
extern int eq_v(struct SN_env * z, symbol * p);
 
39
extern int eq_v_b(struct SN_env * z, symbol * p);
 
40
 
 
41
extern int find_among(struct SN_env * z, struct among * v, int v_size);
 
42
extern int find_among_b(struct SN_env * z, struct among * v, int v_size);
 
43
 
 
44
extern symbol * increase_size(symbol * p, int n);
 
45
extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s);
 
46
extern void slice_from_s(struct SN_env * z, int s_size, symbol * s);
 
47
extern void slice_from_v(struct SN_env * z, symbol * p);
 
48
extern void slice_del(struct SN_env * z);
 
49
 
 
50
extern void insert_s(struct SN_env * z, int bra, int ket, int s_size, symbol * s);
 
51
extern void insert_v(struct SN_env * z, int bra, int ket, symbol * p);
 
52
 
 
53
extern symbol * slice_to(struct SN_env * z, symbol * p);
 
54
extern symbol * assign_to(struct SN_env * z, symbol * p);
 
55
 
 
56
extern void debug(struct SN_env * z, int number, int line_count);
 
57