Update snowball

Update to snowball tag v2.0.0.  Major changes are new stemmers for
Basque, Catalan, and Hindi.

Discussion: https://www.postgresql.org/message-id/flat/a8eeabd6-2be1-43fe-401e-a97594c38478%402ndquadrant.com
This commit is contained in:
Peter Eisentraut 2020-06-08 07:58:51 +02:00
parent 57cb806308
commit cbcc8726bb
97 changed files with 6965 additions and 2217 deletions

View File

@ -23,6 +23,8 @@ OBJS = \
utilities.o
OBJS += \
stem_ISO_8859_1_basque.o \
stem_ISO_8859_1_catalan.o \
stem_ISO_8859_1_danish.o \
stem_ISO_8859_1_dutch.o \
stem_ISO_8859_1_english.o \
@ -41,6 +43,8 @@ OBJS += \
stem_ISO_8859_2_romanian.o \
stem_KOI8_R_russian.o \
stem_UTF_8_arabic.o \
stem_UTF_8_basque.o \
stem_UTF_8_catalan.o \
stem_UTF_8_danish.o \
stem_UTF_8_dutch.o \
stem_UTF_8_english.o \
@ -48,6 +52,7 @@ OBJS += \
stem_UTF_8_french.o \
stem_UTF_8_german.o \
stem_UTF_8_greek.o \
stem_UTF_8_hindi.o \
stem_UTF_8_hungarian.o \
stem_UTF_8_indonesian.o \
stem_UTF_8_irish.o \
@ -70,6 +75,8 @@ OBJS += \
# must come after creation of that language
LANGUAGES= \
arabic arabic \
basque basque \
catalan catalan \
danish danish \
dutch dutch \
english english \
@ -77,6 +84,7 @@ LANGUAGES= \
french french \
german german \
greek greek \
hindi english \
hungarian hungarian \
indonesian indonesian \
irish irish \

View File

@ -7,7 +7,7 @@ This module uses the word stemming code developed by the Snowball project,
http://snowballstem.org (formerly http://snowball.tartarus.org)
which is released by them under a BSD-style license.
The Snowball project is not currently making formal releases; it's best
The Snowball project does not often make formal releases; it's best
to pull from their git repository
git clone https://github.com/snowballstem/snowball.git
@ -29,8 +29,8 @@ We choose to include the derived files in the PostgreSQL distribution
because most installations will not have the Snowball compiler available.
We are currently synced with the Snowball git commit
4456b82c26c02493e8807a66f30593a98c5d2888
of 2019-06-24.
c70ed64f9d41c1032fba4e962b054f8e9d489a74 (tag v2.0.0)
of 2019-10-02.
To update the PostgreSQL sources from a new Snowball version:
@ -44,6 +44,9 @@ do
sed 's|\.\./runtime/header\.h|header.h|' $f >libstemmer/`basename $f`
done
Do not copy stemmers that are listed in libstemmer/modules.txt as
nonstandard, such as "german2" or "lovins".
2. Copy the *.c files in snowball/runtime/ to
src/backend/snowball/libstemmer, and edit them to remove direct inclusions
of system headers such as <stdio.h> --- they should only include "header.h".

View File

@ -26,6 +26,8 @@
/* Now we can include the original Snowball header.h */
#include "snowball/libstemmer/header.h"
#include "snowball/libstemmer/stem_ISO_8859_1_basque.h"
#include "snowball/libstemmer/stem_ISO_8859_1_catalan.h"
#include "snowball/libstemmer/stem_ISO_8859_1_danish.h"
#include "snowball/libstemmer/stem_ISO_8859_1_dutch.h"
#include "snowball/libstemmer/stem_ISO_8859_1_english.h"
@ -44,6 +46,8 @@
#include "snowball/libstemmer/stem_ISO_8859_2_romanian.h"
#include "snowball/libstemmer/stem_KOI8_R_russian.h"
#include "snowball/libstemmer/stem_UTF_8_arabic.h"
#include "snowball/libstemmer/stem_UTF_8_basque.h"
#include "snowball/libstemmer/stem_UTF_8_catalan.h"
#include "snowball/libstemmer/stem_UTF_8_danish.h"
#include "snowball/libstemmer/stem_UTF_8_dutch.h"
#include "snowball/libstemmer/stem_UTF_8_english.h"
@ -51,6 +55,7 @@
#include "snowball/libstemmer/stem_UTF_8_french.h"
#include "snowball/libstemmer/stem_UTF_8_german.h"
#include "snowball/libstemmer/stem_UTF_8_greek.h"
#include "snowball/libstemmer/stem_UTF_8_hindi.h"
#include "snowball/libstemmer/stem_UTF_8_hungarian.h"
#include "snowball/libstemmer/stem_UTF_8_indonesian.h"
#include "snowball/libstemmer/stem_UTF_8_irish.h"
@ -92,6 +97,8 @@ static const stemmer_module stemmer_modules[] =
/*
* Stemmers list from Snowball distribution
*/
STEMMER_MODULE(basque, PG_LATIN1, ISO_8859_1),
STEMMER_MODULE(catalan, PG_LATIN1, ISO_8859_1),
STEMMER_MODULE(danish, PG_LATIN1, ISO_8859_1),
STEMMER_MODULE(dutch, PG_LATIN1, ISO_8859_1),
STEMMER_MODULE(english, PG_LATIN1, ISO_8859_1),
@ -110,6 +117,8 @@ static const stemmer_module stemmer_modules[] =
STEMMER_MODULE(romanian, PG_LATIN2, ISO_8859_2),
STEMMER_MODULE(russian, PG_KOI8R, KOI8_R),
STEMMER_MODULE(arabic, PG_UTF8, UTF_8),
STEMMER_MODULE(basque, PG_UTF8, UTF_8),
STEMMER_MODULE(catalan, PG_UTF8, UTF_8),
STEMMER_MODULE(danish, PG_UTF8, UTF_8),
STEMMER_MODULE(dutch, PG_UTF8, UTF_8),
STEMMER_MODULE(english, PG_UTF8, UTF_8),
@ -117,6 +126,7 @@ static const stemmer_module stemmer_modules[] =
STEMMER_MODULE(french, PG_UTF8, UTF_8),
STEMMER_MODULE(german, PG_UTF8, UTF_8),
STEMMER_MODULE(greek, PG_UTF8, UTF_8),
STEMMER_MODULE(hindi, PG_UTF8, UTF_8),
STEMMER_MODULE(hungarian, PG_UTF8, UTF_8),
STEMMER_MODULE(indonesian, PG_UTF8, UTF_8),
STEMMER_MODULE(irish, PG_UTF8, UTF_8),

View File

@ -61,4 +61,3 @@ extern int SN_set_current(struct SN_env * z, int size, const symbol * s)
z->c = 0;
return err;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -241,10 +240,8 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 72 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 72 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m3;
}
break;
@ -279,44 +276,34 @@ static int r_undouble(struct SN_env * z) { /* backwardmode */
extern int danish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 86 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 86 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 87 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 88 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 88 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 89 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 89 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 90 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 90 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 91 */
{ int ret = r_undouble(z); /* call undouble, line 91 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -148,8 +147,9 @@ static const symbol s_14[] = { 'i', 'g' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
{ int c_test1 = z->c; /* test, line 42 */
while(1) { /* repeat, line 42 */
int c2 = z->c;
/* repeat, line 42 */
while(1) { int c2 = z->c;
z->bra = z->c; /* [, line 43 */
if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((340306450 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else /* substring, line 43 */
among_var = find_among(z, a_0, 11);
@ -204,8 +204,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
lab1:
;
}
while(1) { /* repeat, line 58 */
int c4 = z->c;
/* repeat, line 58 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 58 */
int c5 = z->c;
if (in_grouping(z, g_v, 97, 232, 0)) goto lab3; /* grouping v, line 59 */
@ -278,8 +279,9 @@ lab0:
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 75 */
int c1 = z->c;
/* repeat, line 75 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 77 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else /* substring, line 77 */
among_var = find_among(z, a_1, 3);
@ -421,50 +423,48 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 120 */
{ int ret = r_e_ending(z); /* call e_ending, line 120 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 122 */
z->ket = z->c; /* [, line 122 */
if (!(eq_s_b(z, 4, s_12))) goto lab2; /* literal, line 122 */
if (!(eq_s_b(z, 4, s_12))) goto lab1; /* literal, line 122 */
z->bra = z->c; /* ], line 122 */
{ int ret = r_R2(z); /* call R2, line 122 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
{ int m4 = z->l - z->c; (void)m4; /* not, line 122 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3; /* literal, line 122 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2; /* literal, line 122 */
z->c--;
goto lab2;
lab3:
goto lab1;
lab2:
z->c = z->l - m4;
}
{ int ret = slice_del(z); /* delete, line 122 */
if (ret < 0) return ret;
}
z->ket = z->c; /* [, line 123 */
if (!(eq_s_b(z, 2, s_13))) goto lab2; /* literal, line 123 */
if (!(eq_s_b(z, 2, s_13))) goto lab1; /* literal, line 123 */
z->bra = z->c; /* ], line 123 */
{ int ret = r_en_ending(z); /* call en_ending, line 123 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab2:
lab1:
z->c = z->l - m3;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 126 */
z->ket = z->c; /* [, line 127 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4; /* substring, line 127 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 127 */
among_var = find_among_b(z, a_4, 6);
if (!(among_var)) goto lab4;
if (!(among_var)) goto lab3;
z->bra = z->c; /* ], line 127 */
switch (among_var) { /* among, line 127 */
case 1:
{ int ret = r_R2(z); /* call R2, line 129 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 129 */
@ -472,42 +472,42 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m6 = z->l - z->c; (void)m6; /* or, line 130 */
z->ket = z->c; /* [, line 130 */
if (!(eq_s_b(z, 2, s_14))) goto lab6; /* literal, line 130 */
if (!(eq_s_b(z, 2, s_14))) goto lab5; /* literal, line 130 */
z->bra = z->c; /* ], line 130 */
{ int ret = r_R2(z); /* call R2, line 130 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
{ int m7 = z->l - z->c; (void)m7; /* not, line 130 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 130 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6; /* literal, line 130 */
z->c--;
goto lab6;
lab7:
goto lab5;
lab6:
z->c = z->l - m7;
}
{ int ret = slice_del(z); /* delete, line 130 */
if (ret < 0) return ret;
}
goto lab5;
lab6:
goto lab4;
lab5:
z->c = z->l - m6;
{ int ret = r_undouble(z); /* call undouble, line 130 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
}
lab5:
lab4:
break;
case 2:
{ int ret = r_R2(z); /* call R2, line 133 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int m8 = z->l - z->c; (void)m8; /* not, line 133 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 133 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 133 */
z->c--;
goto lab4;
lab8:
goto lab3;
lab7:
z->c = z->l - m8;
}
{ int ret = slice_del(z); /* delete, line 133 */
@ -516,20 +516,20 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
break;
case 3:
{ int ret = r_R2(z); /* call R2, line 136 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 136 */
if (ret < 0) return ret;
}
{ int ret = r_e_ending(z); /* call e_ending, line 136 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
break;
case 4:
{ int ret = r_R2(z); /* call R2, line 139 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 139 */
@ -538,34 +538,34 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
break;
case 5:
{ int ret = r_R2(z); /* call R2, line 142 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */
if (!(z->B[0])) goto lab3; /* Boolean test e_found, line 142 */
{ int ret = slice_del(z); /* delete, line 142 */
if (ret < 0) return ret;
}
break;
}
lab4:
lab3:
z->c = z->l - m5;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 146 */
if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab9; /* non v_I, line 147 */
if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab8; /* non v_I, line 147 */
{ int m_test10 = z->l - z->c; /* test, line 148 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9; /* among, line 149 */
if (!(find_among_b(z, a_5, 4))) goto lab9;
if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab9; /* non v, line 150 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab8; /* among, line 149 */
if (!(find_among_b(z, a_5, 4))) goto lab8;
if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab8; /* non v, line 150 */
z->c = z->l - m_test10;
}
z->ket = z->c; /* [, line 152 */
if (z->c <= z->lb) goto lab9;
if (z->c <= z->lb) goto lab8;
z->c--; /* next, line 152 */
z->bra = z->c; /* ], line 152 */
{ int ret = slice_del(z); /* delete, line 152 */
if (ret < 0) return ret;
}
lab9:
lab8:
z->c = z->l - m9;
}
return 1;
@ -574,35 +574,27 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
extern int dutch_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 159 */
{ int ret = r_prelude(z); /* call prelude, line 159 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
{ int c2 = z->c; /* do, line 160 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 160 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
z->lb = z->c; z->c = z->l; /* backwards, line 161 */
/* do, line 162 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 162 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->lb;
{ int c3 = z->c; /* do, line 163 */
{ int ret = r_postlude(z); /* call postlude, line 163 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = c3;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -383,8 +382,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
z->c = c2;
}
{ int c3 = z->c; /* do, line 29 */
while(1) { /* repeat, line 29 */
int c4 = z->c;
/* repeat, line 29 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 29 */
int c5 = z->c;
if (in_grouping(z, g_v, 97, 121, 0)) goto lab4; /* grouping v, line 29 */
@ -940,8 +940,9 @@ static int r_exception1(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
if (!(z->B[0])) return 0; /* Boolean test Y_found, line 203 */
while(1) { /* repeat, line 203 */
int c1 = z->c;
/* repeat, line 203 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 203 */
int c2 = z->c;
z->bra = z->c; /* [, line 203 */
@ -989,91 +990,71 @@ extern int english_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
z->c = c1;
/* do, line 209 */
{ int ret = r_prelude(z); /* call prelude, line 209 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
/* do, line 210 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 210 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->lb = z->c; z->c = z->l; /* backwards, line 211 */
{ int m3 = z->l - z->c; (void)m3; /* do, line 213 */
{ int ret = r_Step_1a(z); /* call Step_1a, line 213 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* or, line 215 */
{ int ret = r_exception2(z); /* call exception2, line 215 */
if (ret == 0) goto lab8;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab7;
lab8:
goto lab4;
lab5:
z->c = z->l - m4;
{ int m5 = z->l - z->c; (void)m5; /* do, line 217 */
{ int ret = r_Step_1b(z); /* call Step_1b, line 217 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m5;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 218 */
{ int ret = r_Step_1c(z); /* call Step_1c, line 218 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
lab10:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 220 */
{ int ret = r_Step_2(z); /* call Step_2, line 220 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 221 */
{ int ret = r_Step_3(z); /* call Step_3, line 221 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 222 */
{ int ret = r_Step_4(z); /* call Step_4, line 222 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 224 */
{ int ret = r_Step_5(z); /* call Step_5, line 224 */
if (ret == 0) goto lab14;
if (ret < 0) return ret;
}
lab14:
z->c = z->l - m10;
}
}
lab7:
lab4:
z->c = z->lb;
{ int c11 = z->c; /* do, line 227 */
{ int ret = r_postlude(z); /* call postlude, line 227 */
if (ret == 0) goto lab15;
if (ret < 0) return ret;
}
lab15:
z->c = c11;
}
}

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -655,10 +654,8 @@ static int r_tidy(struct SN_env * z) { /* backwardmode */
extern int finnish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 186 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 186 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->B[0] = 0; /* unset ending_removed, line 187 */
@ -666,63 +663,49 @@ extern int finnish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int m2 = z->l - z->c; (void)m2; /* do, line 189 */
{ int ret = r_particle_etc(z); /* call particle_etc, line 189 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 190 */
{ int ret = r_possessive(z); /* call possessive, line 190 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 191 */
{ int ret = r_case_ending(z); /* call case_ending, line 191 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 192 */
{ int ret = r_other_endings(z); /* call other_endings, line 192 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
/* or, line 193 */
if (!(z->B[0])) goto lab6; /* Boolean test ending_removed, line 193 */
if (!(z->B[0])) goto lab1; /* Boolean test ending_removed, line 193 */
{ int m6 = z->l - z->c; (void)m6; /* do, line 193 */
{ int ret = r_i_plural(z); /* call i_plural, line 193 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m6;
}
goto lab5;
lab6:
goto lab0;
lab1:
{ int m7 = z->l - z->c; (void)m7; /* do, line 193 */
{ int ret = r_t_plural(z); /* call t_plural, line 193 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m7;
}
lab5:
lab0:
{ int m8 = z->l - z->c; (void)m8; /* do, line 194 */
{ int ret = r_tidy(z); /* call tidy, line 194 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m8;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -411,8 +410,9 @@ static const symbol s_33[] = { 'i' };
static const symbol s_34[] = { 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
while(1) { /* repeat, line 38 */
int c1 = z->c;
/* repeat, line 38 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 38 */
int c2 = z->c;
{ int c3 = z->c; /* or, line 44 */
@ -569,8 +569,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 79 */
int c1 = z->c;
/* repeat, line 79 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 81 */
if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else /* substring, line 81 */
among_var = find_among(z, a_1, 7);
@ -1124,8 +1125,7 @@ static int r_un_double(struct SN_env * z) { /* backwardmode */
static int r_un_accent(struct SN_env * z) { /* backwardmode */
{ int i = 1;
while(1) { /* atleast, line 222 */
if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */
while(1) { if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */
i--;
continue;
lab0:
@ -1154,18 +1154,14 @@ lab1:
extern int french_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 229 */
{ int ret = r_prelude(z); /* call prelude, line 229 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 230 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 230 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 231 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 233 */
@ -1173,85 +1169,79 @@ lab1:
{ int m4 = z->l - z->c; (void)m4; /* and, line 239 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 235 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 235 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
goto lab5;
lab6:
z->c = z->l - m5;
{ int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
goto lab5;
lab7:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m5;
{ int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab3;
lab5:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab5:
lab3:
z->c = z->l - m4;
{ int m6 = z->l - z->c; (void)m6; /* try, line 240 */
z->ket = z->c; /* [, line 240 */
{ int m7 = z->l - z->c; (void)m7; /* or, line 240 */
if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 240 */
if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8; /* literal, line 240 */
z->c--;
z->bra = z->c; /* ], line 240 */
{ int ret = slice_from_s(z, 1, s_33); /* <-, line 240 */
if (ret < 0) return ret;
}
goto lab9;
lab10:
goto lab7;
lab8:
z->c = z->l - m7;
if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab8; } /* literal, line 241 */
if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab6; } /* literal, line 241 */
z->c--;
z->bra = z->c; /* ], line 241 */
{ int ret = slice_from_s(z, 1, s_34); /* <-, line 241 */
if (ret < 0) return ret;
}
}
lab9:
lab8:
lab7:
lab6:
;
}
}
goto lab3;
lab4:
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 244 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 249 */
{ int ret = r_un_double(z); /* call un_double, line 249 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 250 */
{ int ret = r_un_accent(z); /* call un_accent, line 250 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m9;
}
z->c = z->lb;
{ int c10 = z->c; /* do, line 252 */
{ int ret = r_postlude(z); /* call postlude, line 252 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = c10;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -126,8 +125,9 @@ static const symbol s_10[] = { 'e', 'n' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
{ int c_test1 = z->c; /* test, line 35 */
while(1) { /* repeat, line 35 */
int c2 = z->c;
/* repeat, line 35 */
while(1) { int c2 = z->c;
{ int c3 = z->c; /* or, line 38 */
z->bra = z->c; /* [, line 37 */
if (z->c == z->l || z->p[z->c] != 0xDF) goto lab2; /* literal, line 37 */
@ -150,8 +150,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
}
z->c = c_test1;
}
while(1) { /* repeat, line 41 */
int c4 = z->c;
/* repeat, line 41 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 41 */
int c5 = z->c;
if (in_grouping(z, g_v, 97, 252, 0)) goto lab4; /* grouping v, line 42 */
@ -233,8 +234,9 @@ lab0:
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 60 */
int c1 = z->c;
/* repeat, line 60 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 62 */
among_var = find_among(z, a_0, 6); /* substring, line 62 */
if (!(among_var)) goto lab0;
@ -463,35 +465,27 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
extern int german_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 134 */
{ int ret = r_prelude(z); /* call prelude, line 134 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
{ int c2 = z->c; /* do, line 135 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 135 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
z->lb = z->c; z->c = z->l; /* backwards, line 136 */
/* do, line 137 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 137 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->lb;
{ int c3 = z->c; /* do, line 138 */
{ int ret = r_postlude(z); /* call postlude, line 138 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = c3;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -314,8 +313,9 @@ static int r_remove_second_order_prefix(struct SN_env * z) { /* forwardmode */
extern int indonesian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
z->I[0] = 0; /* $measure = <integer expression>, line 172 */
{ int c1 = z->c; /* do, line 173 */
while(1) { /* repeat, line 173 */
int c2 = z->c;
/* repeat, line 173 */
while(1) { int c2 = z->c;
{ /* gopast */ /* grouping vowel, line 173 */
int ret = out_grouping(z, g_vowel, 97, 117, 1);
if (ret < 0) goto lab1;
@ -335,19 +335,15 @@ extern int indonesian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int m3 = z->l - z->c; (void)m3; /* do, line 177 */
{ int ret = r_remove_particle(z); /* call remove_particle, line 177 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
if (!(z->I[0] > 2)) return 0; /* $(<integer expression> > <integer expression>), line 178 */
{ int m4 = z->l - z->c; (void)m4; /* do, line 179 */
{ int ret = r_remove_possessive_pronoun(z); /* call remove_possessive_pronoun, line 179 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;
@ -355,56 +351,54 @@ extern int indonesian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c5 = z->c; /* or, line 188 */
{ int c_test6 = z->c; /* test, line 182 */
{ int ret = r_remove_first_order_prefix(z); /* call remove_first_order_prefix, line 183 */
if (ret == 0) goto lab5;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int c7 = z->c; /* do, line 184 */
{ int c_test8 = z->c; /* test, line 185 */
if (!(z->I[0] > 2)) goto lab6; /* $(<integer expression> > <integer expression>), line 185 */
if (!(z->I[0] > 2)) goto lab4; /* $(<integer expression> > <integer expression>), line 185 */
z->lb = z->c; z->c = z->l; /* backwards, line 185 */
{ int ret = r_remove_suffix(z); /* call remove_suffix, line 185 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
z->c = z->lb;
z->c = c_test8;
}
if (!(z->I[0] > 2)) goto lab6; /* $(<integer expression> > <integer expression>), line 186 */
if (!(z->I[0] > 2)) goto lab4; /* $(<integer expression> > <integer expression>), line 186 */
{ int ret = r_remove_second_order_prefix(z); /* call remove_second_order_prefix, line 186 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab6:
lab4:
z->c = c7;
}
z->c = c_test6;
}
goto lab4;
lab5:
goto lab2;
lab3:
z->c = c5;
{ int c9 = z->c; /* do, line 189 */
{ int ret = r_remove_second_order_prefix(z); /* call remove_second_order_prefix, line 189 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c9;
}
{ int c10 = z->c; /* do, line 190 */
if (!(z->I[0] > 2)) goto lab8; /* $(<integer expression> > <integer expression>), line 190 */
if (!(z->I[0] > 2)) goto lab5; /* $(<integer expression> > <integer expression>), line 190 */
z->lb = z->c; z->c = z->l; /* backwards, line 190 */
{ int ret = r_remove_suffix(z); /* call remove_suffix, line 190 */
if (ret == 0) goto lab8;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
z->c = z->lb;
lab8:
lab5:
z->c = c10;
}
}
lab4:
lab2:
return 1;
}

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -442,42 +441,32 @@ static int r_verb_sfx(struct SN_env * z) { /* backwardmode */
extern int irish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 144 */
{ int ret = r_initial_morph(z); /* call initial_morph, line 144 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 145 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 145 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 146 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 147 */
{ int ret = r_noun_sfx(z); /* call noun_sfx, line 147 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 148 */
{ int ret = r_deriv(z); /* call deriv, line 148 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 149 */
{ int ret = r_verb_sfx(z); /* call verb_sfx, line 149 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -492,8 +491,9 @@ static const symbol s_17[] = { 'i', 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
{ int c_test1 = z->c; /* test, line 35 */
while(1) { /* repeat, line 35 */
int c2 = z->c;
/* repeat, line 35 */
while(1) { int c2 = z->c;
z->bra = z->c; /* [, line 36 */
among_var = find_among(z, a_0, 7); /* substring, line 36 */
if (!(among_var)) goto lab0;
@ -541,8 +541,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
}
z->c = c_test1;
}
while(1) { /* repeat, line 46 */
int c3 = z->c;
/* repeat, line 46 */
while(1) { int c3 = z->c;
while(1) { /* goto, line 46 */
int c4 = z->c;
if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 47 */
@ -664,8 +665,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 70 */
int c1 = z->c;
/* repeat, line 70 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 72 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else /* substring, line 72 */
among_var = find_among(z, a_1, 3);
@ -967,61 +969,51 @@ static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */
extern int italian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 182 */
{ int ret = r_prelude(z); /* call prelude, line 182 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 183 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 183 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 184 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 185 */
{ int ret = r_attached_pronoun(z); /* call attached_pronoun, line 185 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 186 */
{ int m4 = z->l - z->c; (void)m4; /* or, line 186 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 186 */
if (ret == 0) goto lab5;
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
goto lab4;
lab5:
goto lab1;
lab2:
z->c = z->l - m4;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 186 */
if (ret == 0) goto lab3;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab4:
lab3:
lab1:
lab0:
z->c = z->l - m3;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 187 */
{ int ret = r_vowel_suffix(z); /* call vowel_suffix, line 187 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m5;
}
z->c = z->lb;
{ int c6 = z->c; /* do, line 189 */
{ int ret = r_postlude(z); /* call postlude, line 189 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c6;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -241,36 +240,28 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
extern int norwegian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 74 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 74 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 75 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 76 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 76 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 77 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 77 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 78 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 78 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -575,8 +574,9 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
z->c = c1;
}
{ int c2 = z->c; /* do, line 117 */
while(1) { /* repeat, line 117 */
int c3 = z->c;
/* repeat, line 117 */
while(1) { int c3 = z->c;
while(1) { /* goto, line 117 */
int c4 = z->c;
if (in_grouping(z, g_v, 97, 121, 0)) goto lab3; /* grouping v, line 117 */
@ -634,95 +634,80 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int m6 = z->l - z->c; (void)m6; /* do, line 127 */
{ int ret = r_Step_1a(z); /* call Step_1a, line 127 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 128 */
{ int ret = r_Step_1b(z); /* call Step_1b, line 128 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 129 */
{ int ret = r_Step_1c(z); /* call Step_1c, line 129 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 130 */
{ int ret = r_Step_2(z); /* call Step_2, line 130 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 131 */
{ int ret = r_Step_3(z); /* call Step_3, line 131 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m10;
}
{ int m11 = z->l - z->c; (void)m11; /* do, line 132 */
{ int ret = r_Step_4(z); /* call Step_4, line 132 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
lab10:
z->c = z->l - m11;
}
{ int m12 = z->l - z->c; (void)m12; /* do, line 133 */
{ int ret = r_Step_5a(z); /* call Step_5a, line 133 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m12;
}
{ int m13 = z->l - z->c; (void)m13; /* do, line 134 */
{ int ret = r_Step_5b(z); /* call Step_5b, line 134 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m13;
}
z->c = z->lb;
{ int c14 = z->c; /* do, line 137 */
if (!(z->B[0])) goto lab13; /* Boolean test Y_found, line 137 */
while(1) { /* repeat, line 137 */
int c15 = z->c;
if (!(z->B[0])) goto lab5; /* Boolean test Y_found, line 137 */
/* repeat, line 137 */
while(1) { int c15 = z->c;
while(1) { /* goto, line 137 */
int c16 = z->c;
z->bra = z->c; /* [, line 137 */
if (z->c == z->l || z->p[z->c] != 'Y') goto lab15; /* literal, line 137 */
if (z->c == z->l || z->p[z->c] != 'Y') goto lab7; /* literal, line 137 */
z->c++;
z->ket = z->c; /* ], line 137 */
z->c = c16;
break;
lab15:
lab7:
z->c = c16;
if (z->c >= z->l) goto lab14;
if (z->c >= z->l) goto lab6;
z->c++; /* goto, line 137 */
}
{ int ret = slice_from_s(z, 1, s_23); /* <-, line 137 */
if (ret < 0) return ret;
}
continue;
lab14:
lab6:
z->c = c15;
break;
}
lab13:
lab5:
z->c = c14;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -475,8 +474,9 @@ static const symbol s_10[] = { 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 36 */
int c1 = z->c;
/* repeat, line 36 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 37 */
if (z->c >= z->l || (z->p[z->c + 0] != 227 && z->p[z->c + 0] != 245)) among_var = 3; else /* substring, line 37 */
among_var = find_among(z, a_0, 3);
@ -588,8 +588,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 62 */
int c1 = z->c;
/* repeat, line 62 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 63 */
if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else /* substring, line 63 */
among_var = find_among(z, a_1, 3);
@ -879,18 +880,14 @@ static int r_residual_form(struct SN_env * z) { /* backwardmode */
extern int portuguese_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 202 */
{ int ret = r_prelude(z); /* call prelude, line 202 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 203 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 203 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 204 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 205 */
@ -898,67 +895,63 @@ lab1:
{ int m4 = z->l - z->c; (void)m4; /* and, line 207 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 206 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 206 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
goto lab5;
lab6:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 206 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 206 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab5:
lab3:
z->c = z->l - m4;
{ int m6 = z->l - z->c; (void)m6; /* do, line 207 */
z->ket = z->c; /* [, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7; /* literal, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab5; /* literal, line 207 */
z->c--;
z->bra = z->c; /* ], line 207 */
{ int m_test7 = z->l - z->c; /* test, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab7; /* literal, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab5; /* literal, line 207 */
z->c--;
z->c = z->l - m_test7;
}
{ int ret = r_RV(z); /* call RV, line 207 */
if (ret == 0) goto lab7;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 207 */
if (ret < 0) return ret;
}
lab7:
lab5:
z->c = z->l - m6;
}
}
goto lab3;
lab4:
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 209 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 211 */
{ int ret = r_residual_form(z); /* call residual_form, line 211 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m8;
}
z->c = z->lb;
{ int c9 = z->c; /* do, line 213 */
{ int ret = r_postlude(z); /* call postlude, line 213 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = c9;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -586,8 +585,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 49 */
int c1 = z->c;
/* repeat, line 49 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 50 */
if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((67641858 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else /* substring, line 50 */
among_var = find_among(z, a_0, 6);
@ -985,60 +985,52 @@ static int r_residual_suffix(struct SN_env * z) { /* backwardmode */
extern int spanish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
/* do, line 216 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 216 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->lb = z->c; z->c = z->l; /* backwards, line 217 */
{ int m1 = z->l - z->c; (void)m1; /* do, line 218 */
{ int ret = r_attached_pronoun(z); /* call attached_pronoun, line 218 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m1;
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 219 */
{ int m3 = z->l - z->c; (void)m3; /* or, line 219 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 219 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m3;
{ int ret = r_y_verb_suffix(z); /* call y_verb_suffix, line 220 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab3;
lab5:
z->c = z->l - m3;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 221 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_y_verb_suffix(z); /* call y_verb_suffix, line 220 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
goto lab1;
lab3:
z->c = z->l - m3;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 221 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 223 */
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 223 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m4;
}
z->c = z->lb;
{ int c5 = z->c; /* do, line 225 */
{ int ret = r_postlude(z); /* call postlude, line 225 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c5;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -257,36 +256,28 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
extern int swedish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 66 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 66 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 67 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 68 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 68 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 69 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 69 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 70 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 70 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -795,84 +794,64 @@ static int r_plur_owner(struct SN_env * z) { /* backwardmode */
extern int hungarian_ISO_8859_2_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 229 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 229 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 230 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 231 */
{ int ret = r_instrum(z); /* call instrum, line 231 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 232 */
{ int ret = r_case(z); /* call case, line 232 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 233 */
{ int ret = r_case_special(z); /* call case_special, line 233 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 234 */
{ int ret = r_case_other(z); /* call case_other, line 234 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 235 */
{ int ret = r_factive(z); /* call factive, line 235 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 236 */
{ int ret = r_owned(z); /* call owned, line 236 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 237 */
{ int ret = r_sing_owner(z); /* call sing_owner, line 237 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 238 */
{ int ret = r_plur_owner(z); /* call plur_owner, line 238 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 239 */
{ int ret = r_plural(z); /* call plural, line 239 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m10;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -537,8 +536,9 @@ static const symbol s_17[] = { 't' };
static const symbol s_18[] = { 'i', 's', 't' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
while(1) { /* repeat, line 32 */
int c1 = z->c;
/* repeat, line 32 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 32 */
int c2 = z->c;
if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; /* grouping v, line 33 */
@ -660,8 +660,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 56 */
int c1 = z->c;
/* repeat, line 56 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 58 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else /* substring, line 58 */
among_var = find_among(z, a_0, 3);
@ -813,8 +814,9 @@ static int r_combo_suffix(struct SN_env * z) { /* backwardmode */
static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
int among_var;
z->B[0] = 0; /* unset standard_suffix_removed, line 130 */
while(1) { /* repeat, line 131 */
int m1 = z->l - z->c; (void)m1;
/* repeat, line 131 */
while(1) { int m1 = z->l - z->c; (void)m1;
{ int ret = r_combo_suffix(z); /* call combo_suffix, line 131 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
@ -907,66 +909,54 @@ static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */
extern int romanian_ISO_8859_2_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 226 */
{ int ret = r_prelude(z); /* call prelude, line 226 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 227 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 227 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 228 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 229 */
{ int ret = r_step_0(z); /* call step_0, line 229 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 230 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 230 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 231 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 231 */
if (!(z->B[0])) goto lab6; /* Boolean test standard_suffix_removed, line 231 */
goto lab5;
lab6:
if (!(z->B[0])) goto lab2; /* Boolean test standard_suffix_removed, line 231 */
goto lab1;
lab2:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab5:
lab4:
lab1:
lab0:
z->c = z->l - m4;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 232 */
{ int ret = r_vowel_suffix(z); /* call vowel_suffix, line 232 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m6;
}
z->c = z->lb;
{ int c7 = z->c; /* do, line 234 */
{ int ret = r_postlude(z); /* call postlude, line 234 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = c7;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -569,8 +568,9 @@ static int r_tidy_up(struct SN_env * z) { /* backwardmode */
extern int russian_KOI8_R_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 205 */
while(1) { /* repeat, line 205 */
int c2 = z->c;
/* repeat, line 205 */
while(1) { int c2 = z->c;
while(1) { /* goto, line 205 */
int c3 = z->c;
z->bra = z->c; /* [, line 205 */
@ -596,10 +596,8 @@ extern int russian_KOI8_R_stem(struct SN_env * z) { /* forwardmode */
}
/* do, line 207 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 207 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->lb = z->c; z->c = z->l; /* backwards, line 208 */
@ -609,72 +607,68 @@ lab3:
{ int m5 = z->l - z->c; (void)m5; /* do, line 209 */
{ int m6 = z->l - z->c; (void)m6; /* or, line 210 */
{ int ret = r_perfective_gerund(z); /* call perfective_gerund, line 210 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab5;
lab6:
goto lab4;
lab5:
z->c = z->l - m6;
{ int m7 = z->l - z->c; (void)m7; /* try, line 211 */
{ int ret = r_reflexive(z); /* call reflexive, line 211 */
if (ret == 0) { z->c = z->l - m7; goto lab7; }
if (ret == 0) { z->c = z->l - m7; goto lab6; }
if (ret < 0) return ret;
}
lab7:
lab6:
;
}
{ int m8 = z->l - z->c; (void)m8; /* or, line 212 */
{ int ret = r_adjectival(z); /* call adjectival, line 212 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
goto lab7;
lab8:
z->c = z->l - m8;
{ int ret = r_verb(z); /* call verb, line 212 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
goto lab8;
goto lab7;
lab9:
z->c = z->l - m8;
{ int ret = r_verb(z); /* call verb, line 212 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
goto lab8;
lab10:
z->c = z->l - m8;
{ int ret = r_noun(z); /* call noun, line 212 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
}
lab8:
lab7:
;
}
lab5:
lab4:
lab3:
z->c = z->l - m5;
}
{ int m9 = z->l - z->c; (void)m9; /* try, line 215 */
z->ket = z->c; /* [, line 215 */
if (z->c <= z->lb || z->p[z->c - 1] != 0xC9) { z->c = z->l - m9; goto lab11; } /* literal, line 215 */
if (z->c <= z->lb || z->p[z->c - 1] != 0xC9) { z->c = z->l - m9; goto lab10; } /* literal, line 215 */
z->c--;
z->bra = z->c; /* ], line 215 */
{ int ret = slice_del(z); /* delete, line 215 */
if (ret < 0) return ret;
}
lab11:
lab10:
;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 218 */
{ int ret = r_derivational(z); /* call derivational, line 218 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m10;
}
{ int m11 = z->l - z->c; (void)m11; /* do, line 219 */
{ int ret = r_tidy_up(z); /* call tidy_up, line 219 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = z->l - m11;
}
z->lb = mlimit4;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -676,8 +675,9 @@ static const symbol s_68[] = { 0xD9, 0x8A };
static int r_Normalize_pre(struct SN_env * z) { /* forwardmode */
int among_var;
{ int c1 = z->c; /* do, line 247 */
while(1) { /* repeat, line 247 */
int c2 = z->c;
/* repeat, line 247 */
while(1) { int c2 = z->c;
{ int c3 = z->c; /* or, line 311 */
z->bra = z->c; /* [, line 249 */
among_var = find_among(z, a_0, 144); /* substring, line 249 */
@ -976,8 +976,9 @@ static int r_Normalize_post(struct SN_env * z) { /* forwardmode */
z->c = c1;
}
{ int c2 = z->c; /* do, line 329 */
while(1) { /* repeat, line 329 */
int c3 = z->c;
/* repeat, line 329 */
while(1) { int c3 = z->c;
{ int c4 = z->c; /* or, line 338 */
z->bra = z->c; /* [, line 332 */
if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((124 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab4; /* substring, line 332 */
@ -1430,250 +1431,243 @@ extern int arabic_UTF_8_stem(struct SN_env * z) { /* forwardmode */
z->B[2] = 0; /* unset is_defined, line 495 */
{ int c1 = z->c; /* do, line 498 */
{ int ret = r_Checks1(z); /* call Checks1, line 498 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 501 */
{ int ret = r_Normalize_pre(z); /* call Normalize_pre, line 501 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 504 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 506 */
{ int m3 = z->l - z->c; (void)m3; /* or, line 520 */
if (!(z->B[1])) goto lab4; /* Boolean test is_verb, line 509 */
if (!(z->B[1])) goto lab2; /* Boolean test is_verb, line 509 */
{ int m4 = z->l - z->c; (void)m4; /* or, line 515 */
{ int i = 1;
while(1) { /* atleast, line 512 */
int m5 = z->l - z->c; (void)m5;
while(1) { int m5 = z->l - z->c; (void)m5;
{ int ret = r_Suffix_Verb_Step1(z); /* call Suffix_Verb_Step1, line 512 */
if (ret == 0) goto lab7;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
i--;
continue;
lab7:
lab5:
z->c = z->l - m5;
break;
}
if (i > 0) goto lab6;
if (i > 0) goto lab4;
}
{ int m6 = z->l - z->c; (void)m6; /* or, line 513 */
{ int ret = r_Suffix_Verb_Step2a(z); /* call Suffix_Verb_Step2a, line 513 */
if (ret == 0) goto lab9;
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
goto lab8;
lab9:
goto lab6;
lab7:
z->c = z->l - m6;
{ int ret = r_Suffix_Verb_Step2c(z); /* call Suffix_Verb_Step2c, line 513 */
if (ret == 0) goto lab10;
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
goto lab8;
lab10:
goto lab6;
lab8:
z->c = z->l - m6;
{ int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
if (ret < 0) goto lab6;
if (ret < 0) goto lab4;
z->c = ret; /* next, line 513 */
}
}
lab8:
goto lab5;
lab6:
goto lab3;
lab4:
z->c = z->l - m4;
{ int ret = r_Suffix_Verb_Step2b(z); /* call Suffix_Verb_Step2b, line 515 */
if (ret == 0) goto lab11;
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
goto lab5;
lab11:
goto lab3;
lab9:
z->c = z->l - m4;
{ int ret = r_Suffix_Verb_Step2a(z); /* call Suffix_Verb_Step2a, line 516 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab5:
goto lab3;
lab4:
lab3:
goto lab1;
lab2:
z->c = z->l - m3;
if (!(z->B[0])) goto lab12; /* Boolean test is_noun, line 521 */
if (!(z->B[0])) goto lab10; /* Boolean test is_noun, line 521 */
{ int m7 = z->l - z->c; (void)m7; /* try, line 524 */
{ int m8 = z->l - z->c; (void)m8; /* or, line 526 */
{ int ret = r_Suffix_Noun_Step2c2(z); /* call Suffix_Noun_Step2c2, line 525 */
if (ret == 0) goto lab15;
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
goto lab14;
lab15:
goto lab12;
lab13:
z->c = z->l - m8;
/* not, line 526 */
if (!(z->B[2])) goto lab17; /* Boolean test is_defined, line 526 */
goto lab16;
lab17:
if (!(z->B[2])) goto lab15; /* Boolean test is_defined, line 526 */
goto lab14;
lab15:
{ int ret = r_Suffix_Noun_Step1a(z); /* call Suffix_Noun_Step1a, line 526 */
if (ret == 0) goto lab16;
if (ret == 0) goto lab14;
if (ret < 0) return ret;
}
{ int m9 = z->l - z->c; (void)m9; /* or, line 528 */
{ int ret = r_Suffix_Noun_Step2a(z); /* call Suffix_Noun_Step2a, line 527 */
if (ret == 0) goto lab17;
if (ret < 0) return ret;
}
goto lab16;
lab17:
z->c = z->l - m9;
{ int ret = r_Suffix_Noun_Step2b(z); /* call Suffix_Noun_Step2b, line 528 */
if (ret == 0) goto lab18;
if (ret < 0) return ret;
}
goto lab16;
lab18:
z->c = z->l - m9;
{ int ret = r_Suffix_Noun_Step2c1(z); /* call Suffix_Noun_Step2c1, line 529 */
if (ret == 0) goto lab19;
if (ret < 0) return ret;
}
goto lab18;
goto lab16;
lab19:
z->c = z->l - m9;
{ int ret = r_Suffix_Noun_Step2b(z); /* call Suffix_Noun_Step2b, line 528 */
if (ret == 0) goto lab20;
if (ret < 0) return ret;
}
goto lab18;
lab20:
z->c = z->l - m9;
{ int ret = r_Suffix_Noun_Step2c1(z); /* call Suffix_Noun_Step2c1, line 529 */
if (ret == 0) goto lab21;
if (ret < 0) return ret;
}
goto lab18;
lab21:
z->c = z->l - m9;
{ int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
if (ret < 0) goto lab16;
if (ret < 0) goto lab14;
z->c = ret; /* next, line 530 */
}
}
lab18:
goto lab14;
lab16:
goto lab12;
lab14:
z->c = z->l - m8;
{ int ret = r_Suffix_Noun_Step1b(z); /* call Suffix_Noun_Step1b, line 531 */
if (ret == 0) goto lab22;
if (ret == 0) goto lab20;
if (ret < 0) return ret;
}
{ int m10 = z->l - z->c; (void)m10; /* or, line 533 */
{ int ret = r_Suffix_Noun_Step2a(z); /* call Suffix_Noun_Step2a, line 532 */
if (ret == 0) goto lab24;
if (ret < 0) return ret;
}
goto lab23;
lab24:
z->c = z->l - m10;
{ int ret = r_Suffix_Noun_Step2b(z); /* call Suffix_Noun_Step2b, line 533 */
if (ret == 0) goto lab25;
if (ret < 0) return ret;
}
goto lab23;
lab25:
z->c = z->l - m10;
{ int ret = r_Suffix_Noun_Step2c1(z); /* call Suffix_Noun_Step2c1, line 534 */
if (ret == 0) goto lab22;
if (ret < 0) return ret;
}
goto lab21;
lab22:
z->c = z->l - m10;
{ int ret = r_Suffix_Noun_Step2b(z); /* call Suffix_Noun_Step2b, line 533 */
if (ret == 0) goto lab23;
if (ret < 0) return ret;
}
goto lab21;
lab23:
z->c = z->l - m10;
{ int ret = r_Suffix_Noun_Step2c1(z); /* call Suffix_Noun_Step2c1, line 534 */
if (ret == 0) goto lab20;
if (ret < 0) return ret;
}
}
lab23:
goto lab14;
lab22:
lab21:
goto lab12;
lab20:
z->c = z->l - m8;
/* not, line 535 */
if (!(z->B[2])) goto lab27; /* Boolean test is_defined, line 535 */
goto lab26;
lab27:
if (!(z->B[2])) goto lab25; /* Boolean test is_defined, line 535 */
goto lab24;
lab25:
{ int ret = r_Suffix_Noun_Step2a(z); /* call Suffix_Noun_Step2a, line 535 */
if (ret == 0) goto lab26;
if (ret == 0) goto lab24;
if (ret < 0) return ret;
}
goto lab14;
lab26:
goto lab12;
lab24:
z->c = z->l - m8;
{ int ret = r_Suffix_Noun_Step2b(z); /* call Suffix_Noun_Step2b, line 536 */
if (ret == 0) { z->c = z->l - m7; goto lab13; }
if (ret == 0) { z->c = z->l - m7; goto lab11; }
if (ret < 0) return ret;
}
}
lab14:
lab13:
lab12:
lab11:
;
}
{ int ret = r_Suffix_Noun_Step3(z); /* call Suffix_Noun_Step3, line 538 */
if (ret == 0) goto lab12;
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
goto lab3;
lab12:
goto lab1;
lab10:
z->c = z->l - m3;
{ int ret = r_Suffix_All_alef_maqsura(z); /* call Suffix_All_alef_maqsura, line 544 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
z->c = z->lb;
{ int c11 = z->c; /* do, line 549 */
{ int c12 = z->c; /* try, line 550 */
{ int ret = r_Prefix_Step1(z); /* call Prefix_Step1, line 550 */
if (ret == 0) { z->c = c12; goto lab29; }
if (ret == 0) { z->c = c12; goto lab27; }
if (ret < 0) return ret;
}
lab29:
lab27:
;
}
{ int c13 = z->c; /* try, line 551 */
{ int ret = r_Prefix_Step2(z); /* call Prefix_Step2, line 551 */
if (ret == 0) { z->c = c13; goto lab30; }
if (ret == 0) { z->c = c13; goto lab28; }
if (ret < 0) return ret;
}
lab30:
lab28:
;
}
{ int c14 = z->c; /* or, line 553 */
{ int ret = r_Prefix_Step3a_Noun(z); /* call Prefix_Step3a_Noun, line 552 */
if (ret == 0) goto lab32;
if (ret == 0) goto lab30;
if (ret < 0) return ret;
}
goto lab31;
lab32:
goto lab29;
lab30:
z->c = c14;
if (!(z->B[0])) goto lab33; /* Boolean test is_noun, line 553 */
if (!(z->B[0])) goto lab31; /* Boolean test is_noun, line 553 */
{ int ret = r_Prefix_Step3b_Noun(z); /* call Prefix_Step3b_Noun, line 553 */
if (ret == 0) goto lab33;
if (ret == 0) goto lab31;
if (ret < 0) return ret;
}
goto lab31;
lab33:
goto lab29;
lab31:
z->c = c14;
if (!(z->B[1])) goto lab28; /* Boolean test is_verb, line 554 */
if (!(z->B[1])) goto lab26; /* Boolean test is_verb, line 554 */
{ int c15 = z->c; /* try, line 554 */
{ int ret = r_Prefix_Step3_Verb(z); /* call Prefix_Step3_Verb, line 554 */
if (ret == 0) { z->c = c15; goto lab34; }
if (ret == 0) { z->c = c15; goto lab32; }
if (ret < 0) return ret;
}
lab34:
lab32:
;
}
{ int ret = r_Prefix_Step4_Verb(z); /* call Prefix_Step4_Verb, line 554 */
if (ret == 0) goto lab28;
if (ret == 0) goto lab26;
if (ret < 0) return ret;
}
}
lab31:
lab28:
lab29:
lab26:
z->c = c11;
}
/* do, line 559 */
{ int ret = r_Normalize_post(z); /* call Normalize_post, line 559 */
if (ret == 0) goto lab35;
if (ret < 0) return ret;
}
lab35:
return 1;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -243,10 +242,8 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 72 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 72 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m3;
}
break;
@ -281,44 +278,34 @@ static int r_undouble(struct SN_env * z) { /* backwardmode */
extern int danish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 86 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 86 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 87 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 88 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 88 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 89 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 89 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 90 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 90 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 91 */
{ int ret = r_undouble(z); /* call undouble, line 91 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -148,8 +147,9 @@ static const symbol s_14[] = { 'i', 'g' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
{ int c_test1 = z->c; /* test, line 42 */
while(1) { /* repeat, line 42 */
int c2 = z->c;
/* repeat, line 42 */
while(1) { int c2 = z->c;
z->bra = z->c; /* [, line 43 */
if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((340306450 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else /* substring, line 43 */
among_var = find_among(z, a_0, 11);
@ -206,8 +206,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
lab1:
;
}
while(1) { /* repeat, line 58 */
int c4 = z->c;
/* repeat, line 58 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 58 */
int c5 = z->c;
if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab3; /* grouping v, line 59 */
@ -282,8 +283,9 @@ lab0:
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 75 */
int c1 = z->c;
/* repeat, line 75 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 77 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else /* substring, line 77 */
among_var = find_among(z, a_1, 3);
@ -429,50 +431,48 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 120 */
{ int ret = r_e_ending(z); /* call e_ending, line 120 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 122 */
z->ket = z->c; /* [, line 122 */
if (!(eq_s_b(z, 4, s_12))) goto lab2; /* literal, line 122 */
if (!(eq_s_b(z, 4, s_12))) goto lab1; /* literal, line 122 */
z->bra = z->c; /* ], line 122 */
{ int ret = r_R2(z); /* call R2, line 122 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
{ int m4 = z->l - z->c; (void)m4; /* not, line 122 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3; /* literal, line 122 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2; /* literal, line 122 */
z->c--;
goto lab2;
lab3:
goto lab1;
lab2:
z->c = z->l - m4;
}
{ int ret = slice_del(z); /* delete, line 122 */
if (ret < 0) return ret;
}
z->ket = z->c; /* [, line 123 */
if (!(eq_s_b(z, 2, s_13))) goto lab2; /* literal, line 123 */
if (!(eq_s_b(z, 2, s_13))) goto lab1; /* literal, line 123 */
z->bra = z->c; /* ], line 123 */
{ int ret = r_en_ending(z); /* call en_ending, line 123 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab2:
lab1:
z->c = z->l - m3;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 126 */
z->ket = z->c; /* [, line 127 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4; /* substring, line 127 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 127 */
among_var = find_among_b(z, a_4, 6);
if (!(among_var)) goto lab4;
if (!(among_var)) goto lab3;
z->bra = z->c; /* ], line 127 */
switch (among_var) { /* among, line 127 */
case 1:
{ int ret = r_R2(z); /* call R2, line 129 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 129 */
@ -480,42 +480,42 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
}
{ int m6 = z->l - z->c; (void)m6; /* or, line 130 */
z->ket = z->c; /* [, line 130 */
if (!(eq_s_b(z, 2, s_14))) goto lab6; /* literal, line 130 */
if (!(eq_s_b(z, 2, s_14))) goto lab5; /* literal, line 130 */
z->bra = z->c; /* ], line 130 */
{ int ret = r_R2(z); /* call R2, line 130 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
{ int m7 = z->l - z->c; (void)m7; /* not, line 130 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 130 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6; /* literal, line 130 */
z->c--;
goto lab6;
lab7:
goto lab5;
lab6:
z->c = z->l - m7;
}
{ int ret = slice_del(z); /* delete, line 130 */
if (ret < 0) return ret;
}
goto lab5;
lab6:
goto lab4;
lab5:
z->c = z->l - m6;
{ int ret = r_undouble(z); /* call undouble, line 130 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
}
lab5:
lab4:
break;
case 2:
{ int ret = r_R2(z); /* call R2, line 133 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int m8 = z->l - z->c; (void)m8; /* not, line 133 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 133 */
if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 133 */
z->c--;
goto lab4;
lab8:
goto lab3;
lab7:
z->c = z->l - m8;
}
{ int ret = slice_del(z); /* delete, line 133 */
@ -524,20 +524,20 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
break;
case 3:
{ int ret = r_R2(z); /* call R2, line 136 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 136 */
if (ret < 0) return ret;
}
{ int ret = r_e_ending(z); /* call e_ending, line 136 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
break;
case 4:
{ int ret = r_R2(z); /* call R2, line 139 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 139 */
@ -546,36 +546,36 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
break;
case 5:
{ int ret = r_R2(z); /* call R2, line 142 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */
if (!(z->B[0])) goto lab3; /* Boolean test e_found, line 142 */
{ int ret = slice_del(z); /* delete, line 142 */
if (ret < 0) return ret;
}
break;
}
lab4:
lab3:
z->c = z->l - m5;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 146 */
if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab9; /* non v_I, line 147 */
if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab8; /* non v_I, line 147 */
{ int m_test10 = z->l - z->c; /* test, line 148 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9; /* among, line 149 */
if (!(find_among_b(z, a_5, 4))) goto lab9;
if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab9; /* non v, line 150 */
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab8; /* among, line 149 */
if (!(find_among_b(z, a_5, 4))) goto lab8;
if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab8; /* non v, line 150 */
z->c = z->l - m_test10;
}
z->ket = z->c; /* [, line 152 */
{ int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
if (ret < 0) goto lab9;
if (ret < 0) goto lab8;
z->c = ret; /* next, line 152 */
}
z->bra = z->c; /* ], line 152 */
{ int ret = slice_del(z); /* delete, line 152 */
if (ret < 0) return ret;
}
lab9:
lab8:
z->c = z->l - m9;
}
return 1;
@ -584,35 +584,27 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
extern int dutch_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 159 */
{ int ret = r_prelude(z); /* call prelude, line 159 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
{ int c2 = z->c; /* do, line 160 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 160 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
z->lb = z->c; z->c = z->l; /* backwards, line 161 */
/* do, line 162 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 162 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->lb;
{ int c3 = z->c; /* do, line 163 */
{ int ret = r_postlude(z); /* call postlude, line 163 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = c3;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -383,8 +382,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
z->c = c2;
}
{ int c3 = z->c; /* do, line 29 */
while(1) { /* repeat, line 29 */
int c4 = z->c;
/* repeat, line 29 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 29 */
int c5 = z->c;
if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab4; /* grouping v, line 29 */
@ -946,8 +946,9 @@ static int r_exception1(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
if (!(z->B[0])) return 0; /* Boolean test Y_found, line 203 */
while(1) { /* repeat, line 203 */
int c1 = z->c;
/* repeat, line 203 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 203 */
int c2 = z->c;
z->bra = z->c; /* [, line 203 */
@ -997,91 +998,71 @@ extern int english_UTF_8_stem(struct SN_env * z) { /* forwardmode */
z->c = c1;
/* do, line 209 */
{ int ret = r_prelude(z); /* call prelude, line 209 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
/* do, line 210 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 210 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->lb = z->c; z->c = z->l; /* backwards, line 211 */
{ int m3 = z->l - z->c; (void)m3; /* do, line 213 */
{ int ret = r_Step_1a(z); /* call Step_1a, line 213 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* or, line 215 */
{ int ret = r_exception2(z); /* call exception2, line 215 */
if (ret == 0) goto lab8;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab7;
lab8:
goto lab4;
lab5:
z->c = z->l - m4;
{ int m5 = z->l - z->c; (void)m5; /* do, line 217 */
{ int ret = r_Step_1b(z); /* call Step_1b, line 217 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m5;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 218 */
{ int ret = r_Step_1c(z); /* call Step_1c, line 218 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
lab10:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 220 */
{ int ret = r_Step_2(z); /* call Step_2, line 220 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 221 */
{ int ret = r_Step_3(z); /* call Step_3, line 221 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 222 */
{ int ret = r_Step_4(z); /* call Step_4, line 222 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 224 */
{ int ret = r_Step_5(z); /* call Step_5, line 224 */
if (ret == 0) goto lab14;
if (ret < 0) return ret;
}
lab14:
z->c = z->l - m10;
}
}
lab7:
lab4:
z->c = z->lb;
{ int c11 = z->c; /* do, line 227 */
{ int ret = r_postlude(z); /* call postlude, line 227 */
if (ret == 0) goto lab15;
if (ret < 0) return ret;
}
lab15:
z->c = c11;
}
}

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -659,10 +658,8 @@ static int r_tidy(struct SN_env * z) { /* backwardmode */
extern int finnish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 186 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 186 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->B[0] = 0; /* unset ending_removed, line 187 */
@ -670,63 +667,49 @@ extern int finnish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m2 = z->l - z->c; (void)m2; /* do, line 189 */
{ int ret = r_particle_etc(z); /* call particle_etc, line 189 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 190 */
{ int ret = r_possessive(z); /* call possessive, line 190 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 191 */
{ int ret = r_case_ending(z); /* call case_ending, line 191 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 192 */
{ int ret = r_other_endings(z); /* call other_endings, line 192 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
/* or, line 193 */
if (!(z->B[0])) goto lab6; /* Boolean test ending_removed, line 193 */
if (!(z->B[0])) goto lab1; /* Boolean test ending_removed, line 193 */
{ int m6 = z->l - z->c; (void)m6; /* do, line 193 */
{ int ret = r_i_plural(z); /* call i_plural, line 193 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m6;
}
goto lab5;
lab6:
goto lab0;
lab1:
{ int m7 = z->l - z->c; (void)m7; /* do, line 193 */
{ int ret = r_t_plural(z); /* call t_plural, line 193 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m7;
}
lab5:
lab0:
{ int m8 = z->l - z->c; (void)m8; /* do, line 194 */
{ int ret = r_tidy(z); /* call tidy, line 194 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m8;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -416,8 +415,9 @@ static const symbol s_38[] = { 0xC3, 0xA7 };
static const symbol s_39[] = { 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
while(1) { /* repeat, line 38 */
int c1 = z->c;
/* repeat, line 38 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 38 */
int c2 = z->c;
{ int c3 = z->c; /* or, line 44 */
@ -578,8 +578,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 79 */
int c1 = z->c;
/* repeat, line 79 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 81 */
if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else /* substring, line 81 */
among_var = find_among(z, a_1, 7);
@ -1137,8 +1138,7 @@ static int r_un_double(struct SN_env * z) { /* backwardmode */
static int r_un_accent(struct SN_env * z) { /* backwardmode */
{ int i = 1;
while(1) { /* atleast, line 222 */
if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */
while(1) { if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */
i--;
continue;
lab0:
@ -1165,18 +1165,14 @@ lab1:
extern int french_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 229 */
{ int ret = r_prelude(z); /* call prelude, line 229 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 230 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 230 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 231 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 233 */
@ -1184,84 +1180,78 @@ lab1:
{ int m4 = z->l - z->c; (void)m4; /* and, line 239 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 235 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 235 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
goto lab5;
lab6:
z->c = z->l - m5;
{ int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
goto lab5;
lab7:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m5;
{ int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab3;
lab5:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab5:
lab3:
z->c = z->l - m4;
{ int m6 = z->l - z->c; (void)m6; /* try, line 240 */
z->ket = z->c; /* [, line 240 */
{ int m7 = z->l - z->c; (void)m7; /* or, line 240 */
if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 240 */
if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8; /* literal, line 240 */
z->c--;
z->bra = z->c; /* ], line 240 */
{ int ret = slice_from_s(z, 1, s_37); /* <-, line 240 */
if (ret < 0) return ret;
}
goto lab9;
lab10:
goto lab7;
lab8:
z->c = z->l - m7;
if (!(eq_s_b(z, 2, s_38))) { z->c = z->l - m6; goto lab8; } /* literal, line 241 */
if (!(eq_s_b(z, 2, s_38))) { z->c = z->l - m6; goto lab6; } /* literal, line 241 */
z->bra = z->c; /* ], line 241 */
{ int ret = slice_from_s(z, 1, s_39); /* <-, line 241 */
if (ret < 0) return ret;
}
}
lab9:
lab8:
lab7:
lab6:
;
}
}
goto lab3;
lab4:
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 244 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 249 */
{ int ret = r_un_double(z); /* call un_double, line 249 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 250 */
{ int ret = r_un_accent(z); /* call un_accent, line 250 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m9;
}
z->c = z->lb;
{ int c10 = z->c; /* do, line 252 */
{ int ret = r_postlude(z); /* call postlude, line 252 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = c10;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -127,8 +126,9 @@ static const symbol s_11[] = { 'e', 'n' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
{ int c_test1 = z->c; /* test, line 35 */
while(1) { /* repeat, line 35 */
int c2 = z->c;
/* repeat, line 35 */
while(1) { int c2 = z->c;
{ int c3 = z->c; /* or, line 38 */
z->bra = z->c; /* [, line 37 */
if (!(eq_s(z, 2, s_0))) goto lab2; /* literal, line 37 */
@ -152,8 +152,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
}
z->c = c_test1;
}
while(1) { /* repeat, line 41 */
int c4 = z->c;
/* repeat, line 41 */
while(1) { int c4 = z->c;
while(1) { /* goto, line 41 */
int c5 = z->c;
if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab4; /* grouping v, line 42 */
@ -237,8 +238,9 @@ lab0:
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 60 */
int c1 = z->c;
/* repeat, line 60 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 62 */
among_var = find_among(z, a_0, 6); /* substring, line 62 */
if (!(among_var)) goto lab0;
@ -469,35 +471,27 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
extern int german_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 134 */
{ int ret = r_prelude(z); /* call prelude, line 134 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
{ int c2 = z->c; /* do, line 135 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 135 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
z->lb = z->c; z->c = z->l; /* backwards, line 136 */
/* do, line 137 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 137 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->lb;
{ int c3 = z->c; /* do, line 138 */
{ int ret = r_postlude(z); /* call postlude, line 138 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = c3;
}
return 1;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,332 @@
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
static int r_CONSONANT(struct SN_env * z);
#ifdef __cplusplus
extern "C" {
#endif
extern int hindi_UTF_8_stem(struct SN_env * z);
#ifdef __cplusplus
}
#endif
#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);
#ifdef __cplusplus
}
#endif
static const symbol s_0_0[3] = { 0xE0, 0xA5, 0x80 };
static const symbol s_0_1[12] = { 0xE0, 0xA5, 0x82, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_2[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_3[12] = { 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_4[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_5[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_6[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_7[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_8[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_9[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_10[9] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_11[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_12[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_13[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_14[9] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_15[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_16[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
static const symbol s_0_17[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
static const symbol s_0_18[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
static const symbol s_0_19[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
static const symbol s_0_20[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
static const symbol s_0_21[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x80 };
static const symbol s_0_22[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x80 };
static const symbol s_0_23[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x81 };
static const symbol s_0_24[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
static const symbol s_0_25[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
static const symbol s_0_26[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
static const symbol s_0_27[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
static const symbol s_0_28[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
static const symbol s_0_29[3] = { 0xE0, 0xA5, 0x81 };
static const symbol s_0_30[6] = { 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
static const symbol s_0_31[9] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
static const symbol s_0_32[12] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
static const symbol s_0_33[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
static const symbol s_0_34[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
static const symbol s_0_35[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
static const symbol s_0_36[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
static const symbol s_0_37[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
static const symbol s_0_38[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82 };
static const symbol s_0_39[6] = { 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
static const symbol s_0_40[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
static const symbol s_0_41[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
static const symbol s_0_42[6] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
static const symbol s_0_43[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
static const symbol s_0_44[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
static const symbol s_0_45[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
static const symbol s_0_46[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
static const symbol s_0_47[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_48[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_49[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_50[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_51[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_52[12] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_53[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_54[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_55[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
static const symbol s_0_56[6] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_57[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_58[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_59[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_60[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_61[12] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_62[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_63[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_64[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
static const symbol s_0_65[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
static const symbol s_0_66[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
static const symbol s_0_67[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
static const symbol s_0_68[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
static const symbol s_0_69[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
static const symbol s_0_70[3] = { 0xE0, 0xA5, 0x82 };
static const symbol s_0_71[3] = { 0xE0, 0xA4, 0x85 };
static const symbol s_0_72[3] = { 0xE0, 0xA4, 0x86 };
static const symbol s_0_73[3] = { 0xE0, 0xA4, 0x87 };
static const symbol s_0_74[3] = { 0xE0, 0xA5, 0x87 };
static const symbol s_0_75[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_76[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_77[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_78[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_79[9] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_80[9] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_81[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_82[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
static const symbol s_0_83[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
static const symbol s_0_84[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
static const symbol s_0_85[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
static const symbol s_0_86[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
static const symbol s_0_87[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
static const symbol s_0_88[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
static const symbol s_0_89[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
static const symbol s_0_90[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
static const symbol s_0_91[3] = { 0xE0, 0xA4, 0x88 };
static const symbol s_0_92[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x88 };
static const symbol s_0_93[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88 };
static const symbol s_0_94[3] = { 0xE0, 0xA4, 0x89 };
static const symbol s_0_95[3] = { 0xE0, 0xA4, 0x8A };
static const symbol s_0_96[3] = { 0xE0, 0xA5, 0x8B };
static const symbol s_0_97[3] = { 0xE0, 0xA5, 0x8D };
static const symbol s_0_98[3] = { 0xE0, 0xA4, 0x8F };
static const symbol s_0_99[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F };
static const symbol s_0_100[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
static const symbol s_0_101[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
static const symbol s_0_102[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
static const symbol s_0_103[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F };
static const symbol s_0_104[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F };
static const symbol s_0_105[3] = { 0xE0, 0xA4, 0x93 };
static const symbol s_0_106[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93 };
static const symbol s_0_107[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93 };
static const symbol s_0_108[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
static const symbol s_0_109[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
static const symbol s_0_110[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
static const symbol s_0_111[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
static const symbol s_0_112[3] = { 0xE0, 0xA4, 0xBE };
static const symbol s_0_113[12] = { 0xE0, 0xA5, 0x82, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_114[12] = { 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_115[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_116[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_117[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_118[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_119[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_120[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
static const symbol s_0_121[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
static const symbol s_0_122[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
static const symbol s_0_123[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
static const symbol s_0_124[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
static const symbol s_0_125[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
static const symbol s_0_126[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
static const symbol s_0_127[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
static const symbol s_0_128[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
static const symbol s_0_129[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
static const symbol s_0_130[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
static const symbol s_0_131[3] = { 0xE0, 0xA4, 0xBF };
static const struct among a_0[132] =
{
/* 0 */ { 3, s_0_0, -1, -1, 0},
/* 1 */ { 12, s_0_1, 0, -1, 0},
/* 2 */ { 12, s_0_2, 0, -1, 0},
/* 3 */ { 12, s_0_3, 0, -1, 0},
/* 4 */ { 15, s_0_4, 3, -1, 0},
/* 5 */ { 15, s_0_5, 3, -1, 0},
/* 6 */ { 12, s_0_6, 0, -1, 0},
/* 7 */ { 15, s_0_7, 6, -1, 0},
/* 8 */ { 15, s_0_8, 6, -1, 0},
/* 9 */ { 9, s_0_9, 0, -1, 0},
/* 10 */ { 9, s_0_10, 0, -1, 0},
/* 11 */ { 9, s_0_11, 0, -1, 0},
/* 12 */ { 12, s_0_12, 11, -1, 0},
/* 13 */ { 12, s_0_13, 11, -1, 0},
/* 14 */ { 9, s_0_14, 0, -1, 0},
/* 15 */ { 12, s_0_15, 14, -1, 0},
/* 16 */ { 12, s_0_16, 14, -1, 0},
/* 17 */ { 6, s_0_17, 0, -1, r_CONSONANT},
/* 18 */ { 9, s_0_18, 17, -1, 0},
/* 19 */ { 9, s_0_19, 17, -1, 0},
/* 20 */ { 9, s_0_20, 17, -1, 0},
/* 21 */ { 6, s_0_21, 0, -1, r_CONSONANT},
/* 22 */ { 9, s_0_22, 21, -1, 0},
/* 23 */ { 6, s_0_23, -1, -1, 0},
/* 24 */ { 6, s_0_24, -1, -1, 0},
/* 25 */ { 12, s_0_25, 24, -1, 0},
/* 26 */ { 15, s_0_26, 25, -1, 0},
/* 27 */ { 15, s_0_27, 25, -1, 0},
/* 28 */ { 12, s_0_28, 24, -1, 0},
/* 29 */ { 3, s_0_29, -1, -1, 0},
/* 30 */ { 6, s_0_30, -1, -1, 0},
/* 31 */ { 9, s_0_31, 30, -1, r_CONSONANT},
/* 32 */ { 12, s_0_32, 31, -1, 0},
/* 33 */ { 12, s_0_33, 31, -1, 0},
/* 34 */ { 12, s_0_34, 31, -1, 0},
/* 35 */ { 6, s_0_35, -1, -1, 0},
/* 36 */ { 9, s_0_36, 35, -1, 0},
/* 37 */ { 9, s_0_37, 35, -1, 0},
/* 38 */ { 6, s_0_38, -1, -1, 0},
/* 39 */ { 6, s_0_39, -1, -1, 0},
/* 40 */ { 9, s_0_40, 39, -1, 0},
/* 41 */ { 9, s_0_41, 39, -1, 0},
/* 42 */ { 6, s_0_42, -1, -1, 0},
/* 43 */ { 12, s_0_43, 42, -1, 0},
/* 44 */ { 15, s_0_44, 43, -1, 0},
/* 45 */ { 15, s_0_45, 43, -1, 0},
/* 46 */ { 12, s_0_46, 42, -1, 0},
/* 47 */ { 6, s_0_47, -1, -1, 0},
/* 48 */ { 9, s_0_48, 47, -1, 0},
/* 49 */ { 9, s_0_49, 47, -1, 0},
/* 50 */ { 9, s_0_50, 47, -1, 0},
/* 51 */ { 9, s_0_51, 47, -1, 0},
/* 52 */ { 12, s_0_52, 51, -1, r_CONSONANT},
/* 53 */ { 15, s_0_53, 52, -1, 0},
/* 54 */ { 12, s_0_54, 51, -1, r_CONSONANT},
/* 55 */ { 15, s_0_55, 54, -1, 0},
/* 56 */ { 6, s_0_56, -1, -1, 0},
/* 57 */ { 9, s_0_57, 56, -1, 0},
/* 58 */ { 9, s_0_58, 56, -1, 0},
/* 59 */ { 9, s_0_59, 56, -1, 0},
/* 60 */ { 9, s_0_60, 56, -1, 0},
/* 61 */ { 12, s_0_61, 60, -1, r_CONSONANT},
/* 62 */ { 15, s_0_62, 61, -1, 0},
/* 63 */ { 12, s_0_63, 60, -1, r_CONSONANT},
/* 64 */ { 15, s_0_64, 63, -1, 0},
/* 65 */ { 6, s_0_65, -1, -1, 0},
/* 66 */ { 12, s_0_66, 65, -1, 0},
/* 67 */ { 15, s_0_67, 66, -1, 0},
/* 68 */ { 15, s_0_68, 66, -1, 0},
/* 69 */ { 12, s_0_69, 65, -1, 0},
/* 70 */ { 3, s_0_70, -1, -1, 0},
/* 71 */ { 3, s_0_71, -1, -1, 0},
/* 72 */ { 3, s_0_72, -1, -1, 0},
/* 73 */ { 3, s_0_73, -1, -1, 0},
/* 74 */ { 3, s_0_74, -1, -1, 0},
/* 75 */ { 12, s_0_75, 74, -1, 0},
/* 76 */ { 12, s_0_76, 74, -1, 0},
/* 77 */ { 15, s_0_77, 76, -1, 0},
/* 78 */ { 15, s_0_78, 76, -1, 0},
/* 79 */ { 9, s_0_79, 74, -1, 0},
/* 80 */ { 9, s_0_80, 74, -1, 0},
/* 81 */ { 12, s_0_81, 80, -1, 0},
/* 82 */ { 12, s_0_82, 80, -1, 0},
/* 83 */ { 6, s_0_83, 74, -1, r_CONSONANT},
/* 84 */ { 9, s_0_84, 83, -1, 0},
/* 85 */ { 9, s_0_85, 83, -1, 0},
/* 86 */ { 9, s_0_86, 83, -1, 0},
/* 87 */ { 6, s_0_87, 74, -1, r_CONSONANT},
/* 88 */ { 9, s_0_88, 87, -1, 0},
/* 89 */ { 9, s_0_89, 87, -1, 0},
/* 90 */ { 9, s_0_90, 87, -1, 0},
/* 91 */ { 3, s_0_91, -1, -1, 0},
/* 92 */ { 6, s_0_92, 91, -1, 0},
/* 93 */ { 6, s_0_93, 91, -1, 0},
/* 94 */ { 3, s_0_94, -1, -1, 0},
/* 95 */ { 3, s_0_95, -1, -1, 0},
/* 96 */ { 3, s_0_96, -1, -1, 0},
/* 97 */ { 3, s_0_97, -1, -1, 0},
/* 98 */ { 3, s_0_98, -1, -1, 0},
/* 99 */ { 6, s_0_99, 98, -1, 0},
/*100 */ { 6, s_0_100, 98, -1, 0},
/*101 */ { 9, s_0_101, 100, -1, 0},
/*102 */ { 9, s_0_102, 100, -1, 0},
/*103 */ { 6, s_0_103, 98, -1, 0},
/*104 */ { 6, s_0_104, 98, -1, 0},
/*105 */ { 3, s_0_105, -1, -1, 0},
/*106 */ { 6, s_0_106, 105, -1, 0},
/*107 */ { 6, s_0_107, 105, -1, 0},
/*108 */ { 6, s_0_108, -1, -1, r_CONSONANT},
/*109 */ { 9, s_0_109, 108, -1, 0},
/*110 */ { 9, s_0_110, 108, -1, 0},
/*111 */ { 9, s_0_111, 108, -1, 0},
/*112 */ { 3, s_0_112, -1, -1, 0},
/*113 */ { 12, s_0_113, 112, -1, 0},
/*114 */ { 12, s_0_114, 112, -1, 0},
/*115 */ { 15, s_0_115, 114, -1, 0},
/*116 */ { 15, s_0_116, 114, -1, 0},
/*117 */ { 9, s_0_117, 112, -1, 0},
/*118 */ { 9, s_0_118, 112, -1, 0},
/*119 */ { 12, s_0_119, 118, -1, 0},
/*120 */ { 12, s_0_120, 118, -1, 0},
/*121 */ { 6, s_0_121, 112, -1, r_CONSONANT},
/*122 */ { 9, s_0_122, 121, -1, 0},
/*123 */ { 9, s_0_123, 121, -1, 0},
/*124 */ { 9, s_0_124, 121, -1, 0},
/*125 */ { 6, s_0_125, 112, -1, r_CONSONANT},
/*126 */ { 9, s_0_126, 125, -1, 0},
/*127 */ { 9, s_0_127, 125, -1, 0},
/*128 */ { 9, s_0_128, 125, -1, 0},
/*129 */ { 9, s_0_129, 112, -1, 0},
/*130 */ { 9, s_0_130, 112, -1, 0},
/*131 */ { 3, s_0_131, -1, -1, 0}
};
static const unsigned char g_consonant[] = { 255, 255, 255, 255, 159, 0, 0, 0, 248, 7 };
static int r_CONSONANT(struct SN_env * z) { /* backwardmode */
if (in_grouping_b_U(z, g_consonant, 2325, 2399, 0)) return 0; /* grouping consonant, line 129 */
return 1;
}
extern int hindi_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c_test1 = z->c; /* test, line 132 */
{ int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
if (ret < 0) return 0;
z->c = ret; /* next, line 132 */
}
z->I[0] = z->c; /* setmark p, line 132 */
z->c = c_test1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 133 */
{ int mlimit2; /* setlimit, line 139 */
if (z->c < z->I[0]) return 0;
mlimit2 = z->lb; z->lb = z->I[0];
z->ket = z->c; /* [, line 139 */
if (!(find_among_b(z, a_0, 132))) { z->lb = mlimit2; return 0; } /* substring, line 139 */
z->bra = z->c; /* ], line 139 */
z->lb = mlimit2;
}
{ int ret = slice_del(z); /* delete, line 321 */
if (ret < 0) return ret;
}
z->c = z->lb;
return 1;
}
extern struct SN_env * hindi_UTF_8_create_env(void) { return SN_create_env(0, 1, 0); }
extern void hindi_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -799,84 +798,64 @@ static int r_plur_owner(struct SN_env * z) { /* backwardmode */
extern int hungarian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 229 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 229 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 230 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 231 */
{ int ret = r_instrum(z); /* call instrum, line 231 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 232 */
{ int ret = r_case(z); /* call case, line 232 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 233 */
{ int ret = r_case_special(z); /* call case_special, line 233 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 234 */
{ int ret = r_case_other(z); /* call case_other, line 234 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m5;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 235 */
{ int ret = r_factive(z); /* call factive, line 235 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 236 */
{ int ret = r_owned(z); /* call owned, line 236 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 237 */
{ int ret = r_sing_owner(z); /* call sing_owner, line 237 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 238 */
{ int ret = r_plur_owner(z); /* call plur_owner, line 238 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 239 */
{ int ret = r_plural(z); /* call plural, line 239 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m10;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -314,8 +313,9 @@ static int r_remove_second_order_prefix(struct SN_env * z) { /* forwardmode */
extern int indonesian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
z->I[0] = 0; /* $measure = <integer expression>, line 172 */
{ int c1 = z->c; /* do, line 173 */
while(1) { /* repeat, line 173 */
int c2 = z->c;
/* repeat, line 173 */
while(1) { int c2 = z->c;
{ /* gopast */ /* grouping vowel, line 173 */
int ret = out_grouping_U(z, g_vowel, 97, 117, 1);
if (ret < 0) goto lab1;
@ -335,19 +335,15 @@ extern int indonesian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m3 = z->l - z->c; (void)m3; /* do, line 177 */
{ int ret = r_remove_particle(z); /* call remove_particle, line 177 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
if (!(z->I[0] > 2)) return 0; /* $(<integer expression> > <integer expression>), line 178 */
{ int m4 = z->l - z->c; (void)m4; /* do, line 179 */
{ int ret = r_remove_possessive_pronoun(z); /* call remove_possessive_pronoun, line 179 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;
@ -355,56 +351,54 @@ extern int indonesian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c5 = z->c; /* or, line 188 */
{ int c_test6 = z->c; /* test, line 182 */
{ int ret = r_remove_first_order_prefix(z); /* call remove_first_order_prefix, line 183 */
if (ret == 0) goto lab5;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
{ int c7 = z->c; /* do, line 184 */
{ int c_test8 = z->c; /* test, line 185 */
if (!(z->I[0] > 2)) goto lab6; /* $(<integer expression> > <integer expression>), line 185 */
if (!(z->I[0] > 2)) goto lab4; /* $(<integer expression> > <integer expression>), line 185 */
z->lb = z->c; z->c = z->l; /* backwards, line 185 */
{ int ret = r_remove_suffix(z); /* call remove_suffix, line 185 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
z->c = z->lb;
z->c = c_test8;
}
if (!(z->I[0] > 2)) goto lab6; /* $(<integer expression> > <integer expression>), line 186 */
if (!(z->I[0] > 2)) goto lab4; /* $(<integer expression> > <integer expression>), line 186 */
{ int ret = r_remove_second_order_prefix(z); /* call remove_second_order_prefix, line 186 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab6:
lab4:
z->c = c7;
}
z->c = c_test6;
}
goto lab4;
lab5:
goto lab2;
lab3:
z->c = c5;
{ int c9 = z->c; /* do, line 189 */
{ int ret = r_remove_second_order_prefix(z); /* call remove_second_order_prefix, line 189 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c9;
}
{ int c10 = z->c; /* do, line 190 */
if (!(z->I[0] > 2)) goto lab8; /* $(<integer expression> > <integer expression>), line 190 */
if (!(z->I[0] > 2)) goto lab5; /* $(<integer expression> > <integer expression>), line 190 */
z->lb = z->c; z->c = z->l; /* backwards, line 190 */
{ int ret = r_remove_suffix(z); /* call remove_suffix, line 190 */
if (ret == 0) goto lab8;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
z->c = z->lb;
lab8:
lab5:
z->c = c10;
}
}
lab4:
lab2:
return 1;
}

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -442,42 +441,32 @@ static int r_verb_sfx(struct SN_env * z) { /* backwardmode */
extern int irish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 144 */
{ int ret = r_initial_morph(z); /* call initial_morph, line 144 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 145 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 145 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 146 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 147 */
{ int ret = r_noun_sfx(z); /* call noun_sfx, line 147 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 148 */
{ int ret = r_deriv(z); /* call deriv, line 148 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 149 */
{ int ret = r_verb_sfx(z); /* call verb_sfx, line 149 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -492,8 +491,9 @@ static const symbol s_17[] = { 'i', 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
{ int c_test1 = z->c; /* test, line 35 */
while(1) { /* repeat, line 35 */
int c2 = z->c;
/* repeat, line 35 */
while(1) { int c2 = z->c;
z->bra = z->c; /* [, line 36 */
among_var = find_among(z, a_0, 7); /* substring, line 36 */
if (!(among_var)) goto lab0;
@ -543,8 +543,9 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */
}
z->c = c_test1;
}
while(1) { /* repeat, line 46 */
int c3 = z->c;
/* repeat, line 46 */
while(1) { int c3 = z->c;
while(1) { /* goto, line 46 */
int c4 = z->c;
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 47 */
@ -670,8 +671,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 70 */
int c1 = z->c;
/* repeat, line 70 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 72 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else /* substring, line 72 */
among_var = find_among(z, a_1, 3);
@ -975,61 +977,51 @@ static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */
extern int italian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 182 */
{ int ret = r_prelude(z); /* call prelude, line 182 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 183 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 183 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 184 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 185 */
{ int ret = r_attached_pronoun(z); /* call attached_pronoun, line 185 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 186 */
{ int m4 = z->l - z->c; (void)m4; /* or, line 186 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 186 */
if (ret == 0) goto lab5;
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
goto lab4;
lab5:
goto lab1;
lab2:
z->c = z->l - m4;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 186 */
if (ret == 0) goto lab3;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab4:
lab3:
lab1:
lab0:
z->c = z->l - m3;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 187 */
{ int ret = r_vowel_suffix(z); /* call vowel_suffix, line 187 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m5;
}
z->c = z->lb;
{ int c6 = z->c; /* do, line 189 */
{ int ret = r_postlude(z); /* call postlude, line 189 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c6;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -652,8 +651,9 @@ static int r_step1(struct SN_env * z) { /* backwardmode */
}
static int r_step2(struct SN_env * z) { /* backwardmode */
while(1) { /* repeat, line 232 */
int m1 = z->l - z->c; (void)m1;
/* repeat, line 232 */
while(1) { int m1 = z->l - z->c; (void)m1;
{ int mlimit2; /* setlimit, line 233 */
if (z->c < z->I[0]) goto lab0;
@ -794,50 +794,38 @@ extern int lithuanian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m4 = z->l - z->c; (void)m4; /* do, line 365 */
{ int ret = r_fix_conflicts(z); /* call fix_conflicts, line 365 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m4;
}
{ int m5 = z->l - z->c; (void)m5; /* do, line 366 */
{ int ret = r_step1(z); /* call step1, line 366 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m5;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 367 */
{ int ret = r_fix_chdz(z); /* call fix_chdz, line 367 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 368 */
{ int ret = r_step2(z); /* call step2, line 368 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 369 */
{ int ret = r_fix_chdz(z); /* call fix_chdz, line 369 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 370 */
{ int ret = r_fix_gd(z); /* call fix_gd, line 370 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m9;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -379,36 +378,35 @@ extern int nepali_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m1 = z->l - z->c; (void)m1; /* do, line 87 */
{ int ret = r_remove_category_1(z); /* call remove_category_1, line 87 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = z->l - m1;
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 88 */
while(1) { /* repeat, line 89 */
int m3 = z->l - z->c; (void)m3;
/* repeat, line 89 */
while(1) { int m3 = z->l - z->c; (void)m3;
{ int m4 = z->l - z->c; (void)m4; /* do, line 89 */
{ int m5 = z->l - z->c; (void)m5; /* and, line 89 */
{ int ret = r_check_category_2(z); /* call check_category_2, line 89 */
if (ret == 0) goto lab3;
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
z->c = z->l - m5;
{ int ret = r_remove_category_2(z); /* call remove_category_2, line 89 */
if (ret == 0) goto lab3;
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab3:
lab2:
z->c = z->l - m4;
}
{ int ret = r_remove_category_3(z); /* call remove_category_3, line 89 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
continue;
lab2:
lab1:
z->c = z->l - m3;
break;
}

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -243,36 +242,28 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
extern int norwegian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 74 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 74 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 75 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 76 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 76 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 77 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 77 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 78 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 78 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -577,8 +576,9 @@ extern int porter_UTF_8_stem(struct SN_env * z) { /* forwardmode */
z->c = c1;
}
{ int c2 = z->c; /* do, line 117 */
while(1) { /* repeat, line 117 */
int c3 = z->c;
/* repeat, line 117 */
while(1) { int c3 = z->c;
while(1) { /* goto, line 117 */
int c4 = z->c;
if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab3; /* grouping v, line 117 */
@ -638,85 +638,70 @@ extern int porter_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m6 = z->l - z->c; (void)m6; /* do, line 127 */
{ int ret = r_Step_1a(z); /* call Step_1a, line 127 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 128 */
{ int ret = r_Step_1b(z); /* call Step_1b, line 128 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m7;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 129 */
{ int ret = r_Step_1c(z); /* call Step_1c, line 129 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m8;
}
{ int m9 = z->l - z->c; (void)m9; /* do, line 130 */
{ int ret = r_Step_2(z); /* call Step_2, line 130 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m9;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 131 */
{ int ret = r_Step_3(z); /* call Step_3, line 131 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m10;
}
{ int m11 = z->l - z->c; (void)m11; /* do, line 132 */
{ int ret = r_Step_4(z); /* call Step_4, line 132 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
lab10:
z->c = z->l - m11;
}
{ int m12 = z->l - z->c; (void)m12; /* do, line 133 */
{ int ret = r_Step_5a(z); /* call Step_5a, line 133 */
if (ret == 0) goto lab11;
if (ret < 0) return ret;
}
lab11:
z->c = z->l - m12;
}
{ int m13 = z->l - z->c; (void)m13; /* do, line 134 */
{ int ret = r_Step_5b(z); /* call Step_5b, line 134 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m13;
}
z->c = z->lb;
{ int c14 = z->c; /* do, line 137 */
if (!(z->B[0])) goto lab13; /* Boolean test Y_found, line 137 */
while(1) { /* repeat, line 137 */
int c15 = z->c;
if (!(z->B[0])) goto lab5; /* Boolean test Y_found, line 137 */
/* repeat, line 137 */
while(1) { int c15 = z->c;
while(1) { /* goto, line 137 */
int c16 = z->c;
z->bra = z->c; /* [, line 137 */
if (z->c == z->l || z->p[z->c] != 'Y') goto lab15; /* literal, line 137 */
if (z->c == z->l || z->p[z->c] != 'Y') goto lab7; /* literal, line 137 */
z->c++;
z->ket = z->c; /* ], line 137 */
z->c = c16;
break;
lab15:
lab7:
z->c = c16;
{ int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
if (ret < 0) goto lab14;
if (ret < 0) goto lab6;
z->c = ret; /* goto, line 137 */
}
}
@ -724,11 +709,11 @@ extern int porter_UTF_8_stem(struct SN_env * z) { /* forwardmode */
if (ret < 0) return ret;
}
continue;
lab14:
lab6:
z->c = c15;
break;
}
lab13:
lab5:
z->c = c14;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -475,8 +474,9 @@ static const symbol s_10[] = { 'c' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 36 */
int c1 = z->c;
/* repeat, line 36 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 37 */
if (z->c + 1 >= z->l || (z->p[z->c + 1] != 163 && z->p[z->c + 1] != 181)) among_var = 3; else /* substring, line 37 */
among_var = find_among(z, a_0, 3);
@ -592,8 +592,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 62 */
int c1 = z->c;
/* repeat, line 62 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 63 */
if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else /* substring, line 63 */
among_var = find_among(z, a_1, 3);
@ -885,18 +886,14 @@ static int r_residual_form(struct SN_env * z) { /* backwardmode */
extern int portuguese_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 202 */
{ int ret = r_prelude(z); /* call prelude, line 202 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 203 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 203 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 204 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 205 */
@ -904,67 +901,63 @@ lab1:
{ int m4 = z->l - z->c; (void)m4; /* and, line 207 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 206 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 206 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
goto lab5;
lab6:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 206 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 206 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
}
lab5:
lab3:
z->c = z->l - m4;
{ int m6 = z->l - z->c; (void)m6; /* do, line 207 */
z->ket = z->c; /* [, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7; /* literal, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab5; /* literal, line 207 */
z->c--;
z->bra = z->c; /* ], line 207 */
{ int m_test7 = z->l - z->c; /* test, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab7; /* literal, line 207 */
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab5; /* literal, line 207 */
z->c--;
z->c = z->l - m_test7;
}
{ int ret = r_RV(z); /* call RV, line 207 */
if (ret == 0) goto lab7;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
{ int ret = slice_del(z); /* delete, line 207 */
if (ret < 0) return ret;
}
lab7:
lab5:
z->c = z->l - m6;
}
}
goto lab3;
lab4:
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 209 */
if (ret == 0) goto lab2;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m8 = z->l - z->c; (void)m8; /* do, line 211 */
{ int ret = r_residual_form(z); /* call residual_form, line 211 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = z->l - m8;
}
z->c = z->lb;
{ int c9 = z->c; /* do, line 213 */
{ int ret = r_postlude(z); /* call postlude, line 213 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = c9;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -538,8 +537,9 @@ static const symbol s_18[] = { 't' };
static const symbol s_19[] = { 'i', 's', 't' };
static int r_prelude(struct SN_env * z) { /* forwardmode */
while(1) { /* repeat, line 32 */
int c1 = z->c;
/* repeat, line 32 */
while(1) { int c1 = z->c;
while(1) { /* goto, line 32 */
int c2 = z->c;
if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1; /* grouping v, line 33 */
@ -665,8 +665,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 56 */
int c1 = z->c;
/* repeat, line 56 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 58 */
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else /* substring, line 58 */
among_var = find_among(z, a_0, 3);
@ -820,8 +821,9 @@ static int r_combo_suffix(struct SN_env * z) { /* backwardmode */
static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
int among_var;
z->B[0] = 0; /* unset standard_suffix_removed, line 130 */
while(1) { /* repeat, line 131 */
int m1 = z->l - z->c; (void)m1;
/* repeat, line 131 */
while(1) { int m1 = z->l - z->c; (void)m1;
{ int ret = r_combo_suffix(z); /* call combo_suffix, line 131 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
@ -913,66 +915,54 @@ static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */
extern int romanian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 226 */
{ int ret = r_prelude(z); /* call prelude, line 226 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
/* do, line 227 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 227 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->lb = z->c; z->c = z->l; /* backwards, line 228 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 229 */
{ int ret = r_step_0(z); /* call step_0, line 229 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 230 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 230 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 231 */
{ int m5 = z->l - z->c; (void)m5; /* or, line 231 */
if (!(z->B[0])) goto lab6; /* Boolean test standard_suffix_removed, line 231 */
goto lab5;
lab6:
if (!(z->B[0])) goto lab2; /* Boolean test standard_suffix_removed, line 231 */
goto lab1;
lab2:
z->c = z->l - m5;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab5:
lab4:
lab1:
lab0:
z->c = z->l - m4;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 232 */
{ int ret = r_vowel_suffix(z); /* call vowel_suffix, line 232 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = z->l - m6;
}
z->c = z->lb;
{ int c7 = z->c; /* do, line 234 */
{ int ret = r_postlude(z); /* call postlude, line 234 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = c7;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -565,8 +564,9 @@ static int r_tidy_up(struct SN_env * z) { /* backwardmode */
extern int russian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 205 */
while(1) { /* repeat, line 205 */
int c2 = z->c;
/* repeat, line 205 */
while(1) { int c2 = z->c;
while(1) { /* goto, line 205 */
int c3 = z->c;
z->bra = z->c; /* [, line 205 */
@ -593,10 +593,8 @@ extern int russian_UTF_8_stem(struct SN_env * z) { /* forwardmode */
}
/* do, line 207 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 207 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->lb = z->c; z->c = z->l; /* backwards, line 208 */
@ -606,71 +604,67 @@ lab3:
{ int m5 = z->l - z->c; (void)m5; /* do, line 209 */
{ int m6 = z->l - z->c; (void)m6; /* or, line 210 */
{ int ret = r_perfective_gerund(z); /* call perfective_gerund, line 210 */
if (ret == 0) goto lab6;
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab5;
lab6:
goto lab4;
lab5:
z->c = z->l - m6;
{ int m7 = z->l - z->c; (void)m7; /* try, line 211 */
{ int ret = r_reflexive(z); /* call reflexive, line 211 */
if (ret == 0) { z->c = z->l - m7; goto lab7; }
if (ret == 0) { z->c = z->l - m7; goto lab6; }
if (ret < 0) return ret;
}
lab7:
lab6:
;
}
{ int m8 = z->l - z->c; (void)m8; /* or, line 212 */
{ int ret = r_adjectival(z); /* call adjectival, line 212 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
goto lab7;
lab8:
z->c = z->l - m8;
{ int ret = r_verb(z); /* call verb, line 212 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
goto lab8;
goto lab7;
lab9:
z->c = z->l - m8;
{ int ret = r_verb(z); /* call verb, line 212 */
if (ret == 0) goto lab10;
if (ret < 0) return ret;
}
goto lab8;
lab10:
z->c = z->l - m8;
{ int ret = r_noun(z); /* call noun, line 212 */
if (ret == 0) goto lab4;
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
}
lab8:
lab7:
;
}
lab5:
lab4:
lab3:
z->c = z->l - m5;
}
{ int m9 = z->l - z->c; (void)m9; /* try, line 215 */
z->ket = z->c; /* [, line 215 */
if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m9; goto lab11; } /* literal, line 215 */
if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m9; goto lab10; } /* literal, line 215 */
z->bra = z->c; /* ], line 215 */
{ int ret = slice_del(z); /* delete, line 215 */
if (ret < 0) return ret;
}
lab11:
lab10:
;
}
{ int m10 = z->l - z->c; (void)m10; /* do, line 218 */
{ int ret = r_derivational(z); /* call derivational, line 218 */
if (ret == 0) goto lab12;
if (ret < 0) return ret;
}
lab12:
z->c = z->l - m10;
}
{ int m11 = z->l - z->c; (void)m11; /* do, line 219 */
{ int ret = r_tidy_up(z); /* call tidy_up, line 219 */
if (ret == 0) goto lab13;
if (ret < 0) return ret;
}
lab13:
z->c = z->l - m11;
}
z->lb = mlimit4;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -588,8 +587,9 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */
static int r_postlude(struct SN_env * z) { /* forwardmode */
int among_var;
while(1) { /* repeat, line 49 */
int c1 = z->c;
/* repeat, line 49 */
while(1) { int c1 = z->c;
z->bra = z->c; /* [, line 50 */
if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((67641858 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else /* substring, line 50 */
among_var = find_among(z, a_0, 6);
@ -989,60 +989,52 @@ static int r_residual_suffix(struct SN_env * z) { /* backwardmode */
extern int spanish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
/* do, line 216 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 216 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->lb = z->c; z->c = z->l; /* backwards, line 217 */
{ int m1 = z->l - z->c; (void)m1; /* do, line 218 */
{ int ret = r_attached_pronoun(z); /* call attached_pronoun, line 218 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m1;
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 219 */
{ int m3 = z->l - z->c; (void)m3; /* or, line 219 */
{ int ret = r_standard_suffix(z); /* call standard_suffix, line 219 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
goto lab3;
lab4:
z->c = z->l - m3;
{ int ret = r_y_verb_suffix(z); /* call y_verb_suffix, line 220 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
goto lab3;
lab5:
z->c = z->l - m3;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 221 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
goto lab1;
lab2:
z->c = z->l - m3;
{ int ret = r_y_verb_suffix(z); /* call y_verb_suffix, line 220 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
goto lab1;
lab3:
z->c = z->l - m3;
{ int ret = r_verb_suffix(z); /* call verb_suffix, line 221 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
}
lab3:
lab2:
lab1:
lab0:
z->c = z->l - m2;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 223 */
{ int ret = r_residual_suffix(z); /* call residual_suffix, line 223 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = z->l - m4;
}
z->c = z->lb;
{ int c5 = z->c; /* do, line 225 */
{ int ret = r_postlude(z); /* call postlude, line 225 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c5;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -259,36 +258,28 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
extern int swedish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 66 */
{ int ret = r_mark_regions(z); /* call mark_regions, line 66 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 67 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 68 */
{ int ret = r_main_suffix(z); /* call main_suffix, line 68 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 69 */
{ int ret = r_consonant_pair(z); /* call consonant_pair, line 69 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
{ int m4 = z->l - z->c; (void)m4; /* do, line 70 */
{ int ret = r_other_suffix(z); /* call other_suffix, line 70 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = z->l - m4;
}
z->c = z->lb;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -734,8 +733,9 @@ lab0:
static int r_fix_endings(struct SN_env * z) { /* forwardmode */
{ int c1 = z->c; /* do, line 111 */
while(1) { /* repeat, line 111 */
int c2 = z->c;
/* repeat, line 111 */
while(1) { int c2 = z->c;
{ int ret = r_fix_ending(z); /* call fix_ending, line 111 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
@ -761,10 +761,8 @@ static int r_remove_question_prefixes(struct SN_env * z) { /* forwardmode */
}
{ int c1 = z->c; /* do, line 116 */
{ int ret = r_fix_va_start(z); /* call fix_va_start, line 116 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
return 1;
@ -1018,10 +1016,8 @@ static int r_remove_pronoun_prefixes(struct SN_env * z) { /* forwardmode */
z->B[0] = 1; /* set found_a_match, line 163 */
{ int c1 = z->c; /* do, line 164 */
{ int ret = r_fix_va_start(z); /* call fix_va_start, line 164 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
return 1;
@ -1102,10 +1098,8 @@ static int r_remove_question_suffixes(struct SN_env * z) { /* forwardmode */
z->c = z->lb;
/* do, line 187 */
{ int ret = r_fix_endings(z); /* call fix_endings, line 187 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
return 1;
}
@ -1145,10 +1139,8 @@ static int r_remove_um(struct SN_env * z) { /* forwardmode */
z->c = z->lb;
{ int c1 = z->c; /* do, line 205 */
{ int ret = r_fix_ending(z); /* call fix_ending, line 205 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
return 1;
@ -1254,10 +1246,8 @@ lab0:
z->c = z->lb;
/* do, line 249 */
{ int ret = r_fix_endings(z); /* call fix_endings, line 249 */
if (ret == 0) goto lab17;
if (ret < 0) return ret;
}
lab17:
return 1;
}
@ -1482,24 +1472,21 @@ lab0:
z->c = z->lb;
/* do, line 301 */
{ int ret = r_fix_endings(z); /* call fix_endings, line 301 */
if (ret == 0) goto lab35;
if (ret < 0) return ret;
}
lab35:
return 1;
}
static int r_remove_tense_suffixes(struct SN_env * z) { /* forwardmode */
z->B[0] = 1; /* set found_a_match, line 305 */
while(1) { /* repeat, line 306 */
int c1 = z->c;
/* repeat, line 306 */
while(1) { int c1 = z->c;
if (!(z->B[0])) goto lab0; /* Boolean test found_a_match, line 306 */
{ int c2 = z->c; /* do, line 306 */
{ int ret = r_remove_tense_suffix(z); /* call remove_tense_suffix, line 306 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
continue;
@ -1814,10 +1801,8 @@ static int r_remove_tense_suffix(struct SN_env * z) { /* forwardmode */
z->c = z->lb;
/* do, line 389 */
{ int ret = r_fix_endings(z); /* call fix_endings, line 389 */
if (ret == 0) goto lab58;
if (ret < 0) return ret;
}
lab58:
return 1;
}
@ -1825,10 +1810,8 @@ extern int tamil_UTF_8_stem(struct SN_env * z) { /* forwardmode */
z->B[1] = 0; /* unset found_vetrumai_urupu, line 393 */
{ int c1 = z->c; /* do, line 394 */
{ int ret = r_fix_ending(z); /* call fix_ending, line 394 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
{ int ret = r_has_min_length(z); /* call has_min_length, line 395 */
@ -1836,74 +1819,56 @@ extern int tamil_UTF_8_stem(struct SN_env * z) { /* forwardmode */
}
{ int c2 = z->c; /* do, line 396 */
{ int ret = r_remove_question_prefixes(z); /* call remove_question_prefixes, line 396 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = c2;
}
{ int c3 = z->c; /* do, line 397 */
{ int ret = r_remove_pronoun_prefixes(z); /* call remove_pronoun_prefixes, line 397 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = c3;
}
{ int c4 = z->c; /* do, line 398 */
{ int ret = r_remove_question_suffixes(z); /* call remove_question_suffixes, line 398 */
if (ret == 0) goto lab3;
if (ret < 0) return ret;
}
lab3:
z->c = c4;
}
{ int c5 = z->c; /* do, line 399 */
{ int ret = r_remove_um(z); /* call remove_um, line 399 */
if (ret == 0) goto lab4;
if (ret < 0) return ret;
}
lab4:
z->c = c5;
}
{ int c6 = z->c; /* do, line 400 */
{ int ret = r_remove_common_word_endings(z); /* call remove_common_word_endings, line 400 */
if (ret == 0) goto lab5;
if (ret < 0) return ret;
}
lab5:
z->c = c6;
}
{ int c7 = z->c; /* do, line 401 */
{ int ret = r_remove_vetrumai_urupukal(z); /* call remove_vetrumai_urupukal, line 401 */
if (ret == 0) goto lab6;
if (ret < 0) return ret;
}
lab6:
z->c = c7;
}
{ int c8 = z->c; /* do, line 402 */
{ int ret = r_remove_plural_suffix(z); /* call remove_plural_suffix, line 402 */
if (ret == 0) goto lab7;
if (ret < 0) return ret;
}
lab7:
z->c = c8;
}
{ int c9 = z->c; /* do, line 403 */
{ int ret = r_remove_command_suffixes(z); /* call remove_command_suffixes, line 403 */
if (ret == 0) goto lab8;
if (ret < 0) return ret;
}
lab8:
z->c = c9;
}
{ int c10 = z->c; /* do, line 404 */
{ int ret = r_remove_tense_suffixes(z); /* call remove_tense_suffixes, line 404 */
if (ret == 0) goto lab9;
if (ret < 0) return ret;
}
lab9:
z->c = c10;
}
return 1;

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#include "header.h"
@ -2017,8 +2016,7 @@ static int r_is_reserved_word(struct SN_env * z) { /* backwardmode */
static int r_more_than_one_syllable_word(struct SN_env * z) { /* forwardmode */
{ int c_test1 = z->c; /* test, line 447 */
{ int i = 2;
while(1) { /* atleast, line 447 */
int c2 = z->c;
while(1) { int c2 = z->c;
{ /* gopast */ /* grouping vowel, line 447 */
int ret = out_grouping_U(z, g_vowel, 97, 305, 1);
if (ret < 0) goto lab0;
@ -2051,18 +2049,14 @@ static int r_postlude(struct SN_env * z) { /* forwardmode */
}
{ int m2 = z->l - z->c; (void)m2; /* do, line 453 */
{ int ret = r_append_U_to_stems_ending_with_d_or_g(z); /* call append_U_to_stems_ending_with_d_or_g, line 453 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
{ int m3 = z->l - z->c; (void)m3; /* do, line 454 */
{ int ret = r_post_process_last_consonants(z); /* call post_process_last_consonants, line 454 */
if (ret == 0) goto lab2;
if (ret < 0) return ret;
}
lab2:
z->c = z->l - m3;
}
z->c = z->lb;
@ -2077,19 +2071,15 @@ extern int turkish_UTF_8_stem(struct SN_env * z) { /* forwardmode */
{ int m1 = z->l - z->c; (void)m1; /* do, line 463 */
{ int ret = r_stem_nominal_verb_suffixes(z); /* call stem_nominal_verb_suffixes, line 463 */
if (ret == 0) goto lab0;
if (ret < 0) return ret;
}
lab0:
z->c = z->l - m1;
}
if (!(z->B[0])) return 0; /* Boolean test continue_stemming_noun_suffixes, line 464 */
{ int m2 = z->l - z->c; (void)m2; /* do, line 465 */
{ int ret = r_stem_noun_suffixes(z); /* call stem_noun_suffixes, line 465 */
if (ret == 0) goto lab1;
if (ret < 0) return ret;
}
lab1:
z->c = z->l - m2;
}
z->c = z->lb;

View File

@ -106,48 +106,48 @@ static int get_b_utf8(const symbol * p, int c, int lb, int * slot) {
extern int in_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
int w = get_utf8(z->p, z->c, z->l, & ch);
if (!w) return -1;
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return w;
z->c += w;
int ch;
int w = get_utf8(z->p, z->c, z->l, & ch);
if (!w) return -1;
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return w;
z->c += w;
} while (repeat);
return 0;
}
extern int in_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
int w = get_b_utf8(z->p, z->c, z->lb, & ch);
if (!w) return -1;
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return w;
z->c -= w;
int ch;
int w = get_b_utf8(z->p, z->c, z->lb, & ch);
if (!w) return -1;
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return w;
z->c -= w;
} while (repeat);
return 0;
}
extern int out_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
int w = get_utf8(z->p, z->c, z->l, & ch);
if (!w) return -1;
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return w;
z->c += w;
int ch;
int w = get_utf8(z->p, z->c, z->l, & ch);
if (!w) return -1;
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return w;
z->c += w;
} while (repeat);
return 0;
}
extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
int w = get_b_utf8(z->p, z->c, z->lb, & ch);
if (!w) return -1;
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return w;
z->c -= w;
int ch;
int w = get_b_utf8(z->p, z->c, z->lb, & ch);
if (!w) return -1;
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return w;
z->c -= w;
} while (repeat);
return 0;
}
@ -156,48 +156,48 @@ extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min,
extern int in_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
if (z->c >= z->l) return -1;
ch = z->p[z->c];
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return 1;
z->c++;
int ch;
if (z->c >= z->l) return -1;
ch = z->p[z->c];
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return 1;
z->c++;
} while (repeat);
return 0;
}
extern int in_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
if (z->c <= z->lb) return -1;
ch = z->p[z->c - 1];
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return 1;
z->c--;
int ch;
if (z->c <= z->lb) return -1;
ch = z->p[z->c - 1];
if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)
return 1;
z->c--;
} while (repeat);
return 0;
}
extern int out_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
if (z->c >= z->l) return -1;
ch = z->p[z->c];
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return 1;
z->c++;
int ch;
if (z->c >= z->l) return -1;
ch = z->p[z->c];
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return 1;
z->c++;
} while (repeat);
return 0;
}
extern int out_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) {
do {
int ch;
if (z->c <= z->lb) return -1;
ch = z->p[z->c - 1];
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return 1;
z->c--;
int ch;
if (z->c <= z->lb) return -1;
ch = z->p[z->c - 1];
if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0))
return 1;
z->c--;
} while (repeat);
return 0;
}
@ -235,7 +235,7 @@ extern int find_among(struct SN_env * z, const struct among * v, int v_size) {
int first_key_inspected = 0;
while(1) {
while (1) {
int k = i + ((j - i) >> 1);
int diff = 0;
int common = common_i < common_j ? common_i : common_j; /* smaller */
@ -267,7 +267,7 @@ extern int find_among(struct SN_env * z, const struct among * v, int v_size) {
first_key_inspected = 1;
}
}
while(1) {
while (1) {
w = v + i;
if (common_i >= w->s_size) {
z->c = c + w->s_size;
@ -300,7 +300,7 @@ extern int find_among_b(struct SN_env * z, const struct among * v, int v_size) {
int first_key_inspected = 0;
while(1) {
while (1) {
int k = i + ((j - i) >> 1);
int diff = 0;
int common = common_i < common_j ? common_i : common_j;
@ -322,7 +322,7 @@ extern int find_among_b(struct SN_env * z, const struct among * v, int v_size) {
first_key_inspected = 1;
}
}
while(1) {
while (1) {
w = v + i;
if (common_i >= w->s_size) {
z->c = c - w->s_size;

View File

@ -688,6 +688,10 @@ static const struct tsearch_config_match tsearch_config_languages[] =
{
{"arabic", "ar"},
{"arabic", "Arabic"},
{"basque", "eu"},
{"basque", "Basque"},
{"catalan", "ca"},
{"catalan", "Catalan"},
{"danish", "da"},
{"danish", "Danish"},
{"dutch", "nl"},
@ -704,6 +708,8 @@ static const struct tsearch_config_match tsearch_config_languages[] =
{"german", "German"},
{"greek", "el"},
{"greek", "Greek"},
{"hindi", "hi"},
{"hindi", "Hindi"},
{"hungarian", "hu"},
{"hungarian", "Hungarian"},
{"indonesian", "id"},

View File

@ -57,4 +57,3 @@ 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);

View File

@ -0,0 +1,15 @@
/* Generated by Snowball 2.0.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

View File

@ -0,0 +1,15 @@
/* Generated by Snowball 2.0.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

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -0,0 +1,15 @@
/* Generated by Snowball 2.0.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

View File

@ -0,0 +1,15 @@
/* Generated by Snowball 2.0.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

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -0,0 +1,15 @@
/* Generated by Snowball 2.0.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

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,4 @@
/* This file was generated automatically by the Snowball to ISO C compiler */
/* http://snowballstem.org/ */
/* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
#ifdef __cplusplus
extern "C" {