YAZ
5.35.1
src
libstemmer_c
runtime
header.h
Go to the documentation of this file.
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
const
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
skip_utf8
(
const
symbol
*
p
,
int
c
,
int
lb
,
int
l
,
int
n);
27
28
extern
int
in_grouping_U
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
29
extern
int
in_grouping_b_U
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
30
extern
int
out_grouping_U
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
31
extern
int
out_grouping_b_U
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
32
33
extern
int
in_grouping
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
34
extern
int
in_grouping_b
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
35
extern
int
out_grouping
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
36
extern
int
out_grouping_b
(
struct
SN_env
* z,
const
unsigned
char
* s,
int
min,
int
max,
int
repeat);
37
38
extern
int
eq_s
(
struct
SN_env
* z,
int
s_size,
const
symbol
* s);
39
extern
int
eq_s_b
(
struct
SN_env
* z,
int
s_size,
const
symbol
* s);
40
extern
int
eq_v
(
struct
SN_env
* z,
const
symbol
*
p
);
41
extern
int
eq_v_b
(
struct
SN_env
* z,
const
symbol
*
p
);
42
43
extern
int
find_among
(
struct
SN_env
* z,
const
struct
among
* v,
int
v_size);
44
extern
int
find_among_b
(
struct
SN_env
* z,
const
struct
among
* v,
int
v_size);
45
46
extern
int
replace_s
(
struct
SN_env
* z,
int
c_bra,
int
c_ket,
int
s_size,
const
symbol
* s,
int
* adjustment);
47
extern
int
slice_from_s
(
struct
SN_env
* z,
int
s_size,
const
symbol
* s);
48
extern
int
slice_from_v
(
struct
SN_env
* z,
const
symbol
*
p
);
49
extern
int
slice_del
(
struct
SN_env
* z);
50
51
extern
int
insert_s
(
struct
SN_env
* z,
int
bra
,
int
ket
,
int
s_size,
const
symbol
* s);
52
extern
int
insert_v
(
struct
SN_env
* z,
int
bra
,
int
ket
,
const
symbol
*
p
);
53
54
extern
symbol
*
slice_to
(
struct
SN_env
* z,
symbol
*
p
);
55
extern
symbol
*
assign_to
(
struct
SN_env
* z,
symbol
*
p
);
56
57
extern
void
debug
(
struct
SN_env
* z,
int
number,
int
line_count);
58
api.h
symbol
unsigned char symbol
Definition
api.h:2
insert_v
int insert_v(struct SN_env *z, int bra, int ket, const symbol *p)
Definition
utilities.c:592
find_among_b
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition
utilities.c:400
out_grouping_U
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:170
insert_s
int insert_s(struct SN_env *z, int bra, int ket, int s_size, const symbol *s)
Definition
utilities.c:579
replace_s
int replace_s(struct SN_env *z, int c_bra, int c_ket, int s_size, const symbol *s, int *adjustment)
Definition
utilities.c:507
slice_del
int slice_del(struct SN_env *z)
Definition
utilities.c:573
in_grouping_U
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:134
eq_v_b
int eq_v_b(struct SN_env *z, const symbol *p)
Definition
utilities.c:306
in_grouping
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:206
eq_s
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition
utilities.c:280
eq_v
int eq_v(struct SN_env *z, const symbol *p)
Definition
utilities.c:300
lose_s
void lose_s(symbol *p)
Definition
utilities.c:26
out_grouping_b
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:262
skip_utf8
int skip_utf8(const symbol *p, int c, int lb, int l, int n)
Definition
utilities.c:42
in_grouping_b_U
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:152
eq_s_b
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition
utilities.c:290
out_grouping
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:244
out_grouping_b_U
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:187
create_s
symbol * create_s(void)
Definition
utilities.c:13
slice_to
symbol * slice_to(struct SN_env *z, symbol *p)
Definition
utilities.c:605
slice_from_v
int slice_from_v(struct SN_env *z, const symbol *p)
Definition
utilities.c:567
find_among
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition
utilities.c:312
slice_from_s
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition
utilities.c:559
in_grouping_b
int in_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition
utilities.c:225
assign_to
symbol * assign_to(struct SN_env *z, symbol *p)
Definition
utilities.c:627
debug
void debug(struct SN_env *z, int number, int line_count)
SN_env
Definition
api.h:14
SN_env::lb
int lb
Definition
api.h:16
SN_env::p
symbol * p
Definition
api.h:15
SN_env::ket
int ket
Definition
api.h:16
SN_env::c
int c
Definition
api.h:16
SN_env::bra
int bra
Definition
api.h:16
SN_env::l
int l
Definition
api.h:16
among
Definition
header.h:16
among::result
int result
Definition
header.h:19
among::substring_i
int substring_i
Definition
header.h:18
among::s_size
int s_size
Definition
header.h:16
among::s
const symbol * s
Definition
header.h:17
among::function
int(* function)(struct SN_env *)
Definition
header.h:20
Generated by
1.9.8