summaryrefslogtreecommitdiffstats
path: root/src/include/snowball
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/snowball')
-rw-r--r--src/include/snowball/header.h67
-rw-r--r--src/include/snowball/libstemmer/api.h32
-rw-r--r--src/include/snowball/libstemmer/header.h61
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_english.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_french.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_german.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_KOI8_R_russian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_arabic.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_armenian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_basque.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_catalan.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_danish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_dutch.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_english.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_finnish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_french.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_german.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_greek.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_hindi.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_hungarian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_indonesian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_irish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_italian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_nepali.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_norwegian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_porter.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_portuguese.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_romanian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_russian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_serbian.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_spanish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_swedish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_tamil.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_turkish.h15
-rw-r--r--src/include/snowball/libstemmer/stem_UTF_8_yiddish.h15
51 files changed, 880 insertions, 0 deletions
diff --git a/src/include/snowball/header.h b/src/include/snowball/header.h
new file mode 100644
index 0000000..dbf04e3
--- /dev/null
+++ b/src/include/snowball/header.h
@@ -0,0 +1,67 @@
+/*-------------------------------------------------------------------------
+ *
+ * header.h
+ * Replacement header file for Snowball stemmer modules
+ *
+ * The Snowball stemmer modules do #include "header.h", and think they
+ * are including snowball/libstemmer/header.h. We adjust the CPPFLAGS
+ * so that this file is found instead, and thereby we can modify the
+ * headers they see. The main point here is to ensure that pg_config.h
+ * is included before any system headers such as <stdio.h>; without that,
+ * we have portability issues on some platforms due to variation in
+ * largefile options across different modules in the backend.
+ *
+ * NOTE: this file should not be included into any non-snowball sources!
+ *
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
+ *
+ * src/include/snowball/header.h
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef SNOWBALL_HEADR_H
+#define SNOWBALL_HEADR_H
+
+/*
+ * It's against Postgres coding conventions to include postgres.h in a
+ * header file, but we allow the violation here because the alternative is
+ * to modify the machine-generated .c files provided by the Snowball project.
+ */
+#include "postgres.h"
+
+/* Some platforms define MAXINT and/or MININT, causing conflicts */
+#ifdef MAXINT
+#undef MAXINT
+#endif
+#ifdef MININT
+#undef MININT
+#endif
+
+/* Now we can include the original Snowball header.h */
+#include "snowball/libstemmer/header.h" /* pgrminclude ignore */
+
+/*
+ * Redefine standard memory allocation interface to pgsql's one.
+ * This allows us to control where the Snowball code allocates stuff.
+ */
+#ifdef malloc
+#undef malloc
+#endif
+#define malloc(a) palloc(a)
+
+#ifdef calloc
+#undef calloc
+#endif
+#define calloc(a,b) palloc0((a) * (b))
+
+#ifdef realloc
+#undef realloc
+#endif
+#define realloc(a,b) repalloc(a,b)
+
+#ifdef free
+#undef free
+#endif
+#define free(a) pfree(a)
+
+#endif /* SNOWBALL_HEADR_H */
diff --git a/src/include/snowball/libstemmer/api.h b/src/include/snowball/libstemmer/api.h
new file mode 100644
index 0000000..ba9d1c1
--- /dev/null
+++ b/src/include/snowball/libstemmer/api.h
@@ -0,0 +1,32 @@
+
+typedef unsigned char symbol;
+
+/* Or replace 'char' above with 'short' for 16 bit characters.
+
+ More precisely, replace 'char' with whatever type guarantees the
+ character width you need. Note however that sizeof(symbol) should divide
+ HEAD, defined in header.h as 2*sizeof(int), without remainder, otherwise
+ there is an alignment problem. In the unlikely event of a problem here,
+ consult Martin Porter.
+
+*/
+
+struct SN_env {
+ symbol * p;
+ int c; int l; int lb; int bra; int ket;
+ symbol * * S;
+ int * I;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * SN_create_env(int S_size, int I_size);
+extern void SN_close_env(struct SN_env * z, int S_size);
+
+extern int SN_set_current(struct SN_env * z, int size, const symbol * s);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/include/snowball/libstemmer/header.h b/src/include/snowball/libstemmer/header.h
new file mode 100644
index 0000000..ef5a546
--- /dev/null
+++ b/src/include/snowball/libstemmer/header.h
@@ -0,0 +1,61 @@
+
+#include <limits.h>
+
+#include "api.h"
+
+#define MAXINT INT_MAX
+#define MININT INT_MIN
+
+#define HEAD 2*sizeof(int)
+
+#define SIZE(p) ((int *)(p))[-1]
+#define SET_SIZE(p, n) ((int *)(p))[-1] = n
+#define CAPACITY(p) ((int *)(p))[-2]
+
+struct among
+{ int s_size; /* number of chars in string */
+ const symbol * s; /* search string */
+ int substring_i;/* index to longest matching substring */
+ int result; /* result of the lookup */
+ int (* function)(struct SN_env *);
+};
+
+extern symbol * create_s(void);
+extern void lose_s(symbol * p);
+
+extern int skip_utf8(const symbol * p, int c, int limit, int n);
+
+extern int skip_b_utf8(const symbol * p, int c, int limit, int n);
+
+extern int in_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int in_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+
+extern int in_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int in_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+
+extern int eq_s(struct SN_env * z, int s_size, const symbol * s);
+extern int eq_s_b(struct SN_env * z, int s_size, const symbol * s);
+extern int eq_v(struct SN_env * z, const symbol * p);
+extern int eq_v_b(struct SN_env * z, const symbol * p);
+
+extern int find_among(struct SN_env * z, const struct among * v, int v_size);
+extern int find_among_b(struct SN_env * z, const struct among * v, int v_size);
+
+extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s, int * adjptr);
+extern int slice_from_s(struct SN_env * z, int s_size, const symbol * s);
+extern int slice_from_v(struct SN_env * z, const symbol * p);
+extern int slice_del(struct SN_env * z);
+
+extern int insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbol * s);
+extern int insert_v(struct SN_env * z, int bra, int ket, const symbol * p);
+
+extern symbol * slice_to(struct SN_env * z, symbol * p);
+extern symbol * assign_to(struct SN_env * z, symbol * p);
+
+extern int len_utf8(const symbol * p);
+
+extern void debug(struct SN_env * z, int number, int line_count);
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h
new file mode 100644
index 0000000..bffb6e9
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * basque_ISO_8859_1_create_env(void);
+extern void basque_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int basque_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h
new file mode 100644
index 0000000..96e97dd
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * catalan_ISO_8859_1_create_env(void);
+extern void catalan_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int catalan_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h
new file mode 100644
index 0000000..965436d
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * danish_ISO_8859_1_create_env(void);
+extern void danish_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int danish_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h
new file mode 100644
index 0000000..64f1c6d
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * dutch_ISO_8859_1_create_env(void);
+extern void dutch_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int dutch_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h
new file mode 100644
index 0000000..ea90984
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * english_ISO_8859_1_create_env(void);
+extern void english_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int english_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h
new file mode 100644
index 0000000..2c80e4c
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * finnish_ISO_8859_1_create_env(void);
+extern void finnish_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int finnish_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h
new file mode 100644
index 0000000..1febb49
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * french_ISO_8859_1_create_env(void);
+extern void french_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int french_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h
new file mode 100644
index 0000000..98696bb
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * german_ISO_8859_1_create_env(void);
+extern void german_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int german_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h
new file mode 100644
index 0000000..d998b41
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * indonesian_ISO_8859_1_create_env(void);
+extern void indonesian_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int indonesian_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h
new file mode 100644
index 0000000..d91d231
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * irish_ISO_8859_1_create_env(void);
+extern void irish_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int irish_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h
new file mode 100644
index 0000000..22950bd
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * italian_ISO_8859_1_create_env(void);
+extern void italian_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int italian_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h
new file mode 100644
index 0000000..5393096
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * norwegian_ISO_8859_1_create_env(void);
+extern void norwegian_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int norwegian_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h
new file mode 100644
index 0000000..f504be1
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * porter_ISO_8859_1_create_env(void);
+extern void porter_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int porter_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h
new file mode 100644
index 0000000..c7b517c
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * portuguese_ISO_8859_1_create_env(void);
+extern void portuguese_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int portuguese_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h
new file mode 100644
index 0000000..b066b4f
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * spanish_ISO_8859_1_create_env(void);
+extern void spanish_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int spanish_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h
new file mode 100644
index 0000000..7b5ec75
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * swedish_ISO_8859_1_create_env(void);
+extern void swedish_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int swedish_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h b/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h
new file mode 100644
index 0000000..be6ebf6
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * hungarian_ISO_8859_2_create_env(void);
+extern void hungarian_ISO_8859_2_close_env(struct SN_env * z);
+
+extern int hungarian_ISO_8859_2_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h b/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h
new file mode 100644
index 0000000..a7acc38
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * romanian_ISO_8859_2_create_env(void);
+extern void romanian_ISO_8859_2_close_env(struct SN_env * z);
+
+extern int romanian_ISO_8859_2_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_KOI8_R_russian.h b/src/include/snowball/libstemmer/stem_KOI8_R_russian.h
new file mode 100644
index 0000000..42a8518
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_KOI8_R_russian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * russian_KOI8_R_create_env(void);
+extern void russian_KOI8_R_close_env(struct SN_env * z);
+
+extern int russian_KOI8_R_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_arabic.h b/src/include/snowball/libstemmer/stem_UTF_8_arabic.h
new file mode 100644
index 0000000..cad02f3
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_arabic.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * arabic_UTF_8_create_env(void);
+extern void arabic_UTF_8_close_env(struct SN_env * z);
+
+extern int arabic_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_armenian.h b/src/include/snowball/libstemmer/stem_UTF_8_armenian.h
new file mode 100644
index 0000000..793fd09
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_armenian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * armenian_UTF_8_create_env(void);
+extern void armenian_UTF_8_close_env(struct SN_env * z);
+
+extern int armenian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_basque.h b/src/include/snowball/libstemmer/stem_UTF_8_basque.h
new file mode 100644
index 0000000..79ddc98
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_basque.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * basque_UTF_8_create_env(void);
+extern void basque_UTF_8_close_env(struct SN_env * z);
+
+extern int basque_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_catalan.h b/src/include/snowball/libstemmer/stem_UTF_8_catalan.h
new file mode 100644
index 0000000..58c9995
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_catalan.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * catalan_UTF_8_create_env(void);
+extern void catalan_UTF_8_close_env(struct SN_env * z);
+
+extern int catalan_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_danish.h b/src/include/snowball/libstemmer/stem_UTF_8_danish.h
new file mode 100644
index 0000000..a5084dc
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_danish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * danish_UTF_8_create_env(void);
+extern void danish_UTF_8_close_env(struct SN_env * z);
+
+extern int danish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_dutch.h b/src/include/snowball/libstemmer/stem_UTF_8_dutch.h
new file mode 100644
index 0000000..16cb995
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_dutch.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * dutch_UTF_8_create_env(void);
+extern void dutch_UTF_8_close_env(struct SN_env * z);
+
+extern int dutch_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_english.h b/src/include/snowball/libstemmer/stem_UTF_8_english.h
new file mode 100644
index 0000000..11fa090
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_english.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * english_UTF_8_create_env(void);
+extern void english_UTF_8_close_env(struct SN_env * z);
+
+extern int english_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_finnish.h b/src/include/snowball/libstemmer/stem_UTF_8_finnish.h
new file mode 100644
index 0000000..eebaa2d
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_finnish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * finnish_UTF_8_create_env(void);
+extern void finnish_UTF_8_close_env(struct SN_env * z);
+
+extern int finnish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_french.h b/src/include/snowball/libstemmer/stem_UTF_8_french.h
new file mode 100644
index 0000000..22158b0
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_french.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * french_UTF_8_create_env(void);
+extern void french_UTF_8_close_env(struct SN_env * z);
+
+extern int french_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_german.h b/src/include/snowball/libstemmer/stem_UTF_8_german.h
new file mode 100644
index 0000000..f276c53
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_german.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * german_UTF_8_create_env(void);
+extern void german_UTF_8_close_env(struct SN_env * z);
+
+extern int german_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_greek.h b/src/include/snowball/libstemmer/stem_UTF_8_greek.h
new file mode 100644
index 0000000..77667a3
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_greek.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * greek_UTF_8_create_env(void);
+extern void greek_UTF_8_close_env(struct SN_env * z);
+
+extern int greek_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_hindi.h b/src/include/snowball/libstemmer/stem_UTF_8_hindi.h
new file mode 100644
index 0000000..bbc2e9b
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_hindi.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * hindi_UTF_8_create_env(void);
+extern void hindi_UTF_8_close_env(struct SN_env * z);
+
+extern int hindi_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h b/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h
new file mode 100644
index 0000000..cc29d77
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * hungarian_UTF_8_create_env(void);
+extern void hungarian_UTF_8_close_env(struct SN_env * z);
+
+extern int hungarian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h b/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h
new file mode 100644
index 0000000..9f51324
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * indonesian_UTF_8_create_env(void);
+extern void indonesian_UTF_8_close_env(struct SN_env * z);
+
+extern int indonesian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_irish.h b/src/include/snowball/libstemmer/stem_UTF_8_irish.h
new file mode 100644
index 0000000..f06da96
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_irish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * irish_UTF_8_create_env(void);
+extern void irish_UTF_8_close_env(struct SN_env * z);
+
+extern int irish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_italian.h b/src/include/snowball/libstemmer/stem_UTF_8_italian.h
new file mode 100644
index 0000000..f00dcaa
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_italian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * italian_UTF_8_create_env(void);
+extern void italian_UTF_8_close_env(struct SN_env * z);
+
+extern int italian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h b/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h
new file mode 100644
index 0000000..e62ff1c
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * lithuanian_UTF_8_create_env(void);
+extern void lithuanian_UTF_8_close_env(struct SN_env * z);
+
+extern int lithuanian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_nepali.h b/src/include/snowball/libstemmer/stem_UTF_8_nepali.h
new file mode 100644
index 0000000..f8f50af
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_nepali.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * nepali_UTF_8_create_env(void);
+extern void nepali_UTF_8_close_env(struct SN_env * z);
+
+extern int nepali_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h b/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h
new file mode 100644
index 0000000..72aab40
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * norwegian_UTF_8_create_env(void);
+extern void norwegian_UTF_8_close_env(struct SN_env * z);
+
+extern int norwegian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_porter.h b/src/include/snowball/libstemmer/stem_UTF_8_porter.h
new file mode 100644
index 0000000..00685b2
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_porter.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * porter_UTF_8_create_env(void);
+extern void porter_UTF_8_close_env(struct SN_env * z);
+
+extern int porter_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h b/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h
new file mode 100644
index 0000000..7be4335
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * portuguese_UTF_8_create_env(void);
+extern void portuguese_UTF_8_close_env(struct SN_env * z);
+
+extern int portuguese_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_romanian.h b/src/include/snowball/libstemmer/stem_UTF_8_romanian.h
new file mode 100644
index 0000000..c93cd33
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_romanian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * romanian_UTF_8_create_env(void);
+extern void romanian_UTF_8_close_env(struct SN_env * z);
+
+extern int romanian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_russian.h b/src/include/snowball/libstemmer/stem_UTF_8_russian.h
new file mode 100644
index 0000000..ca1d882
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_russian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * russian_UTF_8_create_env(void);
+extern void russian_UTF_8_close_env(struct SN_env * z);
+
+extern int russian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_serbian.h b/src/include/snowball/libstemmer/stem_UTF_8_serbian.h
new file mode 100644
index 0000000..1df04f6
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_serbian.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * serbian_UTF_8_create_env(void);
+extern void serbian_UTF_8_close_env(struct SN_env * z);
+
+extern int serbian_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_spanish.h b/src/include/snowball/libstemmer/stem_UTF_8_spanish.h
new file mode 100644
index 0000000..dfd8dc3
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_spanish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * spanish_UTF_8_create_env(void);
+extern void spanish_UTF_8_close_env(struct SN_env * z);
+
+extern int spanish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_swedish.h b/src/include/snowball/libstemmer/stem_UTF_8_swedish.h
new file mode 100644
index 0000000..ca08a64
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_swedish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * swedish_UTF_8_create_env(void);
+extern void swedish_UTF_8_close_env(struct SN_env * z);
+
+extern int swedish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_tamil.h b/src/include/snowball/libstemmer/stem_UTF_8_tamil.h
new file mode 100644
index 0000000..5f5ae35
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_tamil.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * tamil_UTF_8_create_env(void);
+extern void tamil_UTF_8_close_env(struct SN_env * z);
+
+extern int tamil_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_turkish.h b/src/include/snowball/libstemmer/stem_UTF_8_turkish.h
new file mode 100644
index 0000000..6840592
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_turkish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * turkish_UTF_8_create_env(void);
+extern void turkish_UTF_8_close_env(struct SN_env * z);
+
+extern int turkish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_yiddish.h b/src/include/snowball/libstemmer/stem_UTF_8_yiddish.h
new file mode 100644
index 0000000..55b6625
--- /dev/null
+++ b/src/include/snowball/libstemmer/stem_UTF_8_yiddish.h
@@ -0,0 +1,15 @@
+/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * yiddish_UTF_8_create_env(void);
+extern void yiddish_UTF_8_close_env(struct SN_env * z);
+
+extern int yiddish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
+