From fd582317e10e26083b8c720598bfcdbf89787112 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 24 Sep 2018 17:29:08 -0400 Subject: [PATCH] Sync our Snowball stemmer dictionaries with current upstream. We haven't touched these since text search functionality landed in core in 2007 :-(. While the upstream project isn't a beehive of activity, they do make additions and bug fixes from time to time. Update our copies of these files. Also update our documentation about how to keep things in sync, since they're not making distribution tarballs these days. Fortunately, their source code turns out to be a breeze to build. Notable changes: * The non-UTF8 version of the hungarian stemmer now works in LATIN2 not LATIN1. * New stemmers have appeared for arabic, indonesian, irish, lithuanian, nepali, and tamil. These all work in UTF8, and the indonesian and irish ones also work in LATIN1. (There are some new stemmers that I did not incorporate, mainly because their names don't match the underlying languages, suggesting that they're not to be considered mainstream.) Worth noting: the upstream Nepali dictionary was contributed by Arthur Zakirov. initdb forced because the contents of snowball_create.sql have changed. Still TODO: see about updating the stopword lists. Arthur Zakirov, minor mods and doc work by me Discussion: https://postgr.es/m/20180626122025.GA12647@zakirov.localdomain Discussion: https://postgr.es/m/20180219140849.GA9050@zakirov.localdomain --- doc/src/sgml/textsearch.sgml | 10 +- src/backend/snowball/Makefile | 16 +- src/backend/snowball/README | 53 +- src/backend/snowball/dict_snowball.c | 86 +- .../libstemmer/stem_ISO_8859_1_danish.c | 130 +- .../libstemmer/stem_ISO_8859_1_dutch.c | 296 ++- .../libstemmer/stem_ISO_8859_1_english.c | 542 +++-- .../libstemmer/stem_ISO_8859_1_finnish.c | 531 +++-- .../libstemmer/stem_ISO_8859_1_french.c | 577 +++-- .../libstemmer/stem_ISO_8859_1_german.c | 492 ++--- .../libstemmer/stem_ISO_8859_1_indonesian.c | 414 ++++ .../libstemmer/stem_ISO_8859_1_irish.c | 490 +++++ .../libstemmer/stem_ISO_8859_1_italian.c | 372 ++-- .../libstemmer/stem_ISO_8859_1_norwegian.c | 120 +- .../libstemmer/stem_ISO_8859_1_porter.c | 327 ++- .../libstemmer/stem_ISO_8859_1_portuguese.c | 459 ++-- .../libstemmer/stem_ISO_8859_1_spanish.c | 375 ++-- .../libstemmer/stem_ISO_8859_1_swedish.c | 102 +- ...ungarian.c => stem_ISO_8859_2_hungarian.c} | 751 ++----- .../libstemmer/stem_ISO_8859_2_romanian.c | 284 ++- .../snowball/libstemmer/stem_KOI8_R_russian.c | 321 ++- .../snowball/libstemmer/stem_UTF_8_arabic.c | 1683 +++++++++++++++ .../snowball/libstemmer/stem_UTF_8_danish.c | 130 +- .../snowball/libstemmer/stem_UTF_8_dutch.c | 296 ++- .../snowball/libstemmer/stem_UTF_8_english.c | 542 +++-- .../snowball/libstemmer/stem_UTF_8_finnish.c | 533 +++-- .../snowball/libstemmer/stem_UTF_8_french.c | 577 +++-- .../snowball/libstemmer/stem_UTF_8_german.c | 486 ++--- .../libstemmer/stem_UTF_8_hungarian.c | 763 ++----- .../libstemmer/stem_UTF_8_indonesian.c | 414 ++++ .../snowball/libstemmer/stem_UTF_8_irish.c | 490 +++++ .../snowball/libstemmer/stem_UTF_8_italian.c | 372 ++-- .../libstemmer/stem_UTF_8_lithuanian.c | 850 ++++++++ .../snowball/libstemmer/stem_UTF_8_nepali.c | 424 ++++ .../libstemmer/stem_UTF_8_norwegian.c | 120 +- .../snowball/libstemmer/stem_UTF_8_porter.c | 327 ++- .../libstemmer/stem_UTF_8_portuguese.c | 459 ++-- .../snowball/libstemmer/stem_UTF_8_romanian.c | 284 ++- .../snowball/libstemmer/stem_UTF_8_russian.c | 377 ++-- .../snowball/libstemmer/stem_UTF_8_spanish.c | 375 ++-- .../snowball/libstemmer/stem_UTF_8_swedish.c | 102 +- .../snowball/libstemmer/stem_UTF_8_tamil.c | 1915 +++++++++++++++++ .../snowball/libstemmer/stem_UTF_8_turkish.c | 1696 +++++++-------- src/backend/snowball/libstemmer/utilities.c | 43 +- src/backend/snowball/stopwords/nepali.stop | 304 +++ src/bin/initdb/initdb.c | 12 + src/include/catalog/catversion.h | 2 +- src/include/snowball/libstemmer/header.h | 2 + .../libstemmer/stem_ISO_8859_1_danish.h | 4 +- .../libstemmer/stem_ISO_8859_1_dutch.h | 4 +- .../libstemmer/stem_ISO_8859_1_english.h | 4 +- .../libstemmer/stem_ISO_8859_1_finnish.h | 4 +- .../libstemmer/stem_ISO_8859_1_french.h | 4 +- .../libstemmer/stem_ISO_8859_1_german.h | 4 +- .../libstemmer/stem_ISO_8859_1_hungarian.h | 16 - .../libstemmer/stem_ISO_8859_1_indonesian.h | 16 + .../libstemmer/stem_ISO_8859_1_irish.h | 16 + .../libstemmer/stem_ISO_8859_1_italian.h | 4 +- .../libstemmer/stem_ISO_8859_1_norwegian.h | 4 +- .../libstemmer/stem_ISO_8859_1_porter.h | 4 +- .../libstemmer/stem_ISO_8859_1_portuguese.h | 4 +- .../libstemmer/stem_ISO_8859_1_spanish.h | 4 +- .../libstemmer/stem_ISO_8859_1_swedish.h | 4 +- .../libstemmer/stem_ISO_8859_2_hungarian.h | 16 + .../libstemmer/stem_ISO_8859_2_romanian.h | 4 +- .../snowball/libstemmer/stem_KOI8_R_russian.h | 4 +- .../snowball/libstemmer/stem_UTF_8_arabic.h | 16 + .../snowball/libstemmer/stem_UTF_8_danish.h | 4 +- .../snowball/libstemmer/stem_UTF_8_dutch.h | 4 +- .../snowball/libstemmer/stem_UTF_8_english.h | 4 +- .../snowball/libstemmer/stem_UTF_8_finnish.h | 4 +- .../snowball/libstemmer/stem_UTF_8_french.h | 4 +- .../snowball/libstemmer/stem_UTF_8_german.h | 4 +- .../libstemmer/stem_UTF_8_hungarian.h | 4 +- .../libstemmer/stem_UTF_8_indonesian.h | 16 + .../snowball/libstemmer/stem_UTF_8_irish.h | 16 + .../snowball/libstemmer/stem_UTF_8_italian.h | 4 +- .../libstemmer/stem_UTF_8_lithuanian.h | 16 + .../snowball/libstemmer/stem_UTF_8_nepali.h | 16 + .../libstemmer/stem_UTF_8_norwegian.h | 4 +- .../snowball/libstemmer/stem_UTF_8_porter.h | 4 +- .../libstemmer/stem_UTF_8_portuguese.h | 4 +- .../snowball/libstemmer/stem_UTF_8_romanian.h | 4 +- .../snowball/libstemmer/stem_UTF_8_russian.h | 4 +- .../snowball/libstemmer/stem_UTF_8_spanish.h | 4 +- .../snowball/libstemmer/stem_UTF_8_swedish.h | 4 +- .../snowball/libstemmer/stem_UTF_8_tamil.h | 16 + .../snowball/libstemmer/stem_UTF_8_turkish.h | 4 +- 88 files changed, 13198 insertions(+), 7408 deletions(-) create mode 100644 src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c create mode 100644 src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c rename src/backend/snowball/libstemmer/{stem_ISO_8859_1_hungarian.c => stem_ISO_8859_2_hungarian.c} (54%) create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_arabic.c create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_irish.c create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_nepali.c create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_tamil.c create mode 100644 src/backend/snowball/stopwords/nepali.stop delete mode 100644 src/include/snowball/libstemmer/stem_ISO_8859_1_hungarian.h create mode 100644 src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h create mode 100644 src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h create mode 100644 src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_arabic.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_indonesian.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_irish.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_nepali.h create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_tamil.h diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml index 800a94bb54..ecebade767 100644 --- a/doc/src/sgml/textsearch.sgml +++ b/doc/src/sgml/textsearch.sgml @@ -3792,9 +3792,10 @@ Parser: "pg_catalog.default" List text search dictionaries (add + for more detail). => \dFd - List of text search dictionaries - Schema | Name | Description + List of text search dictionaries + Schema | Name | Description ------------+-----------------+----------------------------------------------------------- + pg_catalog | arabic_stem | snowball stemmer for arabic language pg_catalog | danish_stem | snowball stemmer for danish language pg_catalog | dutch_stem | snowball stemmer for dutch language pg_catalog | english_stem | snowball stemmer for english language @@ -3802,7 +3803,11 @@ Parser: "pg_catalog.default" pg_catalog | french_stem | snowball stemmer for french language pg_catalog | german_stem | snowball stemmer for german language pg_catalog | hungarian_stem | snowball stemmer for hungarian language + pg_catalog | indonesian_stem | snowball stemmer for indonesian language + pg_catalog | irish_stem | snowball stemmer for irish language pg_catalog | italian_stem | snowball stemmer for italian language + pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language + pg_catalog | nepali_stem | snowball stemmer for nepali language pg_catalog | norwegian_stem | snowball stemmer for norwegian language pg_catalog | portuguese_stem | snowball stemmer for portuguese language pg_catalog | romanian_stem | snowball stemmer for romanian language @@ -3810,6 +3815,7 @@ Parser: "pg_catalog.default" pg_catalog | simple | simple dictionary: just lower case and check for stopword pg_catalog | spanish_stem | snowball stemmer for spanish language pg_catalog | swedish_stem | snowball stemmer for swedish language + pg_catalog | tamil_stem | snowball stemmer for tamil language pg_catalog | turkish_stem | snowball stemmer for turkish language diff --git a/src/backend/snowball/Makefile b/src/backend/snowball/Makefile index 50cbace41d..9063bd3326 100644 --- a/src/backend/snowball/Makefile +++ b/src/backend/snowball/Makefile @@ -23,15 +23,18 @@ OBJS= $(WIN32RES) dict_snowball.o api.o utilities.o \ stem_ISO_8859_1_finnish.o \ stem_ISO_8859_1_french.o \ stem_ISO_8859_1_german.o \ - stem_ISO_8859_1_hungarian.o \ + stem_ISO_8859_1_indonesian.o \ + stem_ISO_8859_1_irish.o \ stem_ISO_8859_1_italian.o \ stem_ISO_8859_1_norwegian.o \ stem_ISO_8859_1_porter.o \ stem_ISO_8859_1_portuguese.o \ stem_ISO_8859_1_spanish.o \ stem_ISO_8859_1_swedish.o \ + stem_ISO_8859_2_hungarian.o \ stem_ISO_8859_2_romanian.o \ stem_KOI8_R_russian.o \ + stem_UTF_8_arabic.o \ stem_UTF_8_danish.o \ stem_UTF_8_dutch.o \ stem_UTF_8_english.o \ @@ -39,7 +42,11 @@ OBJS= $(WIN32RES) dict_snowball.o api.o utilities.o \ stem_UTF_8_french.o \ stem_UTF_8_german.o \ stem_UTF_8_hungarian.o \ + stem_UTF_8_indonesian.o \ + stem_UTF_8_irish.o \ stem_UTF_8_italian.o \ + stem_UTF_8_lithuanian.o \ + stem_UTF_8_nepali.o \ stem_UTF_8_norwegian.o \ stem_UTF_8_porter.o \ stem_UTF_8_portuguese.o \ @@ -47,6 +54,7 @@ OBJS= $(WIN32RES) dict_snowball.o api.o utilities.o \ stem_UTF_8_russian.o \ stem_UTF_8_spanish.o \ stem_UTF_8_swedish.o \ + stem_UTF_8_tamil.o \ stem_UTF_8_turkish.o # first column is language name and also name of dictionary for not-all-ASCII @@ -54,6 +62,7 @@ OBJS= $(WIN32RES) dict_snowball.o api.o utilities.o \ # Note order dependency: use of some other language as ASCII dictionary # must come after creation of that language LANGUAGES= \ + arabic arabic \ danish danish \ dutch dutch \ english english \ @@ -61,13 +70,18 @@ LANGUAGES= \ french french \ german german \ hungarian hungarian \ + indonesian indonesian \ + irish irish \ italian italian \ + lithuanian lithuanian \ + nepali nepali \ norwegian norwegian \ portuguese portuguese \ romanian romanian \ russian english \ spanish spanish \ swedish swedish \ + tamil tamil \ turkish turkish diff --git a/src/backend/snowball/README b/src/backend/snowball/README index d6fe143e99..bada9d96ca 100644 --- a/src/backend/snowball/README +++ b/src/backend/snowball/README @@ -4,46 +4,61 @@ Snowball-Based Stemming ======================= This module uses the word stemming code developed by the Snowball project, -http://snowball.tartarus.org/ +http://snowballstem.org (formerly http://snowball.tartarus.org) which is released by them under a BSD-style license. -The files under src/backend/snowball/libstemmer/ and -src/include/snowball/libstemmer/ are taken directly from their libstemmer_c -distribution, with only some minor adjustments of file inclusions. Note +The Snowball project is not currently making formal releases; it's best +to pull from their git repository + +git clone https://github.com/snowballstem/snowball.git + +and then building the derived files is as simple as + +cd snowball +make + +At least on Linux, no platform-specific adjustment is needed. + +Postgres' files under src/backend/snowball/libstemmer/ and +src/include/snowball/libstemmer/ are taken directly from the Snowball +files, with only some minor adjustments of file inclusions. Note that most of these files are in fact derived files, not master source. -The master sources are in the Snowball language, and are available along -with the Snowball-to-C compiler from the Snowball project. We choose to -include the derived files in the PostgreSQL distribution because most -installations will not have the Snowball compiler available. +The master sources are in the Snowball language, and are built using +the Snowball-to-C compiler that is also part of the Snowball project. +We choose to include the derived files in the PostgreSQL distribution +because most installations will not have the Snowball compiler available. -To update the PostgreSQL sources from a new Snowball libstemmer_c -distribution: +We are currently synced with the Snowball git commit +1964ce688cbeca505263c8f77e16ed923296ce7a +of 2018-06-29. -1. Copy the *.c files in libstemmer_c/src_c/ to src/backend/snowball/libstemmer +To update the PostgreSQL sources from a new Snowball version: + +0. If you didn't do it already, "make -C snowball". + +1. Copy the *.c files in snowball/src_c/ to src/backend/snowball/libstemmer with replacement of "../runtime/header.h" by "header.h", for example -for f in libstemmer_c/src_c/*.c +for f in .../snowball/src_c/*.c do sed 's|\.\./runtime/header\.h|header.h|' $f >libstemmer/`basename $f` done -(Alternatively, if you rebuild the stemmer files from the master Snowball -sources, just omit "-r ../runtime" from the Snowball compiler switches.) - -2. Copy the *.c files in libstemmer_c/runtime/ to +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 --- they should only include "header.h". (This removal avoids portability problems on some platforms where is sensitive to largefile compilation options.) -3. Copy the *.h files in libstemmer_c/src_c/ and libstemmer_c/runtime/ +3. Copy the *.h files in snowball/src_c/ and snowball/runtime/ to src/include/snowball/libstemmer. At this writing the header files do not require any changes. 4. Check whether any stemmer modules have been added or removed. If so, edit the OBJS list in Makefile, the list of #include's in dict_snowball.c, and the -stemmer_modules[] table in dict_snowball.c. +stemmer_modules[] table in dict_snowball.c. You might also need to change +the LANGUAGES list in Makefile. 5. The various stopword files in stopwords/ must be downloaded -individually from pages on the snowball.tartarus.org website. +individually from pages on the snowballstem.org website. Be careful that these files must be stored in UTF-8 encoding. diff --git a/src/backend/snowball/dict_snowball.c b/src/backend/snowball/dict_snowball.c index 78c9f73ef0..087b86a5b7 100644 --- a/src/backend/snowball/dict_snowball.c +++ b/src/backend/snowball/dict_snowball.c @@ -32,15 +32,18 @@ #include "snowball/libstemmer/stem_ISO_8859_1_finnish.h" #include "snowball/libstemmer/stem_ISO_8859_1_french.h" #include "snowball/libstemmer/stem_ISO_8859_1_german.h" -#include "snowball/libstemmer/stem_ISO_8859_1_hungarian.h" +#include "snowball/libstemmer/stem_ISO_8859_1_indonesian.h" +#include "snowball/libstemmer/stem_ISO_8859_1_irish.h" #include "snowball/libstemmer/stem_ISO_8859_1_italian.h" #include "snowball/libstemmer/stem_ISO_8859_1_norwegian.h" #include "snowball/libstemmer/stem_ISO_8859_1_porter.h" #include "snowball/libstemmer/stem_ISO_8859_1_portuguese.h" #include "snowball/libstemmer/stem_ISO_8859_1_spanish.h" #include "snowball/libstemmer/stem_ISO_8859_1_swedish.h" +#include "snowball/libstemmer/stem_ISO_8859_2_hungarian.h" #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_danish.h" #include "snowball/libstemmer/stem_UTF_8_dutch.h" #include "snowball/libstemmer/stem_UTF_8_english.h" @@ -48,7 +51,11 @@ #include "snowball/libstemmer/stem_UTF_8_french.h" #include "snowball/libstemmer/stem_UTF_8_german.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" #include "snowball/libstemmer/stem_UTF_8_italian.h" +#include "snowball/libstemmer/stem_UTF_8_lithuanian.h" +#include "snowball/libstemmer/stem_UTF_8_nepali.h" #include "snowball/libstemmer/stem_UTF_8_norwegian.h" #include "snowball/libstemmer/stem_UTF_8_porter.h" #include "snowball/libstemmer/stem_UTF_8_portuguese.h" @@ -56,6 +63,7 @@ #include "snowball/libstemmer/stem_UTF_8_russian.h" #include "snowball/libstemmer/stem_UTF_8_spanish.h" #include "snowball/libstemmer/stem_UTF_8_swedish.h" +#include "snowball/libstemmer/stem_UTF_8_tamil.h" #include "snowball/libstemmer/stem_UTF_8_turkish.h" PG_MODULE_MAGIC; @@ -74,48 +82,60 @@ typedef struct stemmer_module int (*stem) (struct SN_env *); } stemmer_module; +/* Args: stemmer name, PG code for encoding, Snowball's name for encoding */ +#define STEMMER_MODULE(name,enc,senc) \ + {#name, enc, name##_##senc##_create_env, name##_##senc##_close_env, name##_##senc##_stem} + static const stemmer_module stemmer_modules[] = { /* * Stemmers list from Snowball distribution */ - {"danish", PG_LATIN1, danish_ISO_8859_1_create_env, danish_ISO_8859_1_close_env, danish_ISO_8859_1_stem}, - {"dutch", PG_LATIN1, dutch_ISO_8859_1_create_env, dutch_ISO_8859_1_close_env, dutch_ISO_8859_1_stem}, - {"english", PG_LATIN1, english_ISO_8859_1_create_env, english_ISO_8859_1_close_env, english_ISO_8859_1_stem}, - {"finnish", PG_LATIN1, finnish_ISO_8859_1_create_env, finnish_ISO_8859_1_close_env, finnish_ISO_8859_1_stem}, - {"french", PG_LATIN1, french_ISO_8859_1_create_env, french_ISO_8859_1_close_env, french_ISO_8859_1_stem}, - {"german", PG_LATIN1, german_ISO_8859_1_create_env, german_ISO_8859_1_close_env, german_ISO_8859_1_stem}, - {"hungarian", PG_LATIN1, hungarian_ISO_8859_1_create_env, hungarian_ISO_8859_1_close_env, hungarian_ISO_8859_1_stem}, - {"italian", PG_LATIN1, italian_ISO_8859_1_create_env, italian_ISO_8859_1_close_env, italian_ISO_8859_1_stem}, - {"norwegian", PG_LATIN1, norwegian_ISO_8859_1_create_env, norwegian_ISO_8859_1_close_env, norwegian_ISO_8859_1_stem}, - {"porter", PG_LATIN1, porter_ISO_8859_1_create_env, porter_ISO_8859_1_close_env, porter_ISO_8859_1_stem}, - {"portuguese", PG_LATIN1, portuguese_ISO_8859_1_create_env, portuguese_ISO_8859_1_close_env, portuguese_ISO_8859_1_stem}, - {"spanish", PG_LATIN1, spanish_ISO_8859_1_create_env, spanish_ISO_8859_1_close_env, spanish_ISO_8859_1_stem}, - {"swedish", PG_LATIN1, swedish_ISO_8859_1_create_env, swedish_ISO_8859_1_close_env, swedish_ISO_8859_1_stem}, - {"romanian", PG_LATIN2, romanian_ISO_8859_2_create_env, romanian_ISO_8859_2_close_env, romanian_ISO_8859_2_stem}, - {"russian", PG_KOI8R, russian_KOI8_R_create_env, russian_KOI8_R_close_env, russian_KOI8_R_stem}, - {"danish", PG_UTF8, danish_UTF_8_create_env, danish_UTF_8_close_env, danish_UTF_8_stem}, - {"dutch", PG_UTF8, dutch_UTF_8_create_env, dutch_UTF_8_close_env, dutch_UTF_8_stem}, - {"english", PG_UTF8, english_UTF_8_create_env, english_UTF_8_close_env, english_UTF_8_stem}, - {"finnish", PG_UTF8, finnish_UTF_8_create_env, finnish_UTF_8_close_env, finnish_UTF_8_stem}, - {"french", PG_UTF8, french_UTF_8_create_env, french_UTF_8_close_env, french_UTF_8_stem}, - {"german", PG_UTF8, german_UTF_8_create_env, german_UTF_8_close_env, german_UTF_8_stem}, - {"hungarian", PG_UTF8, hungarian_UTF_8_create_env, hungarian_UTF_8_close_env, hungarian_UTF_8_stem}, - {"italian", PG_UTF8, italian_UTF_8_create_env, italian_UTF_8_close_env, italian_UTF_8_stem}, - {"norwegian", PG_UTF8, norwegian_UTF_8_create_env, norwegian_UTF_8_close_env, norwegian_UTF_8_stem}, - {"porter", PG_UTF8, porter_UTF_8_create_env, porter_UTF_8_close_env, porter_UTF_8_stem}, - {"portuguese", PG_UTF8, portuguese_UTF_8_create_env, portuguese_UTF_8_close_env, portuguese_UTF_8_stem}, - {"romanian", PG_UTF8, romanian_UTF_8_create_env, romanian_UTF_8_close_env, romanian_UTF_8_stem}, - {"russian", PG_UTF8, russian_UTF_8_create_env, russian_UTF_8_close_env, russian_UTF_8_stem}, - {"spanish", PG_UTF8, spanish_UTF_8_create_env, spanish_UTF_8_close_env, spanish_UTF_8_stem}, - {"swedish", PG_UTF8, swedish_UTF_8_create_env, swedish_UTF_8_close_env, swedish_UTF_8_stem}, - {"turkish", PG_UTF8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem}, + STEMMER_MODULE(danish, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(dutch, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(english, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(finnish, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(french, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(german, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(indonesian, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(irish, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(italian, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(norwegian, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(porter, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(portuguese, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(spanish, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(swedish, PG_LATIN1, ISO_8859_1), + STEMMER_MODULE(hungarian, PG_LATIN2, ISO_8859_2), + STEMMER_MODULE(romanian, PG_LATIN2, ISO_8859_2), + STEMMER_MODULE(russian, PG_KOI8R, KOI8_R), + STEMMER_MODULE(arabic, 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), + STEMMER_MODULE(finnish, PG_UTF8, UTF_8), + STEMMER_MODULE(french, PG_UTF8, UTF_8), + STEMMER_MODULE(german, 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), + STEMMER_MODULE(italian, PG_UTF8, UTF_8), + STEMMER_MODULE(lithuanian, PG_UTF8, UTF_8), + STEMMER_MODULE(nepali, PG_UTF8, UTF_8), + STEMMER_MODULE(norwegian, PG_UTF8, UTF_8), + STEMMER_MODULE(porter, PG_UTF8, UTF_8), + STEMMER_MODULE(portuguese, PG_UTF8, UTF_8), + STEMMER_MODULE(romanian, PG_UTF8, UTF_8), + STEMMER_MODULE(russian, PG_UTF8, UTF_8), + STEMMER_MODULE(spanish, PG_UTF8, UTF_8), + STEMMER_MODULE(swedish, PG_UTF8, UTF_8), + STEMMER_MODULE(tamil, PG_UTF8, UTF_8), + STEMMER_MODULE(turkish, PG_UTF8, UTF_8), /* * Stemmer with PG_SQL_ASCII encoding should be valid for any server * encoding */ - {"english", PG_SQL_ASCII, english_ISO_8859_1_create_env, english_ISO_8859_1_close_env, english_ISO_8859_1_stem}, + STEMMER_MODULE(english, PG_SQL_ASCII, ISO_8859_1), {NULL, 0, NULL, NULL, NULL} /* list end marker */ }; diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c index 36a9f99276..263c226e34 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -132,15 +132,15 @@ static const symbol s_0[] = { 's', 't' }; static const symbol s_1[] = { 'i', 'g' }; static const symbol s_2[] = { 'l', 0xF8, 's' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 33 */ - { int ret = z->c + 3; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 31 */ + { int c_test1 = z->c; /* test, line 33 */ + { int ret = z->c + 3; /* hop, line 33 */ if (0 > ret || ret > z->l) return 0; - z->c = ret; /* hop, line 33 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 33 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 34 */ { /* gopast */ /* non v, line 34 */ @@ -149,37 +149,34 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 34 */ - /* try, line 35 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 35 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 35 */ + z->I[0] = z->I[1]; /* $p1 = , line 35 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 41 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 41 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 41 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 41 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 32); /* substring, line 41 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 41 */ + among_var = find_among_b(z, a_0, 32); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 41 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 42 */ case 1: { int ret = slice_del(z); /* delete, line 48 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b(z, g_s_ending, 97, 229, 0)) return 0; + if (in_grouping_b(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 50 */ { int ret = slice_del(z); /* delete, line 50 */ if (ret < 0) return ret; } @@ -188,21 +185,19 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 55 */ - { int mlimit; /* setlimit, line 56 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 55 */ + + { int mlimit2; /* setlimit, line 56 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 56 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit; return 0; } /* substring, line 56 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 56 */ + if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 56 */ - z->lb = mlimit; + z->lb = mlimit2; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } if (z->c <= z->lb) return 0; z->c--; /* next, line 62 */ @@ -213,41 +208,38 @@ static int r_consonant_pair(struct SN_env * z) { return 1; } -static int r_other_suffix(struct SN_env * z) { +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; { int m1 = z->l - z->c; (void)m1; /* do, line 66 */ z->ket = z->c; /* [, line 66 */ - if (!(eq_s_b(z, 2, s_0))) goto lab0; + if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 66 */ z->bra = z->c; /* ], line 66 */ - if (!(eq_s_b(z, 2, s_1))) goto lab0; + if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 66 */ { int ret = slice_del(z); /* delete, line 66 */ if (ret < 0) return ret; } lab0: z->c = z->l - m1; } - { int mlimit; /* setlimit, line 67 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit2; /* setlimit, line 67 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 67 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 67 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 5); /* substring, line 67 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 67 */ + among_var = find_among_b(z, a_2, 5); + if (!(among_var)) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 67 */ - z->lb = mlimit; + z->lb = mlimit2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 68 */ case 1: { int ret = slice_del(z); /* delete, line 70 */ if (ret < 0) return ret; } { int m3 = z->l - z->c; (void)m3; /* do, line 70 */ - { int ret = r_consonant_pair(z); - if (ret == 0) goto lab1; /* call consonant_pair, line 70 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 70 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -263,19 +255,17 @@ static int r_other_suffix(struct SN_env * z) { return 1; } -static int r_undouble(struct SN_env * z) { - { int mlimit; /* setlimit, line 76 */ - int m1 = z->l - z->c; (void)m1; +static int r_undouble(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 76 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 76 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 76 */ - if (out_grouping_b(z, g_v, 97, 248, 0)) { z->lb = mlimit; return 0; } + if (out_grouping_b(z, g_v, 97, 248, 0)) { z->lb = mlimit1; return 0; } /* non v, line 76 */ z->bra = z->c; /* ], line 76 */ z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 76 */ if (z->S[0] == 0) return -1; /* -> ch, line 76 */ - z->lb = mlimit; + z->lb = mlimit1; } if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 77 */ { int ret = slice_del(z); /* delete, line 78 */ @@ -284,10 +274,10 @@ static int r_undouble(struct SN_env * z) { return 1; } -extern int danish_ISO_8859_1_stem(struct SN_env * z) { +extern int danish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 84 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 84 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 84 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -296,32 +286,32 @@ extern int danish_ISO_8859_1_stem(struct SN_env * z) { z->lb = z->c; z->c = z->l; /* backwards, line 85 */ { int m2 = z->l - z->c; (void)m2; /* do, line 86 */ - { int ret = r_main_suffix(z); - if (ret == 0) goto lab1; /* call main_suffix, line 86 */ + { int ret = r_main_suffix(z); /* call main_suffix, line 86 */ + 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 87 */ - { int ret = r_consonant_pair(z); - if (ret == 0) goto lab2; /* call consonant_pair, line 87 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 87 */ + 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 88 */ - { int ret = r_other_suffix(z); - if (ret == 0) goto lab3; /* call other_suffix, line 88 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 88 */ + 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 89 */ - { int ret = r_undouble(z); - if (ret == 0) goto lab4; /* call undouble, line 89 */ + { int ret = r_undouble(z); /* call undouble, line 89 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } lab4: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c index e5ba288b1f..b3d2c4e5d1 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -134,36 +134,28 @@ static const symbol s_1[] = { 'e' }; static const symbol s_2[] = { 'i' }; static const symbol s_3[] = { 'o' }; static const symbol s_4[] = { 'u' }; -static const symbol s_5[] = { 'y' }; -static const symbol s_6[] = { 'Y' }; -static const symbol s_7[] = { 'i' }; -static const symbol s_8[] = { 'I' }; -static const symbol s_9[] = { 'y' }; -static const symbol s_10[] = { 'Y' }; -static const symbol s_11[] = { 'y' }; -static const symbol s_12[] = { 'i' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'g', 'e', 'm' }; -static const symbol s_15[] = { 'h', 'e', 'i', 'd' }; -static const symbol s_16[] = { 'h', 'e', 'i', 'd' }; -static const symbol s_17[] = { 'c' }; -static const symbol s_18[] = { 'e', 'n' }; -static const symbol s_19[] = { 'i', 'g' }; -static const symbol s_20[] = { 'e' }; -static const symbol s_21[] = { 'e' }; +static const symbol s_5[] = { 'Y' }; +static const symbol s_6[] = { 'I' }; +static const symbol s_7[] = { 'Y' }; +static const symbol s_8[] = { 'y' }; +static const symbol s_9[] = { 'i' }; +static const symbol s_10[] = { 'g', 'e', 'm' }; +static const symbol s_11[] = { 'h', 'e', 'i', 'd' }; +static const symbol s_12[] = { 'h', 'e', 'i', 'd' }; +static const symbol s_13[] = { 'e', 'n' }; +static const symbol s_14[] = { 'i', 'g' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; - { int c_test = z->c; /* test, line 42 */ + { int c_test1 = z->c; /* test, line 42 */ while(1) { /* repeat, line 42 */ - int c1 = z->c; + 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 - among_var = find_among(z, a_0, 11); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 43 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 43 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 45 */ if (ret < 0) return ret; @@ -196,62 +188,65 @@ static int r_prelude(struct SN_env * z) { } continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } - { int c_keep = z->c; /* try, line 57 */ + { int c3 = z->c; /* try, line 57 */ z->bra = z->c; /* [, line 57 */ - if (!(eq_s(z, 1, s_5))) { z->c = c_keep; goto lab1; } + if (z->c == z->l || z->p[z->c] != 'y') { z->c = c3; goto lab1; } /* literal, line 57 */ + z->c++; z->ket = z->c; /* ], line 57 */ - { int ret = slice_from_s(z, 1, s_6); /* <-, line 57 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 57 */ if (ret < 0) return ret; } lab1: ; } while(1) { /* repeat, line 58 */ - int c2 = z->c; + int c4 = z->c; while(1) { /* goto, line 58 */ - int c3 = z->c; - if (in_grouping(z, g_v, 97, 232, 0)) goto lab3; + int c5 = z->c; + if (in_grouping(z, g_v, 97, 232, 0)) goto lab3; /* grouping v, line 59 */ z->bra = z->c; /* [, line 59 */ - { int c4 = z->c; /* or, line 59 */ - if (!(eq_s(z, 1, s_7))) goto lab5; + { int c6 = z->c; /* or, line 59 */ + if (z->c == z->l || z->p[z->c] != 'i') goto lab5; /* literal, line 59 */ + z->c++; z->ket = z->c; /* ], line 59 */ - if (in_grouping(z, g_v, 97, 232, 0)) goto lab5; - { int ret = slice_from_s(z, 1, s_8); /* <-, line 59 */ + if (in_grouping(z, g_v, 97, 232, 0)) goto lab5; /* grouping v, line 59 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 59 */ if (ret < 0) return ret; } goto lab4; lab5: - z->c = c4; - if (!(eq_s(z, 1, s_9))) goto lab3; + z->c = c6; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 60 */ + z->c++; z->ket = z->c; /* ], line 60 */ - { int ret = slice_from_s(z, 1, s_10); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 60 */ if (ret < 0) return ret; } } lab4: - z->c = c3; + z->c = c5; break; lab3: - z->c = c3; + z->c = c5; if (z->c >= z->l) goto lab2; z->c++; /* goto, line 58 */ } continue; lab2: - z->c = c2; + z->c = c4; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 66 */ + z->I[1] = z->l; /* $p2 = , line 67 */ { /* gopast */ /* grouping v, line 69 */ int ret = out_grouping(z, g_v, 97, 232, 1); if (ret < 0) return 0; @@ -263,9 +258,9 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 69 */ - /* try, line 70 */ - if (!(z->I[0] < 3)) goto lab0; - z->I[0] = 3; + /* try, line 70 */ + if (!(z->I[0] < 3)) goto lab0; /* $( < ), line 70 */ + z->I[0] = 3; /* $p1 = , line 70 */ lab0: { /* gopast */ /* grouping v, line 71 */ int ret = out_grouping(z, g_v, 97, 232, 1); @@ -281,24 +276,23 @@ lab0: return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 75 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 77 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 78 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 79 */ if (ret < 0) return ret; } break; @@ -315,21 +309,21 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ return 1; } -static int r_undouble(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 91 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 3))) return 0; /* among, line 91 */ - z->c = z->l - m_test; +static int r_undouble(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 91 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 91 */ + if (!(find_among_b(z, a_2, 3))) return 0; + z->c = z->l - m_test1; } z->ket = z->c; /* [, line 91 */ if (z->c <= z->lb) return 0; @@ -341,40 +335,38 @@ static int r_undouble(struct SN_env * z) { return 1; } -static int r_e_ending(struct SN_env * z) { +static int r_e_ending(struct SN_env * z) { /* backwardmode */ z->B[0] = 0; /* unset e_found, line 95 */ z->ket = z->c; /* [, line 96 */ - if (!(eq_s_b(z, 1, s_13))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 96 */ + z->c--; z->bra = z->c; /* ], line 96 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 96 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 96 */ + if (ret <= 0) return ret; } - { int m_test = z->l - z->c; /* test, line 96 */ - if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; - z->c = z->l - m_test; + { int m_test1 = z->l - z->c; /* test, line 96 */ + if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; /* non v, line 96 */ + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } z->B[0] = 1; /* set e_found, line 97 */ - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 98 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 98 */ + if (ret <= 0) return ret; } return 1; } -static int r_en_ending(struct SN_env * z) { - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 102 */ - if (ret < 0) return ret; +static int r_en_ending(struct SN_env * z) { /* backwardmode */ + { int ret = r_R1(z); /* call R1, line 102 */ + if (ret <= 0) return ret; } { int m1 = z->l - z->c; (void)m1; /* and, line 102 */ - if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; + if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; /* non v, line 102 */ z->c = z->l - m1; { int m2 = z->l - z->c; (void)m2; /* not, line 102 */ - if (!(eq_s_b(z, 3, s_14))) goto lab0; + if (!(eq_s_b(z, 3, s_10))) goto lab0; /* literal, line 102 */ return 0; lab0: z->c = z->l - m2; @@ -383,44 +375,42 @@ static int r_en_ending(struct SN_env * z) { { int ret = slice_del(z); /* delete, line 102 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 103 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 103 */ + if (ret <= 0) return ret; } return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; { int m1 = z->l - z->c; (void)m1; /* do, line 107 */ z->ket = z->c; /* [, line 108 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; - among_var = find_among_b(z, a_3, 5); /* substring, line 108 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 108 */ + among_var = find_among_b(z, a_3, 5); if (!(among_var)) goto lab0; z->bra = z->c; /* ], line 108 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 108 */ case 1: - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 110 */ + { int ret = r_R1(z); /* call R1, line 110 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - { int ret = slice_from_s(z, 4, s_15); /* <-, line 110 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 110 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_en_ending(z); - if (ret == 0) goto lab0; /* call en_ending, line 113 */ + { int ret = r_en_ending(z); /* call en_ending, line 113 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } break; case 3: - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 116 */ + { int ret = r_R1(z); /* call R1, line 116 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0; + if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0; /* non v_j, line 116 */ { int ret = slice_del(z); /* delete, line 116 */ if (ret < 0) return ret; } @@ -430,8 +420,8 @@ static int r_standard_suffix(struct SN_env * z) { z->c = z->l - m1; } { int m2 = z->l - z->c; (void)m2; /* do, line 120 */ - { int ret = r_e_ending(z); - if (ret == 0) goto lab1; /* call e_ending, line 120 */ + { int ret = r_e_ending(z); /* call e_ending, line 120 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -439,14 +429,15 @@ static int r_standard_suffix(struct SN_env * z) { } { int m3 = z->l - z->c; (void)m3; /* do, line 122 */ z->ket = z->c; /* [, line 122 */ - if (!(eq_s_b(z, 4, s_16))) goto lab2; + if (!(eq_s_b(z, 4, s_12))) goto lab2; /* literal, line 122 */ z->bra = z->c; /* ], line 122 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 122 */ + { int ret = r_R2(z); /* call R2, line 122 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } { int m4 = z->l - z->c; (void)m4; /* not, line 122 */ - if (!(eq_s_b(z, 1, s_17))) goto lab3; + if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3; /* literal, line 122 */ + z->c--; goto lab2; lab3: z->c = z->l - m4; @@ -455,10 +446,10 @@ static int r_standard_suffix(struct SN_env * z) { if (ret < 0) return ret; } z->ket = z->c; /* [, line 123 */ - if (!(eq_s_b(z, 2, s_18))) goto lab2; + if (!(eq_s_b(z, 2, s_13))) goto lab2; /* literal, line 123 */ z->bra = z->c; /* ], line 123 */ - { int ret = r_en_ending(z); - if (ret == 0) goto lab2; /* call en_ending, line 123 */ + { int ret = r_en_ending(z); /* call en_ending, line 123 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } lab2: @@ -466,15 +457,14 @@ static int r_standard_suffix(struct SN_env * z) { } { 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; - among_var = find_among_b(z, a_4, 6); /* 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 lab4; /* substring, line 127 */ + among_var = find_among_b(z, a_4, 6); if (!(among_var)) goto lab4; z->bra = z->c; /* ], line 127 */ - switch(among_var) { - case 0: goto lab4; + switch (among_var) { /* among, line 127 */ case 1: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 129 */ + { int ret = r_R2(z); /* call R2, line 129 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 129 */ @@ -482,14 +472,15 @@ static int r_standard_suffix(struct SN_env * z) { } { int m6 = z->l - z->c; (void)m6; /* or, line 130 */ z->ket = z->c; /* [, line 130 */ - if (!(eq_s_b(z, 2, s_19))) goto lab6; + if (!(eq_s_b(z, 2, s_14))) goto lab6; /* literal, line 130 */ z->bra = z->c; /* ], line 130 */ - { int ret = r_R2(z); - if (ret == 0) goto lab6; /* call R2, line 130 */ + { int ret = r_R2(z); /* call R2, line 130 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } { int m7 = z->l - z->c; (void)m7; /* not, line 130 */ - if (!(eq_s_b(z, 1, s_20))) goto lab7; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 130 */ + z->c--; goto lab6; lab7: z->c = z->l - m7; @@ -500,20 +491,21 @@ static int r_standard_suffix(struct SN_env * z) { goto lab5; lab6: z->c = z->l - m6; - { int ret = r_undouble(z); - if (ret == 0) goto lab4; /* call undouble, line 130 */ + { int ret = r_undouble(z); /* call undouble, line 130 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: break; case 2: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 133 */ + { int ret = r_R2(z); /* call R2, line 133 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int m8 = z->l - z->c; (void)m8; /* not, line 133 */ - if (!(eq_s_b(z, 1, s_21))) goto lab8; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 133 */ + z->c--; goto lab4; lab8: z->c = z->l - m8; @@ -523,21 +515,21 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 136 */ + { int ret = r_R2(z); /* call R2, line 136 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; } - { int ret = r_e_ending(z); - if (ret == 0) goto lab4; /* call e_ending, line 136 */ + { int ret = r_e_ending(z); /* call e_ending, line 136 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 139 */ + { int ret = r_R2(z); /* call R2, line 139 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 139 */ @@ -545,8 +537,8 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 5: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */ @@ -559,12 +551,12 @@ static int r_standard_suffix(struct SN_env * z) { 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; - { int m_test = 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; - if (!(find_among_b(z, a_5, 4))) goto lab9; /* among, line 149 */ - if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab9; - z->c = z->l - m_test; + if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab9; /* 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 */ + z->c = z->l - m_test10; } z->ket = z->c; /* [, line 152 */ if (z->c <= z->lb) goto lab9; @@ -579,18 +571,18 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -extern int dutch_ISO_8859_1_stem(struct SN_env * z) { +extern int dutch_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 159 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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); - if (ret == 0) goto lab1; /* call mark_regions, line 160 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 160 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -598,22 +590,20 @@ extern int dutch_ISO_8859_1_stem(struct SN_env * z) { } z->lb = z->c; z->c = z->l; /* backwards, line 161 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 162 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab2; /* call standard_suffix, line 162 */ - if (ret < 0) return ret; - } - lab2: - z->c = z->l - m3; + /* 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 c4 = z->c; /* do, line 163 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab3; /* call postlude, line 163 */ + { 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 = c4; + z->c = c3; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c index 141c45dc27..87ff8041aa 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -153,12 +153,12 @@ static const struct among a_5[24] = /* 0 */ { 4, s_5_0, -1, 3, 0}, /* 1 */ { 4, s_5_1, -1, 2, 0}, /* 2 */ { 3, s_5_2, -1, 13, 0}, -/* 3 */ { 2, s_5_3, -1, 16, 0}, +/* 3 */ { 2, s_5_3, -1, 15, 0}, /* 4 */ { 3, s_5_4, 3, 12, 0}, /* 5 */ { 4, s_5_5, 4, 4, 0}, /* 6 */ { 4, s_5_6, 3, 8, 0}, -/* 7 */ { 5, s_5_7, 3, 14, 0}, -/* 8 */ { 6, s_5_8, 3, 15, 0}, +/* 7 */ { 5, s_5_7, 3, 9, 0}, +/* 8 */ { 6, s_5_8, 3, 14, 0}, /* 9 */ { 5, s_5_9, 3, 10, 0}, /* 10 */ { 5, s_5_10, 3, 5, 0}, /* 11 */ { 5, s_5_11, -1, 8, 0}, @@ -317,62 +317,52 @@ static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 }; static const unsigned char g_valid_LI[] = { 55, 141, 2 }; -static const symbol s_0[] = { '\'' }; -static const symbol s_1[] = { 'y' }; -static const symbol s_2[] = { 'Y' }; -static const symbol s_3[] = { 'y' }; -static const symbol s_4[] = { 'Y' }; -static const symbol s_5[] = { 's', 's' }; -static const symbol s_6[] = { 'i' }; -static const symbol s_7[] = { 'i', 'e' }; -static const symbol s_8[] = { 'e', 'e' }; -static const symbol s_9[] = { 'e' }; -static const symbol s_10[] = { 'e' }; -static const symbol s_11[] = { 'y' }; -static const symbol s_12[] = { 'Y' }; -static const symbol s_13[] = { 'i' }; -static const symbol s_14[] = { 't', 'i', 'o', 'n' }; -static const symbol s_15[] = { 'e', 'n', 'c', 'e' }; -static const symbol s_16[] = { 'a', 'n', 'c', 'e' }; -static const symbol s_17[] = { 'a', 'b', 'l', 'e' }; -static const symbol s_18[] = { 'e', 'n', 't' }; -static const symbol s_19[] = { 'i', 'z', 'e' }; -static const symbol s_20[] = { 'a', 't', 'e' }; -static const symbol s_21[] = { 'a', 'l' }; -static const symbol s_22[] = { 'f', 'u', 'l' }; -static const symbol s_23[] = { 'o', 'u', 's' }; -static const symbol s_24[] = { 'i', 'v', 'e' }; -static const symbol s_25[] = { 'b', 'l', 'e' }; -static const symbol s_26[] = { 'l' }; -static const symbol s_27[] = { 'o', 'g' }; -static const symbol s_28[] = { 'f', 'u', 'l' }; -static const symbol s_29[] = { 'l', 'e', 's', 's' }; -static const symbol s_30[] = { 't', 'i', 'o', 'n' }; -static const symbol s_31[] = { 'a', 't', 'e' }; -static const symbol s_32[] = { 'a', 'l' }; -static const symbol s_33[] = { 'i', 'c' }; -static const symbol s_34[] = { 's' }; -static const symbol s_35[] = { 't' }; -static const symbol s_36[] = { 'l' }; -static const symbol s_37[] = { 's', 'k', 'i' }; -static const symbol s_38[] = { 's', 'k', 'y' }; -static const symbol s_39[] = { 'd', 'i', 'e' }; -static const symbol s_40[] = { 'l', 'i', 'e' }; -static const symbol s_41[] = { 't', 'i', 'e' }; -static const symbol s_42[] = { 'i', 'd', 'l' }; -static const symbol s_43[] = { 'g', 'e', 'n', 't', 'l' }; -static const symbol s_44[] = { 'u', 'g', 'l', 'i' }; -static const symbol s_45[] = { 'e', 'a', 'r', 'l', 'i' }; -static const symbol s_46[] = { 'o', 'n', 'l', 'i' }; -static const symbol s_47[] = { 's', 'i', 'n', 'g', 'l' }; -static const symbol s_48[] = { 'Y' }; -static const symbol s_49[] = { 'y' }; +static const symbol s_0[] = { 'Y' }; +static const symbol s_1[] = { 'Y' }; +static const symbol s_2[] = { 's', 's' }; +static const symbol s_3[] = { 'i' }; +static const symbol s_4[] = { 'i', 'e' }; +static const symbol s_5[] = { 'e', 'e' }; +static const symbol s_6[] = { 'e' }; +static const symbol s_7[] = { 'e' }; +static const symbol s_8[] = { 'i' }; +static const symbol s_9[] = { 't', 'i', 'o', 'n' }; +static const symbol s_10[] = { 'e', 'n', 'c', 'e' }; +static const symbol s_11[] = { 'a', 'n', 'c', 'e' }; +static const symbol s_12[] = { 'a', 'b', 'l', 'e' }; +static const symbol s_13[] = { 'e', 'n', 't' }; +static const symbol s_14[] = { 'i', 'z', 'e' }; +static const symbol s_15[] = { 'a', 't', 'e' }; +static const symbol s_16[] = { 'a', 'l' }; +static const symbol s_17[] = { 'f', 'u', 'l' }; +static const symbol s_18[] = { 'o', 'u', 's' }; +static const symbol s_19[] = { 'i', 'v', 'e' }; +static const symbol s_20[] = { 'b', 'l', 'e' }; +static const symbol s_21[] = { 'o', 'g' }; +static const symbol s_22[] = { 'l', 'e', 's', 's' }; +static const symbol s_23[] = { 't', 'i', 'o', 'n' }; +static const symbol s_24[] = { 'a', 't', 'e' }; +static const symbol s_25[] = { 'a', 'l' }; +static const symbol s_26[] = { 'i', 'c' }; +static const symbol s_27[] = { 's', 'k', 'i' }; +static const symbol s_28[] = { 's', 'k', 'y' }; +static const symbol s_29[] = { 'd', 'i', 'e' }; +static const symbol s_30[] = { 'l', 'i', 'e' }; +static const symbol s_31[] = { 't', 'i', 'e' }; +static const symbol s_32[] = { 'i', 'd', 'l' }; +static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' }; +static const symbol s_34[] = { 'u', 'g', 'l', 'i' }; +static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' }; +static const symbol s_36[] = { 'o', 'n', 'l', 'i' }; +static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' }; +static const symbol s_38[] = { 'y' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ z->B[0] = 0; /* unset Y_found, line 26 */ { int c1 = z->c; /* do, line 27 */ z->bra = z->c; /* [, line 27 */ - if (!(eq_s(z, 1, s_0))) goto lab0; + if (z->c == z->l || z->p[z->c] != '\'') goto lab0; /* literal, line 27 */ + z->c++; z->ket = z->c; /* ], line 27 */ { int ret = slice_del(z); /* delete, line 27 */ if (ret < 0) return ret; @@ -382,9 +372,10 @@ static int r_prelude(struct SN_env * z) { } { int c2 = z->c; /* do, line 28 */ z->bra = z->c; /* [, line 28 */ - if (!(eq_s(z, 1, s_1))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'y') goto lab1; /* literal, line 28 */ + z->c++; z->ket = z->c; /* ], line 28 */ - { int ret = slice_from_s(z, 1, s_2); /* <-, line 28 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 28 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 28 */ @@ -396,9 +387,10 @@ static int r_prelude(struct SN_env * z) { int c4 = z->c; while(1) { /* goto, line 29 */ int c5 = z->c; - if (in_grouping(z, g_v, 97, 121, 0)) goto lab4; + if (in_grouping(z, g_v, 97, 121, 0)) goto lab4; /* grouping v, line 29 */ z->bra = z->c; /* [, line 29 */ - if (!(eq_s(z, 1, s_3))) goto lab4; + if (z->c == z->l || z->p[z->c] != 'y') goto lab4; /* literal, line 29 */ + z->c++; z->ket = z->c; /* ], line 29 */ z->c = c5; break; @@ -407,7 +399,7 @@ static int r_prelude(struct SN_env * z) { if (z->c >= z->l) goto lab3; z->c++; /* goto, line 29 */ } - { int ret = slice_from_s(z, 1, s_4); /* <-, line 29 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 29 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 29 */ @@ -421,13 +413,13 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 33 */ + z->I[1] = z->l; /* $p2 = , line 34 */ { int c1 = z->c; /* do, line 35 */ { int c2 = z->c; /* or, line 41 */ - if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2; - if (!(find_among(z, a_0, 3))) goto lab2; /* among, line 36 */ + if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2; /* among, line 36 */ + if (!(find_among(z, a_0, 3))) goto lab2; goto lab1; lab2: z->c = c2; @@ -461,76 +453,69 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_shortv(struct SN_env * z) { +static int r_shortv(struct SN_env * z) { /* backwardmode */ { int m1 = z->l - z->c; (void)m1; /* or, line 51 */ - if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) goto lab1; - if (in_grouping_b(z, g_v, 97, 121, 0)) goto lab1; - if (out_grouping_b(z, g_v, 97, 121, 0)) goto lab1; + if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) goto lab1; /* non v_WXY, line 50 */ + if (in_grouping_b(z, g_v, 97, 121, 0)) goto lab1; /* grouping v, line 50 */ + if (out_grouping_b(z, g_v, 97, 121, 0)) goto lab1; /* non v, line 50 */ goto lab0; lab1: z->c = z->l - m1; - if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; - if (in_grouping_b(z, g_v, 97, 121, 0)) return 0; + if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; /* non v, line 52 */ + if (in_grouping_b(z, g_v, 97, 121, 0)) return 0; /* grouping v, line 52 */ if (z->c > z->lb) return 0; /* atlimit, line 52 */ } lab0: return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 55 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 56 */ return 1; } -static int r_Step_1a(struct SN_env * z) { +static int r_Step_1a(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 59 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 59 */ z->ket = z->c; /* [, line 60 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m_keep; goto lab0; } - among_var = find_among_b(z, a_1, 3); /* substring, line 60 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m1; goto lab0; } /* substring, line 60 */ + if (!(find_among_b(z, a_1, 3))) { z->c = z->l - m1; goto lab0; } z->bra = z->c; /* ], line 60 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } - case 1: - { int ret = slice_del(z); /* delete, line 62 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 62 */ + if (ret < 0) return ret; } lab0: ; } z->ket = z->c; /* [, line 65 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0; - among_var = find_among_b(z, a_2, 6); /* substring, line 65 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0; /* substring, line 65 */ + among_var = find_among_b(z, a_2, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 65 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 65 */ case 1: - { int ret = slice_from_s(z, 2, s_5); /* <-, line 66 */ + { int ret = slice_from_s(z, 2, s_2); /* <-, line 66 */ if (ret < 0) return ret; } break; case 2: - { int m1 = z->l - z->c; (void)m1; /* or, line 68 */ - { int ret = z->c - 2; + { int m2 = z->l - z->c; (void)m2; /* or, line 68 */ + { int ret = z->c - 2; /* hop, line 68 */ if (z->lb > ret || ret > z->l) goto lab2; - z->c = ret; /* hop, line 68 */ + z->c = ret; } - { int ret = slice_from_s(z, 1, s_6); /* <-, line 68 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 68 */ if (ret < 0) return ret; } goto lab1; lab2: - z->c = z->l - m1; - { int ret = slice_from_s(z, 2, s_7); /* <-, line 68 */ + z->c = z->l - m2; + { int ret = slice_from_s(z, 2, s_4); /* <-, line 68 */ if (ret < 0) return ret; } } @@ -552,48 +537,47 @@ static int r_Step_1a(struct SN_env * z) { return 1; } -static int r_Step_1b(struct SN_env * z) { +static int r_Step_1b(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 75 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_4, 6); /* substring, line 75 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 75 */ + among_var = find_among_b(z, a_4, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 75 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 75 */ case 1: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 77 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 77 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_8); /* <-, line 77 */ + { int ret = slice_from_s(z, 2, s_5); /* <-, line 77 */ if (ret < 0) return ret; } break; case 2: - { int m_test = z->l - z->c; /* test, line 80 */ + { int m_test1 = z->l - z->c; /* test, line 80 */ { /* gopast */ /* grouping v, line 80 */ int ret = out_grouping_b(z, g_v, 97, 121, 1); if (ret < 0) return 0; z->c -= ret; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 80 */ if (ret < 0) return ret; } - { int m_test = z->l - z->c; /* test, line 81 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else - among_var = find_among_b(z, a_3, 13); /* substring, line 81 */ + { int m_test2 = z->l - z->c; /* test, line 81 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else /* substring, line 81 */ + among_var = find_among_b(z, a_3, 13); if (!(among_var)) return 0; - z->c = z->l - m_test; + z->c = z->l - m_test2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 81 */ case 1: - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 83 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_6); /* <+, line 83 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -608,16 +592,17 @@ static int r_Step_1b(struct SN_env * z) { break; case 3: if (z->c != z->I[0]) return 0; /* atmark, line 87 */ - { int m_test = z->l - z->c; /* test, line 87 */ - { int ret = r_shortv(z); - if (ret == 0) return 0; /* call shortv, line 87 */ - if (ret < 0) return ret; + { int m_test3 = z->l - z->c; /* test, line 87 */ + { int ret = r_shortv(z); /* call shortv, line 87 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test3; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 87 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_7); /* <+, line 87 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -627,121 +612,115 @@ static int r_Step_1b(struct SN_env * z) { return 1; } -static int r_Step_1c(struct SN_env * z) { +static int r_Step_1c(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 94 */ { int m1 = z->l - z->c; (void)m1; /* or, line 94 */ - if (!(eq_s_b(z, 1, s_11))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1; /* literal, line 94 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_12))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0; /* literal, line 94 */ + z->c--; } lab0: z->bra = z->c; /* ], line 94 */ - if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; - { int m2 = z->l - z->c; (void)m2; /* not, line 95 */ - if (z->c > z->lb) goto lab2; /* atlimit, line 95 */ - return 0; - lab2: - z->c = z->l - m2; - } - { int ret = slice_from_s(z, 1, s_13); /* <-, line 96 */ + if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; /* non v, line 95 */ + /* not, line 95 */ + if (z->c > z->lb) goto lab2; /* atlimit, line 95 */ + return 0; +lab2: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 96 */ if (ret < 0) return ret; } return 1; } -static int r_Step_2(struct SN_env * z) { +static int r_Step_2(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 100 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 24); /* substring, line 100 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 100 */ + among_var = find_among_b(z, a_5, 24); if (!(among_var)) return 0; z->bra = z->c; /* ], line 100 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 100 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 100 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 100 */ case 1: - { int ret = slice_from_s(z, 4, s_14); /* <-, line 101 */ + { int ret = slice_from_s(z, 4, s_9); /* <-, line 101 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_15); /* <-, line 102 */ + { int ret = slice_from_s(z, 4, s_10); /* <-, line 102 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 4, s_16); /* <-, line 103 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 103 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 4, s_17); /* <-, line 104 */ + { int ret = slice_from_s(z, 4, s_12); /* <-, line 104 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_18); /* <-, line 105 */ + { int ret = slice_from_s(z, 3, s_13); /* <-, line 105 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 3, s_19); /* <-, line 107 */ + { int ret = slice_from_s(z, 3, s_14); /* <-, line 107 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 3, s_20); /* <-, line 109 */ + { int ret = slice_from_s(z, 3, s_15); /* <-, line 109 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 2, s_21); /* <-, line 111 */ + { int ret = slice_from_s(z, 2, s_16); /* <-, line 111 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 3, s_22); /* <-, line 112 */ + { int ret = slice_from_s(z, 3, s_17); /* <-, line 112 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 3, s_23); /* <-, line 114 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 114 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 3, s_24); /* <-, line 116 */ + { int ret = slice_from_s(z, 3, s_19); /* <-, line 116 */ if (ret < 0) return ret; } break; case 12: - { int ret = slice_from_s(z, 3, s_25); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_20); /* <-, line 118 */ if (ret < 0) return ret; } break; case 13: - if (!(eq_s_b(z, 1, s_26))) return 0; - { int ret = slice_from_s(z, 2, s_27); /* <-, line 119 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 119 */ + z->c--; + { int ret = slice_from_s(z, 2, s_21); /* <-, line 119 */ if (ret < 0) return ret; } break; case 14: - { int ret = slice_from_s(z, 3, s_28); /* <-, line 120 */ + { int ret = slice_from_s(z, 4, s_22); /* <-, line 121 */ if (ret < 0) return ret; } break; case 15: - { int ret = slice_from_s(z, 4, s_29); /* <-, line 121 */ - if (ret < 0) return ret; - } - break; - case 16: - if (in_grouping_b(z, g_valid_LI, 99, 116, 0)) return 0; + if (in_grouping_b(z, g_valid_LI, 99, 116, 0)) return 0; /* grouping valid_LI, line 122 */ { int ret = slice_del(z); /* delete, line 122 */ if (ret < 0) return ret; } @@ -750,36 +729,34 @@ static int r_Step_2(struct SN_env * z) { return 1; } -static int r_Step_3(struct SN_env * z) { +static int r_Step_3(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 127 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_6, 9); /* substring, line 127 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 127 */ + among_var = find_among_b(z, a_6, 9); if (!(among_var)) return 0; z->bra = z->c; /* ], line 127 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 127 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 127 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 127 */ case 1: - { int ret = slice_from_s(z, 4, s_30); /* <-, line 128 */ + { int ret = slice_from_s(z, 4, s_23); /* <-, line 128 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 3, s_31); /* <-, line 129 */ + { int ret = slice_from_s(z, 3, s_24); /* <-, line 129 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 2, s_32); /* <-, line 130 */ + { int ret = slice_from_s(z, 2, s_25); /* <-, line 130 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 2, s_33); /* <-, line 132 */ + { int ret = slice_from_s(z, 2, s_26); /* <-, line 132 */ if (ret < 0) return ret; } break; @@ -789,9 +766,8 @@ static int r_Step_3(struct SN_env * z) { } break; case 6: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 136 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 136 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; @@ -801,19 +777,17 @@ static int r_Step_3(struct SN_env * z) { return 1; } -static int r_Step_4(struct SN_env * z) { +static int r_Step_4(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 141 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_7, 18); /* substring, line 141 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 141 */ + among_var = find_among_b(z, a_7, 18); if (!(among_var)) return 0; z->bra = z->c; /* ], line 141 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 141 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 141 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 141 */ case 1: { int ret = slice_del(z); /* delete, line 144 */ if (ret < 0) return ret; @@ -821,11 +795,13 @@ static int r_Step_4(struct SN_env * z) { break; case 2: { int m1 = z->l - z->c; (void)m1; /* or, line 145 */ - if (!(eq_s_b(z, 1, s_34))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1; /* literal, line 145 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_35))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0; /* literal, line 145 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 145 */ @@ -836,31 +812,29 @@ static int r_Step_4(struct SN_env * z) { return 1; } -static int r_Step_5(struct SN_env * z) { +static int r_Step_5(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 150 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0; - among_var = find_among_b(z, a_8, 2); /* substring, line 150 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0; /* substring, line 150 */ + among_var = find_among_b(z, a_8, 2); if (!(among_var)) return 0; z->bra = z->c; /* ], line 150 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 150 */ case 1: { int m1 = z->l - z->c; (void)m1; /* or, line 151 */ - { int ret = r_R2(z); - if (ret == 0) goto lab1; /* call R2, line 151 */ + { int ret = r_R2(z); /* call R2, line 151 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = z->l - m1; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 151 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 151 */ + if (ret <= 0) return ret; } { int m2 = z->l - z->c; (void)m2; /* not, line 151 */ - { int ret = r_shortv(z); - if (ret == 0) goto lab2; /* call shortv, line 151 */ + { int ret = r_shortv(z); /* call shortv, line 151 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } return 0; @@ -874,11 +848,11 @@ static int r_Step_5(struct SN_env * z) { } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 152 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 152 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_36))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 152 */ + z->c--; { int ret = slice_del(z); /* delete, line 152 */ if (ret < 0) return ret; } @@ -887,77 +861,76 @@ static int r_Step_5(struct SN_env * z) { return 1; } -static int r_exception2(struct SN_env * z) { +static int r_exception2(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 158 */ - if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; - if (!(find_among_b(z, a_9, 8))) return 0; /* substring, line 158 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; /* substring, line 158 */ + if (!(find_among_b(z, a_9, 8))) return 0; z->bra = z->c; /* ], line 158 */ if (z->c > z->lb) return 0; /* atlimit, line 158 */ return 1; } -static int r_exception1(struct SN_env * z) { +static int r_exception1(struct SN_env * z) { /* forwardmode */ int among_var; z->bra = z->c; /* [, line 170 */ - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; - among_var = find_among(z, a_10, 18); /* substring, line 170 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; /* substring, line 170 */ + among_var = find_among(z, a_10, 18); if (!(among_var)) return 0; z->ket = z->c; /* ], line 170 */ if (z->c < z->l) return 0; /* atlimit, line 170 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 170 */ case 1: - { int ret = slice_from_s(z, 3, s_37); /* <-, line 174 */ + { int ret = slice_from_s(z, 3, s_27); /* <-, line 174 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 3, s_38); /* <-, line 175 */ + { int ret = slice_from_s(z, 3, s_28); /* <-, line 175 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 3, s_39); /* <-, line 176 */ + { int ret = slice_from_s(z, 3, s_29); /* <-, line 176 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 3, s_40); /* <-, line 177 */ + { int ret = slice_from_s(z, 3, s_30); /* <-, line 177 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_41); /* <-, line 178 */ + { int ret = slice_from_s(z, 3, s_31); /* <-, line 178 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 3, s_42); /* <-, line 182 */ + { int ret = slice_from_s(z, 3, s_32); /* <-, line 182 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 5, s_43); /* <-, line 183 */ + { int ret = slice_from_s(z, 5, s_33); /* <-, line 183 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 4, s_44); /* <-, line 184 */ + { int ret = slice_from_s(z, 4, s_34); /* <-, line 184 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 5, s_45); /* <-, line 185 */ + { int ret = slice_from_s(z, 5, s_35); /* <-, line 185 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 4, s_46); /* <-, line 186 */ + { int ret = slice_from_s(z, 4, s_36); /* <-, line 186 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 5, s_47); /* <-, line 187 */ + { int ret = slice_from_s(z, 5, s_37); /* <-, line 187 */ if (ret < 0) return ret; } break; @@ -965,14 +938,15 @@ static int r_exception1(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +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; while(1) { /* goto, line 203 */ int c2 = z->c; z->bra = z->c; /* [, line 203 */ - if (!(eq_s(z, 1, s_48))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'Y') goto lab1; /* literal, line 203 */ + z->c++; z->ket = z->c; /* ], line 203 */ z->c = c2; break; @@ -981,7 +955,7 @@ static int r_postlude(struct SN_env * z) { if (z->c >= z->l) goto lab0; z->c++; /* goto, line 203 */ } - { int ret = slice_from_s(z, 1, s_49); /* <-, line 203 */ + { int ret = slice_from_s(z, 1, s_38); /* <-, line 203 */ if (ret < 0) return ret; } continue; @@ -992,19 +966,19 @@ static int r_postlude(struct SN_env * z) { return 1; } -extern int english_ISO_8859_1_stem(struct SN_env * z) { +extern int english_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* or, line 207 */ - { int ret = r_exception1(z); - if (ret == 0) goto lab1; /* call exception1, line 207 */ + { int ret = r_exception1(z); /* call exception1, line 207 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = c1; { int c2 = z->c; /* not, line 208 */ - { int ret = z->c + 3; + { int ret = z->c + 3; /* hop, line 208 */ if (0 > ret || ret > z->l) goto lab3; - z->c = ret; /* hop, line 208 */ + z->c = ret; } goto lab2; lab3: @@ -1013,98 +987,94 @@ extern int english_ISO_8859_1_stem(struct SN_env * z) { goto lab0; lab2: z->c = c1; - { int c3 = z->c; /* do, line 209 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab4; /* call prelude, line 209 */ - if (ret < 0) return ret; - } - lab4: - z->c = c3; + /* do, line 209 */ + { int ret = r_prelude(z); /* call prelude, line 209 */ + if (ret == 0) goto lab4; + if (ret < 0) return ret; } - { int c4 = z->c; /* do, line 210 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab5; /* call mark_regions, line 210 */ - if (ret < 0) return ret; - } - lab5: - z->c = c4; + 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 m5 = z->l - z->c; (void)m5; /* do, line 213 */ - { int ret = r_Step_1a(z); - if (ret == 0) goto lab6; /* call Step_1a, line 213 */ + { 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 - m5; + z->c = z->l - m3; } - { int m6 = z->l - z->c; (void)m6; /* or, line 215 */ - { int ret = r_exception2(z); - if (ret == 0) goto lab8; /* call exception2, line 215 */ + { 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) return ret; } goto lab7; lab8: - z->c = z->l - m6; - { int m7 = z->l - z->c; (void)m7; /* do, line 217 */ - { int ret = r_Step_1b(z); - if (ret == 0) goto lab9; /* call Step_1b, line 217 */ + 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 - m7; + z->c = z->l - m5; } - { int m8 = z->l - z->c; (void)m8; /* do, line 218 */ - { int ret = r_Step_1c(z); - if (ret == 0) goto lab10; /* call Step_1c, line 218 */ + { 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 - m8; + z->c = z->l - m6; } - { int m9 = z->l - z->c; (void)m9; /* do, line 220 */ - { int ret = r_Step_2(z); - if (ret == 0) goto lab11; /* call Step_2, line 220 */ + { 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 - m9; + z->c = z->l - m7; } - { int m10 = z->l - z->c; (void)m10; /* do, line 221 */ - { int ret = r_Step_3(z); - if (ret == 0) goto lab12; /* call Step_3, line 221 */ + { 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 - m10; + z->c = z->l - m8; } - { int m11 = z->l - z->c; (void)m11; /* do, line 222 */ - { int ret = r_Step_4(z); - if (ret == 0) goto lab13; /* call Step_4, line 222 */ + { 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 - m11; + z->c = z->l - m9; } - { int m12 = z->l - z->c; (void)m12; /* do, line 224 */ - { int ret = r_Step_5(z); - if (ret == 0) goto lab14; /* call Step_5, line 224 */ + { 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 - m12; + z->c = z->l - m10; } } lab7: z->c = z->lb; - { int c13 = z->c; /* do, line 227 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab15; /* call postlude, line 227 */ + { 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 = c13; + z->c = c11; } } lab0: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c index 9621771d28..58285e8c34 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -183,7 +183,7 @@ static const struct among a_6[30] = /* 4 */ { 2, s_6_4, 0, -1, 0}, /* 5 */ { 3, s_6_5, 4, -1, 0}, /* 6 */ { 3, s_6_6, 4, -1, 0}, -/* 7 */ { 3, s_6_7, 4, 9, 0}, +/* 7 */ { 3, s_6_7, 4, 2, 0}, /* 8 */ { 3, s_6_8, -1, -1, 0}, /* 9 */ { 3, s_6_9, -1, -1, 0}, /* 10 */ { 3, s_6_10, -1, -1, 0}, @@ -205,7 +205,7 @@ static const struct among a_6[30] = /* 26 */ { 2, s_6_26, 22, -1, 0}, /* 27 */ { 3, s_6_27, 26, -1, 0}, /* 28 */ { 3, s_6_28, 26, -1, 0}, -/* 29 */ { 3, s_6_29, 26, 9, 0} +/* 29 */ { 3, s_6_29, 26, 2, 0} }; static const symbol s_7_0[3] = { 'e', 'j', 'a' }; @@ -261,151 +261,132 @@ static const struct among a_9[2] = static const unsigned char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 }; +static const unsigned char g_C[] = { 119, 223, 119, 1 }; + static const unsigned char g_V1[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; static const unsigned char g_V2[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; static const unsigned char g_particle_end[] = { 17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; -static const symbol s_0[] = { 'k' }; -static const symbol s_1[] = { 'k', 's', 'e' }; -static const symbol s_2[] = { 'k', 's', 'i' }; -static const symbol s_3[] = { 'i' }; -static const symbol s_4[] = { 'a' }; -static const symbol s_5[] = { 'e' }; -static const symbol s_6[] = { 'i' }; -static const symbol s_7[] = { 'o' }; -static const symbol s_8[] = { 0xE4 }; -static const symbol s_9[] = { 0xF6 }; -static const symbol s_10[] = { 'i', 'e' }; -static const symbol s_11[] = { 'e' }; -static const symbol s_12[] = { 'p', 'o' }; -static const symbol s_13[] = { 't' }; -static const symbol s_14[] = { 'p', 'o' }; -static const symbol s_15[] = { 'j' }; -static const symbol s_16[] = { 'o' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'o' }; -static const symbol s_19[] = { 'j' }; +static const symbol s_0[] = { 'k', 's', 'e' }; +static const symbol s_1[] = { 'k', 's', 'i' }; +static const symbol s_2[] = { 'i', 'e' }; +static const symbol s_3[] = { 'p', 'o' }; +static const symbol s_4[] = { 'p', 'o' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - if (out_grouping(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 46 */ - { /* gopast */ /* non V1, line 46 */ - int ret = in_grouping(z, g_V1, 97, 246, 1); - if (ret < 0) return 0; - z->c += ret; - } - z->I[0] = z->c; /* setmark p1, line 46 */ +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 44 */ + z->I[1] = z->l; /* $p2 = , line 45 */ if (out_grouping(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 47 */ { /* gopast */ /* non V1, line 47 */ int ret = in_grouping(z, g_V1, 97, 246, 1); if (ret < 0) return 0; z->c += ret; } - z->I[1] = z->c; /* setmark p2, line 47 */ - return 1; -} - -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; - return 1; -} - -static int r_particle_etc(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 55 */ - int m1 = z->l - z->c; (void)m1; - if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 55 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 55 */ - among_var = find_among_b(z, a_0, 10); /* substring, line 55 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 55 */ - z->lb = mlimit; + z->I[0] = z->c; /* setmark p1, line 47 */ + if (out_grouping(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 48 */ + { /* gopast */ /* non V1, line 48 */ + int ret = in_grouping(z, g_V1, 97, 246, 1); + if (ret < 0) return 0; + z->c += ret; } - switch(among_var) { - case 0: return 0; + z->I[1] = z->c; /* setmark p2, line 48 */ + return 1; +} + +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 53 */ + return 1; +} + +static int r_particle_etc(struct SN_env * z) { /* backwardmode */ + int among_var; + + { int mlimit1; /* setlimit, line 56 */ + if (z->c < z->I[0]) return 0; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 56 */ + among_var = find_among_b(z, a_0, 10); /* substring, line 56 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 56 */ + z->lb = mlimit1; + } + switch (among_var) { /* among, line 57 */ case 1: - if (in_grouping_b(z, g_particle_end, 97, 246, 0)) return 0; + if (in_grouping_b(z, g_particle_end, 97, 246, 0)) return 0; /* grouping particle_end, line 63 */ break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 64 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 65 */ + if (ret <= 0) return ret; } break; } - { int ret = slice_del(z); /* delete, line 66 */ + { int ret = slice_del(z); /* delete, line 67 */ if (ret < 0) return ret; } return 1; } -static int r_possessive(struct SN_env * z) { +static int r_possessive(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 69 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 70 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 69 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 69 */ - among_var = find_among_b(z, a_4, 9); /* substring, line 69 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 69 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 70 */ + among_var = find_among_b(z, a_4, 9); /* substring, line 70 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 70 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 71 */ case 1: - { int m2 = z->l - z->c; (void)m2; /* not, line 72 */ - if (!(eq_s_b(z, 1, s_0))) goto lab0; + { int m2 = z->l - z->c; (void)m2; /* not, line 73 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0; /* literal, line 73 */ + z->c--; return 0; lab0: z->c = z->l - m2; } - { int ret = slice_del(z); /* delete, line 72 */ + { int ret = slice_del(z); /* delete, line 73 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 74 */ + { int ret = slice_del(z); /* delete, line 75 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 74 */ - if (!(eq_s_b(z, 3, s_1))) return 0; - z->bra = z->c; /* ], line 74 */ - { int ret = slice_from_s(z, 3, s_2); /* <-, line 74 */ + z->ket = z->c; /* [, line 75 */ + if (!(eq_s_b(z, 3, s_0))) return 0; /* literal, line 75 */ + z->bra = z->c; /* ], line 75 */ + { int ret = slice_from_s(z, 3, s_1); /* <-, line 75 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 78 */ + { int ret = slice_del(z); /* delete, line 79 */ if (ret < 0) return ret; } break; case 4: - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0; - if (!(find_among_b(z, a_1, 6))) return 0; /* among, line 81 */ - { int ret = slice_del(z); /* delete, line 81 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0; /* among, line 82 */ + if (!(find_among_b(z, a_1, 6))) return 0; + { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } break; case 5: - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 228) return 0; - if (!(find_among_b(z, a_2, 6))) return 0; /* among, line 83 */ - { int ret = slice_del(z); /* delete, line 84 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 228) return 0; /* among, line 84 */ + if (!(find_among_b(z, a_2, 6))) return 0; + { int ret = slice_del(z); /* delete, line 85 */ if (ret < 0) return ret; } break; case 6: - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0; - if (!(find_among_b(z, a_3, 2))) return 0; /* among, line 86 */ - { int ret = slice_del(z); /* delete, line 86 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0; /* among, line 87 */ + if (!(find_among_b(z, a_3, 2))) return 0; + { int ret = slice_del(z); /* delete, line 87 */ if (ret < 0) return ret; } break; @@ -413,344 +394,336 @@ static int r_possessive(struct SN_env * z) { return 1; } -static int r_LONG(struct SN_env * z) { - if (!(find_among_b(z, a_5, 7))) return 0; /* among, line 91 */ +static int r_LONG(struct SN_env * z) { /* backwardmode */ + if (!(find_among_b(z, a_5, 7))) return 0; /* among, line 92 */ return 1; } -static int r_VI(struct SN_env * z) { - if (!(eq_s_b(z, 1, s_3))) return 0; - if (in_grouping_b(z, g_V2, 97, 246, 0)) return 0; +static int r_VI(struct SN_env * z) { /* backwardmode */ + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 94 */ + z->c--; + if (in_grouping_b(z, g_V2, 97, 246, 0)) return 0; /* grouping V2, line 94 */ return 1; } -static int r_case_ending(struct SN_env * z) { +static int r_case_ending(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 96 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 97 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 96 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 96 */ - among_var = find_among_b(z, a_6, 30); /* substring, line 96 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 96 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 97 */ + among_var = find_among_b(z, a_6, 30); /* substring, line 97 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 97 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 98 */ case 1: - if (!(eq_s_b(z, 1, s_4))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'a') return 0; /* literal, line 99 */ + z->c--; break; case 2: - if (!(eq_s_b(z, 1, s_5))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 100 */ + z->c--; break; case 3: - if (!(eq_s_b(z, 1, s_6))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 101 */ + z->c--; break; case 4: - if (!(eq_s_b(z, 1, s_7))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'o') return 0; /* literal, line 102 */ + z->c--; break; case 5: - if (!(eq_s_b(z, 1, s_8))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xE4) return 0; /* literal, line 103 */ + z->c--; break; case 6: - if (!(eq_s_b(z, 1, s_9))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xF6) return 0; /* literal, line 104 */ + z->c--; break; case 7: - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ - { int m2 = z->l - z->c; (void)m2; /* and, line 113 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 112 */ - { int ret = r_LONG(z); - if (ret == 0) goto lab2; /* call LONG, line 111 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 112 */ + { int m3 = z->l - z->c; (void)m3; /* and, line 114 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 113 */ + { int ret = r_LONG(z); /* call LONG, line 112 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } goto lab1; lab2: - z->c = z->l - m3; - if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m_keep; goto lab0; } + z->c = z->l - m4; + if (!(eq_s_b(z, 2, s_2))) { z->c = z->l - m2; goto lab0; } /* literal, line 113 */ } lab1: - z->c = z->l - m2; - if (z->c <= z->lb) { z->c = z->l - m_keep; goto lab0; } - z->c--; /* next, line 113 */ + z->c = z->l - m3; + if (z->c <= z->lb) { z->c = z->l - m2; goto lab0; } + z->c--; /* next, line 114 */ } - z->bra = z->c; /* ], line 113 */ + z->bra = z->c; /* ], line 114 */ lab0: ; } break; case 8: - if (in_grouping_b(z, g_V1, 97, 246, 0)) return 0; - if (out_grouping_b(z, g_V1, 97, 246, 0)) return 0; - break; - case 9: - if (!(eq_s_b(z, 1, s_11))) return 0; + if (in_grouping_b(z, g_V1, 97, 246, 0)) return 0; /* grouping V1, line 120 */ + if (in_grouping_b(z, g_C, 98, 122, 0)) return 0; /* grouping C, line 120 */ break; } - { int ret = slice_del(z); /* delete, line 138 */ + { int ret = slice_del(z); /* delete, line 139 */ if (ret < 0) return ret; } - z->B[0] = 1; /* set ending_removed, line 139 */ + z->B[0] = 1; /* set ending_removed, line 140 */ return 1; } -static int r_other_endings(struct SN_env * z) { +static int r_other_endings(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 142 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 143 */ if (z->c < z->I[1]) return 0; - z->c = z->I[1]; /* tomark, line 142 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 142 */ - among_var = find_among_b(z, a_7, 14); /* substring, line 142 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 142 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[1]; + z->ket = z->c; /* [, line 143 */ + among_var = find_among_b(z, a_7, 14); /* substring, line 143 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 143 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 144 */ case 1: - { int m2 = z->l - z->c; (void)m2; /* not, line 146 */ - if (!(eq_s_b(z, 2, s_12))) goto lab0; + { int m2 = z->l - z->c; (void)m2; /* not, line 147 */ + if (!(eq_s_b(z, 2, s_3))) goto lab0; /* literal, line 147 */ return 0; lab0: z->c = z->l - m2; } break; } - { int ret = slice_del(z); /* delete, line 151 */ + { int ret = slice_del(z); /* delete, line 152 */ if (ret < 0) return ret; } return 1; } -static int r_i_plural(struct SN_env * z) { - { int mlimit; /* setlimit, line 154 */ - int m1 = z->l - z->c; (void)m1; +static int r_i_plural(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 155 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 154 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 154 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_8, 2))) { z->lb = mlimit; return 0; } /* substring, line 154 */ - z->bra = z->c; /* ], line 154 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 155 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit1; return 0; } /* substring, line 155 */ + if (!(find_among_b(z, a_8, 2))) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 155 */ + z->lb = mlimit1; } - { int ret = slice_del(z); /* delete, line 158 */ + { int ret = slice_del(z); /* delete, line 159 */ if (ret < 0) return ret; } return 1; } -static int r_t_plural(struct SN_env * z) { +static int r_t_plural(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 161 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 162 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 161 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 162 */ - if (!(eq_s_b(z, 1, s_13))) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 162 */ - { int m_test = z->l - z->c; /* test, line 162 */ - if (in_grouping_b(z, g_V1, 97, 246, 0)) { z->lb = mlimit; return 0; } - z->c = z->l - m_test; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 163 */ + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit1; return 0; } /* literal, line 163 */ + z->c--; + z->bra = z->c; /* ], line 163 */ + { int m_test2 = z->l - z->c; /* test, line 163 */ + if (in_grouping_b(z, g_V1, 97, 246, 0)) { z->lb = mlimit1; return 0; } /* grouping V1, line 163 */ + z->c = z->l - m_test2; } - { int ret = slice_del(z); /* delete, line 163 */ + { int ret = slice_del(z); /* delete, line 164 */ if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } - { int mlimit; /* setlimit, line 165 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit3; /* setlimit, line 166 */ if (z->c < z->I[1]) return 0; - z->c = z->I[1]; /* tomark, line 165 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; - z->ket = z->c; /* [, line 165 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_9, 2); /* substring, line 165 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 165 */ - z->lb = mlimit; + mlimit3 = z->lb; z->lb = z->I[1]; + z->ket = z->c; /* [, line 166 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit3; return 0; } /* substring, line 166 */ + among_var = find_among_b(z, a_9, 2); + if (!(among_var)) { z->lb = mlimit3; return 0; } + z->bra = z->c; /* ], line 166 */ + z->lb = mlimit3; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 167 */ case 1: - { int m3 = z->l - z->c; (void)m3; /* not, line 167 */ - if (!(eq_s_b(z, 2, s_14))) goto lab0; + { int m4 = z->l - z->c; (void)m4; /* not, line 168 */ + if (!(eq_s_b(z, 2, s_4))) goto lab0; /* literal, line 168 */ return 0; lab0: - z->c = z->l - m3; + z->c = z->l - m4; } break; } - { int ret = slice_del(z); /* delete, line 170 */ + { int ret = slice_del(z); /* delete, line 171 */ if (ret < 0) return ret; } return 1; } -static int r_tidy(struct SN_env * z) { - { int mlimit; /* setlimit, line 173 */ - int m1 = z->l - z->c; (void)m1; +static int r_tidy(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 174 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 173 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* do, line 174 */ - { int m3 = z->l - z->c; (void)m3; /* and, line 174 */ - { int ret = r_LONG(z); - if (ret == 0) goto lab0; /* call LONG, line 174 */ + mlimit1 = z->lb; z->lb = z->I[0]; + { int m2 = z->l - z->c; (void)m2; /* do, line 175 */ + { int m3 = z->l - z->c; (void)m3; /* and, line 175 */ + { int ret = r_LONG(z); /* call LONG, line 175 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } z->c = z->l - m3; - z->ket = z->c; /* [, line 174 */ + z->ket = z->c; /* [, line 175 */ if (z->c <= z->lb) goto lab0; - z->c--; /* next, line 174 */ - z->bra = z->c; /* ], line 174 */ - { int ret = slice_del(z); /* delete, line 174 */ + z->c--; /* next, line 175 */ + z->bra = z->c; /* ], line 175 */ + { int ret = slice_del(z); /* delete, line 175 */ if (ret < 0) return ret; } } lab0: z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 175 */ - z->ket = z->c; /* [, line 175 */ - if (in_grouping_b(z, g_AEI, 97, 228, 0)) goto lab1; - z->bra = z->c; /* ], line 175 */ - if (out_grouping_b(z, g_V1, 97, 246, 0)) goto lab1; - { int ret = slice_del(z); /* delete, line 175 */ + { int m4 = z->l - z->c; (void)m4; /* do, line 176 */ + z->ket = z->c; /* [, line 176 */ + if (in_grouping_b(z, g_AEI, 97, 228, 0)) goto lab1; /* grouping AEI, line 176 */ + z->bra = z->c; /* ], line 176 */ + if (in_grouping_b(z, g_C, 98, 122, 0)) goto lab1; /* grouping C, line 176 */ + { int ret = slice_del(z); /* delete, line 176 */ if (ret < 0) return ret; } lab1: z->c = z->l - m4; } - { int m5 = z->l - z->c; (void)m5; /* do, line 176 */ - z->ket = z->c; /* [, line 176 */ - if (!(eq_s_b(z, 1, s_15))) goto lab2; - z->bra = z->c; /* ], line 176 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 176 */ - if (!(eq_s_b(z, 1, s_16))) goto lab4; + { int m5 = z->l - z->c; (void)m5; /* do, line 177 */ + z->ket = z->c; /* [, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab2; /* literal, line 177 */ + z->c--; + z->bra = z->c; /* ], line 177 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4; /* literal, line 177 */ + z->c--; goto lab3; lab4: z->c = z->l - m6; - if (!(eq_s_b(z, 1, s_17))) goto lab2; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab2; /* literal, line 177 */ + z->c--; } lab3: - { int ret = slice_del(z); /* delete, line 176 */ + { int ret = slice_del(z); /* delete, line 177 */ if (ret < 0) return ret; } lab2: z->c = z->l - m5; } - { int m7 = z->l - z->c; (void)m7; /* do, line 177 */ - z->ket = z->c; /* [, line 177 */ - if (!(eq_s_b(z, 1, s_18))) goto lab5; - z->bra = z->c; /* ], line 177 */ - if (!(eq_s_b(z, 1, s_19))) goto lab5; - { int ret = slice_del(z); /* delete, line 177 */ + { int m7 = z->l - z->c; (void)m7; /* do, line 178 */ + z->ket = z->c; /* [, line 178 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5; /* literal, line 178 */ + z->c--; + z->bra = z->c; /* ], line 178 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab5; /* literal, line 178 */ + z->c--; + { int ret = slice_del(z); /* delete, line 178 */ if (ret < 0) return ret; } lab5: z->c = z->l - m7; } - z->lb = mlimit; + z->lb = mlimit1; } - if (in_grouping_b(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* non V1, line 179 */ - z->ket = z->c; /* [, line 179 */ - if (z->c <= z->lb) return 0; - z->c--; /* next, line 179 */ - z->bra = z->c; /* ], line 179 */ - z->S[0] = slice_to(z, z->S[0]); /* -> x, line 179 */ - if (z->S[0] == 0) return -1; /* -> x, line 179 */ - if (!(eq_v_b(z, z->S[0]))) return 0; /* name x, line 179 */ - { int ret = slice_del(z); /* delete, line 179 */ + if (in_grouping_b(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* non V1, line 180 */ + z->ket = z->c; /* [, line 180 */ + if (in_grouping_b(z, g_C, 98, 122, 0)) return 0; /* grouping C, line 180 */ + z->bra = z->c; /* ], line 180 */ + z->S[0] = slice_to(z, z->S[0]); /* -> x, line 180 */ + if (z->S[0] == 0) return -1; /* -> x, line 180 */ + if (!(eq_v_b(z, z->S[0]))) return 0; /* name x, line 180 */ + { int ret = slice_del(z); /* delete, line 180 */ if (ret < 0) return ret; } return 1; } -extern int finnish_ISO_8859_1_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 185 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 185 */ +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 186 */ - z->lb = z->c; z->c = z->l; /* backwards, line 187 */ + z->B[0] = 0; /* unset ending_removed, line 187 */ + z->lb = z->c; z->c = z->l; /* backwards, line 188 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 188 */ - { int ret = r_particle_etc(z); - if (ret == 0) goto lab1; /* call particle_etc, line 188 */ + { 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 189 */ - { int ret = r_possessive(z); - if (ret == 0) goto lab2; /* call possessive, line 189 */ + { 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 190 */ - { int ret = r_case_ending(z); - if (ret == 0) goto lab3; /* call case_ending, line 190 */ + { 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 191 */ - { int ret = r_other_endings(z); - if (ret == 0) goto lab4; /* call other_endings, line 191 */ + { 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; } - { int m6 = z->l - z->c; (void)m6; /* or, line 192 */ - if (!(z->B[0])) goto lab6; /* Boolean test ending_removed, line 192 */ - { int m7 = z->l - z->c; (void)m7; /* do, line 192 */ - { int ret = r_i_plural(z); - if (ret == 0) goto lab7; /* call i_plural, line 192 */ - if (ret < 0) return ret; - } - lab7: - z->c = z->l - m7; + /* or, line 193 */ + if (!(z->B[0])) goto lab6; /* 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; } - goto lab5; - lab6: + lab7: z->c = z->l - m6; - { int m8 = z->l - z->c; (void)m8; /* do, line 192 */ - { int ret = r_t_plural(z); - if (ret == 0) goto lab8; /* call t_plural, line 192 */ - if (ret < 0) return ret; - } - lab8: - z->c = z->l - m8; + } + goto lab5; +lab6: + { 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: - { int m9 = z->l - z->c; (void)m9; /* do, line 193 */ - { int ret = r_tidy(z); - if (ret == 0) goto lab9; /* call tidy, line 193 */ + { 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 - m9; + z->c = z->l - m8; } z->c = z->lb; return 1; diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c index fc79c0a24d..1a1732b216 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -370,82 +370,71 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; -static const symbol s_0[] = { 'u' }; -static const symbol s_1[] = { 'U' }; -static const symbol s_2[] = { 'i' }; -static const symbol s_3[] = { 'I' }; -static const symbol s_4[] = { 'y' }; -static const symbol s_5[] = { 'Y' }; -static const symbol s_6[] = { 'y' }; -static const symbol s_7[] = { 'Y' }; -static const symbol s_8[] = { 'q' }; -static const symbol s_9[] = { 'u' }; -static const symbol s_10[] = { 'U' }; -static const symbol s_11[] = { 'i' }; -static const symbol s_12[] = { 'u' }; -static const symbol s_13[] = { 'y' }; -static const symbol s_14[] = { 'i', 'c' }; -static const symbol s_15[] = { 'i', 'q', 'U' }; -static const symbol s_16[] = { 'l', 'o', 'g' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'e', 'n', 't' }; -static const symbol s_19[] = { 'a', 't' }; -static const symbol s_20[] = { 'e', 'u', 'x' }; -static const symbol s_21[] = { 'i' }; -static const symbol s_22[] = { 'a', 'b', 'l' }; -static const symbol s_23[] = { 'i', 'q', 'U' }; -static const symbol s_24[] = { 'a', 't' }; -static const symbol s_25[] = { 'i', 'c' }; -static const symbol s_26[] = { 'i', 'q', 'U' }; -static const symbol s_27[] = { 'e', 'a', 'u' }; -static const symbol s_28[] = { 'a', 'l' }; -static const symbol s_29[] = { 'e', 'u', 'x' }; -static const symbol s_30[] = { 'a', 'n', 't' }; -static const symbol s_31[] = { 'e', 'n', 't' }; -static const symbol s_32[] = { 'e' }; -static const symbol s_33[] = { 's' }; -static const symbol s_34[] = { 's' }; -static const symbol s_35[] = { 't' }; -static const symbol s_36[] = { 'i' }; -static const symbol s_37[] = { 'g', 'u' }; -static const symbol s_38[] = { 0xE9 }; -static const symbol s_39[] = { 0xE8 }; -static const symbol s_40[] = { 'e' }; -static const symbol s_41[] = { 'Y' }; -static const symbol s_42[] = { 'i' }; -static const symbol s_43[] = { 0xE7 }; -static const symbol s_44[] = { 'c' }; +static const symbol s_0[] = { 'U' }; +static const symbol s_1[] = { 'I' }; +static const symbol s_2[] = { 'Y' }; +static const symbol s_3[] = { 'Y' }; +static const symbol s_4[] = { 'U' }; +static const symbol s_5[] = { 'i' }; +static const symbol s_6[] = { 'u' }; +static const symbol s_7[] = { 'y' }; +static const symbol s_8[] = { 'i', 'c' }; +static const symbol s_9[] = { 'i', 'q', 'U' }; +static const symbol s_10[] = { 'l', 'o', 'g' }; +static const symbol s_11[] = { 'u' }; +static const symbol s_12[] = { 'e', 'n', 't' }; +static const symbol s_13[] = { 'a', 't' }; +static const symbol s_14[] = { 'e', 'u', 'x' }; +static const symbol s_15[] = { 'i' }; +static const symbol s_16[] = { 'a', 'b', 'l' }; +static const symbol s_17[] = { 'i', 'q', 'U' }; +static const symbol s_18[] = { 'a', 't' }; +static const symbol s_19[] = { 'i', 'c' }; +static const symbol s_20[] = { 'i', 'q', 'U' }; +static const symbol s_21[] = { 'e', 'a', 'u' }; +static const symbol s_22[] = { 'a', 'l' }; +static const symbol s_23[] = { 'e', 'u', 'x' }; +static const symbol s_24[] = { 'a', 'n', 't' }; +static const symbol s_25[] = { 'e', 'n', 't' }; +static const symbol s_26[] = { 'i' }; +static const symbol s_27[] = { 'g', 'u' }; +static const symbol s_28[] = { 'e' }; +static const symbol s_29[] = { 'i' }; +static const symbol s_30[] = { 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 38 */ int c1 = z->c; while(1) { /* goto, line 38 */ int c2 = z->c; { int c3 = z->c; /* or, line 44 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab3; + if (in_grouping(z, g_v, 97, 251, 0)) goto lab3; /* grouping v, line 40 */ z->bra = z->c; /* [, line 40 */ { int c4 = z->c; /* or, line 40 */ - if (!(eq_s(z, 1, s_0))) goto lab5; + if (z->c == z->l || z->p[z->c] != 'u') goto lab5; /* literal, line 40 */ + z->c++; z->ket = z->c; /* ], line 40 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab5; - { int ret = slice_from_s(z, 1, s_1); /* <-, line 40 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab5; /* grouping v, line 40 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 40 */ if (ret < 0) return ret; } goto lab4; lab5: z->c = c4; - if (!(eq_s(z, 1, s_2))) goto lab6; + if (z->c == z->l || z->p[z->c] != 'i') goto lab6; /* literal, line 41 */ + z->c++; z->ket = z->c; /* ], line 41 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab6; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 41 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab6; /* grouping v, line 41 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 41 */ if (ret < 0) return ret; } goto lab4; lab6: z->c = c4; - if (!(eq_s(z, 1, s_4))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 42 */ + z->c++; z->ket = z->c; /* ], line 42 */ - { int ret = slice_from_s(z, 1, s_5); /* <-, line 42 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 42 */ if (ret < 0) return ret; } } @@ -454,20 +443,23 @@ static int r_prelude(struct SN_env * z) { lab3: z->c = c3; z->bra = z->c; /* [, line 45 */ - if (!(eq_s(z, 1, s_6))) goto lab7; + if (z->c == z->l || z->p[z->c] != 'y') goto lab7; /* literal, line 45 */ + z->c++; z->ket = z->c; /* ], line 45 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab7; - { int ret = slice_from_s(z, 1, s_7); /* <-, line 45 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab7; /* grouping v, line 45 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 45 */ if (ret < 0) return ret; } goto lab2; lab7: z->c = c3; - if (!(eq_s(z, 1, s_8))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 47 */ + z->c++; z->bra = z->c; /* [, line 47 */ - if (!(eq_s(z, 1, s_9))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 47 */ + z->c++; z->ket = z->c; /* ], line 47 */ - { int ret = slice_from_s(z, 1, s_10); /* <-, line 47 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 47 */ if (ret < 0) return ret; } } @@ -487,21 +479,21 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 52 */ + z->I[1] = z->l; /* $p1 = , line 53 */ + z->I[2] = z->l; /* $p2 = , line 54 */ { int c1 = z->c; /* do, line 56 */ { int c2 = z->c; /* or, line 58 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; - if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ if (z->c >= z->l) goto lab2; z->c++; /* next, line 57 */ goto lab1; lab2: z->c = c2; - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; - if (!(find_among(z, a_0, 3))) goto lab3; /* among, line 59 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 59 */ + if (!(find_among(z, a_0, 3))) goto lab3; goto lab1; lab3: z->c = c2; @@ -547,29 +539,28 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 75 */ int c1 = z->c; z->bra = z->c; /* [, line 77 */ - if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else - among_var = find_among(z, a_1, 4); /* substring, line 77 */ + if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else /* substring, line 77 */ + among_var = find_among(z, a_1, 4); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 77 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 78 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 79 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 80 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 80 */ if (ret < 0) return ret; } break; @@ -586,53 +577,50 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 89 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 92 */ among_var = find_among_b(z, a_4, 43); /* substring, line 92 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 92 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 96 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 96 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 99 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 99 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 100 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 100 */ z->ket = z->c; /* [, line 100 */ - if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m1; goto lab0; } /* literal, line 100 */ z->bra = z->c; /* ], line 100 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 100 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 100 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 100 */ + { int ret = r_R2(z); /* call R2, line 100 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 100 */ @@ -640,8 +628,8 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab1; lab2: - z->c = z->l - m1; - { int ret = slice_from_s(z, 3, s_15); /* <-, line 100 */ + z->c = z->l - m2; + { int ret = slice_from_s(z, 3, s_9); /* <-, line 100 */ if (ret < 0) return ret; } } @@ -651,60 +639,55 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 104 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 104 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_16); /* <-, line 104 */ + { int ret = slice_from_s(z, 3, s_10); /* <-, line 104 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 107 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 107 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_17); /* <-, line 107 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 107 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 110 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 110 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_18); /* <-, line 110 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 110 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 114 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 114 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 114 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 115 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 115 */ z->ket = z->c; /* [, line 116 */ among_var = find_among_b(z, a_2, 6); /* substring, line 116 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab3; } + if (!(among_var)) { z->c = z->l - m3; goto lab3; } z->bra = z->c; /* ], line 116 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab3; } + switch (among_var) { /* among, line 116 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 117 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 117 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m3; goto lab3; } /* literal, line 117 */ z->bra = z->c; /* ], line 117 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 117 */ @@ -712,9 +695,9 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 2: - { int m2 = z->l - z->c; (void)m2; /* or, line 118 */ - { int ret = r_R2(z); - if (ret == 0) goto lab5; /* call R2, line 118 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 118 */ + { int ret = r_R2(z); /* call R2, line 118 */ + if (ret == 0) goto lab5; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 118 */ @@ -722,20 +705,20 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab4; lab5: - z->c = z->l - m2; - { int ret = r_R1(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R1, line 118 */ + z->c = z->l - m4; + { int ret = r_R1(z); /* call R1, line 118 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 3, s_20); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_14); /* <-, line 118 */ if (ret < 0) return ret; } } lab4: break; case 3: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 120 */ + { int ret = r_R2(z); /* call R2, line 120 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 120 */ @@ -743,11 +726,11 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 4: - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call RV, line 122 */ + { int ret = r_RV(z); /* call RV, line 122 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 1, s_21); /* <-, line 122 */ + { int ret = slice_from_s(z, 1, s_15); /* <-, line 122 */ if (ret < 0) return ret; } break; @@ -757,25 +740,23 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 129 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 129 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 129 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 130 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 130 */ z->ket = z->c; /* [, line 131 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab6; } - among_var = find_among_b(z, a_3, 3); /* substring, line 131 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab6; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 131 */ + among_var = find_among_b(z, a_3, 3); + if (!(among_var)) { z->c = z->l - m5; goto lab6; } z->bra = z->c; /* ], line 131 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab6; } + switch (among_var) { /* among, line 131 */ case 1: - { int m3 = z->l - z->c; (void)m3; /* or, line 132 */ - { int ret = r_R2(z); - if (ret == 0) goto lab8; /* call R2, line 132 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 132 */ + { int ret = r_R2(z); /* call R2, line 132 */ + if (ret == 0) goto lab8; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 132 */ @@ -783,17 +764,17 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab7; lab8: - z->c = z->l - m3; - { int ret = slice_from_s(z, 3, s_22); /* <-, line 132 */ + z->c = z->l - m6; + { int ret = slice_from_s(z, 3, s_16); /* <-, line 132 */ if (ret < 0) return ret; } } lab7: break; case 2: - { int m4 = z->l - z->c; (void)m4; /* or, line 133 */ - { int ret = r_R2(z); - if (ret == 0) goto lab10; /* call R2, line 133 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 133 */ + { int ret = r_R2(z); /* call R2, line 133 */ + if (ret == 0) goto lab10; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 133 */ @@ -801,16 +782,16 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab9; lab10: - z->c = z->l - m4; - { int ret = slice_from_s(z, 3, s_23); /* <-, line 133 */ + z->c = z->l - m7; + { int ret = slice_from_s(z, 3, s_17); /* <-, line 133 */ if (ret < 0) return ret; } } lab9: break; case 3: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call R2, line 134 */ + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ @@ -823,30 +804,29 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 141 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 141 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 141 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 142 */ + { int m8 = z->l - z->c; (void)m8; /* try, line 142 */ z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m_keep; goto lab11; } + if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ z->bra = z->c; /* ], line 142 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab11; } /* call R2, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) { z->c = z->l - m8; goto lab11; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m_keep; goto lab11; } + if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ z->bra = z->c; /* ], line 142 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 142 */ - { int ret = r_R2(z); - if (ret == 0) goto lab13; /* call R2, line 142 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ @@ -854,8 +834,8 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab12; lab13: - z->c = z->l - m5; - { int ret = slice_from_s(z, 3, s_26); /* <-, line 142 */ + z->c = z->l - m9; + { int ret = slice_from_s(z, 3, s_20); /* <-, line 142 */ if (ret < 0) return ret; } } @@ -865,23 +845,22 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 9: - { int ret = slice_from_s(z, 3, s_27); /* <-, line 144 */ + { int ret = slice_from_s(z, 3, s_21); /* <-, line 144 */ if (ret < 0) return ret; } break; case 10: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 145 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 145 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_28); /* <-, line 145 */ + { int ret = slice_from_s(z, 2, s_22); /* <-, line 145 */ if (ret < 0) return ret; } break; case 11: - { int m6 = z->l - z->c; (void)m6; /* or, line 147 */ - { int ret = r_R2(z); - if (ret == 0) goto lab15; /* call R2, line 147 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 147 */ + { int ret = r_R2(z); /* call R2, line 147 */ + if (ret == 0) goto lab15; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 147 */ @@ -889,55 +868,50 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab14; lab15: - z->c = z->l - m6; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 147 */ - if (ret < 0) return ret; + z->c = z->l - m10; + { int ret = r_R1(z); /* call R1, line 147 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_29); /* <-, line 147 */ + { int ret = slice_from_s(z, 3, s_23); /* <-, line 147 */ if (ret < 0) return ret; } } lab14: break; case 12: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 150 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 150 */ + if (ret <= 0) return ret; } - if (out_grouping_b(z, g_v, 97, 251, 0)) return 0; + if (out_grouping_b(z, g_v, 97, 251, 0)) return 0; /* non v, line 150 */ { int ret = slice_del(z); /* delete, line 150 */ if (ret < 0) return ret; } break; case 13: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 155 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 155 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_30); /* <-, line 155 */ + { int ret = slice_from_s(z, 3, s_24); /* <-, line 155 */ if (ret < 0) return ret; } return 0; /* fail, line 155 */ break; case 14: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 156 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 156 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_31); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_25); /* <-, line 156 */ if (ret < 0) return ret; } return 0; /* fail, line 156 */ break; case 15: - { int m_test = z->l - z->c; /* test, line 158 */ - if (in_grouping_b(z, g_v, 97, 251, 0)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 158 */ - if (ret < 0) return ret; + { int m_test11 = z->l - z->c; /* test, line 158 */ + if (in_grouping_b(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 158 */ + { int ret = r_RV(z); /* call RV, line 158 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test11; } { int ret = slice_del(z); /* delete, line 158 */ if (ret < 0) return ret; @@ -948,50 +922,38 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_i_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 163 */ - int m1 = z->l - z->c; (void)m1; +static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 163 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 163 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 164 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_5, 35); /* substring, line 164 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 164 */ + if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 164 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit; return 0; } - { int ret = slice_del(z); /* delete, line 170 */ - if (ret < 0) return ret; - } - break; + if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 170 */ + { int ret = slice_del(z); /* delete, line 170 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 174 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 174 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 174 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 175 */ among_var = find_among_b(z, a_6, 38); /* substring, line 175 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 175 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 175 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 177 */ + { int ret = r_R2(z); /* call R2, line 177 */ + if (ret == 0) { z->lb = mlimit1; return 0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 177 */ @@ -1007,9 +969,10 @@ static int r_verb_suffix(struct SN_env * z) { { int ret = slice_del(z); /* delete, line 190 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 191 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 191 */ z->ket = z->c; /* [, line 191 */ - if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 191 */ + z->c--; z->bra = z->c; /* ], line 191 */ { int ret = slice_del(z); /* delete, line 191 */ if (ret < 0) return ret; @@ -1019,20 +982,21 @@ static int r_verb_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_residual_suffix(struct SN_env * z) { +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 199 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 199 */ z->ket = z->c; /* [, line 199 */ - if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 199 */ + z->c--; z->bra = z->c; /* ], line 199 */ - { int m_test = z->l - z->c; /* test, line 199 */ - if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 199 */ + if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 199 */ + z->c = z->l - m_test2; } { int ret = slice_del(z); /* delete, line 199 */ if (ret < 0) return ret; @@ -1040,29 +1004,28 @@ static int r_residual_suffix(struct SN_env * z) { lab0: ; } - { int mlimit; /* setlimit, line 200 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit3; /* setlimit, line 200 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 200 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit3 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 201 */ among_var = find_among_b(z, a_7, 7); /* substring, line 201 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit3; return 0; } z->bra = z->c; /* ], line 201 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 201 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 202 */ + { int ret = r_R2(z); /* call R2, line 202 */ + if (ret == 0) { z->lb = mlimit3; return 0; } if (ret < 0) return ret; } - { int m2 = z->l - z->c; (void)m2; /* or, line 202 */ - if (!(eq_s_b(z, 1, s_34))) goto lab2; + { int m4 = z->l - z->c; (void)m4; /* or, line 202 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2; /* literal, line 202 */ + z->c--; goto lab1; lab2: - z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_35))) { z->lb = mlimit; return 0; } + z->c = z->l - m4; + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit3; return 0; } /* literal, line 202 */ + z->c--; } lab1: { int ret = slice_del(z); /* delete, line 202 */ @@ -1070,7 +1033,7 @@ static int r_residual_suffix(struct SN_env * z) { } break; case 2: - { int ret = slice_from_s(z, 1, s_36); /* <-, line 204 */ + { int ret = slice_from_s(z, 1, s_26); /* <-, line 204 */ if (ret < 0) return ret; } break; @@ -1080,22 +1043,22 @@ static int r_residual_suffix(struct SN_env * z) { } break; case 4: - if (!(eq_s_b(z, 2, s_37))) { z->lb = mlimit; return 0; } + if (!(eq_s_b(z, 2, s_27))) { z->lb = mlimit3; return 0; } /* literal, line 206 */ { int ret = slice_del(z); /* delete, line 206 */ if (ret < 0) return ret; } break; } - z->lb = mlimit; + z->lb = mlimit3; } return 1; } -static int r_un_double(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 212 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_8, 5))) return 0; /* among, line 212 */ - z->c = z->l - m_test; +static int r_un_double(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 212 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 212 */ + if (!(find_among_b(z, a_8, 5))) return 0; + z->c = z->l - m_test1; } z->ket = z->c; /* [, line 212 */ if (z->c <= z->lb) return 0; @@ -1107,10 +1070,10 @@ static int r_un_double(struct SN_env * z) { return 1; } -static int r_un_accent(struct SN_env * z) { +static int r_un_accent(struct SN_env * z) { /* backwardmode */ { int i = 1; while(1) { /* atleast, line 216 */ - if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; + if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 216 */ i--; continue; lab0: @@ -1120,78 +1083,80 @@ static int r_un_accent(struct SN_env * z) { } z->ket = z->c; /* [, line 217 */ { int m1 = z->l - z->c; (void)m1; /* or, line 217 */ - if (!(eq_s_b(z, 1, s_38))) goto lab2; + if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab2; /* literal, line 217 */ + z->c--; goto lab1; lab2: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_39))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0; /* literal, line 217 */ + z->c--; } lab1: z->bra = z->c; /* ], line 217 */ - { int ret = slice_from_s(z, 1, s_40); /* <-, line 217 */ + { int ret = slice_from_s(z, 1, s_28); /* <-, line 217 */ if (ret < 0) return ret; } return 1; } -extern int french_ISO_8859_1_stem(struct SN_env * z) { +extern int french_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 223 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, line 223 */ + { int ret = r_prelude(z); /* call prelude, line 223 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - { int c2 = z->c; /* do, line 224 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 224 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* do, line 224 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 224 */ + if (ret == 0) goto lab1; + if (ret < 0) return ret; } +lab1: z->lb = z->c; z->c = z->l; /* backwards, line 225 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 227 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 237 */ - { int m5 = z->l - z->c; (void)m5; /* and, line 233 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 229 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab6; /* call standard_suffix, line 229 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 227 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 237 */ + { int m4 = z->l - z->c; (void)m4; /* and, line 233 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 229 */ + { int ret = r_standard_suffix(z); /* call standard_suffix, line 229 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } goto lab5; lab6: - z->c = z->l - m6; - { int ret = r_i_verb_suffix(z); - if (ret == 0) goto lab7; /* call i_verb_suffix, line 230 */ + z->c = z->l - m5; + { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 230 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } goto lab5; lab7: - z->c = z->l - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 231 */ + z->c = z->l - m5; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: - z->c = z->l - m5; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 234 */ + z->c = z->l - m4; + { int m6 = z->l - z->c; (void)m6; /* try, line 234 */ z->ket = z->c; /* [, line 234 */ { int m7 = z->l - z->c; (void)m7; /* or, line 234 */ - if (!(eq_s_b(z, 1, s_41))) goto lab10; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 234 */ + z->c--; z->bra = z->c; /* ], line 234 */ - { int ret = slice_from_s(z, 1, s_42); /* <-, line 234 */ + { int ret = slice_from_s(z, 1, s_29); /* <-, line 234 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - if (!(eq_s_b(z, 1, s_43))) { z->c = z->l - m_keep; goto lab8; } + if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab8; } /* literal, line 235 */ + z->c--; z->bra = z->c; /* ], line 235 */ - { int ret = slice_from_s(z, 1, s_44); /* <-, line 235 */ + { int ret = slice_from_s(z, 1, s_30); /* <-, line 235 */ if (ret < 0) return ret; } } @@ -1202,27 +1167,27 @@ extern int french_ISO_8859_1_stem(struct SN_env * z) { } goto lab3; lab4: - z->c = z->l - m4; - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab2; /* call residual_suffix, line 238 */ + z->c = z->l - m3; + { int ret = r_residual_suffix(z); /* call residual_suffix, line 238 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } { int m8 = z->l - z->c; (void)m8; /* do, line 243 */ - { int ret = r_un_double(z); - if (ret == 0) goto lab11; /* call un_double, line 243 */ + { int ret = r_un_double(z); /* call un_double, line 243 */ + 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 244 */ - { int ret = r_un_accent(z); - if (ret == 0) goto lab12; /* call un_accent, line 244 */ + { int ret = r_un_accent(z); /* call un_accent, line 244 */ + if (ret == 0) goto lab12; if (ret < 0) return ret; } lab12: @@ -1230,8 +1195,8 @@ extern int french_ISO_8859_1_stem(struct SN_env * z) { } z->c = z->lb; { int c10 = z->c; /* do, line 246 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab13; /* call postlude, line 246 */ + { int ret = r_postlude(z); /* call postlude, line 246 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } lab13: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c index 13c2423092..ae334f80bf 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -36,12 +36,12 @@ static const symbol s_0_5[1] = { 0xFC }; static const struct among a_0[6] = { -/* 0 */ { 0, 0, -1, 6, 0}, +/* 0 */ { 0, 0, -1, 5, 0}, /* 1 */ { 1, s_0_1, 0, 2, 0}, /* 2 */ { 1, s_0_2, 0, 1, 0}, /* 3 */ { 1, s_0_3, 0, 3, 0}, /* 4 */ { 1, s_0_4, 0, 4, 0}, -/* 5 */ { 1, s_0_5, 0, 5, 0} +/* 5 */ { 1, s_0_5, 0, 2, 0} }; static const symbol s_1_0[1] = { 'e' }; @@ -54,13 +54,13 @@ static const symbol s_1_6[2] = { 'e', 's' }; static const struct among a_1[7] = { -/* 0 */ { 1, s_1_0, -1, 1, 0}, +/* 0 */ { 1, s_1_0, -1, 2, 0}, /* 1 */ { 2, s_1_1, -1, 1, 0}, -/* 2 */ { 2, s_1_2, -1, 1, 0}, +/* 2 */ { 2, s_1_2, -1, 2, 0}, /* 3 */ { 3, s_1_3, -1, 1, 0}, /* 4 */ { 2, s_1_4, -1, 1, 0}, -/* 5 */ { 1, s_1_5, -1, 2, 0}, -/* 6 */ { 2, s_1_6, 5, 1, 0} +/* 5 */ { 1, s_1_5, -1, 3, 0}, +/* 6 */ { 2, s_1_6, 5, 2, 0} }; static const symbol s_2_0[2] = { 'e', 'n' }; @@ -112,165 +112,157 @@ static const unsigned char g_s_ending[] = { 117, 30, 5 }; static const unsigned char g_st_ending[] = { 117, 30, 4 }; -static const symbol s_0[] = { 0xDF }; -static const symbol s_1[] = { 's', 's' }; -static const symbol s_2[] = { 'u' }; -static const symbol s_3[] = { 'U' }; -static const symbol s_4[] = { 'y' }; -static const symbol s_5[] = { 'Y' }; -static const symbol s_6[] = { 'y' }; -static const symbol s_7[] = { 'u' }; -static const symbol s_8[] = { 'a' }; -static const symbol s_9[] = { 'o' }; -static const symbol s_10[] = { 'u' }; -static const symbol s_11[] = { 'i', 'g' }; -static const symbol s_12[] = { 'e' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'e', 'r' }; -static const symbol s_15[] = { 'e', 'n' }; +static const symbol s_0[] = { 's', 's' }; +static const symbol s_1[] = { 'U' }; +static const symbol s_2[] = { 'Y' }; +static const symbol s_3[] = { 'y' }; +static const symbol s_4[] = { 'u' }; +static const symbol s_5[] = { 'a' }; +static const symbol s_6[] = { 'o' }; +static const symbol s_7[] = { 'n', 'i', 's' }; +static const symbol s_8[] = { 'i', 'g' }; +static const symbol s_9[] = { 'e', 'r' }; +static const symbol s_10[] = { 'e', 'n' }; -static int r_prelude(struct SN_env * z) { - { int c_test = z->c; /* test, line 30 */ - while(1) { /* repeat, line 30 */ - int c1 = z->c; - { int c2 = z->c; /* or, line 33 */ - z->bra = z->c; /* [, line 32 */ - if (!(eq_s(z, 1, s_0))) goto lab2; - z->ket = z->c; /* ], line 32 */ - { int ret = slice_from_s(z, 2, s_1); /* <-, line 32 */ +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; + { 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 */ + z->c++; + z->ket = z->c; /* ], line 37 */ + { int ret = slice_from_s(z, 2, s_0); /* <-, line 37 */ if (ret < 0) return ret; } goto lab1; lab2: - z->c = c2; + z->c = c3; if (z->c >= z->l) goto lab0; - z->c++; /* next, line 33 */ + z->c++; /* next, line 38 */ } lab1: continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } - while(1) { /* repeat, line 36 */ - int c3 = z->c; - while(1) { /* goto, line 36 */ - int c4 = z->c; - if (in_grouping(z, g_v, 97, 252, 0)) goto lab4; - z->bra = z->c; /* [, line 37 */ - { int c5 = z->c; /* or, line 37 */ - if (!(eq_s(z, 1, s_2))) goto lab6; - z->ket = z->c; /* ], line 37 */ - if (in_grouping(z, g_v, 97, 252, 0)) goto lab6; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 37 */ + while(1) { /* repeat, line 41 */ + 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 */ + z->bra = z->c; /* [, line 42 */ + { int c6 = z->c; /* or, line 42 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab6; /* literal, line 42 */ + z->c++; + z->ket = z->c; /* ], line 42 */ + if (in_grouping(z, g_v, 97, 252, 0)) goto lab6; /* grouping v, line 42 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 42 */ if (ret < 0) return ret; } goto lab5; lab6: - z->c = c5; - if (!(eq_s(z, 1, s_4))) goto lab4; - z->ket = z->c; /* ], line 38 */ - if (in_grouping(z, g_v, 97, 252, 0)) goto lab4; - { int ret = slice_from_s(z, 1, s_5); /* <-, line 38 */ + z->c = c6; + if (z->c == z->l || z->p[z->c] != 'y') goto lab4; /* literal, line 43 */ + z->c++; + z->ket = z->c; /* ], line 43 */ + if (in_grouping(z, g_v, 97, 252, 0)) goto lab4; /* grouping v, line 43 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 43 */ if (ret < 0) return ret; } } lab5: - z->c = c4; + z->c = c5; break; lab4: - z->c = c4; + z->c = c5; if (z->c >= z->l) goto lab3; - z->c++; /* goto, line 36 */ + z->c++; /* goto, line 41 */ } continue; lab3: - z->c = c3; + z->c = c4; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - { int c_test = z->c; /* test, line 47 */ - { int ret = z->c + 3; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 49 */ + z->I[1] = z->l; /* $p2 = , line 50 */ + { int c_test1 = z->c; /* test, line 52 */ + { int ret = z->c + 3; /* hop, line 52 */ if (0 > ret || ret > z->l) return 0; - z->c = ret; /* hop, line 47 */ + z->c = ret; } - z->I[2] = z->c; /* setmark x, line 47 */ - z->c = c_test; + z->I[2] = z->c; /* setmark x, line 52 */ + z->c = c_test1; } - { /* gopast */ /* grouping v, line 49 */ + { /* gopast */ /* grouping v, line 54 */ int ret = out_grouping(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - { /* gopast */ /* non v, line 49 */ + { /* gopast */ /* non v, line 54 */ int ret = in_grouping(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - z->I[0] = z->c; /* setmark p1, line 49 */ - /* try, line 50 */ - if (!(z->I[0] < z->I[2])) goto lab0; - z->I[0] = z->I[2]; + z->I[0] = z->c; /* setmark p1, line 54 */ + /* try, line 55 */ + if (!(z->I[0] < z->I[2])) goto lab0; /* $( < ), line 55 */ + z->I[0] = z->I[2]; /* $p1 = , line 55 */ lab0: - { /* gopast */ /* grouping v, line 51 */ + { /* gopast */ /* grouping v, line 56 */ int ret = out_grouping(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - { /* gopast */ /* non v, line 51 */ + { /* gopast */ /* non v, line 56 */ int ret = in_grouping(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - z->I[1] = z->c; /* setmark p2, line 51 */ + z->I[1] = z->c; /* setmark p2, line 56 */ return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; - while(1) { /* repeat, line 55 */ + while(1) { /* repeat, line 60 */ int c1 = z->c; - z->bra = z->c; /* [, line 57 */ - among_var = find_among(z, a_0, 6); /* substring, line 57 */ + z->bra = z->c; /* [, line 62 */ + among_var = find_among(z, a_0, 6); /* substring, line 62 */ if (!(among_var)) goto lab0; - z->ket = z->c; /* ], line 57 */ - switch(among_var) { - case 0: goto lab0; + z->ket = z->c; /* ], line 62 */ + switch (among_var) { /* among, line 62 */ case 1: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 58 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 63 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 59 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 64 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 65 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 1, s_9); /* <-, line 61 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 66 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 62 */ - if (ret < 0) return ret; - } - break; - case 6: if (z->c >= z->l) goto lab0; - z->c++; /* next, line 63 */ + z->c++; /* next, line 68 */ break; } continue; @@ -281,38 +273,54 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 75 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 76 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* do, line 74 */ - z->ket = z->c; /* [, line 75 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; - among_var = find_among_b(z, a_1, 7); /* substring, line 75 */ + { int m1 = z->l - z->c; (void)m1; /* do, line 79 */ + z->ket = z->c; /* [, line 80 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 80 */ + among_var = find_among_b(z, a_1, 7); if (!(among_var)) goto lab0; - z->bra = z->c; /* ], line 75 */ - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 75 */ + z->bra = z->c; /* ], line 80 */ + { int ret = r_R1(z); /* call R1, line 80 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 80 */ case 1: - { int ret = slice_del(z); /* delete, line 77 */ + { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b(z, g_s_ending, 98, 116, 0)) goto lab0; - { int ret = slice_del(z); /* delete, line 80 */ + { int ret = slice_del(z); /* delete, line 85 */ + if (ret < 0) return ret; + } + { int m2 = z->l - z->c; (void)m2; /* try, line 86 */ + z->ket = z->c; /* [, line 86 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m2; goto lab1; } /* literal, line 86 */ + z->c--; + z->bra = z->c; /* ], line 86 */ + if (!(eq_s_b(z, 3, s_7))) { z->c = z->l - m2; goto lab1; } /* literal, line 86 */ + { int ret = slice_del(z); /* delete, line 86 */ + if (ret < 0) return ret; + } + lab1: + ; + } + break; + case 3: + if (in_grouping_b(z, g_s_ending, 98, 116, 0)) goto lab0; /* grouping s_ending, line 89 */ + { int ret = slice_del(z); /* delete, line 89 */ if (ret < 0) return ret; } break; @@ -320,179 +328,171 @@ static int r_standard_suffix(struct SN_env * z) { lab0: z->c = z->l - m1; } - { int m2 = z->l - z->c; (void)m2; /* do, line 84 */ - z->ket = z->c; /* [, line 85 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1; - among_var = find_among_b(z, a_2, 4); /* substring, line 85 */ - if (!(among_var)) goto lab1; - z->bra = z->c; /* ], line 85 */ - { int ret = r_R1(z); - if (ret == 0) goto lab1; /* call R1, line 85 */ - if (ret < 0) return ret; - } - switch(among_var) { - case 0: goto lab1; - case 1: - { int ret = slice_del(z); /* delete, line 87 */ - if (ret < 0) return ret; - } - break; - case 2: - if (in_grouping_b(z, g_st_ending, 98, 116, 0)) goto lab1; - { int ret = z->c - 3; - if (z->lb > ret || ret > z->l) goto lab1; - z->c = ret; /* hop, line 90 */ - } - { int ret = slice_del(z); /* delete, line 90 */ - if (ret < 0) return ret; - } - break; - } - lab1: - z->c = z->l - m2; - } - { int m3 = z->l - z->c; (void)m3; /* do, line 94 */ - z->ket = z->c; /* [, line 95 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2; - among_var = find_among_b(z, a_4, 8); /* substring, line 95 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 93 */ + z->ket = z->c; /* [, line 94 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2; /* substring, line 94 */ + among_var = find_among_b(z, a_2, 4); if (!(among_var)) goto lab2; - z->bra = z->c; /* ], line 95 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 95 */ + z->bra = z->c; /* ], line 94 */ + { int ret = r_R1(z); /* call R1, line 94 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } - switch(among_var) { - case 0: goto lab2; + switch (among_var) { /* among, line 94 */ case 1: - { int ret = slice_del(z); /* delete, line 97 */ + { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 98 */ - z->ket = z->c; /* [, line 98 */ - if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab3; } - z->bra = z->c; /* ], line 98 */ - { int m4 = z->l - z->c; (void)m4; /* not, line 98 */ - if (!(eq_s_b(z, 1, s_12))) goto lab4; - { z->c = z->l - m_keep; goto lab3; } - lab4: - z->c = z->l - m4; - } - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 98 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 98 */ - if (ret < 0) return ret; - } - lab3: - ; - } break; case 2: - { int m5 = z->l - z->c; (void)m5; /* not, line 101 */ - if (!(eq_s_b(z, 1, s_13))) goto lab5; - goto lab2; - lab5: - z->c = z->l - m5; + if (in_grouping_b(z, g_st_ending, 98, 116, 0)) goto lab2; /* grouping st_ending, line 99 */ + { int ret = z->c - 3; /* hop, line 99 */ + if (z->lb > ret || ret > z->l) goto lab2; + z->c = ret; } - { int ret = slice_del(z); /* delete, line 101 */ + { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } break; - case 3: - { int ret = slice_del(z); /* delete, line 104 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 105 */ - z->ket = z->c; /* [, line 106 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 106 */ - if (!(eq_s_b(z, 2, s_14))) goto lab8; - goto lab7; - lab8: - z->c = z->l - m6; - if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab6; } - } - lab7: - z->bra = z->c; /* ], line 106 */ - { int ret = r_R1(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call R1, line 106 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 106 */ - if (ret < 0) return ret; - } - lab6: - ; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 110 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ - z->ket = z->c; /* [, line 112 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m_keep; goto lab9; } - among_var = find_among_b(z, a_3, 2); /* substring, line 112 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab9; } - z->bra = z->c; /* ], line 112 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab9; } /* call R2, line 112 */ - if (ret < 0) return ret; - } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab9; } - case 1: - { int ret = slice_del(z); /* delete, line 114 */ - if (ret < 0) return ret; - } - break; - } - lab9: - ; - } - break; } lab2: z->c = z->l - m3; } + { int m4 = z->l - z->c; (void)m4; /* do, line 103 */ + z->ket = z->c; /* [, line 104 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 104 */ + among_var = find_among_b(z, a_4, 8); + if (!(among_var)) goto lab3; + z->bra = z->c; /* ], line 104 */ + { int ret = r_R2(z); /* call R2, line 104 */ + if (ret == 0) goto lab3; + if (ret < 0) return ret; + } + switch (among_var) { /* among, line 104 */ + case 1: + { int ret = slice_del(z); /* delete, line 106 */ + if (ret < 0) return ret; + } + { int m5 = z->l - z->c; (void)m5; /* try, line 107 */ + z->ket = z->c; /* [, line 107 */ + if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m5; goto lab4; } /* literal, line 107 */ + z->bra = z->c; /* ], line 107 */ + { int m6 = z->l - z->c; (void)m6; /* not, line 107 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab5; /* literal, line 107 */ + z->c--; + { z->c = z->l - m5; goto lab4; } + lab5: + z->c = z->l - m6; + } + { int ret = r_R2(z); /* call R2, line 107 */ + if (ret == 0) { z->c = z->l - m5; goto lab4; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 107 */ + if (ret < 0) return ret; + } + lab4: + ; + } + break; + case 2: + { int m7 = z->l - z->c; (void)m7; /* not, line 110 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6; /* literal, line 110 */ + z->c--; + goto lab3; + lab6: + z->c = z->l - m7; + } + { int ret = slice_del(z); /* delete, line 110 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_del(z); /* delete, line 113 */ + if (ret < 0) return ret; + } + { int m8 = z->l - z->c; (void)m8; /* try, line 114 */ + z->ket = z->c; /* [, line 115 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 115 */ + if (!(eq_s_b(z, 2, s_9))) goto lab9; /* literal, line 115 */ + goto lab8; + lab9: + z->c = z->l - m9; + if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m8; goto lab7; } /* literal, line 115 */ + } + lab8: + z->bra = z->c; /* ], line 115 */ + { int ret = r_R1(z); /* call R1, line 115 */ + if (ret == 0) { z->c = z->l - m8; goto lab7; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 115 */ + if (ret < 0) return ret; + } + lab7: + ; + } + break; + case 4: + { int ret = slice_del(z); /* delete, line 119 */ + if (ret < 0) return ret; + } + { int m10 = z->l - z->c; (void)m10; /* try, line 120 */ + z->ket = z->c; /* [, line 121 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m10; goto lab10; } /* substring, line 121 */ + if (!(find_among_b(z, a_3, 2))) { z->c = z->l - m10; goto lab10; } + z->bra = z->c; /* ], line 121 */ + { int ret = r_R2(z); /* call R2, line 121 */ + if (ret == 0) { z->c = z->l - m10; goto lab10; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 123 */ + if (ret < 0) return ret; + } + lab10: + ; + } + break; + } + lab3: + z->c = z->l - m4; + } return 1; } -extern int german_ISO_8859_1_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 125 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, line 125 */ +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 126 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 126 */ + { 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 127 */ + z->lb = z->c; z->c = z->l; /* backwards, line 136 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 128 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab2; /* call standard_suffix, line 128 */ - if (ret < 0) return ret; - } - lab2: - z->c = z->l - m3; + /* 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 c4 = z->c; /* do, line 129 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab3; /* call postlude, line 129 */ + { 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 = c4; + z->c = c3; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c new file mode 100644 index 0000000000..4271170903 --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c @@ -0,0 +1,414 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int indonesian_ISO_8859_1_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_VOWEL(struct SN_env * z); +static int r_SUFFIX_I_OK(struct SN_env * z); +static int r_SUFFIX_AN_OK(struct SN_env * z); +static int r_SUFFIX_KAN_OK(struct SN_env * z); +static int r_KER(struct SN_env * z); +static int r_remove_suffix(struct SN_env * z); +static int r_remove_second_order_prefix(struct SN_env * z); +static int r_remove_first_order_prefix(struct SN_env * z); +static int r_remove_possessive_pronoun(struct SN_env * z); +static int r_remove_particle(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * indonesian_ISO_8859_1_create_env(void); +extern void indonesian_ISO_8859_1_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[3] = { 'k', 'a', 'h' }; +static const symbol s_0_1[3] = { 'l', 'a', 'h' }; +static const symbol s_0_2[3] = { 'p', 'u', 'n' }; + +static const struct among a_0[3] = +{ +/* 0 */ { 3, s_0_0, -1, 1, 0}, +/* 1 */ { 3, s_0_1, -1, 1, 0}, +/* 2 */ { 3, s_0_2, -1, 1, 0} +}; + +static const symbol s_1_0[3] = { 'n', 'y', 'a' }; +static const symbol s_1_1[2] = { 'k', 'u' }; +static const symbol s_1_2[2] = { 'm', 'u' }; + +static const struct among a_1[3] = +{ +/* 0 */ { 3, s_1_0, -1, 1, 0}, +/* 1 */ { 2, s_1_1, -1, 1, 0}, +/* 2 */ { 2, s_1_2, -1, 1, 0} +}; + +static const symbol s_2_0[1] = { 'i' }; +static const symbol s_2_1[2] = { 'a', 'n' }; +static const symbol s_2_2[3] = { 'k', 'a', 'n' }; + +static const struct among a_2[3] = +{ +/* 0 */ { 1, s_2_0, -1, 1, r_SUFFIX_I_OK}, +/* 1 */ { 2, s_2_1, -1, 1, r_SUFFIX_AN_OK}, +/* 2 */ { 3, s_2_2, 1, 1, r_SUFFIX_KAN_OK} +}; + +static const symbol s_3_0[2] = { 'd', 'i' }; +static const symbol s_3_1[2] = { 'k', 'e' }; +static const symbol s_3_2[2] = { 'm', 'e' }; +static const symbol s_3_3[3] = { 'm', 'e', 'm' }; +static const symbol s_3_4[3] = { 'm', 'e', 'n' }; +static const symbol s_3_5[4] = { 'm', 'e', 'n', 'g' }; +static const symbol s_3_6[4] = { 'm', 'e', 'n', 'y' }; +static const symbol s_3_7[3] = { 'p', 'e', 'm' }; +static const symbol s_3_8[3] = { 'p', 'e', 'n' }; +static const symbol s_3_9[4] = { 'p', 'e', 'n', 'g' }; +static const symbol s_3_10[4] = { 'p', 'e', 'n', 'y' }; +static const symbol s_3_11[3] = { 't', 'e', 'r' }; + +static const struct among a_3[12] = +{ +/* 0 */ { 2, s_3_0, -1, 1, 0}, +/* 1 */ { 2, s_3_1, -1, 2, 0}, +/* 2 */ { 2, s_3_2, -1, 1, 0}, +/* 3 */ { 3, s_3_3, 2, 5, 0}, +/* 4 */ { 3, s_3_4, 2, 1, 0}, +/* 5 */ { 4, s_3_5, 4, 1, 0}, +/* 6 */ { 4, s_3_6, 4, 3, r_VOWEL}, +/* 7 */ { 3, s_3_7, -1, 6, 0}, +/* 8 */ { 3, s_3_8, -1, 2, 0}, +/* 9 */ { 4, s_3_9, 8, 2, 0}, +/* 10 */ { 4, s_3_10, 8, 4, r_VOWEL}, +/* 11 */ { 3, s_3_11, -1, 1, 0} +}; + +static const symbol s_4_0[2] = { 'b', 'e' }; +static const symbol s_4_1[7] = { 'b', 'e', 'l', 'a', 'j', 'a', 'r' }; +static const symbol s_4_2[3] = { 'b', 'e', 'r' }; +static const symbol s_4_3[2] = { 'p', 'e' }; +static const symbol s_4_4[7] = { 'p', 'e', 'l', 'a', 'j', 'a', 'r' }; +static const symbol s_4_5[3] = { 'p', 'e', 'r' }; + +static const struct among a_4[6] = +{ +/* 0 */ { 2, s_4_0, -1, 3, r_KER}, +/* 1 */ { 7, s_4_1, 0, 4, 0}, +/* 2 */ { 3, s_4_2, 0, 3, 0}, +/* 3 */ { 2, s_4_3, -1, 1, 0}, +/* 4 */ { 7, s_4_4, 3, 2, 0}, +/* 5 */ { 3, s_4_5, 3, 1, 0} +}; + +static const unsigned char g_vowel[] = { 17, 65, 16 }; + +static const symbol s_0[] = { 'e', 'r' }; +static const symbol s_1[] = { 's' }; +static const symbol s_2[] = { 's' }; +static const symbol s_3[] = { 'p' }; +static const symbol s_4[] = { 'p' }; +static const symbol s_5[] = { 'a', 'j', 'a', 'r' }; +static const symbol s_6[] = { 'a', 'j', 'a', 'r' }; + +static int r_remove_particle(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 51 */ + if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 104 && z->p[z->c - 1] != 110)) return 0; /* substring, line 51 */ + if (!(find_among_b(z, a_0, 3))) return 0; + z->bra = z->c; /* ], line 51 */ + { int ret = slice_del(z); /* delete, line 52 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 52 */ + return 1; +} + +static int r_remove_possessive_pronoun(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 57 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) return 0; /* substring, line 57 */ + if (!(find_among_b(z, a_1, 3))) return 0; + z->bra = z->c; /* ], line 57 */ + { int ret = slice_del(z); /* delete, line 58 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 58 */ + return 1; +} + +static int r_SUFFIX_KAN_OK(struct SN_env * z) { /* backwardmode */ + /* and, line 85 */ + if (!(z->I[1] != 3)) return 0; /* $( != ), line 85 */ + if (!(z->I[1] != 2)) return 0; /* $( != ), line 85 */ + return 1; +} + +static int r_SUFFIX_AN_OK(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] != 1)) return 0; /* $( != ), line 89 */ + return 1; +} + +static int r_SUFFIX_I_OK(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= 2)) return 0; /* $( <= ), line 93 */ + { int m1 = z->l - z->c; (void)m1; /* not, line 128 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0; /* literal, line 128 */ + z->c--; + return 0; + lab0: + z->c = z->l - m1; + } + return 1; +} + +static int r_remove_suffix(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 132 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 110)) return 0; /* substring, line 132 */ + if (!(find_among_b(z, a_2, 3))) return 0; + z->bra = z->c; /* ], line 132 */ + { int ret = slice_del(z); /* delete, line 134 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 134 */ + return 1; +} + +static int r_VOWEL(struct SN_env * z) { /* forwardmode */ + if (in_grouping(z, g_vowel, 97, 117, 0)) return 0; /* grouping vowel, line 141 */ + return 1; +} + +static int r_KER(struct SN_env * z) { /* forwardmode */ + if (out_grouping(z, g_vowel, 97, 117, 0)) return 0; /* non vowel, line 143 */ + if (!(eq_s(z, 2, s_0))) return 0; /* literal, line 143 */ + return 1; +} + +static int r_remove_first_order_prefix(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 146 */ + if (z->c + 1 >= z->l || (z->p[z->c + 1] != 105 && z->p[z->c + 1] != 101)) return 0; /* substring, line 146 */ + among_var = find_among(z, a_3, 12); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 146 */ + switch (among_var) { /* among, line 146 */ + case 1: + { int ret = slice_del(z); /* delete, line 147 */ + if (ret < 0) return ret; + } + z->I[1] = 1; /* $prefix = , line 147 */ + z->I[0] -= 1; /* $measure -= , line 147 */ + break; + case 2: + { int ret = slice_del(z); /* delete, line 148 */ + if (ret < 0) return ret; + } + z->I[1] = 3; /* $prefix = , line 148 */ + z->I[0] -= 1; /* $measure -= , line 148 */ + break; + case 3: + z->I[1] = 1; /* $prefix = , line 149 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 149 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 149 */ + break; + case 4: + z->I[1] = 3; /* $prefix = , line 150 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 150 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 150 */ + break; + case 5: + z->I[1] = 1; /* $prefix = , line 151 */ + z->I[0] -= 1; /* $measure -= , line 151 */ + { int c1 = z->c; /* or, line 151 */ + { int c2 = z->c; /* and, line 151 */ + if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab1; /* grouping vowel, line 151 */ + z->c = c2; + { int ret = slice_from_s(z, 1, s_3); /* <-, line 151 */ + if (ret < 0) return ret; + } + } + goto lab0; + lab1: + z->c = c1; + { int ret = slice_del(z); /* delete, line 151 */ + if (ret < 0) return ret; + } + } + lab0: + break; + case 6: + z->I[1] = 3; /* $prefix = , line 152 */ + z->I[0] -= 1; /* $measure -= , line 152 */ + { int c3 = z->c; /* or, line 152 */ + { int c4 = z->c; /* and, line 152 */ + if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab3; /* grouping vowel, line 152 */ + z->c = c4; + { int ret = slice_from_s(z, 1, s_4); /* <-, line 152 */ + if (ret < 0) return ret; + } + } + goto lab2; + lab3: + z->c = c3; + { int ret = slice_del(z); /* delete, line 152 */ + if (ret < 0) return ret; + } + } + lab2: + break; + } + return 1; +} + +static int r_remove_second_order_prefix(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 162 */ + if (z->c + 1 >= z->l || z->p[z->c + 1] != 101) return 0; /* substring, line 162 */ + among_var = find_among(z, a_4, 6); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 162 */ + switch (among_var) { /* among, line 162 */ + case 1: + { int ret = slice_del(z); /* delete, line 163 */ + if (ret < 0) return ret; + } + z->I[1] = 2; /* $prefix = , line 163 */ + z->I[0] -= 1; /* $measure -= , line 163 */ + break; + case 2: + { int ret = slice_from_s(z, 4, s_5); /* <-, line 164 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 164 */ + break; + case 3: + { int ret = slice_del(z); /* delete, line 165 */ + if (ret < 0) return ret; + } + z->I[1] = 4; /* $prefix = , line 165 */ + z->I[0] -= 1; /* $measure -= , line 165 */ + break; + case 4: + { int ret = slice_from_s(z, 4, s_6); /* <-, line 166 */ + if (ret < 0) return ret; + } + z->I[1] = 4; /* $prefix = , line 166 */ + z->I[0] -= 1; /* $measure -= , line 166 */ + break; + } + return 1; +} + +extern int indonesian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ + z->I[0] = 0; /* $measure = , line 172 */ + { int c1 = z->c; /* do, line 173 */ + while(1) { /* repeat, line 173 */ + int c2 = z->c; + { /* gopast */ /* grouping vowel, line 173 */ + int ret = out_grouping(z, g_vowel, 97, 117, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + z->I[0] += 1; /* $measure += , line 173 */ + continue; + lab1: + z->c = c2; + break; + } + z->c = c1; + } + if (!(z->I[0] > 2)) return 0; /* $( > ), line 174 */ + z->I[1] = 0; /* $prefix = , line 175 */ + z->lb = z->c; z->c = z->l; /* backwards, line 176 */ + + { 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; /* $( > ), 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; + if (!(z->I[0] > 2)) return 0; /* $( > ), line 181 */ + { 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) return ret; + } + { int c7 = z->c; /* do, line 184 */ + { int c_test8 = z->c; /* test, line 185 */ + if (!(z->I[0] > 2)) goto lab6; /* $( > ), 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) return ret; + } + z->c = z->lb; + z->c = c_test8; + } + if (!(z->I[0] > 2)) goto lab6; /* $( > ), 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) return ret; + } + lab6: + z->c = c7; + } + z->c = c_test6; + } + goto lab4; + lab5: + 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; /* $( > ), 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) return ret; + } + z->c = z->lb; + lab8: + z->c = c10; + } + } +lab4: + return 1; +} + +extern struct SN_env * indonesian_ISO_8859_1_create_env(void) { return SN_create_env(0, 2, 0); } + +extern void indonesian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c new file mode 100644 index 0000000000..8ef9a90d50 --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c @@ -0,0 +1,490 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int irish_ISO_8859_1_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_verb_sfx(struct SN_env * z); +static int r_deriv(struct SN_env * z); +static int r_noun_sfx(struct SN_env * z); +static int r_mark_regions(struct SN_env * z); +static int r_initial_morph(struct SN_env * z); +static int r_RV(struct SN_env * z); +static int r_R2(struct SN_env * z); +static int r_R1(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * irish_ISO_8859_1_create_env(void); +extern void irish_ISO_8859_1_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[2] = { 'b', '\'' }; +static const symbol s_0_1[2] = { 'b', 'h' }; +static const symbol s_0_2[3] = { 'b', 'h', 'f' }; +static const symbol s_0_3[2] = { 'b', 'p' }; +static const symbol s_0_4[2] = { 'c', 'h' }; +static const symbol s_0_5[2] = { 'd', '\'' }; +static const symbol s_0_6[4] = { 'd', '\'', 'f', 'h' }; +static const symbol s_0_7[2] = { 'd', 'h' }; +static const symbol s_0_8[2] = { 'd', 't' }; +static const symbol s_0_9[2] = { 'f', 'h' }; +static const symbol s_0_10[2] = { 'g', 'c' }; +static const symbol s_0_11[2] = { 'g', 'h' }; +static const symbol s_0_12[2] = { 'h', '-' }; +static const symbol s_0_13[2] = { 'm', '\'' }; +static const symbol s_0_14[2] = { 'm', 'b' }; +static const symbol s_0_15[2] = { 'm', 'h' }; +static const symbol s_0_16[2] = { 'n', '-' }; +static const symbol s_0_17[2] = { 'n', 'd' }; +static const symbol s_0_18[2] = { 'n', 'g' }; +static const symbol s_0_19[2] = { 'p', 'h' }; +static const symbol s_0_20[2] = { 's', 'h' }; +static const symbol s_0_21[2] = { 't', '-' }; +static const symbol s_0_22[2] = { 't', 'h' }; +static const symbol s_0_23[2] = { 't', 's' }; + +static const struct among a_0[24] = +{ +/* 0 */ { 2, s_0_0, -1, 1, 0}, +/* 1 */ { 2, s_0_1, -1, 4, 0}, +/* 2 */ { 3, s_0_2, 1, 2, 0}, +/* 3 */ { 2, s_0_3, -1, 8, 0}, +/* 4 */ { 2, s_0_4, -1, 5, 0}, +/* 5 */ { 2, s_0_5, -1, 1, 0}, +/* 6 */ { 4, s_0_6, 5, 2, 0}, +/* 7 */ { 2, s_0_7, -1, 6, 0}, +/* 8 */ { 2, s_0_8, -1, 9, 0}, +/* 9 */ { 2, s_0_9, -1, 2, 0}, +/* 10 */ { 2, s_0_10, -1, 5, 0}, +/* 11 */ { 2, s_0_11, -1, 7, 0}, +/* 12 */ { 2, s_0_12, -1, 1, 0}, +/* 13 */ { 2, s_0_13, -1, 1, 0}, +/* 14 */ { 2, s_0_14, -1, 4, 0}, +/* 15 */ { 2, s_0_15, -1, 10, 0}, +/* 16 */ { 2, s_0_16, -1, 1, 0}, +/* 17 */ { 2, s_0_17, -1, 6, 0}, +/* 18 */ { 2, s_0_18, -1, 7, 0}, +/* 19 */ { 2, s_0_19, -1, 8, 0}, +/* 20 */ { 2, s_0_20, -1, 3, 0}, +/* 21 */ { 2, s_0_21, -1, 1, 0}, +/* 22 */ { 2, s_0_22, -1, 9, 0}, +/* 23 */ { 2, s_0_23, -1, 3, 0} +}; + +static const symbol s_1_0[6] = { 0xED, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_1_1[7] = { 'a', 0xED, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_1_2[3] = { 'i', 'r', 'e' }; +static const symbol s_1_3[4] = { 'a', 'i', 'r', 'e' }; +static const symbol s_1_4[3] = { 'a', 'b', 'h' }; +static const symbol s_1_5[4] = { 'e', 'a', 'b', 'h' }; +static const symbol s_1_6[3] = { 'i', 'b', 'h' }; +static const symbol s_1_7[4] = { 'a', 'i', 'b', 'h' }; +static const symbol s_1_8[3] = { 'a', 'm', 'h' }; +static const symbol s_1_9[4] = { 'e', 'a', 'm', 'h' }; +static const symbol s_1_10[3] = { 'i', 'm', 'h' }; +static const symbol s_1_11[4] = { 'a', 'i', 'm', 'h' }; +static const symbol s_1_12[5] = { 0xED, 'o', 'c', 'h', 't' }; +static const symbol s_1_13[6] = { 'a', 0xED, 'o', 'c', 'h', 't' }; +static const symbol s_1_14[3] = { 'i', 'r', 0xED }; +static const symbol s_1_15[4] = { 'a', 'i', 'r', 0xED }; + +static const struct among a_1[16] = +{ +/* 0 */ { 6, s_1_0, -1, 1, 0}, +/* 1 */ { 7, s_1_1, 0, 1, 0}, +/* 2 */ { 3, s_1_2, -1, 2, 0}, +/* 3 */ { 4, s_1_3, 2, 2, 0}, +/* 4 */ { 3, s_1_4, -1, 1, 0}, +/* 5 */ { 4, s_1_5, 4, 1, 0}, +/* 6 */ { 3, s_1_6, -1, 1, 0}, +/* 7 */ { 4, s_1_7, 6, 1, 0}, +/* 8 */ { 3, s_1_8, -1, 1, 0}, +/* 9 */ { 4, s_1_9, 8, 1, 0}, +/* 10 */ { 3, s_1_10, -1, 1, 0}, +/* 11 */ { 4, s_1_11, 10, 1, 0}, +/* 12 */ { 5, s_1_12, -1, 1, 0}, +/* 13 */ { 6, s_1_13, 12, 1, 0}, +/* 14 */ { 3, s_1_14, -1, 2, 0}, +/* 15 */ { 4, s_1_15, 14, 2, 0} +}; + +static const symbol s_2_0[8] = { 0xF3, 'i', 'd', 'e', 'a', 'c', 'h', 'a' }; +static const symbol s_2_1[7] = { 'p', 'a', 't', 'a', 'c', 'h', 'a' }; +static const symbol s_2_2[5] = { 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_3[8] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_4[6] = { 'e', 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_5[11] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_2_6[5] = { 'p', 'a', 'i', 't', 'e' }; +static const symbol s_2_7[3] = { 'a', 'c', 'h' }; +static const symbol s_2_8[4] = { 'e', 'a', 'c', 'h' }; +static const symbol s_2_9[7] = { 0xF3, 'i', 'd', 'e', 'a', 'c', 'h' }; +static const symbol s_2_10[7] = { 'g', 'i', 'n', 'e', 'a', 'c', 'h' }; +static const symbol s_2_11[6] = { 'p', 'a', 't', 'a', 'c', 'h' }; +static const symbol s_2_12[9] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h' }; +static const symbol s_2_13[7] = { 'p', 'a', 't', 'a', 'i', 'g', 'h' }; +static const symbol s_2_14[6] = { 0xF3, 'i', 'd', 'i', 'g', 'h' }; +static const symbol s_2_15[7] = { 'a', 'c', 'h', 't', 0xFA, 'i', 'l' }; +static const symbol s_2_16[8] = { 'e', 'a', 'c', 'h', 't', 0xFA, 'i', 'l' }; +static const symbol s_2_17[6] = { 'g', 'i', 'n', 'e', 'a', 's' }; +static const symbol s_2_18[5] = { 'g', 'i', 'n', 'i', 's' }; +static const symbol s_2_19[4] = { 'a', 'c', 'h', 't' }; +static const symbol s_2_20[7] = { 'a', 'r', 'c', 'a', 'c', 'h', 't' }; +static const symbol s_2_21[5] = { 'e', 'a', 'c', 'h', 't' }; +static const symbol s_2_22[10] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't' }; +static const symbol s_2_23[9] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xED }; +static const symbol s_2_24[12] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't', 'a', 0xED }; + +static const struct among a_2[25] = +{ +/* 0 */ { 8, s_2_0, -1, 6, 0}, +/* 1 */ { 7, s_2_1, -1, 5, 0}, +/* 2 */ { 5, s_2_2, -1, 1, 0}, +/* 3 */ { 8, s_2_3, 2, 2, 0}, +/* 4 */ { 6, s_2_4, 2, 1, 0}, +/* 5 */ { 11, s_2_5, -1, 4, 0}, +/* 6 */ { 5, s_2_6, -1, 5, 0}, +/* 7 */ { 3, s_2_7, -1, 1, 0}, +/* 8 */ { 4, s_2_8, 7, 1, 0}, +/* 9 */ { 7, s_2_9, 8, 6, 0}, +/* 10 */ { 7, s_2_10, 8, 3, 0}, +/* 11 */ { 6, s_2_11, 7, 5, 0}, +/* 12 */ { 9, s_2_12, -1, 4, 0}, +/* 13 */ { 7, s_2_13, -1, 5, 0}, +/* 14 */ { 6, s_2_14, -1, 6, 0}, +/* 15 */ { 7, s_2_15, -1, 1, 0}, +/* 16 */ { 8, s_2_16, 15, 1, 0}, +/* 17 */ { 6, s_2_17, -1, 3, 0}, +/* 18 */ { 5, s_2_18, -1, 3, 0}, +/* 19 */ { 4, s_2_19, -1, 1, 0}, +/* 20 */ { 7, s_2_20, 19, 2, 0}, +/* 21 */ { 5, s_2_21, 19, 1, 0}, +/* 22 */ { 10, s_2_22, -1, 4, 0}, +/* 23 */ { 9, s_2_23, -1, 2, 0}, +/* 24 */ { 12, s_2_24, -1, 4, 0} +}; + +static const symbol s_3_0[4] = { 'i', 'm', 'i', 'd' }; +static const symbol s_3_1[5] = { 'a', 'i', 'm', 'i', 'd' }; +static const symbol s_3_2[4] = { 0xED, 'm', 'i', 'd' }; +static const symbol s_3_3[5] = { 'a', 0xED, 'm', 'i', 'd' }; +static const symbol s_3_4[3] = { 'a', 'd', 'h' }; +static const symbol s_3_5[4] = { 'e', 'a', 'd', 'h' }; +static const symbol s_3_6[5] = { 'f', 'a', 'i', 'd', 'h' }; +static const symbol s_3_7[4] = { 'f', 'i', 'd', 'h' }; +static const symbol s_3_8[3] = { 0xE1, 'i', 'l' }; +static const symbol s_3_9[3] = { 'a', 'i', 'n' }; +static const symbol s_3_10[4] = { 't', 'e', 'a', 'r' }; +static const symbol s_3_11[3] = { 't', 'a', 'r' }; + +static const struct among a_3[12] = +{ +/* 0 */ { 4, s_3_0, -1, 1, 0}, +/* 1 */ { 5, s_3_1, 0, 1, 0}, +/* 2 */ { 4, s_3_2, -1, 1, 0}, +/* 3 */ { 5, s_3_3, 2, 1, 0}, +/* 4 */ { 3, s_3_4, -1, 2, 0}, +/* 5 */ { 4, s_3_5, 4, 2, 0}, +/* 6 */ { 5, s_3_6, -1, 1, 0}, +/* 7 */ { 4, s_3_7, -1, 1, 0}, +/* 8 */ { 3, s_3_8, -1, 2, 0}, +/* 9 */ { 3, s_3_9, -1, 2, 0}, +/* 10 */ { 4, s_3_10, -1, 2, 0}, +/* 11 */ { 3, s_3_11, -1, 2, 0} +}; + +static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 }; + +static const symbol s_0[] = { 'f' }; +static const symbol s_1[] = { 's' }; +static const symbol s_2[] = { 'b' }; +static const symbol s_3[] = { 'c' }; +static const symbol s_4[] = { 'd' }; +static const symbol s_5[] = { 'g' }; +static const symbol s_6[] = { 'p' }; +static const symbol s_7[] = { 't' }; +static const symbol s_8[] = { 'm' }; +static const symbol s_9[] = { 'a', 'r', 'c' }; +static const symbol s_10[] = { 'g', 'i', 'n' }; +static const symbol s_11[] = { 'g', 'r', 'a', 'f' }; +static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' }; +static const symbol s_13[] = { 0xF3, 'i', 'd' }; + +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 30 */ + z->I[1] = z->l; /* $p1 = , line 31 */ + z->I[2] = z->l; /* $p2 = , line 32 */ + { int c1 = z->c; /* do, line 34 */ + { /* gopast */ /* grouping v, line 35 */ + int ret = out_grouping(z, g_v, 97, 250, 1); + if (ret < 0) goto lab0; + z->c += ret; + } + z->I[0] = z->c; /* setmark pV, line 35 */ + lab0: + z->c = c1; + } + { int c2 = z->c; /* do, line 37 */ + { /* gopast */ /* grouping v, line 38 */ + int ret = out_grouping(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + { /* gopast */ /* non v, line 38 */ + int ret = in_grouping(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + z->I[1] = z->c; /* setmark p1, line 38 */ + { /* gopast */ /* grouping v, line 39 */ + int ret = out_grouping(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + { /* gopast */ /* non v, line 39 */ + int ret = in_grouping(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + z->I[2] = z->c; /* setmark p2, line 39 */ + lab1: + z->c = c2; + } + return 1; +} + +static int r_initial_morph(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 44 */ + among_var = find_among(z, a_0, 24); /* substring, line 44 */ + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 44 */ + switch (among_var) { /* among, line 44 */ + case 1: + { int ret = slice_del(z); /* delete, line 46 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 1, s_0); /* <-, line 52 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 1, s_1); /* <-, line 58 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 1, s_2); /* <-, line 61 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 1, s_3); /* <-, line 63 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 1, s_4); /* <-, line 65 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 1, s_5); /* <-, line 69 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 1, s_6); /* <-, line 71 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 1, s_7); /* <-, line 75 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 89 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 99 */ + return 1; +} + +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 100 */ + return 1; +} + +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 101 */ + return 1; +} + +static int r_noun_sfx(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 104 */ + among_var = find_among_b(z, a_1, 16); /* substring, line 104 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 104 */ + switch (among_var) { /* among, line 104 */ + case 1: + { int ret = r_R1(z); /* call R1, line 108 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 108 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = r_R2(z); /* call R2, line 110 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 110 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_deriv(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 114 */ + among_var = find_among_b(z, a_2, 25); /* substring, line 114 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 114 */ + switch (among_var) { /* among, line 114 */ + case 1: + { int ret = r_R2(z); /* call R2, line 116 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 116 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 3, s_9); /* <-, line 118 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 3, s_10); /* <-, line 120 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 4, s_11); /* <-, line 122 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 5, s_12); /* <-, line 124 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 3, s_13); /* <-, line 126 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_verb_sfx(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 130 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((282896 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 130 */ + among_var = find_among_b(z, a_3, 12); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 130 */ + switch (among_var) { /* among, line 130 */ + case 1: + { int ret = r_RV(z); /* call RV, line 133 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 133 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = r_R1(z); /* call R1, line 138 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 138 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +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; + return 1; +} + +extern struct SN_env * irish_ISO_8859_1_create_env(void) { return SN_create_env(0, 3, 0); } + +extern void irish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c index d941b0f036..fca2e3af1c 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -476,34 +476,29 @@ static const symbol s_2[] = { 0xEC }; static const symbol s_3[] = { 0xF2 }; static const symbol s_4[] = { 0xF9 }; static const symbol s_5[] = { 'q', 'U' }; -static const symbol s_6[] = { 'u' }; -static const symbol s_7[] = { 'U' }; +static const symbol s_6[] = { 'U' }; +static const symbol s_7[] = { 'I' }; static const symbol s_8[] = { 'i' }; -static const symbol s_9[] = { 'I' }; -static const symbol s_10[] = { 'i' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'e' }; -static const symbol s_13[] = { 'i', 'c' }; -static const symbol s_14[] = { 'l', 'o', 'g' }; -static const symbol s_15[] = { 'u' }; -static const symbol s_16[] = { 'e', 'n', 't', 'e' }; -static const symbol s_17[] = { 'a', 't' }; -static const symbol s_18[] = { 'a', 't' }; -static const symbol s_19[] = { 'i', 'c' }; -static const symbol s_20[] = { 'i' }; -static const symbol s_21[] = { 'h' }; +static const symbol s_9[] = { 'u' }; +static const symbol s_10[] = { 'e' }; +static const symbol s_11[] = { 'i', 'c' }; +static const symbol s_12[] = { 'l', 'o', 'g' }; +static const symbol s_13[] = { 'u' }; +static const symbol s_14[] = { 'e', 'n', 't', 'e' }; +static const symbol s_15[] = { 'a', 't' }; +static const symbol s_16[] = { 'a', 't' }; +static const symbol s_17[] = { 'i', 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; - { int c_test = z->c; /* test, line 35 */ + { int c_test1 = z->c; /* test, line 35 */ while(1) { /* repeat, line 35 */ - int c1 = z->c; + 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; z->ket = z->c; /* ], line 36 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 36 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 37 */ if (ret < 0) return ret; @@ -541,59 +536,61 @@ static int r_prelude(struct SN_env * z) { } continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } while(1) { /* repeat, line 46 */ - int c2 = z->c; + int c3 = z->c; while(1) { /* goto, line 46 */ - int c3 = z->c; - if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; + int c4 = z->c; + if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 47 */ z->bra = z->c; /* [, line 47 */ - { int c4 = z->c; /* or, line 47 */ - if (!(eq_s(z, 1, s_6))) goto lab4; + { int c5 = z->c; /* or, line 47 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab4; /* literal, line 47 */ + z->c++; z->ket = z->c; /* ], line 47 */ - if (in_grouping(z, g_v, 97, 249, 0)) goto lab4; - { int ret = slice_from_s(z, 1, s_7); /* <-, line 47 */ + if (in_grouping(z, g_v, 97, 249, 0)) goto lab4; /* grouping v, line 47 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 47 */ if (ret < 0) return ret; } goto lab3; lab4: - z->c = c4; - if (!(eq_s(z, 1, s_8))) goto lab2; + z->c = c5; + if (z->c == z->l || z->p[z->c] != 'i') goto lab2; /* literal, line 48 */ + z->c++; z->ket = z->c; /* ], line 48 */ - if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; - { int ret = slice_from_s(z, 1, s_9); /* <-, line 48 */ + if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 48 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 48 */ if (ret < 0) return ret; } } lab3: - z->c = c3; + z->c = c4; break; lab2: - z->c = c3; + z->c = c4; if (z->c >= z->l) goto lab1; z->c++; /* goto, line 46 */ } continue; lab1: - z->c = c2; + z->c = c3; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 54 */ + z->I[1] = z->l; /* $p1 = , line 55 */ + z->I[2] = z->l; /* $p2 = , line 56 */ { int c1 = z->c; /* do, line 58 */ { int c2 = z->c; /* or, line 60 */ - if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */ { int c3 = z->c; /* or, line 59 */ - if (out_grouping(z, g_v, 97, 249, 0)) goto lab4; + if (out_grouping(z, g_v, 97, 249, 0)) goto lab4; /* non v, line 59 */ { /* gopast */ /* grouping v, line 59 */ int ret = out_grouping(z, g_v, 97, 249, 1); if (ret < 0) goto lab4; @@ -602,7 +599,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */ { /* gopast */ /* non v, line 59 */ int ret = in_grouping(z, g_v, 97, 249, 1); if (ret < 0) goto lab2; @@ -613,9 +610,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping(z, g_v, 97, 249, 0)) goto lab0; + if (out_grouping(z, g_v, 97, 249, 0)) goto lab0; /* non v, line 61 */ { int c4 = z->c; /* or, line 61 */ - if (out_grouping(z, g_v, 97, 249, 0)) goto lab6; + if (out_grouping(z, g_v, 97, 249, 0)) goto lab6; /* non v, line 61 */ { /* gopast */ /* grouping v, line 61 */ int ret = out_grouping(z, g_v, 97, 249, 1); if (ret < 0) goto lab6; @@ -624,7 +621,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping(z, g_v, 97, 249, 0)) goto lab0; + if (in_grouping(z, g_v, 97, 249, 0)) goto lab0; /* grouping v, line 61 */ if (z->c >= z->l) goto lab0; z->c++; /* next, line 61 */ } @@ -665,24 +662,23 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 70 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 72 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 72 */ case 1: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 73 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 73 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 74 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 74 */ if (ret < 0) return ret; } break; @@ -699,43 +695,41 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 82 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 83 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 84 */ return 1; } -static int r_attached_pronoun(struct SN_env * z) { +static int r_attached_pronoun(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 87 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 37))) return 0; /* substring, line 87 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 87 */ + if (!(find_among_b(z, a_2, 37))) return 0; z->bra = z->c; /* ], line 87 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; - among_var = find_among_b(z, a_3, 5); /* among, line 97 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; /* among, line 97 */ + among_var = find_among_b(z, a_3, 5); if (!(among_var)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 97 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 97 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 97 */ case 1: { int ret = slice_del(z); /* delete, line 98 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 99 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 99 */ if (ret < 0) return ret; } break; @@ -743,37 +737,34 @@ static int r_attached_pronoun(struct SN_env * z) { return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 104 */ among_var = find_among_b(z, a_6, 51); /* substring, line 104 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 104 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 104 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 111 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 111 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 111 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 113 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 113 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 113 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 114 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 114 */ z->ket = z->c; /* [, line 114 */ - if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m1; goto lab0; } /* literal, line 114 */ z->bra = z->c; /* ], line 114 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 114 */ + { int ret = r_R2(z); /* call R2, line 114 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 114 */ @@ -784,70 +775,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 117 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_14); /* <-, line 117 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 117 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 119 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 119 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_15); /* <-, line 119 */ + { int ret = slice_from_s(z, 1, s_13); /* <-, line 119 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 121 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 121 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 4, s_16); /* <-, line 121 */ + { int ret = slice_from_s(z, 4, s_14); /* <-, line 121 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 123 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 123 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 123 */ if (ret < 0) return ret; } break; case 7: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 125 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 125 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 126 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 126 */ z->ket = z->c; /* [, line 127 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_4, 4); /* substring, line 127 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; } /* substring, line 127 */ + among_var = find_among_b(z, a_4, 4); + if (!(among_var)) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 127 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */ + { int ret = r_R2(z); /* call R2, line 127 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 127 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } + switch (among_var) { /* among, line 127 */ case 1: z->ket = z->c; /* [, line 128 */ - if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m_keep; goto lab1; } + if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m2; goto lab1; } /* literal, line 128 */ z->bra = z->c; /* ], line 128 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 128 */ + { int ret = r_R2(z); /* call R2, line 128 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 128 */ @@ -860,59 +845,51 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 134 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 135 */ z->ket = z->c; /* [, line 136 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_5, 3); /* substring, line 136 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m3; goto lab2; } /* substring, line 136 */ + if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 136 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 137 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 137 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 137 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 137 */ + if (ret < 0) return ret; } lab2: ; } break; case 9: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 142 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 143 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 143 */ z->ket = z->c; /* [, line 143 */ - if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m4; goto lab3; } /* literal, line 143 */ z->bra = z->c; /* ], line 143 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */ + { int ret = r_R2(z); /* call R2, line 143 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 143 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 143 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m4; goto lab3; } /* literal, line 143 */ z->bra = z->c; /* ], line 143 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */ + { int ret = r_R2(z); /* call R2, line 143 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 143 */ @@ -926,48 +903,40 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 148 */ - int m1 = z->l - z->c; (void)m1; +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 148 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 148 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 149 */ - among_var = find_among_b(z, a_7, 87); /* substring, line 149 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_7, 87))) { z->lb = mlimit1; return 0; } /* substring, line 149 */ z->bra = z->c; /* ], line 149 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - { int ret = slice_del(z); /* delete, line 163 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 163 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_vowel_suffix(struct SN_env * z) { - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 171 */ +static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* try, line 171 */ z->ket = z->c; /* [, line 172 */ - if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m_keep; goto lab0; } + if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m1; goto lab0; } /* grouping AEIO, line 172 */ z->bra = z->c; /* ], line 172 */ - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 172 */ + { int ret = r_RV(z); /* call RV, line 172 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 172 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 173 */ - if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - m1; goto lab0; } /* literal, line 173 */ + z->c--; z->bra = z->c; /* ], line 173 */ - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 173 */ + { int ret = r_RV(z); /* call RV, line 173 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 173 */ @@ -976,13 +945,14 @@ static int r_vowel_suffix(struct SN_env * z) { lab0: ; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 175 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 175 */ z->ket = z->c; /* [, line 176 */ - if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab1; } + if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - m2; goto lab1; } /* literal, line 176 */ + z->c--; z->bra = z->c; /* ], line 176 */ - if (in_grouping_b(z, g_CG, 99, 103, 0)) { z->c = z->l - m_keep; goto lab1; } - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call RV, line 176 */ + if (in_grouping_b(z, g_CG, 99, 103, 0)) { z->c = z->l - m2; goto lab1; } /* grouping CG, line 176 */ + { int ret = r_RV(z); /* call RV, line 176 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 176 */ @@ -994,67 +964,65 @@ static int r_vowel_suffix(struct SN_env * z) { return 1; } -extern int italian_ISO_8859_1_stem(struct SN_env * z) { +extern int italian_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 182 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 183 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 183 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 185 */ - { int ret = r_attached_pronoun(z); - if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */ + { 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 - m3; + z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 186 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 186 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab5; /* call standard_suffix, line 186 */ + { 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) return ret; } goto lab4; lab5: - z->c = z->l - m5; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab3; /* call verb_suffix, line 186 */ + z->c = z->l - m4; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 186 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } } lab4: lab3: - z->c = z->l - m4; + z->c = z->l - m3; } - { int m6 = z->l - z->c; (void)m6; /* do, line 187 */ - { int ret = r_vowel_suffix(z); - if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */ + { 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 - m6; + z->c = z->l - m5; } z->c = z->lb; - { int c7 = z->c; /* do, line 189 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab7; /* call postlude, line 189 */ + { 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 = c7; + z->c = c6; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c index 2debf1082d..88eb9290e9 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -129,18 +129,17 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 static const unsigned char g_s_ending[] = { 119, 125, 149, 1 }; -static const symbol s_0[] = { 'k' }; -static const symbol s_1[] = { 'e', 'r' }; +static const symbol s_0[] = { 'e', 'r' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 30 */ - { int ret = z->c + 3; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 28 */ + { int c_test1 = z->c; /* test, line 30 */ + { int ret = z->c + 3; /* hop, line 30 */ if (0 > ret || ret > z->l) return 0; - z->c = ret; /* hop, line 30 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 30 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 31 */ { /* gopast */ /* non v, line 31 */ @@ -149,30 +148,27 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 31 */ - /* try, line 32 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 32 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 32 */ + z->I[0] = z->I[1]; /* $p1 = , line 32 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 38 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 38 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 38 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 38 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 29); /* substring, line 38 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 38 */ + among_var = find_among_b(z, a_0, 29); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 38 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 39 */ case 1: { int ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; @@ -180,12 +176,13 @@ static int r_main_suffix(struct SN_env * z) { break; case 2: { int m2 = z->l - z->c; (void)m2; /* or, line 46 */ - if (in_grouping_b(z, g_s_ending, 98, 122, 0)) goto lab1; + if (in_grouping_b(z, g_s_ending, 98, 122, 0)) goto lab1; /* grouping s_ending, line 46 */ goto lab0; lab1: z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_0))) return 0; - if (out_grouping_b(z, g_v, 97, 248, 0)) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'k') return 0; /* literal, line 46 */ + z->c--; + if (out_grouping_b(z, g_v, 97, 248, 0)) return 0; /* non v, line 46 */ } lab0: { int ret = slice_del(z); /* delete, line 46 */ @@ -193,7 +190,7 @@ static int r_main_suffix(struct SN_env * z) { } break; case 3: - { int ret = slice_from_s(z, 2, s_1); /* <-, line 48 */ + { int ret = slice_from_s(z, 2, s_0); /* <-, line 48 */ if (ret < 0) return ret; } break; @@ -201,21 +198,19 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 53 */ - { int mlimit; /* setlimit, line 54 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 53 */ + + { int mlimit2; /* setlimit, line 54 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 54 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 54 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 2))) { z->lb = mlimit; return 0; } /* substring, line 54 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit2; return 0; } /* substring, line 54 */ + if (!(find_among_b(z, a_1, 2))) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 54 */ - z->lb = mlimit; + z->lb = mlimit2; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } if (z->c <= z->lb) return 0; z->c--; /* next, line 59 */ @@ -226,36 +221,27 @@ static int r_consonant_pair(struct SN_env * z) { return 1; } -static int r_other_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 63 */ - int m1 = z->l - z->c; (void)m1; +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 63 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 63 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 63 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 11); /* substring, line 63 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 63 */ + if (!(find_among_b(z, a_2, 11))) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 63 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 67 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 67 */ + if (ret < 0) return ret; } return 1; } -extern int norwegian_ISO_8859_1_stem(struct SN_env * z) { +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); - if (ret == 0) goto lab0; /* call mark_regions, line 74 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 74 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -264,24 +250,24 @@ extern int norwegian_ISO_8859_1_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call main_suffix, 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); - if (ret == 0) goto lab2; /* call consonant_pair, 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); - if (ret == 0) goto lab3; /* call other_suffix, line 78 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 78 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c index 69e4fc4c1f..cc330e0cd7 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -115,21 +115,21 @@ static const struct among a_3[20] = /* 2 */ { 4, s_3_2, -1, 4, 0}, /* 3 */ { 3, s_3_3, -1, 6, 0}, /* 4 */ { 4, s_3_4, -1, 9, 0}, -/* 5 */ { 5, s_3_5, -1, 12, 0}, +/* 5 */ { 5, s_3_5, -1, 11, 0}, /* 6 */ { 5, s_3_6, -1, 5, 0}, -/* 7 */ { 5, s_3_7, -1, 10, 0}, -/* 8 */ { 6, s_3_8, -1, 14, 0}, -/* 9 */ { 5, s_3_9, -1, 13, 0}, +/* 7 */ { 5, s_3_7, -1, 9, 0}, +/* 8 */ { 6, s_3_8, -1, 13, 0}, +/* 9 */ { 5, s_3_9, -1, 12, 0}, /* 10 */ { 6, s_3_10, -1, 1, 0}, /* 11 */ { 7, s_3_11, 10, 8, 0}, -/* 12 */ { 5, s_3_12, -1, 10, 0}, +/* 12 */ { 5, s_3_12, -1, 9, 0}, /* 13 */ { 5, s_3_13, -1, 8, 0}, /* 14 */ { 7, s_3_14, 13, 7, 0}, /* 15 */ { 4, s_3_15, -1, 7, 0}, /* 16 */ { 4, s_3_16, -1, 8, 0}, -/* 17 */ { 7, s_3_17, -1, 13, 0}, -/* 18 */ { 7, s_3_18, -1, 11, 0}, -/* 19 */ { 7, s_3_19, -1, 12, 0} +/* 17 */ { 7, s_3_17, -1, 12, 0}, +/* 18 */ { 7, s_3_18, -1, 10, 0}, +/* 19 */ { 7, s_3_19, -1, 11, 0} }; static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' }; @@ -203,63 +203,51 @@ static const symbol s_1[] = { 'i' }; static const symbol s_2[] = { 'e', 'e' }; static const symbol s_3[] = { 'e' }; static const symbol s_4[] = { 'e' }; -static const symbol s_5[] = { 'y' }; -static const symbol s_6[] = { 'Y' }; -static const symbol s_7[] = { 'i' }; -static const symbol s_8[] = { 't', 'i', 'o', 'n' }; -static const symbol s_9[] = { 'e', 'n', 'c', 'e' }; -static const symbol s_10[] = { 'a', 'n', 'c', 'e' }; -static const symbol s_11[] = { 'a', 'b', 'l', 'e' }; -static const symbol s_12[] = { 'e', 'n', 't' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'i', 'z', 'e' }; -static const symbol s_15[] = { 'a', 't', 'e' }; -static const symbol s_16[] = { 'a', 'l' }; -static const symbol s_17[] = { 'a', 'l' }; -static const symbol s_18[] = { 'f', 'u', 'l' }; -static const symbol s_19[] = { 'o', 'u', 's' }; -static const symbol s_20[] = { 'i', 'v', 'e' }; -static const symbol s_21[] = { 'b', 'l', 'e' }; -static const symbol s_22[] = { 'a', 'l' }; -static const symbol s_23[] = { 'i', 'c' }; -static const symbol s_24[] = { 's' }; -static const symbol s_25[] = { 't' }; -static const symbol s_26[] = { 'e' }; -static const symbol s_27[] = { 'l' }; -static const symbol s_28[] = { 'l' }; -static const symbol s_29[] = { 'y' }; -static const symbol s_30[] = { 'Y' }; -static const symbol s_31[] = { 'y' }; -static const symbol s_32[] = { 'Y' }; -static const symbol s_33[] = { 'Y' }; -static const symbol s_34[] = { 'y' }; +static const symbol s_5[] = { 'i' }; +static const symbol s_6[] = { 't', 'i', 'o', 'n' }; +static const symbol s_7[] = { 'e', 'n', 'c', 'e' }; +static const symbol s_8[] = { 'a', 'n', 'c', 'e' }; +static const symbol s_9[] = { 'a', 'b', 'l', 'e' }; +static const symbol s_10[] = { 'e', 'n', 't' }; +static const symbol s_11[] = { 'e' }; +static const symbol s_12[] = { 'i', 'z', 'e' }; +static const symbol s_13[] = { 'a', 't', 'e' }; +static const symbol s_14[] = { 'a', 'l' }; +static const symbol s_15[] = { 'f', 'u', 'l' }; +static const symbol s_16[] = { 'o', 'u', 's' }; +static const symbol s_17[] = { 'i', 'v', 'e' }; +static const symbol s_18[] = { 'b', 'l', 'e' }; +static const symbol s_19[] = { 'a', 'l' }; +static const symbol s_20[] = { 'i', 'c' }; +static const symbol s_21[] = { 'Y' }; +static const symbol s_22[] = { 'Y' }; +static const symbol s_23[] = { 'y' }; -static int r_shortv(struct SN_env * z) { - if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) return 0; - if (in_grouping_b(z, g_v, 97, 121, 0)) return 0; - if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; +static int r_shortv(struct SN_env * z) { /* backwardmode */ + if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) return 0; /* non v_WXY, line 19 */ + if (in_grouping_b(z, g_v, 97, 121, 0)) return 0; /* grouping v, line 19 */ + if (out_grouping_b(z, g_v, 97, 121, 0)) return 0; /* non v, line 19 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 21 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 22 */ return 1; } -static int r_Step_1a(struct SN_env * z) { +static int r_Step_1a(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 25 */ - if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0; - among_var = find_among_b(z, a_0, 4); /* substring, line 25 */ + if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0; /* substring, line 25 */ + among_var = find_among_b(z, a_0, 4); if (!(among_var)) return 0; z->bra = z->c; /* ], line 25 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 25 */ case 1: { int ret = slice_from_s(z, 2, s_0); /* <-, line 26 */ if (ret < 0) return ret; @@ -279,48 +267,47 @@ static int r_Step_1a(struct SN_env * z) { return 1; } -static int r_Step_1b(struct SN_env * z) { +static int r_Step_1b(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 34 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; - among_var = find_among_b(z, a_2, 3); /* substring, line 34 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; /* substring, line 34 */ + among_var = find_among_b(z, a_2, 3); if (!(among_var)) return 0; z->bra = z->c; /* ], line 34 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 34 */ case 1: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 35 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 35 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 2, s_2); /* <-, line 35 */ if (ret < 0) return ret; } break; case 2: - { int m_test = z->l - z->c; /* test, line 38 */ + { int m_test1 = z->l - z->c; /* test, line 38 */ { /* gopast */ /* grouping v, line 38 */ int ret = out_grouping_b(z, g_v, 97, 121, 1); if (ret < 0) return 0; z->c -= ret; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 38 */ if (ret < 0) return ret; } - { int m_test = z->l - z->c; /* test, line 39 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else - among_var = find_among_b(z, a_1, 13); /* substring, line 39 */ + { int m_test2 = z->l - z->c; /* test, line 39 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else /* substring, line 39 */ + among_var = find_among_b(z, a_1, 13); if (!(among_var)) return 0; - z->c = z->l - m_test; + z->c = z->l - m_test2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 39 */ case 1: - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_3); /* <+, line 41 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_3); /* <+, line 41 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -335,16 +322,17 @@ static int r_Step_1b(struct SN_env * z) { break; case 3: if (z->c != z->I[0]) return 0; /* atmark, line 45 */ - { int m_test = z->l - z->c; /* test, line 45 */ - { int ret = r_shortv(z); - if (ret == 0) return 0; /* call shortv, line 45 */ - if (ret < 0) return ret; + { int m_test3 = z->l - z->c; /* test, line 45 */ + { int ret = r_shortv(z); /* call shortv, line 45 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test3; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_4); /* <+, line 45 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_4); /* <+, line 45 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -354,14 +342,16 @@ static int r_Step_1b(struct SN_env * z) { return 1; } -static int r_Step_1c(struct SN_env * z) { +static int r_Step_1c(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 52 */ { int m1 = z->l - z->c; (void)m1; /* or, line 52 */ - if (!(eq_s_b(z, 1, s_5))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1; /* literal, line 52 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_6))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0; /* literal, line 52 */ + z->c--; } lab0: z->bra = z->c; /* ], line 52 */ @@ -370,92 +360,85 @@ lab0: if (ret < 0) return 0; z->c -= ret; } - { int ret = slice_from_s(z, 1, s_7); /* <-, line 54 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 54 */ if (ret < 0) return ret; } return 1; } -static int r_Step_2(struct SN_env * z) { +static int r_Step_2(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 58 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_3, 20); /* substring, line 58 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 58 */ + among_var = find_among_b(z, a_3, 20); if (!(among_var)) return 0; z->bra = z->c; /* ], line 58 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 58 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 58 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 58 */ case 1: - { int ret = slice_from_s(z, 4, s_8); /* <-, line 59 */ + { int ret = slice_from_s(z, 4, s_6); /* <-, line 59 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_9); /* <-, line 60 */ + { int ret = slice_from_s(z, 4, s_7); /* <-, line 60 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 4, s_10); /* <-, line 61 */ + { int ret = slice_from_s(z, 4, s_8); /* <-, line 61 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 4, s_11); /* <-, line 62 */ + { int ret = slice_from_s(z, 4, s_9); /* <-, line 62 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_12); /* <-, line 63 */ + { int ret = slice_from_s(z, 3, s_10); /* <-, line 63 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 64 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 64 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 3, s_14); /* <-, line 66 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 66 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 3, s_15); /* <-, line 68 */ + { int ret = slice_from_s(z, 3, s_13); /* <-, line 68 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 2, s_16); /* <-, line 69 */ + { int ret = slice_from_s(z, 2, s_14); /* <-, line 69 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 2, s_17); /* <-, line 71 */ + { int ret = slice_from_s(z, 3, s_15); /* <-, line 72 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 3, s_18); /* <-, line 72 */ + { int ret = slice_from_s(z, 3, s_16); /* <-, line 74 */ if (ret < 0) return ret; } break; case 12: - { int ret = slice_from_s(z, 3, s_19); /* <-, line 74 */ + { int ret = slice_from_s(z, 3, s_17); /* <-, line 76 */ if (ret < 0) return ret; } break; case 13: - { int ret = slice_from_s(z, 3, s_20); /* <-, line 76 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 77 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 77 */ if (ret < 0) return ret; } break; @@ -463,26 +446,24 @@ static int r_Step_2(struct SN_env * z) { return 1; } -static int r_Step_3(struct SN_env * z) { +static int r_Step_3(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 82 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_4, 7); /* substring, line 82 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 82 */ + among_var = find_among_b(z, a_4, 7); if (!(among_var)) return 0; z->bra = z->c; /* ], line 82 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 82 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 82 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 82 */ case 1: - { int ret = slice_from_s(z, 2, s_22); /* <-, line 83 */ + { int ret = slice_from_s(z, 2, s_19); /* <-, line 83 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 2, s_23); /* <-, line 85 */ + { int ret = slice_from_s(z, 2, s_20); /* <-, line 85 */ if (ret < 0) return ret; } break; @@ -495,19 +476,17 @@ static int r_Step_3(struct SN_env * z) { return 1; } -static int r_Step_4(struct SN_env * z) { +static int r_Step_4(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 92 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 19); /* substring, line 92 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 92 */ + among_var = find_among_b(z, a_5, 19); if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 92 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 92 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 92 */ case 1: { int ret = slice_del(z); /* delete, line 95 */ if (ret < 0) return ret; @@ -515,11 +494,13 @@ static int r_Step_4(struct SN_env * z) { break; case 2: { int m1 = z->l - z->c; (void)m1; /* or, line 96 */ - if (!(eq_s_b(z, 1, s_24))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1; /* literal, line 96 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_25))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0; /* literal, line 96 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 96 */ @@ -530,25 +511,25 @@ static int r_Step_4(struct SN_env * z) { return 1; } -static int r_Step_5a(struct SN_env * z) { +static int r_Step_5a(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 101 */ - if (!(eq_s_b(z, 1, s_26))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 101 */ + z->c--; z->bra = z->c; /* ], line 101 */ { int m1 = z->l - z->c; (void)m1; /* or, line 102 */ - { int ret = r_R2(z); - if (ret == 0) goto lab1; /* call R2, line 102 */ + { int ret = r_R2(z); /* call R2, line 102 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = z->l - m1; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 102 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 102 */ + if (ret <= 0) return ret; } { int m2 = z->l - z->c; (void)m2; /* not, line 102 */ - { int ret = r_shortv(z); - if (ret == 0) goto lab2; /* call shortv, line 102 */ + { int ret = r_shortv(z); /* call shortv, line 102 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } return 0; @@ -563,28 +544,30 @@ lab0: return 1; } -static int r_Step_5b(struct SN_env * z) { +static int r_Step_5b(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 107 */ - if (!(eq_s_b(z, 1, s_27))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 107 */ + z->c--; z->bra = z->c; /* ], line 107 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 108 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 108 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_28))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 108 */ + z->c--; { int ret = slice_del(z); /* delete, line 109 */ if (ret < 0) return ret; } return 1; } -extern int porter_ISO_8859_1_stem(struct SN_env * z) { +extern int porter_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ z->B[0] = 0; /* unset Y_found, line 115 */ { int c1 = z->c; /* do, line 116 */ z->bra = z->c; /* [, line 116 */ - if (!(eq_s(z, 1, s_29))) goto lab0; + if (z->c == z->l || z->p[z->c] != 'y') goto lab0; /* literal, line 116 */ + z->c++; z->ket = z->c; /* ], line 116 */ - { int ret = slice_from_s(z, 1, s_30); /* <-, line 116 */ + { int ret = slice_from_s(z, 1, s_21); /* <-, line 116 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 116 */ @@ -596,9 +579,10 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { int c3 = z->c; while(1) { /* goto, line 117 */ int c4 = z->c; - if (in_grouping(z, g_v, 97, 121, 0)) goto lab3; + if (in_grouping(z, g_v, 97, 121, 0)) goto lab3; /* grouping v, line 117 */ z->bra = z->c; /* [, line 117 */ - if (!(eq_s(z, 1, s_31))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 117 */ + z->c++; z->ket = z->c; /* ], line 117 */ z->c = c4; break; @@ -607,7 +591,7 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { if (z->c >= z->l) goto lab2; z->c++; /* goto, line 117 */ } - { int ret = slice_from_s(z, 1, s_32); /* <-, line 117 */ + { int ret = slice_from_s(z, 1, s_22); /* <-, line 117 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 117 */ @@ -618,8 +602,8 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { } z->c = c2; } - z->I[0] = z->l; - z->I[1] = z->l; + z->I[0] = z->l; /* $p1 = , line 119 */ + z->I[1] = z->l; /* $p2 = , line 120 */ { int c5 = z->c; /* do, line 121 */ { /* gopast */ /* grouping v, line 122 */ int ret = out_grouping(z, g_v, 97, 121, 1); @@ -649,64 +633,64 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { z->lb = z->c; z->c = z->l; /* backwards, line 126 */ { int m6 = z->l - z->c; (void)m6; /* do, line 127 */ - { int ret = r_Step_1a(z); - if (ret == 0) goto lab5; /* call Step_1a, 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); - if (ret == 0) goto lab6; /* call Step_1b, 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); - if (ret == 0) goto lab7; /* call Step_1c, 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); - if (ret == 0) goto lab8; /* call Step_2, 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); - if (ret == 0) goto lab9; /* call Step_3, 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); - if (ret == 0) goto lab10; /* call Step_4, 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); - if (ret == 0) goto lab11; /* call Step_5a, 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); - if (ret == 0) goto lab12; /* call Step_5b, line 134 */ + { int ret = r_Step_5b(z); /* call Step_5b, line 134 */ + if (ret == 0) goto lab12; if (ret < 0) return ret; } lab12: @@ -720,7 +704,8 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { while(1) { /* goto, line 137 */ int c16 = z->c; z->bra = z->c; /* [, line 137 */ - if (!(eq_s(z, 1, s_33))) goto lab15; + if (z->c == z->l || z->p[z->c] != 'Y') goto lab15; /* literal, line 137 */ + z->c++; z->ket = z->c; /* ], line 137 */ z->c = c16; break; @@ -729,7 +714,7 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z) { if (z->c >= z->l) goto lab14; z->c++; /* goto, line 137 */ } - { int ret = slice_from_s(z, 1, s_34); /* <-, line 137 */ + { int ret = slice_from_s(z, 1, s_23); /* <-, line 137 */ if (ret < 0) return ret; } continue; diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c index 06d425d008..674d9c2657 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -90,42 +90,42 @@ static const struct among a_4[3] = static const symbol s_5_0[3] = { 'i', 'c', 'a' }; static const symbol s_5_1[5] = { 0xE2, 'n', 'c', 'i', 'a' }; static const symbol s_5_2[5] = { 0xEA, 'n', 'c', 'i', 'a' }; -static const symbol s_5_3[3] = { 'i', 'r', 'a' }; -static const symbol s_5_4[5] = { 'a', 'd', 'o', 'r', 'a' }; -static const symbol s_5_5[3] = { 'o', 's', 'a' }; -static const symbol s_5_6[4] = { 'i', 's', 't', 'a' }; -static const symbol s_5_7[3] = { 'i', 'v', 'a' }; -static const symbol s_5_8[3] = { 'e', 'z', 'a' }; -static const symbol s_5_9[5] = { 'l', 'o', 'g', 0xED, 'a' }; +static const symbol s_5_3[5] = { 'l', 'o', 'g', 'i', 'a' }; +static const symbol s_5_4[3] = { 'i', 'r', 'a' }; +static const symbol s_5_5[5] = { 'a', 'd', 'o', 'r', 'a' }; +static const symbol s_5_6[3] = { 'o', 's', 'a' }; +static const symbol s_5_7[4] = { 'i', 's', 't', 'a' }; +static const symbol s_5_8[3] = { 'i', 'v', 'a' }; +static const symbol s_5_9[3] = { 'e', 'z', 'a' }; static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' }; static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' }; static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' }; static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' }; static const symbol s_5_14[4] = { 0xE1, 'v', 'e', 'l' }; static const symbol s_5_15[4] = { 0xED, 'v', 'e', 'l' }; -static const symbol s_5_16[5] = { 'u', 'c', 'i', 0xF3, 'n' }; -static const symbol s_5_17[3] = { 'i', 'c', 'o' }; -static const symbol s_5_18[4] = { 'i', 's', 'm', 'o' }; -static const symbol s_5_19[3] = { 'o', 's', 'o' }; -static const symbol s_5_20[6] = { 'a', 'm', 'e', 'n', 't', 'o' }; -static const symbol s_5_21[6] = { 'i', 'm', 'e', 'n', 't', 'o' }; -static const symbol s_5_22[3] = { 'i', 'v', 'o' }; -static const symbol s_5_23[5] = { 'a', 0xE7, 'a', '~', 'o' }; +static const symbol s_5_16[3] = { 'i', 'c', 'o' }; +static const symbol s_5_17[4] = { 'i', 's', 'm', 'o' }; +static const symbol s_5_18[3] = { 'o', 's', 'o' }; +static const symbol s_5_19[6] = { 'a', 'm', 'e', 'n', 't', 'o' }; +static const symbol s_5_20[6] = { 'i', 'm', 'e', 'n', 't', 'o' }; +static const symbol s_5_21[3] = { 'i', 'v', 'o' }; +static const symbol s_5_22[5] = { 'a', 0xE7, 'a', '~', 'o' }; +static const symbol s_5_23[5] = { 'u', 0xE7, 'a', '~', 'o' }; static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' }; static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' }; static const symbol s_5_26[6] = { 0xEA, 'n', 'c', 'i', 'a', 's' }; -static const symbol s_5_27[4] = { 'i', 'r', 'a', 's' }; -static const symbol s_5_28[6] = { 'a', 'd', 'o', 'r', 'a', 's' }; -static const symbol s_5_29[4] = { 'o', 's', 'a', 's' }; -static const symbol s_5_30[5] = { 'i', 's', 't', 'a', 's' }; -static const symbol s_5_31[4] = { 'i', 'v', 'a', 's' }; -static const symbol s_5_32[4] = { 'e', 'z', 'a', 's' }; -static const symbol s_5_33[6] = { 'l', 'o', 'g', 0xED, 'a', 's' }; +static const symbol s_5_27[6] = { 'l', 'o', 'g', 'i', 'a', 's' }; +static const symbol s_5_28[4] = { 'i', 'r', 'a', 's' }; +static const symbol s_5_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' }; +static const symbol s_5_30[4] = { 'o', 's', 'a', 's' }; +static const symbol s_5_31[5] = { 'i', 's', 't', 'a', 's' }; +static const symbol s_5_32[4] = { 'i', 'v', 'a', 's' }; +static const symbol s_5_33[4] = { 'e', 'z', 'a', 's' }; static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' }; -static const symbol s_5_35[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' }; -static const symbol s_5_36[6] = { 'a', 'd', 'o', 'r', 'e', 's' }; -static const symbol s_5_37[5] = { 'a', 'n', 't', 'e', 's' }; -static const symbol s_5_38[6] = { 'a', 0xE7, 'o', '~', 'e', 's' }; +static const symbol s_5_35[6] = { 'a', 'd', 'o', 'r', 'e', 's' }; +static const symbol s_5_36[5] = { 'a', 'n', 't', 'e', 's' }; +static const symbol s_5_37[6] = { 'a', 0xE7, 'o', '~', 'e', 's' }; +static const symbol s_5_38[6] = { 'u', 0xE7, 'o', '~', 'e', 's' }; static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' }; static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' }; static const symbol s_5_41[4] = { 'o', 's', 'o', 's' }; @@ -138,42 +138,42 @@ static const struct among a_5[45] = /* 0 */ { 3, s_5_0, -1, 1, 0}, /* 1 */ { 5, s_5_1, -1, 1, 0}, /* 2 */ { 5, s_5_2, -1, 4, 0}, -/* 3 */ { 3, s_5_3, -1, 9, 0}, -/* 4 */ { 5, s_5_4, -1, 1, 0}, -/* 5 */ { 3, s_5_5, -1, 1, 0}, -/* 6 */ { 4, s_5_6, -1, 1, 0}, -/* 7 */ { 3, s_5_7, -1, 8, 0}, -/* 8 */ { 3, s_5_8, -1, 1, 0}, -/* 9 */ { 5, s_5_9, -1, 2, 0}, +/* 3 */ { 5, s_5_3, -1, 2, 0}, +/* 4 */ { 3, s_5_4, -1, 9, 0}, +/* 5 */ { 5, s_5_5, -1, 1, 0}, +/* 6 */ { 3, s_5_6, -1, 1, 0}, +/* 7 */ { 4, s_5_7, -1, 1, 0}, +/* 8 */ { 3, s_5_8, -1, 8, 0}, +/* 9 */ { 3, s_5_9, -1, 1, 0}, /* 10 */ { 5, s_5_10, -1, 7, 0}, /* 11 */ { 4, s_5_11, -1, 1, 0}, /* 12 */ { 5, s_5_12, -1, 6, 0}, /* 13 */ { 6, s_5_13, 12, 5, 0}, /* 14 */ { 4, s_5_14, -1, 1, 0}, /* 15 */ { 4, s_5_15, -1, 1, 0}, -/* 16 */ { 5, s_5_16, -1, 3, 0}, -/* 17 */ { 3, s_5_17, -1, 1, 0}, -/* 18 */ { 4, s_5_18, -1, 1, 0}, -/* 19 */ { 3, s_5_19, -1, 1, 0}, +/* 16 */ { 3, s_5_16, -1, 1, 0}, +/* 17 */ { 4, s_5_17, -1, 1, 0}, +/* 18 */ { 3, s_5_18, -1, 1, 0}, +/* 19 */ { 6, s_5_19, -1, 1, 0}, /* 20 */ { 6, s_5_20, -1, 1, 0}, -/* 21 */ { 6, s_5_21, -1, 1, 0}, -/* 22 */ { 3, s_5_22, -1, 8, 0}, -/* 23 */ { 5, s_5_23, -1, 1, 0}, +/* 21 */ { 3, s_5_21, -1, 8, 0}, +/* 22 */ { 5, s_5_22, -1, 1, 0}, +/* 23 */ { 5, s_5_23, -1, 3, 0}, /* 24 */ { 4, s_5_24, -1, 1, 0}, /* 25 */ { 4, s_5_25, -1, 1, 0}, /* 26 */ { 6, s_5_26, -1, 4, 0}, -/* 27 */ { 4, s_5_27, -1, 9, 0}, -/* 28 */ { 6, s_5_28, -1, 1, 0}, -/* 29 */ { 4, s_5_29, -1, 1, 0}, -/* 30 */ { 5, s_5_30, -1, 1, 0}, -/* 31 */ { 4, s_5_31, -1, 8, 0}, -/* 32 */ { 4, s_5_32, -1, 1, 0}, -/* 33 */ { 6, s_5_33, -1, 2, 0}, +/* 27 */ { 6, s_5_27, -1, 2, 0}, +/* 28 */ { 4, s_5_28, -1, 9, 0}, +/* 29 */ { 6, s_5_29, -1, 1, 0}, +/* 30 */ { 4, s_5_30, -1, 1, 0}, +/* 31 */ { 5, s_5_31, -1, 1, 0}, +/* 32 */ { 4, s_5_32, -1, 8, 0}, +/* 33 */ { 4, s_5_33, -1, 1, 0}, /* 34 */ { 6, s_5_34, -1, 7, 0}, -/* 35 */ { 7, s_5_35, -1, 3, 0}, -/* 36 */ { 6, s_5_36, -1, 1, 0}, -/* 37 */ { 5, s_5_37, -1, 1, 0}, -/* 38 */ { 6, s_5_38, -1, 1, 0}, +/* 35 */ { 6, s_5_35, -1, 1, 0}, +/* 36 */ { 5, s_5_36, -1, 1, 0}, +/* 37 */ { 6, s_5_37, -1, 1, 0}, +/* 38 */ { 6, s_5_38, -1, 3, 0}, /* 39 */ { 4, s_5_39, -1, 1, 0}, /* 40 */ { 5, s_5_40, -1, 1, 0}, /* 41 */ { 4, s_5_41, -1, 1, 0}, @@ -470,27 +470,19 @@ static const symbol s_5[] = { 'u' }; static const symbol s_6[] = { 'e', 'n', 't', 'e' }; static const symbol s_7[] = { 'a', 't' }; static const symbol s_8[] = { 'a', 't' }; -static const symbol s_9[] = { 'e' }; -static const symbol s_10[] = { 'i', 'r' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'g' }; -static const symbol s_13[] = { 'i' }; -static const symbol s_14[] = { 'c' }; -static const symbol s_15[] = { 'c' }; -static const symbol s_16[] = { 'i' }; -static const symbol s_17[] = { 'c' }; +static const symbol s_9[] = { 'i', 'r' }; +static const symbol s_10[] = { 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 36 */ 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 - among_var = find_among(z, a_0, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 37 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 37 */ case 1: { int ret = slice_from_s(z, 2, s_0); /* <-, line 38 */ if (ret < 0) return ret; @@ -514,15 +506,15 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 46 */ + z->I[1] = z->l; /* $p1 = , line 47 */ + z->I[2] = z->l; /* $p2 = , line 48 */ { int c1 = z->c; /* do, line 50 */ { int c2 = z->c; /* or, line 52 */ - if (in_grouping(z, g_v, 97, 250, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */ { int c3 = z->c; /* or, line 51 */ - if (out_grouping(z, g_v, 97, 250, 0)) goto lab4; + if (out_grouping(z, g_v, 97, 250, 0)) goto lab4; /* non v, line 51 */ { /* gopast */ /* grouping v, line 51 */ int ret = out_grouping(z, g_v, 97, 250, 1); if (ret < 0) goto lab4; @@ -531,7 +523,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping(z, g_v, 97, 250, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */ { /* gopast */ /* non v, line 51 */ int ret = in_grouping(z, g_v, 97, 250, 1); if (ret < 0) goto lab2; @@ -542,9 +534,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping(z, g_v, 97, 250, 0)) goto lab0; + if (out_grouping(z, g_v, 97, 250, 0)) goto lab0; /* non v, line 53 */ { int c4 = z->c; /* or, line 53 */ - if (out_grouping(z, g_v, 97, 250, 0)) goto lab6; + if (out_grouping(z, g_v, 97, 250, 0)) goto lab6; /* non v, line 53 */ { /* gopast */ /* grouping v, line 53 */ int ret = out_grouping(z, g_v, 97, 250, 1); if (ret < 0) goto lab6; @@ -553,7 +545,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping(z, g_v, 97, 250, 0)) goto lab0; + if (in_grouping(z, g_v, 97, 250, 0)) goto lab0; /* grouping v, line 53 */ if (z->c >= z->l) goto lab0; z->c++; /* next, line 53 */ } @@ -594,17 +586,16 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 62 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 63 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 63 */ case 1: { int ret = slice_from_s(z, 1, s_2); /* <-, line 64 */ if (ret < 0) return ret; @@ -628,95 +619,88 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 72 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 73 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 74 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 77 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((839714 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 45); /* substring, line 77 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 77 */ + among_var = find_among_b(z, a_5, 45); if (!(among_var)) return 0; z->bra = z->c; /* ], line 77 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 93 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 93 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 93 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 98 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 98 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 3, s_4); /* <-, line 98 */ if (ret < 0) return ret; } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 102 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 102 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 1, s_5); /* <-, line 102 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 106 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 106 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 4, s_6); /* <-, line 106 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 110 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 110 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 110 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 111 */ z->ket = z->c; /* [, line 112 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab0; } - among_var = find_among_b(z, a_2, 4); /* substring, line 112 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; } /* substring, line 112 */ + among_var = find_among_b(z, a_2, 4); + if (!(among_var)) { z->c = z->l - m1; goto lab0; } z->bra = z->c; /* ], line 112 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 112 */ + { int ret = r_R2(z); /* call R2, line 112 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 112 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } + switch (among_var) { /* among, line 112 */ case 1: z->ket = z->c; /* [, line 113 */ - if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; } /* literal, line 113 */ z->bra = z->c; /* ], line 113 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 113 */ + { int ret = r_R2(z); /* call R2, line 113 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 113 */ @@ -729,79 +713,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 6: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 122 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 122 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 122 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 123 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 123 */ z->ket = z->c; /* [, line 124 */ - if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_3, 3); /* substring, line 124 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; } /* substring, line 124 */ + if (!(find_among_b(z, a_3, 3))) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 124 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 127 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 127 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 127 */ + if (ret < 0) return ret; } lab1: ; } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 134 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 135 */ z->ket = z->c; /* [, line 136 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_4, 3); /* substring, line 136 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m3; goto lab2; } /* substring, line 136 */ + if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 136 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 139 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 139 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 139 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 139 */ + if (ret < 0) return ret; } lab2: ; } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 146 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 146 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 146 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 147 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 147 */ z->ket = z->c; /* [, line 148 */ - if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; } /* literal, line 148 */ z->bra = z->c; /* ], line 148 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 148 */ + { int ret = r_R2(z); /* call R2, line 148 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 148 */ @@ -812,12 +781,12 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 9: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 153 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 153 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_9))) return 0; - { int ret = slice_from_s(z, 2, s_10); /* <-, line 154 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 153 */ + z->c--; + { int ret = slice_from_s(z, 2, s_9); /* <-, line 154 */ if (ret < 0) return ret; } break; @@ -825,97 +794,81 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 159 */ - int m1 = z->l - z->c; (void)m1; +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 159 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 159 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 160 */ - among_var = find_among_b(z, a_6, 120); /* substring, line 160 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_6, 120))) { z->lb = mlimit1; return 0; } /* substring, line 160 */ z->bra = z->c; /* ], line 160 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - { int ret = slice_del(z); /* delete, line 179 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 179 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_residual_suffix(struct SN_env * z) { - int among_var; +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 184 */ - among_var = find_among_b(z, a_7, 7); /* substring, line 184 */ - if (!(among_var)) return 0; + if (!(find_among_b(z, a_7, 7))) return 0; /* substring, line 184 */ z->bra = z->c; /* ], line 184 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 187 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 187 */ - if (ret < 0) return ret; - } - break; + { int ret = r_RV(z); /* call RV, line 187 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 187 */ + if (ret < 0) return ret; } return 1; } -static int r_residual_form(struct SN_env * z) { +static int r_residual_form(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 192 */ among_var = find_among_b(z, a_8, 4); /* substring, line 192 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 192 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 192 */ case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 194 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 194 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 194 */ { int m1 = z->l - z->c; (void)m1; /* or, line 194 */ - if (!(eq_s_b(z, 1, s_11))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1; /* literal, line 194 */ + z->c--; z->bra = z->c; /* ], line 194 */ - { int m_test = z->l - z->c; /* test, line 194 */ - if (!(eq_s_b(z, 1, s_12))) goto lab1; - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 194 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1; /* literal, line 194 */ + z->c--; + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_13))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 195 */ + z->c--; z->bra = z->c; /* ], line 195 */ - { int m_test = z->l - z->c; /* test, line 195 */ - if (!(eq_s_b(z, 1, s_14))) return 0; - z->c = z->l - m_test; + { int m_test3 = z->l - z->c; /* test, line 195 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0; /* literal, line 195 */ + z->c--; + z->c = z->l - m_test3; } } lab0: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 195 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 195 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 195 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_15); /* <-, line 196 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 196 */ if (ret < 0) return ret; } break; @@ -923,77 +876,77 @@ static int r_residual_form(struct SN_env * z) { return 1; } -extern int portuguese_ISO_8859_1_stem(struct SN_env * z) { +extern int portuguese_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 202 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 203 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 203 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 205 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 209 */ - { int m5 = z->l - z->c; (void)m5; /* and, line 207 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 206 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab6; /* call standard_suffix, line 206 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 205 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 209 */ + { 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 - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 206 */ + 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; } } lab5: - z->c = z->l - m5; - { int m7 = z->l - z->c; (void)m7; /* do, line 207 */ + z->c = z->l - m4; + { int m6 = z->l - z->c; (void)m6; /* do, line 207 */ z->ket = z->c; /* [, line 207 */ - if (!(eq_s_b(z, 1, s_16))) goto lab7; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7; /* literal, line 207 */ + z->c--; z->bra = z->c; /* ], line 207 */ - { int m_test = z->l - z->c; /* test, line 207 */ - if (!(eq_s_b(z, 1, s_17))) goto lab7; - z->c = z->l - m_test; + { 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 */ + z->c--; + z->c = z->l - m_test7; } - { int ret = r_RV(z); - if (ret == 0) goto lab7; /* call RV, line 207 */ + { int ret = r_RV(z); /* call RV, line 207 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 207 */ if (ret < 0) return ret; } lab7: - z->c = z->l - m7; + z->c = z->l - m6; } } goto lab3; lab4: - z->c = z->l - m4; - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab2; /* call residual_suffix, line 209 */ + z->c = z->l - m3; + { int ret = r_residual_suffix(z); /* call residual_suffix, line 209 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } { int m8 = z->l - z->c; (void)m8; /* do, line 211 */ - { int ret = r_residual_form(z); - if (ret == 0) goto lab8; /* call residual_form, line 211 */ + { int ret = r_residual_form(z); /* call residual_form, line 211 */ + if (ret == 0) goto lab8; if (ret < 0) return ret; } lab8: @@ -1001,8 +954,8 @@ extern int portuguese_ISO_8859_1_stem(struct SN_env * z) { } z->c = z->lb; { int c9 = z->c; /* do, line 213 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab9; /* call postlude, line 213 */ + { int ret = r_postlude(z); /* call postlude, line 213 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } lab9: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c index 27f26e7865..c2f101df3a 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -497,28 +497,22 @@ static const symbol s_6[] = { 'a', 'n', 'd', 'o' }; static const symbol s_7[] = { 'a', 'r' }; static const symbol s_8[] = { 'e', 'r' }; static const symbol s_9[] = { 'i', 'r' }; -static const symbol s_10[] = { 'u' }; -static const symbol s_11[] = { 'i', 'c' }; -static const symbol s_12[] = { 'l', 'o', 'g' }; -static const symbol s_13[] = { 'u' }; -static const symbol s_14[] = { 'e', 'n', 't', 'e' }; +static const symbol s_10[] = { 'i', 'c' }; +static const symbol s_11[] = { 'l', 'o', 'g' }; +static const symbol s_12[] = { 'u' }; +static const symbol s_13[] = { 'e', 'n', 't', 'e' }; +static const symbol s_14[] = { 'a', 't' }; static const symbol s_15[] = { 'a', 't' }; -static const symbol s_16[] = { 'a', 't' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'u' }; -static const symbol s_19[] = { 'g' }; -static const symbol s_20[] = { 'u' }; -static const symbol s_21[] = { 'g' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 33 */ + z->I[1] = z->l; /* $p1 = , line 34 */ + z->I[2] = z->l; /* $p2 = , line 35 */ { int c1 = z->c; /* do, line 37 */ { int c2 = z->c; /* or, line 39 */ - if (in_grouping(z, g_v, 97, 252, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 252, 0)) goto lab2; /* grouping v, line 38 */ { int c3 = z->c; /* or, line 38 */ - if (out_grouping(z, g_v, 97, 252, 0)) goto lab4; + if (out_grouping(z, g_v, 97, 252, 0)) goto lab4; /* non v, line 38 */ { /* gopast */ /* grouping v, line 38 */ int ret = out_grouping(z, g_v, 97, 252, 1); if (ret < 0) goto lab4; @@ -527,7 +521,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping(z, g_v, 97, 252, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 252, 0)) goto lab2; /* grouping v, line 38 */ { /* gopast */ /* non v, line 38 */ int ret = in_grouping(z, g_v, 97, 252, 1); if (ret < 0) goto lab2; @@ -538,9 +532,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping(z, g_v, 97, 252, 0)) goto lab0; + if (out_grouping(z, g_v, 97, 252, 0)) goto lab0; /* non v, line 40 */ { int c4 = z->c; /* or, line 40 */ - if (out_grouping(z, g_v, 97, 252, 0)) goto lab6; + if (out_grouping(z, g_v, 97, 252, 0)) goto lab6; /* non v, line 40 */ { /* gopast */ /* grouping v, line 40 */ int ret = out_grouping(z, g_v, 97, 252, 1); if (ret < 0) goto lab6; @@ -549,7 +543,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping(z, g_v, 97, 252, 0)) goto lab0; + if (in_grouping(z, g_v, 97, 252, 0)) goto lab0; /* grouping v, line 40 */ if (z->c >= z->l) goto lab0; z->c++; /* next, line 40 */ } @@ -590,17 +584,16 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 49 */ 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 - among_var = find_among(z, a_0, 6); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 50 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 50 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 51 */ if (ret < 0) return ret; @@ -639,36 +632,34 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 63 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 64 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 65 */ return 1; } -static int r_attached_pronoun(struct SN_env * z) { +static int r_attached_pronoun(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 68 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_1, 13))) return 0; /* substring, line 68 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 68 */ + if (!(find_among_b(z, a_1, 13))) return 0; z->bra = z->c; /* ], line 68 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; - among_var = find_among_b(z, a_2, 11); /* substring, line 72 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; /* substring, line 72 */ + among_var = find_among_b(z, a_2, 11); if (!(among_var)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 72 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 72 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 72 */ case 1: z->bra = z->c; /* ], line 73 */ { int ret = slice_from_s(z, 5, s_5); /* <-, line 73 */ @@ -705,7 +696,8 @@ static int r_attached_pronoun(struct SN_env * z) { } break; case 7: - if (!(eq_s_b(z, 1, s_10))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0; /* literal, line 82 */ + z->c--; { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } @@ -714,38 +706,35 @@ static int r_attached_pronoun(struct SN_env * z) { return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 87 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_6, 46); /* substring, line 87 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 87 */ + among_var = find_among_b(z, a_6, 46); if (!(among_var)) return 0; z->bra = z->c; /* ], line 87 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 87 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 99 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 99 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 105 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 105 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 105 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 106 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 106 */ z->ket = z->c; /* [, line 106 */ - if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m1; goto lab0; } /* literal, line 106 */ z->bra = z->c; /* ], line 106 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 106 */ + { int ret = r_R2(z); /* call R2, line 106 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 106 */ @@ -756,61 +745,56 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 111 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 111 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_12); /* <-, line 111 */ + { int ret = slice_from_s(z, 3, s_11); /* <-, line 111 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 115 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 115 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_13); /* <-, line 115 */ + { int ret = slice_from_s(z, 1, s_12); /* <-, line 115 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 119 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 119 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 4, s_14); /* <-, line 119 */ + { int ret = slice_from_s(z, 4, s_13); /* <-, line 119 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 123 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 123 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 123 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 124 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 124 */ z->ket = z->c; /* [, line 125 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_3, 4); /* substring, line 125 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; } /* substring, line 125 */ + among_var = find_among_b(z, a_3, 4); + if (!(among_var)) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 125 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 125 */ + { int ret = r_R2(z); /* call R2, line 125 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } + switch (among_var) { /* among, line 125 */ case 1: z->ket = z->c; /* [, line 126 */ - if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab1; } + if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m2; goto lab1; } /* literal, line 126 */ z->bra = z->c; /* ], line 126 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 126 */ + { int ret = r_R2(z); /* call R2, line 126 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 126 */ @@ -823,79 +807,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 135 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 135 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 135 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 136 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 136 */ z->ket = z->c; /* [, line 137 */ - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_4, 3); /* substring, line 137 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m3; goto lab2; } /* substring, line 137 */ + if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 137 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 140 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 140 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 140 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 140 */ + if (ret < 0) return ret; } lab2: ; } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 147 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 147 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 147 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 148 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 148 */ z->ket = z->c; /* [, line 149 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab3; } - among_var = find_among_b(z, a_5, 3); /* substring, line 149 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab3; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m4; goto lab3; } /* substring, line 149 */ + if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m4; goto lab3; } z->bra = z->c; /* ], line 149 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab3; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 152 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 152 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 152 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 152 */ + if (ret < 0) return ret; } lab3: ; } break; case 9: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 159 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 159 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 159 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 160 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 160 */ z->ket = z->c; /* [, line 161 */ - if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m_keep; goto lab4; } + if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m5; goto lab4; } /* literal, line 161 */ z->bra = z->c; /* ], line 161 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call R2, line 161 */ + { int ret = r_R2(z); /* call R2, line 161 */ + if (ret == 0) { z->c = z->l - m5; goto lab4; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 161 */ @@ -909,54 +878,45 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_y_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 168 */ - int m1 = z->l - z->c; (void)m1; +static int r_y_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 168 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 168 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 168 */ - among_var = find_among_b(z, a_7, 12); /* substring, line 168 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_7, 12))) { z->lb = mlimit1; return 0; } /* substring, line 168 */ z->bra = z->c; /* ], line 168 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; - case 1: - if (!(eq_s_b(z, 1, s_17))) return 0; - { int ret = slice_del(z); /* delete, line 171 */ - if (ret < 0) return ret; - } - break; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0; /* literal, line 171 */ + z->c--; + { int ret = slice_del(z); /* delete, line 171 */ + if (ret < 0) return ret; } return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 176 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 176 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 176 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 176 */ among_var = find_among_b(z, a_8, 96); /* substring, line 176 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 176 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 176 */ case 1: - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 179 */ - if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m_keep; goto lab0; } - { int m_test = z->l - z->c; /* test, line 179 */ - if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m2 = z->l - z->c; (void)m2; /* try, line 179 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m2; goto lab0; } /* literal, line 179 */ + z->c--; + { int m_test3 = z->l - z->c; /* test, line 179 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m2; goto lab0; } /* literal, line 179 */ + z->c--; + z->c = z->l - m_test3; } lab0: ; @@ -975,41 +935,40 @@ static int r_verb_suffix(struct SN_env * z) { return 1; } -static int r_residual_suffix(struct SN_env * z) { +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 205 */ among_var = find_among_b(z, a_9, 8); /* substring, line 205 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 205 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 205 */ case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 208 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 208 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 208 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 210 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 210 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 210 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 210 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 210 */ z->ket = z->c; /* [, line 210 */ - if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m1; goto lab0; } /* literal, line 210 */ + z->c--; z->bra = z->c; /* ], line 210 */ - { int m_test = z->l - z->c; /* test, line 210 */ - if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 210 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m1; goto lab0; } /* literal, line 210 */ + z->c--; + z->c = z->l - m_test2; } - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 210 */ + { int ret = r_RV(z); /* call RV, line 210 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 210 */ @@ -1023,66 +982,64 @@ static int r_residual_suffix(struct SN_env * z) { return 1; } -extern int spanish_ISO_8859_1_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 216 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 216 */ - if (ret < 0) return ret; - } - lab0: - z->c = c1; +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 m2 = z->l - z->c; (void)m2; /* do, line 218 */ - { int ret = r_attached_pronoun(z); - if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */ + { 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 - m2; + z->c = z->l - m1; } - { int m3 = z->l - z->c; (void)m3; /* do, line 219 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 219 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab4; /* call standard_suffix, line 219 */ + { 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 - m4; - { int ret = r_y_verb_suffix(z); - if (ret == 0) goto lab5; /* call y_verb_suffix, line 220 */ + 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 - m4; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab2; /* call verb_suffix, line 221 */ + 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; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } - { int m5 = z->l - z->c; (void)m5; /* do, line 223 */ - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab6; /* call residual_suffix, line 223 */ + { 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 - m5; + z->c = z->l - m4; } z->c = z->lb; - { int c6 = z->c; /* do, line 225 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab7; /* call postlude, line 225 */ + { 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 = c6; + z->c = c5; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c index f9bef1ada5..13be21762c 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -146,15 +146,15 @@ static const unsigned char g_s_ending[] = { 119, 127, 149 }; static const symbol s_0[] = { 'l', 0xF6, 's' }; static const symbol s_1[] = { 'f', 'u', 'l', 'l' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 29 */ - { int ret = z->c + 3; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 28 */ + { int c_test1 = z->c; /* test, line 29 */ + { int ret = z->c + 3; /* hop, line 29 */ if (0 > ret || ret > z->l) return 0; - z->c = ret; /* hop, line 29 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 29 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping(z, g_v, 97, 246, 1) < 0) return 0; /* goto */ /* grouping v, line 30 */ { /* gopast */ /* non v, line 30 */ @@ -163,37 +163,34 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 30 */ - /* try, line 31 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 31 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 31 */ + z->I[0] = z->I[1]; /* $p1 = , line 31 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 37 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 37 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 37 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 37 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 37); /* substring, line 37 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 37 */ + among_var = find_among_b(z, a_0, 37); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 37 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 38 */ case 1: { int ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b(z, g_s_ending, 98, 121, 0)) return 0; + if (in_grouping_b(z, g_s_ending, 98, 121, 0)) return 0; /* grouping s_ending, line 46 */ { int ret = slice_del(z); /* delete, line 46 */ if (ret < 0) return ret; } @@ -202,45 +199,40 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int mlimit; /* setlimit, line 50 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 50 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 50 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; { int m2 = z->l - z->c; (void)m2; /* and, line 52 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 7))) { z->lb = mlimit; return 0; } /* among, line 51 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* among, line 51 */ + if (!(find_among_b(z, a_1, 7))) { z->lb = mlimit1; return 0; } z->c = z->l - m2; z->ket = z->c; /* [, line 52 */ - if (z->c <= z->lb) { z->lb = mlimit; return 0; } + if (z->c <= z->lb) { z->lb = mlimit1; return 0; } z->c--; /* next, line 52 */ z->bra = z->c; /* ], line 52 */ { int ret = slice_del(z); /* delete, line 52 */ if (ret < 0) return ret; } } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_other_suffix(struct SN_env * z) { +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 55 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 55 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 55 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 5); /* substring, line 56 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 56 */ + among_var = find_among_b(z, a_2, 5); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 56 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 56 */ case 1: { int ret = slice_del(z); /* delete, line 57 */ if (ret < 0) return ret; @@ -257,15 +249,15 @@ static int r_other_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -extern int swedish_ISO_8859_1_stem(struct SN_env * z) { +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); - if (ret == 0) goto lab0; /* call mark_regions, line 66 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 66 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -274,24 +266,24 @@ extern int swedish_ISO_8859_1_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call main_suffix, 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); - if (ret == 0) goto lab2; /* call consonant_pair, 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); - if (ret == 0) goto lab3; /* call other_suffix, line 70 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 70 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.c b/src/backend/snowball/libstemmer/stem_ISO_8859_2_hungarian.c similarity index 54% rename from src/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.c rename to src/backend/snowball/libstemmer/stem_ISO_8859_2_hungarian.c index ff4b23e060..ae088a32f7 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_2_hungarian.c @@ -1,12 +1,12 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" #ifdef __cplusplus extern "C" { #endif -extern int hungarian_ISO_8859_1_stem(struct SN_env * z); +extern int hungarian_ISO_8859_2_stem(struct SN_env * z); #ifdef __cplusplus } #endif @@ -29,8 +29,8 @@ extern "C" { #endif -extern struct SN_env * hungarian_ISO_8859_1_create_env(void); -extern void hungarian_ISO_8859_1_close_env(struct SN_env * z); +extern struct SN_env * hungarian_ISO_8859_2_create_env(void); +extern void hungarian_ISO_8859_2_close_env(struct SN_env * z); #ifdef __cplusplus @@ -123,7 +123,7 @@ static const symbol s_3_1[2] = { 'e', 'l' }; static const struct among a_3[2] = { /* 0 */ { 2, s_3_0, -1, 1, 0}, -/* 1 */ { 2, s_3_1, -1, 2, 0} +/* 1 */ { 2, s_3_1, -1, 1, 0} }; static const symbol s_4_0[2] = { 'b', 'a' }; @@ -227,7 +227,7 @@ static const struct among a_5[3] = { /* 0 */ { 2, s_5_0, -1, 2, 0}, /* 1 */ { 2, s_5_1, -1, 1, 0}, -/* 2 */ { 6, s_5_2, -1, 3, 0} +/* 2 */ { 6, s_5_2, -1, 2, 0} }; static const symbol s_6_0[4] = { 's', 't', 'u', 'l' }; @@ -239,12 +239,12 @@ static const symbol s_6_5[5] = { 0xE9, 's', 't', 0xFC, 'l' }; static const struct among a_6[6] = { -/* 0 */ { 4, s_6_0, -1, 2, 0}, +/* 0 */ { 4, s_6_0, -1, 1, 0}, /* 1 */ { 5, s_6_1, 0, 1, 0}, -/* 2 */ { 5, s_6_2, 0, 3, 0}, -/* 3 */ { 4, s_6_3, -1, 2, 0}, +/* 2 */ { 5, s_6_2, 0, 2, 0}, +/* 3 */ { 4, s_6_3, -1, 1, 0}, /* 4 */ { 5, s_6_4, 3, 1, 0}, -/* 5 */ { 5, s_6_5, 3, 4, 0} +/* 5 */ { 5, s_6_5, 3, 3, 0} }; static const symbol s_7_0[1] = { 0xE1 }; @@ -253,7 +253,7 @@ static const symbol s_7_1[1] = { 0xE9 }; static const struct among a_7[2] = { /* 0 */ { 1, s_7_0, -1, 1, 0}, -/* 1 */ { 1, s_7_1, -1, 2, 0} +/* 1 */ { 1, s_7_1, -1, 1, 0} }; static const symbol s_8_0[1] = { 'k' }; @@ -266,10 +266,10 @@ static const symbol s_8_6[2] = { 0xF6, 'k' }; static const struct among a_8[7] = { -/* 0 */ { 1, s_8_0, -1, 7, 0}, -/* 1 */ { 2, s_8_1, 0, 4, 0}, -/* 2 */ { 2, s_8_2, 0, 6, 0}, -/* 3 */ { 2, s_8_3, 0, 5, 0}, +/* 0 */ { 1, s_8_0, -1, 3, 0}, +/* 1 */ { 2, s_8_1, 0, 3, 0}, +/* 2 */ { 2, s_8_2, 0, 3, 0}, +/* 3 */ { 2, s_8_3, 0, 3, 0}, /* 4 */ { 2, s_8_4, 0, 1, 0}, /* 5 */ { 2, s_8_5, 0, 2, 0}, /* 6 */ { 2, s_8_6, 0, 3, 0} @@ -290,18 +290,18 @@ static const symbol s_9_11[2] = { 0xE9, 0xE9 }; static const struct among a_9[12] = { -/* 0 */ { 2, s_9_0, -1, 7, 0}, -/* 1 */ { 3, s_9_1, 0, 6, 0}, -/* 2 */ { 3, s_9_2, 0, 5, 0}, -/* 3 */ { 1, s_9_3, -1, 9, 0}, -/* 4 */ { 2, s_9_4, 3, 4, 0}, +/* 0 */ { 2, s_9_0, -1, 1, 0}, +/* 1 */ { 3, s_9_1, 0, 3, 0}, +/* 2 */ { 3, s_9_2, 0, 2, 0}, +/* 3 */ { 1, s_9_3, -1, 1, 0}, +/* 4 */ { 2, s_9_4, 3, 1, 0}, /* 5 */ { 3, s_9_5, 4, 1, 0}, /* 6 */ { 3, s_9_6, 4, 1, 0}, /* 7 */ { 3, s_9_7, 4, 1, 0}, /* 8 */ { 3, s_9_8, 4, 3, 0}, /* 9 */ { 3, s_9_9, 4, 2, 0}, /* 10 */ { 3, s_9_10, 4, 1, 0}, -/* 11 */ { 2, s_9_11, 3, 8, 0} +/* 11 */ { 2, s_9_11, 3, 2, 0} }; static const symbol s_10_0[1] = { 'a' }; @@ -338,37 +338,37 @@ static const symbol s_10_30[1] = { 0xE9 }; static const struct among a_10[31] = { -/* 0 */ { 1, s_10_0, -1, 18, 0}, -/* 1 */ { 2, s_10_1, 0, 17, 0}, -/* 2 */ { 1, s_10_2, -1, 16, 0}, -/* 3 */ { 2, s_10_3, 2, 13, 0}, -/* 4 */ { 2, s_10_4, 2, 13, 0}, -/* 5 */ { 2, s_10_5, 2, 13, 0}, -/* 6 */ { 2, s_10_6, 2, 14, 0}, -/* 7 */ { 2, s_10_7, 2, 15, 0}, -/* 8 */ { 2, s_10_8, 2, 13, 0}, -/* 9 */ { 1, s_10_9, -1, 18, 0}, -/* 10 */ { 2, s_10_10, 9, 17, 0}, -/* 11 */ { 2, s_10_11, -1, 4, 0}, +/* 0 */ { 1, s_10_0, -1, 1, 0}, +/* 1 */ { 2, s_10_1, 0, 1, 0}, +/* 2 */ { 1, s_10_2, -1, 1, 0}, +/* 3 */ { 2, s_10_3, 2, 1, 0}, +/* 4 */ { 2, s_10_4, 2, 1, 0}, +/* 5 */ { 2, s_10_5, 2, 1, 0}, +/* 6 */ { 2, s_10_6, 2, 2, 0}, +/* 7 */ { 2, s_10_7, 2, 3, 0}, +/* 8 */ { 2, s_10_8, 2, 1, 0}, +/* 9 */ { 1, s_10_9, -1, 1, 0}, +/* 10 */ { 2, s_10_10, 9, 1, 0}, +/* 11 */ { 2, s_10_11, -1, 1, 0}, /* 12 */ { 3, s_10_12, 11, 1, 0}, /* 13 */ { 3, s_10_13, 11, 2, 0}, /* 14 */ { 3, s_10_14, 11, 3, 0}, /* 15 */ { 3, s_10_15, 11, 1, 0}, -/* 16 */ { 2, s_10_16, -1, 8, 0}, -/* 17 */ { 3, s_10_17, 16, 7, 0}, -/* 18 */ { 4, s_10_18, 17, 5, 0}, -/* 19 */ { 2, s_10_19, -1, 8, 0}, -/* 20 */ { 3, s_10_20, 19, 7, 0}, -/* 21 */ { 4, s_10_21, 20, 6, 0}, -/* 22 */ { 1, s_10_22, -1, 12, 0}, -/* 23 */ { 2, s_10_23, 22, 9, 0}, -/* 24 */ { 2, s_10_24, 22, 9, 0}, -/* 25 */ { 2, s_10_25, 22, 9, 0}, -/* 26 */ { 2, s_10_26, 22, 10, 0}, -/* 27 */ { 2, s_10_27, 22, 11, 0}, -/* 28 */ { 1, s_10_28, -1, 18, 0}, -/* 29 */ { 1, s_10_29, -1, 19, 0}, -/* 30 */ { 1, s_10_30, -1, 20, 0} +/* 16 */ { 2, s_10_16, -1, 1, 0}, +/* 17 */ { 3, s_10_17, 16, 1, 0}, +/* 18 */ { 4, s_10_18, 17, 2, 0}, +/* 19 */ { 2, s_10_19, -1, 1, 0}, +/* 20 */ { 3, s_10_20, 19, 1, 0}, +/* 21 */ { 4, s_10_21, 20, 3, 0}, +/* 22 */ { 1, s_10_22, -1, 1, 0}, +/* 23 */ { 2, s_10_23, 22, 1, 0}, +/* 24 */ { 2, s_10_24, 22, 1, 0}, +/* 25 */ { 2, s_10_25, 22, 1, 0}, +/* 26 */ { 2, s_10_26, 22, 2, 0}, +/* 27 */ { 2, s_10_27, 22, 3, 0}, +/* 28 */ { 1, s_10_28, -1, 1, 0}, +/* 29 */ { 1, s_10_29, -1, 2, 0}, +/* 30 */ { 1, s_10_30, -1, 3, 0} }; static const symbol s_11_0[2] = { 'i', 'd' }; @@ -416,45 +416,45 @@ static const symbol s_11_41[3] = { 0xE9, 'i', 'm' }; static const struct among a_11[42] = { -/* 0 */ { 2, s_11_0, -1, 10, 0}, -/* 1 */ { 3, s_11_1, 0, 9, 0}, -/* 2 */ { 4, s_11_2, 1, 6, 0}, -/* 3 */ { 3, s_11_3, 0, 9, 0}, -/* 4 */ { 4, s_11_4, 3, 6, 0}, -/* 5 */ { 3, s_11_5, 0, 7, 0}, -/* 6 */ { 3, s_11_6, 0, 8, 0}, -/* 7 */ { 1, s_11_7, -1, 15, 0}, -/* 8 */ { 2, s_11_8, 7, 14, 0}, -/* 9 */ { 3, s_11_9, 8, 11, 0}, -/* 10 */ { 2, s_11_10, 7, 14, 0}, -/* 11 */ { 3, s_11_11, 10, 11, 0}, -/* 12 */ { 2, s_11_12, 7, 12, 0}, -/* 13 */ { 2, s_11_13, 7, 13, 0}, -/* 14 */ { 4, s_11_14, -1, 24, 0}, -/* 15 */ { 5, s_11_15, 14, 21, 0}, -/* 16 */ { 6, s_11_16, 15, 20, 0}, -/* 17 */ { 5, s_11_17, 14, 23, 0}, -/* 18 */ { 2, s_11_18, -1, 29, 0}, -/* 19 */ { 3, s_11_19, 18, 26, 0}, -/* 20 */ { 4, s_11_20, 19, 25, 0}, -/* 21 */ { 3, s_11_21, 18, 26, 0}, -/* 22 */ { 4, s_11_22, 21, 25, 0}, -/* 23 */ { 3, s_11_23, 18, 27, 0}, -/* 24 */ { 3, s_11_24, 18, 28, 0}, -/* 25 */ { 3, s_11_25, -1, 20, 0}, -/* 26 */ { 4, s_11_26, 25, 17, 0}, -/* 27 */ { 5, s_11_27, 26, 16, 0}, -/* 28 */ { 4, s_11_28, 25, 17, 0}, -/* 29 */ { 5, s_11_29, 28, 16, 0}, -/* 30 */ { 4, s_11_30, 25, 18, 0}, -/* 31 */ { 4, s_11_31, 25, 19, 0}, -/* 32 */ { 5, s_11_32, -1, 21, 0}, -/* 33 */ { 6, s_11_33, 32, 20, 0}, -/* 34 */ { 5, s_11_34, -1, 22, 0}, -/* 35 */ { 2, s_11_35, -1, 5, 0}, -/* 36 */ { 3, s_11_36, 35, 4, 0}, +/* 0 */ { 2, s_11_0, -1, 1, 0}, +/* 1 */ { 3, s_11_1, 0, 1, 0}, +/* 2 */ { 4, s_11_2, 1, 1, 0}, +/* 3 */ { 3, s_11_3, 0, 1, 0}, +/* 4 */ { 4, s_11_4, 3, 1, 0}, +/* 5 */ { 3, s_11_5, 0, 2, 0}, +/* 6 */ { 3, s_11_6, 0, 3, 0}, +/* 7 */ { 1, s_11_7, -1, 1, 0}, +/* 8 */ { 2, s_11_8, 7, 1, 0}, +/* 9 */ { 3, s_11_9, 8, 1, 0}, +/* 10 */ { 2, s_11_10, 7, 1, 0}, +/* 11 */ { 3, s_11_11, 10, 1, 0}, +/* 12 */ { 2, s_11_12, 7, 2, 0}, +/* 13 */ { 2, s_11_13, 7, 3, 0}, +/* 14 */ { 4, s_11_14, -1, 1, 0}, +/* 15 */ { 5, s_11_15, 14, 1, 0}, +/* 16 */ { 6, s_11_16, 15, 1, 0}, +/* 17 */ { 5, s_11_17, 14, 3, 0}, +/* 18 */ { 2, s_11_18, -1, 1, 0}, +/* 19 */ { 3, s_11_19, 18, 1, 0}, +/* 20 */ { 4, s_11_20, 19, 1, 0}, +/* 21 */ { 3, s_11_21, 18, 1, 0}, +/* 22 */ { 4, s_11_22, 21, 1, 0}, +/* 23 */ { 3, s_11_23, 18, 2, 0}, +/* 24 */ { 3, s_11_24, 18, 3, 0}, +/* 25 */ { 3, s_11_25, -1, 1, 0}, +/* 26 */ { 4, s_11_26, 25, 1, 0}, +/* 27 */ { 5, s_11_27, 26, 1, 0}, +/* 28 */ { 4, s_11_28, 25, 1, 0}, +/* 29 */ { 5, s_11_29, 28, 1, 0}, +/* 30 */ { 4, s_11_30, 25, 2, 0}, +/* 31 */ { 4, s_11_31, 25, 3, 0}, +/* 32 */ { 5, s_11_32, -1, 1, 0}, +/* 33 */ { 6, s_11_33, 32, 1, 0}, +/* 34 */ { 5, s_11_34, -1, 2, 0}, +/* 35 */ { 2, s_11_35, -1, 1, 0}, +/* 36 */ { 3, s_11_36, 35, 1, 0}, /* 37 */ { 4, s_11_37, 36, 1, 0}, -/* 38 */ { 3, s_11_38, 35, 4, 0}, +/* 38 */ { 3, s_11_38, 35, 1, 0}, /* 39 */ { 4, s_11_39, 38, 1, 0}, /* 40 */ { 3, s_11_40, 35, 2, 0}, /* 41 */ { 3, s_11_41, 35, 3, 0} @@ -467,46 +467,24 @@ static const symbol s_1[] = { 'e' }; static const symbol s_2[] = { 'e' }; static const symbol s_3[] = { 'a' }; static const symbol s_4[] = { 'a' }; -static const symbol s_5[] = { 'a' }; -static const symbol s_6[] = { 'e' }; -static const symbol s_7[] = { 'a' }; +static const symbol s_5[] = { 'e' }; +static const symbol s_6[] = { 'a' }; +static const symbol s_7[] = { 'e' }; static const symbol s_8[] = { 'e' }; -static const symbol s_9[] = { 'e' }; +static const symbol s_9[] = { 'a' }; static const symbol s_10[] = { 'a' }; static const symbol s_11[] = { 'e' }; static const symbol s_12[] = { 'a' }; static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'a' }; -static const symbol s_15[] = { 'e' }; -static const symbol s_16[] = { 'a' }; -static const symbol s_17[] = { 'e' }; -static const symbol s_18[] = { 'a' }; -static const symbol s_19[] = { 'e' }; -static const symbol s_20[] = { 'a' }; -static const symbol s_21[] = { 'e' }; -static const symbol s_22[] = { 'a' }; -static const symbol s_23[] = { 'e' }; -static const symbol s_24[] = { 'a' }; -static const symbol s_25[] = { 'e' }; -static const symbol s_26[] = { 'a' }; -static const symbol s_27[] = { 'e' }; -static const symbol s_28[] = { 'a' }; -static const symbol s_29[] = { 'e' }; -static const symbol s_30[] = { 'a' }; -static const symbol s_31[] = { 'e' }; -static const symbol s_32[] = { 'a' }; -static const symbol s_33[] = { 'e' }; -static const symbol s_34[] = { 'a' }; -static const symbol s_35[] = { 'e' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 46 */ { int c1 = z->c; /* or, line 51 */ - if (in_grouping(z, g_v, 97, 252, 0)) goto lab1; + if (in_grouping(z, g_v, 97, 252, 0)) goto lab1; /* grouping v, line 48 */ if (in_grouping(z, g_v, 97, 252, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */ { int c2 = z->c; /* or, line 49 */ - if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3; - if (!(find_among(z, a_0, 8))) goto lab3; /* among, line 49 */ + if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3; /* among, line 49 */ + if (!(find_among(z, a_0, 8))) goto lab3; goto lab2; lab3: z->c = c2; @@ -518,7 +496,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab0; lab1: z->c = c1; - if (out_grouping(z, g_v, 97, 252, 0)) return 0; + if (out_grouping(z, g_v, 97, 252, 0)) return 0; /* non v, line 53 */ { /* gopast */ /* grouping v, line 53 */ int ret = out_grouping(z, g_v, 97, 252, 1); if (ret < 0) return 0; @@ -530,24 +508,22 @@ lab0: return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 58 */ return 1; } -static int r_v_ending(struct SN_env * z) { +static int r_v_ending(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 61 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0; - among_var = find_among_b(z, a_1, 2); /* substring, line 61 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0; /* substring, line 61 */ + among_var = find_among_b(z, a_1, 2); if (!(among_var)) return 0; z->bra = z->c; /* ], line 61 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 61 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 61 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 61 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 62 */ if (ret < 0) return ret; @@ -562,22 +538,22 @@ static int r_v_ending(struct SN_env * z) { return 1; } -static int r_double(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 68 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 23))) return 0; /* among, line 68 */ - z->c = z->l - m_test; +static int r_double(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 68 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 68 */ + if (!(find_among_b(z, a_2, 23))) return 0; + z->c = z->l - m_test1; } return 1; } -static int r_undouble(struct SN_env * z) { +static int r_undouble(struct SN_env * z) { /* backwardmode */ if (z->c <= z->lb) return 0; z->c--; /* next, line 73 */ z->ket = z->c; /* [, line 73 */ - { int ret = z->c - 1; + { int ret = z->c - 1; /* hop, line 73 */ if (z->lb > ret || ret > z->l) return 0; - z->c = ret; /* hop, line 73 */ + z->c = ret; } z->bra = z->c; /* ], line 73 */ { int ret = slice_del(z); /* delete, line 73 */ @@ -586,73 +562,53 @@ static int r_undouble(struct SN_env * z) { return 1; } -static int r_instrum(struct SN_env * z) { - int among_var; +static int r_instrum(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 77 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0; - among_var = find_among_b(z, a_3, 2); /* substring, line 77 */ - if (!(among_var)) return 0; + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0; /* substring, line 77 */ + if (!(find_among_b(z, a_3, 2))) return 0; z->bra = z->c; /* ], line 77 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 77 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 77 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 78 */ - if (ret < 0) return ret; - } - break; - case 2: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 79 */ - if (ret < 0) return ret; - } - break; + { int ret = r_double(z); /* call double, line 78 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 81 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 82 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 82 */ + if (ret <= 0) return ret; } return 1; } -static int r_case(struct SN_env * z) { +static int r_case(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 87 */ if (!(find_among_b(z, a_4, 44))) return 0; /* substring, line 87 */ z->bra = z->c; /* ], line 87 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 87 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 87 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 111 */ if (ret < 0) return ret; } - { int ret = r_v_ending(z); - if (ret == 0) return 0; /* call v_ending, line 112 */ - if (ret < 0) return ret; + { int ret = r_v_ending(z); /* call v_ending, line 112 */ + if (ret <= 0) return ret; } return 1; } -static int r_case_special(struct SN_env * z) { +static int r_case_special(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 116 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0; - among_var = find_among_b(z, a_5, 3); /* substring, line 116 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0; /* substring, line 116 */ + among_var = find_among_b(z, a_5, 3); if (!(among_var)) return 0; z->bra = z->c; /* ], line 116 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 116 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 116 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 116 */ case 1: { int ret = slice_from_s(z, 1, s_2); /* <-, line 117 */ if (ret < 0) return ret; @@ -663,45 +619,33 @@ static int r_case_special(struct SN_env * z) { if (ret < 0) return ret; } break; - case 3: - { int ret = slice_from_s(z, 1, s_4); /* <-, line 119 */ - if (ret < 0) return ret; - } - break; } return 1; } -static int r_case_other(struct SN_env * z) { +static int r_case_other(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 124 */ - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0; - among_var = find_among_b(z, a_6, 6); /* substring, line 124 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0; /* substring, line 124 */ + among_var = find_among_b(z, a_6, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 124 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 124 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 124 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 124 */ case 1: { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 126 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 127 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 127 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 128 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 128 */ if (ret < 0) return ret; } break; @@ -709,62 +653,44 @@ static int r_case_other(struct SN_env * z) { return 1; } -static int r_factive(struct SN_env * z) { - int among_var; +static int r_factive(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 133 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0; - among_var = find_among_b(z, a_7, 2); /* substring, line 133 */ - if (!(among_var)) return 0; + if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0; /* substring, line 133 */ + if (!(find_among_b(z, a_7, 2))) return 0; z->bra = z->c; /* ], line 133 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 133 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 133 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 134 */ - if (ret < 0) return ret; - } - break; - case 2: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 135 */ - if (ret < 0) return ret; - } - break; + { int ret = r_double(z); /* call double, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 137 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 138 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 138 */ + if (ret <= 0) return ret; } return 1; } -static int r_plural(struct SN_env * z) { +static int r_plural(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 142 */ - if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0; - among_var = find_among_b(z, a_8, 7); /* substring, line 142 */ + if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0; /* substring, line 142 */ + among_var = find_among_b(z, a_8, 7); if (!(among_var)) return 0; z->bra = z->c; /* ], line 142 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 142 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 142 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 142 */ case 1: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 143 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 143 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 144 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 144 */ if (ret < 0) return ret; } break; @@ -773,85 +699,33 @@ static int r_plural(struct SN_env * z) { if (ret < 0) return ret; } break; - case 4: - { int ret = slice_del(z); /* delete, line 146 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_del(z); /* delete, line 147 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_del(z); /* delete, line 148 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 149 */ - if (ret < 0) return ret; - } - break; } return 1; } -static int r_owned(struct SN_env * z) { +static int r_owned(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 154 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 233)) return 0; - among_var = find_among_b(z, a_9, 12); /* substring, line 154 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 233)) return 0; /* substring, line 154 */ + among_var = find_among_b(z, a_9, 12); if (!(among_var)) return 0; z->bra = z->c; /* ], line 154 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 154 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 154 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 154 */ case 1: { int ret = slice_del(z); /* delete, line 155 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_9); /* <-, line 156 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 156 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 157 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 158 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 159 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 160 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 161 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 162 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 163 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 157 */ if (ret < 0) return ret; } break; @@ -859,115 +733,28 @@ static int r_owned(struct SN_env * z) { return 1; } -static int r_sing_owner(struct SN_env * z) { +static int r_sing_owner(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 168 */ among_var = find_among_b(z, a_10, 31); /* substring, line 168 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 168 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 168 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 168 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 168 */ case 1: { int ret = slice_del(z); /* delete, line 169 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_14); /* <-, line 170 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 170 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_15); /* <-, line 171 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 172 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_from_s(z, 1, s_16); /* <-, line 173 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_from_s(z, 1, s_17); /* <-, line 174 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 175 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_del(z); /* delete, line 176 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 177 */ - if (ret < 0) return ret; - } - break; - case 10: - { int ret = slice_from_s(z, 1, s_18); /* <-, line 178 */ - if (ret < 0) return ret; - } - break; - case 11: - { int ret = slice_from_s(z, 1, s_19); /* <-, line 179 */ - if (ret < 0) return ret; - } - break; - case 12: - { int ret = slice_del(z); /* delete, line 180 */ - if (ret < 0) return ret; - } - break; - case 13: - { int ret = slice_del(z); /* delete, line 181 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_from_s(z, 1, s_20); /* <-, line 182 */ - if (ret < 0) return ret; - } - break; - case 15: - { int ret = slice_from_s(z, 1, s_21); /* <-, line 183 */ - if (ret < 0) return ret; - } - break; - case 16: - { int ret = slice_del(z); /* delete, line 184 */ - if (ret < 0) return ret; - } - break; - case 17: - { int ret = slice_del(z); /* delete, line 185 */ - if (ret < 0) return ret; - } - break; - case 18: - { int ret = slice_del(z); /* delete, line 186 */ - if (ret < 0) return ret; - } - break; - case 19: - { int ret = slice_from_s(z, 1, s_22); /* <-, line 187 */ - if (ret < 0) return ret; - } - break; - case 20: - { int ret = slice_from_s(z, 1, s_23); /* <-, line 188 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 171 */ if (ret < 0) return ret; } break; @@ -975,161 +762,29 @@ static int r_sing_owner(struct SN_env * z) { return 1; } -static int r_plur_owner(struct SN_env * z) { +static int r_plur_owner(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 193 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_11, 42); /* substring, line 193 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 193 */ + among_var = find_among_b(z, a_11, 42); if (!(among_var)) return 0; z->bra = z->c; /* ], line 193 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 193 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 193 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 193 */ case 1: { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_24); /* <-, line 195 */ + { int ret = slice_from_s(z, 1, s_12); /* <-, line 195 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_25); /* <-, line 196 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 197 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_del(z); /* delete, line 198 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_del(z); /* delete, line 199 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_from_s(z, 1, s_26); /* <-, line 200 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_from_s(z, 1, s_27); /* <-, line 201 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 202 */ - if (ret < 0) return ret; - } - break; - case 10: - { int ret = slice_del(z); /* delete, line 203 */ - if (ret < 0) return ret; - } - break; - case 11: - { int ret = slice_del(z); /* delete, line 204 */ - if (ret < 0) return ret; - } - break; - case 12: - { int ret = slice_from_s(z, 1, s_28); /* <-, line 205 */ - if (ret < 0) return ret; - } - break; - case 13: - { int ret = slice_from_s(z, 1, s_29); /* <-, line 206 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_del(z); /* delete, line 207 */ - if (ret < 0) return ret; - } - break; - case 15: - { int ret = slice_del(z); /* delete, line 208 */ - if (ret < 0) return ret; - } - break; - case 16: - { int ret = slice_del(z); /* delete, line 209 */ - if (ret < 0) return ret; - } - break; - case 17: - { int ret = slice_del(z); /* delete, line 210 */ - if (ret < 0) return ret; - } - break; - case 18: - { int ret = slice_from_s(z, 1, s_30); /* <-, line 211 */ - if (ret < 0) return ret; - } - break; - case 19: - { int ret = slice_from_s(z, 1, s_31); /* <-, line 212 */ - if (ret < 0) return ret; - } - break; - case 20: - { int ret = slice_del(z); /* delete, line 214 */ - if (ret < 0) return ret; - } - break; - case 21: - { int ret = slice_del(z); /* delete, line 215 */ - if (ret < 0) return ret; - } - break; - case 22: - { int ret = slice_from_s(z, 1, s_32); /* <-, line 216 */ - if (ret < 0) return ret; - } - break; - case 23: - { int ret = slice_from_s(z, 1, s_33); /* <-, line 217 */ - if (ret < 0) return ret; - } - break; - case 24: - { int ret = slice_del(z); /* delete, line 218 */ - if (ret < 0) return ret; - } - break; - case 25: - { int ret = slice_del(z); /* delete, line 219 */ - if (ret < 0) return ret; - } - break; - case 26: - { int ret = slice_del(z); /* delete, line 220 */ - if (ret < 0) return ret; - } - break; - case 27: - { int ret = slice_from_s(z, 1, s_34); /* <-, line 221 */ - if (ret < 0) return ret; - } - break; - case 28: - { int ret = slice_from_s(z, 1, s_35); /* <-, line 222 */ - if (ret < 0) return ret; - } - break; - case 29: - { int ret = slice_del(z); /* delete, line 223 */ + { int ret = slice_from_s(z, 1, s_13); /* <-, line 196 */ if (ret < 0) return ret; } break; @@ -1137,10 +792,10 @@ static int r_plur_owner(struct SN_env * z) { return 1; } -extern int hungarian_ISO_8859_1_stem(struct SN_env * z) { +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); - if (ret == 0) goto lab0; /* call mark_regions, line 229 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 229 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -1149,72 +804,72 @@ extern int hungarian_ISO_8859_1_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call instrum, 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); - if (ret == 0) goto lab2; /* call case, 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); - if (ret == 0) goto lab3; /* call case_special, 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); - if (ret == 0) goto lab4; /* call case_other, 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); - if (ret == 0) goto lab5; /* call factive, 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); - if (ret == 0) goto lab6; /* call owned, 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); - if (ret == 0) goto lab7; /* call sing_owner, 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); - if (ret == 0) goto lab8; /* call plur_owner, 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); - if (ret == 0) goto lab9; /* call plural, line 239 */ + { int ret = r_plural(z); /* call plural, line 239 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } lab9: @@ -1224,7 +879,7 @@ extern int hungarian_ISO_8859_1_stem(struct SN_env * z) { return 1; } -extern struct SN_env * hungarian_ISO_8859_1_create_env(void) { return SN_create_env(0, 1, 0); } +extern struct SN_env * hungarian_ISO_8859_2_create_env(void) { return SN_create_env(0, 1, 0); } -extern void hungarian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); } +extern void hungarian_ISO_8859_2_close_env(struct SN_env * z) { SN_close_env(z, 0); } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.c b/src/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.c index d5cc2bec3f..a085e09efe 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -516,51 +516,49 @@ static const struct among a_5[5] = static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 32 }; -static const symbol s_0[] = { 'u' }; -static const symbol s_1[] = { 'U' }; +static const symbol s_0[] = { 'U' }; +static const symbol s_1[] = { 'I' }; static const symbol s_2[] = { 'i' }; -static const symbol s_3[] = { 'I' }; -static const symbol s_4[] = { 'i' }; -static const symbol s_5[] = { 'u' }; -static const symbol s_6[] = { 'a' }; -static const symbol s_7[] = { 'e' }; +static const symbol s_3[] = { 'u' }; +static const symbol s_4[] = { 'a' }; +static const symbol s_5[] = { 'e' }; +static const symbol s_6[] = { 'i' }; +static const symbol s_7[] = { 'a', 'b' }; static const symbol s_8[] = { 'i' }; -static const symbol s_9[] = { 'a', 'b' }; -static const symbol s_10[] = { 'i' }; -static const symbol s_11[] = { 'a', 't' }; -static const symbol s_12[] = { 'a', 0xFE, 'i' }; -static const symbol s_13[] = { 'a', 'b', 'i', 'l' }; -static const symbol s_14[] = { 'i', 'b', 'i', 'l' }; -static const symbol s_15[] = { 'i', 'v' }; -static const symbol s_16[] = { 'i', 'c' }; -static const symbol s_17[] = { 'a', 't' }; -static const symbol s_18[] = { 'i', 't' }; -static const symbol s_19[] = { 0xFE }; -static const symbol s_20[] = { 't' }; -static const symbol s_21[] = { 'i', 's', 't' }; -static const symbol s_22[] = { 'u' }; +static const symbol s_9[] = { 'a', 't' }; +static const symbol s_10[] = { 'a', 0xFE, 'i' }; +static const symbol s_11[] = { 'a', 'b', 'i', 'l' }; +static const symbol s_12[] = { 'i', 'b', 'i', 'l' }; +static const symbol s_13[] = { 'i', 'v' }; +static const symbol s_14[] = { 'i', 'c' }; +static const symbol s_15[] = { 'a', 't' }; +static const symbol s_16[] = { 'i', 't' }; +static const symbol s_17[] = { 't' }; +static const symbol s_18[] = { 'i', 's', 't' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 32 */ int c1 = z->c; while(1) { /* goto, line 32 */ int c2 = z->c; - if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; + if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; /* grouping v, line 33 */ z->bra = z->c; /* [, line 33 */ { int c3 = z->c; /* or, line 33 */ - if (!(eq_s(z, 1, s_0))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'u') goto lab3; /* literal, line 33 */ + z->c++; z->ket = z->c; /* ], line 33 */ - if (in_grouping(z, g_v, 97, 238, 0)) goto lab3; - { int ret = slice_from_s(z, 1, s_1); /* <-, line 33 */ + if (in_grouping(z, g_v, 97, 238, 0)) goto lab3; /* grouping v, line 33 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 33 */ if (ret < 0) return ret; } goto lab2; lab3: z->c = c3; - if (!(eq_s(z, 1, s_2))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'i') goto lab1; /* literal, line 34 */ + z->c++; z->ket = z->c; /* ], line 34 */ - if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 34 */ + if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; /* grouping v, line 34 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 34 */ if (ret < 0) return ret; } } @@ -580,15 +578,15 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 40 */ + z->I[1] = z->l; /* $p1 = , line 41 */ + z->I[2] = z->l; /* $p2 = , line 42 */ { int c1 = z->c; /* do, line 44 */ { int c2 = z->c; /* or, line 46 */ - if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; /* grouping v, line 45 */ { int c3 = z->c; /* or, line 45 */ - if (out_grouping(z, g_v, 97, 238, 0)) goto lab4; + if (out_grouping(z, g_v, 97, 238, 0)) goto lab4; /* non v, line 45 */ { /* gopast */ /* grouping v, line 45 */ int ret = out_grouping(z, g_v, 97, 238, 1); if (ret < 0) goto lab4; @@ -597,7 +595,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; + if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; /* grouping v, line 45 */ { /* gopast */ /* non v, line 45 */ int ret = in_grouping(z, g_v, 97, 238, 1); if (ret < 0) goto lab2; @@ -608,9 +606,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping(z, g_v, 97, 238, 0)) goto lab0; + if (out_grouping(z, g_v, 97, 238, 0)) goto lab0; /* non v, line 47 */ { int c4 = z->c; /* or, line 47 */ - if (out_grouping(z, g_v, 97, 238, 0)) goto lab6; + if (out_grouping(z, g_v, 97, 238, 0)) goto lab6; /* non v, line 47 */ { /* gopast */ /* grouping v, line 47 */ int ret = out_grouping(z, g_v, 97, 238, 1); if (ret < 0) goto lab6; @@ -619,7 +617,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping(z, g_v, 97, 238, 0)) goto lab0; + if (in_grouping(z, g_v, 97, 238, 0)) goto lab0; /* grouping v, line 47 */ if (z->c >= z->l) goto lab0; z->c++; /* next, line 47 */ } @@ -660,24 +658,23 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 56 */ 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 - among_var = find_among(z, a_0, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 58 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 58 */ case 1: - { int ret = slice_from_s(z, 1, s_4); /* <-, line 59 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 59 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 60 */ if (ret < 0) return ret; } break; @@ -694,72 +691,70 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 68 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 69 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 70 */ return 1; } -static int r_step_0(struct SN_env * z) { +static int r_step_0(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 73 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_1, 16); /* substring, line 73 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 73 */ + among_var = find_among_b(z, a_1, 16); if (!(among_var)) return 0; z->bra = z->c; /* ], line 73 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 73 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 73 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 73 */ case 1: { int ret = slice_del(z); /* delete, line 75 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 77 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 77 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 79 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 81 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 81 */ if (ret < 0) return ret; } break; case 5: { int m1 = z->l - z->c; (void)m1; /* not, line 83 */ - if (!(eq_s_b(z, 2, s_9))) goto lab0; + if (!(eq_s_b(z, 2, s_7))) goto lab0; /* literal, line 83 */ return 0; lab0: z->c = z->l - m1; } - { int ret = slice_from_s(z, 1, s_10); /* <-, line 83 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 83 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 2, s_11); /* <-, line 85 */ + { int ret = slice_from_s(z, 2, s_9); /* <-, line 85 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 3, s_12); /* <-, line 87 */ + { int ret = slice_from_s(z, 3, s_10); /* <-, line 87 */ if (ret < 0) return ret; } break; @@ -767,63 +762,61 @@ static int r_step_0(struct SN_env * z) { return 1; } -static int r_combo_suffix(struct SN_env * z) { +static int r_combo_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_test = z->l - z->c; /* test, line 91 */ + { int m_test1 = z->l - z->c; /* test, line 91 */ z->ket = z->c; /* [, line 92 */ among_var = find_among_b(z, a_2, 46); /* substring, line 92 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 92 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 92 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 93 */ case 1: - { int ret = slice_from_s(z, 4, s_13); /* <-, line 101 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 101 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_14); /* <-, line 104 */ + { int ret = slice_from_s(z, 4, s_12); /* <-, line 104 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 2, s_15); /* <-, line 107 */ + { int ret = slice_from_s(z, 2, s_13); /* <-, line 107 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 2, s_16); /* <-, line 113 */ + { int ret = slice_from_s(z, 2, s_14); /* <-, line 113 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 2, s_17); /* <-, line 118 */ + { int ret = slice_from_s(z, 2, s_15); /* <-, line 118 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 2, s_18); /* <-, line 122 */ + { int ret = slice_from_s(z, 2, s_16); /* <-, line 122 */ if (ret < 0) return ret; } break; } z->B[0] = 1; /* set standard_suffix_removed, line 125 */ - z->c = z->l - m_test; + z->c = z->l - m_test1; } return 1; } -static int r_standard_suffix(struct SN_env * z) { +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; - { int ret = r_combo_suffix(z); - if (ret == 0) goto lab0; /* call combo_suffix, line 131 */ + { int ret = r_combo_suffix(z); /* call combo_suffix, line 131 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } continue; @@ -835,26 +828,25 @@ static int r_standard_suffix(struct SN_env * z) { among_var = find_among_b(z, a_3, 62); /* substring, line 132 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 132 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 132 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 132 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 133 */ case 1: { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } break; case 2: - if (!(eq_s_b(z, 1, s_19))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xFE) return 0; /* literal, line 152 */ + z->c--; z->bra = z->c; /* ], line 152 */ - { int ret = slice_from_s(z, 1, s_20); /* <-, line 152 */ + { int ret = slice_from_s(z, 1, s_17); /* <-, line 152 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 156 */ if (ret < 0) return ret; } break; @@ -863,27 +855,25 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 164 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 164 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 164 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 165 */ among_var = find_among_b(z, a_4, 94); /* substring, line 165 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 165 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 165 */ case 1: { int m2 = z->l - z->c; (void)m2; /* or, line 200 */ - if (out_grouping_b(z, g_v, 97, 238, 0)) goto lab1; + if (out_grouping_b(z, g_v, 97, 238, 0)) goto lab1; /* non v, line 200 */ goto lab0; lab1: z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_22))) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; } /* literal, line 200 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 200 */ @@ -896,98 +886,88 @@ static int r_verb_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_vowel_suffix(struct SN_env * z) { - int among_var; +static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 219 */ - among_var = find_among_b(z, a_5, 5); /* substring, line 219 */ - if (!(among_var)) return 0; + if (!(find_among_b(z, a_5, 5))) return 0; /* substring, line 219 */ z->bra = z->c; /* ], line 219 */ - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 219 */ + { int ret = r_RV(z); /* call RV, line 219 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 220 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 220 */ - if (ret < 0) return ret; - } - break; - } return 1; } -extern int romanian_ISO_8859_2_stem(struct SN_env * z) { +extern int romanian_ISO_8859_2_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 226 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 227 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 227 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 229 */ - { int ret = r_step_0(z); - if (ret == 0) goto lab2; /* call step_0, line 229 */ + { 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 - m3; + z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 230 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab3; /* call standard_suffix, line 230 */ + { 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 - m4; + z->c = z->l - m3; } - { int m5 = z->l - z->c; (void)m5; /* do, line 231 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 231 */ + { 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: - z->c = z->l - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 231 */ + z->c = z->l - m5; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: lab4: - z->c = z->l - m5; + z->c = z->l - m4; } - { int m7 = z->l - z->c; (void)m7; /* do, line 232 */ - { int ret = r_vowel_suffix(z); - if (ret == 0) goto lab7; /* call vowel_suffix, line 232 */ + { 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 - m7; + z->c = z->l - m6; } z->c = z->lb; - { int c8 = z->c; /* do, line 234 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab8; /* call postlude, line 234 */ + { 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 = c8; + z->c = c7; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_KOI8_R_russian.c b/src/backend/snowball/libstemmer/stem_KOI8_R_russian.c index be7feb752e..fea26a66cf 100644 --- a/src/backend/snowball/libstemmer/stem_KOI8_R_russian.c +++ b/src/backend/snowball/libstemmer/stem_KOI8_R_russian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -340,20 +340,11 @@ static const struct among a_7[4] = static const unsigned char g_v[] = { 35, 130, 34, 18 }; -static const symbol s_0[] = { 0xC1 }; -static const symbol s_1[] = { 0xD1 }; -static const symbol s_2[] = { 0xC1 }; -static const symbol s_3[] = { 0xD1 }; -static const symbol s_4[] = { 0xC1 }; -static const symbol s_5[] = { 0xD1 }; -static const symbol s_6[] = { 0xCE }; -static const symbol s_7[] = { 0xCE }; -static const symbol s_8[] = { 0xCE }; -static const symbol s_9[] = { 0xC9 }; +static const symbol s_0[] = { 0xC5 }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 61 */ + z->I[1] = z->l; /* $p2 = , line 62 */ { int c1 = z->c; /* do, line 63 */ { /* gopast */ /* grouping v, line 64 */ int ret = out_grouping(z, g_v, 192, 220, 1); @@ -383,27 +374,28 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 71 */ return 1; } -static int r_perfective_gerund(struct SN_env * z) { +static int r_perfective_gerund(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 74 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((25166336 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_0, 9); /* substring, line 74 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((25166336 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 74 */ + among_var = find_among_b(z, a_0, 9); if (!(among_var)) return 0; z->bra = z->c; /* ], line 74 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 74 */ case 1: { int m1 = z->l - z->c; (void)m1; /* or, line 78 */ - if (!(eq_s_b(z, 1, s_0))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab1; /* literal, line 78 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_1))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) return 0; /* literal, line 78 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 78 */ @@ -419,45 +411,38 @@ static int r_perfective_gerund(struct SN_env * z) { return 1; } -static int r_adjective(struct SN_env * z) { - int among_var; +static int r_adjective(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 90 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((2271009 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_1, 26); /* substring, line 90 */ - if (!(among_var)) return 0; + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((2271009 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 90 */ + if (!(find_among_b(z, a_1, 26))) return 0; z->bra = z->c; /* ], line 90 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 99 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 99 */ + if (ret < 0) return ret; } return 1; } -static int r_adjectival(struct SN_env * z) { +static int r_adjectival(struct SN_env * z) { /* backwardmode */ int among_var; - { int ret = r_adjective(z); - if (ret == 0) return 0; /* call adjective, line 104 */ - if (ret < 0) return ret; + { int ret = r_adjective(z); /* call adjective, line 104 */ + if (ret <= 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 111 */ z->ket = z->c; /* [, line 112 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((671113216 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab0; } - among_var = find_among_b(z, a_2, 8); /* substring, line 112 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((671113216 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; } /* substring, line 112 */ + among_var = find_among_b(z, a_2, 8); + if (!(among_var)) { z->c = z->l - m1; goto lab0; } z->bra = z->c; /* ], line 112 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } + switch (among_var) { /* among, line 112 */ case 1: - { int m1 = z->l - z->c; (void)m1; /* or, line 117 */ - if (!(eq_s_b(z, 1, s_2))) goto lab2; + { int m2 = z->l - z->c; (void)m2; /* or, line 117 */ + if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab2; /* literal, line 117 */ + z->c--; goto lab1; lab2: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_3))) { z->c = z->l - m_keep; goto lab0; } + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) { z->c = z->l - m1; goto lab0; } /* literal, line 117 */ + z->c--; } lab1: { int ret = slice_del(z); /* delete, line 117 */ @@ -476,40 +461,34 @@ static int r_adjectival(struct SN_env * z) { return 1; } -static int r_reflexive(struct SN_env * z) { - int among_var; +static int r_reflexive(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 131 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 209 && z->p[z->c - 1] != 216)) return 0; - among_var = find_among_b(z, a_3, 2); /* substring, line 131 */ - if (!(among_var)) return 0; + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 209 && z->p[z->c - 1] != 216)) return 0; /* substring, line 131 */ + if (!(find_among_b(z, a_3, 2))) return 0; z->bra = z->c; /* ], line 131 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 134 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 134 */ + if (ret < 0) return ret; } return 1; } -static int r_verb(struct SN_env * z) { +static int r_verb(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 139 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((51443235 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_4, 46); /* substring, line 139 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((51443235 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 139 */ + among_var = find_among_b(z, a_4, 46); if (!(among_var)) return 0; z->bra = z->c; /* ], line 139 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 139 */ case 1: { int m1 = z->l - z->c; (void)m1; /* or, line 145 */ - if (!(eq_s_b(z, 1, s_4))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab1; /* literal, line 145 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_5))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) return 0; /* literal, line 145 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 145 */ @@ -525,69 +504,56 @@ static int r_verb(struct SN_env * z) { return 1; } -static int r_noun(struct SN_env * z) { - int among_var; +static int r_noun(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 162 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((60991267 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 36); /* substring, line 162 */ - if (!(among_var)) return 0; + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((60991267 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 162 */ + if (!(find_among_b(z, a_5, 36))) return 0; z->bra = z->c; /* ], line 162 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 169 */ - if (ret < 0) return ret; - } - break; - } - return 1; -} - -static int r_derivational(struct SN_env * z) { - int among_var; - z->ket = z->c; /* [, line 178 */ - if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 212 && z->p[z->c - 1] != 216)) return 0; - among_var = find_among_b(z, a_6, 2); /* substring, line 178 */ - if (!(among_var)) return 0; - z->bra = z->c; /* ], line 178 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 178 */ + { int ret = slice_del(z); /* delete, line 169 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 181 */ - if (ret < 0) return ret; - } - break; + return 1; +} + +static int r_derivational(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 178 */ + if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 212 && z->p[z->c - 1] != 216)) return 0; /* substring, line 178 */ + if (!(find_among_b(z, a_6, 2))) return 0; + z->bra = z->c; /* ], line 178 */ + { int ret = r_R2(z); /* call R2, line 178 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 181 */ + if (ret < 0) return ret; } return 1; } -static int r_tidy_up(struct SN_env * z) { +static int r_tidy_up(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 186 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((151011360 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_7, 4); /* substring, line 186 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((151011360 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 186 */ + among_var = find_among_b(z, a_7, 4); if (!(among_var)) return 0; z->bra = z->c; /* ], line 186 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 186 */ case 1: { int ret = slice_del(z); /* delete, line 190 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 191 */ - if (!(eq_s_b(z, 1, s_6))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xCE) return 0; /* literal, line 191 */ + z->c--; z->bra = z->c; /* ], line 191 */ - if (!(eq_s_b(z, 1, s_7))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xCE) return 0; /* literal, line 191 */ + z->c--; { int ret = slice_del(z); /* delete, line 191 */ if (ret < 0) return ret; } break; case 2: - if (!(eq_s_b(z, 1, s_8))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 0xCE) return 0; /* literal, line 194 */ + z->c--; { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } @@ -601,94 +567,117 @@ static int r_tidy_up(struct SN_env * z) { return 1; } -extern int russian_KOI8_R_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 203 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 203 */ - if (ret < 0) return ret; +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; + while(1) { /* goto, line 205 */ + int c3 = z->c; + z->bra = z->c; /* [, line 205 */ + if (z->c == z->l || z->p[z->c] != 0xA3) goto lab2; /* literal, line 205 */ + z->c++; + z->ket = z->c; /* ], line 205 */ + z->c = c3; + break; + lab2: + z->c = c3; + if (z->c >= z->l) goto lab1; + z->c++; /* goto, line 205 */ + } + { int ret = slice_from_s(z, 1, s_0); /* <-, line 205 */ + if (ret < 0) return ret; + } + continue; + lab1: + z->c = c2; + break; } - lab0: z->c = c1; } - z->lb = z->c; z->c = z->l; /* backwards, line 204 */ + /* 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 */ - { int mlimit; /* setlimit, line 204 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit4; /* setlimit, line 208 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 204 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; - { int m3 = z->l - z->c; (void)m3; /* do, line 205 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 206 */ - { int ret = r_perfective_gerund(z); - if (ret == 0) goto lab3; /* call perfective_gerund, line 206 */ + mlimit4 = z->lb; z->lb = z->I[0]; + { 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) return ret; } - goto lab2; - lab3: - z->c = z->l - m4; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 207 */ - { int ret = r_reflexive(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call reflexive, line 207 */ + goto lab5; + lab6: + 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) return ret; } - lab4: + lab7: ; } - { int m5 = z->l - z->c; (void)m5; /* or, line 208 */ - { int ret = r_adjectival(z); - if (ret == 0) goto lab6; /* call adjectival, line 208 */ + { int m8 = z->l - z->c; (void)m8; /* or, line 212 */ + { int ret = r_adjectival(z); /* call adjectival, line 212 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } - goto lab5; - lab6: - z->c = z->l - m5; - { int ret = r_verb(z); - if (ret == 0) goto lab7; /* call verb, line 208 */ + goto lab8; + 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 lab5; - lab7: - z->c = z->l - m5; - { int ret = r_noun(z); - if (ret == 0) goto lab1; /* call noun, line 208 */ + 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) return ret; } } - lab5: + lab8: ; } - lab2: - lab1: - z->c = z->l - m3; + lab5: + lab4: + z->c = z->l - m5; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 211 */ - z->ket = z->c; /* [, line 211 */ - if (!(eq_s_b(z, 1, s_9))) { z->c = z->l - m_keep; goto lab8; } - z->bra = z->c; /* ], line 211 */ - { int ret = slice_del(z); /* delete, line 211 */ + { 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 */ + z->c--; + z->bra = z->c; /* ], line 215 */ + { int ret = slice_del(z); /* delete, line 215 */ if (ret < 0) return ret; } - lab8: + lab11: ; } - { int m6 = z->l - z->c; (void)m6; /* do, line 214 */ - { int ret = r_derivational(z); - if (ret == 0) goto lab9; /* call derivational, line 214 */ + { 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; } - lab9: - z->c = z->l - m6; + lab12: + z->c = z->l - m10; } - { int m7 = z->l - z->c; (void)m7; /* do, line 215 */ - { int ret = r_tidy_up(z); - if (ret == 0) goto lab10; /* call tidy_up, line 215 */ + { 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; } - lab10: - z->c = z->l - m7; + lab13: + z->c = z->l - m11; } - z->lb = mlimit; + z->lb = mlimit4; } z->c = z->lb; return 1; diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_arabic.c b/src/backend/snowball/libstemmer/stem_UTF_8_arabic.c new file mode 100644 index 0000000000..30bf1d9964 --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_arabic.c @@ -0,0 +1,1683 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int arabic_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_Checks1(struct SN_env * z); +static int r_Normalize_pre(struct SN_env * z); +static int r_Normalize_post(struct SN_env * z); +static int r_Suffix_Verb_Step2c(struct SN_env * z); +static int r_Suffix_Verb_Step2b(struct SN_env * z); +static int r_Suffix_Verb_Step2a(struct SN_env * z); +static int r_Suffix_Verb_Step1(struct SN_env * z); +static int r_Suffix_Noun_Step3(struct SN_env * z); +static int r_Suffix_Noun_Step2c2(struct SN_env * z); +static int r_Suffix_Noun_Step2c1(struct SN_env * z); +static int r_Suffix_Noun_Step2b(struct SN_env * z); +static int r_Suffix_Noun_Step2a(struct SN_env * z); +static int r_Suffix_Noun_Step1b(struct SN_env * z); +static int r_Suffix_Noun_Step1a(struct SN_env * z); +static int r_Suffix_All_alef_maqsura(struct SN_env * z); +static int r_Prefix_Step4_Verb(struct SN_env * z); +static int r_Prefix_Step3_Verb(struct SN_env * z); +static int r_Prefix_Step3b_Noun(struct SN_env * z); +static int r_Prefix_Step3a_Noun(struct SN_env * z); +static int r_Prefix_Step2(struct SN_env * z); +static int r_Prefix_Step1(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * arabic_UTF_8_create_env(void); +extern void arabic_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[2] = { 0xD9, 0x80 }; +static const symbol s_0_1[2] = { 0xD9, 0x8B }; +static const symbol s_0_2[2] = { 0xD9, 0x8C }; +static const symbol s_0_3[2] = { 0xD9, 0x8D }; +static const symbol s_0_4[2] = { 0xD9, 0x8E }; +static const symbol s_0_5[2] = { 0xD9, 0x8F }; +static const symbol s_0_6[2] = { 0xD9, 0x90 }; +static const symbol s_0_7[2] = { 0xD9, 0x91 }; +static const symbol s_0_8[2] = { 0xD9, 0x92 }; +static const symbol s_0_9[2] = { 0xD9, 0xA0 }; +static const symbol s_0_10[2] = { 0xD9, 0xA1 }; +static const symbol s_0_11[2] = { 0xD9, 0xA2 }; +static const symbol s_0_12[2] = { 0xD9, 0xA3 }; +static const symbol s_0_13[2] = { 0xD9, 0xA4 }; +static const symbol s_0_14[2] = { 0xD9, 0xA5 }; +static const symbol s_0_15[2] = { 0xD9, 0xA6 }; +static const symbol s_0_16[2] = { 0xD9, 0xA7 }; +static const symbol s_0_17[2] = { 0xD9, 0xA8 }; +static const symbol s_0_18[2] = { 0xD9, 0xA9 }; +static const symbol s_0_19[3] = { 0xEF, 0xBA, 0x80 }; +static const symbol s_0_20[3] = { 0xEF, 0xBA, 0x81 }; +static const symbol s_0_21[3] = { 0xEF, 0xBA, 0x82 }; +static const symbol s_0_22[3] = { 0xEF, 0xBA, 0x83 }; +static const symbol s_0_23[3] = { 0xEF, 0xBA, 0x84 }; +static const symbol s_0_24[3] = { 0xEF, 0xBA, 0x85 }; +static const symbol s_0_25[3] = { 0xEF, 0xBA, 0x86 }; +static const symbol s_0_26[3] = { 0xEF, 0xBA, 0x87 }; +static const symbol s_0_27[3] = { 0xEF, 0xBA, 0x88 }; +static const symbol s_0_28[3] = { 0xEF, 0xBA, 0x89 }; +static const symbol s_0_29[3] = { 0xEF, 0xBA, 0x8A }; +static const symbol s_0_30[3] = { 0xEF, 0xBA, 0x8B }; +static const symbol s_0_31[3] = { 0xEF, 0xBA, 0x8C }; +static const symbol s_0_32[3] = { 0xEF, 0xBA, 0x8D }; +static const symbol s_0_33[3] = { 0xEF, 0xBA, 0x8E }; +static const symbol s_0_34[3] = { 0xEF, 0xBA, 0x8F }; +static const symbol s_0_35[3] = { 0xEF, 0xBA, 0x90 }; +static const symbol s_0_36[3] = { 0xEF, 0xBA, 0x91 }; +static const symbol s_0_37[3] = { 0xEF, 0xBA, 0x92 }; +static const symbol s_0_38[3] = { 0xEF, 0xBA, 0x93 }; +static const symbol s_0_39[3] = { 0xEF, 0xBA, 0x94 }; +static const symbol s_0_40[3] = { 0xEF, 0xBA, 0x95 }; +static const symbol s_0_41[3] = { 0xEF, 0xBA, 0x96 }; +static const symbol s_0_42[3] = { 0xEF, 0xBA, 0x97 }; +static const symbol s_0_43[3] = { 0xEF, 0xBA, 0x98 }; +static const symbol s_0_44[3] = { 0xEF, 0xBA, 0x99 }; +static const symbol s_0_45[3] = { 0xEF, 0xBA, 0x9A }; +static const symbol s_0_46[3] = { 0xEF, 0xBA, 0x9B }; +static const symbol s_0_47[3] = { 0xEF, 0xBA, 0x9C }; +static const symbol s_0_48[3] = { 0xEF, 0xBA, 0x9D }; +static const symbol s_0_49[3] = { 0xEF, 0xBA, 0x9E }; +static const symbol s_0_50[3] = { 0xEF, 0xBA, 0x9F }; +static const symbol s_0_51[3] = { 0xEF, 0xBA, 0xA0 }; +static const symbol s_0_52[3] = { 0xEF, 0xBA, 0xA1 }; +static const symbol s_0_53[3] = { 0xEF, 0xBA, 0xA2 }; +static const symbol s_0_54[3] = { 0xEF, 0xBA, 0xA3 }; +static const symbol s_0_55[3] = { 0xEF, 0xBA, 0xA4 }; +static const symbol s_0_56[3] = { 0xEF, 0xBA, 0xA5 }; +static const symbol s_0_57[3] = { 0xEF, 0xBA, 0xA6 }; +static const symbol s_0_58[3] = { 0xEF, 0xBA, 0xA7 }; +static const symbol s_0_59[3] = { 0xEF, 0xBA, 0xA8 }; +static const symbol s_0_60[3] = { 0xEF, 0xBA, 0xA9 }; +static const symbol s_0_61[3] = { 0xEF, 0xBA, 0xAA }; +static const symbol s_0_62[3] = { 0xEF, 0xBA, 0xAB }; +static const symbol s_0_63[3] = { 0xEF, 0xBA, 0xAC }; +static const symbol s_0_64[3] = { 0xEF, 0xBA, 0xAD }; +static const symbol s_0_65[3] = { 0xEF, 0xBA, 0xAE }; +static const symbol s_0_66[3] = { 0xEF, 0xBA, 0xAF }; +static const symbol s_0_67[3] = { 0xEF, 0xBA, 0xB0 }; +static const symbol s_0_68[3] = { 0xEF, 0xBA, 0xB1 }; +static const symbol s_0_69[3] = { 0xEF, 0xBA, 0xB2 }; +static const symbol s_0_70[3] = { 0xEF, 0xBA, 0xB3 }; +static const symbol s_0_71[3] = { 0xEF, 0xBA, 0xB4 }; +static const symbol s_0_72[3] = { 0xEF, 0xBA, 0xB5 }; +static const symbol s_0_73[3] = { 0xEF, 0xBA, 0xB6 }; +static const symbol s_0_74[3] = { 0xEF, 0xBA, 0xB7 }; +static const symbol s_0_75[3] = { 0xEF, 0xBA, 0xB8 }; +static const symbol s_0_76[3] = { 0xEF, 0xBA, 0xB9 }; +static const symbol s_0_77[3] = { 0xEF, 0xBA, 0xBA }; +static const symbol s_0_78[3] = { 0xEF, 0xBA, 0xBB }; +static const symbol s_0_79[3] = { 0xEF, 0xBA, 0xBC }; +static const symbol s_0_80[3] = { 0xEF, 0xBA, 0xBD }; +static const symbol s_0_81[3] = { 0xEF, 0xBA, 0xBE }; +static const symbol s_0_82[3] = { 0xEF, 0xBA, 0xBF }; +static const symbol s_0_83[3] = { 0xEF, 0xBB, 0x80 }; +static const symbol s_0_84[3] = { 0xEF, 0xBB, 0x81 }; +static const symbol s_0_85[3] = { 0xEF, 0xBB, 0x82 }; +static const symbol s_0_86[3] = { 0xEF, 0xBB, 0x83 }; +static const symbol s_0_87[3] = { 0xEF, 0xBB, 0x84 }; +static const symbol s_0_88[3] = { 0xEF, 0xBB, 0x85 }; +static const symbol s_0_89[3] = { 0xEF, 0xBB, 0x86 }; +static const symbol s_0_90[3] = { 0xEF, 0xBB, 0x87 }; +static const symbol s_0_91[3] = { 0xEF, 0xBB, 0x88 }; +static const symbol s_0_92[3] = { 0xEF, 0xBB, 0x89 }; +static const symbol s_0_93[3] = { 0xEF, 0xBB, 0x8A }; +static const symbol s_0_94[3] = { 0xEF, 0xBB, 0x8B }; +static const symbol s_0_95[3] = { 0xEF, 0xBB, 0x8C }; +static const symbol s_0_96[3] = { 0xEF, 0xBB, 0x8D }; +static const symbol s_0_97[3] = { 0xEF, 0xBB, 0x8E }; +static const symbol s_0_98[3] = { 0xEF, 0xBB, 0x8F }; +static const symbol s_0_99[3] = { 0xEF, 0xBB, 0x90 }; +static const symbol s_0_100[3] = { 0xEF, 0xBB, 0x91 }; +static const symbol s_0_101[3] = { 0xEF, 0xBB, 0x92 }; +static const symbol s_0_102[3] = { 0xEF, 0xBB, 0x93 }; +static const symbol s_0_103[3] = { 0xEF, 0xBB, 0x94 }; +static const symbol s_0_104[3] = { 0xEF, 0xBB, 0x95 }; +static const symbol s_0_105[3] = { 0xEF, 0xBB, 0x96 }; +static const symbol s_0_106[3] = { 0xEF, 0xBB, 0x97 }; +static const symbol s_0_107[3] = { 0xEF, 0xBB, 0x98 }; +static const symbol s_0_108[3] = { 0xEF, 0xBB, 0x99 }; +static const symbol s_0_109[3] = { 0xEF, 0xBB, 0x9A }; +static const symbol s_0_110[3] = { 0xEF, 0xBB, 0x9B }; +static const symbol s_0_111[3] = { 0xEF, 0xBB, 0x9C }; +static const symbol s_0_112[3] = { 0xEF, 0xBB, 0x9D }; +static const symbol s_0_113[3] = { 0xEF, 0xBB, 0x9E }; +static const symbol s_0_114[3] = { 0xEF, 0xBB, 0x9F }; +static const symbol s_0_115[3] = { 0xEF, 0xBB, 0xA0 }; +static const symbol s_0_116[3] = { 0xEF, 0xBB, 0xA1 }; +static const symbol s_0_117[3] = { 0xEF, 0xBB, 0xA2 }; +static const symbol s_0_118[3] = { 0xEF, 0xBB, 0xA3 }; +static const symbol s_0_119[3] = { 0xEF, 0xBB, 0xA4 }; +static const symbol s_0_120[3] = { 0xEF, 0xBB, 0xA5 }; +static const symbol s_0_121[3] = { 0xEF, 0xBB, 0xA6 }; +static const symbol s_0_122[3] = { 0xEF, 0xBB, 0xA7 }; +static const symbol s_0_123[3] = { 0xEF, 0xBB, 0xA8 }; +static const symbol s_0_124[3] = { 0xEF, 0xBB, 0xA9 }; +static const symbol s_0_125[3] = { 0xEF, 0xBB, 0xAA }; +static const symbol s_0_126[3] = { 0xEF, 0xBB, 0xAB }; +static const symbol s_0_127[3] = { 0xEF, 0xBB, 0xAC }; +static const symbol s_0_128[3] = { 0xEF, 0xBB, 0xAD }; +static const symbol s_0_129[3] = { 0xEF, 0xBB, 0xAE }; +static const symbol s_0_130[3] = { 0xEF, 0xBB, 0xAF }; +static const symbol s_0_131[3] = { 0xEF, 0xBB, 0xB0 }; +static const symbol s_0_132[3] = { 0xEF, 0xBB, 0xB1 }; +static const symbol s_0_133[3] = { 0xEF, 0xBB, 0xB2 }; +static const symbol s_0_134[3] = { 0xEF, 0xBB, 0xB3 }; +static const symbol s_0_135[3] = { 0xEF, 0xBB, 0xB4 }; +static const symbol s_0_136[3] = { 0xEF, 0xBB, 0xB5 }; +static const symbol s_0_137[3] = { 0xEF, 0xBB, 0xB6 }; +static const symbol s_0_138[3] = { 0xEF, 0xBB, 0xB7 }; +static const symbol s_0_139[3] = { 0xEF, 0xBB, 0xB8 }; +static const symbol s_0_140[3] = { 0xEF, 0xBB, 0xB9 }; +static const symbol s_0_141[3] = { 0xEF, 0xBB, 0xBA }; +static const symbol s_0_142[3] = { 0xEF, 0xBB, 0xBB }; +static const symbol s_0_143[3] = { 0xEF, 0xBB, 0xBC }; + +static const struct among a_0[144] = +{ +/* 0 */ { 2, s_0_0, -1, 1, 0}, +/* 1 */ { 2, s_0_1, -1, 1, 0}, +/* 2 */ { 2, s_0_2, -1, 1, 0}, +/* 3 */ { 2, s_0_3, -1, 1, 0}, +/* 4 */ { 2, s_0_4, -1, 1, 0}, +/* 5 */ { 2, s_0_5, -1, 1, 0}, +/* 6 */ { 2, s_0_6, -1, 1, 0}, +/* 7 */ { 2, s_0_7, -1, 1, 0}, +/* 8 */ { 2, s_0_8, -1, 1, 0}, +/* 9 */ { 2, s_0_9, -1, 2, 0}, +/* 10 */ { 2, s_0_10, -1, 3, 0}, +/* 11 */ { 2, s_0_11, -1, 4, 0}, +/* 12 */ { 2, s_0_12, -1, 5, 0}, +/* 13 */ { 2, s_0_13, -1, 6, 0}, +/* 14 */ { 2, s_0_14, -1, 7, 0}, +/* 15 */ { 2, s_0_15, -1, 8, 0}, +/* 16 */ { 2, s_0_16, -1, 9, 0}, +/* 17 */ { 2, s_0_17, -1, 10, 0}, +/* 18 */ { 2, s_0_18, -1, 11, 0}, +/* 19 */ { 3, s_0_19, -1, 12, 0}, +/* 20 */ { 3, s_0_20, -1, 16, 0}, +/* 21 */ { 3, s_0_21, -1, 16, 0}, +/* 22 */ { 3, s_0_22, -1, 13, 0}, +/* 23 */ { 3, s_0_23, -1, 13, 0}, +/* 24 */ { 3, s_0_24, -1, 17, 0}, +/* 25 */ { 3, s_0_25, -1, 17, 0}, +/* 26 */ { 3, s_0_26, -1, 14, 0}, +/* 27 */ { 3, s_0_27, -1, 14, 0}, +/* 28 */ { 3, s_0_28, -1, 15, 0}, +/* 29 */ { 3, s_0_29, -1, 15, 0}, +/* 30 */ { 3, s_0_30, -1, 15, 0}, +/* 31 */ { 3, s_0_31, -1, 15, 0}, +/* 32 */ { 3, s_0_32, -1, 18, 0}, +/* 33 */ { 3, s_0_33, -1, 18, 0}, +/* 34 */ { 3, s_0_34, -1, 19, 0}, +/* 35 */ { 3, s_0_35, -1, 19, 0}, +/* 36 */ { 3, s_0_36, -1, 19, 0}, +/* 37 */ { 3, s_0_37, -1, 19, 0}, +/* 38 */ { 3, s_0_38, -1, 20, 0}, +/* 39 */ { 3, s_0_39, -1, 20, 0}, +/* 40 */ { 3, s_0_40, -1, 21, 0}, +/* 41 */ { 3, s_0_41, -1, 21, 0}, +/* 42 */ { 3, s_0_42, -1, 21, 0}, +/* 43 */ { 3, s_0_43, -1, 21, 0}, +/* 44 */ { 3, s_0_44, -1, 22, 0}, +/* 45 */ { 3, s_0_45, -1, 22, 0}, +/* 46 */ { 3, s_0_46, -1, 22, 0}, +/* 47 */ { 3, s_0_47, -1, 22, 0}, +/* 48 */ { 3, s_0_48, -1, 23, 0}, +/* 49 */ { 3, s_0_49, -1, 23, 0}, +/* 50 */ { 3, s_0_50, -1, 23, 0}, +/* 51 */ { 3, s_0_51, -1, 23, 0}, +/* 52 */ { 3, s_0_52, -1, 24, 0}, +/* 53 */ { 3, s_0_53, -1, 24, 0}, +/* 54 */ { 3, s_0_54, -1, 24, 0}, +/* 55 */ { 3, s_0_55, -1, 24, 0}, +/* 56 */ { 3, s_0_56, -1, 25, 0}, +/* 57 */ { 3, s_0_57, -1, 25, 0}, +/* 58 */ { 3, s_0_58, -1, 25, 0}, +/* 59 */ { 3, s_0_59, -1, 25, 0}, +/* 60 */ { 3, s_0_60, -1, 26, 0}, +/* 61 */ { 3, s_0_61, -1, 26, 0}, +/* 62 */ { 3, s_0_62, -1, 27, 0}, +/* 63 */ { 3, s_0_63, -1, 27, 0}, +/* 64 */ { 3, s_0_64, -1, 28, 0}, +/* 65 */ { 3, s_0_65, -1, 28, 0}, +/* 66 */ { 3, s_0_66, -1, 29, 0}, +/* 67 */ { 3, s_0_67, -1, 29, 0}, +/* 68 */ { 3, s_0_68, -1, 30, 0}, +/* 69 */ { 3, s_0_69, -1, 30, 0}, +/* 70 */ { 3, s_0_70, -1, 30, 0}, +/* 71 */ { 3, s_0_71, -1, 30, 0}, +/* 72 */ { 3, s_0_72, -1, 31, 0}, +/* 73 */ { 3, s_0_73, -1, 31, 0}, +/* 74 */ { 3, s_0_74, -1, 31, 0}, +/* 75 */ { 3, s_0_75, -1, 31, 0}, +/* 76 */ { 3, s_0_76, -1, 32, 0}, +/* 77 */ { 3, s_0_77, -1, 32, 0}, +/* 78 */ { 3, s_0_78, -1, 32, 0}, +/* 79 */ { 3, s_0_79, -1, 32, 0}, +/* 80 */ { 3, s_0_80, -1, 33, 0}, +/* 81 */ { 3, s_0_81, -1, 33, 0}, +/* 82 */ { 3, s_0_82, -1, 33, 0}, +/* 83 */ { 3, s_0_83, -1, 33, 0}, +/* 84 */ { 3, s_0_84, -1, 34, 0}, +/* 85 */ { 3, s_0_85, -1, 34, 0}, +/* 86 */ { 3, s_0_86, -1, 34, 0}, +/* 87 */ { 3, s_0_87, -1, 34, 0}, +/* 88 */ { 3, s_0_88, -1, 35, 0}, +/* 89 */ { 3, s_0_89, -1, 35, 0}, +/* 90 */ { 3, s_0_90, -1, 35, 0}, +/* 91 */ { 3, s_0_91, -1, 35, 0}, +/* 92 */ { 3, s_0_92, -1, 36, 0}, +/* 93 */ { 3, s_0_93, -1, 36, 0}, +/* 94 */ { 3, s_0_94, -1, 36, 0}, +/* 95 */ { 3, s_0_95, -1, 36, 0}, +/* 96 */ { 3, s_0_96, -1, 37, 0}, +/* 97 */ { 3, s_0_97, -1, 37, 0}, +/* 98 */ { 3, s_0_98, -1, 37, 0}, +/* 99 */ { 3, s_0_99, -1, 37, 0}, +/*100 */ { 3, s_0_100, -1, 38, 0}, +/*101 */ { 3, s_0_101, -1, 38, 0}, +/*102 */ { 3, s_0_102, -1, 38, 0}, +/*103 */ { 3, s_0_103, -1, 38, 0}, +/*104 */ { 3, s_0_104, -1, 39, 0}, +/*105 */ { 3, s_0_105, -1, 39, 0}, +/*106 */ { 3, s_0_106, -1, 39, 0}, +/*107 */ { 3, s_0_107, -1, 39, 0}, +/*108 */ { 3, s_0_108, -1, 40, 0}, +/*109 */ { 3, s_0_109, -1, 40, 0}, +/*110 */ { 3, s_0_110, -1, 40, 0}, +/*111 */ { 3, s_0_111, -1, 40, 0}, +/*112 */ { 3, s_0_112, -1, 41, 0}, +/*113 */ { 3, s_0_113, -1, 41, 0}, +/*114 */ { 3, s_0_114, -1, 41, 0}, +/*115 */ { 3, s_0_115, -1, 41, 0}, +/*116 */ { 3, s_0_116, -1, 42, 0}, +/*117 */ { 3, s_0_117, -1, 42, 0}, +/*118 */ { 3, s_0_118, -1, 42, 0}, +/*119 */ { 3, s_0_119, -1, 42, 0}, +/*120 */ { 3, s_0_120, -1, 43, 0}, +/*121 */ { 3, s_0_121, -1, 43, 0}, +/*122 */ { 3, s_0_122, -1, 43, 0}, +/*123 */ { 3, s_0_123, -1, 43, 0}, +/*124 */ { 3, s_0_124, -1, 44, 0}, +/*125 */ { 3, s_0_125, -1, 44, 0}, +/*126 */ { 3, s_0_126, -1, 44, 0}, +/*127 */ { 3, s_0_127, -1, 44, 0}, +/*128 */ { 3, s_0_128, -1, 45, 0}, +/*129 */ { 3, s_0_129, -1, 45, 0}, +/*130 */ { 3, s_0_130, -1, 46, 0}, +/*131 */ { 3, s_0_131, -1, 46, 0}, +/*132 */ { 3, s_0_132, -1, 47, 0}, +/*133 */ { 3, s_0_133, -1, 47, 0}, +/*134 */ { 3, s_0_134, -1, 47, 0}, +/*135 */ { 3, s_0_135, -1, 47, 0}, +/*136 */ { 3, s_0_136, -1, 51, 0}, +/*137 */ { 3, s_0_137, -1, 51, 0}, +/*138 */ { 3, s_0_138, -1, 49, 0}, +/*139 */ { 3, s_0_139, -1, 49, 0}, +/*140 */ { 3, s_0_140, -1, 50, 0}, +/*141 */ { 3, s_0_141, -1, 50, 0}, +/*142 */ { 3, s_0_142, -1, 48, 0}, +/*143 */ { 3, s_0_143, -1, 48, 0} +}; + +static const symbol s_1_0[2] = { 0xD8, 0xA2 }; +static const symbol s_1_1[2] = { 0xD8, 0xA3 }; +static const symbol s_1_2[2] = { 0xD8, 0xA4 }; +static const symbol s_1_3[2] = { 0xD8, 0xA5 }; +static const symbol s_1_4[2] = { 0xD8, 0xA6 }; + +static const struct among a_1[5] = +{ +/* 0 */ { 2, s_1_0, -1, 1, 0}, +/* 1 */ { 2, s_1_1, -1, 1, 0}, +/* 2 */ { 2, s_1_2, -1, 1, 0}, +/* 3 */ { 2, s_1_3, -1, 1, 0}, +/* 4 */ { 2, s_1_4, -1, 1, 0} +}; + +static const symbol s_2_0[2] = { 0xD8, 0xA2 }; +static const symbol s_2_1[2] = { 0xD8, 0xA3 }; +static const symbol s_2_2[2] = { 0xD8, 0xA4 }; +static const symbol s_2_3[2] = { 0xD8, 0xA5 }; +static const symbol s_2_4[2] = { 0xD8, 0xA6 }; + +static const struct among a_2[5] = +{ +/* 0 */ { 2, s_2_0, -1, 1, 0}, +/* 1 */ { 2, s_2_1, -1, 1, 0}, +/* 2 */ { 2, s_2_2, -1, 2, 0}, +/* 3 */ { 2, s_2_3, -1, 1, 0}, +/* 4 */ { 2, s_2_4, -1, 3, 0} +}; + +static const symbol s_3_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_3_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_3_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_3_3[4] = { 0xD9, 0x84, 0xD9, 0x84 }; + +static const struct among a_3[4] = +{ +/* 0 */ { 4, s_3_0, -1, 2, 0}, +/* 1 */ { 6, s_3_1, -1, 1, 0}, +/* 2 */ { 6, s_3_2, -1, 1, 0}, +/* 3 */ { 4, s_3_3, -1, 2, 0} +}; + +static const symbol s_4_0[4] = { 0xD8, 0xA3, 0xD8, 0xA2 }; +static const symbol s_4_1[4] = { 0xD8, 0xA3, 0xD8, 0xA3 }; +static const symbol s_4_2[4] = { 0xD8, 0xA3, 0xD8, 0xA4 }; +static const symbol s_4_3[4] = { 0xD8, 0xA3, 0xD8, 0xA5 }; +static const symbol s_4_4[4] = { 0xD8, 0xA3, 0xD8, 0xA7 }; + +static const struct among a_4[5] = +{ +/* 0 */ { 4, s_4_0, -1, 2, 0}, +/* 1 */ { 4, s_4_1, -1, 1, 0}, +/* 2 */ { 4, s_4_2, -1, 1, 0}, +/* 3 */ { 4, s_4_3, -1, 4, 0}, +/* 4 */ { 4, s_4_4, -1, 3, 0} +}; + +static const symbol s_5_0[2] = { 0xD9, 0x81 }; +static const symbol s_5_1[2] = { 0xD9, 0x88 }; + +static const struct among a_5[2] = +{ +/* 0 */ { 2, s_5_0, -1, 1, 0}, +/* 1 */ { 2, s_5_1, -1, 1, 0} +}; + +static const symbol s_6_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_6_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_6_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 }; +static const symbol s_6_3[4] = { 0xD9, 0x84, 0xD9, 0x84 }; + +static const struct among a_6[4] = +{ +/* 0 */ { 4, s_6_0, -1, 2, 0}, +/* 1 */ { 6, s_6_1, -1, 1, 0}, +/* 2 */ { 6, s_6_2, -1, 1, 0}, +/* 3 */ { 4, s_6_3, -1, 2, 0} +}; + +static const symbol s_7_0[2] = { 0xD8, 0xA8 }; +static const symbol s_7_1[4] = { 0xD8, 0xA8, 0xD8, 0xA8 }; +static const symbol s_7_2[4] = { 0xD9, 0x83, 0xD9, 0x83 }; + +static const struct among a_7[3] = +{ +/* 0 */ { 2, s_7_0, -1, 1, 0}, +/* 1 */ { 4, s_7_1, 0, 2, 0}, +/* 2 */ { 4, s_7_2, -1, 3, 0} +}; + +static const symbol s_8_0[4] = { 0xD8, 0xB3, 0xD8, 0xA3 }; +static const symbol s_8_1[4] = { 0xD8, 0xB3, 0xD8, 0xAA }; +static const symbol s_8_2[4] = { 0xD8, 0xB3, 0xD9, 0x86 }; +static const symbol s_8_3[4] = { 0xD8, 0xB3, 0xD9, 0x8A }; + +static const struct among a_8[4] = +{ +/* 0 */ { 4, s_8_0, -1, 4, 0}, +/* 1 */ { 4, s_8_1, -1, 2, 0}, +/* 2 */ { 4, s_8_2, -1, 3, 0}, +/* 3 */ { 4, s_8_3, -1, 1, 0} +}; + +static const symbol s_9_0[6] = { 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA }; +static const symbol s_9_1[6] = { 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA }; +static const symbol s_9_2[6] = { 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA }; + +static const struct among a_9[3] = +{ +/* 0 */ { 6, s_9_0, -1, 1, 0}, +/* 1 */ { 6, s_9_1, -1, 1, 0}, +/* 2 */ { 6, s_9_2, -1, 1, 0} +}; + +static const symbol s_10_0[2] = { 0xD9, 0x83 }; +static const symbol s_10_1[4] = { 0xD9, 0x83, 0xD9, 0x85 }; +static const symbol s_10_2[4] = { 0xD9, 0x87, 0xD9, 0x85 }; +static const symbol s_10_3[4] = { 0xD9, 0x87, 0xD9, 0x86 }; +static const symbol s_10_4[2] = { 0xD9, 0x87 }; +static const symbol s_10_5[2] = { 0xD9, 0x8A }; +static const symbol s_10_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 }; +static const symbol s_10_7[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 }; +static const symbol s_10_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 }; +static const symbol s_10_9[4] = { 0xD9, 0x87, 0xD8, 0xA7 }; + +static const struct among a_10[10] = +{ +/* 0 */ { 2, s_10_0, -1, 1, 0}, +/* 1 */ { 4, s_10_1, -1, 2, 0}, +/* 2 */ { 4, s_10_2, -1, 2, 0}, +/* 3 */ { 4, s_10_3, -1, 2, 0}, +/* 4 */ { 2, s_10_4, -1, 1, 0}, +/* 5 */ { 2, s_10_5, -1, 1, 0}, +/* 6 */ { 6, s_10_6, -1, 3, 0}, +/* 7 */ { 6, s_10_7, -1, 3, 0}, +/* 8 */ { 4, s_10_8, -1, 2, 0}, +/* 9 */ { 4, s_10_9, -1, 2, 0} +}; + +static const symbol s_11_0[2] = { 0xD9, 0x86 }; + +static const struct among a_11[1] = +{ +/* 0 */ { 2, s_11_0, -1, 1, 0} +}; + +static const symbol s_12_0[2] = { 0xD9, 0x88 }; +static const symbol s_12_1[2] = { 0xD9, 0x8A }; +static const symbol s_12_2[2] = { 0xD8, 0xA7 }; + +static const struct among a_12[3] = +{ +/* 0 */ { 2, s_12_0, -1, 1, 0}, +/* 1 */ { 2, s_12_1, -1, 1, 0}, +/* 2 */ { 2, s_12_2, -1, 1, 0} +}; + +static const symbol s_13_0[4] = { 0xD8, 0xA7, 0xD8, 0xAA }; + +static const struct among a_13[1] = +{ +/* 0 */ { 4, s_13_0, -1, 1, 0} +}; + +static const symbol s_14_0[2] = { 0xD8, 0xAA }; + +static const struct among a_14[1] = +{ +/* 0 */ { 2, s_14_0, -1, 1, 0} +}; + +static const symbol s_15_0[2] = { 0xD8, 0xA9 }; + +static const struct among a_15[1] = +{ +/* 0 */ { 2, s_15_0, -1, 1, 0} +}; + +static const symbol s_16_0[2] = { 0xD9, 0x8A }; + +static const struct among a_16[1] = +{ +/* 0 */ { 2, s_16_0, -1, 1, 0} +}; + +static const symbol s_17_0[2] = { 0xD9, 0x83 }; +static const symbol s_17_1[4] = { 0xD9, 0x83, 0xD9, 0x85 }; +static const symbol s_17_2[4] = { 0xD9, 0x87, 0xD9, 0x85 }; +static const symbol s_17_3[4] = { 0xD9, 0x83, 0xD9, 0x86 }; +static const symbol s_17_4[4] = { 0xD9, 0x87, 0xD9, 0x86 }; +static const symbol s_17_5[2] = { 0xD9, 0x87 }; +static const symbol s_17_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88 }; +static const symbol s_17_7[4] = { 0xD9, 0x86, 0xD9, 0x8A }; +static const symbol s_17_8[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 }; +static const symbol s_17_9[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 }; +static const symbol s_17_10[4] = { 0xD9, 0x86, 0xD8, 0xA7 }; +static const symbol s_17_11[4] = { 0xD9, 0x87, 0xD8, 0xA7 }; + +static const struct among a_17[12] = +{ +/* 0 */ { 2, s_17_0, -1, 1, 0}, +/* 1 */ { 4, s_17_1, -1, 2, 0}, +/* 2 */ { 4, s_17_2, -1, 2, 0}, +/* 3 */ { 4, s_17_3, -1, 2, 0}, +/* 4 */ { 4, s_17_4, -1, 2, 0}, +/* 5 */ { 2, s_17_5, -1, 1, 0}, +/* 6 */ { 6, s_17_6, -1, 3, 0}, +/* 7 */ { 4, s_17_7, -1, 2, 0}, +/* 8 */ { 6, s_17_8, -1, 3, 0}, +/* 9 */ { 6, s_17_9, -1, 3, 0}, +/* 10 */ { 4, s_17_10, -1, 2, 0}, +/* 11 */ { 4, s_17_11, -1, 2, 0} +}; + +static const symbol s_18_0[2] = { 0xD9, 0x86 }; +static const symbol s_18_1[4] = { 0xD9, 0x88, 0xD9, 0x86 }; +static const symbol s_18_2[4] = { 0xD9, 0x8A, 0xD9, 0x86 }; +static const symbol s_18_3[4] = { 0xD8, 0xA7, 0xD9, 0x86 }; +static const symbol s_18_4[4] = { 0xD8, 0xAA, 0xD9, 0x86 }; +static const symbol s_18_5[2] = { 0xD9, 0x8A }; +static const symbol s_18_6[2] = { 0xD8, 0xA7 }; +static const symbol s_18_7[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7 }; +static const symbol s_18_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 }; +static const symbol s_18_9[4] = { 0xD8, 0xAA, 0xD8, 0xA7 }; +static const symbol s_18_10[2] = { 0xD8, 0xAA }; + +static const struct among a_18[11] = +{ +/* 0 */ { 2, s_18_0, -1, 1, 0}, +/* 1 */ { 4, s_18_1, 0, 3, 0}, +/* 2 */ { 4, s_18_2, 0, 3, 0}, +/* 3 */ { 4, s_18_3, 0, 3, 0}, +/* 4 */ { 4, s_18_4, 0, 2, 0}, +/* 5 */ { 2, s_18_5, -1, 1, 0}, +/* 6 */ { 2, s_18_6, -1, 1, 0}, +/* 7 */ { 6, s_18_7, 6, 4, 0}, +/* 8 */ { 4, s_18_8, 6, 2, 0}, +/* 9 */ { 4, s_18_9, 6, 2, 0}, +/* 10 */ { 2, s_18_10, -1, 1, 0} +}; + +static const symbol s_19_0[4] = { 0xD8, 0xAA, 0xD9, 0x85 }; +static const symbol s_19_1[4] = { 0xD9, 0x88, 0xD8, 0xA7 }; + +static const struct among a_19[2] = +{ +/* 0 */ { 4, s_19_0, -1, 1, 0}, +/* 1 */ { 4, s_19_1, -1, 1, 0} +}; + +static const symbol s_20_0[2] = { 0xD9, 0x88 }; +static const symbol s_20_1[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88 }; + +static const struct among a_20[2] = +{ +/* 0 */ { 2, s_20_0, -1, 1, 0}, +/* 1 */ { 6, s_20_1, 0, 2, 0} +}; + +static const symbol s_21_0[2] = { 0xD9, 0x89 }; + +static const struct among a_21[1] = +{ +/* 0 */ { 2, s_21_0, -1, 1, 0} +}; + +static const symbol s_0[] = { '0' }; +static const symbol s_1[] = { '1' }; +static const symbol s_2[] = { '2' }; +static const symbol s_3[] = { '3' }; +static const symbol s_4[] = { '4' }; +static const symbol s_5[] = { '5' }; +static const symbol s_6[] = { '6' }; +static const symbol s_7[] = { '7' }; +static const symbol s_8[] = { '8' }; +static const symbol s_9[] = { '9' }; +static const symbol s_10[] = { 0xD8, 0xA1 }; +static const symbol s_11[] = { 0xD8, 0xA3 }; +static const symbol s_12[] = { 0xD8, 0xA5 }; +static const symbol s_13[] = { 0xD8, 0xA6 }; +static const symbol s_14[] = { 0xD8, 0xA2 }; +static const symbol s_15[] = { 0xD8, 0xA4 }; +static const symbol s_16[] = { 0xD8, 0xA7 }; +static const symbol s_17[] = { 0xD8, 0xA8 }; +static const symbol s_18[] = { 0xD8, 0xA9 }; +static const symbol s_19[] = { 0xD8, 0xAA }; +static const symbol s_20[] = { 0xD8, 0xAB }; +static const symbol s_21[] = { 0xD8, 0xAC }; +static const symbol s_22[] = { 0xD8, 0xAD }; +static const symbol s_23[] = { 0xD8, 0xAE }; +static const symbol s_24[] = { 0xD8, 0xAF }; +static const symbol s_25[] = { 0xD8, 0xB0 }; +static const symbol s_26[] = { 0xD8, 0xB1 }; +static const symbol s_27[] = { 0xD8, 0xB2 }; +static const symbol s_28[] = { 0xD8, 0xB3 }; +static const symbol s_29[] = { 0xD8, 0xB4 }; +static const symbol s_30[] = { 0xD8, 0xB5 }; +static const symbol s_31[] = { 0xD8, 0xB6 }; +static const symbol s_32[] = { 0xD8, 0xB7 }; +static const symbol s_33[] = { 0xD8, 0xB8 }; +static const symbol s_34[] = { 0xD8, 0xB9 }; +static const symbol s_35[] = { 0xD8, 0xBA }; +static const symbol s_36[] = { 0xD9, 0x81 }; +static const symbol s_37[] = { 0xD9, 0x82 }; +static const symbol s_38[] = { 0xD9, 0x83 }; +static const symbol s_39[] = { 0xD9, 0x84 }; +static const symbol s_40[] = { 0xD9, 0x85 }; +static const symbol s_41[] = { 0xD9, 0x86 }; +static const symbol s_42[] = { 0xD9, 0x87 }; +static const symbol s_43[] = { 0xD9, 0x88 }; +static const symbol s_44[] = { 0xD9, 0x89 }; +static const symbol s_45[] = { 0xD9, 0x8A }; +static const symbol s_46[] = { 0xD9, 0x84, 0xD8, 0xA7 }; +static const symbol s_47[] = { 0xD9, 0x84, 0xD8, 0xA3 }; +static const symbol s_48[] = { 0xD9, 0x84, 0xD8, 0xA5 }; +static const symbol s_49[] = { 0xD9, 0x84, 0xD8, 0xA2 }; +static const symbol s_50[] = { 0xD8, 0xA1 }; +static const symbol s_51[] = { 0xD8, 0xA7 }; +static const symbol s_52[] = { 0xD9, 0x88 }; +static const symbol s_53[] = { 0xD9, 0x8A }; +static const symbol s_54[] = { 0xD8, 0xA3 }; +static const symbol s_55[] = { 0xD8, 0xA2 }; +static const symbol s_56[] = { 0xD8, 0xA7 }; +static const symbol s_57[] = { 0xD8, 0xA5 }; +static const symbol s_58[] = { 0xD9, 0x81, 0xD8, 0xA7 }; +static const symbol s_59[] = { 0xD9, 0x88, 0xD8, 0xA7 }; +static const symbol s_60[] = { 0xD8, 0xA8, 0xD8, 0xA7 }; +static const symbol s_61[] = { 0xD8, 0xA8 }; +static const symbol s_62[] = { 0xD9, 0x83 }; +static const symbol s_63[] = { 0xD9, 0x8A }; +static const symbol s_64[] = { 0xD8, 0xAA }; +static const symbol s_65[] = { 0xD9, 0x86 }; +static const symbol s_66[] = { 0xD8, 0xA3 }; +static const symbol s_67[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA }; +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; + { int c3 = z->c; /* or, line 311 */ + z->bra = z->c; /* [, line 249 */ + among_var = find_among(z, a_0, 144); /* substring, line 249 */ + if (!(among_var)) goto lab3; + z->ket = z->c; /* ], line 249 */ + switch (among_var) { /* among, line 249 */ + case 1: + { int ret = slice_del(z); /* delete, line 250 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 1, s_0); /* <-, line 254 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 1, s_1); /* <-, line 255 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 1, s_2); /* <-, line 256 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 1, s_3); /* <-, line 257 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 1, s_4); /* <-, line 258 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 1, s_5); /* <-, line 259 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 1, s_6); /* <-, line 260 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 1, s_7); /* <-, line 261 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 262 */ + if (ret < 0) return ret; + } + break; + case 11: + { int ret = slice_from_s(z, 1, s_9); /* <-, line 263 */ + if (ret < 0) return ret; + } + break; + case 12: + { int ret = slice_from_s(z, 2, s_10); /* <-, line 266 */ + if (ret < 0) return ret; + } + break; + case 13: + { int ret = slice_from_s(z, 2, s_11); /* <-, line 267 */ + if (ret < 0) return ret; + } + break; + case 14: + { int ret = slice_from_s(z, 2, s_12); /* <-, line 268 */ + if (ret < 0) return ret; + } + break; + case 15: + { int ret = slice_from_s(z, 2, s_13); /* <-, line 269 */ + if (ret < 0) return ret; + } + break; + case 16: + { int ret = slice_from_s(z, 2, s_14); /* <-, line 270 */ + if (ret < 0) return ret; + } + break; + case 17: + { int ret = slice_from_s(z, 2, s_15); /* <-, line 271 */ + if (ret < 0) return ret; + } + break; + case 18: + { int ret = slice_from_s(z, 2, s_16); /* <-, line 272 */ + if (ret < 0) return ret; + } + break; + case 19: + { int ret = slice_from_s(z, 2, s_17); /* <-, line 273 */ + if (ret < 0) return ret; + } + break; + case 20: + { int ret = slice_from_s(z, 2, s_18); /* <-, line 274 */ + if (ret < 0) return ret; + } + break; + case 21: + { int ret = slice_from_s(z, 2, s_19); /* <-, line 275 */ + if (ret < 0) return ret; + } + break; + case 22: + { int ret = slice_from_s(z, 2, s_20); /* <-, line 276 */ + if (ret < 0) return ret; + } + break; + case 23: + { int ret = slice_from_s(z, 2, s_21); /* <-, line 277 */ + if (ret < 0) return ret; + } + break; + case 24: + { int ret = slice_from_s(z, 2, s_22); /* <-, line 278 */ + if (ret < 0) return ret; + } + break; + case 25: + { int ret = slice_from_s(z, 2, s_23); /* <-, line 279 */ + if (ret < 0) return ret; + } + break; + case 26: + { int ret = slice_from_s(z, 2, s_24); /* <-, line 280 */ + if (ret < 0) return ret; + } + break; + case 27: + { int ret = slice_from_s(z, 2, s_25); /* <-, line 281 */ + if (ret < 0) return ret; + } + break; + case 28: + { int ret = slice_from_s(z, 2, s_26); /* <-, line 282 */ + if (ret < 0) return ret; + } + break; + case 29: + { int ret = slice_from_s(z, 2, s_27); /* <-, line 283 */ + if (ret < 0) return ret; + } + break; + case 30: + { int ret = slice_from_s(z, 2, s_28); /* <-, line 284 */ + if (ret < 0) return ret; + } + break; + case 31: + { int ret = slice_from_s(z, 2, s_29); /* <-, line 285 */ + if (ret < 0) return ret; + } + break; + case 32: + { int ret = slice_from_s(z, 2, s_30); /* <-, line 286 */ + if (ret < 0) return ret; + } + break; + case 33: + { int ret = slice_from_s(z, 2, s_31); /* <-, line 287 */ + if (ret < 0) return ret; + } + break; + case 34: + { int ret = slice_from_s(z, 2, s_32); /* <-, line 288 */ + if (ret < 0) return ret; + } + break; + case 35: + { int ret = slice_from_s(z, 2, s_33); /* <-, line 289 */ + if (ret < 0) return ret; + } + break; + case 36: + { int ret = slice_from_s(z, 2, s_34); /* <-, line 290 */ + if (ret < 0) return ret; + } + break; + case 37: + { int ret = slice_from_s(z, 2, s_35); /* <-, line 291 */ + if (ret < 0) return ret; + } + break; + case 38: + { int ret = slice_from_s(z, 2, s_36); /* <-, line 292 */ + if (ret < 0) return ret; + } + break; + case 39: + { int ret = slice_from_s(z, 2, s_37); /* <-, line 293 */ + if (ret < 0) return ret; + } + break; + case 40: + { int ret = slice_from_s(z, 2, s_38); /* <-, line 294 */ + if (ret < 0) return ret; + } + break; + case 41: + { int ret = slice_from_s(z, 2, s_39); /* <-, line 295 */ + if (ret < 0) return ret; + } + break; + case 42: + { int ret = slice_from_s(z, 2, s_40); /* <-, line 296 */ + if (ret < 0) return ret; + } + break; + case 43: + { int ret = slice_from_s(z, 2, s_41); /* <-, line 297 */ + if (ret < 0) return ret; + } + break; + case 44: + { int ret = slice_from_s(z, 2, s_42); /* <-, line 298 */ + if (ret < 0) return ret; + } + break; + case 45: + { int ret = slice_from_s(z, 2, s_43); /* <-, line 299 */ + if (ret < 0) return ret; + } + break; + case 46: + { int ret = slice_from_s(z, 2, s_44); /* <-, line 300 */ + if (ret < 0) return ret; + } + break; + case 47: + { int ret = slice_from_s(z, 2, s_45); /* <-, line 301 */ + if (ret < 0) return ret; + } + break; + case 48: + { int ret = slice_from_s(z, 4, s_46); /* <-, line 304 */ + if (ret < 0) return ret; + } + break; + case 49: + { int ret = slice_from_s(z, 4, s_47); /* <-, line 305 */ + if (ret < 0) return ret; + } + break; + case 50: + { int ret = slice_from_s(z, 4, s_48); /* <-, line 306 */ + if (ret < 0) return ret; + } + break; + case 51: + { int ret = slice_from_s(z, 4, s_49); /* <-, line 307 */ + if (ret < 0) return ret; + } + break; + } + goto lab2; + lab3: + z->c = c3; + { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); + if (ret < 0) goto lab1; + z->c = ret; /* next, line 312 */ + } + } + lab2: + continue; + lab1: + z->c = c2; + break; + } + z->c = c1; + } + return 1; +} + +static int r_Normalize_post(struct SN_env * z) { /* forwardmode */ + int among_var; + { int c1 = z->c; /* do, line 318 */ + z->lb = z->c; z->c = z->l; /* backwards, line 320 */ + + z->ket = z->c; /* [, line 321 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((124 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 321 */ + if (!(find_among_b(z, a_1, 5))) goto lab0; + z->bra = z->c; /* ], line 321 */ + { int ret = slice_from_s(z, 2, s_50); /* <-, line 322 */ + if (ret < 0) return ret; + } + z->c = z->lb; + lab0: + z->c = c1; + } + { int c2 = z->c; /* do, line 329 */ + while(1) { /* repeat, line 329 */ + 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 */ + among_var = find_among(z, a_2, 5); + if (!(among_var)) goto lab4; + z->ket = z->c; /* ], line 332 */ + switch (among_var) { /* among, line 332 */ + case 1: + { int ret = slice_from_s(z, 2, s_51); /* <-, line 333 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 2, s_52); /* <-, line 334 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 2, s_53); /* <-, line 335 */ + if (ret < 0) return ret; + } + break; + } + goto lab3; + lab4: + z->c = c4; + { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); + if (ret < 0) goto lab2; + z->c = ret; /* next, line 339 */ + } + } + lab3: + continue; + lab2: + z->c = c3; + break; + } + z->c = c2; + } + return 1; +} + +static int r_Checks1(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 345 */ + if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0; /* substring, line 345 */ + among_var = find_among(z, a_3, 4); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 345 */ + switch (among_var) { /* among, line 345 */ + case 1: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 346 */ + z->B[0] = 1; /* set is_noun, line 346 */ + z->B[1] = 0; /* unset is_verb, line 346 */ + z->B[2] = 1; /* set is_defined, line 346 */ + break; + case 2: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 347 */ + z->B[0] = 1; /* set is_noun, line 347 */ + z->B[1] = 0; /* unset is_verb, line 347 */ + z->B[2] = 1; /* set is_defined, line 347 */ + break; + } + return 1; +} + +static int r_Prefix_Step1(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 354 */ + if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 5 || !((188 >> (z->p[z->c + 3] & 0x1f)) & 1)) return 0; /* substring, line 354 */ + among_var = find_among(z, a_4, 5); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 354 */ + switch (among_var) { /* among, line 354 */ + case 1: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 355 */ + { int ret = slice_from_s(z, 2, s_54); /* <-, line 355 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 356 */ + { int ret = slice_from_s(z, 2, s_55); /* <-, line 356 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 358 */ + { int ret = slice_from_s(z, 2, s_56); /* <-, line 358 */ + if (ret < 0) return ret; + } + break; + case 4: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 359 */ + { int ret = slice_from_s(z, 2, s_57); /* <-, line 359 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Prefix_Step2(struct SN_env * z) { /* forwardmode */ + { int c1 = z->c; /* not, line 365 */ + if (!(eq_s(z, 4, s_58))) goto lab0; /* literal, line 365 */ + return 0; + lab0: + z->c = c1; + } + { int c2 = z->c; /* not, line 366 */ + if (!(eq_s(z, 4, s_59))) goto lab1; /* literal, line 366 */ + return 0; + lab1: + z->c = c2; + } + z->bra = z->c; /* [, line 367 */ + if (z->c + 1 >= z->l || (z->p[z->c + 1] != 129 && z->p[z->c + 1] != 136)) return 0; /* substring, line 367 */ + if (!(find_among(z, a_5, 2))) return 0; + z->ket = z->c; /* ], line 367 */ + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 368 */ + { int ret = slice_del(z); /* delete, line 368 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Prefix_Step3a_Noun(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 374 */ + if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0; /* substring, line 374 */ + among_var = find_among(z, a_6, 4); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 374 */ + switch (among_var) { /* among, line 374 */ + case 1: + if (!(len_utf8(z->p) > 5)) return 0; /* $( > ), line 375 */ + { int ret = slice_del(z); /* delete, line 375 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 376 */ + { int ret = slice_del(z); /* delete, line 376 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Prefix_Step3b_Noun(struct SN_env * z) { /* forwardmode */ + int among_var; + { int c1 = z->c; /* not, line 381 */ + if (!(eq_s(z, 4, s_60))) goto lab0; /* literal, line 381 */ + return 0; + lab0: + z->c = c1; + } + z->bra = z->c; /* [, line 382 */ + if (z->c + 1 >= z->l || (z->p[z->c + 1] != 168 && z->p[z->c + 1] != 131)) return 0; /* substring, line 382 */ + among_var = find_among(z, a_7, 3); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 382 */ + switch (among_var) { /* among, line 382 */ + case 1: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 383 */ + { int ret = slice_del(z); /* delete, line 383 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 385 */ + { int ret = slice_from_s(z, 2, s_61); /* <-, line 385 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 386 */ + { int ret = slice_from_s(z, 2, s_62); /* <-, line 386 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Prefix_Step3_Verb(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 392 */ + among_var = find_among(z, a_8, 4); /* substring, line 392 */ + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 392 */ + switch (among_var) { /* among, line 392 */ + case 1: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 394 */ + { int ret = slice_from_s(z, 2, s_63); /* <-, line 394 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 395 */ + { int ret = slice_from_s(z, 2, s_64); /* <-, line 395 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 396 */ + { int ret = slice_from_s(z, 2, s_65); /* <-, line 396 */ + if (ret < 0) return ret; + } + break; + case 4: + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 397 */ + { int ret = slice_from_s(z, 2, s_66); /* <-, line 397 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Prefix_Step4_Verb(struct SN_env * z) { /* forwardmode */ + z->bra = z->c; /* [, line 402 */ + if (z->c + 5 >= z->l || z->p[z->c + 5] != 170) return 0; /* substring, line 402 */ + if (!(find_among(z, a_9, 3))) return 0; + z->ket = z->c; /* ], line 402 */ + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 403 */ + z->B[1] = 1; /* set is_verb, line 403 */ + z->B[0] = 0; /* unset is_noun, line 403 */ + { int ret = slice_from_s(z, 6, s_67); /* <-, line 403 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step1a(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 411 */ + among_var = find_among_b(z, a_10, 10); /* substring, line 411 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 411 */ + switch (among_var) { /* among, line 411 */ + case 1: + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 412 */ + { int ret = slice_del(z); /* delete, line 412 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) >= 5)) return 0; /* $( >= ), line 413 */ + { int ret = slice_del(z); /* delete, line 413 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) >= 6)) return 0; /* $( >= ), line 414 */ + { int ret = slice_del(z); /* delete, line 414 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Suffix_Noun_Step1b(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 418 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 134) return 0; /* substring, line 418 */ + if (!(find_among_b(z, a_11, 1))) return 0; + z->bra = z->c; /* ], line 418 */ + if (!(len_utf8(z->p) > 5)) return 0; /* $( > ), line 419 */ + { int ret = slice_del(z); /* delete, line 419 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step2a(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 424 */ + if (!(find_among_b(z, a_12, 3))) return 0; /* substring, line 424 */ + z->bra = z->c; /* ], line 424 */ + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 425 */ + { int ret = slice_del(z); /* delete, line 425 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step2b(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 430 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 170) return 0; /* substring, line 430 */ + if (!(find_among_b(z, a_13, 1))) return 0; + z->bra = z->c; /* ], line 430 */ + if (!(len_utf8(z->p) >= 5)) return 0; /* $( >= ), line 431 */ + { int ret = slice_del(z); /* delete, line 431 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step2c1(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 436 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 170) return 0; /* substring, line 436 */ + if (!(find_among_b(z, a_14, 1))) return 0; + z->bra = z->c; /* ], line 436 */ + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 437 */ + { int ret = slice_del(z); /* delete, line 437 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step2c2(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 441 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 169) return 0; /* substring, line 441 */ + if (!(find_among_b(z, a_15, 1))) return 0; + z->bra = z->c; /* ], line 441 */ + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 442 */ + { int ret = slice_del(z); /* delete, line 442 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Noun_Step3(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 446 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 138) return 0; /* substring, line 446 */ + if (!(find_among_b(z, a_16, 1))) return 0; + z->bra = z->c; /* ], line 446 */ + if (!(len_utf8(z->p) >= 3)) return 0; /* $( >= ), line 447 */ + { int ret = slice_del(z); /* delete, line 447 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Verb_Step1(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 452 */ + among_var = find_among_b(z, a_17, 12); /* substring, line 452 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 452 */ + switch (among_var) { /* among, line 452 */ + case 1: + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 453 */ + { int ret = slice_del(z); /* delete, line 453 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) >= 5)) return 0; /* $( >= ), line 454 */ + { int ret = slice_del(z); /* delete, line 454 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) >= 6)) return 0; /* $( >= ), line 455 */ + { int ret = slice_del(z); /* delete, line 455 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Suffix_Verb_Step2a(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 459 */ + among_var = find_among_b(z, a_18, 11); /* substring, line 459 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 459 */ + switch (among_var) { /* among, line 459 */ + case 1: + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 460 */ + { int ret = slice_del(z); /* delete, line 460 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) >= 5)) return 0; /* $( >= ), line 462 */ + { int ret = slice_del(z); /* delete, line 462 */ + if (ret < 0) return ret; + } + break; + case 3: + if (!(len_utf8(z->p) > 5)) return 0; /* $( > ), line 463 */ + { int ret = slice_del(z); /* delete, line 463 */ + if (ret < 0) return ret; + } + break; + case 4: + if (!(len_utf8(z->p) >= 6)) return 0; /* $( >= ), line 464 */ + { int ret = slice_del(z); /* delete, line 464 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Suffix_Verb_Step2b(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 469 */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 133 && z->p[z->c - 1] != 167)) return 0; /* substring, line 469 */ + if (!(find_among_b(z, a_19, 2))) return 0; + z->bra = z->c; /* ], line 469 */ + if (!(len_utf8(z->p) >= 5)) return 0; /* $( >= ), line 470 */ + { int ret = slice_del(z); /* delete, line 470 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_Suffix_Verb_Step2c(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 476 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 136) return 0; /* substring, line 476 */ + among_var = find_among_b(z, a_20, 2); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 476 */ + switch (among_var) { /* among, line 476 */ + case 1: + if (!(len_utf8(z->p) >= 4)) return 0; /* $( >= ), line 477 */ + { int ret = slice_del(z); /* delete, line 477 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(len_utf8(z->p) >= 6)) return 0; /* $( >= ), line 478 */ + { int ret = slice_del(z); /* delete, line 478 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_Suffix_All_alef_maqsura(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 483 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 137) return 0; /* substring, line 483 */ + if (!(find_among_b(z, a_21, 1))) return 0; + z->bra = z->c; /* ], line 483 */ + { int ret = slice_from_s(z, 2, s_68); /* <-, line 484 */ + if (ret < 0) return ret; + } + return 1; +} + +extern int arabic_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + z->B[0] = 1; /* set is_noun, line 493 */ + z->B[1] = 1; /* set is_verb, line 494 */ + 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 */ + { 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; + { int ret = r_Suffix_Verb_Step1(z); /* call Suffix_Verb_Step1, line 512 */ + if (ret == 0) goto lab7; + if (ret < 0) return ret; + } + i--; + continue; + lab7: + z->c = z->l - m5; + break; + } + if (i > 0) goto lab6; + } + { 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) return ret; + } + goto lab8; + lab9: + 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) return ret; + } + goto lab8; + lab10: + z->c = z->l - m6; + { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); + if (ret < 0) goto lab6; + z->c = ret; /* next, line 513 */ + } + } + lab8: + goto lab5; + lab6: + 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) return ret; + } + goto lab5; + lab11: + 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) return ret; + } + } + lab5: + goto lab3; + lab4: + z->c = z->l - m3; + if (!(z->B[0])) goto lab12; /* 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) return ret; + } + goto lab14; + lab15: + z->c = z->l - m8; + /* not, line 526 */ + if (!(z->B[2])) goto lab17; /* Boolean test is_defined, line 526 */ + goto lab16; + lab17: + { int ret = r_Suffix_Noun_Step1a(z); /* call Suffix_Noun_Step1a, line 526 */ + if (ret == 0) goto lab16; + 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 lab19; + if (ret < 0) return ret; + } + goto lab18; + 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; + z->c = ret; /* next, line 530 */ + } + } + lab18: + goto lab14; + lab16: + 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) 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; + } + } + lab23: + goto lab14; + lab22: + z->c = z->l - m8; + /* not, line 535 */ + if (!(z->B[2])) goto lab27; /* Boolean test is_defined, line 535 */ + goto lab26; + lab27: + { int ret = r_Suffix_Noun_Step2a(z); /* call Suffix_Noun_Step2a, line 535 */ + if (ret == 0) goto lab26; + if (ret < 0) return ret; + } + goto lab14; + lab26: + 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) return ret; + } + } + lab14: + lab13: + ; + } + { int ret = r_Suffix_Noun_Step3(z); /* call Suffix_Noun_Step3, line 538 */ + if (ret == 0) goto lab12; + if (ret < 0) return ret; + } + goto lab3; + lab12: + 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) return ret; + } + } + lab3: + lab2: + 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) return ret; + } + lab29: + ; + } + { 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) return ret; + } + lab30: + ; + } + { 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) return ret; + } + goto lab31; + lab32: + z->c = c14; + if (!(z->B[0])) goto lab33; /* 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) return ret; + } + goto lab31; + lab33: + z->c = c14; + if (!(z->B[1])) goto lab28; /* 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) return ret; + } + lab34: + ; + } + { int ret = r_Prefix_Step4_Verb(z); /* call Prefix_Step4_Verb, line 554 */ + if (ret == 0) goto lab28; + if (ret < 0) return ret; + } + } + lab31: + lab28: + 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; +} + +extern struct SN_env * arabic_UTF_8_create_env(void) { return SN_create_env(0, 0, 3); } + +extern void arabic_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_danish.c b/src/backend/snowball/libstemmer/stem_UTF_8_danish.c index cfd41376da..4f7e3016bb 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_danish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_danish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -132,15 +132,15 @@ static const symbol s_0[] = { 's', 't' }; static const symbol s_1[] = { 'i', 'g' }; static const symbol s_2[] = { 'l', 0xC3, 0xB8, 's' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 33 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 31 */ + { int c_test1 = z->c; /* test, line 33 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 33 */ if (ret < 0) return 0; - z->c = ret; /* hop, line 33 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 33 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 34 */ { /* gopast */ /* non v, line 34 */ @@ -149,37 +149,34 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 34 */ - /* try, line 35 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 35 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 35 */ + z->I[0] = z->I[1]; /* $p1 = , line 35 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 41 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 41 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 41 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 41 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 32); /* substring, line 41 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 41 */ + among_var = find_among_b(z, a_0, 32); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 41 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 42 */ case 1: { int ret = slice_del(z); /* delete, line 48 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b_U(z, g_s_ending, 97, 229, 0)) return 0; + if (in_grouping_b_U(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 50 */ { int ret = slice_del(z); /* delete, line 50 */ if (ret < 0) return ret; } @@ -188,21 +185,19 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 55 */ - { int mlimit; /* setlimit, line 56 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 55 */ + + { int mlimit2; /* setlimit, line 56 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 56 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit; return 0; } /* substring, line 56 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 56 */ + if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 56 */ - z->lb = mlimit; + z->lb = mlimit2; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; @@ -215,41 +210,38 @@ static int r_consonant_pair(struct SN_env * z) { return 1; } -static int r_other_suffix(struct SN_env * z) { +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; { int m1 = z->l - z->c; (void)m1; /* do, line 66 */ z->ket = z->c; /* [, line 66 */ - if (!(eq_s_b(z, 2, s_0))) goto lab0; + if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 66 */ z->bra = z->c; /* ], line 66 */ - if (!(eq_s_b(z, 2, s_1))) goto lab0; + if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 66 */ { int ret = slice_del(z); /* delete, line 66 */ if (ret < 0) return ret; } lab0: z->c = z->l - m1; } - { int mlimit; /* setlimit, line 67 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit2; /* setlimit, line 67 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 67 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 67 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 5); /* substring, line 67 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 67 */ + among_var = find_among_b(z, a_2, 5); + if (!(among_var)) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 67 */ - z->lb = mlimit; + z->lb = mlimit2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 68 */ case 1: { int ret = slice_del(z); /* delete, line 70 */ if (ret < 0) return ret; } { int m3 = z->l - z->c; (void)m3; /* do, line 70 */ - { int ret = r_consonant_pair(z); - if (ret == 0) goto lab1; /* call consonant_pair, line 70 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 70 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -265,19 +257,17 @@ static int r_other_suffix(struct SN_env * z) { return 1; } -static int r_undouble(struct SN_env * z) { - { int mlimit; /* setlimit, line 76 */ - int m1 = z->l - z->c; (void)m1; +static int r_undouble(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 76 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 76 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 76 */ - if (out_grouping_b_U(z, g_v, 97, 248, 0)) { z->lb = mlimit; return 0; } + if (out_grouping_b_U(z, g_v, 97, 248, 0)) { z->lb = mlimit1; return 0; } /* non v, line 76 */ z->bra = z->c; /* ], line 76 */ z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 76 */ if (z->S[0] == 0) return -1; /* -> ch, line 76 */ - z->lb = mlimit; + z->lb = mlimit1; } if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 77 */ { int ret = slice_del(z); /* delete, line 78 */ @@ -286,10 +276,10 @@ static int r_undouble(struct SN_env * z) { return 1; } -extern int danish_UTF_8_stem(struct SN_env * z) { +extern int danish_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 84 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 84 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 84 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -298,32 +288,32 @@ extern int danish_UTF_8_stem(struct SN_env * z) { z->lb = z->c; z->c = z->l; /* backwards, line 85 */ { int m2 = z->l - z->c; (void)m2; /* do, line 86 */ - { int ret = r_main_suffix(z); - if (ret == 0) goto lab1; /* call main_suffix, line 86 */ + { int ret = r_main_suffix(z); /* call main_suffix, line 86 */ + 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 87 */ - { int ret = r_consonant_pair(z); - if (ret == 0) goto lab2; /* call consonant_pair, line 87 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 87 */ + 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 88 */ - { int ret = r_other_suffix(z); - if (ret == 0) goto lab3; /* call other_suffix, line 88 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 88 */ + 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 89 */ - { int ret = r_undouble(z); - if (ret == 0) goto lab4; /* call undouble, line 89 */ + { int ret = r_undouble(z); /* call undouble, line 89 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } lab4: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_dutch.c b/src/backend/snowball/libstemmer/stem_UTF_8_dutch.c index f04c88d3e6..0a61174502 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_dutch.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_dutch.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -134,36 +134,28 @@ static const symbol s_1[] = { 'e' }; static const symbol s_2[] = { 'i' }; static const symbol s_3[] = { 'o' }; static const symbol s_4[] = { 'u' }; -static const symbol s_5[] = { 'y' }; -static const symbol s_6[] = { 'Y' }; -static const symbol s_7[] = { 'i' }; -static const symbol s_8[] = { 'I' }; -static const symbol s_9[] = { 'y' }; -static const symbol s_10[] = { 'Y' }; -static const symbol s_11[] = { 'y' }; -static const symbol s_12[] = { 'i' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'g', 'e', 'm' }; -static const symbol s_15[] = { 'h', 'e', 'i', 'd' }; -static const symbol s_16[] = { 'h', 'e', 'i', 'd' }; -static const symbol s_17[] = { 'c' }; -static const symbol s_18[] = { 'e', 'n' }; -static const symbol s_19[] = { 'i', 'g' }; -static const symbol s_20[] = { 'e' }; -static const symbol s_21[] = { 'e' }; +static const symbol s_5[] = { 'Y' }; +static const symbol s_6[] = { 'I' }; +static const symbol s_7[] = { 'Y' }; +static const symbol s_8[] = { 'y' }; +static const symbol s_9[] = { 'i' }; +static const symbol s_10[] = { 'g', 'e', 'm' }; +static const symbol s_11[] = { 'h', 'e', 'i', 'd' }; +static const symbol s_12[] = { 'h', 'e', 'i', 'd' }; +static const symbol s_13[] = { 'e', 'n' }; +static const symbol s_14[] = { 'i', 'g' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; - { int c_test = z->c; /* test, line 42 */ + { int c_test1 = z->c; /* test, line 42 */ while(1) { /* repeat, line 42 */ - int c1 = z->c; + 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 - among_var = find_among(z, a_0, 11); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 43 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 43 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 45 */ if (ret < 0) return ret; @@ -198,48 +190,51 @@ static int r_prelude(struct SN_env * z) { } continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } - { int c_keep = z->c; /* try, line 57 */ + { int c3 = z->c; /* try, line 57 */ z->bra = z->c; /* [, line 57 */ - if (!(eq_s(z, 1, s_5))) { z->c = c_keep; goto lab1; } + if (z->c == z->l || z->p[z->c] != 'y') { z->c = c3; goto lab1; } /* literal, line 57 */ + z->c++; z->ket = z->c; /* ], line 57 */ - { int ret = slice_from_s(z, 1, s_6); /* <-, line 57 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 57 */ if (ret < 0) return ret; } lab1: ; } while(1) { /* repeat, line 58 */ - int c2 = z->c; + int c4 = z->c; while(1) { /* goto, line 58 */ - int c3 = z->c; - if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab3; + int c5 = z->c; + if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab3; /* grouping v, line 59 */ z->bra = z->c; /* [, line 59 */ - { int c4 = z->c; /* or, line 59 */ - if (!(eq_s(z, 1, s_7))) goto lab5; + { int c6 = z->c; /* or, line 59 */ + if (z->c == z->l || z->p[z->c] != 'i') goto lab5; /* literal, line 59 */ + z->c++; z->ket = z->c; /* ], line 59 */ - if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab5; - { int ret = slice_from_s(z, 1, s_8); /* <-, line 59 */ + if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab5; /* grouping v, line 59 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 59 */ if (ret < 0) return ret; } goto lab4; lab5: - z->c = c4; - if (!(eq_s(z, 1, s_9))) goto lab3; + z->c = c6; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 60 */ + z->c++; z->ket = z->c; /* ], line 60 */ - { int ret = slice_from_s(z, 1, s_10); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 60 */ if (ret < 0) return ret; } } lab4: - z->c = c3; + z->c = c5; break; lab3: - z->c = c3; + z->c = c5; { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab2; z->c = ret; /* goto, line 58 */ @@ -247,15 +242,15 @@ static int r_prelude(struct SN_env * z) { } continue; lab2: - z->c = c2; + z->c = c4; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 66 */ + z->I[1] = z->l; /* $p2 = , line 67 */ { /* gopast */ /* grouping v, line 69 */ int ret = out_grouping_U(z, g_v, 97, 232, 1); if (ret < 0) return 0; @@ -267,9 +262,9 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 69 */ - /* try, line 70 */ - if (!(z->I[0] < 3)) goto lab0; - z->I[0] = 3; + /* try, line 70 */ + if (!(z->I[0] < 3)) goto lab0; /* $( < ), line 70 */ + z->I[0] = 3; /* $p1 = , line 70 */ lab0: { /* gopast */ /* grouping v, line 71 */ int ret = out_grouping_U(z, g_v, 97, 232, 1); @@ -285,24 +280,23 @@ lab0: return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 75 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 77 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 78 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 79 */ if (ret < 0) return ret; } break; @@ -321,21 +315,21 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ return 1; } -static int r_undouble(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 91 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 3))) return 0; /* among, line 91 */ - z->c = z->l - m_test; +static int r_undouble(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 91 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 91 */ + if (!(find_among_b(z, a_2, 3))) return 0; + z->c = z->l - m_test1; } z->ket = z->c; /* [, line 91 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); @@ -349,40 +343,38 @@ static int r_undouble(struct SN_env * z) { return 1; } -static int r_e_ending(struct SN_env * z) { +static int r_e_ending(struct SN_env * z) { /* backwardmode */ z->B[0] = 0; /* unset e_found, line 95 */ z->ket = z->c; /* [, line 96 */ - if (!(eq_s_b(z, 1, s_13))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 96 */ + z->c--; z->bra = z->c; /* ], line 96 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 96 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 96 */ + if (ret <= 0) return ret; } - { int m_test = z->l - z->c; /* test, line 96 */ - if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0; - z->c = z->l - m_test; + { int m_test1 = z->l - z->c; /* test, line 96 */ + if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0; /* non v, line 96 */ + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } z->B[0] = 1; /* set e_found, line 97 */ - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 98 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 98 */ + if (ret <= 0) return ret; } return 1; } -static int r_en_ending(struct SN_env * z) { - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 102 */ - if (ret < 0) return ret; +static int r_en_ending(struct SN_env * z) { /* backwardmode */ + { int ret = r_R1(z); /* call R1, line 102 */ + if (ret <= 0) return ret; } { int m1 = z->l - z->c; (void)m1; /* and, line 102 */ - if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0; + if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0; /* non v, line 102 */ z->c = z->l - m1; { int m2 = z->l - z->c; (void)m2; /* not, line 102 */ - if (!(eq_s_b(z, 3, s_14))) goto lab0; + if (!(eq_s_b(z, 3, s_10))) goto lab0; /* literal, line 102 */ return 0; lab0: z->c = z->l - m2; @@ -391,44 +383,42 @@ static int r_en_ending(struct SN_env * z) { { int ret = slice_del(z); /* delete, line 102 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 103 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 103 */ + if (ret <= 0) return ret; } return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; { int m1 = z->l - z->c; (void)m1; /* do, line 107 */ z->ket = z->c; /* [, line 108 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; - among_var = find_among_b(z, a_3, 5); /* substring, line 108 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 108 */ + among_var = find_among_b(z, a_3, 5); if (!(among_var)) goto lab0; z->bra = z->c; /* ], line 108 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 108 */ case 1: - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 110 */ + { int ret = r_R1(z); /* call R1, line 110 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - { int ret = slice_from_s(z, 4, s_15); /* <-, line 110 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 110 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_en_ending(z); - if (ret == 0) goto lab0; /* call en_ending, line 113 */ + { int ret = r_en_ending(z); /* call en_ending, line 113 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } break; case 3: - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 116 */ + { int ret = r_R1(z); /* call R1, line 116 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - if (out_grouping_b_U(z, g_v_j, 97, 232, 0)) goto lab0; + if (out_grouping_b_U(z, g_v_j, 97, 232, 0)) goto lab0; /* non v_j, line 116 */ { int ret = slice_del(z); /* delete, line 116 */ if (ret < 0) return ret; } @@ -438,8 +428,8 @@ static int r_standard_suffix(struct SN_env * z) { z->c = z->l - m1; } { int m2 = z->l - z->c; (void)m2; /* do, line 120 */ - { int ret = r_e_ending(z); - if (ret == 0) goto lab1; /* call e_ending, line 120 */ + { int ret = r_e_ending(z); /* call e_ending, line 120 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -447,14 +437,15 @@ static int r_standard_suffix(struct SN_env * z) { } { int m3 = z->l - z->c; (void)m3; /* do, line 122 */ z->ket = z->c; /* [, line 122 */ - if (!(eq_s_b(z, 4, s_16))) goto lab2; + if (!(eq_s_b(z, 4, s_12))) goto lab2; /* literal, line 122 */ z->bra = z->c; /* ], line 122 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 122 */ + { int ret = r_R2(z); /* call R2, line 122 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } { int m4 = z->l - z->c; (void)m4; /* not, line 122 */ - if (!(eq_s_b(z, 1, s_17))) goto lab3; + if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3; /* literal, line 122 */ + z->c--; goto lab2; lab3: z->c = z->l - m4; @@ -463,10 +454,10 @@ static int r_standard_suffix(struct SN_env * z) { if (ret < 0) return ret; } z->ket = z->c; /* [, line 123 */ - if (!(eq_s_b(z, 2, s_18))) goto lab2; + if (!(eq_s_b(z, 2, s_13))) goto lab2; /* literal, line 123 */ z->bra = z->c; /* ], line 123 */ - { int ret = r_en_ending(z); - if (ret == 0) goto lab2; /* call en_ending, line 123 */ + { int ret = r_en_ending(z); /* call en_ending, line 123 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } lab2: @@ -474,15 +465,14 @@ static int r_standard_suffix(struct SN_env * z) { } { 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; - among_var = find_among_b(z, a_4, 6); /* 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 lab4; /* substring, line 127 */ + among_var = find_among_b(z, a_4, 6); if (!(among_var)) goto lab4; z->bra = z->c; /* ], line 127 */ - switch(among_var) { - case 0: goto lab4; + switch (among_var) { /* among, line 127 */ case 1: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 129 */ + { int ret = r_R2(z); /* call R2, line 129 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 129 */ @@ -490,14 +480,15 @@ static int r_standard_suffix(struct SN_env * z) { } { int m6 = z->l - z->c; (void)m6; /* or, line 130 */ z->ket = z->c; /* [, line 130 */ - if (!(eq_s_b(z, 2, s_19))) goto lab6; + if (!(eq_s_b(z, 2, s_14))) goto lab6; /* literal, line 130 */ z->bra = z->c; /* ], line 130 */ - { int ret = r_R2(z); - if (ret == 0) goto lab6; /* call R2, line 130 */ + { int ret = r_R2(z); /* call R2, line 130 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } { int m7 = z->l - z->c; (void)m7; /* not, line 130 */ - if (!(eq_s_b(z, 1, s_20))) goto lab7; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 130 */ + z->c--; goto lab6; lab7: z->c = z->l - m7; @@ -508,20 +499,21 @@ static int r_standard_suffix(struct SN_env * z) { goto lab5; lab6: z->c = z->l - m6; - { int ret = r_undouble(z); - if (ret == 0) goto lab4; /* call undouble, line 130 */ + { int ret = r_undouble(z); /* call undouble, line 130 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: break; case 2: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 133 */ + { int ret = r_R2(z); /* call R2, line 133 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int m8 = z->l - z->c; (void)m8; /* not, line 133 */ - if (!(eq_s_b(z, 1, s_21))) goto lab8; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 133 */ + z->c--; goto lab4; lab8: z->c = z->l - m8; @@ -531,21 +523,21 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 136 */ + { int ret = r_R2(z); /* call R2, line 136 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; } - { int ret = r_e_ending(z); - if (ret == 0) goto lab4; /* call e_ending, line 136 */ + { int ret = r_e_ending(z); /* call e_ending, line 136 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 139 */ + { int ret = r_R2(z); /* call R2, line 139 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 139 */ @@ -553,8 +545,8 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 5: - { int ret = r_R2(z); - if (ret == 0) goto lab4; /* call R2, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */ @@ -567,12 +559,12 @@ static int r_standard_suffix(struct SN_env * z) { 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; - { int m_test = 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; - if (!(find_among_b(z, a_5, 4))) goto lab9; /* among, line 149 */ - if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab9; - z->c = z->l - m_test; + if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab9; /* 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 */ + z->c = z->l - m_test10; } z->ket = z->c; /* [, line 152 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); @@ -589,18 +581,18 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -extern int dutch_UTF_8_stem(struct SN_env * z) { +extern int dutch_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 159 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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); - if (ret == 0) goto lab1; /* call mark_regions, line 160 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 160 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: @@ -608,22 +600,20 @@ extern int dutch_UTF_8_stem(struct SN_env * z) { } z->lb = z->c; z->c = z->l; /* backwards, line 161 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 162 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab2; /* call standard_suffix, line 162 */ - if (ret < 0) return ret; - } - lab2: - z->c = z->l - m3; + /* 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 c4 = z->c; /* do, line 163 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab3; /* call postlude, line 163 */ + { 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 = c4; + z->c = c3; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_english.c b/src/backend/snowball/libstemmer/stem_UTF_8_english.c index c5d4c2a445..ae206f654f 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_english.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_english.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -153,12 +153,12 @@ static const struct among a_5[24] = /* 0 */ { 4, s_5_0, -1, 3, 0}, /* 1 */ { 4, s_5_1, -1, 2, 0}, /* 2 */ { 3, s_5_2, -1, 13, 0}, -/* 3 */ { 2, s_5_3, -1, 16, 0}, +/* 3 */ { 2, s_5_3, -1, 15, 0}, /* 4 */ { 3, s_5_4, 3, 12, 0}, /* 5 */ { 4, s_5_5, 4, 4, 0}, /* 6 */ { 4, s_5_6, 3, 8, 0}, -/* 7 */ { 5, s_5_7, 3, 14, 0}, -/* 8 */ { 6, s_5_8, 3, 15, 0}, +/* 7 */ { 5, s_5_7, 3, 9, 0}, +/* 8 */ { 6, s_5_8, 3, 14, 0}, /* 9 */ { 5, s_5_9, 3, 10, 0}, /* 10 */ { 5, s_5_10, 3, 5, 0}, /* 11 */ { 5, s_5_11, -1, 8, 0}, @@ -317,62 +317,52 @@ static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 }; static const unsigned char g_valid_LI[] = { 55, 141, 2 }; -static const symbol s_0[] = { '\'' }; -static const symbol s_1[] = { 'y' }; -static const symbol s_2[] = { 'Y' }; -static const symbol s_3[] = { 'y' }; -static const symbol s_4[] = { 'Y' }; -static const symbol s_5[] = { 's', 's' }; -static const symbol s_6[] = { 'i' }; -static const symbol s_7[] = { 'i', 'e' }; -static const symbol s_8[] = { 'e', 'e' }; -static const symbol s_9[] = { 'e' }; -static const symbol s_10[] = { 'e' }; -static const symbol s_11[] = { 'y' }; -static const symbol s_12[] = { 'Y' }; -static const symbol s_13[] = { 'i' }; -static const symbol s_14[] = { 't', 'i', 'o', 'n' }; -static const symbol s_15[] = { 'e', 'n', 'c', 'e' }; -static const symbol s_16[] = { 'a', 'n', 'c', 'e' }; -static const symbol s_17[] = { 'a', 'b', 'l', 'e' }; -static const symbol s_18[] = { 'e', 'n', 't' }; -static const symbol s_19[] = { 'i', 'z', 'e' }; -static const symbol s_20[] = { 'a', 't', 'e' }; -static const symbol s_21[] = { 'a', 'l' }; -static const symbol s_22[] = { 'f', 'u', 'l' }; -static const symbol s_23[] = { 'o', 'u', 's' }; -static const symbol s_24[] = { 'i', 'v', 'e' }; -static const symbol s_25[] = { 'b', 'l', 'e' }; -static const symbol s_26[] = { 'l' }; -static const symbol s_27[] = { 'o', 'g' }; -static const symbol s_28[] = { 'f', 'u', 'l' }; -static const symbol s_29[] = { 'l', 'e', 's', 's' }; -static const symbol s_30[] = { 't', 'i', 'o', 'n' }; -static const symbol s_31[] = { 'a', 't', 'e' }; -static const symbol s_32[] = { 'a', 'l' }; -static const symbol s_33[] = { 'i', 'c' }; -static const symbol s_34[] = { 's' }; -static const symbol s_35[] = { 't' }; -static const symbol s_36[] = { 'l' }; -static const symbol s_37[] = { 's', 'k', 'i' }; -static const symbol s_38[] = { 's', 'k', 'y' }; -static const symbol s_39[] = { 'd', 'i', 'e' }; -static const symbol s_40[] = { 'l', 'i', 'e' }; -static const symbol s_41[] = { 't', 'i', 'e' }; -static const symbol s_42[] = { 'i', 'd', 'l' }; -static const symbol s_43[] = { 'g', 'e', 'n', 't', 'l' }; -static const symbol s_44[] = { 'u', 'g', 'l', 'i' }; -static const symbol s_45[] = { 'e', 'a', 'r', 'l', 'i' }; -static const symbol s_46[] = { 'o', 'n', 'l', 'i' }; -static const symbol s_47[] = { 's', 'i', 'n', 'g', 'l' }; -static const symbol s_48[] = { 'Y' }; -static const symbol s_49[] = { 'y' }; +static const symbol s_0[] = { 'Y' }; +static const symbol s_1[] = { 'Y' }; +static const symbol s_2[] = { 's', 's' }; +static const symbol s_3[] = { 'i' }; +static const symbol s_4[] = { 'i', 'e' }; +static const symbol s_5[] = { 'e', 'e' }; +static const symbol s_6[] = { 'e' }; +static const symbol s_7[] = { 'e' }; +static const symbol s_8[] = { 'i' }; +static const symbol s_9[] = { 't', 'i', 'o', 'n' }; +static const symbol s_10[] = { 'e', 'n', 'c', 'e' }; +static const symbol s_11[] = { 'a', 'n', 'c', 'e' }; +static const symbol s_12[] = { 'a', 'b', 'l', 'e' }; +static const symbol s_13[] = { 'e', 'n', 't' }; +static const symbol s_14[] = { 'i', 'z', 'e' }; +static const symbol s_15[] = { 'a', 't', 'e' }; +static const symbol s_16[] = { 'a', 'l' }; +static const symbol s_17[] = { 'f', 'u', 'l' }; +static const symbol s_18[] = { 'o', 'u', 's' }; +static const symbol s_19[] = { 'i', 'v', 'e' }; +static const symbol s_20[] = { 'b', 'l', 'e' }; +static const symbol s_21[] = { 'o', 'g' }; +static const symbol s_22[] = { 'l', 'e', 's', 's' }; +static const symbol s_23[] = { 't', 'i', 'o', 'n' }; +static const symbol s_24[] = { 'a', 't', 'e' }; +static const symbol s_25[] = { 'a', 'l' }; +static const symbol s_26[] = { 'i', 'c' }; +static const symbol s_27[] = { 's', 'k', 'i' }; +static const symbol s_28[] = { 's', 'k', 'y' }; +static const symbol s_29[] = { 'd', 'i', 'e' }; +static const symbol s_30[] = { 'l', 'i', 'e' }; +static const symbol s_31[] = { 't', 'i', 'e' }; +static const symbol s_32[] = { 'i', 'd', 'l' }; +static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' }; +static const symbol s_34[] = { 'u', 'g', 'l', 'i' }; +static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' }; +static const symbol s_36[] = { 'o', 'n', 'l', 'i' }; +static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' }; +static const symbol s_38[] = { 'y' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ z->B[0] = 0; /* unset Y_found, line 26 */ { int c1 = z->c; /* do, line 27 */ z->bra = z->c; /* [, line 27 */ - if (!(eq_s(z, 1, s_0))) goto lab0; + if (z->c == z->l || z->p[z->c] != '\'') goto lab0; /* literal, line 27 */ + z->c++; z->ket = z->c; /* ], line 27 */ { int ret = slice_del(z); /* delete, line 27 */ if (ret < 0) return ret; @@ -382,9 +372,10 @@ static int r_prelude(struct SN_env * z) { } { int c2 = z->c; /* do, line 28 */ z->bra = z->c; /* [, line 28 */ - if (!(eq_s(z, 1, s_1))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'y') goto lab1; /* literal, line 28 */ + z->c++; z->ket = z->c; /* ], line 28 */ - { int ret = slice_from_s(z, 1, s_2); /* <-, line 28 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 28 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 28 */ @@ -396,9 +387,10 @@ static int r_prelude(struct SN_env * z) { 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; + if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab4; /* grouping v, line 29 */ z->bra = z->c; /* [, line 29 */ - if (!(eq_s(z, 1, s_3))) goto lab4; + if (z->c == z->l || z->p[z->c] != 'y') goto lab4; /* literal, line 29 */ + z->c++; z->ket = z->c; /* ], line 29 */ z->c = c5; break; @@ -409,7 +401,7 @@ static int r_prelude(struct SN_env * z) { z->c = ret; /* goto, line 29 */ } } - { int ret = slice_from_s(z, 1, s_4); /* <-, line 29 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 29 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 29 */ @@ -423,13 +415,13 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 33 */ + z->I[1] = z->l; /* $p2 = , line 34 */ { int c1 = z->c; /* do, line 35 */ { int c2 = z->c; /* or, line 41 */ - if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2; - if (!(find_among(z, a_0, 3))) goto lab2; /* among, line 36 */ + if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2; /* among, line 36 */ + if (!(find_among(z, a_0, 3))) goto lab2; goto lab1; lab2: z->c = c2; @@ -463,76 +455,69 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_shortv(struct SN_env * z) { +static int r_shortv(struct SN_env * z) { /* backwardmode */ { int m1 = z->l - z->c; (void)m1; /* or, line 51 */ - if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab1; - if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1; - if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1; + if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab1; /* non v_WXY, line 50 */ + if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1; /* grouping v, line 50 */ + if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1; /* non v, line 50 */ goto lab0; lab1: z->c = z->l - m1; - if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; - if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0; + if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; /* non v, line 52 */ + if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0; /* grouping v, line 52 */ if (z->c > z->lb) return 0; /* atlimit, line 52 */ } lab0: return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 55 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 56 */ return 1; } -static int r_Step_1a(struct SN_env * z) { +static int r_Step_1a(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 59 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 59 */ z->ket = z->c; /* [, line 60 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m_keep; goto lab0; } - among_var = find_among_b(z, a_1, 3); /* substring, line 60 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m1; goto lab0; } /* substring, line 60 */ + if (!(find_among_b(z, a_1, 3))) { z->c = z->l - m1; goto lab0; } z->bra = z->c; /* ], line 60 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } - case 1: - { int ret = slice_del(z); /* delete, line 62 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 62 */ + if (ret < 0) return ret; } lab0: ; } z->ket = z->c; /* [, line 65 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0; - among_var = find_among_b(z, a_2, 6); /* substring, line 65 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0; /* substring, line 65 */ + among_var = find_among_b(z, a_2, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 65 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 65 */ case 1: - { int ret = slice_from_s(z, 2, s_5); /* <-, line 66 */ + { int ret = slice_from_s(z, 2, s_2); /* <-, line 66 */ if (ret < 0) return ret; } break; case 2: - { int m1 = z->l - z->c; (void)m1; /* or, line 68 */ - { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 2); + { int m2 = z->l - z->c; (void)m2; /* or, line 68 */ + { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 2); /* hop, line 68 */ if (ret < 0) goto lab2; - z->c = ret; /* hop, line 68 */ + z->c = ret; } - { int ret = slice_from_s(z, 1, s_6); /* <-, line 68 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 68 */ if (ret < 0) return ret; } goto lab1; lab2: - z->c = z->l - m1; - { int ret = slice_from_s(z, 2, s_7); /* <-, line 68 */ + z->c = z->l - m2; + { int ret = slice_from_s(z, 2, s_4); /* <-, line 68 */ if (ret < 0) return ret; } } @@ -556,48 +541,47 @@ static int r_Step_1a(struct SN_env * z) { return 1; } -static int r_Step_1b(struct SN_env * z) { +static int r_Step_1b(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 75 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_4, 6); /* substring, line 75 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 75 */ + among_var = find_among_b(z, a_4, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 75 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 75 */ case 1: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 77 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 77 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_8); /* <-, line 77 */ + { int ret = slice_from_s(z, 2, s_5); /* <-, line 77 */ if (ret < 0) return ret; } break; case 2: - { int m_test = z->l - z->c; /* test, line 80 */ + { int m_test1 = z->l - z->c; /* test, line 80 */ { /* gopast */ /* grouping v, line 80 */ int ret = out_grouping_b_U(z, g_v, 97, 121, 1); if (ret < 0) return 0; z->c -= ret; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 80 */ if (ret < 0) return ret; } - { int m_test = z->l - z->c; /* test, line 81 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else - among_var = find_among_b(z, a_3, 13); /* substring, line 81 */ + { int m_test2 = z->l - z->c; /* test, line 81 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else /* substring, line 81 */ + among_var = find_among_b(z, a_3, 13); if (!(among_var)) return 0; - z->c = z->l - m_test; + z->c = z->l - m_test2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 81 */ case 1: - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 83 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_6); /* <+, line 83 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -614,16 +598,17 @@ static int r_Step_1b(struct SN_env * z) { break; case 3: if (z->c != z->I[0]) return 0; /* atmark, line 87 */ - { int m_test = z->l - z->c; /* test, line 87 */ - { int ret = r_shortv(z); - if (ret == 0) return 0; /* call shortv, line 87 */ - if (ret < 0) return ret; + { int m_test3 = z->l - z->c; /* test, line 87 */ + { int ret = r_shortv(z); /* call shortv, line 87 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test3; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 87 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_7); /* <+, line 87 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -633,121 +618,115 @@ static int r_Step_1b(struct SN_env * z) { return 1; } -static int r_Step_1c(struct SN_env * z) { +static int r_Step_1c(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 94 */ { int m1 = z->l - z->c; (void)m1; /* or, line 94 */ - if (!(eq_s_b(z, 1, s_11))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1; /* literal, line 94 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_12))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0; /* literal, line 94 */ + z->c--; } lab0: z->bra = z->c; /* ], line 94 */ - if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; - { int m2 = z->l - z->c; (void)m2; /* not, line 95 */ - if (z->c > z->lb) goto lab2; /* atlimit, line 95 */ - return 0; - lab2: - z->c = z->l - m2; - } - { int ret = slice_from_s(z, 1, s_13); /* <-, line 96 */ + if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; /* non v, line 95 */ + /* not, line 95 */ + if (z->c > z->lb) goto lab2; /* atlimit, line 95 */ + return 0; +lab2: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 96 */ if (ret < 0) return ret; } return 1; } -static int r_Step_2(struct SN_env * z) { +static int r_Step_2(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 100 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 24); /* substring, line 100 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 100 */ + among_var = find_among_b(z, a_5, 24); if (!(among_var)) return 0; z->bra = z->c; /* ], line 100 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 100 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 100 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 100 */ case 1: - { int ret = slice_from_s(z, 4, s_14); /* <-, line 101 */ + { int ret = slice_from_s(z, 4, s_9); /* <-, line 101 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_15); /* <-, line 102 */ + { int ret = slice_from_s(z, 4, s_10); /* <-, line 102 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 4, s_16); /* <-, line 103 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 103 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 4, s_17); /* <-, line 104 */ + { int ret = slice_from_s(z, 4, s_12); /* <-, line 104 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_18); /* <-, line 105 */ + { int ret = slice_from_s(z, 3, s_13); /* <-, line 105 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 3, s_19); /* <-, line 107 */ + { int ret = slice_from_s(z, 3, s_14); /* <-, line 107 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 3, s_20); /* <-, line 109 */ + { int ret = slice_from_s(z, 3, s_15); /* <-, line 109 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 2, s_21); /* <-, line 111 */ + { int ret = slice_from_s(z, 2, s_16); /* <-, line 111 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 3, s_22); /* <-, line 112 */ + { int ret = slice_from_s(z, 3, s_17); /* <-, line 112 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 3, s_23); /* <-, line 114 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 114 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 3, s_24); /* <-, line 116 */ + { int ret = slice_from_s(z, 3, s_19); /* <-, line 116 */ if (ret < 0) return ret; } break; case 12: - { int ret = slice_from_s(z, 3, s_25); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_20); /* <-, line 118 */ if (ret < 0) return ret; } break; case 13: - if (!(eq_s_b(z, 1, s_26))) return 0; - { int ret = slice_from_s(z, 2, s_27); /* <-, line 119 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 119 */ + z->c--; + { int ret = slice_from_s(z, 2, s_21); /* <-, line 119 */ if (ret < 0) return ret; } break; case 14: - { int ret = slice_from_s(z, 3, s_28); /* <-, line 120 */ + { int ret = slice_from_s(z, 4, s_22); /* <-, line 121 */ if (ret < 0) return ret; } break; case 15: - { int ret = slice_from_s(z, 4, s_29); /* <-, line 121 */ - if (ret < 0) return ret; - } - break; - case 16: - if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) return 0; + if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) return 0; /* grouping valid_LI, line 122 */ { int ret = slice_del(z); /* delete, line 122 */ if (ret < 0) return ret; } @@ -756,36 +735,34 @@ static int r_Step_2(struct SN_env * z) { return 1; } -static int r_Step_3(struct SN_env * z) { +static int r_Step_3(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 127 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_6, 9); /* substring, line 127 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 127 */ + among_var = find_among_b(z, a_6, 9); if (!(among_var)) return 0; z->bra = z->c; /* ], line 127 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 127 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 127 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 127 */ case 1: - { int ret = slice_from_s(z, 4, s_30); /* <-, line 128 */ + { int ret = slice_from_s(z, 4, s_23); /* <-, line 128 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 3, s_31); /* <-, line 129 */ + { int ret = slice_from_s(z, 3, s_24); /* <-, line 129 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 2, s_32); /* <-, line 130 */ + { int ret = slice_from_s(z, 2, s_25); /* <-, line 130 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 2, s_33); /* <-, line 132 */ + { int ret = slice_from_s(z, 2, s_26); /* <-, line 132 */ if (ret < 0) return ret; } break; @@ -795,9 +772,8 @@ static int r_Step_3(struct SN_env * z) { } break; case 6: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 136 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 136 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; @@ -807,19 +783,17 @@ static int r_Step_3(struct SN_env * z) { return 1; } -static int r_Step_4(struct SN_env * z) { +static int r_Step_4(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 141 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_7, 18); /* substring, line 141 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 141 */ + among_var = find_among_b(z, a_7, 18); if (!(among_var)) return 0; z->bra = z->c; /* ], line 141 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 141 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 141 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 141 */ case 1: { int ret = slice_del(z); /* delete, line 144 */ if (ret < 0) return ret; @@ -827,11 +801,13 @@ static int r_Step_4(struct SN_env * z) { break; case 2: { int m1 = z->l - z->c; (void)m1; /* or, line 145 */ - if (!(eq_s_b(z, 1, s_34))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1; /* literal, line 145 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_35))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0; /* literal, line 145 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 145 */ @@ -842,31 +818,29 @@ static int r_Step_4(struct SN_env * z) { return 1; } -static int r_Step_5(struct SN_env * z) { +static int r_Step_5(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 150 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0; - among_var = find_among_b(z, a_8, 2); /* substring, line 150 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0; /* substring, line 150 */ + among_var = find_among_b(z, a_8, 2); if (!(among_var)) return 0; z->bra = z->c; /* ], line 150 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 150 */ case 1: { int m1 = z->l - z->c; (void)m1; /* or, line 151 */ - { int ret = r_R2(z); - if (ret == 0) goto lab1; /* call R2, line 151 */ + { int ret = r_R2(z); /* call R2, line 151 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = z->l - m1; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 151 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 151 */ + if (ret <= 0) return ret; } { int m2 = z->l - z->c; (void)m2; /* not, line 151 */ - { int ret = r_shortv(z); - if (ret == 0) goto lab2; /* call shortv, line 151 */ + { int ret = r_shortv(z); /* call shortv, line 151 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } return 0; @@ -880,11 +854,11 @@ static int r_Step_5(struct SN_env * z) { } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 152 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 152 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_36))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 152 */ + z->c--; { int ret = slice_del(z); /* delete, line 152 */ if (ret < 0) return ret; } @@ -893,77 +867,76 @@ static int r_Step_5(struct SN_env * z) { return 1; } -static int r_exception2(struct SN_env * z) { +static int r_exception2(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 158 */ - if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; - if (!(find_among_b(z, a_9, 8))) return 0; /* substring, line 158 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; /* substring, line 158 */ + if (!(find_among_b(z, a_9, 8))) return 0; z->bra = z->c; /* ], line 158 */ if (z->c > z->lb) return 0; /* atlimit, line 158 */ return 1; } -static int r_exception1(struct SN_env * z) { +static int r_exception1(struct SN_env * z) { /* forwardmode */ int among_var; z->bra = z->c; /* [, line 170 */ - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; - among_var = find_among(z, a_10, 18); /* substring, line 170 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; /* substring, line 170 */ + among_var = find_among(z, a_10, 18); if (!(among_var)) return 0; z->ket = z->c; /* ], line 170 */ if (z->c < z->l) return 0; /* atlimit, line 170 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 170 */ case 1: - { int ret = slice_from_s(z, 3, s_37); /* <-, line 174 */ + { int ret = slice_from_s(z, 3, s_27); /* <-, line 174 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 3, s_38); /* <-, line 175 */ + { int ret = slice_from_s(z, 3, s_28); /* <-, line 175 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 3, s_39); /* <-, line 176 */ + { int ret = slice_from_s(z, 3, s_29); /* <-, line 176 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 3, s_40); /* <-, line 177 */ + { int ret = slice_from_s(z, 3, s_30); /* <-, line 177 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_41); /* <-, line 178 */ + { int ret = slice_from_s(z, 3, s_31); /* <-, line 178 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 3, s_42); /* <-, line 182 */ + { int ret = slice_from_s(z, 3, s_32); /* <-, line 182 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 5, s_43); /* <-, line 183 */ + { int ret = slice_from_s(z, 5, s_33); /* <-, line 183 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 4, s_44); /* <-, line 184 */ + { int ret = slice_from_s(z, 4, s_34); /* <-, line 184 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 5, s_45); /* <-, line 185 */ + { int ret = slice_from_s(z, 5, s_35); /* <-, line 185 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 4, s_46); /* <-, line 186 */ + { int ret = slice_from_s(z, 4, s_36); /* <-, line 186 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 5, s_47); /* <-, line 187 */ + { int ret = slice_from_s(z, 5, s_37); /* <-, line 187 */ if (ret < 0) return ret; } break; @@ -971,14 +944,15 @@ static int r_exception1(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +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; while(1) { /* goto, line 203 */ int c2 = z->c; z->bra = z->c; /* [, line 203 */ - if (!(eq_s(z, 1, s_48))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'Y') goto lab1; /* literal, line 203 */ + z->c++; z->ket = z->c; /* ], line 203 */ z->c = c2; break; @@ -989,7 +963,7 @@ static int r_postlude(struct SN_env * z) { z->c = ret; /* goto, line 203 */ } } - { int ret = slice_from_s(z, 1, s_49); /* <-, line 203 */ + { int ret = slice_from_s(z, 1, s_38); /* <-, line 203 */ if (ret < 0) return ret; } continue; @@ -1000,19 +974,19 @@ static int r_postlude(struct SN_env * z) { return 1; } -extern int english_UTF_8_stem(struct SN_env * z) { +extern int english_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* or, line 207 */ - { int ret = r_exception1(z); - if (ret == 0) goto lab1; /* call exception1, line 207 */ + { int ret = r_exception1(z); /* call exception1, line 207 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = c1; { int c2 = z->c; /* not, line 208 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 208 */ if (ret < 0) goto lab3; - z->c = ret; /* hop, line 208 */ + z->c = ret; } goto lab2; lab3: @@ -1021,98 +995,94 @@ extern int english_UTF_8_stem(struct SN_env * z) { goto lab0; lab2: z->c = c1; - { int c3 = z->c; /* do, line 209 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab4; /* call prelude, line 209 */ - if (ret < 0) return ret; - } - lab4: - z->c = c3; + /* do, line 209 */ + { int ret = r_prelude(z); /* call prelude, line 209 */ + if (ret == 0) goto lab4; + if (ret < 0) return ret; } - { int c4 = z->c; /* do, line 210 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab5; /* call mark_regions, line 210 */ - if (ret < 0) return ret; - } - lab5: - z->c = c4; + 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 m5 = z->l - z->c; (void)m5; /* do, line 213 */ - { int ret = r_Step_1a(z); - if (ret == 0) goto lab6; /* call Step_1a, line 213 */ + { 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 - m5; + z->c = z->l - m3; } - { int m6 = z->l - z->c; (void)m6; /* or, line 215 */ - { int ret = r_exception2(z); - if (ret == 0) goto lab8; /* call exception2, line 215 */ + { 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) return ret; } goto lab7; lab8: - z->c = z->l - m6; - { int m7 = z->l - z->c; (void)m7; /* do, line 217 */ - { int ret = r_Step_1b(z); - if (ret == 0) goto lab9; /* call Step_1b, line 217 */ + 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 - m7; + z->c = z->l - m5; } - { int m8 = z->l - z->c; (void)m8; /* do, line 218 */ - { int ret = r_Step_1c(z); - if (ret == 0) goto lab10; /* call Step_1c, line 218 */ + { 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 - m8; + z->c = z->l - m6; } - { int m9 = z->l - z->c; (void)m9; /* do, line 220 */ - { int ret = r_Step_2(z); - if (ret == 0) goto lab11; /* call Step_2, line 220 */ + { 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 - m9; + z->c = z->l - m7; } - { int m10 = z->l - z->c; (void)m10; /* do, line 221 */ - { int ret = r_Step_3(z); - if (ret == 0) goto lab12; /* call Step_3, line 221 */ + { 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 - m10; + z->c = z->l - m8; } - { int m11 = z->l - z->c; (void)m11; /* do, line 222 */ - { int ret = r_Step_4(z); - if (ret == 0) goto lab13; /* call Step_4, line 222 */ + { 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 - m11; + z->c = z->l - m9; } - { int m12 = z->l - z->c; (void)m12; /* do, line 224 */ - { int ret = r_Step_5(z); - if (ret == 0) goto lab14; /* call Step_5, line 224 */ + { 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 - m12; + z->c = z->l - m10; } } lab7: z->c = z->lb; - { int c13 = z->c; /* do, line 227 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab15; /* call postlude, line 227 */ + { 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 = c13; + z->c = c11; } } lab0: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_finnish.c b/src/backend/snowball/libstemmer/stem_UTF_8_finnish.c index 55fba0a732..0cbb64d65b 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_finnish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_finnish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -183,7 +183,7 @@ static const struct among a_6[30] = /* 4 */ { 2, s_6_4, 0, -1, 0}, /* 5 */ { 3, s_6_5, 4, -1, 0}, /* 6 */ { 3, s_6_6, 4, -1, 0}, -/* 7 */ { 3, s_6_7, 4, 9, 0}, +/* 7 */ { 3, s_6_7, 4, 2, 0}, /* 8 */ { 3, s_6_8, -1, -1, 0}, /* 9 */ { 3, s_6_9, -1, -1, 0}, /* 10 */ { 3, s_6_10, -1, -1, 0}, @@ -205,7 +205,7 @@ static const struct among a_6[30] = /* 26 */ { 3, s_6_26, 22, -1, 0}, /* 27 */ { 4, s_6_27, 26, -1, 0}, /* 28 */ { 4, s_6_28, 26, -1, 0}, -/* 29 */ { 4, s_6_29, 26, 9, 0} +/* 29 */ { 4, s_6_29, 26, 2, 0} }; static const symbol s_7_0[3] = { 'e', 'j', 'a' }; @@ -261,151 +261,134 @@ static const struct among a_9[2] = static const unsigned char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 }; +static const unsigned char g_C[] = { 119, 223, 119, 1 }; + static const unsigned char g_V1[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; static const unsigned char g_V2[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; static const unsigned char g_particle_end[] = { 17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; -static const symbol s_0[] = { 'k' }; -static const symbol s_1[] = { 'k', 's', 'e' }; -static const symbol s_2[] = { 'k', 's', 'i' }; -static const symbol s_3[] = { 'i' }; -static const symbol s_4[] = { 'a' }; -static const symbol s_5[] = { 'e' }; -static const symbol s_6[] = { 'i' }; -static const symbol s_7[] = { 'o' }; -static const symbol s_8[] = { 0xC3, 0xA4 }; -static const symbol s_9[] = { 0xC3, 0xB6 }; -static const symbol s_10[] = { 'i', 'e' }; -static const symbol s_11[] = { 'e' }; -static const symbol s_12[] = { 'p', 'o' }; -static const symbol s_13[] = { 't' }; -static const symbol s_14[] = { 'p', 'o' }; -static const symbol s_15[] = { 'j' }; -static const symbol s_16[] = { 'o' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'o' }; -static const symbol s_19[] = { 'j' }; +static const symbol s_0[] = { 'k', 's', 'e' }; +static const symbol s_1[] = { 'k', 's', 'i' }; +static const symbol s_2[] = { 0xC3, 0xA4 }; +static const symbol s_3[] = { 0xC3, 0xB6 }; +static const symbol s_4[] = { 'i', 'e' }; +static const symbol s_5[] = { 'p', 'o' }; +static const symbol s_6[] = { 'p', 'o' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - if (out_grouping_U(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 46 */ - { /* gopast */ /* non V1, line 46 */ - int ret = in_grouping_U(z, g_V1, 97, 246, 1); - if (ret < 0) return 0; - z->c += ret; - } - z->I[0] = z->c; /* setmark p1, line 46 */ +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 44 */ + z->I[1] = z->l; /* $p2 = , line 45 */ if (out_grouping_U(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 47 */ { /* gopast */ /* non V1, line 47 */ int ret = in_grouping_U(z, g_V1, 97, 246, 1); if (ret < 0) return 0; z->c += ret; } - z->I[1] = z->c; /* setmark p2, line 47 */ - return 1; -} - -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; - return 1; -} - -static int r_particle_etc(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 55 */ - int m1 = z->l - z->c; (void)m1; - if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 55 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 55 */ - among_var = find_among_b(z, a_0, 10); /* substring, line 55 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 55 */ - z->lb = mlimit; + z->I[0] = z->c; /* setmark p1, line 47 */ + if (out_grouping_U(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* grouping V1, line 48 */ + { /* gopast */ /* non V1, line 48 */ + int ret = in_grouping_U(z, g_V1, 97, 246, 1); + if (ret < 0) return 0; + z->c += ret; } - switch(among_var) { - case 0: return 0; + z->I[1] = z->c; /* setmark p2, line 48 */ + return 1; +} + +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 53 */ + return 1; +} + +static int r_particle_etc(struct SN_env * z) { /* backwardmode */ + int among_var; + + { int mlimit1; /* setlimit, line 56 */ + if (z->c < z->I[0]) return 0; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 56 */ + among_var = find_among_b(z, a_0, 10); /* substring, line 56 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 56 */ + z->lb = mlimit1; + } + switch (among_var) { /* among, line 57 */ case 1: - if (in_grouping_b_U(z, g_particle_end, 97, 246, 0)) return 0; + if (in_grouping_b_U(z, g_particle_end, 97, 246, 0)) return 0; /* grouping particle_end, line 63 */ break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 64 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 65 */ + if (ret <= 0) return ret; } break; } - { int ret = slice_del(z); /* delete, line 66 */ + { int ret = slice_del(z); /* delete, line 67 */ if (ret < 0) return ret; } return 1; } -static int r_possessive(struct SN_env * z) { +static int r_possessive(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 69 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 70 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 69 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 69 */ - among_var = find_among_b(z, a_4, 9); /* substring, line 69 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 69 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 70 */ + among_var = find_among_b(z, a_4, 9); /* substring, line 70 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 70 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 71 */ case 1: - { int m2 = z->l - z->c; (void)m2; /* not, line 72 */ - if (!(eq_s_b(z, 1, s_0))) goto lab0; + { int m2 = z->l - z->c; (void)m2; /* not, line 73 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0; /* literal, line 73 */ + z->c--; return 0; lab0: z->c = z->l - m2; } - { int ret = slice_del(z); /* delete, line 72 */ + { int ret = slice_del(z); /* delete, line 73 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 74 */ + { int ret = slice_del(z); /* delete, line 75 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 74 */ - if (!(eq_s_b(z, 3, s_1))) return 0; - z->bra = z->c; /* ], line 74 */ - { int ret = slice_from_s(z, 3, s_2); /* <-, line 74 */ + z->ket = z->c; /* [, line 75 */ + if (!(eq_s_b(z, 3, s_0))) return 0; /* literal, line 75 */ + z->bra = z->c; /* ], line 75 */ + { int ret = slice_from_s(z, 3, s_1); /* <-, line 75 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 78 */ + { int ret = slice_del(z); /* delete, line 79 */ if (ret < 0) return ret; } break; case 4: - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0; - if (!(find_among_b(z, a_1, 6))) return 0; /* among, line 81 */ - { int ret = slice_del(z); /* delete, line 81 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0; /* among, line 82 */ + if (!(find_among_b(z, a_1, 6))) return 0; + { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } break; case 5: - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 164) return 0; - if (!(find_among_b(z, a_2, 6))) return 0; /* among, line 83 */ - { int ret = slice_del(z); /* delete, line 84 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 164) return 0; /* among, line 84 */ + if (!(find_among_b(z, a_2, 6))) return 0; + { int ret = slice_del(z); /* delete, line 85 */ if (ret < 0) return ret; } break; case 6: - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0; - if (!(find_among_b(z, a_3, 2))) return 0; /* among, line 86 */ - { int ret = slice_del(z); /* delete, line 86 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0; /* among, line 87 */ + if (!(find_among_b(z, a_3, 2))) return 0; + { int ret = slice_del(z); /* delete, line 87 */ if (ret < 0) return ret; } break; @@ -413,350 +396,338 @@ static int r_possessive(struct SN_env * z) { return 1; } -static int r_LONG(struct SN_env * z) { - if (!(find_among_b(z, a_5, 7))) return 0; /* among, line 91 */ +static int r_LONG(struct SN_env * z) { /* backwardmode */ + if (!(find_among_b(z, a_5, 7))) return 0; /* among, line 92 */ return 1; } -static int r_VI(struct SN_env * z) { - if (!(eq_s_b(z, 1, s_3))) return 0; - if (in_grouping_b_U(z, g_V2, 97, 246, 0)) return 0; +static int r_VI(struct SN_env * z) { /* backwardmode */ + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 94 */ + z->c--; + if (in_grouping_b_U(z, g_V2, 97, 246, 0)) return 0; /* grouping V2, line 94 */ return 1; } -static int r_case_ending(struct SN_env * z) { +static int r_case_ending(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 96 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 97 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 96 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 96 */ - among_var = find_among_b(z, a_6, 30); /* substring, line 96 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 96 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 97 */ + among_var = find_among_b(z, a_6, 30); /* substring, line 97 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 97 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 98 */ case 1: - if (!(eq_s_b(z, 1, s_4))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'a') return 0; /* literal, line 99 */ + z->c--; break; case 2: - if (!(eq_s_b(z, 1, s_5))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 100 */ + z->c--; break; case 3: - if (!(eq_s_b(z, 1, s_6))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 101 */ + z->c--; break; case 4: - if (!(eq_s_b(z, 1, s_7))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'o') return 0; /* literal, line 102 */ + z->c--; break; case 5: - if (!(eq_s_b(z, 2, s_8))) return 0; + if (!(eq_s_b(z, 2, s_2))) return 0; /* literal, line 103 */ break; case 6: - if (!(eq_s_b(z, 2, s_9))) return 0; + if (!(eq_s_b(z, 2, s_3))) return 0; /* literal, line 104 */ break; case 7: - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ - { int m2 = z->l - z->c; (void)m2; /* and, line 113 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 112 */ - { int ret = r_LONG(z); - if (ret == 0) goto lab2; /* call LONG, line 111 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 112 */ + { int m3 = z->l - z->c; (void)m3; /* and, line 114 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 113 */ + { int ret = r_LONG(z); /* call LONG, line 112 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } goto lab1; lab2: - z->c = z->l - m3; - if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m_keep; goto lab0; } + z->c = z->l - m4; + if (!(eq_s_b(z, 2, s_4))) { z->c = z->l - m2; goto lab0; } /* literal, line 113 */ } lab1: - z->c = z->l - m2; + z->c = z->l - m3; { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) { z->c = z->l - m_keep; goto lab0; } - z->c = ret; /* next, line 113 */ + if (ret < 0) { z->c = z->l - m2; goto lab0; } + z->c = ret; /* next, line 114 */ } } - z->bra = z->c; /* ], line 113 */ + z->bra = z->c; /* ], line 114 */ lab0: ; } break; case 8: - if (in_grouping_b_U(z, g_V1, 97, 246, 0)) return 0; - if (out_grouping_b_U(z, g_V1, 97, 246, 0)) return 0; - break; - case 9: - if (!(eq_s_b(z, 1, s_11))) return 0; + if (in_grouping_b_U(z, g_V1, 97, 246, 0)) return 0; /* grouping V1, line 120 */ + if (in_grouping_b_U(z, g_C, 98, 122, 0)) return 0; /* grouping C, line 120 */ break; } - { int ret = slice_del(z); /* delete, line 138 */ + { int ret = slice_del(z); /* delete, line 139 */ if (ret < 0) return ret; } - z->B[0] = 1; /* set ending_removed, line 139 */ + z->B[0] = 1; /* set ending_removed, line 140 */ return 1; } -static int r_other_endings(struct SN_env * z) { +static int r_other_endings(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 142 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 143 */ if (z->c < z->I[1]) return 0; - z->c = z->I[1]; /* tomark, line 142 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 142 */ - among_var = find_among_b(z, a_7, 14); /* substring, line 142 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 142 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[1]; + z->ket = z->c; /* [, line 143 */ + among_var = find_among_b(z, a_7, 14); /* substring, line 143 */ + if (!(among_var)) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 143 */ + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 144 */ case 1: - { int m2 = z->l - z->c; (void)m2; /* not, line 146 */ - if (!(eq_s_b(z, 2, s_12))) goto lab0; + { int m2 = z->l - z->c; (void)m2; /* not, line 147 */ + if (!(eq_s_b(z, 2, s_5))) goto lab0; /* literal, line 147 */ return 0; lab0: z->c = z->l - m2; } break; } - { int ret = slice_del(z); /* delete, line 151 */ + { int ret = slice_del(z); /* delete, line 152 */ if (ret < 0) return ret; } return 1; } -static int r_i_plural(struct SN_env * z) { - { int mlimit; /* setlimit, line 154 */ - int m1 = z->l - z->c; (void)m1; +static int r_i_plural(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 155 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 154 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 154 */ - if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_8, 2))) { z->lb = mlimit; return 0; } /* substring, line 154 */ - z->bra = z->c; /* ], line 154 */ - z->lb = mlimit; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 155 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit1; return 0; } /* substring, line 155 */ + if (!(find_among_b(z, a_8, 2))) { z->lb = mlimit1; return 0; } + z->bra = z->c; /* ], line 155 */ + z->lb = mlimit1; } - { int ret = slice_del(z); /* delete, line 158 */ + { int ret = slice_del(z); /* delete, line 159 */ if (ret < 0) return ret; } return 1; } -static int r_t_plural(struct SN_env * z) { +static int r_t_plural(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 161 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 162 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 161 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - z->ket = z->c; /* [, line 162 */ - if (!(eq_s_b(z, 1, s_13))) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 162 */ - { int m_test = z->l - z->c; /* test, line 162 */ - if (in_grouping_b_U(z, g_V1, 97, 246, 0)) { z->lb = mlimit; return 0; } - z->c = z->l - m_test; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 163 */ + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit1; return 0; } /* literal, line 163 */ + z->c--; + z->bra = z->c; /* ], line 163 */ + { int m_test2 = z->l - z->c; /* test, line 163 */ + if (in_grouping_b_U(z, g_V1, 97, 246, 0)) { z->lb = mlimit1; return 0; } /* grouping V1, line 163 */ + z->c = z->l - m_test2; } - { int ret = slice_del(z); /* delete, line 163 */ + { int ret = slice_del(z); /* delete, line 164 */ if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } - { int mlimit; /* setlimit, line 165 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit3; /* setlimit, line 166 */ if (z->c < z->I[1]) return 0; - z->c = z->I[1]; /* tomark, line 165 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; - z->ket = z->c; /* [, line 165 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_9, 2); /* substring, line 165 */ - if (!(among_var)) { z->lb = mlimit; return 0; } - z->bra = z->c; /* ], line 165 */ - z->lb = mlimit; + mlimit3 = z->lb; z->lb = z->I[1]; + z->ket = z->c; /* [, line 166 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit3; return 0; } /* substring, line 166 */ + among_var = find_among_b(z, a_9, 2); + if (!(among_var)) { z->lb = mlimit3; return 0; } + z->bra = z->c; /* ], line 166 */ + z->lb = mlimit3; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 167 */ case 1: - { int m3 = z->l - z->c; (void)m3; /* not, line 167 */ - if (!(eq_s_b(z, 2, s_14))) goto lab0; + { int m4 = z->l - z->c; (void)m4; /* not, line 168 */ + if (!(eq_s_b(z, 2, s_6))) goto lab0; /* literal, line 168 */ return 0; lab0: - z->c = z->l - m3; + z->c = z->l - m4; } break; } - { int ret = slice_del(z); /* delete, line 170 */ + { int ret = slice_del(z); /* delete, line 171 */ if (ret < 0) return ret; } return 1; } -static int r_tidy(struct SN_env * z) { - { int mlimit; /* setlimit, line 173 */ - int m1 = z->l - z->c; (void)m1; +static int r_tidy(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 174 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 173 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* do, line 174 */ - { int m3 = z->l - z->c; (void)m3; /* and, line 174 */ - { int ret = r_LONG(z); - if (ret == 0) goto lab0; /* call LONG, line 174 */ + mlimit1 = z->lb; z->lb = z->I[0]; + { int m2 = z->l - z->c; (void)m2; /* do, line 175 */ + { int m3 = z->l - z->c; (void)m3; /* and, line 175 */ + { int ret = r_LONG(z); /* call LONG, line 175 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } z->c = z->l - m3; - z->ket = z->c; /* [, line 174 */ + z->ket = z->c; /* [, line 175 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) goto lab0; - z->c = ret; /* next, line 174 */ + z->c = ret; /* next, line 175 */ } - z->bra = z->c; /* ], line 174 */ - { int ret = slice_del(z); /* delete, line 174 */ + z->bra = z->c; /* ], line 175 */ + { int ret = slice_del(z); /* delete, line 175 */ if (ret < 0) return ret; } } lab0: z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 175 */ - z->ket = z->c; /* [, line 175 */ - if (in_grouping_b_U(z, g_AEI, 97, 228, 0)) goto lab1; - z->bra = z->c; /* ], line 175 */ - if (out_grouping_b_U(z, g_V1, 97, 246, 0)) goto lab1; - { int ret = slice_del(z); /* delete, line 175 */ + { int m4 = z->l - z->c; (void)m4; /* do, line 176 */ + z->ket = z->c; /* [, line 176 */ + if (in_grouping_b_U(z, g_AEI, 97, 228, 0)) goto lab1; /* grouping AEI, line 176 */ + z->bra = z->c; /* ], line 176 */ + if (in_grouping_b_U(z, g_C, 98, 122, 0)) goto lab1; /* grouping C, line 176 */ + { int ret = slice_del(z); /* delete, line 176 */ if (ret < 0) return ret; } lab1: z->c = z->l - m4; } - { int m5 = z->l - z->c; (void)m5; /* do, line 176 */ - z->ket = z->c; /* [, line 176 */ - if (!(eq_s_b(z, 1, s_15))) goto lab2; - z->bra = z->c; /* ], line 176 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 176 */ - if (!(eq_s_b(z, 1, s_16))) goto lab4; + { int m5 = z->l - z->c; (void)m5; /* do, line 177 */ + z->ket = z->c; /* [, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab2; /* literal, line 177 */ + z->c--; + z->bra = z->c; /* ], line 177 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4; /* literal, line 177 */ + z->c--; goto lab3; lab4: z->c = z->l - m6; - if (!(eq_s_b(z, 1, s_17))) goto lab2; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab2; /* literal, line 177 */ + z->c--; } lab3: - { int ret = slice_del(z); /* delete, line 176 */ + { int ret = slice_del(z); /* delete, line 177 */ if (ret < 0) return ret; } lab2: z->c = z->l - m5; } - { int m7 = z->l - z->c; (void)m7; /* do, line 177 */ - z->ket = z->c; /* [, line 177 */ - if (!(eq_s_b(z, 1, s_18))) goto lab5; - z->bra = z->c; /* ], line 177 */ - if (!(eq_s_b(z, 1, s_19))) goto lab5; - { int ret = slice_del(z); /* delete, line 177 */ + { int m7 = z->l - z->c; (void)m7; /* do, line 178 */ + z->ket = z->c; /* [, line 178 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5; /* literal, line 178 */ + z->c--; + z->bra = z->c; /* ], line 178 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab5; /* literal, line 178 */ + z->c--; + { int ret = slice_del(z); /* delete, line 178 */ if (ret < 0) return ret; } lab5: z->c = z->l - m7; } - z->lb = mlimit; + z->lb = mlimit1; } - if (in_grouping_b_U(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* non V1, line 179 */ - z->ket = z->c; /* [, line 179 */ - { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) return 0; - z->c = ret; /* next, line 179 */ - } - z->bra = z->c; /* ], line 179 */ - z->S[0] = slice_to(z, z->S[0]); /* -> x, line 179 */ - if (z->S[0] == 0) return -1; /* -> x, line 179 */ - if (!(eq_v_b(z, z->S[0]))) return 0; /* name x, line 179 */ - { int ret = slice_del(z); /* delete, line 179 */ + if (in_grouping_b_U(z, g_V1, 97, 246, 1) < 0) return 0; /* goto */ /* non V1, line 180 */ + z->ket = z->c; /* [, line 180 */ + if (in_grouping_b_U(z, g_C, 98, 122, 0)) return 0; /* grouping C, line 180 */ + z->bra = z->c; /* ], line 180 */ + z->S[0] = slice_to(z, z->S[0]); /* -> x, line 180 */ + if (z->S[0] == 0) return -1; /* -> x, line 180 */ + if (!(eq_v_b(z, z->S[0]))) return 0; /* name x, line 180 */ + { int ret = slice_del(z); /* delete, line 180 */ if (ret < 0) return ret; } return 1; } -extern int finnish_UTF_8_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 185 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 185 */ +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 186 */ - z->lb = z->c; z->c = z->l; /* backwards, line 187 */ + z->B[0] = 0; /* unset ending_removed, line 187 */ + z->lb = z->c; z->c = z->l; /* backwards, line 188 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 188 */ - { int ret = r_particle_etc(z); - if (ret == 0) goto lab1; /* call particle_etc, line 188 */ + { 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 189 */ - { int ret = r_possessive(z); - if (ret == 0) goto lab2; /* call possessive, line 189 */ + { 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 190 */ - { int ret = r_case_ending(z); - if (ret == 0) goto lab3; /* call case_ending, line 190 */ + { 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 191 */ - { int ret = r_other_endings(z); - if (ret == 0) goto lab4; /* call other_endings, line 191 */ + { 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; } - { int m6 = z->l - z->c; (void)m6; /* or, line 192 */ - if (!(z->B[0])) goto lab6; /* Boolean test ending_removed, line 192 */ - { int m7 = z->l - z->c; (void)m7; /* do, line 192 */ - { int ret = r_i_plural(z); - if (ret == 0) goto lab7; /* call i_plural, line 192 */ - if (ret < 0) return ret; - } - lab7: - z->c = z->l - m7; + /* or, line 193 */ + if (!(z->B[0])) goto lab6; /* 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; } - goto lab5; - lab6: + lab7: z->c = z->l - m6; - { int m8 = z->l - z->c; (void)m8; /* do, line 192 */ - { int ret = r_t_plural(z); - if (ret == 0) goto lab8; /* call t_plural, line 192 */ - if (ret < 0) return ret; - } - lab8: - z->c = z->l - m8; + } + goto lab5; +lab6: + { 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: - { int m9 = z->l - z->c; (void)m9; /* do, line 193 */ - { int ret = r_tidy(z); - if (ret == 0) goto lab9; /* call tidy, line 193 */ + { 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 - m9; + z->c = z->l - m8; } z->c = z->lb; return 1; diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_french.c b/src/backend/snowball/libstemmer/stem_UTF_8_french.c index fa1507f2c6..80564a8e36 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_french.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_french.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -370,82 +370,74 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; -static const symbol s_0[] = { 'u' }; -static const symbol s_1[] = { 'U' }; -static const symbol s_2[] = { 'i' }; -static const symbol s_3[] = { 'I' }; -static const symbol s_4[] = { 'y' }; -static const symbol s_5[] = { 'Y' }; -static const symbol s_6[] = { 'y' }; -static const symbol s_7[] = { 'Y' }; -static const symbol s_8[] = { 'q' }; -static const symbol s_9[] = { 'u' }; -static const symbol s_10[] = { 'U' }; -static const symbol s_11[] = { 'i' }; -static const symbol s_12[] = { 'u' }; -static const symbol s_13[] = { 'y' }; -static const symbol s_14[] = { 'i', 'c' }; -static const symbol s_15[] = { 'i', 'q', 'U' }; -static const symbol s_16[] = { 'l', 'o', 'g' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'e', 'n', 't' }; -static const symbol s_19[] = { 'a', 't' }; -static const symbol s_20[] = { 'e', 'u', 'x' }; -static const symbol s_21[] = { 'i' }; -static const symbol s_22[] = { 'a', 'b', 'l' }; -static const symbol s_23[] = { 'i', 'q', 'U' }; -static const symbol s_24[] = { 'a', 't' }; -static const symbol s_25[] = { 'i', 'c' }; -static const symbol s_26[] = { 'i', 'q', 'U' }; -static const symbol s_27[] = { 'e', 'a', 'u' }; -static const symbol s_28[] = { 'a', 'l' }; -static const symbol s_29[] = { 'e', 'u', 'x' }; -static const symbol s_30[] = { 'a', 'n', 't' }; -static const symbol s_31[] = { 'e', 'n', 't' }; -static const symbol s_32[] = { 'e' }; -static const symbol s_33[] = { 's' }; -static const symbol s_34[] = { 's' }; -static const symbol s_35[] = { 't' }; -static const symbol s_36[] = { 'i' }; -static const symbol s_37[] = { 'g', 'u' }; -static const symbol s_38[] = { 0xC3, 0xA9 }; -static const symbol s_39[] = { 0xC3, 0xA8 }; -static const symbol s_40[] = { 'e' }; -static const symbol s_41[] = { 'Y' }; -static const symbol s_42[] = { 'i' }; -static const symbol s_43[] = { 0xC3, 0xA7 }; -static const symbol s_44[] = { 'c' }; +static const symbol s_0[] = { 'U' }; +static const symbol s_1[] = { 'I' }; +static const symbol s_2[] = { 'Y' }; +static const symbol s_3[] = { 'Y' }; +static const symbol s_4[] = { 'U' }; +static const symbol s_5[] = { 'i' }; +static const symbol s_6[] = { 'u' }; +static const symbol s_7[] = { 'y' }; +static const symbol s_8[] = { 'i', 'c' }; +static const symbol s_9[] = { 'i', 'q', 'U' }; +static const symbol s_10[] = { 'l', 'o', 'g' }; +static const symbol s_11[] = { 'u' }; +static const symbol s_12[] = { 'e', 'n', 't' }; +static const symbol s_13[] = { 'a', 't' }; +static const symbol s_14[] = { 'e', 'u', 'x' }; +static const symbol s_15[] = { 'i' }; +static const symbol s_16[] = { 'a', 'b', 'l' }; +static const symbol s_17[] = { 'i', 'q', 'U' }; +static const symbol s_18[] = { 'a', 't' }; +static const symbol s_19[] = { 'i', 'c' }; +static const symbol s_20[] = { 'i', 'q', 'U' }; +static const symbol s_21[] = { 'e', 'a', 'u' }; +static const symbol s_22[] = { 'a', 'l' }; +static const symbol s_23[] = { 'e', 'u', 'x' }; +static const symbol s_24[] = { 'a', 'n', 't' }; +static const symbol s_25[] = { 'e', 'n', 't' }; +static const symbol s_26[] = { 'i' }; +static const symbol s_27[] = { 'g', 'u' }; +static const symbol s_28[] = { 0xC3, 0xA9 }; +static const symbol s_29[] = { 0xC3, 0xA8 }; +static const symbol s_30[] = { 'e' }; +static const symbol s_31[] = { 'i' }; +static const symbol s_32[] = { 0xC3, 0xA7 }; +static const symbol s_33[] = { 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 38 */ int c1 = z->c; while(1) { /* goto, line 38 */ int c2 = z->c; { int c3 = z->c; /* or, line 44 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab3; + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab3; /* grouping v, line 40 */ z->bra = z->c; /* [, line 40 */ { int c4 = z->c; /* or, line 40 */ - if (!(eq_s(z, 1, s_0))) goto lab5; + if (z->c == z->l || z->p[z->c] != 'u') goto lab5; /* literal, line 40 */ + z->c++; z->ket = z->c; /* ], line 40 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab5; - { int ret = slice_from_s(z, 1, s_1); /* <-, line 40 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab5; /* grouping v, line 40 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 40 */ if (ret < 0) return ret; } goto lab4; lab5: z->c = c4; - if (!(eq_s(z, 1, s_2))) goto lab6; + if (z->c == z->l || z->p[z->c] != 'i') goto lab6; /* literal, line 41 */ + z->c++; z->ket = z->c; /* ], line 41 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab6; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 41 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab6; /* grouping v, line 41 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 41 */ if (ret < 0) return ret; } goto lab4; lab6: z->c = c4; - if (!(eq_s(z, 1, s_4))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 42 */ + z->c++; z->ket = z->c; /* ], line 42 */ - { int ret = slice_from_s(z, 1, s_5); /* <-, line 42 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 42 */ if (ret < 0) return ret; } } @@ -454,20 +446,23 @@ static int r_prelude(struct SN_env * z) { lab3: z->c = c3; z->bra = z->c; /* [, line 45 */ - if (!(eq_s(z, 1, s_6))) goto lab7; + if (z->c == z->l || z->p[z->c] != 'y') goto lab7; /* literal, line 45 */ + z->c++; z->ket = z->c; /* ], line 45 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab7; - { int ret = slice_from_s(z, 1, s_7); /* <-, line 45 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab7; /* grouping v, line 45 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 45 */ if (ret < 0) return ret; } goto lab2; lab7: z->c = c3; - if (!(eq_s(z, 1, s_8))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 47 */ + z->c++; z->bra = z->c; /* [, line 47 */ - if (!(eq_s(z, 1, s_9))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 47 */ + z->c++; z->ket = z->c; /* ], line 47 */ - { int ret = slice_from_s(z, 1, s_10); /* <-, line 47 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 47 */ if (ret < 0) return ret; } } @@ -489,14 +484,14 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 52 */ + z->I[1] = z->l; /* $p1 = , line 53 */ + z->I[2] = z->l; /* $p2 = , line 54 */ { int c1 = z->c; /* do, line 56 */ { int c2 = z->c; /* or, line 58 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab2; z->c = ret; /* next, line 57 */ @@ -504,8 +499,8 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; - if (!(find_among(z, a_0, 3))) goto lab3; /* among, line 59 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 59 */ + if (!(find_among(z, a_0, 3))) goto lab3; goto lab1; lab3: z->c = c2; @@ -553,29 +548,28 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 75 */ int c1 = z->c; z->bra = z->c; /* [, line 77 */ - if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else - among_var = find_among(z, a_1, 4); /* substring, line 77 */ + if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else /* substring, line 77 */ + among_var = find_among(z, a_1, 4); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 77 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 78 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 79 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 80 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 80 */ if (ret < 0) return ret; } break; @@ -594,53 +588,50 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 89 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 92 */ among_var = find_among_b(z, a_4, 43); /* substring, line 92 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 92 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 96 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 96 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 99 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 99 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 100 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 100 */ z->ket = z->c; /* [, line 100 */ - if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m1; goto lab0; } /* literal, line 100 */ z->bra = z->c; /* ], line 100 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 100 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 100 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 100 */ + { int ret = r_R2(z); /* call R2, line 100 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 100 */ @@ -648,8 +639,8 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab1; lab2: - z->c = z->l - m1; - { int ret = slice_from_s(z, 3, s_15); /* <-, line 100 */ + z->c = z->l - m2; + { int ret = slice_from_s(z, 3, s_9); /* <-, line 100 */ if (ret < 0) return ret; } } @@ -659,60 +650,55 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 104 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 104 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_16); /* <-, line 104 */ + { int ret = slice_from_s(z, 3, s_10); /* <-, line 104 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 107 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 107 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_17); /* <-, line 107 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 107 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 110 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 110 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_18); /* <-, line 110 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 110 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 114 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 114 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 114 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 115 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 115 */ z->ket = z->c; /* [, line 116 */ among_var = find_among_b(z, a_2, 6); /* substring, line 116 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab3; } + if (!(among_var)) { z->c = z->l - m3; goto lab3; } z->bra = z->c; /* ], line 116 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab3; } + switch (among_var) { /* among, line 116 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 117 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 117 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m3; goto lab3; } /* literal, line 117 */ z->bra = z->c; /* ], line 117 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 117 */ @@ -720,9 +706,9 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 2: - { int m2 = z->l - z->c; (void)m2; /* or, line 118 */ - { int ret = r_R2(z); - if (ret == 0) goto lab5; /* call R2, line 118 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 118 */ + { int ret = r_R2(z); /* call R2, line 118 */ + if (ret == 0) goto lab5; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 118 */ @@ -730,20 +716,20 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab4; lab5: - z->c = z->l - m2; - { int ret = r_R1(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R1, line 118 */ + z->c = z->l - m4; + { int ret = r_R1(z); /* call R1, line 118 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 3, s_20); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_14); /* <-, line 118 */ if (ret < 0) return ret; } } lab4: break; case 3: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 120 */ + { int ret = r_R2(z); /* call R2, line 120 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 120 */ @@ -751,11 +737,11 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 4: - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call RV, line 122 */ + { int ret = r_RV(z); /* call RV, line 122 */ + if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 1, s_21); /* <-, line 122 */ + { int ret = slice_from_s(z, 1, s_15); /* <-, line 122 */ if (ret < 0) return ret; } break; @@ -765,25 +751,23 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 129 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 129 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 129 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 130 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 130 */ z->ket = z->c; /* [, line 131 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab6; } - among_var = find_among_b(z, a_3, 3); /* substring, line 131 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab6; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 131 */ + among_var = find_among_b(z, a_3, 3); + if (!(among_var)) { z->c = z->l - m5; goto lab6; } z->bra = z->c; /* ], line 131 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab6; } + switch (among_var) { /* among, line 131 */ case 1: - { int m3 = z->l - z->c; (void)m3; /* or, line 132 */ - { int ret = r_R2(z); - if (ret == 0) goto lab8; /* call R2, line 132 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 132 */ + { int ret = r_R2(z); /* call R2, line 132 */ + if (ret == 0) goto lab8; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 132 */ @@ -791,17 +775,17 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab7; lab8: - z->c = z->l - m3; - { int ret = slice_from_s(z, 3, s_22); /* <-, line 132 */ + z->c = z->l - m6; + { int ret = slice_from_s(z, 3, s_16); /* <-, line 132 */ if (ret < 0) return ret; } } lab7: break; case 2: - { int m4 = z->l - z->c; (void)m4; /* or, line 133 */ - { int ret = r_R2(z); - if (ret == 0) goto lab10; /* call R2, line 133 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 133 */ + { int ret = r_R2(z); /* call R2, line 133 */ + if (ret == 0) goto lab10; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 133 */ @@ -809,16 +793,16 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab9; lab10: - z->c = z->l - m4; - { int ret = slice_from_s(z, 3, s_23); /* <-, line 133 */ + z->c = z->l - m7; + { int ret = slice_from_s(z, 3, s_17); /* <-, line 133 */ if (ret < 0) return ret; } } lab9: break; case 3: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call R2, line 134 */ + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ @@ -831,30 +815,29 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 141 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 141 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 141 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 142 */ + { int m8 = z->l - z->c; (void)m8; /* try, line 142 */ z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m_keep; goto lab11; } + if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ z->bra = z->c; /* ], line 142 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab11; } /* call R2, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) { z->c = z->l - m8; goto lab11; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m_keep; goto lab11; } + if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ z->bra = z->c; /* ], line 142 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 142 */ - { int ret = r_R2(z); - if (ret == 0) goto lab13; /* call R2, line 142 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 142 */ + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ @@ -862,8 +845,8 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab12; lab13: - z->c = z->l - m5; - { int ret = slice_from_s(z, 3, s_26); /* <-, line 142 */ + z->c = z->l - m9; + { int ret = slice_from_s(z, 3, s_20); /* <-, line 142 */ if (ret < 0) return ret; } } @@ -873,23 +856,22 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 9: - { int ret = slice_from_s(z, 3, s_27); /* <-, line 144 */ + { int ret = slice_from_s(z, 3, s_21); /* <-, line 144 */ if (ret < 0) return ret; } break; case 10: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 145 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 145 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_28); /* <-, line 145 */ + { int ret = slice_from_s(z, 2, s_22); /* <-, line 145 */ if (ret < 0) return ret; } break; case 11: - { int m6 = z->l - z->c; (void)m6; /* or, line 147 */ - { int ret = r_R2(z); - if (ret == 0) goto lab15; /* call R2, line 147 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 147 */ + { int ret = r_R2(z); /* call R2, line 147 */ + if (ret == 0) goto lab15; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 147 */ @@ -897,55 +879,50 @@ static int r_standard_suffix(struct SN_env * z) { } goto lab14; lab15: - z->c = z->l - m6; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 147 */ - if (ret < 0) return ret; + z->c = z->l - m10; + { int ret = r_R1(z); /* call R1, line 147 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_29); /* <-, line 147 */ + { int ret = slice_from_s(z, 3, s_23); /* <-, line 147 */ if (ret < 0) return ret; } } lab14: break; case 12: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 150 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 150 */ + if (ret <= 0) return ret; } - if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0; + if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* non v, line 150 */ { int ret = slice_del(z); /* delete, line 150 */ if (ret < 0) return ret; } break; case 13: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 155 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 155 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_30); /* <-, line 155 */ + { int ret = slice_from_s(z, 3, s_24); /* <-, line 155 */ if (ret < 0) return ret; } return 0; /* fail, line 155 */ break; case 14: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 156 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 156 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_31); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_25); /* <-, line 156 */ if (ret < 0) return ret; } return 0; /* fail, line 156 */ break; case 15: - { int m_test = z->l - z->c; /* test, line 158 */ - if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 158 */ - if (ret < 0) return ret; + { int m_test11 = z->l - z->c; /* test, line 158 */ + if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 158 */ + { int ret = r_RV(z); /* call RV, line 158 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test11; } { int ret = slice_del(z); /* delete, line 158 */ if (ret < 0) return ret; @@ -956,50 +933,38 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_i_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 163 */ - int m1 = z->l - z->c; (void)m1; +static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 163 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 163 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 164 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_5, 35); /* substring, line 164 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 164 */ + if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 164 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit; return 0; } - { int ret = slice_del(z); /* delete, line 170 */ - if (ret < 0) return ret; - } - break; + if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 170 */ + { int ret = slice_del(z); /* delete, line 170 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 174 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 174 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 174 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 175 */ among_var = find_among_b(z, a_6, 38); /* substring, line 175 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 175 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 175 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 177 */ + { int ret = r_R2(z); /* call R2, line 177 */ + if (ret == 0) { z->lb = mlimit1; return 0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 177 */ @@ -1015,9 +980,10 @@ static int r_verb_suffix(struct SN_env * z) { { int ret = slice_del(z); /* delete, line 190 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 191 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 191 */ z->ket = z->c; /* [, line 191 */ - if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 191 */ + z->c--; z->bra = z->c; /* ], line 191 */ { int ret = slice_del(z); /* delete, line 191 */ if (ret < 0) return ret; @@ -1027,20 +993,21 @@ static int r_verb_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_residual_suffix(struct SN_env * z) { +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 199 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 199 */ z->ket = z->c; /* [, line 199 */ - if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 199 */ + z->c--; z->bra = z->c; /* ], line 199 */ - { int m_test = z->l - z->c; /* test, line 199 */ - if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 199 */ + if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 199 */ + z->c = z->l - m_test2; } { int ret = slice_del(z); /* delete, line 199 */ if (ret < 0) return ret; @@ -1048,29 +1015,28 @@ static int r_residual_suffix(struct SN_env * z) { lab0: ; } - { int mlimit; /* setlimit, line 200 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit3; /* setlimit, line 200 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 200 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit3 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 201 */ among_var = find_among_b(z, a_7, 7); /* substring, line 201 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit3; return 0; } z->bra = z->c; /* ], line 201 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 201 */ case 1: - { int ret = r_R2(z); - if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 202 */ + { int ret = r_R2(z); /* call R2, line 202 */ + if (ret == 0) { z->lb = mlimit3; return 0; } if (ret < 0) return ret; } - { int m2 = z->l - z->c; (void)m2; /* or, line 202 */ - if (!(eq_s_b(z, 1, s_34))) goto lab2; + { int m4 = z->l - z->c; (void)m4; /* or, line 202 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2; /* literal, line 202 */ + z->c--; goto lab1; lab2: - z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_35))) { z->lb = mlimit; return 0; } + z->c = z->l - m4; + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit3; return 0; } /* literal, line 202 */ + z->c--; } lab1: { int ret = slice_del(z); /* delete, line 202 */ @@ -1078,7 +1044,7 @@ static int r_residual_suffix(struct SN_env * z) { } break; case 2: - { int ret = slice_from_s(z, 1, s_36); /* <-, line 204 */ + { int ret = slice_from_s(z, 1, s_26); /* <-, line 204 */ if (ret < 0) return ret; } break; @@ -1088,22 +1054,22 @@ static int r_residual_suffix(struct SN_env * z) { } break; case 4: - if (!(eq_s_b(z, 2, s_37))) { z->lb = mlimit; return 0; } + if (!(eq_s_b(z, 2, s_27))) { z->lb = mlimit3; return 0; } /* literal, line 206 */ { int ret = slice_del(z); /* delete, line 206 */ if (ret < 0) return ret; } break; } - z->lb = mlimit; + z->lb = mlimit3; } return 1; } -static int r_un_double(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 212 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_8, 5))) return 0; /* among, line 212 */ - z->c = z->l - m_test; +static int r_un_double(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 212 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 212 */ + if (!(find_among_b(z, a_8, 5))) return 0; + z->c = z->l - m_test1; } z->ket = z->c; /* [, line 212 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); @@ -1117,10 +1083,10 @@ static int r_un_double(struct SN_env * z) { return 1; } -static int r_un_accent(struct SN_env * z) { +static int r_un_accent(struct SN_env * z) { /* backwardmode */ { int i = 1; while(1) { /* atleast, line 216 */ - if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; + if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 216 */ i--; continue; lab0: @@ -1130,78 +1096,77 @@ static int r_un_accent(struct SN_env * z) { } z->ket = z->c; /* [, line 217 */ { int m1 = z->l - z->c; (void)m1; /* or, line 217 */ - if (!(eq_s_b(z, 2, s_38))) goto lab2; + if (!(eq_s_b(z, 2, s_28))) goto lab2; /* literal, line 217 */ goto lab1; lab2: z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_39))) return 0; + if (!(eq_s_b(z, 2, s_29))) return 0; /* literal, line 217 */ } lab1: z->bra = z->c; /* ], line 217 */ - { int ret = slice_from_s(z, 1, s_40); /* <-, line 217 */ + { int ret = slice_from_s(z, 1, s_30); /* <-, line 217 */ if (ret < 0) return ret; } return 1; } -extern int french_UTF_8_stem(struct SN_env * z) { +extern int french_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 223 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, line 223 */ + { int ret = r_prelude(z); /* call prelude, line 223 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - { int c2 = z->c; /* do, line 224 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 224 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* do, line 224 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 224 */ + if (ret == 0) goto lab1; + if (ret < 0) return ret; } +lab1: z->lb = z->c; z->c = z->l; /* backwards, line 225 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 227 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 237 */ - { int m5 = z->l - z->c; (void)m5; /* and, line 233 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 229 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab6; /* call standard_suffix, line 229 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 227 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 237 */ + { int m4 = z->l - z->c; (void)m4; /* and, line 233 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 229 */ + { int ret = r_standard_suffix(z); /* call standard_suffix, line 229 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } goto lab5; lab6: - z->c = z->l - m6; - { int ret = r_i_verb_suffix(z); - if (ret == 0) goto lab7; /* call i_verb_suffix, line 230 */ + z->c = z->l - m5; + { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 230 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } goto lab5; lab7: - z->c = z->l - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 231 */ + z->c = z->l - m5; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: - z->c = z->l - m5; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 234 */ + z->c = z->l - m4; + { int m6 = z->l - z->c; (void)m6; /* try, line 234 */ z->ket = z->c; /* [, line 234 */ { int m7 = z->l - z->c; (void)m7; /* or, line 234 */ - if (!(eq_s_b(z, 1, s_41))) goto lab10; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 234 */ + z->c--; z->bra = z->c; /* ], line 234 */ - { int ret = slice_from_s(z, 1, s_42); /* <-, line 234 */ + { int ret = slice_from_s(z, 1, s_31); /* <-, line 234 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - if (!(eq_s_b(z, 2, s_43))) { z->c = z->l - m_keep; goto lab8; } + if (!(eq_s_b(z, 2, s_32))) { z->c = z->l - m6; goto lab8; } /* literal, line 235 */ z->bra = z->c; /* ], line 235 */ - { int ret = slice_from_s(z, 1, s_44); /* <-, line 235 */ + { int ret = slice_from_s(z, 1, s_33); /* <-, line 235 */ if (ret < 0) return ret; } } @@ -1212,27 +1177,27 @@ extern int french_UTF_8_stem(struct SN_env * z) { } goto lab3; lab4: - z->c = z->l - m4; - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab2; /* call residual_suffix, line 238 */ + z->c = z->l - m3; + { int ret = r_residual_suffix(z); /* call residual_suffix, line 238 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } { int m8 = z->l - z->c; (void)m8; /* do, line 243 */ - { int ret = r_un_double(z); - if (ret == 0) goto lab11; /* call un_double, line 243 */ + { int ret = r_un_double(z); /* call un_double, line 243 */ + 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 244 */ - { int ret = r_un_accent(z); - if (ret == 0) goto lab12; /* call un_accent, line 244 */ + { int ret = r_un_accent(z); /* call un_accent, line 244 */ + if (ret == 0) goto lab12; if (ret < 0) return ret; } lab12: @@ -1240,8 +1205,8 @@ extern int french_UTF_8_stem(struct SN_env * z) { } z->c = z->lb; { int c10 = z->c; /* do, line 246 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab13; /* call postlude, line 246 */ + { int ret = r_postlude(z); /* call postlude, line 246 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } lab13: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_german.c b/src/backend/snowball/libstemmer/stem_UTF_8_german.c index 5d406e5092..1a8b5924b4 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_german.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_german.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -36,12 +36,12 @@ static const symbol s_0_5[2] = { 0xC3, 0xBC }; static const struct among a_0[6] = { -/* 0 */ { 0, 0, -1, 6, 0}, +/* 0 */ { 0, 0, -1, 5, 0}, /* 1 */ { 1, s_0_1, 0, 2, 0}, /* 2 */ { 1, s_0_2, 0, 1, 0}, /* 3 */ { 2, s_0_3, 0, 3, 0}, /* 4 */ { 2, s_0_4, 0, 4, 0}, -/* 5 */ { 2, s_0_5, 0, 5, 0} +/* 5 */ { 2, s_0_5, 0, 2, 0} }; static const symbol s_1_0[1] = { 'e' }; @@ -54,13 +54,13 @@ static const symbol s_1_6[2] = { 'e', 's' }; static const struct among a_1[7] = { -/* 0 */ { 1, s_1_0, -1, 1, 0}, +/* 0 */ { 1, s_1_0, -1, 2, 0}, /* 1 */ { 2, s_1_1, -1, 1, 0}, -/* 2 */ { 2, s_1_2, -1, 1, 0}, +/* 2 */ { 2, s_1_2, -1, 2, 0}, /* 3 */ { 3, s_1_3, -1, 1, 0}, /* 4 */ { 2, s_1_4, -1, 1, 0}, -/* 5 */ { 1, s_1_5, -1, 2, 0}, -/* 6 */ { 2, s_1_6, 5, 1, 0} +/* 5 */ { 1, s_1_5, -1, 3, 0}, +/* 6 */ { 2, s_1_6, 5, 2, 0} }; static const symbol s_2_0[2] = { 'e', 'n' }; @@ -114,168 +114,160 @@ static const unsigned char g_st_ending[] = { 117, 30, 4 }; static const symbol s_0[] = { 0xC3, 0x9F }; static const symbol s_1[] = { 's', 's' }; -static const symbol s_2[] = { 'u' }; -static const symbol s_3[] = { 'U' }; +static const symbol s_2[] = { 'U' }; +static const symbol s_3[] = { 'Y' }; static const symbol s_4[] = { 'y' }; -static const symbol s_5[] = { 'Y' }; -static const symbol s_6[] = { 'y' }; -static const symbol s_7[] = { 'u' }; -static const symbol s_8[] = { 'a' }; -static const symbol s_9[] = { 'o' }; -static const symbol s_10[] = { 'u' }; -static const symbol s_11[] = { 'i', 'g' }; -static const symbol s_12[] = { 'e' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'e', 'r' }; -static const symbol s_15[] = { 'e', 'n' }; +static const symbol s_5[] = { 'u' }; +static const symbol s_6[] = { 'a' }; +static const symbol s_7[] = { 'o' }; +static const symbol s_8[] = { 'n', 'i', 's' }; +static const symbol s_9[] = { 'i', 'g' }; +static const symbol s_10[] = { 'e', 'r' }; +static const symbol s_11[] = { 'e', 'n' }; -static int r_prelude(struct SN_env * z) { - { int c_test = z->c; /* test, line 30 */ - while(1) { /* repeat, line 30 */ - int c1 = z->c; - { int c2 = z->c; /* or, line 33 */ - z->bra = z->c; /* [, line 32 */ - if (!(eq_s(z, 2, s_0))) goto lab2; - z->ket = z->c; /* ], line 32 */ - { int ret = slice_from_s(z, 2, s_1); /* <-, line 32 */ +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; + { 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 */ + z->ket = z->c; /* ], line 37 */ + { int ret = slice_from_s(z, 2, s_1); /* <-, line 37 */ if (ret < 0) return ret; } goto lab1; lab2: - z->c = c2; + z->c = c3; { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; - z->c = ret; /* next, line 33 */ + z->c = ret; /* next, line 38 */ } } lab1: continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } - while(1) { /* repeat, line 36 */ - int c3 = z->c; - while(1) { /* goto, line 36 */ - int c4 = z->c; - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab4; - z->bra = z->c; /* [, line 37 */ - { int c5 = z->c; /* or, line 37 */ - if (!(eq_s(z, 1, s_2))) goto lab6; - z->ket = z->c; /* ], line 37 */ - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab6; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 37 */ + while(1) { /* repeat, line 41 */ + 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 */ + z->bra = z->c; /* [, line 42 */ + { int c6 = z->c; /* or, line 42 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab6; /* literal, line 42 */ + z->c++; + z->ket = z->c; /* ], line 42 */ + if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab6; /* grouping v, line 42 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 42 */ if (ret < 0) return ret; } goto lab5; lab6: - z->c = c5; - if (!(eq_s(z, 1, s_4))) goto lab4; - z->ket = z->c; /* ], line 38 */ - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab4; - { int ret = slice_from_s(z, 1, s_5); /* <-, line 38 */ + z->c = c6; + if (z->c == z->l || z->p[z->c] != 'y') goto lab4; /* literal, line 43 */ + z->c++; + z->ket = z->c; /* ], line 43 */ + if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab4; /* grouping v, line 43 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 43 */ if (ret < 0) return ret; } } lab5: - z->c = c4; + z->c = c5; break; lab4: - z->c = c4; + z->c = c5; { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab3; - z->c = ret; /* goto, line 36 */ + z->c = ret; /* goto, line 41 */ } } continue; lab3: - z->c = c3; + z->c = c4; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - { int c_test = z->c; /* test, line 47 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 49 */ + z->I[1] = z->l; /* $p2 = , line 50 */ + { int c_test1 = z->c; /* test, line 52 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 52 */ if (ret < 0) return 0; - z->c = ret; /* hop, line 47 */ + z->c = ret; } - z->I[2] = z->c; /* setmark x, line 47 */ - z->c = c_test; + z->I[2] = z->c; /* setmark x, line 52 */ + z->c = c_test1; } - { /* gopast */ /* grouping v, line 49 */ + { /* gopast */ /* grouping v, line 54 */ int ret = out_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - { /* gopast */ /* non v, line 49 */ + { /* gopast */ /* non v, line 54 */ int ret = in_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - z->I[0] = z->c; /* setmark p1, line 49 */ - /* try, line 50 */ - if (!(z->I[0] < z->I[2])) goto lab0; - z->I[0] = z->I[2]; + z->I[0] = z->c; /* setmark p1, line 54 */ + /* try, line 55 */ + if (!(z->I[0] < z->I[2])) goto lab0; /* $( < ), line 55 */ + z->I[0] = z->I[2]; /* $p1 = , line 55 */ lab0: - { /* gopast */ /* grouping v, line 51 */ + { /* gopast */ /* grouping v, line 56 */ int ret = out_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - { /* gopast */ /* non v, line 51 */ + { /* gopast */ /* non v, line 56 */ int ret = in_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) return 0; z->c += ret; } - z->I[1] = z->c; /* setmark p2, line 51 */ + z->I[1] = z->c; /* setmark p2, line 56 */ return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; - while(1) { /* repeat, line 55 */ + while(1) { /* repeat, line 60 */ int c1 = z->c; - z->bra = z->c; /* [, line 57 */ - among_var = find_among(z, a_0, 6); /* substring, line 57 */ + z->bra = z->c; /* [, line 62 */ + among_var = find_among(z, a_0, 6); /* substring, line 62 */ if (!(among_var)) goto lab0; - z->ket = z->c; /* ], line 57 */ - switch(among_var) { - case 0: goto lab0; + z->ket = z->c; /* ], line 62 */ + switch (among_var) { /* among, line 62 */ case 1: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 58 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 63 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 59 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 64 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 65 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 1, s_9); /* <-, line 61 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 66 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 62 */ - if (ret < 0) return ret; - } - break; - case 6: { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; - z->c = ret; /* next, line 63 */ + z->c = ret; /* next, line 68 */ } break; } @@ -287,38 +279,54 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 75 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 76 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* do, line 74 */ - z->ket = z->c; /* [, line 75 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; - among_var = find_among_b(z, a_1, 7); /* substring, line 75 */ + { int m1 = z->l - z->c; (void)m1; /* do, line 79 */ + z->ket = z->c; /* [, line 80 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 80 */ + among_var = find_among_b(z, a_1, 7); if (!(among_var)) goto lab0; - z->bra = z->c; /* ], line 75 */ - { int ret = r_R1(z); - if (ret == 0) goto lab0; /* call R1, line 75 */ + z->bra = z->c; /* ], line 80 */ + { int ret = r_R1(z); /* call R1, line 80 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 80 */ case 1: - { int ret = slice_del(z); /* delete, line 77 */ + { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b_U(z, g_s_ending, 98, 116, 0)) goto lab0; - { int ret = slice_del(z); /* delete, line 80 */ + { int ret = slice_del(z); /* delete, line 85 */ + if (ret < 0) return ret; + } + { int m2 = z->l - z->c; (void)m2; /* try, line 86 */ + z->ket = z->c; /* [, line 86 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m2; goto lab1; } /* literal, line 86 */ + z->c--; + z->bra = z->c; /* ], line 86 */ + if (!(eq_s_b(z, 3, s_8))) { z->c = z->l - m2; goto lab1; } /* literal, line 86 */ + { int ret = slice_del(z); /* delete, line 86 */ + if (ret < 0) return ret; + } + lab1: + ; + } + break; + case 3: + if (in_grouping_b_U(z, g_s_ending, 98, 116, 0)) goto lab0; /* grouping s_ending, line 89 */ + { int ret = slice_del(z); /* delete, line 89 */ if (ret < 0) return ret; } break; @@ -326,179 +334,171 @@ static int r_standard_suffix(struct SN_env * z) { lab0: z->c = z->l - m1; } - { int m2 = z->l - z->c; (void)m2; /* do, line 84 */ - z->ket = z->c; /* [, line 85 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1; - among_var = find_among_b(z, a_2, 4); /* substring, line 85 */ - if (!(among_var)) goto lab1; - z->bra = z->c; /* ], line 85 */ - { int ret = r_R1(z); - if (ret == 0) goto lab1; /* call R1, line 85 */ - if (ret < 0) return ret; - } - switch(among_var) { - case 0: goto lab1; - case 1: - { int ret = slice_del(z); /* delete, line 87 */ - if (ret < 0) return ret; - } - break; - case 2: - if (in_grouping_b_U(z, g_st_ending, 98, 116, 0)) goto lab1; - { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 3); - if (ret < 0) goto lab1; - z->c = ret; /* hop, line 90 */ - } - { int ret = slice_del(z); /* delete, line 90 */ - if (ret < 0) return ret; - } - break; - } - lab1: - z->c = z->l - m2; - } - { int m3 = z->l - z->c; (void)m3; /* do, line 94 */ - z->ket = z->c; /* [, line 95 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2; - among_var = find_among_b(z, a_4, 8); /* substring, line 95 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 93 */ + z->ket = z->c; /* [, line 94 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2; /* substring, line 94 */ + among_var = find_among_b(z, a_2, 4); if (!(among_var)) goto lab2; - z->bra = z->c; /* ], line 95 */ - { int ret = r_R2(z); - if (ret == 0) goto lab2; /* call R2, line 95 */ + z->bra = z->c; /* ], line 94 */ + { int ret = r_R1(z); /* call R1, line 94 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } - switch(among_var) { - case 0: goto lab2; + switch (among_var) { /* among, line 94 */ case 1: - { int ret = slice_del(z); /* delete, line 97 */ + { int ret = slice_del(z); /* delete, line 96 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 98 */ - z->ket = z->c; /* [, line 98 */ - if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab3; } - z->bra = z->c; /* ], line 98 */ - { int m4 = z->l - z->c; (void)m4; /* not, line 98 */ - if (!(eq_s_b(z, 1, s_12))) goto lab4; - { z->c = z->l - m_keep; goto lab3; } - lab4: - z->c = z->l - m4; - } - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 98 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 98 */ - if (ret < 0) return ret; - } - lab3: - ; - } break; case 2: - { int m5 = z->l - z->c; (void)m5; /* not, line 101 */ - if (!(eq_s_b(z, 1, s_13))) goto lab5; - goto lab2; - lab5: - z->c = z->l - m5; + if (in_grouping_b_U(z, g_st_ending, 98, 116, 0)) goto lab2; /* grouping st_ending, line 99 */ + { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 3); /* hop, line 99 */ + if (ret < 0) goto lab2; + z->c = ret; } - { int ret = slice_del(z); /* delete, line 101 */ + { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } break; - case 3: - { int ret = slice_del(z); /* delete, line 104 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 105 */ - z->ket = z->c; /* [, line 106 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 106 */ - if (!(eq_s_b(z, 2, s_14))) goto lab8; - goto lab7; - lab8: - z->c = z->l - m6; - if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab6; } - } - lab7: - z->bra = z->c; /* ], line 106 */ - { int ret = r_R1(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call R1, line 106 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 106 */ - if (ret < 0) return ret; - } - lab6: - ; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 110 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ - z->ket = z->c; /* [, line 112 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m_keep; goto lab9; } - among_var = find_among_b(z, a_3, 2); /* substring, line 112 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab9; } - z->bra = z->c; /* ], line 112 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab9; } /* call R2, line 112 */ - if (ret < 0) return ret; - } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab9; } - case 1: - { int ret = slice_del(z); /* delete, line 114 */ - if (ret < 0) return ret; - } - break; - } - lab9: - ; - } - break; } lab2: z->c = z->l - m3; } + { int m4 = z->l - z->c; (void)m4; /* do, line 103 */ + z->ket = z->c; /* [, line 104 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 104 */ + among_var = find_among_b(z, a_4, 8); + if (!(among_var)) goto lab3; + z->bra = z->c; /* ], line 104 */ + { int ret = r_R2(z); /* call R2, line 104 */ + if (ret == 0) goto lab3; + if (ret < 0) return ret; + } + switch (among_var) { /* among, line 104 */ + case 1: + { int ret = slice_del(z); /* delete, line 106 */ + if (ret < 0) return ret; + } + { int m5 = z->l - z->c; (void)m5; /* try, line 107 */ + z->ket = z->c; /* [, line 107 */ + if (!(eq_s_b(z, 2, s_9))) { z->c = z->l - m5; goto lab4; } /* literal, line 107 */ + z->bra = z->c; /* ], line 107 */ + { int m6 = z->l - z->c; (void)m6; /* not, line 107 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab5; /* literal, line 107 */ + z->c--; + { z->c = z->l - m5; goto lab4; } + lab5: + z->c = z->l - m6; + } + { int ret = r_R2(z); /* call R2, line 107 */ + if (ret == 0) { z->c = z->l - m5; goto lab4; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 107 */ + if (ret < 0) return ret; + } + lab4: + ; + } + break; + case 2: + { int m7 = z->l - z->c; (void)m7; /* not, line 110 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6; /* literal, line 110 */ + z->c--; + goto lab3; + lab6: + z->c = z->l - m7; + } + { int ret = slice_del(z); /* delete, line 110 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_del(z); /* delete, line 113 */ + if (ret < 0) return ret; + } + { int m8 = z->l - z->c; (void)m8; /* try, line 114 */ + z->ket = z->c; /* [, line 115 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 115 */ + if (!(eq_s_b(z, 2, s_10))) goto lab9; /* literal, line 115 */ + goto lab8; + lab9: + z->c = z->l - m9; + if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m8; goto lab7; } /* literal, line 115 */ + } + lab8: + z->bra = z->c; /* ], line 115 */ + { int ret = r_R1(z); /* call R1, line 115 */ + if (ret == 0) { z->c = z->l - m8; goto lab7; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 115 */ + if (ret < 0) return ret; + } + lab7: + ; + } + break; + case 4: + { int ret = slice_del(z); /* delete, line 119 */ + if (ret < 0) return ret; + } + { int m10 = z->l - z->c; (void)m10; /* try, line 120 */ + z->ket = z->c; /* [, line 121 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m10; goto lab10; } /* substring, line 121 */ + if (!(find_among_b(z, a_3, 2))) { z->c = z->l - m10; goto lab10; } + z->bra = z->c; /* ], line 121 */ + { int ret = r_R2(z); /* call R2, line 121 */ + if (ret == 0) { z->c = z->l - m10; goto lab10; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 123 */ + if (ret < 0) return ret; + } + lab10: + ; + } + break; + } + lab3: + z->c = z->l - m4; + } return 1; } -extern int german_UTF_8_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 125 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, line 125 */ +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 126 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 126 */ + { 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 127 */ + z->lb = z->c; z->c = z->l; /* backwards, line 136 */ - { int m3 = z->l - z->c; (void)m3; /* do, line 128 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab2; /* call standard_suffix, line 128 */ - if (ret < 0) return ret; - } - lab2: - z->c = z->l - m3; + /* 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 c4 = z->c; /* do, line 129 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab3; /* call postlude, line 129 */ + { 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 = c4; + z->c = c3; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c b/src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c index e40df8e6c1..d8ae15aeab 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -123,7 +123,7 @@ static const symbol s_3_1[2] = { 'e', 'l' }; static const struct among a_3[2] = { /* 0 */ { 2, s_3_0, -1, 1, 0}, -/* 1 */ { 2, s_3_1, -1, 2, 0} +/* 1 */ { 2, s_3_1, -1, 1, 0} }; static const symbol s_4_0[2] = { 'b', 'a' }; @@ -136,14 +136,14 @@ static const symbol s_4_6[3] = { 'n', 'e', 'k' }; static const symbol s_4_7[3] = { 'v', 'a', 'l' }; static const symbol s_4_8[3] = { 'v', 'e', 'l' }; static const symbol s_4_9[2] = { 'u', 'l' }; -static const symbol s_4_10[4] = { 'n', 0xC3, 0xA1, 'l' }; -static const symbol s_4_11[4] = { 'n', 0xC3, 0xA9, 'l' }; -static const symbol s_4_12[4] = { 'b', 0xC3, 0xB3, 'l' }; -static const symbol s_4_13[4] = { 'r', 0xC3, 0xB3, 'l' }; -static const symbol s_4_14[4] = { 't', 0xC3, 0xB3, 'l' }; -static const symbol s_4_15[4] = { 'b', 0xC3, 0xB5, 'l' }; -static const symbol s_4_16[4] = { 'r', 0xC3, 0xB5, 'l' }; -static const symbol s_4_17[4] = { 't', 0xC3, 0xB5, 'l' }; +static const symbol s_4_10[4] = { 'b', 0xC5, 0x91, 'l' }; +static const symbol s_4_11[4] = { 'r', 0xC5, 0x91, 'l' }; +static const symbol s_4_12[4] = { 't', 0xC5, 0x91, 'l' }; +static const symbol s_4_13[4] = { 'n', 0xC3, 0xA1, 'l' }; +static const symbol s_4_14[4] = { 'n', 0xC3, 0xA9, 'l' }; +static const symbol s_4_15[4] = { 'b', 0xC3, 0xB3, 'l' }; +static const symbol s_4_16[4] = { 'r', 0xC3, 0xB3, 'l' }; +static const symbol s_4_17[4] = { 't', 0xC3, 0xB3, 'l' }; static const symbol s_4_18[3] = { 0xC3, 0xBC, 'l' }; static const symbol s_4_19[1] = { 'n' }; static const symbol s_4_20[2] = { 'a', 'n' }; @@ -227,7 +227,7 @@ static const struct among a_5[3] = { /* 0 */ { 3, s_5_0, -1, 2, 0}, /* 1 */ { 3, s_5_1, -1, 1, 0}, -/* 2 */ { 8, s_5_2, -1, 3, 0} +/* 2 */ { 8, s_5_2, -1, 2, 0} }; static const symbol s_6_0[4] = { 's', 't', 'u', 'l' }; @@ -239,12 +239,12 @@ static const symbol s_6_5[7] = { 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l' }; static const struct among a_6[6] = { -/* 0 */ { 4, s_6_0, -1, 2, 0}, +/* 0 */ { 4, s_6_0, -1, 1, 0}, /* 1 */ { 5, s_6_1, 0, 1, 0}, -/* 2 */ { 6, s_6_2, 0, 3, 0}, -/* 3 */ { 5, s_6_3, -1, 2, 0}, +/* 2 */ { 6, s_6_2, 0, 2, 0}, +/* 3 */ { 5, s_6_3, -1, 1, 0}, /* 4 */ { 6, s_6_4, 3, 1, 0}, -/* 5 */ { 7, s_6_5, 3, 4, 0} +/* 5 */ { 7, s_6_5, 3, 3, 0} }; static const symbol s_7_0[2] = { 0xC3, 0xA1 }; @@ -253,7 +253,7 @@ static const symbol s_7_1[2] = { 0xC3, 0xA9 }; static const struct among a_7[2] = { /* 0 */ { 2, s_7_0, -1, 1, 0}, -/* 1 */ { 2, s_7_1, -1, 2, 0} +/* 1 */ { 2, s_7_1, -1, 1, 0} }; static const symbol s_8_0[1] = { 'k' }; @@ -266,10 +266,10 @@ static const symbol s_8_6[3] = { 0xC3, 0xB6, 'k' }; static const struct among a_8[7] = { -/* 0 */ { 1, s_8_0, -1, 7, 0}, -/* 1 */ { 2, s_8_1, 0, 4, 0}, -/* 2 */ { 2, s_8_2, 0, 6, 0}, -/* 3 */ { 2, s_8_3, 0, 5, 0}, +/* 0 */ { 1, s_8_0, -1, 3, 0}, +/* 1 */ { 2, s_8_1, 0, 3, 0}, +/* 2 */ { 2, s_8_2, 0, 3, 0}, +/* 3 */ { 2, s_8_3, 0, 3, 0}, /* 4 */ { 3, s_8_4, 0, 1, 0}, /* 5 */ { 3, s_8_5, 0, 2, 0}, /* 6 */ { 3, s_8_6, 0, 3, 0} @@ -290,18 +290,18 @@ static const symbol s_9_11[4] = { 0xC3, 0xA9, 0xC3, 0xA9 }; static const struct among a_9[12] = { -/* 0 */ { 3, s_9_0, -1, 7, 0}, -/* 1 */ { 5, s_9_1, 0, 6, 0}, -/* 2 */ { 5, s_9_2, 0, 5, 0}, -/* 3 */ { 2, s_9_3, -1, 9, 0}, -/* 4 */ { 3, s_9_4, 3, 4, 0}, +/* 0 */ { 3, s_9_0, -1, 1, 0}, +/* 1 */ { 5, s_9_1, 0, 3, 0}, +/* 2 */ { 5, s_9_2, 0, 2, 0}, +/* 3 */ { 2, s_9_3, -1, 1, 0}, +/* 4 */ { 3, s_9_4, 3, 1, 0}, /* 5 */ { 4, s_9_5, 4, 1, 0}, /* 6 */ { 4, s_9_6, 4, 1, 0}, /* 7 */ { 4, s_9_7, 4, 1, 0}, /* 8 */ { 5, s_9_8, 4, 3, 0}, /* 9 */ { 5, s_9_9, 4, 2, 0}, /* 10 */ { 5, s_9_10, 4, 1, 0}, -/* 11 */ { 4, s_9_11, 3, 8, 0} +/* 11 */ { 4, s_9_11, 3, 2, 0} }; static const symbol s_10_0[1] = { 'a' }; @@ -338,37 +338,37 @@ static const symbol s_10_30[2] = { 0xC3, 0xA9 }; static const struct among a_10[31] = { -/* 0 */ { 1, s_10_0, -1, 18, 0}, -/* 1 */ { 2, s_10_1, 0, 17, 0}, -/* 2 */ { 1, s_10_2, -1, 16, 0}, -/* 3 */ { 2, s_10_3, 2, 13, 0}, -/* 4 */ { 2, s_10_4, 2, 13, 0}, -/* 5 */ { 2, s_10_5, 2, 13, 0}, -/* 6 */ { 3, s_10_6, 2, 14, 0}, -/* 7 */ { 3, s_10_7, 2, 15, 0}, -/* 8 */ { 3, s_10_8, 2, 13, 0}, -/* 9 */ { 1, s_10_9, -1, 18, 0}, -/* 10 */ { 2, s_10_10, 9, 17, 0}, -/* 11 */ { 2, s_10_11, -1, 4, 0}, +/* 0 */ { 1, s_10_0, -1, 1, 0}, +/* 1 */ { 2, s_10_1, 0, 1, 0}, +/* 2 */ { 1, s_10_2, -1, 1, 0}, +/* 3 */ { 2, s_10_3, 2, 1, 0}, +/* 4 */ { 2, s_10_4, 2, 1, 0}, +/* 5 */ { 2, s_10_5, 2, 1, 0}, +/* 6 */ { 3, s_10_6, 2, 2, 0}, +/* 7 */ { 3, s_10_7, 2, 3, 0}, +/* 8 */ { 3, s_10_8, 2, 1, 0}, +/* 9 */ { 1, s_10_9, -1, 1, 0}, +/* 10 */ { 2, s_10_10, 9, 1, 0}, +/* 11 */ { 2, s_10_11, -1, 1, 0}, /* 12 */ { 3, s_10_12, 11, 1, 0}, /* 13 */ { 4, s_10_13, 11, 2, 0}, /* 14 */ { 4, s_10_14, 11, 3, 0}, /* 15 */ { 4, s_10_15, 11, 1, 0}, -/* 16 */ { 2, s_10_16, -1, 8, 0}, -/* 17 */ { 3, s_10_17, 16, 7, 0}, -/* 18 */ { 5, s_10_18, 17, 5, 0}, -/* 19 */ { 3, s_10_19, -1, 8, 0}, -/* 20 */ { 4, s_10_20, 19, 7, 0}, -/* 21 */ { 6, s_10_21, 20, 6, 0}, -/* 22 */ { 1, s_10_22, -1, 12, 0}, -/* 23 */ { 2, s_10_23, 22, 9, 0}, -/* 24 */ { 2, s_10_24, 22, 9, 0}, -/* 25 */ { 2, s_10_25, 22, 9, 0}, -/* 26 */ { 3, s_10_26, 22, 10, 0}, -/* 27 */ { 3, s_10_27, 22, 11, 0}, -/* 28 */ { 1, s_10_28, -1, 18, 0}, -/* 29 */ { 2, s_10_29, -1, 19, 0}, -/* 30 */ { 2, s_10_30, -1, 20, 0} +/* 16 */ { 2, s_10_16, -1, 1, 0}, +/* 17 */ { 3, s_10_17, 16, 1, 0}, +/* 18 */ { 5, s_10_18, 17, 2, 0}, +/* 19 */ { 3, s_10_19, -1, 1, 0}, +/* 20 */ { 4, s_10_20, 19, 1, 0}, +/* 21 */ { 6, s_10_21, 20, 3, 0}, +/* 22 */ { 1, s_10_22, -1, 1, 0}, +/* 23 */ { 2, s_10_23, 22, 1, 0}, +/* 24 */ { 2, s_10_24, 22, 1, 0}, +/* 25 */ { 2, s_10_25, 22, 1, 0}, +/* 26 */ { 3, s_10_26, 22, 2, 0}, +/* 27 */ { 3, s_10_27, 22, 3, 0}, +/* 28 */ { 1, s_10_28, -1, 1, 0}, +/* 29 */ { 2, s_10_29, -1, 2, 0}, +/* 30 */ { 2, s_10_30, -1, 3, 0} }; static const symbol s_11_0[2] = { 'i', 'd' }; @@ -416,97 +416,75 @@ static const symbol s_11_41[4] = { 0xC3, 0xA9, 'i', 'm' }; static const struct among a_11[42] = { -/* 0 */ { 2, s_11_0, -1, 10, 0}, -/* 1 */ { 3, s_11_1, 0, 9, 0}, -/* 2 */ { 4, s_11_2, 1, 6, 0}, -/* 3 */ { 3, s_11_3, 0, 9, 0}, -/* 4 */ { 4, s_11_4, 3, 6, 0}, -/* 5 */ { 4, s_11_5, 0, 7, 0}, -/* 6 */ { 4, s_11_6, 0, 8, 0}, -/* 7 */ { 1, s_11_7, -1, 15, 0}, -/* 8 */ { 2, s_11_8, 7, 14, 0}, -/* 9 */ { 3, s_11_9, 8, 11, 0}, -/* 10 */ { 2, s_11_10, 7, 14, 0}, -/* 11 */ { 3, s_11_11, 10, 11, 0}, -/* 12 */ { 3, s_11_12, 7, 12, 0}, -/* 13 */ { 3, s_11_13, 7, 13, 0}, -/* 14 */ { 4, s_11_14, -1, 24, 0}, -/* 15 */ { 5, s_11_15, 14, 21, 0}, -/* 16 */ { 6, s_11_16, 15, 20, 0}, -/* 17 */ { 6, s_11_17, 14, 23, 0}, -/* 18 */ { 2, s_11_18, -1, 29, 0}, -/* 19 */ { 3, s_11_19, 18, 26, 0}, -/* 20 */ { 4, s_11_20, 19, 25, 0}, -/* 21 */ { 3, s_11_21, 18, 26, 0}, -/* 22 */ { 4, s_11_22, 21, 25, 0}, -/* 23 */ { 4, s_11_23, 18, 27, 0}, -/* 24 */ { 4, s_11_24, 18, 28, 0}, -/* 25 */ { 3, s_11_25, -1, 20, 0}, -/* 26 */ { 4, s_11_26, 25, 17, 0}, -/* 27 */ { 5, s_11_27, 26, 16, 0}, -/* 28 */ { 4, s_11_28, 25, 17, 0}, -/* 29 */ { 5, s_11_29, 28, 16, 0}, -/* 30 */ { 5, s_11_30, 25, 18, 0}, -/* 31 */ { 5, s_11_31, 25, 19, 0}, -/* 32 */ { 5, s_11_32, -1, 21, 0}, -/* 33 */ { 6, s_11_33, 32, 20, 0}, -/* 34 */ { 6, s_11_34, -1, 22, 0}, -/* 35 */ { 2, s_11_35, -1, 5, 0}, -/* 36 */ { 3, s_11_36, 35, 4, 0}, +/* 0 */ { 2, s_11_0, -1, 1, 0}, +/* 1 */ { 3, s_11_1, 0, 1, 0}, +/* 2 */ { 4, s_11_2, 1, 1, 0}, +/* 3 */ { 3, s_11_3, 0, 1, 0}, +/* 4 */ { 4, s_11_4, 3, 1, 0}, +/* 5 */ { 4, s_11_5, 0, 2, 0}, +/* 6 */ { 4, s_11_6, 0, 3, 0}, +/* 7 */ { 1, s_11_7, -1, 1, 0}, +/* 8 */ { 2, s_11_8, 7, 1, 0}, +/* 9 */ { 3, s_11_9, 8, 1, 0}, +/* 10 */ { 2, s_11_10, 7, 1, 0}, +/* 11 */ { 3, s_11_11, 10, 1, 0}, +/* 12 */ { 3, s_11_12, 7, 2, 0}, +/* 13 */ { 3, s_11_13, 7, 3, 0}, +/* 14 */ { 4, s_11_14, -1, 1, 0}, +/* 15 */ { 5, s_11_15, 14, 1, 0}, +/* 16 */ { 6, s_11_16, 15, 1, 0}, +/* 17 */ { 6, s_11_17, 14, 3, 0}, +/* 18 */ { 2, s_11_18, -1, 1, 0}, +/* 19 */ { 3, s_11_19, 18, 1, 0}, +/* 20 */ { 4, s_11_20, 19, 1, 0}, +/* 21 */ { 3, s_11_21, 18, 1, 0}, +/* 22 */ { 4, s_11_22, 21, 1, 0}, +/* 23 */ { 4, s_11_23, 18, 2, 0}, +/* 24 */ { 4, s_11_24, 18, 3, 0}, +/* 25 */ { 3, s_11_25, -1, 1, 0}, +/* 26 */ { 4, s_11_26, 25, 1, 0}, +/* 27 */ { 5, s_11_27, 26, 1, 0}, +/* 28 */ { 4, s_11_28, 25, 1, 0}, +/* 29 */ { 5, s_11_29, 28, 1, 0}, +/* 30 */ { 5, s_11_30, 25, 2, 0}, +/* 31 */ { 5, s_11_31, 25, 3, 0}, +/* 32 */ { 5, s_11_32, -1, 1, 0}, +/* 33 */ { 6, s_11_33, 32, 1, 0}, +/* 34 */ { 6, s_11_34, -1, 2, 0}, +/* 35 */ { 2, s_11_35, -1, 1, 0}, +/* 36 */ { 3, s_11_36, 35, 1, 0}, /* 37 */ { 4, s_11_37, 36, 1, 0}, -/* 38 */ { 3, s_11_38, 35, 4, 0}, +/* 38 */ { 3, s_11_38, 35, 1, 0}, /* 39 */ { 4, s_11_39, 38, 1, 0}, /* 40 */ { 4, s_11_40, 35, 2, 0}, /* 41 */ { 4, s_11_41, 35, 3, 0} }; -static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 }; +static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 }; static const symbol s_0[] = { 'a' }; static const symbol s_1[] = { 'e' }; static const symbol s_2[] = { 'e' }; static const symbol s_3[] = { 'a' }; static const symbol s_4[] = { 'a' }; -static const symbol s_5[] = { 'a' }; -static const symbol s_6[] = { 'e' }; -static const symbol s_7[] = { 'a' }; +static const symbol s_5[] = { 'e' }; +static const symbol s_6[] = { 'a' }; +static const symbol s_7[] = { 'e' }; static const symbol s_8[] = { 'e' }; -static const symbol s_9[] = { 'e' }; +static const symbol s_9[] = { 'a' }; static const symbol s_10[] = { 'a' }; static const symbol s_11[] = { 'e' }; static const symbol s_12[] = { 'a' }; static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'a' }; -static const symbol s_15[] = { 'e' }; -static const symbol s_16[] = { 'a' }; -static const symbol s_17[] = { 'e' }; -static const symbol s_18[] = { 'a' }; -static const symbol s_19[] = { 'e' }; -static const symbol s_20[] = { 'a' }; -static const symbol s_21[] = { 'e' }; -static const symbol s_22[] = { 'a' }; -static const symbol s_23[] = { 'e' }; -static const symbol s_24[] = { 'a' }; -static const symbol s_25[] = { 'e' }; -static const symbol s_26[] = { 'a' }; -static const symbol s_27[] = { 'e' }; -static const symbol s_28[] = { 'a' }; -static const symbol s_29[] = { 'e' }; -static const symbol s_30[] = { 'a' }; -static const symbol s_31[] = { 'e' }; -static const symbol s_32[] = { 'a' }; -static const symbol s_33[] = { 'e' }; -static const symbol s_34[] = { 'a' }; -static const symbol s_35[] = { 'e' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 46 */ { int c1 = z->c; /* or, line 51 */ - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1; - if (in_grouping_U(z, g_v, 97, 252, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */ + if (in_grouping_U(z, g_v, 97, 369, 0)) goto lab1; /* grouping v, line 48 */ + if (in_grouping_U(z, g_v, 97, 369, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */ { int c2 = z->c; /* or, line 49 */ - if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3; - if (!(find_among(z, a_0, 8))) goto lab3; /* among, line 49 */ + if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3; /* among, line 49 */ + if (!(find_among(z, a_0, 8))) goto lab3; goto lab2; lab3: z->c = c2; @@ -520,9 +498,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab0; lab1: z->c = c1; - if (out_grouping_U(z, g_v, 97, 252, 0)) return 0; + if (out_grouping_U(z, g_v, 97, 369, 0)) return 0; /* non v, line 53 */ { /* gopast */ /* grouping v, line 53 */ - int ret = out_grouping_U(z, g_v, 97, 252, 1); + int ret = out_grouping_U(z, g_v, 97, 369, 1); if (ret < 0) return 0; z->c += ret; } @@ -532,24 +510,22 @@ lab0: return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 58 */ return 1; } -static int r_v_ending(struct SN_env * z) { +static int r_v_ending(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 61 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0; - among_var = find_among_b(z, a_1, 2); /* substring, line 61 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0; /* substring, line 61 */ + among_var = find_among_b(z, a_1, 2); if (!(among_var)) return 0; z->bra = z->c; /* ], line 61 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 61 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 61 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 61 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 62 */ if (ret < 0) return ret; @@ -564,24 +540,24 @@ static int r_v_ending(struct SN_env * z) { return 1; } -static int r_double(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 68 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 23))) return 0; /* among, line 68 */ - z->c = z->l - m_test; +static int r_double(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 68 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 68 */ + if (!(find_among_b(z, a_2, 23))) return 0; + z->c = z->l - m_test1; } return 1; } -static int r_undouble(struct SN_env * z) { +static int r_undouble(struct SN_env * z) { /* backwardmode */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; z->c = ret; /* next, line 73 */ } z->ket = z->c; /* [, line 73 */ - { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 1); + { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 1); /* hop, line 73 */ if (ret < 0) return 0; - z->c = ret; /* hop, line 73 */ + z->c = ret; } z->bra = z->c; /* ], line 73 */ { int ret = slice_del(z); /* delete, line 73 */ @@ -590,73 +566,53 @@ static int r_undouble(struct SN_env * z) { return 1; } -static int r_instrum(struct SN_env * z) { - int among_var; +static int r_instrum(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 77 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0; - among_var = find_among_b(z, a_3, 2); /* substring, line 77 */ - if (!(among_var)) return 0; + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0; /* substring, line 77 */ + if (!(find_among_b(z, a_3, 2))) return 0; z->bra = z->c; /* ], line 77 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 77 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 77 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 78 */ - if (ret < 0) return ret; - } - break; - case 2: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 79 */ - if (ret < 0) return ret; - } - break; + { int ret = r_double(z); /* call double, line 78 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 81 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 82 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 82 */ + if (ret <= 0) return ret; } return 1; } -static int r_case(struct SN_env * z) { +static int r_case(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 87 */ if (!(find_among_b(z, a_4, 44))) return 0; /* substring, line 87 */ z->bra = z->c; /* ], line 87 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 87 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 87 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 111 */ if (ret < 0) return ret; } - { int ret = r_v_ending(z); - if (ret == 0) return 0; /* call v_ending, line 112 */ - if (ret < 0) return ret; + { int ret = r_v_ending(z); /* call v_ending, line 112 */ + if (ret <= 0) return ret; } return 1; } -static int r_case_special(struct SN_env * z) { +static int r_case_special(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 116 */ - if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0; - among_var = find_among_b(z, a_5, 3); /* substring, line 116 */ + if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0; /* substring, line 116 */ + among_var = find_among_b(z, a_5, 3); if (!(among_var)) return 0; z->bra = z->c; /* ], line 116 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 116 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 116 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 116 */ case 1: { int ret = slice_from_s(z, 1, s_2); /* <-, line 117 */ if (ret < 0) return ret; @@ -667,45 +623,33 @@ static int r_case_special(struct SN_env * z) { if (ret < 0) return ret; } break; - case 3: - { int ret = slice_from_s(z, 1, s_4); /* <-, line 119 */ - if (ret < 0) return ret; - } - break; } return 1; } -static int r_case_other(struct SN_env * z) { +static int r_case_other(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 124 */ - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0; - among_var = find_among_b(z, a_6, 6); /* substring, line 124 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0; /* substring, line 124 */ + among_var = find_among_b(z, a_6, 6); if (!(among_var)) return 0; z->bra = z->c; /* ], line 124 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 124 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 124 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 124 */ case 1: { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 126 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 127 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 127 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 128 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 128 */ if (ret < 0) return ret; } break; @@ -713,62 +657,44 @@ static int r_case_other(struct SN_env * z) { return 1; } -static int r_factive(struct SN_env * z) { - int among_var; +static int r_factive(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 133 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0; - among_var = find_among_b(z, a_7, 2); /* substring, line 133 */ - if (!(among_var)) return 0; + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0; /* substring, line 133 */ + if (!(find_among_b(z, a_7, 2))) return 0; z->bra = z->c; /* ], line 133 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 133 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 133 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 134 */ - if (ret < 0) return ret; - } - break; - case 2: - { int ret = r_double(z); - if (ret == 0) return 0; /* call double, line 135 */ - if (ret < 0) return ret; - } - break; + { int ret = r_double(z); /* call double, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 137 */ if (ret < 0) return ret; } - { int ret = r_undouble(z); - if (ret == 0) return 0; /* call undouble, line 138 */ - if (ret < 0) return ret; + { int ret = r_undouble(z); /* call undouble, line 138 */ + if (ret <= 0) return ret; } return 1; } -static int r_plural(struct SN_env * z) { +static int r_plural(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 142 */ - if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0; - among_var = find_among_b(z, a_8, 7); /* substring, line 142 */ + if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0; /* substring, line 142 */ + among_var = find_among_b(z, a_8, 7); if (!(among_var)) return 0; z->bra = z->c; /* ], line 142 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 142 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 142 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 142 */ case 1: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 143 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 143 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 144 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 144 */ if (ret < 0) return ret; } break; @@ -777,85 +703,33 @@ static int r_plural(struct SN_env * z) { if (ret < 0) return ret; } break; - case 4: - { int ret = slice_del(z); /* delete, line 146 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_del(z); /* delete, line 147 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_del(z); /* delete, line 148 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 149 */ - if (ret < 0) return ret; - } - break; } return 1; } -static int r_owned(struct SN_env * z) { +static int r_owned(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 154 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0; - among_var = find_among_b(z, a_9, 12); /* substring, line 154 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0; /* substring, line 154 */ + among_var = find_among_b(z, a_9, 12); if (!(among_var)) return 0; z->bra = z->c; /* ], line 154 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 154 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 154 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 154 */ case 1: { int ret = slice_del(z); /* delete, line 155 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_9); /* <-, line 156 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 156 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 157 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 158 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 159 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 160 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 161 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 162 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 163 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 157 */ if (ret < 0) return ret; } break; @@ -863,115 +737,28 @@ static int r_owned(struct SN_env * z) { return 1; } -static int r_sing_owner(struct SN_env * z) { +static int r_sing_owner(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 168 */ among_var = find_among_b(z, a_10, 31); /* substring, line 168 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 168 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 168 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 168 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 168 */ case 1: { int ret = slice_del(z); /* delete, line 169 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_14); /* <-, line 170 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 170 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_15); /* <-, line 171 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 172 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_from_s(z, 1, s_16); /* <-, line 173 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_from_s(z, 1, s_17); /* <-, line 174 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_del(z); /* delete, line 175 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_del(z); /* delete, line 176 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 177 */ - if (ret < 0) return ret; - } - break; - case 10: - { int ret = slice_from_s(z, 1, s_18); /* <-, line 178 */ - if (ret < 0) return ret; - } - break; - case 11: - { int ret = slice_from_s(z, 1, s_19); /* <-, line 179 */ - if (ret < 0) return ret; - } - break; - case 12: - { int ret = slice_del(z); /* delete, line 180 */ - if (ret < 0) return ret; - } - break; - case 13: - { int ret = slice_del(z); /* delete, line 181 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_from_s(z, 1, s_20); /* <-, line 182 */ - if (ret < 0) return ret; - } - break; - case 15: - { int ret = slice_from_s(z, 1, s_21); /* <-, line 183 */ - if (ret < 0) return ret; - } - break; - case 16: - { int ret = slice_del(z); /* delete, line 184 */ - if (ret < 0) return ret; - } - break; - case 17: - { int ret = slice_del(z); /* delete, line 185 */ - if (ret < 0) return ret; - } - break; - case 18: - { int ret = slice_del(z); /* delete, line 186 */ - if (ret < 0) return ret; - } - break; - case 19: - { int ret = slice_from_s(z, 1, s_22); /* <-, line 187 */ - if (ret < 0) return ret; - } - break; - case 20: - { int ret = slice_from_s(z, 1, s_23); /* <-, line 188 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 171 */ if (ret < 0) return ret; } break; @@ -979,161 +766,29 @@ static int r_sing_owner(struct SN_env * z) { return 1; } -static int r_plur_owner(struct SN_env * z) { +static int r_plur_owner(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 193 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_11, 42); /* substring, line 193 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 193 */ + among_var = find_among_b(z, a_11, 42); if (!(among_var)) return 0; z->bra = z->c; /* ], line 193 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 193 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 193 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 193 */ case 1: { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_24); /* <-, line 195 */ + { int ret = slice_from_s(z, 1, s_12); /* <-, line 195 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_25); /* <-, line 196 */ - if (ret < 0) return ret; - } - break; - case 4: - { int ret = slice_del(z); /* delete, line 197 */ - if (ret < 0) return ret; - } - break; - case 5: - { int ret = slice_del(z); /* delete, line 198 */ - if (ret < 0) return ret; - } - break; - case 6: - { int ret = slice_del(z); /* delete, line 199 */ - if (ret < 0) return ret; - } - break; - case 7: - { int ret = slice_from_s(z, 1, s_26); /* <-, line 200 */ - if (ret < 0) return ret; - } - break; - case 8: - { int ret = slice_from_s(z, 1, s_27); /* <-, line 201 */ - if (ret < 0) return ret; - } - break; - case 9: - { int ret = slice_del(z); /* delete, line 202 */ - if (ret < 0) return ret; - } - break; - case 10: - { int ret = slice_del(z); /* delete, line 203 */ - if (ret < 0) return ret; - } - break; - case 11: - { int ret = slice_del(z); /* delete, line 204 */ - if (ret < 0) return ret; - } - break; - case 12: - { int ret = slice_from_s(z, 1, s_28); /* <-, line 205 */ - if (ret < 0) return ret; - } - break; - case 13: - { int ret = slice_from_s(z, 1, s_29); /* <-, line 206 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_del(z); /* delete, line 207 */ - if (ret < 0) return ret; - } - break; - case 15: - { int ret = slice_del(z); /* delete, line 208 */ - if (ret < 0) return ret; - } - break; - case 16: - { int ret = slice_del(z); /* delete, line 209 */ - if (ret < 0) return ret; - } - break; - case 17: - { int ret = slice_del(z); /* delete, line 210 */ - if (ret < 0) return ret; - } - break; - case 18: - { int ret = slice_from_s(z, 1, s_30); /* <-, line 211 */ - if (ret < 0) return ret; - } - break; - case 19: - { int ret = slice_from_s(z, 1, s_31); /* <-, line 212 */ - if (ret < 0) return ret; - } - break; - case 20: - { int ret = slice_del(z); /* delete, line 214 */ - if (ret < 0) return ret; - } - break; - case 21: - { int ret = slice_del(z); /* delete, line 215 */ - if (ret < 0) return ret; - } - break; - case 22: - { int ret = slice_from_s(z, 1, s_32); /* <-, line 216 */ - if (ret < 0) return ret; - } - break; - case 23: - { int ret = slice_from_s(z, 1, s_33); /* <-, line 217 */ - if (ret < 0) return ret; - } - break; - case 24: - { int ret = slice_del(z); /* delete, line 218 */ - if (ret < 0) return ret; - } - break; - case 25: - { int ret = slice_del(z); /* delete, line 219 */ - if (ret < 0) return ret; - } - break; - case 26: - { int ret = slice_del(z); /* delete, line 220 */ - if (ret < 0) return ret; - } - break; - case 27: - { int ret = slice_from_s(z, 1, s_34); /* <-, line 221 */ - if (ret < 0) return ret; - } - break; - case 28: - { int ret = slice_from_s(z, 1, s_35); /* <-, line 222 */ - if (ret < 0) return ret; - } - break; - case 29: - { int ret = slice_del(z); /* delete, line 223 */ + { int ret = slice_from_s(z, 1, s_13); /* <-, line 196 */ if (ret < 0) return ret; } break; @@ -1141,10 +796,10 @@ static int r_plur_owner(struct SN_env * z) { return 1; } -extern int hungarian_UTF_8_stem(struct SN_env * z) { +extern int hungarian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 229 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 229 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 229 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -1153,72 +808,72 @@ extern int hungarian_UTF_8_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call instrum, 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); - if (ret == 0) goto lab2; /* call case, 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); - if (ret == 0) goto lab3; /* call case_special, 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); - if (ret == 0) goto lab4; /* call case_other, 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); - if (ret == 0) goto lab5; /* call factive, 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); - if (ret == 0) goto lab6; /* call owned, 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); - if (ret == 0) goto lab7; /* call sing_owner, 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); - if (ret == 0) goto lab8; /* call plur_owner, 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); - if (ret == 0) goto lab9; /* call plural, line 239 */ + { int ret = r_plural(z); /* call plural, line 239 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } lab9: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c b/src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c new file mode 100644 index 0000000000..846e6e76bf --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c @@ -0,0 +1,414 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int indonesian_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_VOWEL(struct SN_env * z); +static int r_SUFFIX_I_OK(struct SN_env * z); +static int r_SUFFIX_AN_OK(struct SN_env * z); +static int r_SUFFIX_KAN_OK(struct SN_env * z); +static int r_KER(struct SN_env * z); +static int r_remove_suffix(struct SN_env * z); +static int r_remove_second_order_prefix(struct SN_env * z); +static int r_remove_first_order_prefix(struct SN_env * z); +static int r_remove_possessive_pronoun(struct SN_env * z); +static int r_remove_particle(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * indonesian_UTF_8_create_env(void); +extern void indonesian_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[3] = { 'k', 'a', 'h' }; +static const symbol s_0_1[3] = { 'l', 'a', 'h' }; +static const symbol s_0_2[3] = { 'p', 'u', 'n' }; + +static const struct among a_0[3] = +{ +/* 0 */ { 3, s_0_0, -1, 1, 0}, +/* 1 */ { 3, s_0_1, -1, 1, 0}, +/* 2 */ { 3, s_0_2, -1, 1, 0} +}; + +static const symbol s_1_0[3] = { 'n', 'y', 'a' }; +static const symbol s_1_1[2] = { 'k', 'u' }; +static const symbol s_1_2[2] = { 'm', 'u' }; + +static const struct among a_1[3] = +{ +/* 0 */ { 3, s_1_0, -1, 1, 0}, +/* 1 */ { 2, s_1_1, -1, 1, 0}, +/* 2 */ { 2, s_1_2, -1, 1, 0} +}; + +static const symbol s_2_0[1] = { 'i' }; +static const symbol s_2_1[2] = { 'a', 'n' }; +static const symbol s_2_2[3] = { 'k', 'a', 'n' }; + +static const struct among a_2[3] = +{ +/* 0 */ { 1, s_2_0, -1, 1, r_SUFFIX_I_OK}, +/* 1 */ { 2, s_2_1, -1, 1, r_SUFFIX_AN_OK}, +/* 2 */ { 3, s_2_2, 1, 1, r_SUFFIX_KAN_OK} +}; + +static const symbol s_3_0[2] = { 'd', 'i' }; +static const symbol s_3_1[2] = { 'k', 'e' }; +static const symbol s_3_2[2] = { 'm', 'e' }; +static const symbol s_3_3[3] = { 'm', 'e', 'm' }; +static const symbol s_3_4[3] = { 'm', 'e', 'n' }; +static const symbol s_3_5[4] = { 'm', 'e', 'n', 'g' }; +static const symbol s_3_6[4] = { 'm', 'e', 'n', 'y' }; +static const symbol s_3_7[3] = { 'p', 'e', 'm' }; +static const symbol s_3_8[3] = { 'p', 'e', 'n' }; +static const symbol s_3_9[4] = { 'p', 'e', 'n', 'g' }; +static const symbol s_3_10[4] = { 'p', 'e', 'n', 'y' }; +static const symbol s_3_11[3] = { 't', 'e', 'r' }; + +static const struct among a_3[12] = +{ +/* 0 */ { 2, s_3_0, -1, 1, 0}, +/* 1 */ { 2, s_3_1, -1, 2, 0}, +/* 2 */ { 2, s_3_2, -1, 1, 0}, +/* 3 */ { 3, s_3_3, 2, 5, 0}, +/* 4 */ { 3, s_3_4, 2, 1, 0}, +/* 5 */ { 4, s_3_5, 4, 1, 0}, +/* 6 */ { 4, s_3_6, 4, 3, r_VOWEL}, +/* 7 */ { 3, s_3_7, -1, 6, 0}, +/* 8 */ { 3, s_3_8, -1, 2, 0}, +/* 9 */ { 4, s_3_9, 8, 2, 0}, +/* 10 */ { 4, s_3_10, 8, 4, r_VOWEL}, +/* 11 */ { 3, s_3_11, -1, 1, 0} +}; + +static const symbol s_4_0[2] = { 'b', 'e' }; +static const symbol s_4_1[7] = { 'b', 'e', 'l', 'a', 'j', 'a', 'r' }; +static const symbol s_4_2[3] = { 'b', 'e', 'r' }; +static const symbol s_4_3[2] = { 'p', 'e' }; +static const symbol s_4_4[7] = { 'p', 'e', 'l', 'a', 'j', 'a', 'r' }; +static const symbol s_4_5[3] = { 'p', 'e', 'r' }; + +static const struct among a_4[6] = +{ +/* 0 */ { 2, s_4_0, -1, 3, r_KER}, +/* 1 */ { 7, s_4_1, 0, 4, 0}, +/* 2 */ { 3, s_4_2, 0, 3, 0}, +/* 3 */ { 2, s_4_3, -1, 1, 0}, +/* 4 */ { 7, s_4_4, 3, 2, 0}, +/* 5 */ { 3, s_4_5, 3, 1, 0} +}; + +static const unsigned char g_vowel[] = { 17, 65, 16 }; + +static const symbol s_0[] = { 'e', 'r' }; +static const symbol s_1[] = { 's' }; +static const symbol s_2[] = { 's' }; +static const symbol s_3[] = { 'p' }; +static const symbol s_4[] = { 'p' }; +static const symbol s_5[] = { 'a', 'j', 'a', 'r' }; +static const symbol s_6[] = { 'a', 'j', 'a', 'r' }; + +static int r_remove_particle(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 51 */ + if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 104 && z->p[z->c - 1] != 110)) return 0; /* substring, line 51 */ + if (!(find_among_b(z, a_0, 3))) return 0; + z->bra = z->c; /* ], line 51 */ + { int ret = slice_del(z); /* delete, line 52 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 52 */ + return 1; +} + +static int r_remove_possessive_pronoun(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 57 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) return 0; /* substring, line 57 */ + if (!(find_among_b(z, a_1, 3))) return 0; + z->bra = z->c; /* ], line 57 */ + { int ret = slice_del(z); /* delete, line 58 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 58 */ + return 1; +} + +static int r_SUFFIX_KAN_OK(struct SN_env * z) { /* backwardmode */ + /* and, line 85 */ + if (!(z->I[1] != 3)) return 0; /* $( != ), line 85 */ + if (!(z->I[1] != 2)) return 0; /* $( != ), line 85 */ + return 1; +} + +static int r_SUFFIX_AN_OK(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] != 1)) return 0; /* $( != ), line 89 */ + return 1; +} + +static int r_SUFFIX_I_OK(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= 2)) return 0; /* $( <= ), line 93 */ + { int m1 = z->l - z->c; (void)m1; /* not, line 128 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0; /* literal, line 128 */ + z->c--; + return 0; + lab0: + z->c = z->l - m1; + } + return 1; +} + +static int r_remove_suffix(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 132 */ + if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 110)) return 0; /* substring, line 132 */ + if (!(find_among_b(z, a_2, 3))) return 0; + z->bra = z->c; /* ], line 132 */ + { int ret = slice_del(z); /* delete, line 134 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 134 */ + return 1; +} + +static int r_VOWEL(struct SN_env * z) { /* forwardmode */ + if (in_grouping_U(z, g_vowel, 97, 117, 0)) return 0; /* grouping vowel, line 141 */ + return 1; +} + +static int r_KER(struct SN_env * z) { /* forwardmode */ + if (out_grouping_U(z, g_vowel, 97, 117, 0)) return 0; /* non vowel, line 143 */ + if (!(eq_s(z, 2, s_0))) return 0; /* literal, line 143 */ + return 1; +} + +static int r_remove_first_order_prefix(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 146 */ + if (z->c + 1 >= z->l || (z->p[z->c + 1] != 105 && z->p[z->c + 1] != 101)) return 0; /* substring, line 146 */ + among_var = find_among(z, a_3, 12); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 146 */ + switch (among_var) { /* among, line 146 */ + case 1: + { int ret = slice_del(z); /* delete, line 147 */ + if (ret < 0) return ret; + } + z->I[1] = 1; /* $prefix = , line 147 */ + z->I[0] -= 1; /* $measure -= , line 147 */ + break; + case 2: + { int ret = slice_del(z); /* delete, line 148 */ + if (ret < 0) return ret; + } + z->I[1] = 3; /* $prefix = , line 148 */ + z->I[0] -= 1; /* $measure -= , line 148 */ + break; + case 3: + z->I[1] = 1; /* $prefix = , line 149 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 149 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 149 */ + break; + case 4: + z->I[1] = 3; /* $prefix = , line 150 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 150 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 150 */ + break; + case 5: + z->I[1] = 1; /* $prefix = , line 151 */ + z->I[0] -= 1; /* $measure -= , line 151 */ + { int c1 = z->c; /* or, line 151 */ + { int c2 = z->c; /* and, line 151 */ + if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab1; /* grouping vowel, line 151 */ + z->c = c2; + { int ret = slice_from_s(z, 1, s_3); /* <-, line 151 */ + if (ret < 0) return ret; + } + } + goto lab0; + lab1: + z->c = c1; + { int ret = slice_del(z); /* delete, line 151 */ + if (ret < 0) return ret; + } + } + lab0: + break; + case 6: + z->I[1] = 3; /* $prefix = , line 152 */ + z->I[0] -= 1; /* $measure -= , line 152 */ + { int c3 = z->c; /* or, line 152 */ + { int c4 = z->c; /* and, line 152 */ + if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab3; /* grouping vowel, line 152 */ + z->c = c4; + { int ret = slice_from_s(z, 1, s_4); /* <-, line 152 */ + if (ret < 0) return ret; + } + } + goto lab2; + lab3: + z->c = c3; + { int ret = slice_del(z); /* delete, line 152 */ + if (ret < 0) return ret; + } + } + lab2: + break; + } + return 1; +} + +static int r_remove_second_order_prefix(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 162 */ + if (z->c + 1 >= z->l || z->p[z->c + 1] != 101) return 0; /* substring, line 162 */ + among_var = find_among(z, a_4, 6); + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 162 */ + switch (among_var) { /* among, line 162 */ + case 1: + { int ret = slice_del(z); /* delete, line 163 */ + if (ret < 0) return ret; + } + z->I[1] = 2; /* $prefix = , line 163 */ + z->I[0] -= 1; /* $measure -= , line 163 */ + break; + case 2: + { int ret = slice_from_s(z, 4, s_5); /* <-, line 164 */ + if (ret < 0) return ret; + } + z->I[0] -= 1; /* $measure -= , line 164 */ + break; + case 3: + { int ret = slice_del(z); /* delete, line 165 */ + if (ret < 0) return ret; + } + z->I[1] = 4; /* $prefix = , line 165 */ + z->I[0] -= 1; /* $measure -= , line 165 */ + break; + case 4: + { int ret = slice_from_s(z, 4, s_6); /* <-, line 166 */ + if (ret < 0) return ret; + } + z->I[1] = 4; /* $prefix = , line 166 */ + z->I[0] -= 1; /* $measure -= , line 166 */ + break; + } + return 1; +} + +extern int indonesian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + z->I[0] = 0; /* $measure = , line 172 */ + { int c1 = z->c; /* do, line 173 */ + while(1) { /* repeat, line 173 */ + 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; + z->c += ret; + } + z->I[0] += 1; /* $measure += , line 173 */ + continue; + lab1: + z->c = c2; + break; + } + z->c = c1; + } + if (!(z->I[0] > 2)) return 0; /* $( > ), line 174 */ + z->I[1] = 0; /* $prefix = , line 175 */ + z->lb = z->c; z->c = z->l; /* backwards, line 176 */ + + { 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; /* $( > ), 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; + if (!(z->I[0] > 2)) return 0; /* $( > ), line 181 */ + { 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) return ret; + } + { int c7 = z->c; /* do, line 184 */ + { int c_test8 = z->c; /* test, line 185 */ + if (!(z->I[0] > 2)) goto lab6; /* $( > ), 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) return ret; + } + z->c = z->lb; + z->c = c_test8; + } + if (!(z->I[0] > 2)) goto lab6; /* $( > ), 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) return ret; + } + lab6: + z->c = c7; + } + z->c = c_test6; + } + goto lab4; + lab5: + 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; /* $( > ), 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) return ret; + } + z->c = z->lb; + lab8: + z->c = c10; + } + } +lab4: + return 1; +} + +extern struct SN_env * indonesian_UTF_8_create_env(void) { return SN_create_env(0, 2, 0); } + +extern void indonesian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_irish.c b/src/backend/snowball/libstemmer/stem_UTF_8_irish.c new file mode 100644 index 0000000000..239c967c2b --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_irish.c @@ -0,0 +1,490 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int irish_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_verb_sfx(struct SN_env * z); +static int r_deriv(struct SN_env * z); +static int r_noun_sfx(struct SN_env * z); +static int r_mark_regions(struct SN_env * z); +static int r_initial_morph(struct SN_env * z); +static int r_RV(struct SN_env * z); +static int r_R2(struct SN_env * z); +static int r_R1(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * irish_UTF_8_create_env(void); +extern void irish_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[2] = { 'b', '\'' }; +static const symbol s_0_1[2] = { 'b', 'h' }; +static const symbol s_0_2[3] = { 'b', 'h', 'f' }; +static const symbol s_0_3[2] = { 'b', 'p' }; +static const symbol s_0_4[2] = { 'c', 'h' }; +static const symbol s_0_5[2] = { 'd', '\'' }; +static const symbol s_0_6[4] = { 'd', '\'', 'f', 'h' }; +static const symbol s_0_7[2] = { 'd', 'h' }; +static const symbol s_0_8[2] = { 'd', 't' }; +static const symbol s_0_9[2] = { 'f', 'h' }; +static const symbol s_0_10[2] = { 'g', 'c' }; +static const symbol s_0_11[2] = { 'g', 'h' }; +static const symbol s_0_12[2] = { 'h', '-' }; +static const symbol s_0_13[2] = { 'm', '\'' }; +static const symbol s_0_14[2] = { 'm', 'b' }; +static const symbol s_0_15[2] = { 'm', 'h' }; +static const symbol s_0_16[2] = { 'n', '-' }; +static const symbol s_0_17[2] = { 'n', 'd' }; +static const symbol s_0_18[2] = { 'n', 'g' }; +static const symbol s_0_19[2] = { 'p', 'h' }; +static const symbol s_0_20[2] = { 's', 'h' }; +static const symbol s_0_21[2] = { 't', '-' }; +static const symbol s_0_22[2] = { 't', 'h' }; +static const symbol s_0_23[2] = { 't', 's' }; + +static const struct among a_0[24] = +{ +/* 0 */ { 2, s_0_0, -1, 1, 0}, +/* 1 */ { 2, s_0_1, -1, 4, 0}, +/* 2 */ { 3, s_0_2, 1, 2, 0}, +/* 3 */ { 2, s_0_3, -1, 8, 0}, +/* 4 */ { 2, s_0_4, -1, 5, 0}, +/* 5 */ { 2, s_0_5, -1, 1, 0}, +/* 6 */ { 4, s_0_6, 5, 2, 0}, +/* 7 */ { 2, s_0_7, -1, 6, 0}, +/* 8 */ { 2, s_0_8, -1, 9, 0}, +/* 9 */ { 2, s_0_9, -1, 2, 0}, +/* 10 */ { 2, s_0_10, -1, 5, 0}, +/* 11 */ { 2, s_0_11, -1, 7, 0}, +/* 12 */ { 2, s_0_12, -1, 1, 0}, +/* 13 */ { 2, s_0_13, -1, 1, 0}, +/* 14 */ { 2, s_0_14, -1, 4, 0}, +/* 15 */ { 2, s_0_15, -1, 10, 0}, +/* 16 */ { 2, s_0_16, -1, 1, 0}, +/* 17 */ { 2, s_0_17, -1, 6, 0}, +/* 18 */ { 2, s_0_18, -1, 7, 0}, +/* 19 */ { 2, s_0_19, -1, 8, 0}, +/* 20 */ { 2, s_0_20, -1, 3, 0}, +/* 21 */ { 2, s_0_21, -1, 1, 0}, +/* 22 */ { 2, s_0_22, -1, 9, 0}, +/* 23 */ { 2, s_0_23, -1, 3, 0} +}; + +static const symbol s_1_0[7] = { 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_1_1[8] = { 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_1_2[3] = { 'i', 'r', 'e' }; +static const symbol s_1_3[4] = { 'a', 'i', 'r', 'e' }; +static const symbol s_1_4[3] = { 'a', 'b', 'h' }; +static const symbol s_1_5[4] = { 'e', 'a', 'b', 'h' }; +static const symbol s_1_6[3] = { 'i', 'b', 'h' }; +static const symbol s_1_7[4] = { 'a', 'i', 'b', 'h' }; +static const symbol s_1_8[3] = { 'a', 'm', 'h' }; +static const symbol s_1_9[4] = { 'e', 'a', 'm', 'h' }; +static const symbol s_1_10[3] = { 'i', 'm', 'h' }; +static const symbol s_1_11[4] = { 'a', 'i', 'm', 'h' }; +static const symbol s_1_12[6] = { 0xC3, 0xAD, 'o', 'c', 'h', 't' }; +static const symbol s_1_13[7] = { 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't' }; +static const symbol s_1_14[4] = { 'i', 'r', 0xC3, 0xAD }; +static const symbol s_1_15[5] = { 'a', 'i', 'r', 0xC3, 0xAD }; + +static const struct among a_1[16] = +{ +/* 0 */ { 7, s_1_0, -1, 1, 0}, +/* 1 */ { 8, s_1_1, 0, 1, 0}, +/* 2 */ { 3, s_1_2, -1, 2, 0}, +/* 3 */ { 4, s_1_3, 2, 2, 0}, +/* 4 */ { 3, s_1_4, -1, 1, 0}, +/* 5 */ { 4, s_1_5, 4, 1, 0}, +/* 6 */ { 3, s_1_6, -1, 1, 0}, +/* 7 */ { 4, s_1_7, 6, 1, 0}, +/* 8 */ { 3, s_1_8, -1, 1, 0}, +/* 9 */ { 4, s_1_9, 8, 1, 0}, +/* 10 */ { 3, s_1_10, -1, 1, 0}, +/* 11 */ { 4, s_1_11, 10, 1, 0}, +/* 12 */ { 6, s_1_12, -1, 1, 0}, +/* 13 */ { 7, s_1_13, 12, 1, 0}, +/* 14 */ { 4, s_1_14, -1, 2, 0}, +/* 15 */ { 5, s_1_15, 14, 2, 0} +}; + +static const symbol s_2_0[9] = { 0xC3, 0xB3, 'i', 'd', 'e', 'a', 'c', 'h', 'a' }; +static const symbol s_2_1[7] = { 'p', 'a', 't', 'a', 'c', 'h', 'a' }; +static const symbol s_2_2[5] = { 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_3[8] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_4[6] = { 'e', 'a', 'c', 'h', 't', 'a' }; +static const symbol s_2_5[12] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a' }; +static const symbol s_2_6[5] = { 'p', 'a', 'i', 't', 'e' }; +static const symbol s_2_7[3] = { 'a', 'c', 'h' }; +static const symbol s_2_8[4] = { 'e', 'a', 'c', 'h' }; +static const symbol s_2_9[8] = { 0xC3, 0xB3, 'i', 'd', 'e', 'a', 'c', 'h' }; +static const symbol s_2_10[7] = { 'g', 'i', 'n', 'e', 'a', 'c', 'h' }; +static const symbol s_2_11[6] = { 'p', 'a', 't', 'a', 'c', 'h' }; +static const symbol s_2_12[10] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h' }; +static const symbol s_2_13[7] = { 'p', 'a', 't', 'a', 'i', 'g', 'h' }; +static const symbol s_2_14[7] = { 0xC3, 0xB3, 'i', 'd', 'i', 'g', 'h' }; +static const symbol s_2_15[8] = { 'a', 'c', 'h', 't', 0xC3, 0xBA, 'i', 'l' }; +static const symbol s_2_16[9] = { 'e', 'a', 'c', 'h', 't', 0xC3, 0xBA, 'i', 'l' }; +static const symbol s_2_17[6] = { 'g', 'i', 'n', 'e', 'a', 's' }; +static const symbol s_2_18[5] = { 'g', 'i', 'n', 'i', 's' }; +static const symbol s_2_19[4] = { 'a', 'c', 'h', 't' }; +static const symbol s_2_20[7] = { 'a', 'r', 'c', 'a', 'c', 'h', 't' }; +static const symbol s_2_21[5] = { 'e', 'a', 'c', 'h', 't' }; +static const symbol s_2_22[11] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't' }; +static const symbol s_2_23[10] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xC3, 0xAD }; +static const symbol s_2_24[14] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a', 0xC3, 0xAD }; + +static const struct among a_2[25] = +{ +/* 0 */ { 9, s_2_0, -1, 6, 0}, +/* 1 */ { 7, s_2_1, -1, 5, 0}, +/* 2 */ { 5, s_2_2, -1, 1, 0}, +/* 3 */ { 8, s_2_3, 2, 2, 0}, +/* 4 */ { 6, s_2_4, 2, 1, 0}, +/* 5 */ { 12, s_2_5, -1, 4, 0}, +/* 6 */ { 5, s_2_6, -1, 5, 0}, +/* 7 */ { 3, s_2_7, -1, 1, 0}, +/* 8 */ { 4, s_2_8, 7, 1, 0}, +/* 9 */ { 8, s_2_9, 8, 6, 0}, +/* 10 */ { 7, s_2_10, 8, 3, 0}, +/* 11 */ { 6, s_2_11, 7, 5, 0}, +/* 12 */ { 10, s_2_12, -1, 4, 0}, +/* 13 */ { 7, s_2_13, -1, 5, 0}, +/* 14 */ { 7, s_2_14, -1, 6, 0}, +/* 15 */ { 8, s_2_15, -1, 1, 0}, +/* 16 */ { 9, s_2_16, 15, 1, 0}, +/* 17 */ { 6, s_2_17, -1, 3, 0}, +/* 18 */ { 5, s_2_18, -1, 3, 0}, +/* 19 */ { 4, s_2_19, -1, 1, 0}, +/* 20 */ { 7, s_2_20, 19, 2, 0}, +/* 21 */ { 5, s_2_21, 19, 1, 0}, +/* 22 */ { 11, s_2_22, -1, 4, 0}, +/* 23 */ { 10, s_2_23, -1, 2, 0}, +/* 24 */ { 14, s_2_24, -1, 4, 0} +}; + +static const symbol s_3_0[4] = { 'i', 'm', 'i', 'd' }; +static const symbol s_3_1[5] = { 'a', 'i', 'm', 'i', 'd' }; +static const symbol s_3_2[5] = { 0xC3, 0xAD, 'm', 'i', 'd' }; +static const symbol s_3_3[6] = { 'a', 0xC3, 0xAD, 'm', 'i', 'd' }; +static const symbol s_3_4[3] = { 'a', 'd', 'h' }; +static const symbol s_3_5[4] = { 'e', 'a', 'd', 'h' }; +static const symbol s_3_6[5] = { 'f', 'a', 'i', 'd', 'h' }; +static const symbol s_3_7[4] = { 'f', 'i', 'd', 'h' }; +static const symbol s_3_8[4] = { 0xC3, 0xA1, 'i', 'l' }; +static const symbol s_3_9[3] = { 'a', 'i', 'n' }; +static const symbol s_3_10[4] = { 't', 'e', 'a', 'r' }; +static const symbol s_3_11[3] = { 't', 'a', 'r' }; + +static const struct among a_3[12] = +{ +/* 0 */ { 4, s_3_0, -1, 1, 0}, +/* 1 */ { 5, s_3_1, 0, 1, 0}, +/* 2 */ { 5, s_3_2, -1, 1, 0}, +/* 3 */ { 6, s_3_3, 2, 1, 0}, +/* 4 */ { 3, s_3_4, -1, 2, 0}, +/* 5 */ { 4, s_3_5, 4, 2, 0}, +/* 6 */ { 5, s_3_6, -1, 1, 0}, +/* 7 */ { 4, s_3_7, -1, 1, 0}, +/* 8 */ { 4, s_3_8, -1, 2, 0}, +/* 9 */ { 3, s_3_9, -1, 2, 0}, +/* 10 */ { 4, s_3_10, -1, 2, 0}, +/* 11 */ { 3, s_3_11, -1, 2, 0} +}; + +static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 }; + +static const symbol s_0[] = { 'f' }; +static const symbol s_1[] = { 's' }; +static const symbol s_2[] = { 'b' }; +static const symbol s_3[] = { 'c' }; +static const symbol s_4[] = { 'd' }; +static const symbol s_5[] = { 'g' }; +static const symbol s_6[] = { 'p' }; +static const symbol s_7[] = { 't' }; +static const symbol s_8[] = { 'm' }; +static const symbol s_9[] = { 'a', 'r', 'c' }; +static const symbol s_10[] = { 'g', 'i', 'n' }; +static const symbol s_11[] = { 'g', 'r', 'a', 'f' }; +static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' }; +static const symbol s_13[] = { 0xC3, 0xB3, 'i', 'd' }; + +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 30 */ + z->I[1] = z->l; /* $p1 = , line 31 */ + z->I[2] = z->l; /* $p2 = , line 32 */ + { int c1 = z->c; /* do, line 34 */ + { /* gopast */ /* grouping v, line 35 */ + int ret = out_grouping_U(z, g_v, 97, 250, 1); + if (ret < 0) goto lab0; + z->c += ret; + } + z->I[0] = z->c; /* setmark pV, line 35 */ + lab0: + z->c = c1; + } + { int c2 = z->c; /* do, line 37 */ + { /* gopast */ /* grouping v, line 38 */ + int ret = out_grouping_U(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + { /* gopast */ /* non v, line 38 */ + int ret = in_grouping_U(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + z->I[1] = z->c; /* setmark p1, line 38 */ + { /* gopast */ /* grouping v, line 39 */ + int ret = out_grouping_U(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + { /* gopast */ /* non v, line 39 */ + int ret = in_grouping_U(z, g_v, 97, 250, 1); + if (ret < 0) goto lab1; + z->c += ret; + } + z->I[2] = z->c; /* setmark p2, line 39 */ + lab1: + z->c = c2; + } + return 1; +} + +static int r_initial_morph(struct SN_env * z) { /* forwardmode */ + int among_var; + z->bra = z->c; /* [, line 44 */ + among_var = find_among(z, a_0, 24); /* substring, line 44 */ + if (!(among_var)) return 0; + z->ket = z->c; /* ], line 44 */ + switch (among_var) { /* among, line 44 */ + case 1: + { int ret = slice_del(z); /* delete, line 46 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 1, s_0); /* <-, line 52 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 1, s_1); /* <-, line 58 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 1, s_2); /* <-, line 61 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 1, s_3); /* <-, line 63 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 1, s_4); /* <-, line 65 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 1, s_5); /* <-, line 69 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 1, s_6); /* <-, line 71 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 1, s_7); /* <-, line 75 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 89 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 99 */ + return 1; +} + +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 100 */ + return 1; +} + +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 101 */ + return 1; +} + +static int r_noun_sfx(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 104 */ + among_var = find_among_b(z, a_1, 16); /* substring, line 104 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 104 */ + switch (among_var) { /* among, line 104 */ + case 1: + { int ret = r_R1(z); /* call R1, line 108 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 108 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = r_R2(z); /* call R2, line 110 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 110 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_deriv(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 114 */ + among_var = find_among_b(z, a_2, 25); /* substring, line 114 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 114 */ + switch (among_var) { /* among, line 114 */ + case 1: + { int ret = r_R2(z); /* call R2, line 116 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 116 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 3, s_9); /* <-, line 118 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 3, s_10); /* <-, line 120 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 4, s_11); /* <-, line 122 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 5, s_12); /* <-, line 124 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 4, s_13); /* <-, line 126 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_verb_sfx(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 130 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((282896 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 130 */ + among_var = find_among_b(z, a_3, 12); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 130 */ + switch (among_var) { /* among, line 130 */ + case 1: + { int ret = r_RV(z); /* call RV, line 133 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 133 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = r_R1(z); /* call R1, line 138 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 138 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +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; + return 1; +} + +extern struct SN_env * irish_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); } + +extern void irish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_italian.c b/src/backend/snowball/libstemmer/stem_UTF_8_italian.c index 395e38a548..7546960fac 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_italian.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_italian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -476,34 +476,29 @@ static const symbol s_2[] = { 0xC3, 0xAC }; static const symbol s_3[] = { 0xC3, 0xB2 }; static const symbol s_4[] = { 0xC3, 0xB9 }; static const symbol s_5[] = { 'q', 'U' }; -static const symbol s_6[] = { 'u' }; -static const symbol s_7[] = { 'U' }; +static const symbol s_6[] = { 'U' }; +static const symbol s_7[] = { 'I' }; static const symbol s_8[] = { 'i' }; -static const symbol s_9[] = { 'I' }; -static const symbol s_10[] = { 'i' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'e' }; -static const symbol s_13[] = { 'i', 'c' }; -static const symbol s_14[] = { 'l', 'o', 'g' }; -static const symbol s_15[] = { 'u' }; -static const symbol s_16[] = { 'e', 'n', 't', 'e' }; -static const symbol s_17[] = { 'a', 't' }; -static const symbol s_18[] = { 'a', 't' }; -static const symbol s_19[] = { 'i', 'c' }; -static const symbol s_20[] = { 'i' }; -static const symbol s_21[] = { 'h' }; +static const symbol s_9[] = { 'u' }; +static const symbol s_10[] = { 'e' }; +static const symbol s_11[] = { 'i', 'c' }; +static const symbol s_12[] = { 'l', 'o', 'g' }; +static const symbol s_13[] = { 'u' }; +static const symbol s_14[] = { 'e', 'n', 't', 'e' }; +static const symbol s_15[] = { 'a', 't' }; +static const symbol s_16[] = { 'a', 't' }; +static const symbol s_17[] = { 'i', 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; - { int c_test = z->c; /* test, line 35 */ + { int c_test1 = z->c; /* test, line 35 */ while(1) { /* repeat, line 35 */ - int c1 = z->c; + 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; z->ket = z->c; /* ], line 36 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 36 */ case 1: { int ret = slice_from_s(z, 2, s_0); /* <-, line 37 */ if (ret < 0) return ret; @@ -543,39 +538,41 @@ static int r_prelude(struct SN_env * z) { } continue; lab0: - z->c = c1; + z->c = c2; break; } - z->c = c_test; + z->c = c_test1; } while(1) { /* repeat, line 46 */ - int c2 = z->c; + int c3 = z->c; while(1) { /* goto, line 46 */ - int c3 = z->c; - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; + int c4 = z->c; + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 47 */ z->bra = z->c; /* [, line 47 */ - { int c4 = z->c; /* or, line 47 */ - if (!(eq_s(z, 1, s_6))) goto lab4; + { int c5 = z->c; /* or, line 47 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab4; /* literal, line 47 */ + z->c++; z->ket = z->c; /* ], line 47 */ - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab4; - { int ret = slice_from_s(z, 1, s_7); /* <-, line 47 */ + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab4; /* grouping v, line 47 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 47 */ if (ret < 0) return ret; } goto lab3; lab4: - z->c = c4; - if (!(eq_s(z, 1, s_8))) goto lab2; + z->c = c5; + if (z->c == z->l || z->p[z->c] != 'i') goto lab2; /* literal, line 48 */ + z->c++; z->ket = z->c; /* ], line 48 */ - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; - { int ret = slice_from_s(z, 1, s_9); /* <-, line 48 */ + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 48 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 48 */ if (ret < 0) return ret; } } lab3: - z->c = c3; + z->c = c4; break; lab2: - z->c = c3; + z->c = c4; { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab1; z->c = ret; /* goto, line 46 */ @@ -583,21 +580,21 @@ static int r_prelude(struct SN_env * z) { } continue; lab1: - z->c = c2; + z->c = c3; break; } return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 54 */ + z->I[1] = z->l; /* $p1 = , line 55 */ + z->I[2] = z->l; /* $p2 = , line 56 */ { int c1 = z->c; /* do, line 58 */ { int c2 = z->c; /* or, line 60 */ - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */ { int c3 = z->c; /* or, line 59 */ - if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4; + if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4; /* non v, line 59 */ { /* gopast */ /* grouping v, line 59 */ int ret = out_grouping_U(z, g_v, 97, 249, 1); if (ret < 0) goto lab4; @@ -606,7 +603,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */ { /* gopast */ /* non v, line 59 */ int ret = in_grouping_U(z, g_v, 97, 249, 1); if (ret < 0) goto lab2; @@ -617,9 +614,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab0; + if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab0; /* non v, line 61 */ { int c4 = z->c; /* or, line 61 */ - if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab6; + if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab6; /* non v, line 61 */ { /* gopast */ /* grouping v, line 61 */ int ret = out_grouping_U(z, g_v, 97, 249, 1); if (ret < 0) goto lab6; @@ -628,7 +625,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab0; + if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab0; /* grouping v, line 61 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; z->c = ret; /* next, line 61 */ @@ -671,24 +668,23 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 70 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 72 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 72 */ case 1: - { int ret = slice_from_s(z, 1, s_10); /* <-, line 73 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 73 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_11); /* <-, line 74 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 74 */ if (ret < 0) return ret; } break; @@ -707,43 +703,41 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 82 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 83 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 84 */ return 1; } -static int r_attached_pronoun(struct SN_env * z) { +static int r_attached_pronoun(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 87 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_2, 37))) return 0; /* substring, line 87 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 87 */ + if (!(find_among_b(z, a_2, 37))) return 0; z->bra = z->c; /* ], line 87 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; - among_var = find_among_b(z, a_3, 5); /* among, line 97 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; /* among, line 97 */ + among_var = find_among_b(z, a_3, 5); if (!(among_var)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 97 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 97 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 97 */ case 1: { int ret = slice_del(z); /* delete, line 98 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_12); /* <-, line 99 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 99 */ if (ret < 0) return ret; } break; @@ -751,37 +745,34 @@ static int r_attached_pronoun(struct SN_env * z) { return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 104 */ among_var = find_among_b(z, a_6, 51); /* substring, line 104 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 104 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 104 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 111 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 111 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 111 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 113 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 113 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 113 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 114 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 114 */ z->ket = z->c; /* [, line 114 */ - if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m1; goto lab0; } /* literal, line 114 */ z->bra = z->c; /* ], line 114 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 114 */ + { int ret = r_R2(z); /* call R2, line 114 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 114 */ @@ -792,70 +783,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 117 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 117 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_14); /* <-, line 117 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 117 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 119 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 119 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_15); /* <-, line 119 */ + { int ret = slice_from_s(z, 1, s_13); /* <-, line 119 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 121 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 121 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 4, s_16); /* <-, line 121 */ + { int ret = slice_from_s(z, 4, s_14); /* <-, line 121 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 123 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 123 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 123 */ if (ret < 0) return ret; } break; case 7: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 125 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 125 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 126 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 126 */ z->ket = z->c; /* [, line 127 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_4, 4); /* substring, line 127 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; } /* substring, line 127 */ + among_var = find_among_b(z, a_4, 4); + if (!(among_var)) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 127 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */ + { int ret = r_R2(z); /* call R2, line 127 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 127 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } + switch (among_var) { /* among, line 127 */ case 1: z->ket = z->c; /* [, line 128 */ - if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m_keep; goto lab1; } + if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m2; goto lab1; } /* literal, line 128 */ z->bra = z->c; /* ], line 128 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 128 */ + { int ret = r_R2(z); /* call R2, line 128 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 128 */ @@ -868,59 +853,51 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 134 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 135 */ z->ket = z->c; /* [, line 136 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_5, 3); /* substring, line 136 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m3; goto lab2; } /* substring, line 136 */ + if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 136 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 137 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 137 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 137 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 137 */ + if (ret < 0) return ret; } lab2: ; } break; case 9: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 142 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 142 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 142 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 143 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 143 */ z->ket = z->c; /* [, line 143 */ - if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m4; goto lab3; } /* literal, line 143 */ z->bra = z->c; /* ], line 143 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */ + { int ret = r_R2(z); /* call R2, line 143 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 143 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 143 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m4; goto lab3; } /* literal, line 143 */ z->bra = z->c; /* ], line 143 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */ + { int ret = r_R2(z); /* call R2, line 143 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 143 */ @@ -934,48 +911,40 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 148 */ - int m1 = z->l - z->c; (void)m1; +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 148 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 148 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 149 */ - among_var = find_among_b(z, a_7, 87); /* substring, line 149 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_7, 87))) { z->lb = mlimit1; return 0; } /* substring, line 149 */ z->bra = z->c; /* ], line 149 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - { int ret = slice_del(z); /* delete, line 163 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 163 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_vowel_suffix(struct SN_env * z) { - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 171 */ +static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* try, line 171 */ z->ket = z->c; /* [, line 172 */ - if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m_keep; goto lab0; } + if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m1; goto lab0; } /* grouping AEIO, line 172 */ z->bra = z->c; /* ], line 172 */ - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 172 */ + { int ret = r_RV(z); /* call RV, line 172 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 172 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 173 */ - if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - m1; goto lab0; } /* literal, line 173 */ + z->c--; z->bra = z->c; /* ], line 173 */ - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 173 */ + { int ret = r_RV(z); /* call RV, line 173 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 173 */ @@ -984,13 +953,14 @@ static int r_vowel_suffix(struct SN_env * z) { lab0: ; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 175 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 175 */ z->ket = z->c; /* [, line 176 */ - if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab1; } + if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - m2; goto lab1; } /* literal, line 176 */ + z->c--; z->bra = z->c; /* ], line 176 */ - if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - m_keep; goto lab1; } - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call RV, line 176 */ + if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - m2; goto lab1; } /* grouping CG, line 176 */ + { int ret = r_RV(z); /* call RV, line 176 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 176 */ @@ -1002,67 +972,65 @@ static int r_vowel_suffix(struct SN_env * z) { return 1; } -extern int italian_UTF_8_stem(struct SN_env * z) { +extern int italian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 182 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 183 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 183 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 185 */ - { int ret = r_attached_pronoun(z); - if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */ + { 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 - m3; + z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 186 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 186 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab5; /* call standard_suffix, line 186 */ + { 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) return ret; } goto lab4; lab5: - z->c = z->l - m5; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab3; /* call verb_suffix, line 186 */ + z->c = z->l - m4; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 186 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } } lab4: lab3: - z->c = z->l - m4; + z->c = z->l - m3; } - { int m6 = z->l - z->c; (void)m6; /* do, line 187 */ - { int ret = r_vowel_suffix(z); - if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */ + { 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 - m6; + z->c = z->l - m5; } z->c = z->lb; - { int c7 = z->c; /* do, line 189 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab7; /* call postlude, line 189 */ + { 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 = c7; + z->c = c6; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c b/src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c new file mode 100644 index 0000000000..dbf27e62dd --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c @@ -0,0 +1,850 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +static int r_fix_conflicts(struct SN_env * z); +static int r_fix_gd(struct SN_env * z); +static int r_fix_chdz(struct SN_env * z); +static int r_step1(struct SN_env * z); +static int r_R1(struct SN_env * z); +static int r_step2(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif +extern int lithuanian_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * lithuanian_UTF_8_create_env(void); +extern void lithuanian_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[1] = { 'a' }; +static const symbol s_0_1[2] = { 'i', 'a' }; +static const symbol s_0_2[4] = { 'e', 'r', 'i', 'a' }; +static const symbol s_0_3[4] = { 'o', 's', 'n', 'a' }; +static const symbol s_0_4[5] = { 'i', 'o', 's', 'n', 'a' }; +static const symbol s_0_5[5] = { 'u', 'o', 's', 'n', 'a' }; +static const symbol s_0_6[6] = { 'i', 'u', 'o', 's', 'n', 'a' }; +static const symbol s_0_7[4] = { 'y', 's', 'n', 'a' }; +static const symbol s_0_8[5] = { 0xC4, 0x97, 's', 'n', 'a' }; +static const symbol s_0_9[1] = { 'e' }; +static const symbol s_0_10[2] = { 'i', 'e' }; +static const symbol s_0_11[4] = { 'e', 'n', 'i', 'e' }; +static const symbol s_0_12[4] = { 'e', 'r', 'i', 'e' }; +static const symbol s_0_13[3] = { 'o', 'j', 'e' }; +static const symbol s_0_14[4] = { 'i', 'o', 'j', 'e' }; +static const symbol s_0_15[3] = { 'u', 'j', 'e' }; +static const symbol s_0_16[4] = { 'i', 'u', 'j', 'e' }; +static const symbol s_0_17[3] = { 'y', 'j', 'e' }; +static const symbol s_0_18[5] = { 'e', 'n', 'y', 'j', 'e' }; +static const symbol s_0_19[5] = { 'e', 'r', 'y', 'j', 'e' }; +static const symbol s_0_20[4] = { 0xC4, 0x97, 'j', 'e' }; +static const symbol s_0_21[3] = { 'a', 'm', 'e' }; +static const symbol s_0_22[4] = { 'i', 'a', 'm', 'e' }; +static const symbol s_0_23[4] = { 's', 'i', 'm', 'e' }; +static const symbol s_0_24[3] = { 'o', 'm', 'e' }; +static const symbol s_0_25[4] = { 0xC4, 0x97, 'm', 'e' }; +static const symbol s_0_26[7] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 'e' }; +static const symbol s_0_27[3] = { 'o', 's', 'e' }; +static const symbol s_0_28[4] = { 'i', 'o', 's', 'e' }; +static const symbol s_0_29[4] = { 'u', 'o', 's', 'e' }; +static const symbol s_0_30[5] = { 'i', 'u', 'o', 's', 'e' }; +static const symbol s_0_31[3] = { 'y', 's', 'e' }; +static const symbol s_0_32[5] = { 'e', 'n', 'y', 's', 'e' }; +static const symbol s_0_33[5] = { 'e', 'r', 'y', 's', 'e' }; +static const symbol s_0_34[4] = { 0xC4, 0x97, 's', 'e' }; +static const symbol s_0_35[3] = { 'a', 't', 'e' }; +static const symbol s_0_36[4] = { 'i', 'a', 't', 'e' }; +static const symbol s_0_37[3] = { 'i', 't', 'e' }; +static const symbol s_0_38[4] = { 'k', 'i', 't', 'e' }; +static const symbol s_0_39[4] = { 's', 'i', 't', 'e' }; +static const symbol s_0_40[3] = { 'o', 't', 'e' }; +static const symbol s_0_41[4] = { 't', 'u', 't', 'e' }; +static const symbol s_0_42[4] = { 0xC4, 0x97, 't', 'e' }; +static const symbol s_0_43[7] = { 't', 'u', 'm', 0xC4, 0x97, 't', 'e' }; +static const symbol s_0_44[1] = { 'i' }; +static const symbol s_0_45[2] = { 'a', 'i' }; +static const symbol s_0_46[3] = { 'i', 'a', 'i' }; +static const symbol s_0_47[5] = { 'e', 'r', 'i', 'a', 'i' }; +static const symbol s_0_48[2] = { 'e', 'i' }; +static const symbol s_0_49[5] = { 't', 'u', 'm', 'e', 'i' }; +static const symbol s_0_50[2] = { 'k', 'i' }; +static const symbol s_0_51[3] = { 'i', 'm', 'i' }; +static const symbol s_0_52[5] = { 'e', 'r', 'i', 'm', 'i' }; +static const symbol s_0_53[3] = { 'u', 'm', 'i' }; +static const symbol s_0_54[4] = { 'i', 'u', 'm', 'i' }; +static const symbol s_0_55[2] = { 's', 'i' }; +static const symbol s_0_56[3] = { 'a', 's', 'i' }; +static const symbol s_0_57[4] = { 'i', 'a', 's', 'i' }; +static const symbol s_0_58[3] = { 'e', 's', 'i' }; +static const symbol s_0_59[4] = { 'i', 'e', 's', 'i' }; +static const symbol s_0_60[5] = { 's', 'i', 'e', 's', 'i' }; +static const symbol s_0_61[3] = { 'i', 's', 'i' }; +static const symbol s_0_62[4] = { 'a', 'i', 's', 'i' }; +static const symbol s_0_63[4] = { 'e', 'i', 's', 'i' }; +static const symbol s_0_64[7] = { 't', 'u', 'm', 'e', 'i', 's', 'i' }; +static const symbol s_0_65[4] = { 'u', 'i', 's', 'i' }; +static const symbol s_0_66[3] = { 'o', 's', 'i' }; +static const symbol s_0_67[6] = { 0xC4, 0x97, 'j', 'o', 's', 'i' }; +static const symbol s_0_68[4] = { 'u', 'o', 's', 'i' }; +static const symbol s_0_69[5] = { 'i', 'u', 'o', 's', 'i' }; +static const symbol s_0_70[6] = { 's', 'i', 'u', 'o', 's', 'i' }; +static const symbol s_0_71[3] = { 'u', 's', 'i' }; +static const symbol s_0_72[4] = { 'a', 'u', 's', 'i' }; +static const symbol s_0_73[7] = { 0xC4, 0x8D, 'i', 'a', 'u', 's', 'i' }; +static const symbol s_0_74[4] = { 0xC4, 0x85, 's', 'i' }; +static const symbol s_0_75[4] = { 0xC4, 0x97, 's', 'i' }; +static const symbol s_0_76[4] = { 0xC5, 0xB3, 's', 'i' }; +static const symbol s_0_77[5] = { 't', 0xC5, 0xB3, 's', 'i' }; +static const symbol s_0_78[2] = { 't', 'i' }; +static const symbol s_0_79[4] = { 'e', 'n', 't', 'i' }; +static const symbol s_0_80[4] = { 'i', 'n', 't', 'i' }; +static const symbol s_0_81[3] = { 'o', 't', 'i' }; +static const symbol s_0_82[4] = { 'i', 'o', 't', 'i' }; +static const symbol s_0_83[4] = { 'u', 'o', 't', 'i' }; +static const symbol s_0_84[5] = { 'i', 'u', 'o', 't', 'i' }; +static const symbol s_0_85[4] = { 'a', 'u', 't', 'i' }; +static const symbol s_0_86[5] = { 'i', 'a', 'u', 't', 'i' }; +static const symbol s_0_87[3] = { 'y', 't', 'i' }; +static const symbol s_0_88[4] = { 0xC4, 0x97, 't', 'i' }; +static const symbol s_0_89[7] = { 't', 'e', 'l', 0xC4, 0x97, 't', 'i' }; +static const symbol s_0_90[6] = { 'i', 'n', 0xC4, 0x97, 't', 'i' }; +static const symbol s_0_91[7] = { 't', 'e', 'r', 0xC4, 0x97, 't', 'i' }; +static const symbol s_0_92[2] = { 'u', 'i' }; +static const symbol s_0_93[3] = { 'i', 'u', 'i' }; +static const symbol s_0_94[5] = { 'e', 'n', 'i', 'u', 'i' }; +static const symbol s_0_95[2] = { 'o', 'j' }; +static const symbol s_0_96[3] = { 0xC4, 0x97, 'j' }; +static const symbol s_0_97[1] = { 'k' }; +static const symbol s_0_98[2] = { 'a', 'm' }; +static const symbol s_0_99[3] = { 'i', 'a', 'm' }; +static const symbol s_0_100[3] = { 'i', 'e', 'm' }; +static const symbol s_0_101[2] = { 'i', 'm' }; +static const symbol s_0_102[3] = { 's', 'i', 'm' }; +static const symbol s_0_103[2] = { 'o', 'm' }; +static const symbol s_0_104[3] = { 't', 'u', 'm' }; +static const symbol s_0_105[3] = { 0xC4, 0x97, 'm' }; +static const symbol s_0_106[6] = { 't', 'u', 'm', 0xC4, 0x97, 'm' }; +static const symbol s_0_107[2] = { 'a', 'n' }; +static const symbol s_0_108[2] = { 'o', 'n' }; +static const symbol s_0_109[3] = { 'i', 'o', 'n' }; +static const symbol s_0_110[2] = { 'u', 'n' }; +static const symbol s_0_111[3] = { 'i', 'u', 'n' }; +static const symbol s_0_112[3] = { 0xC4, 0x97, 'n' }; +static const symbol s_0_113[1] = { 'o' }; +static const symbol s_0_114[2] = { 'i', 'o' }; +static const symbol s_0_115[4] = { 'e', 'n', 'i', 'o' }; +static const symbol s_0_116[4] = { 0xC4, 0x97, 'j', 'o' }; +static const symbol s_0_117[2] = { 'u', 'o' }; +static const symbol s_0_118[1] = { 's' }; +static const symbol s_0_119[2] = { 'a', 's' }; +static const symbol s_0_120[3] = { 'i', 'a', 's' }; +static const symbol s_0_121[2] = { 'e', 's' }; +static const symbol s_0_122[3] = { 'i', 'e', 's' }; +static const symbol s_0_123[2] = { 'i', 's' }; +static const symbol s_0_124[3] = { 'a', 'i', 's' }; +static const symbol s_0_125[4] = { 'i', 'a', 'i', 's' }; +static const symbol s_0_126[6] = { 't', 'u', 'm', 'e', 'i', 's' }; +static const symbol s_0_127[4] = { 'i', 'm', 'i', 's' }; +static const symbol s_0_128[6] = { 'e', 'n', 'i', 'm', 'i', 's' }; +static const symbol s_0_129[4] = { 'o', 'm', 'i', 's' }; +static const symbol s_0_130[5] = { 'i', 'o', 'm', 'i', 's' }; +static const symbol s_0_131[4] = { 'u', 'm', 'i', 's' }; +static const symbol s_0_132[5] = { 0xC4, 0x97, 'm', 'i', 's' }; +static const symbol s_0_133[4] = { 'e', 'n', 'i', 's' }; +static const symbol s_0_134[4] = { 'a', 's', 'i', 's' }; +static const symbol s_0_135[4] = { 'y', 's', 'i', 's' }; +static const symbol s_0_136[3] = { 'a', 'm', 's' }; +static const symbol s_0_137[4] = { 'i', 'a', 'm', 's' }; +static const symbol s_0_138[4] = { 'i', 'e', 'm', 's' }; +static const symbol s_0_139[3] = { 'i', 'm', 's' }; +static const symbol s_0_140[5] = { 'e', 'n', 'i', 'm', 's' }; +static const symbol s_0_141[5] = { 'e', 'r', 'i', 'm', 's' }; +static const symbol s_0_142[3] = { 'o', 'm', 's' }; +static const symbol s_0_143[4] = { 'i', 'o', 'm', 's' }; +static const symbol s_0_144[3] = { 'u', 'm', 's' }; +static const symbol s_0_145[4] = { 0xC4, 0x97, 'm', 's' }; +static const symbol s_0_146[3] = { 'e', 'n', 's' }; +static const symbol s_0_147[2] = { 'o', 's' }; +static const symbol s_0_148[3] = { 'i', 'o', 's' }; +static const symbol s_0_149[3] = { 'u', 'o', 's' }; +static const symbol s_0_150[4] = { 'i', 'u', 'o', 's' }; +static const symbol s_0_151[3] = { 'e', 'r', 's' }; +static const symbol s_0_152[2] = { 'u', 's' }; +static const symbol s_0_153[3] = { 'a', 'u', 's' }; +static const symbol s_0_154[4] = { 'i', 'a', 'u', 's' }; +static const symbol s_0_155[3] = { 'i', 'u', 's' }; +static const symbol s_0_156[2] = { 'y', 's' }; +static const symbol s_0_157[4] = { 'e', 'n', 'y', 's' }; +static const symbol s_0_158[4] = { 'e', 'r', 'y', 's' }; +static const symbol s_0_159[3] = { 0xC4, 0x85, 's' }; +static const symbol s_0_160[4] = { 'i', 0xC4, 0x85, 's' }; +static const symbol s_0_161[3] = { 0xC4, 0x97, 's' }; +static const symbol s_0_162[5] = { 'a', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_163[6] = { 'i', 'a', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_164[5] = { 'i', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_165[6] = { 'k', 'i', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_166[6] = { 's', 'i', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_167[5] = { 'o', 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_168[6] = { 0xC4, 0x97, 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_169[9] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 0xC4, 0x97, 's' }; +static const symbol s_0_170[5] = { 'a', 't', 0xC4, 0x97, 's' }; +static const symbol s_0_171[6] = { 'i', 'a', 't', 0xC4, 0x97, 's' }; +static const symbol s_0_172[6] = { 's', 'i', 't', 0xC4, 0x97, 's' }; +static const symbol s_0_173[5] = { 'o', 't', 0xC4, 0x97, 's' }; +static const symbol s_0_174[6] = { 0xC4, 0x97, 't', 0xC4, 0x97, 's' }; +static const symbol s_0_175[9] = { 't', 'u', 'm', 0xC4, 0x97, 't', 0xC4, 0x97, 's' }; +static const symbol s_0_176[3] = { 0xC5, 0xAB, 's' }; +static const symbol s_0_177[3] = { 0xC4, 0xAF, 's' }; +static const symbol s_0_178[4] = { 't', 0xC5, 0xB3, 's' }; +static const symbol s_0_179[2] = { 'a', 't' }; +static const symbol s_0_180[3] = { 'i', 'a', 't' }; +static const symbol s_0_181[2] = { 'i', 't' }; +static const symbol s_0_182[3] = { 's', 'i', 't' }; +static const symbol s_0_183[2] = { 'o', 't' }; +static const symbol s_0_184[3] = { 0xC4, 0x97, 't' }; +static const symbol s_0_185[6] = { 't', 'u', 'm', 0xC4, 0x97, 't' }; +static const symbol s_0_186[1] = { 'u' }; +static const symbol s_0_187[2] = { 'a', 'u' }; +static const symbol s_0_188[3] = { 'i', 'a', 'u' }; +static const symbol s_0_189[5] = { 0xC4, 0x8D, 'i', 'a', 'u' }; +static const symbol s_0_190[2] = { 'i', 'u' }; +static const symbol s_0_191[4] = { 'e', 'n', 'i', 'u' }; +static const symbol s_0_192[3] = { 's', 'i', 'u' }; +static const symbol s_0_193[1] = { 'y' }; +static const symbol s_0_194[2] = { 0xC4, 0x85 }; +static const symbol s_0_195[3] = { 'i', 0xC4, 0x85 }; +static const symbol s_0_196[2] = { 0xC4, 0x97 }; +static const symbol s_0_197[2] = { 0xC4, 0x99 }; +static const symbol s_0_198[2] = { 0xC4, 0xAF }; +static const symbol s_0_199[4] = { 'e', 'n', 0xC4, 0xAF }; +static const symbol s_0_200[4] = { 'e', 'r', 0xC4, 0xAF }; +static const symbol s_0_201[2] = { 0xC5, 0xB3 }; +static const symbol s_0_202[3] = { 'i', 0xC5, 0xB3 }; +static const symbol s_0_203[4] = { 'e', 'r', 0xC5, 0xB3 }; + +static const struct among a_0[204] = +{ +/* 0 */ { 1, s_0_0, -1, -1, 0}, +/* 1 */ { 2, s_0_1, 0, -1, 0}, +/* 2 */ { 4, s_0_2, 1, -1, 0}, +/* 3 */ { 4, s_0_3, 0, -1, 0}, +/* 4 */ { 5, s_0_4, 3, -1, 0}, +/* 5 */ { 5, s_0_5, 3, -1, 0}, +/* 6 */ { 6, s_0_6, 5, -1, 0}, +/* 7 */ { 4, s_0_7, 0, -1, 0}, +/* 8 */ { 5, s_0_8, 0, -1, 0}, +/* 9 */ { 1, s_0_9, -1, -1, 0}, +/* 10 */ { 2, s_0_10, 9, -1, 0}, +/* 11 */ { 4, s_0_11, 10, -1, 0}, +/* 12 */ { 4, s_0_12, 10, -1, 0}, +/* 13 */ { 3, s_0_13, 9, -1, 0}, +/* 14 */ { 4, s_0_14, 13, -1, 0}, +/* 15 */ { 3, s_0_15, 9, -1, 0}, +/* 16 */ { 4, s_0_16, 15, -1, 0}, +/* 17 */ { 3, s_0_17, 9, -1, 0}, +/* 18 */ { 5, s_0_18, 17, -1, 0}, +/* 19 */ { 5, s_0_19, 17, -1, 0}, +/* 20 */ { 4, s_0_20, 9, -1, 0}, +/* 21 */ { 3, s_0_21, 9, -1, 0}, +/* 22 */ { 4, s_0_22, 21, -1, 0}, +/* 23 */ { 4, s_0_23, 9, -1, 0}, +/* 24 */ { 3, s_0_24, 9, -1, 0}, +/* 25 */ { 4, s_0_25, 9, -1, 0}, +/* 26 */ { 7, s_0_26, 25, -1, 0}, +/* 27 */ { 3, s_0_27, 9, -1, 0}, +/* 28 */ { 4, s_0_28, 27, -1, 0}, +/* 29 */ { 4, s_0_29, 27, -1, 0}, +/* 30 */ { 5, s_0_30, 29, -1, 0}, +/* 31 */ { 3, s_0_31, 9, -1, 0}, +/* 32 */ { 5, s_0_32, 31, -1, 0}, +/* 33 */ { 5, s_0_33, 31, -1, 0}, +/* 34 */ { 4, s_0_34, 9, -1, 0}, +/* 35 */ { 3, s_0_35, 9, -1, 0}, +/* 36 */ { 4, s_0_36, 35, -1, 0}, +/* 37 */ { 3, s_0_37, 9, -1, 0}, +/* 38 */ { 4, s_0_38, 37, -1, 0}, +/* 39 */ { 4, s_0_39, 37, -1, 0}, +/* 40 */ { 3, s_0_40, 9, -1, 0}, +/* 41 */ { 4, s_0_41, 9, -1, 0}, +/* 42 */ { 4, s_0_42, 9, -1, 0}, +/* 43 */ { 7, s_0_43, 42, -1, 0}, +/* 44 */ { 1, s_0_44, -1, -1, 0}, +/* 45 */ { 2, s_0_45, 44, -1, 0}, +/* 46 */ { 3, s_0_46, 45, -1, 0}, +/* 47 */ { 5, s_0_47, 46, -1, 0}, +/* 48 */ { 2, s_0_48, 44, -1, 0}, +/* 49 */ { 5, s_0_49, 48, -1, 0}, +/* 50 */ { 2, s_0_50, 44, -1, 0}, +/* 51 */ { 3, s_0_51, 44, -1, 0}, +/* 52 */ { 5, s_0_52, 51, -1, 0}, +/* 53 */ { 3, s_0_53, 44, -1, 0}, +/* 54 */ { 4, s_0_54, 53, -1, 0}, +/* 55 */ { 2, s_0_55, 44, -1, 0}, +/* 56 */ { 3, s_0_56, 55, -1, 0}, +/* 57 */ { 4, s_0_57, 56, -1, 0}, +/* 58 */ { 3, s_0_58, 55, -1, 0}, +/* 59 */ { 4, s_0_59, 58, -1, 0}, +/* 60 */ { 5, s_0_60, 59, -1, 0}, +/* 61 */ { 3, s_0_61, 55, -1, 0}, +/* 62 */ { 4, s_0_62, 61, -1, 0}, +/* 63 */ { 4, s_0_63, 61, -1, 0}, +/* 64 */ { 7, s_0_64, 63, -1, 0}, +/* 65 */ { 4, s_0_65, 61, -1, 0}, +/* 66 */ { 3, s_0_66, 55, -1, 0}, +/* 67 */ { 6, s_0_67, 66, -1, 0}, +/* 68 */ { 4, s_0_68, 66, -1, 0}, +/* 69 */ { 5, s_0_69, 68, -1, 0}, +/* 70 */ { 6, s_0_70, 69, -1, 0}, +/* 71 */ { 3, s_0_71, 55, -1, 0}, +/* 72 */ { 4, s_0_72, 71, -1, 0}, +/* 73 */ { 7, s_0_73, 72, -1, 0}, +/* 74 */ { 4, s_0_74, 55, -1, 0}, +/* 75 */ { 4, s_0_75, 55, -1, 0}, +/* 76 */ { 4, s_0_76, 55, -1, 0}, +/* 77 */ { 5, s_0_77, 76, -1, 0}, +/* 78 */ { 2, s_0_78, 44, -1, 0}, +/* 79 */ { 4, s_0_79, 78, -1, 0}, +/* 80 */ { 4, s_0_80, 78, -1, 0}, +/* 81 */ { 3, s_0_81, 78, -1, 0}, +/* 82 */ { 4, s_0_82, 81, -1, 0}, +/* 83 */ { 4, s_0_83, 81, -1, 0}, +/* 84 */ { 5, s_0_84, 83, -1, 0}, +/* 85 */ { 4, s_0_85, 78, -1, 0}, +/* 86 */ { 5, s_0_86, 85, -1, 0}, +/* 87 */ { 3, s_0_87, 78, -1, 0}, +/* 88 */ { 4, s_0_88, 78, -1, 0}, +/* 89 */ { 7, s_0_89, 88, -1, 0}, +/* 90 */ { 6, s_0_90, 88, -1, 0}, +/* 91 */ { 7, s_0_91, 88, -1, 0}, +/* 92 */ { 2, s_0_92, 44, -1, 0}, +/* 93 */ { 3, s_0_93, 92, -1, 0}, +/* 94 */ { 5, s_0_94, 93, -1, 0}, +/* 95 */ { 2, s_0_95, -1, -1, 0}, +/* 96 */ { 3, s_0_96, -1, -1, 0}, +/* 97 */ { 1, s_0_97, -1, -1, 0}, +/* 98 */ { 2, s_0_98, -1, -1, 0}, +/* 99 */ { 3, s_0_99, 98, -1, 0}, +/*100 */ { 3, s_0_100, -1, -1, 0}, +/*101 */ { 2, s_0_101, -1, -1, 0}, +/*102 */ { 3, s_0_102, 101, -1, 0}, +/*103 */ { 2, s_0_103, -1, -1, 0}, +/*104 */ { 3, s_0_104, -1, -1, 0}, +/*105 */ { 3, s_0_105, -1, -1, 0}, +/*106 */ { 6, s_0_106, 105, -1, 0}, +/*107 */ { 2, s_0_107, -1, -1, 0}, +/*108 */ { 2, s_0_108, -1, -1, 0}, +/*109 */ { 3, s_0_109, 108, -1, 0}, +/*110 */ { 2, s_0_110, -1, -1, 0}, +/*111 */ { 3, s_0_111, 110, -1, 0}, +/*112 */ { 3, s_0_112, -1, -1, 0}, +/*113 */ { 1, s_0_113, -1, -1, 0}, +/*114 */ { 2, s_0_114, 113, -1, 0}, +/*115 */ { 4, s_0_115, 114, -1, 0}, +/*116 */ { 4, s_0_116, 113, -1, 0}, +/*117 */ { 2, s_0_117, 113, -1, 0}, +/*118 */ { 1, s_0_118, -1, -1, 0}, +/*119 */ { 2, s_0_119, 118, -1, 0}, +/*120 */ { 3, s_0_120, 119, -1, 0}, +/*121 */ { 2, s_0_121, 118, -1, 0}, +/*122 */ { 3, s_0_122, 121, -1, 0}, +/*123 */ { 2, s_0_123, 118, -1, 0}, +/*124 */ { 3, s_0_124, 123, -1, 0}, +/*125 */ { 4, s_0_125, 124, -1, 0}, +/*126 */ { 6, s_0_126, 123, -1, 0}, +/*127 */ { 4, s_0_127, 123, -1, 0}, +/*128 */ { 6, s_0_128, 127, -1, 0}, +/*129 */ { 4, s_0_129, 123, -1, 0}, +/*130 */ { 5, s_0_130, 129, -1, 0}, +/*131 */ { 4, s_0_131, 123, -1, 0}, +/*132 */ { 5, s_0_132, 123, -1, 0}, +/*133 */ { 4, s_0_133, 123, -1, 0}, +/*134 */ { 4, s_0_134, 123, -1, 0}, +/*135 */ { 4, s_0_135, 123, -1, 0}, +/*136 */ { 3, s_0_136, 118, -1, 0}, +/*137 */ { 4, s_0_137, 136, -1, 0}, +/*138 */ { 4, s_0_138, 118, -1, 0}, +/*139 */ { 3, s_0_139, 118, -1, 0}, +/*140 */ { 5, s_0_140, 139, -1, 0}, +/*141 */ { 5, s_0_141, 139, -1, 0}, +/*142 */ { 3, s_0_142, 118, -1, 0}, +/*143 */ { 4, s_0_143, 142, -1, 0}, +/*144 */ { 3, s_0_144, 118, -1, 0}, +/*145 */ { 4, s_0_145, 118, -1, 0}, +/*146 */ { 3, s_0_146, 118, -1, 0}, +/*147 */ { 2, s_0_147, 118, -1, 0}, +/*148 */ { 3, s_0_148, 147, -1, 0}, +/*149 */ { 3, s_0_149, 147, -1, 0}, +/*150 */ { 4, s_0_150, 149, -1, 0}, +/*151 */ { 3, s_0_151, 118, -1, 0}, +/*152 */ { 2, s_0_152, 118, -1, 0}, +/*153 */ { 3, s_0_153, 152, -1, 0}, +/*154 */ { 4, s_0_154, 153, -1, 0}, +/*155 */ { 3, s_0_155, 152, -1, 0}, +/*156 */ { 2, s_0_156, 118, -1, 0}, +/*157 */ { 4, s_0_157, 156, -1, 0}, +/*158 */ { 4, s_0_158, 156, -1, 0}, +/*159 */ { 3, s_0_159, 118, -1, 0}, +/*160 */ { 4, s_0_160, 159, -1, 0}, +/*161 */ { 3, s_0_161, 118, -1, 0}, +/*162 */ { 5, s_0_162, 161, -1, 0}, +/*163 */ { 6, s_0_163, 162, -1, 0}, +/*164 */ { 5, s_0_164, 161, -1, 0}, +/*165 */ { 6, s_0_165, 164, -1, 0}, +/*166 */ { 6, s_0_166, 164, -1, 0}, +/*167 */ { 5, s_0_167, 161, -1, 0}, +/*168 */ { 6, s_0_168, 161, -1, 0}, +/*169 */ { 9, s_0_169, 168, -1, 0}, +/*170 */ { 5, s_0_170, 161, -1, 0}, +/*171 */ { 6, s_0_171, 170, -1, 0}, +/*172 */ { 6, s_0_172, 161, -1, 0}, +/*173 */ { 5, s_0_173, 161, -1, 0}, +/*174 */ { 6, s_0_174, 161, -1, 0}, +/*175 */ { 9, s_0_175, 174, -1, 0}, +/*176 */ { 3, s_0_176, 118, -1, 0}, +/*177 */ { 3, s_0_177, 118, -1, 0}, +/*178 */ { 4, s_0_178, 118, -1, 0}, +/*179 */ { 2, s_0_179, -1, -1, 0}, +/*180 */ { 3, s_0_180, 179, -1, 0}, +/*181 */ { 2, s_0_181, -1, -1, 0}, +/*182 */ { 3, s_0_182, 181, -1, 0}, +/*183 */ { 2, s_0_183, -1, -1, 0}, +/*184 */ { 3, s_0_184, -1, -1, 0}, +/*185 */ { 6, s_0_185, 184, -1, 0}, +/*186 */ { 1, s_0_186, -1, -1, 0}, +/*187 */ { 2, s_0_187, 186, -1, 0}, +/*188 */ { 3, s_0_188, 187, -1, 0}, +/*189 */ { 5, s_0_189, 188, -1, 0}, +/*190 */ { 2, s_0_190, 186, -1, 0}, +/*191 */ { 4, s_0_191, 190, -1, 0}, +/*192 */ { 3, s_0_192, 190, -1, 0}, +/*193 */ { 1, s_0_193, -1, -1, 0}, +/*194 */ { 2, s_0_194, -1, -1, 0}, +/*195 */ { 3, s_0_195, 194, -1, 0}, +/*196 */ { 2, s_0_196, -1, -1, 0}, +/*197 */ { 2, s_0_197, -1, -1, 0}, +/*198 */ { 2, s_0_198, -1, -1, 0}, +/*199 */ { 4, s_0_199, 198, -1, 0}, +/*200 */ { 4, s_0_200, 198, -1, 0}, +/*201 */ { 2, s_0_201, -1, -1, 0}, +/*202 */ { 3, s_0_202, 201, -1, 0}, +/*203 */ { 4, s_0_203, 201, -1, 0} +}; + +static const symbol s_1_0[3] = { 'i', 'n', 'g' }; +static const symbol s_1_1[2] = { 'a', 'j' }; +static const symbol s_1_2[3] = { 'i', 'a', 'j' }; +static const symbol s_1_3[3] = { 'i', 'e', 'j' }; +static const symbol s_1_4[2] = { 'o', 'j' }; +static const symbol s_1_5[3] = { 'i', 'o', 'j' }; +static const symbol s_1_6[3] = { 'u', 'o', 'j' }; +static const symbol s_1_7[4] = { 'i', 'u', 'o', 'j' }; +static const symbol s_1_8[3] = { 'a', 'u', 'j' }; +static const symbol s_1_9[3] = { 0xC4, 0x85, 'j' }; +static const symbol s_1_10[4] = { 'i', 0xC4, 0x85, 'j' }; +static const symbol s_1_11[3] = { 0xC4, 0x97, 'j' }; +static const symbol s_1_12[3] = { 0xC5, 0xB3, 'j' }; +static const symbol s_1_13[4] = { 'i', 0xC5, 0xB3, 'j' }; +static const symbol s_1_14[2] = { 'o', 'k' }; +static const symbol s_1_15[3] = { 'i', 'o', 'k' }; +static const symbol s_1_16[3] = { 'i', 'u', 'k' }; +static const symbol s_1_17[5] = { 'u', 'l', 'i', 'u', 'k' }; +static const symbol s_1_18[6] = { 'u', 0xC4, 0x8D, 'i', 'u', 'k' }; +static const symbol s_1_19[4] = { 'i', 0xC5, 0xA1, 'k' }; +static const symbol s_1_20[3] = { 'i', 'u', 'l' }; +static const symbol s_1_21[2] = { 'y', 'l' }; +static const symbol s_1_22[3] = { 0xC4, 0x97, 'l' }; +static const symbol s_1_23[2] = { 'a', 'm' }; +static const symbol s_1_24[3] = { 'd', 'a', 'm' }; +static const symbol s_1_25[3] = { 'j', 'a', 'm' }; +static const symbol s_1_26[4] = { 'z', 'g', 'a', 'n' }; +static const symbol s_1_27[3] = { 'a', 'i', 'n' }; +static const symbol s_1_28[3] = { 'e', 's', 'n' }; +static const symbol s_1_29[2] = { 'o', 'p' }; +static const symbol s_1_30[3] = { 'i', 'o', 'p' }; +static const symbol s_1_31[3] = { 'i', 'a', 's' }; +static const symbol s_1_32[3] = { 'i', 'e', 's' }; +static const symbol s_1_33[3] = { 'a', 'i', 's' }; +static const symbol s_1_34[4] = { 'i', 'a', 'i', 's' }; +static const symbol s_1_35[2] = { 'o', 's' }; +static const symbol s_1_36[3] = { 'i', 'o', 's' }; +static const symbol s_1_37[3] = { 'u', 'o', 's' }; +static const symbol s_1_38[4] = { 'i', 'u', 'o', 's' }; +static const symbol s_1_39[3] = { 'a', 'u', 's' }; +static const symbol s_1_40[4] = { 'i', 'a', 'u', 's' }; +static const symbol s_1_41[3] = { 0xC4, 0x85, 's' }; +static const symbol s_1_42[4] = { 'i', 0xC4, 0x85, 's' }; +static const symbol s_1_43[3] = { 0xC4, 0x99, 's' }; +static const symbol s_1_44[7] = { 'u', 't', 0xC4, 0x97, 'a', 'i', 't' }; +static const symbol s_1_45[3] = { 'a', 'n', 't' }; +static const symbol s_1_46[4] = { 'i', 'a', 'n', 't' }; +static const symbol s_1_47[5] = { 's', 'i', 'a', 'n', 't' }; +static const symbol s_1_48[3] = { 'i', 'n', 't' }; +static const symbol s_1_49[2] = { 'o', 't' }; +static const symbol s_1_50[3] = { 'u', 'o', 't' }; +static const symbol s_1_51[4] = { 'i', 'u', 'o', 't' }; +static const symbol s_1_52[2] = { 'y', 't' }; +static const symbol s_1_53[3] = { 0xC4, 0x97, 't' }; +static const symbol s_1_54[5] = { 'y', 'k', 0xC5, 0xA1, 't' }; +static const symbol s_1_55[3] = { 'i', 'a', 'u' }; +static const symbol s_1_56[3] = { 'd', 'a', 'v' }; +static const symbol s_1_57[2] = { 's', 'v' }; +static const symbol s_1_58[3] = { 0xC5, 0xA1, 'v' }; +static const symbol s_1_59[6] = { 'y', 'k', 0xC5, 0xA1, 0xC4, 0x8D }; +static const symbol s_1_60[2] = { 0xC4, 0x99 }; +static const symbol s_1_61[5] = { 0xC4, 0x97, 'j', 0xC4, 0x99 }; + +static const struct among a_1[62] = +{ +/* 0 */ { 3, s_1_0, -1, -1, 0}, +/* 1 */ { 2, s_1_1, -1, -1, 0}, +/* 2 */ { 3, s_1_2, 1, -1, 0}, +/* 3 */ { 3, s_1_3, -1, -1, 0}, +/* 4 */ { 2, s_1_4, -1, -1, 0}, +/* 5 */ { 3, s_1_5, 4, -1, 0}, +/* 6 */ { 3, s_1_6, 4, -1, 0}, +/* 7 */ { 4, s_1_7, 6, -1, 0}, +/* 8 */ { 3, s_1_8, -1, -1, 0}, +/* 9 */ { 3, s_1_9, -1, -1, 0}, +/* 10 */ { 4, s_1_10, 9, -1, 0}, +/* 11 */ { 3, s_1_11, -1, -1, 0}, +/* 12 */ { 3, s_1_12, -1, -1, 0}, +/* 13 */ { 4, s_1_13, 12, -1, 0}, +/* 14 */ { 2, s_1_14, -1, -1, 0}, +/* 15 */ { 3, s_1_15, 14, -1, 0}, +/* 16 */ { 3, s_1_16, -1, -1, 0}, +/* 17 */ { 5, s_1_17, 16, -1, 0}, +/* 18 */ { 6, s_1_18, 16, -1, 0}, +/* 19 */ { 4, s_1_19, -1, -1, 0}, +/* 20 */ { 3, s_1_20, -1, -1, 0}, +/* 21 */ { 2, s_1_21, -1, -1, 0}, +/* 22 */ { 3, s_1_22, -1, -1, 0}, +/* 23 */ { 2, s_1_23, -1, -1, 0}, +/* 24 */ { 3, s_1_24, 23, -1, 0}, +/* 25 */ { 3, s_1_25, 23, -1, 0}, +/* 26 */ { 4, s_1_26, -1, -1, 0}, +/* 27 */ { 3, s_1_27, -1, -1, 0}, +/* 28 */ { 3, s_1_28, -1, -1, 0}, +/* 29 */ { 2, s_1_29, -1, -1, 0}, +/* 30 */ { 3, s_1_30, 29, -1, 0}, +/* 31 */ { 3, s_1_31, -1, -1, 0}, +/* 32 */ { 3, s_1_32, -1, -1, 0}, +/* 33 */ { 3, s_1_33, -1, -1, 0}, +/* 34 */ { 4, s_1_34, 33, -1, 0}, +/* 35 */ { 2, s_1_35, -1, -1, 0}, +/* 36 */ { 3, s_1_36, 35, -1, 0}, +/* 37 */ { 3, s_1_37, 35, -1, 0}, +/* 38 */ { 4, s_1_38, 37, -1, 0}, +/* 39 */ { 3, s_1_39, -1, -1, 0}, +/* 40 */ { 4, s_1_40, 39, -1, 0}, +/* 41 */ { 3, s_1_41, -1, -1, 0}, +/* 42 */ { 4, s_1_42, 41, -1, 0}, +/* 43 */ { 3, s_1_43, -1, -1, 0}, +/* 44 */ { 7, s_1_44, -1, -1, 0}, +/* 45 */ { 3, s_1_45, -1, -1, 0}, +/* 46 */ { 4, s_1_46, 45, -1, 0}, +/* 47 */ { 5, s_1_47, 46, -1, 0}, +/* 48 */ { 3, s_1_48, -1, -1, 0}, +/* 49 */ { 2, s_1_49, -1, -1, 0}, +/* 50 */ { 3, s_1_50, 49, -1, 0}, +/* 51 */ { 4, s_1_51, 50, -1, 0}, +/* 52 */ { 2, s_1_52, -1, -1, 0}, +/* 53 */ { 3, s_1_53, -1, -1, 0}, +/* 54 */ { 5, s_1_54, -1, -1, 0}, +/* 55 */ { 3, s_1_55, -1, -1, 0}, +/* 56 */ { 3, s_1_56, -1, -1, 0}, +/* 57 */ { 2, s_1_57, -1, -1, 0}, +/* 58 */ { 3, s_1_58, -1, -1, 0}, +/* 59 */ { 6, s_1_59, -1, -1, 0}, +/* 60 */ { 2, s_1_60, -1, -1, 0}, +/* 61 */ { 5, s_1_61, 60, -1, 0} +}; + +static const symbol s_2_0[5] = { 'o', 'j', 'i', 'm', 'e' }; +static const symbol s_2_1[6] = { 0xC4, 0x97, 'j', 'i', 'm', 'e' }; +static const symbol s_2_2[5] = { 'a', 'v', 'i', 'm', 'e' }; +static const symbol s_2_3[5] = { 'o', 'k', 'a', 't', 'e' }; +static const symbol s_2_4[4] = { 'a', 'i', 't', 'e' }; +static const symbol s_2_5[4] = { 'u', 'o', 't', 'e' }; +static const symbol s_2_6[5] = { 'a', 's', 'i', 'u', 's' }; +static const symbol s_2_7[7] = { 'o', 'k', 'a', 't', 0xC4, 0x97, 's' }; +static const symbol s_2_8[6] = { 'a', 'i', 't', 0xC4, 0x97, 's' }; +static const symbol s_2_9[6] = { 'u', 'o', 't', 0xC4, 0x97, 's' }; +static const symbol s_2_10[4] = { 'e', 's', 'i', 'u' }; + +static const struct among a_2[11] = +{ +/* 0 */ { 5, s_2_0, -1, 7, 0}, +/* 1 */ { 6, s_2_1, -1, 3, 0}, +/* 2 */ { 5, s_2_2, -1, 6, 0}, +/* 3 */ { 5, s_2_3, -1, 8, 0}, +/* 4 */ { 4, s_2_4, -1, 1, 0}, +/* 5 */ { 4, s_2_5, -1, 2, 0}, +/* 6 */ { 5, s_2_6, -1, 5, 0}, +/* 7 */ { 7, s_2_7, -1, 8, 0}, +/* 8 */ { 6, s_2_8, -1, 1, 0}, +/* 9 */ { 6, s_2_9, -1, 2, 0}, +/* 10 */ { 4, s_2_10, -1, 4, 0} +}; + +static const symbol s_3_0[2] = { 0xC4, 0x8D }; +static const symbol s_3_1[3] = { 'd', 0xC5, 0xBE }; + +static const struct among a_3[2] = +{ +/* 0 */ { 2, s_3_0, -1, 1, 0}, +/* 1 */ { 3, s_3_1, -1, 2, 0} +}; + +static const symbol s_4_0[2] = { 'g', 'd' }; + +static const struct among a_4[1] = +{ +/* 0 */ { 2, s_4_0, -1, 1, 0} +}; + +static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 }; + +static const symbol s_0[] = { 'a', 'i', 't', 0xC4, 0x97 }; +static const symbol s_1[] = { 'u', 'o', 't', 0xC4, 0x97 }; +static const symbol s_2[] = { 0xC4, 0x97, 'j', 'i', 'm', 'a', 's' }; +static const symbol s_3[] = { 'e', 's', 'y', 's' }; +static const symbol s_4[] = { 'a', 's', 'y', 's' }; +static const symbol s_5[] = { 'a', 'v', 'i', 'm', 'a', 's' }; +static const symbol s_6[] = { 'o', 'j', 'i', 'm', 'a', 's' }; +static const symbol s_7[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 }; +static const symbol s_8[] = { 't' }; +static const symbol s_9[] = { 'd' }; +static const symbol s_10[] = { 'g' }; + +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 43 */ + return 1; +} + +static int r_step1(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 45 */ + if (z->c < z->I[0]) return 0; + mlimit1 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 45 */ + if (!(find_among_b(z, a_0, 204))) { z->lb = mlimit1; return 0; } /* substring, line 45 */ + z->bra = z->c; /* ], line 45 */ + z->lb = mlimit1; + } + { int ret = r_R1(z); /* call R1, line 45 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 229 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_step2(struct SN_env * z) { /* backwardmode */ + while(1) { /* repeat, line 232 */ + int m1 = z->l - z->c; (void)m1; + + { int mlimit2; /* setlimit, line 233 */ + if (z->c < z->I[0]) goto lab0; + mlimit2 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 233 */ + if (!(find_among_b(z, a_1, 62))) { z->lb = mlimit2; goto lab0; } /* substring, line 233 */ + z->bra = z->c; /* ], line 233 */ + z->lb = mlimit2; + } + { int ret = slice_del(z); /* delete, line 303 */ + if (ret < 0) return ret; + } + continue; + lab0: + z->c = z->l - m1; + break; + } + return 1; +} + +static int r_fix_conflicts(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 307 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2621472 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 307 */ + among_var = find_among_b(z, a_2, 11); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 307 */ + switch (among_var) { /* among, line 307 */ + case 1: + { int ret = slice_from_s(z, 5, s_0); /* <-, line 309 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 5, s_1); /* <-, line 314 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 7, s_2); /* <-, line 319 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 4, s_3); /* <-, line 322 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 4, s_4); /* <-, line 324 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 6, s_5); /* <-, line 327 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 6, s_6); /* <-, line 328 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 6, s_7); /* <-, line 331 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_fix_chdz(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 338 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 190)) return 0; /* substring, line 338 */ + among_var = find_among_b(z, a_3, 2); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 338 */ + switch (among_var) { /* among, line 338 */ + case 1: + { int ret = slice_from_s(z, 1, s_8); /* <-, line 339 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 1, s_9); /* <-, line 340 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_fix_gd(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 345 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 100) return 0; /* substring, line 345 */ + if (!(find_among_b(z, a_4, 1))) return 0; + z->bra = z->c; /* ], line 345 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 346 */ + if (ret < 0) return ret; + } + return 1; +} + +extern int lithuanian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 355 */ + { int c1 = z->c; /* do, line 357 */ + { int c2 = z->c; /* try, line 359 */ + { int c_test3 = z->c; /* test, line 359 */ + if (z->c == z->l || z->p[z->c] != 'a') { z->c = c2; goto lab1; } /* literal, line 359 */ + z->c++; + z->c = c_test3; + } + if (!(len_utf8(z->p) > 6)) { z->c = c2; goto lab1; } /* $( > ), line 359 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 1); /* hop, line 359 */ + if (ret < 0) { z->c = c2; goto lab1; } + z->c = ret; + } + lab1: + ; + } + { /* gopast */ /* grouping v, line 361 */ + int ret = out_grouping_U(z, g_v, 97, 371, 1); + if (ret < 0) goto lab0; + z->c += ret; + } + { /* gopast */ /* non v, line 361 */ + int ret = in_grouping_U(z, g_v, 97, 371, 1); + if (ret < 0) goto lab0; + z->c += ret; + } + z->I[0] = z->c; /* setmark p1, line 361 */ + lab0: + z->c = c1; + } + z->lb = z->c; z->c = z->l; /* backwards, line 364 */ + + { 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; + return 1; +} + +extern struct SN_env * lithuanian_UTF_8_create_env(void) { return SN_create_env(0, 1, 0); } + +extern void lithuanian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_nepali.c b/src/backend/snowball/libstemmer/stem_UTF_8_nepali.c new file mode 100644 index 0000000000..d1c1be76f3 --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_nepali.c @@ -0,0 +1,424 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int nepali_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_remove_category_3(struct SN_env * z); +static int r_remove_category_2(struct SN_env * z); +static int r_check_category_2(struct SN_env * z); +static int r_remove_category_1(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * nepali_UTF_8_create_env(void); +extern void nepali_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 }; +static const symbol s_0_1[9] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87 }; +static const symbol s_0_2[6] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA5, 0x87 }; +static const symbol s_0_3[9] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88 }; +static const symbol s_0_4[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 }; +static const symbol s_0_5[12] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x81, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x88 }; +static const symbol s_0_6[6] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA5, 0x88 }; +static const symbol s_0_7[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_0_8[9] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x81, 0xE0, 0xA4, 0x97 }; +static const symbol s_0_9[9] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97 }; +static const symbol s_0_10[18] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAB, 0xE0, 0xA4, 0xA4 }; +static const symbol s_0_11[6] = { 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xA4 }; +static const symbol s_0_12[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_0_13[6] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE }; +static const symbol s_0_14[18] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB5, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBE }; +static const symbol s_0_15[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBF }; +static const symbol s_0_16[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF }; + +static const struct among a_0[17] = +{ +/* 0 */ { 6, s_0_0, -1, 2, 0}, +/* 1 */ { 9, s_0_1, -1, 1, 0}, +/* 2 */ { 6, s_0_2, -1, 1, 0}, +/* 3 */ { 9, s_0_3, -1, 1, 0}, +/* 4 */ { 6, s_0_4, -1, 2, 0}, +/* 5 */ { 12, s_0_5, -1, 1, 0}, +/* 6 */ { 6, s_0_6, -1, 1, 0}, +/* 7 */ { 6, s_0_7, -1, 2, 0}, +/* 8 */ { 9, s_0_8, -1, 1, 0}, +/* 9 */ { 9, s_0_9, -1, 1, 0}, +/* 10 */ { 18, s_0_10, -1, 1, 0}, +/* 11 */ { 6, s_0_11, -1, 1, 0}, +/* 12 */ { 6, s_0_12, -1, 2, 0}, +/* 13 */ { 6, s_0_13, -1, 1, 0}, +/* 14 */ { 18, s_0_14, -1, 1, 0}, +/* 15 */ { 6, s_0_15, -1, 2, 0}, +/* 16 */ { 9, s_0_16, -1, 1, 0} +}; + +static const symbol s_1_0[3] = { 0xE0, 0xA4, 0x81 }; +static const symbol s_1_1[3] = { 0xE0, 0xA4, 0x82 }; +static const symbol s_1_2[3] = { 0xE0, 0xA5, 0x88 }; + +static const struct among a_1[3] = +{ +/* 0 */ { 3, s_1_0, -1, -1, 0}, +/* 1 */ { 3, s_1_1, -1, -1, 0}, +/* 2 */ { 3, s_1_2, -1, -1, 0} +}; + +static const symbol s_2_0[3] = { 0xE0, 0xA4, 0x81 }; +static const symbol s_2_1[3] = { 0xE0, 0xA4, 0x82 }; +static const symbol s_2_2[3] = { 0xE0, 0xA5, 0x88 }; + +static const struct among a_2[3] = +{ +/* 0 */ { 3, s_2_0, -1, 1, 0}, +/* 1 */ { 3, s_2_1, -1, 1, 0}, +/* 2 */ { 3, s_2_2, -1, 2, 0} +}; + +static const symbol s_3_0[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_1[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_2[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_3[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_4[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_5[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_6[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x80 }; +static const symbol s_3_7[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_8[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_9[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_10[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_11[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_12[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x81 }; +static const symbol s_3_13[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x82 }; +static const symbol s_3_14[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87 }; +static const symbol s_3_15[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 }; +static const symbol s_3_16[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 }; +static const symbol s_3_17[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_18[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_19[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_20[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_21[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_22[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 }; +static const symbol s_3_23[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_24[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_25[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_26[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_27[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_28[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_29[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_30[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_31[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_32[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_33[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_34[9] = { 0xE0, 0xA4, 0xAD, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_35[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_36[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_37[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B }; +static const symbol s_3_38[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_39[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_40[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_41[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_42[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_43[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_44[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_45[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_46[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_47[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C }; +static const symbol s_3_48[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_49[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_50[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_51[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_52[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_53[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_54[12] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_55[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_56[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_57[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_58[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_59[15] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_60[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_61[12] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_62[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_63[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_64[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_65[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_66[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_67[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_68[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_69[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D }; +static const symbol s_3_70[9] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F }; +static const symbol s_3_71[3] = { 0xE0, 0xA4, 0x9B }; +static const symbol s_3_72[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_73[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_74[9] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_75[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_76[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_77[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_78[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_79[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_80[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B }; +static const symbol s_3_81[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_82[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_83[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_84[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_85[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_86[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_87[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_88[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE }; +static const symbol s_3_89[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBF }; +static const symbol s_3_90[12] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF }; + +static const struct among a_3[91] = +{ +/* 0 */ { 9, s_3_0, -1, 1, 0}, +/* 1 */ { 9, s_3_1, -1, 1, 0}, +/* 2 */ { 12, s_3_2, 1, 1, 0}, +/* 3 */ { 12, s_3_3, 1, 1, 0}, +/* 4 */ { 12, s_3_4, -1, 1, 0}, +/* 5 */ { 6, s_3_5, -1, 1, 0}, +/* 6 */ { 6, s_3_6, -1, 1, 0}, +/* 7 */ { 6, s_3_7, -1, 1, 0}, +/* 8 */ { 9, s_3_8, 7, 1, 0}, +/* 9 */ { 12, s_3_9, 8, 1, 0}, +/* 10 */ { 9, s_3_10, 7, 1, 0}, +/* 11 */ { 6, s_3_11, -1, 1, 0}, +/* 12 */ { 9, s_3_12, -1, 1, 0}, +/* 13 */ { 9, s_3_13, -1, 1, 0}, +/* 14 */ { 6, s_3_14, -1, 1, 0}, +/* 15 */ { 6, s_3_15, -1, 1, 0}, +/* 16 */ { 6, s_3_16, -1, 1, 0}, +/* 17 */ { 9, s_3_17, -1, 1, 0}, +/* 18 */ { 12, s_3_18, 17, 1, 0}, +/* 19 */ { 9, s_3_19, -1, 1, 0}, +/* 20 */ { 6, s_3_20, -1, 1, 0}, +/* 21 */ { 9, s_3_21, 20, 1, 0}, +/* 22 */ { 9, s_3_22, 20, 1, 0}, +/* 23 */ { 9, s_3_23, -1, 1, 0}, +/* 24 */ { 12, s_3_24, 23, 1, 0}, +/* 25 */ { 9, s_3_25, -1, 1, 0}, +/* 26 */ { 12, s_3_26, 25, 1, 0}, +/* 27 */ { 12, s_3_27, 25, 1, 0}, +/* 28 */ { 6, s_3_28, -1, 1, 0}, +/* 29 */ { 9, s_3_29, 28, 1, 0}, +/* 30 */ { 9, s_3_30, 28, 1, 0}, +/* 31 */ { 6, s_3_31, -1, 1, 0}, +/* 32 */ { 9, s_3_32, 31, 1, 0}, +/* 33 */ { 12, s_3_33, 31, 1, 0}, +/* 34 */ { 9, s_3_34, 31, 1, 0}, +/* 35 */ { 9, s_3_35, 31, 1, 0}, +/* 36 */ { 12, s_3_36, 35, 1, 0}, +/* 37 */ { 12, s_3_37, 35, 1, 0}, +/* 38 */ { 6, s_3_38, -1, 1, 0}, +/* 39 */ { 9, s_3_39, 38, 1, 0}, +/* 40 */ { 9, s_3_40, 38, 1, 0}, +/* 41 */ { 12, s_3_41, 40, 1, 0}, +/* 42 */ { 9, s_3_42, 38, 1, 0}, +/* 43 */ { 9, s_3_43, 38, 1, 0}, +/* 44 */ { 6, s_3_44, -1, 1, 0}, +/* 45 */ { 12, s_3_45, 44, 1, 0}, +/* 46 */ { 12, s_3_46, 44, 1, 0}, +/* 47 */ { 12, s_3_47, 44, 1, 0}, +/* 48 */ { 9, s_3_48, -1, 1, 0}, +/* 49 */ { 12, s_3_49, 48, 1, 0}, +/* 50 */ { 12, s_3_50, 48, 1, 0}, +/* 51 */ { 15, s_3_51, 50, 1, 0}, +/* 52 */ { 12, s_3_52, 48, 1, 0}, +/* 53 */ { 12, s_3_53, 48, 1, 0}, +/* 54 */ { 12, s_3_54, -1, 1, 0}, +/* 55 */ { 12, s_3_55, -1, 1, 0}, +/* 56 */ { 12, s_3_56, -1, 1, 0}, +/* 57 */ { 9, s_3_57, -1, 1, 0}, +/* 58 */ { 9, s_3_58, -1, 1, 0}, +/* 59 */ { 15, s_3_59, 58, 1, 0}, +/* 60 */ { 12, s_3_60, -1, 1, 0}, +/* 61 */ { 12, s_3_61, -1, 1, 0}, +/* 62 */ { 9, s_3_62, -1, 1, 0}, +/* 63 */ { 12, s_3_63, 62, 1, 0}, +/* 64 */ { 12, s_3_64, 62, 1, 0}, +/* 65 */ { 15, s_3_65, 64, 1, 0}, +/* 66 */ { 12, s_3_66, 62, 1, 0}, +/* 67 */ { 12, s_3_67, 62, 1, 0}, +/* 68 */ { 9, s_3_68, -1, 1, 0}, +/* 69 */ { 12, s_3_69, 68, 1, 0}, +/* 70 */ { 9, s_3_70, -1, 1, 0}, +/* 71 */ { 3, s_3_71, -1, 1, 0}, +/* 72 */ { 6, s_3_72, 71, 1, 0}, +/* 73 */ { 6, s_3_73, 71, 1, 0}, +/* 74 */ { 9, s_3_74, 73, 1, 0}, +/* 75 */ { 15, s_3_75, 74, 1, 0}, +/* 76 */ { 15, s_3_76, 71, 1, 0}, +/* 77 */ { 12, s_3_77, 71, 1, 0}, +/* 78 */ { 12, s_3_78, 71, 1, 0}, +/* 79 */ { 6, s_3_79, 71, 1, 0}, +/* 80 */ { 6, s_3_80, 71, 1, 0}, +/* 81 */ { 9, s_3_81, -1, 1, 0}, +/* 82 */ { 12, s_3_82, 81, 1, 0}, +/* 83 */ { 9, s_3_83, -1, 1, 0}, +/* 84 */ { 12, s_3_84, 83, 1, 0}, +/* 85 */ { 12, s_3_85, 83, 1, 0}, +/* 86 */ { 6, s_3_86, -1, 1, 0}, +/* 87 */ { 9, s_3_87, 86, 1, 0}, +/* 88 */ { 9, s_3_88, 86, 1, 0}, +/* 89 */ { 12, s_3_89, -1, 1, 0}, +/* 90 */ { 12, s_3_90, -1, 1, 0} +}; + +static const symbol s_0[] = { 0xE0, 0xA4, 0x8F }; +static const symbol s_1[] = { 0xE0, 0xA5, 0x87 }; +static const symbol s_2[] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C }; +static const symbol s_3[] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C }; +static const symbol s_4[] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8C }; +static const symbol s_5[] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 }; +static const symbol s_6[] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB0 }; + +static int r_remove_category_1(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 54 */ + among_var = find_among_b(z, a_0, 17); /* substring, line 54 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 54 */ + switch (among_var) { /* among, line 54 */ + case 1: + { int ret = slice_del(z); /* delete, line 58 */ + if (ret < 0) return ret; + } + break; + case 2: + { int m1 = z->l - z->c; (void)m1; /* or, line 59 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 59 */ + if (!(eq_s_b(z, 3, s_0))) goto lab3; /* literal, line 59 */ + goto lab2; + lab3: + z->c = z->l - m2; + if (!(eq_s_b(z, 3, s_1))) goto lab1; /* literal, line 59 */ + } + lab2: + goto lab0; + lab1: + z->c = z->l - m1; + { int ret = slice_del(z); /* delete, line 59 */ + if (ret < 0) return ret; + } + } + lab0: + break; + } + return 1; +} + +static int r_check_category_2(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 64 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 64 */ + if (!(find_among_b(z, a_1, 3))) return 0; + z->bra = z->c; /* ], line 64 */ + return 1; +} + +static int r_remove_category_2(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 70 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 70 */ + among_var = find_among_b(z, a_2, 3); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 70 */ + switch (among_var) { /* among, line 70 */ + case 1: + { int m1 = z->l - z->c; (void)m1; /* or, line 71 */ + if (!(eq_s_b(z, 6, s_2))) goto lab1; /* literal, line 71 */ + goto lab0; + lab1: + z->c = z->l - m1; + if (!(eq_s_b(z, 6, s_3))) goto lab2; /* literal, line 71 */ + goto lab0; + lab2: + z->c = z->l - m1; + if (!(eq_s_b(z, 6, s_4))) goto lab3; /* literal, line 71 */ + goto lab0; + lab3: + z->c = z->l - m1; + if (!(eq_s_b(z, 6, s_5))) return 0; /* literal, line 71 */ + } + lab0: + { int ret = slice_del(z); /* delete, line 71 */ + if (ret < 0) return ret; + } + break; + case 2: + if (!(eq_s_b(z, 9, s_6))) return 0; /* literal, line 72 */ + { int ret = slice_del(z); /* delete, line 72 */ + if (ret < 0) return ret; + } + break; + } + return 1; +} + +static int r_remove_category_3(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 77 */ + if (!(find_among_b(z, a_3, 91))) return 0; /* substring, line 77 */ + z->bra = z->c; /* ], line 77 */ + { int ret = slice_del(z); /* delete, line 79 */ + if (ret < 0) return ret; + } + return 1; +} + +extern int nepali_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + z->lb = z->c; z->c = z->l; /* backwards, line 86 */ + + { 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; + { 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) 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) return ret; + } + } + lab3: + 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) return ret; + } + continue; + lab2: + z->c = z->l - m3; + break; + } + z->c = z->l - m2; + } + z->c = z->lb; + return 1; +} + +extern struct SN_env * nepali_UTF_8_create_env(void) { return SN_create_env(0, 0, 0); } + +extern void nepali_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c b/src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c index cbb0cd4601..62d221be55 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -129,18 +129,17 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 static const unsigned char g_s_ending[] = { 119, 125, 149, 1 }; -static const symbol s_0[] = { 'k' }; -static const symbol s_1[] = { 'e', 'r' }; +static const symbol s_0[] = { 'e', 'r' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 30 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 28 */ + { int c_test1 = z->c; /* test, line 30 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 30 */ if (ret < 0) return 0; - z->c = ret; /* hop, line 30 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 30 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 31 */ { /* gopast */ /* non v, line 31 */ @@ -149,30 +148,27 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 31 */ - /* try, line 32 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 32 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 32 */ + z->I[0] = z->I[1]; /* $p1 = , line 32 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 38 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 38 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 38 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 38 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 29); /* substring, line 38 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 38 */ + among_var = find_among_b(z, a_0, 29); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 38 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 39 */ case 1: { int ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; @@ -180,12 +176,13 @@ static int r_main_suffix(struct SN_env * z) { break; case 2: { int m2 = z->l - z->c; (void)m2; /* or, line 46 */ - if (in_grouping_b_U(z, g_s_ending, 98, 122, 0)) goto lab1; + if (in_grouping_b_U(z, g_s_ending, 98, 122, 0)) goto lab1; /* grouping s_ending, line 46 */ goto lab0; lab1: z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_0))) return 0; - if (out_grouping_b_U(z, g_v, 97, 248, 0)) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'k') return 0; /* literal, line 46 */ + z->c--; + if (out_grouping_b_U(z, g_v, 97, 248, 0)) return 0; /* non v, line 46 */ } lab0: { int ret = slice_del(z); /* delete, line 46 */ @@ -193,7 +190,7 @@ static int r_main_suffix(struct SN_env * z) { } break; case 3: - { int ret = slice_from_s(z, 2, s_1); /* <-, line 48 */ + { int ret = slice_from_s(z, 2, s_0); /* <-, line 48 */ if (ret < 0) return ret; } break; @@ -201,21 +198,19 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 53 */ - { int mlimit; /* setlimit, line 54 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 53 */ + + { int mlimit2; /* setlimit, line 54 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 54 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit2 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 54 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 2))) { z->lb = mlimit; return 0; } /* substring, line 54 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit2; return 0; } /* substring, line 54 */ + if (!(find_among_b(z, a_1, 2))) { z->lb = mlimit2; return 0; } z->bra = z->c; /* ], line 54 */ - z->lb = mlimit; + z->lb = mlimit2; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; @@ -228,36 +223,27 @@ static int r_consonant_pair(struct SN_env * z) { return 1; } -static int r_other_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 63 */ - int m1 = z->l - z->c; (void)m1; +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 63 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 63 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 63 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 11); /* substring, line 63 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 63 */ + if (!(find_among_b(z, a_2, 11))) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 63 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 67 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 67 */ + if (ret < 0) return ret; } return 1; } -extern int norwegian_UTF_8_stem(struct SN_env * z) { +extern int norwegian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 74 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 74 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 74 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -266,24 +252,24 @@ extern int norwegian_UTF_8_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call main_suffix, 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); - if (ret == 0) goto lab2; /* call consonant_pair, 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); - if (ret == 0) goto lab3; /* call other_suffix, line 78 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 78 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_porter.c b/src/backend/snowball/libstemmer/stem_UTF_8_porter.c index 421cc0e74a..bb83a7449a 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_porter.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_porter.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -115,21 +115,21 @@ static const struct among a_3[20] = /* 2 */ { 4, s_3_2, -1, 4, 0}, /* 3 */ { 3, s_3_3, -1, 6, 0}, /* 4 */ { 4, s_3_4, -1, 9, 0}, -/* 5 */ { 5, s_3_5, -1, 12, 0}, +/* 5 */ { 5, s_3_5, -1, 11, 0}, /* 6 */ { 5, s_3_6, -1, 5, 0}, -/* 7 */ { 5, s_3_7, -1, 10, 0}, -/* 8 */ { 6, s_3_8, -1, 14, 0}, -/* 9 */ { 5, s_3_9, -1, 13, 0}, +/* 7 */ { 5, s_3_7, -1, 9, 0}, +/* 8 */ { 6, s_3_8, -1, 13, 0}, +/* 9 */ { 5, s_3_9, -1, 12, 0}, /* 10 */ { 6, s_3_10, -1, 1, 0}, /* 11 */ { 7, s_3_11, 10, 8, 0}, -/* 12 */ { 5, s_3_12, -1, 10, 0}, +/* 12 */ { 5, s_3_12, -1, 9, 0}, /* 13 */ { 5, s_3_13, -1, 8, 0}, /* 14 */ { 7, s_3_14, 13, 7, 0}, /* 15 */ { 4, s_3_15, -1, 7, 0}, /* 16 */ { 4, s_3_16, -1, 8, 0}, -/* 17 */ { 7, s_3_17, -1, 13, 0}, -/* 18 */ { 7, s_3_18, -1, 11, 0}, -/* 19 */ { 7, s_3_19, -1, 12, 0} +/* 17 */ { 7, s_3_17, -1, 12, 0}, +/* 18 */ { 7, s_3_18, -1, 10, 0}, +/* 19 */ { 7, s_3_19, -1, 11, 0} }; static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' }; @@ -203,63 +203,51 @@ static const symbol s_1[] = { 'i' }; static const symbol s_2[] = { 'e', 'e' }; static const symbol s_3[] = { 'e' }; static const symbol s_4[] = { 'e' }; -static const symbol s_5[] = { 'y' }; -static const symbol s_6[] = { 'Y' }; -static const symbol s_7[] = { 'i' }; -static const symbol s_8[] = { 't', 'i', 'o', 'n' }; -static const symbol s_9[] = { 'e', 'n', 'c', 'e' }; -static const symbol s_10[] = { 'a', 'n', 'c', 'e' }; -static const symbol s_11[] = { 'a', 'b', 'l', 'e' }; -static const symbol s_12[] = { 'e', 'n', 't' }; -static const symbol s_13[] = { 'e' }; -static const symbol s_14[] = { 'i', 'z', 'e' }; -static const symbol s_15[] = { 'a', 't', 'e' }; -static const symbol s_16[] = { 'a', 'l' }; -static const symbol s_17[] = { 'a', 'l' }; -static const symbol s_18[] = { 'f', 'u', 'l' }; -static const symbol s_19[] = { 'o', 'u', 's' }; -static const symbol s_20[] = { 'i', 'v', 'e' }; -static const symbol s_21[] = { 'b', 'l', 'e' }; -static const symbol s_22[] = { 'a', 'l' }; -static const symbol s_23[] = { 'i', 'c' }; -static const symbol s_24[] = { 's' }; -static const symbol s_25[] = { 't' }; -static const symbol s_26[] = { 'e' }; -static const symbol s_27[] = { 'l' }; -static const symbol s_28[] = { 'l' }; -static const symbol s_29[] = { 'y' }; -static const symbol s_30[] = { 'Y' }; -static const symbol s_31[] = { 'y' }; -static const symbol s_32[] = { 'Y' }; -static const symbol s_33[] = { 'Y' }; -static const symbol s_34[] = { 'y' }; +static const symbol s_5[] = { 'i' }; +static const symbol s_6[] = { 't', 'i', 'o', 'n' }; +static const symbol s_7[] = { 'e', 'n', 'c', 'e' }; +static const symbol s_8[] = { 'a', 'n', 'c', 'e' }; +static const symbol s_9[] = { 'a', 'b', 'l', 'e' }; +static const symbol s_10[] = { 'e', 'n', 't' }; +static const symbol s_11[] = { 'e' }; +static const symbol s_12[] = { 'i', 'z', 'e' }; +static const symbol s_13[] = { 'a', 't', 'e' }; +static const symbol s_14[] = { 'a', 'l' }; +static const symbol s_15[] = { 'f', 'u', 'l' }; +static const symbol s_16[] = { 'o', 'u', 's' }; +static const symbol s_17[] = { 'i', 'v', 'e' }; +static const symbol s_18[] = { 'b', 'l', 'e' }; +static const symbol s_19[] = { 'a', 'l' }; +static const symbol s_20[] = { 'i', 'c' }; +static const symbol s_21[] = { 'Y' }; +static const symbol s_22[] = { 'Y' }; +static const symbol s_23[] = { 'y' }; -static int r_shortv(struct SN_env * z) { - if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) return 0; - if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0; - if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; +static int r_shortv(struct SN_env * z) { /* backwardmode */ + if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) return 0; /* non v_WXY, line 19 */ + if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0; /* grouping v, line 19 */ + if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0; /* non v, line 19 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 21 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 22 */ return 1; } -static int r_Step_1a(struct SN_env * z) { +static int r_Step_1a(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 25 */ - if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0; - among_var = find_among_b(z, a_0, 4); /* substring, line 25 */ + if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0; /* substring, line 25 */ + among_var = find_among_b(z, a_0, 4); if (!(among_var)) return 0; z->bra = z->c; /* ], line 25 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 25 */ case 1: { int ret = slice_from_s(z, 2, s_0); /* <-, line 26 */ if (ret < 0) return ret; @@ -279,48 +267,47 @@ static int r_Step_1a(struct SN_env * z) { return 1; } -static int r_Step_1b(struct SN_env * z) { +static int r_Step_1b(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 34 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; - among_var = find_among_b(z, a_2, 3); /* substring, line 34 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0; /* substring, line 34 */ + among_var = find_among_b(z, a_2, 3); if (!(among_var)) return 0; z->bra = z->c; /* ], line 34 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 34 */ case 1: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 35 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 35 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 2, s_2); /* <-, line 35 */ if (ret < 0) return ret; } break; case 2: - { int m_test = z->l - z->c; /* test, line 38 */ + { int m_test1 = z->l - z->c; /* test, line 38 */ { /* gopast */ /* grouping v, line 38 */ int ret = out_grouping_b_U(z, g_v, 97, 121, 1); if (ret < 0) return 0; z->c -= ret; } - z->c = z->l - m_test; + z->c = z->l - m_test1; } { int ret = slice_del(z); /* delete, line 38 */ if (ret < 0) return ret; } - { int m_test = z->l - z->c; /* test, line 39 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else - among_var = find_among_b(z, a_1, 13); /* substring, line 39 */ + { int m_test2 = z->l - z->c; /* test, line 39 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else /* substring, line 39 */ + among_var = find_among_b(z, a_1, 13); if (!(among_var)) return 0; - z->c = z->l - m_test; + z->c = z->l - m_test2; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 39 */ case 1: - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_3); /* <+, line 41 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_3); /* <+, line 41 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -337,16 +324,17 @@ static int r_Step_1b(struct SN_env * z) { break; case 3: if (z->c != z->I[0]) return 0; /* atmark, line 45 */ - { int m_test = z->l - z->c; /* test, line 45 */ - { int ret = r_shortv(z); - if (ret == 0) return 0; /* call shortv, line 45 */ - if (ret < 0) return ret; + { int m_test3 = z->l - z->c; /* test, line 45 */ + { int ret = r_shortv(z); /* call shortv, line 45 */ + if (ret <= 0) return ret; } - z->c = z->l - m_test; + z->c = z->l - m_test3; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_4); /* <+, line 45 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_4); /* <+, line 45 */ + z->c = saved_c; + } if (ret < 0) return ret; } break; @@ -356,14 +344,16 @@ static int r_Step_1b(struct SN_env * z) { return 1; } -static int r_Step_1c(struct SN_env * z) { +static int r_Step_1c(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 52 */ { int m1 = z->l - z->c; (void)m1; /* or, line 52 */ - if (!(eq_s_b(z, 1, s_5))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1; /* literal, line 52 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_6))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0; /* literal, line 52 */ + z->c--; } lab0: z->bra = z->c; /* ], line 52 */ @@ -372,92 +362,85 @@ lab0: if (ret < 0) return 0; z->c -= ret; } - { int ret = slice_from_s(z, 1, s_7); /* <-, line 54 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 54 */ if (ret < 0) return ret; } return 1; } -static int r_Step_2(struct SN_env * z) { +static int r_Step_2(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 58 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_3, 20); /* substring, line 58 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 58 */ + among_var = find_among_b(z, a_3, 20); if (!(among_var)) return 0; z->bra = z->c; /* ], line 58 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 58 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 58 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 58 */ case 1: - { int ret = slice_from_s(z, 4, s_8); /* <-, line 59 */ + { int ret = slice_from_s(z, 4, s_6); /* <-, line 59 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_9); /* <-, line 60 */ + { int ret = slice_from_s(z, 4, s_7); /* <-, line 60 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 4, s_10); /* <-, line 61 */ + { int ret = slice_from_s(z, 4, s_8); /* <-, line 61 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 4, s_11); /* <-, line 62 */ + { int ret = slice_from_s(z, 4, s_9); /* <-, line 62 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 3, s_12); /* <-, line 63 */ + { int ret = slice_from_s(z, 3, s_10); /* <-, line 63 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 1, s_13); /* <-, line 64 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 64 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 3, s_14); /* <-, line 66 */ + { int ret = slice_from_s(z, 3, s_12); /* <-, line 66 */ if (ret < 0) return ret; } break; case 8: - { int ret = slice_from_s(z, 3, s_15); /* <-, line 68 */ + { int ret = slice_from_s(z, 3, s_13); /* <-, line 68 */ if (ret < 0) return ret; } break; case 9: - { int ret = slice_from_s(z, 2, s_16); /* <-, line 69 */ + { int ret = slice_from_s(z, 2, s_14); /* <-, line 69 */ if (ret < 0) return ret; } break; case 10: - { int ret = slice_from_s(z, 2, s_17); /* <-, line 71 */ + { int ret = slice_from_s(z, 3, s_15); /* <-, line 72 */ if (ret < 0) return ret; } break; case 11: - { int ret = slice_from_s(z, 3, s_18); /* <-, line 72 */ + { int ret = slice_from_s(z, 3, s_16); /* <-, line 74 */ if (ret < 0) return ret; } break; case 12: - { int ret = slice_from_s(z, 3, s_19); /* <-, line 74 */ + { int ret = slice_from_s(z, 3, s_17); /* <-, line 76 */ if (ret < 0) return ret; } break; case 13: - { int ret = slice_from_s(z, 3, s_20); /* <-, line 76 */ - if (ret < 0) return ret; - } - break; - case 14: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 77 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 77 */ if (ret < 0) return ret; } break; @@ -465,26 +448,24 @@ static int r_Step_2(struct SN_env * z) { return 1; } -static int r_Step_3(struct SN_env * z) { +static int r_Step_3(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 82 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_4, 7); /* substring, line 82 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 82 */ + among_var = find_among_b(z, a_4, 7); if (!(among_var)) return 0; z->bra = z->c; /* ], line 82 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 82 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 82 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 82 */ case 1: - { int ret = slice_from_s(z, 2, s_22); /* <-, line 83 */ + { int ret = slice_from_s(z, 2, s_19); /* <-, line 83 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 2, s_23); /* <-, line 85 */ + { int ret = slice_from_s(z, 2, s_20); /* <-, line 85 */ if (ret < 0) return ret; } break; @@ -497,19 +478,17 @@ static int r_Step_3(struct SN_env * z) { return 1; } -static int r_Step_4(struct SN_env * z) { +static int r_Step_4(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 92 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 19); /* substring, line 92 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 92 */ + among_var = find_among_b(z, a_5, 19); if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 92 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 92 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 92 */ case 1: { int ret = slice_del(z); /* delete, line 95 */ if (ret < 0) return ret; @@ -517,11 +496,13 @@ static int r_Step_4(struct SN_env * z) { break; case 2: { int m1 = z->l - z->c; (void)m1; /* or, line 96 */ - if (!(eq_s_b(z, 1, s_24))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1; /* literal, line 96 */ + z->c--; goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_25))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0; /* literal, line 96 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 96 */ @@ -532,25 +513,25 @@ static int r_Step_4(struct SN_env * z) { return 1; } -static int r_Step_5a(struct SN_env * z) { +static int r_Step_5a(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 101 */ - if (!(eq_s_b(z, 1, s_26))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 101 */ + z->c--; z->bra = z->c; /* ], line 101 */ { int m1 = z->l - z->c; (void)m1; /* or, line 102 */ - { int ret = r_R2(z); - if (ret == 0) goto lab1; /* call R2, line 102 */ + { int ret = r_R2(z); /* call R2, line 102 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } goto lab0; lab1: z->c = z->l - m1; - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 102 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 102 */ + if (ret <= 0) return ret; } { int m2 = z->l - z->c; (void)m2; /* not, line 102 */ - { int ret = r_shortv(z); - if (ret == 0) goto lab2; /* call shortv, line 102 */ + { int ret = r_shortv(z); /* call shortv, line 102 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } return 0; @@ -565,28 +546,30 @@ lab0: return 1; } -static int r_Step_5b(struct SN_env * z) { +static int r_Step_5b(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 107 */ - if (!(eq_s_b(z, 1, s_27))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 107 */ + z->c--; z->bra = z->c; /* ], line 107 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 108 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 108 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_28))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0; /* literal, line 108 */ + z->c--; { int ret = slice_del(z); /* delete, line 109 */ if (ret < 0) return ret; } return 1; } -extern int porter_UTF_8_stem(struct SN_env * z) { +extern int porter_UTF_8_stem(struct SN_env * z) { /* forwardmode */ z->B[0] = 0; /* unset Y_found, line 115 */ { int c1 = z->c; /* do, line 116 */ z->bra = z->c; /* [, line 116 */ - if (!(eq_s(z, 1, s_29))) goto lab0; + if (z->c == z->l || z->p[z->c] != 'y') goto lab0; /* literal, line 116 */ + z->c++; z->ket = z->c; /* ], line 116 */ - { int ret = slice_from_s(z, 1, s_30); /* <-, line 116 */ + { int ret = slice_from_s(z, 1, s_21); /* <-, line 116 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 116 */ @@ -598,9 +581,10 @@ extern int porter_UTF_8_stem(struct SN_env * z) { 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; + if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab3; /* grouping v, line 117 */ z->bra = z->c; /* [, line 117 */ - if (!(eq_s(z, 1, s_31))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 117 */ + z->c++; z->ket = z->c; /* ], line 117 */ z->c = c4; break; @@ -611,7 +595,7 @@ extern int porter_UTF_8_stem(struct SN_env * z) { z->c = ret; /* goto, line 117 */ } } - { int ret = slice_from_s(z, 1, s_32); /* <-, line 117 */ + { int ret = slice_from_s(z, 1, s_22); /* <-, line 117 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 117 */ @@ -622,8 +606,8 @@ extern int porter_UTF_8_stem(struct SN_env * z) { } z->c = c2; } - z->I[0] = z->l; - z->I[1] = z->l; + z->I[0] = z->l; /* $p1 = , line 119 */ + z->I[1] = z->l; /* $p2 = , line 120 */ { int c5 = z->c; /* do, line 121 */ { /* gopast */ /* grouping v, line 122 */ int ret = out_grouping_U(z, g_v, 97, 121, 1); @@ -653,64 +637,64 @@ extern int porter_UTF_8_stem(struct SN_env * z) { z->lb = z->c; z->c = z->l; /* backwards, line 126 */ { int m6 = z->l - z->c; (void)m6; /* do, line 127 */ - { int ret = r_Step_1a(z); - if (ret == 0) goto lab5; /* call Step_1a, 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); - if (ret == 0) goto lab6; /* call Step_1b, 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); - if (ret == 0) goto lab7; /* call Step_1c, 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); - if (ret == 0) goto lab8; /* call Step_2, 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); - if (ret == 0) goto lab9; /* call Step_3, 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); - if (ret == 0) goto lab10; /* call Step_4, 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); - if (ret == 0) goto lab11; /* call Step_5a, 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); - if (ret == 0) goto lab12; /* call Step_5b, line 134 */ + { int ret = r_Step_5b(z); /* call Step_5b, line 134 */ + if (ret == 0) goto lab12; if (ret < 0) return ret; } lab12: @@ -724,7 +708,8 @@ extern int porter_UTF_8_stem(struct SN_env * z) { while(1) { /* goto, line 137 */ int c16 = z->c; z->bra = z->c; /* [, line 137 */ - if (!(eq_s(z, 1, s_33))) goto lab15; + if (z->c == z->l || z->p[z->c] != 'Y') goto lab15; /* literal, line 137 */ + z->c++; z->ket = z->c; /* ], line 137 */ z->c = c16; break; @@ -735,7 +720,7 @@ extern int porter_UTF_8_stem(struct SN_env * z) { z->c = ret; /* goto, line 137 */ } } - { int ret = slice_from_s(z, 1, s_34); /* <-, line 137 */ + { int ret = slice_from_s(z, 1, s_23); /* <-, line 137 */ if (ret < 0) return ret; } continue; diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c b/src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c index 8939cfe016..f5f2e0fe0c 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -90,42 +90,42 @@ static const struct among a_4[3] = static const symbol s_5_0[3] = { 'i', 'c', 'a' }; static const symbol s_5_1[6] = { 0xC3, 0xA2, 'n', 'c', 'i', 'a' }; static const symbol s_5_2[6] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a' }; -static const symbol s_5_3[3] = { 'i', 'r', 'a' }; -static const symbol s_5_4[5] = { 'a', 'd', 'o', 'r', 'a' }; -static const symbol s_5_5[3] = { 'o', 's', 'a' }; -static const symbol s_5_6[4] = { 'i', 's', 't', 'a' }; -static const symbol s_5_7[3] = { 'i', 'v', 'a' }; -static const symbol s_5_8[3] = { 'e', 'z', 'a' }; -static const symbol s_5_9[6] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a' }; +static const symbol s_5_3[5] = { 'l', 'o', 'g', 'i', 'a' }; +static const symbol s_5_4[3] = { 'i', 'r', 'a' }; +static const symbol s_5_5[5] = { 'a', 'd', 'o', 'r', 'a' }; +static const symbol s_5_6[3] = { 'o', 's', 'a' }; +static const symbol s_5_7[4] = { 'i', 's', 't', 'a' }; +static const symbol s_5_8[3] = { 'i', 'v', 'a' }; +static const symbol s_5_9[3] = { 'e', 'z', 'a' }; static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' }; static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' }; static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' }; static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' }; static const symbol s_5_14[5] = { 0xC3, 0xA1, 'v', 'e', 'l' }; static const symbol s_5_15[5] = { 0xC3, 0xAD, 'v', 'e', 'l' }; -static const symbol s_5_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' }; -static const symbol s_5_17[3] = { 'i', 'c', 'o' }; -static const symbol s_5_18[4] = { 'i', 's', 'm', 'o' }; -static const symbol s_5_19[3] = { 'o', 's', 'o' }; -static const symbol s_5_20[6] = { 'a', 'm', 'e', 'n', 't', 'o' }; -static const symbol s_5_21[6] = { 'i', 'm', 'e', 'n', 't', 'o' }; -static const symbol s_5_22[3] = { 'i', 'v', 'o' }; -static const symbol s_5_23[6] = { 'a', 0xC3, 0xA7, 'a', '~', 'o' }; +static const symbol s_5_16[3] = { 'i', 'c', 'o' }; +static const symbol s_5_17[4] = { 'i', 's', 'm', 'o' }; +static const symbol s_5_18[3] = { 'o', 's', 'o' }; +static const symbol s_5_19[6] = { 'a', 'm', 'e', 'n', 't', 'o' }; +static const symbol s_5_20[6] = { 'i', 'm', 'e', 'n', 't', 'o' }; +static const symbol s_5_21[3] = { 'i', 'v', 'o' }; +static const symbol s_5_22[6] = { 'a', 0xC3, 0xA7, 'a', '~', 'o' }; +static const symbol s_5_23[6] = { 'u', 0xC3, 0xA7, 'a', '~', 'o' }; static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' }; static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' }; static const symbol s_5_26[7] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a', 's' }; -static const symbol s_5_27[4] = { 'i', 'r', 'a', 's' }; -static const symbol s_5_28[6] = { 'a', 'd', 'o', 'r', 'a', 's' }; -static const symbol s_5_29[4] = { 'o', 's', 'a', 's' }; -static const symbol s_5_30[5] = { 'i', 's', 't', 'a', 's' }; -static const symbol s_5_31[4] = { 'i', 'v', 'a', 's' }; -static const symbol s_5_32[4] = { 'e', 'z', 'a', 's' }; -static const symbol s_5_33[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' }; +static const symbol s_5_27[6] = { 'l', 'o', 'g', 'i', 'a', 's' }; +static const symbol s_5_28[4] = { 'i', 'r', 'a', 's' }; +static const symbol s_5_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' }; +static const symbol s_5_30[4] = { 'o', 's', 'a', 's' }; +static const symbol s_5_31[5] = { 'i', 's', 't', 'a', 's' }; +static const symbol s_5_32[4] = { 'i', 'v', 'a', 's' }; +static const symbol s_5_33[4] = { 'e', 'z', 'a', 's' }; static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' }; -static const symbol s_5_35[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' }; -static const symbol s_5_36[6] = { 'a', 'd', 'o', 'r', 'e', 's' }; -static const symbol s_5_37[5] = { 'a', 'n', 't', 'e', 's' }; -static const symbol s_5_38[7] = { 'a', 0xC3, 0xA7, 'o', '~', 'e', 's' }; +static const symbol s_5_35[6] = { 'a', 'd', 'o', 'r', 'e', 's' }; +static const symbol s_5_36[5] = { 'a', 'n', 't', 'e', 's' }; +static const symbol s_5_37[7] = { 'a', 0xC3, 0xA7, 'o', '~', 'e', 's' }; +static const symbol s_5_38[7] = { 'u', 0xC3, 0xA7, 'o', '~', 'e', 's' }; static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' }; static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' }; static const symbol s_5_41[4] = { 'o', 's', 'o', 's' }; @@ -138,42 +138,42 @@ static const struct among a_5[45] = /* 0 */ { 3, s_5_0, -1, 1, 0}, /* 1 */ { 6, s_5_1, -1, 1, 0}, /* 2 */ { 6, s_5_2, -1, 4, 0}, -/* 3 */ { 3, s_5_3, -1, 9, 0}, -/* 4 */ { 5, s_5_4, -1, 1, 0}, -/* 5 */ { 3, s_5_5, -1, 1, 0}, -/* 6 */ { 4, s_5_6, -1, 1, 0}, -/* 7 */ { 3, s_5_7, -1, 8, 0}, -/* 8 */ { 3, s_5_8, -1, 1, 0}, -/* 9 */ { 6, s_5_9, -1, 2, 0}, +/* 3 */ { 5, s_5_3, -1, 2, 0}, +/* 4 */ { 3, s_5_4, -1, 9, 0}, +/* 5 */ { 5, s_5_5, -1, 1, 0}, +/* 6 */ { 3, s_5_6, -1, 1, 0}, +/* 7 */ { 4, s_5_7, -1, 1, 0}, +/* 8 */ { 3, s_5_8, -1, 8, 0}, +/* 9 */ { 3, s_5_9, -1, 1, 0}, /* 10 */ { 5, s_5_10, -1, 7, 0}, /* 11 */ { 4, s_5_11, -1, 1, 0}, /* 12 */ { 5, s_5_12, -1, 6, 0}, /* 13 */ { 6, s_5_13, 12, 5, 0}, /* 14 */ { 5, s_5_14, -1, 1, 0}, /* 15 */ { 5, s_5_15, -1, 1, 0}, -/* 16 */ { 6, s_5_16, -1, 3, 0}, -/* 17 */ { 3, s_5_17, -1, 1, 0}, -/* 18 */ { 4, s_5_18, -1, 1, 0}, -/* 19 */ { 3, s_5_19, -1, 1, 0}, +/* 16 */ { 3, s_5_16, -1, 1, 0}, +/* 17 */ { 4, s_5_17, -1, 1, 0}, +/* 18 */ { 3, s_5_18, -1, 1, 0}, +/* 19 */ { 6, s_5_19, -1, 1, 0}, /* 20 */ { 6, s_5_20, -1, 1, 0}, -/* 21 */ { 6, s_5_21, -1, 1, 0}, -/* 22 */ { 3, s_5_22, -1, 8, 0}, -/* 23 */ { 6, s_5_23, -1, 1, 0}, +/* 21 */ { 3, s_5_21, -1, 8, 0}, +/* 22 */ { 6, s_5_22, -1, 1, 0}, +/* 23 */ { 6, s_5_23, -1, 3, 0}, /* 24 */ { 4, s_5_24, -1, 1, 0}, /* 25 */ { 4, s_5_25, -1, 1, 0}, /* 26 */ { 7, s_5_26, -1, 4, 0}, -/* 27 */ { 4, s_5_27, -1, 9, 0}, -/* 28 */ { 6, s_5_28, -1, 1, 0}, -/* 29 */ { 4, s_5_29, -1, 1, 0}, -/* 30 */ { 5, s_5_30, -1, 1, 0}, -/* 31 */ { 4, s_5_31, -1, 8, 0}, -/* 32 */ { 4, s_5_32, -1, 1, 0}, -/* 33 */ { 7, s_5_33, -1, 2, 0}, +/* 27 */ { 6, s_5_27, -1, 2, 0}, +/* 28 */ { 4, s_5_28, -1, 9, 0}, +/* 29 */ { 6, s_5_29, -1, 1, 0}, +/* 30 */ { 4, s_5_30, -1, 1, 0}, +/* 31 */ { 5, s_5_31, -1, 1, 0}, +/* 32 */ { 4, s_5_32, -1, 8, 0}, +/* 33 */ { 4, s_5_33, -1, 1, 0}, /* 34 */ { 6, s_5_34, -1, 7, 0}, -/* 35 */ { 7, s_5_35, -1, 3, 0}, -/* 36 */ { 6, s_5_36, -1, 1, 0}, -/* 37 */ { 5, s_5_37, -1, 1, 0}, -/* 38 */ { 7, s_5_38, -1, 1, 0}, +/* 35 */ { 6, s_5_35, -1, 1, 0}, +/* 36 */ { 5, s_5_36, -1, 1, 0}, +/* 37 */ { 7, s_5_37, -1, 1, 0}, +/* 38 */ { 7, s_5_38, -1, 3, 0}, /* 39 */ { 4, s_5_39, -1, 1, 0}, /* 40 */ { 5, s_5_40, -1, 1, 0}, /* 41 */ { 4, s_5_41, -1, 1, 0}, @@ -470,27 +470,19 @@ static const symbol s_5[] = { 'u' }; static const symbol s_6[] = { 'e', 'n', 't', 'e' }; static const symbol s_7[] = { 'a', 't' }; static const symbol s_8[] = { 'a', 't' }; -static const symbol s_9[] = { 'e' }; -static const symbol s_10[] = { 'i', 'r' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'g' }; -static const symbol s_13[] = { 'i' }; -static const symbol s_14[] = { 'c' }; -static const symbol s_15[] = { 'c' }; -static const symbol s_16[] = { 'i' }; -static const symbol s_17[] = { 'c' }; +static const symbol s_9[] = { 'i', 'r' }; +static const symbol s_10[] = { 'c' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 36 */ 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 - among_var = find_among(z, a_0, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 37 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 37 */ case 1: { int ret = slice_from_s(z, 2, s_0); /* <-, line 38 */ if (ret < 0) return ret; @@ -516,15 +508,15 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 46 */ + z->I[1] = z->l; /* $p1 = , line 47 */ + z->I[2] = z->l; /* $p2 = , line 48 */ { int c1 = z->c; /* do, line 50 */ { int c2 = z->c; /* or, line 52 */ - if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */ { int c3 = z->c; /* or, line 51 */ - if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4; + if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4; /* non v, line 51 */ { /* gopast */ /* grouping v, line 51 */ int ret = out_grouping_U(z, g_v, 97, 250, 1); if (ret < 0) goto lab4; @@ -533,7 +525,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */ { /* gopast */ /* non v, line 51 */ int ret = in_grouping_U(z, g_v, 97, 250, 1); if (ret < 0) goto lab2; @@ -544,9 +536,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0; + if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0; /* non v, line 53 */ { int c4 = z->c; /* or, line 53 */ - if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6; + if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6; /* non v, line 53 */ { /* gopast */ /* grouping v, line 53 */ int ret = out_grouping_U(z, g_v, 97, 250, 1); if (ret < 0) goto lab6; @@ -555,7 +547,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0; + if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0; /* grouping v, line 53 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; z->c = ret; /* next, line 53 */ @@ -598,17 +590,16 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 62 */ 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 - among_var = find_among(z, a_1, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 63 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 63 */ case 1: { int ret = slice_from_s(z, 2, s_2); /* <-, line 64 */ if (ret < 0) return ret; @@ -634,95 +625,88 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 72 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 73 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 74 */ return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 77 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((839714 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_5, 45); /* substring, line 77 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 77 */ + among_var = find_among_b(z, a_5, 45); if (!(among_var)) return 0; z->bra = z->c; /* ], line 77 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 77 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 93 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 93 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 93 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 98 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 98 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 3, s_4); /* <-, line 98 */ if (ret < 0) return ret; } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 102 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 102 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 1, s_5); /* <-, line 102 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 106 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 106 */ + if (ret <= 0) return ret; } { int ret = slice_from_s(z, 4, s_6); /* <-, line 106 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 110 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 110 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 110 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 111 */ z->ket = z->c; /* [, line 112 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab0; } - among_var = find_among_b(z, a_2, 4); /* substring, line 112 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; } /* substring, line 112 */ + among_var = find_among_b(z, a_2, 4); + if (!(among_var)) { z->c = z->l - m1; goto lab0; } z->bra = z->c; /* ], line 112 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 112 */ + { int ret = r_R2(z); /* call R2, line 112 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 112 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } + switch (among_var) { /* among, line 112 */ case 1: z->ket = z->c; /* [, line 113 */ - if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; } /* literal, line 113 */ z->bra = z->c; /* ], line 113 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 113 */ + { int ret = r_R2(z); /* call R2, line 113 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 113 */ @@ -735,79 +719,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 6: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 122 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 122 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 122 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 123 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 123 */ z->ket = z->c; /* [, line 124 */ - if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_3, 3); /* substring, line 124 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; } /* substring, line 124 */ + if (!(find_among_b(z, a_3, 3))) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 124 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 127 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 127 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 127 */ + if (ret < 0) return ret; } lab1: ; } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 134 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 134 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 134 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 135 */ z->ket = z->c; /* [, line 136 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_4, 3); /* substring, line 136 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m3; goto lab2; } /* substring, line 136 */ + if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 136 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 139 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 139 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 139 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 139 */ + if (ret < 0) return ret; } lab2: ; } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 146 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 146 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 146 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 147 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 147 */ z->ket = z->c; /* [, line 148 */ - if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m_keep; goto lab3; } + if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; } /* literal, line 148 */ z->bra = z->c; /* ], line 148 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 148 */ + { int ret = r_R2(z); /* call R2, line 148 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 148 */ @@ -818,12 +787,12 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 9: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 153 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 153 */ + if (ret <= 0) return ret; } - if (!(eq_s_b(z, 1, s_9))) return 0; - { int ret = slice_from_s(z, 2, s_10); /* <-, line 154 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 153 */ + z->c--; + { int ret = slice_from_s(z, 2, s_9); /* <-, line 154 */ if (ret < 0) return ret; } break; @@ -831,97 +800,81 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 159 */ - int m1 = z->l - z->c; (void)m1; +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 159 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 159 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 160 */ - among_var = find_among_b(z, a_6, 120); /* substring, line 160 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_6, 120))) { z->lb = mlimit1; return 0; } /* substring, line 160 */ z->bra = z->c; /* ], line 160 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } - case 1: - { int ret = slice_del(z); /* delete, line 179 */ - if (ret < 0) return ret; - } - break; + { int ret = slice_del(z); /* delete, line 179 */ + if (ret < 0) return ret; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_residual_suffix(struct SN_env * z) { - int among_var; +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 184 */ - among_var = find_among_b(z, a_7, 7); /* substring, line 184 */ - if (!(among_var)) return 0; + if (!(find_among_b(z, a_7, 7))) return 0; /* substring, line 184 */ z->bra = z->c; /* ], line 184 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 187 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 187 */ - if (ret < 0) return ret; - } - break; + { int ret = r_RV(z); /* call RV, line 187 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 187 */ + if (ret < 0) return ret; } return 1; } -static int r_residual_form(struct SN_env * z) { +static int r_residual_form(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 192 */ among_var = find_among_b(z, a_8, 4); /* substring, line 192 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 192 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 192 */ case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 194 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 194 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 194 */ { int m1 = z->l - z->c; (void)m1; /* or, line 194 */ - if (!(eq_s_b(z, 1, s_11))) goto lab1; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1; /* literal, line 194 */ + z->c--; z->bra = z->c; /* ], line 194 */ - { int m_test = z->l - z->c; /* test, line 194 */ - if (!(eq_s_b(z, 1, s_12))) goto lab1; - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 194 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1; /* literal, line 194 */ + z->c--; + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_13))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 195 */ + z->c--; z->bra = z->c; /* ], line 195 */ - { int m_test = z->l - z->c; /* test, line 195 */ - if (!(eq_s_b(z, 1, s_14))) return 0; - z->c = z->l - m_test; + { int m_test3 = z->l - z->c; /* test, line 195 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0; /* literal, line 195 */ + z->c--; + z->c = z->l - m_test3; } } lab0: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 195 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 195 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 195 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_15); /* <-, line 196 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 196 */ if (ret < 0) return ret; } break; @@ -929,77 +882,77 @@ static int r_residual_form(struct SN_env * z) { return 1; } -extern int portuguese_UTF_8_stem(struct SN_env * z) { +extern int portuguese_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 202 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 203 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 203 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 205 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 209 */ - { int m5 = z->l - z->c; (void)m5; /* and, line 207 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 206 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab6; /* call standard_suffix, line 206 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 205 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 209 */ + { 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 - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 206 */ + 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; } } lab5: - z->c = z->l - m5; - { int m7 = z->l - z->c; (void)m7; /* do, line 207 */ + z->c = z->l - m4; + { int m6 = z->l - z->c; (void)m6; /* do, line 207 */ z->ket = z->c; /* [, line 207 */ - if (!(eq_s_b(z, 1, s_16))) goto lab7; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7; /* literal, line 207 */ + z->c--; z->bra = z->c; /* ], line 207 */ - { int m_test = z->l - z->c; /* test, line 207 */ - if (!(eq_s_b(z, 1, s_17))) goto lab7; - z->c = z->l - m_test; + { 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 */ + z->c--; + z->c = z->l - m_test7; } - { int ret = r_RV(z); - if (ret == 0) goto lab7; /* call RV, line 207 */ + { int ret = r_RV(z); /* call RV, line 207 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 207 */ if (ret < 0) return ret; } lab7: - z->c = z->l - m7; + z->c = z->l - m6; } } goto lab3; lab4: - z->c = z->l - m4; - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab2; /* call residual_suffix, line 209 */ + z->c = z->l - m3; + { int ret = r_residual_suffix(z); /* call residual_suffix, line 209 */ + if (ret == 0) goto lab2; if (ret < 0) return ret; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } { int m8 = z->l - z->c; (void)m8; /* do, line 211 */ - { int ret = r_residual_form(z); - if (ret == 0) goto lab8; /* call residual_form, line 211 */ + { int ret = r_residual_form(z); /* call residual_form, line 211 */ + if (ret == 0) goto lab8; if (ret < 0) return ret; } lab8: @@ -1007,8 +960,8 @@ extern int portuguese_UTF_8_stem(struct SN_env * z) { } z->c = z->lb; { int c9 = z->c; /* do, line 213 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab9; /* call postlude, line 213 */ + { int ret = r_postlude(z); /* call postlude, line 213 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } lab9: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_romanian.c b/src/backend/snowball/libstemmer/stem_UTF_8_romanian.c index e82ebfe95f..0e1e5fcd08 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_romanian.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_romanian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -516,51 +516,50 @@ static const struct among a_5[5] = static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 }; -static const symbol s_0[] = { 'u' }; -static const symbol s_1[] = { 'U' }; +static const symbol s_0[] = { 'U' }; +static const symbol s_1[] = { 'I' }; static const symbol s_2[] = { 'i' }; -static const symbol s_3[] = { 'I' }; -static const symbol s_4[] = { 'i' }; -static const symbol s_5[] = { 'u' }; -static const symbol s_6[] = { 'a' }; -static const symbol s_7[] = { 'e' }; +static const symbol s_3[] = { 'u' }; +static const symbol s_4[] = { 'a' }; +static const symbol s_5[] = { 'e' }; +static const symbol s_6[] = { 'i' }; +static const symbol s_7[] = { 'a', 'b' }; static const symbol s_8[] = { 'i' }; -static const symbol s_9[] = { 'a', 'b' }; -static const symbol s_10[] = { 'i' }; -static const symbol s_11[] = { 'a', 't' }; -static const symbol s_12[] = { 'a', 0xC5, 0xA3, 'i' }; -static const symbol s_13[] = { 'a', 'b', 'i', 'l' }; -static const symbol s_14[] = { 'i', 'b', 'i', 'l' }; -static const symbol s_15[] = { 'i', 'v' }; -static const symbol s_16[] = { 'i', 'c' }; -static const symbol s_17[] = { 'a', 't' }; -static const symbol s_18[] = { 'i', 't' }; -static const symbol s_19[] = { 0xC5, 0xA3 }; -static const symbol s_20[] = { 't' }; -static const symbol s_21[] = { 'i', 's', 't' }; -static const symbol s_22[] = { 'u' }; +static const symbol s_9[] = { 'a', 't' }; +static const symbol s_10[] = { 'a', 0xC5, 0xA3, 'i' }; +static const symbol s_11[] = { 'a', 'b', 'i', 'l' }; +static const symbol s_12[] = { 'i', 'b', 'i', 'l' }; +static const symbol s_13[] = { 'i', 'v' }; +static const symbol s_14[] = { 'i', 'c' }; +static const symbol s_15[] = { 'a', 't' }; +static const symbol s_16[] = { 'i', 't' }; +static const symbol s_17[] = { 0xC5, 0xA3 }; +static const symbol s_18[] = { 't' }; +static const symbol s_19[] = { 'i', 's', 't' }; -static int r_prelude(struct SN_env * z) { +static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 32 */ 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; + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1; /* grouping v, line 33 */ z->bra = z->c; /* [, line 33 */ { int c3 = z->c; /* or, line 33 */ - if (!(eq_s(z, 1, s_0))) goto lab3; + if (z->c == z->l || z->p[z->c] != 'u') goto lab3; /* literal, line 33 */ + z->c++; z->ket = z->c; /* ], line 33 */ - if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab3; - { int ret = slice_from_s(z, 1, s_1); /* <-, line 33 */ + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab3; /* grouping v, line 33 */ + { int ret = slice_from_s(z, 1, s_0); /* <-, line 33 */ if (ret < 0) return ret; } goto lab2; lab3: z->c = c3; - if (!(eq_s(z, 1, s_2))) goto lab1; + if (z->c == z->l || z->p[z->c] != 'i') goto lab1; /* literal, line 34 */ + z->c++; z->ket = z->c; /* ], line 34 */ - if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1; - { int ret = slice_from_s(z, 1, s_3); /* <-, line 34 */ + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1; /* grouping v, line 34 */ + { int ret = slice_from_s(z, 1, s_1); /* <-, line 34 */ if (ret < 0) return ret; } } @@ -582,15 +581,15 @@ static int r_prelude(struct SN_env * z) { return 1; } -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 40 */ + z->I[1] = z->l; /* $p1 = , line 41 */ + z->I[2] = z->l; /* $p2 = , line 42 */ { int c1 = z->c; /* do, line 44 */ { int c2 = z->c; /* or, line 46 */ - if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2; /* grouping v, line 45 */ { int c3 = z->c; /* or, line 45 */ - if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab4; + if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab4; /* non v, line 45 */ { /* gopast */ /* grouping v, line 45 */ int ret = out_grouping_U(z, g_v, 97, 259, 1); if (ret < 0) goto lab4; @@ -599,7 +598,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2; /* grouping v, line 45 */ { /* gopast */ /* non v, line 45 */ int ret = in_grouping_U(z, g_v, 97, 259, 1); if (ret < 0) goto lab2; @@ -610,9 +609,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab0; + if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab0; /* non v, line 47 */ { int c4 = z->c; /* or, line 47 */ - if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab6; + if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab6; /* non v, line 47 */ { /* gopast */ /* grouping v, line 47 */ int ret = out_grouping_U(z, g_v, 97, 259, 1); if (ret < 0) goto lab6; @@ -621,7 +620,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab0; + if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab0; /* grouping v, line 47 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; z->c = ret; /* next, line 47 */ @@ -664,24 +663,23 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 56 */ 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 - among_var = find_among(z, a_0, 3); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 58 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 58 */ case 1: - { int ret = slice_from_s(z, 1, s_4); /* <-, line 59 */ + { int ret = slice_from_s(z, 1, s_2); /* <-, line 59 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 60 */ + { int ret = slice_from_s(z, 1, s_3); /* <-, line 60 */ if (ret < 0) return ret; } break; @@ -700,72 +698,70 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 68 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 69 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 70 */ return 1; } -static int r_step_0(struct SN_env * z) { +static int r_step_0(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 73 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_1, 16); /* substring, line 73 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 73 */ + among_var = find_among_b(z, a_1, 16); if (!(among_var)) return 0; z->bra = z->c; /* ], line 73 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 73 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 73 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 73 */ case 1: { int ret = slice_del(z); /* delete, line 75 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 77 */ + { int ret = slice_from_s(z, 1, s_4); /* <-, line 77 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 79 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 1, s_8); /* <-, line 81 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 81 */ if (ret < 0) return ret; } break; case 5: { int m1 = z->l - z->c; (void)m1; /* not, line 83 */ - if (!(eq_s_b(z, 2, s_9))) goto lab0; + if (!(eq_s_b(z, 2, s_7))) goto lab0; /* literal, line 83 */ return 0; lab0: z->c = z->l - m1; } - { int ret = slice_from_s(z, 1, s_10); /* <-, line 83 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 83 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 2, s_11); /* <-, line 85 */ + { int ret = slice_from_s(z, 2, s_9); /* <-, line 85 */ if (ret < 0) return ret; } break; case 7: - { int ret = slice_from_s(z, 4, s_12); /* <-, line 87 */ + { int ret = slice_from_s(z, 4, s_10); /* <-, line 87 */ if (ret < 0) return ret; } break; @@ -773,63 +769,61 @@ static int r_step_0(struct SN_env * z) { return 1; } -static int r_combo_suffix(struct SN_env * z) { +static int r_combo_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m_test = z->l - z->c; /* test, line 91 */ + { int m_test1 = z->l - z->c; /* test, line 91 */ z->ket = z->c; /* [, line 92 */ among_var = find_among_b(z, a_2, 46); /* substring, line 92 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 92 */ - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 92 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 92 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 93 */ case 1: - { int ret = slice_from_s(z, 4, s_13); /* <-, line 101 */ + { int ret = slice_from_s(z, 4, s_11); /* <-, line 101 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 4, s_14); /* <-, line 104 */ + { int ret = slice_from_s(z, 4, s_12); /* <-, line 104 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 2, s_15); /* <-, line 107 */ + { int ret = slice_from_s(z, 2, s_13); /* <-, line 107 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 2, s_16); /* <-, line 113 */ + { int ret = slice_from_s(z, 2, s_14); /* <-, line 113 */ if (ret < 0) return ret; } break; case 5: - { int ret = slice_from_s(z, 2, s_17); /* <-, line 118 */ + { int ret = slice_from_s(z, 2, s_15); /* <-, line 118 */ if (ret < 0) return ret; } break; case 6: - { int ret = slice_from_s(z, 2, s_18); /* <-, line 122 */ + { int ret = slice_from_s(z, 2, s_16); /* <-, line 122 */ if (ret < 0) return ret; } break; } z->B[0] = 1; /* set standard_suffix_removed, line 125 */ - z->c = z->l - m_test; + z->c = z->l - m_test1; } return 1; } -static int r_standard_suffix(struct SN_env * z) { +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; - { int ret = r_combo_suffix(z); - if (ret == 0) goto lab0; /* call combo_suffix, line 131 */ + { int ret = r_combo_suffix(z); /* call combo_suffix, line 131 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } continue; @@ -841,26 +835,24 @@ static int r_standard_suffix(struct SN_env * z) { among_var = find_among_b(z, a_3, 62); /* substring, line 132 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 132 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 132 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 132 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 133 */ case 1: { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } break; case 2: - if (!(eq_s_b(z, 2, s_19))) return 0; + if (!(eq_s_b(z, 2, s_17))) return 0; /* literal, line 152 */ z->bra = z->c; /* ], line 152 */ - { int ret = slice_from_s(z, 1, s_20); /* <-, line 152 */ + { int ret = slice_from_s(z, 1, s_18); /* <-, line 152 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_19); /* <-, line 156 */ if (ret < 0) return ret; } break; @@ -869,27 +861,25 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 164 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 164 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 164 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 165 */ among_var = find_among_b(z, a_4, 94); /* substring, line 165 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 165 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 165 */ case 1: { int m2 = z->l - z->c; (void)m2; /* or, line 200 */ - if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab1; + if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab1; /* non v, line 200 */ goto lab0; lab1: z->c = z->l - m2; - if (!(eq_s_b(z, 1, s_22))) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; } /* literal, line 200 */ + z->c--; } lab0: { int ret = slice_del(z); /* delete, line 200 */ @@ -902,98 +892,88 @@ static int r_verb_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_vowel_suffix(struct SN_env * z) { - int among_var; +static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 219 */ - among_var = find_among_b(z, a_5, 5); /* substring, line 219 */ - if (!(among_var)) return 0; + if (!(find_among_b(z, a_5, 5))) return 0; /* substring, line 219 */ z->bra = z->c; /* ], line 219 */ - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 219 */ + { int ret = r_RV(z); /* call RV, line 219 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 220 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 220 */ - if (ret < 0) return ret; - } - break; - } return 1; } -extern int romanian_UTF_8_stem(struct SN_env * z) { +extern int romanian_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 226 */ - { int ret = r_prelude(z); - if (ret == 0) goto lab0; /* call prelude, 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; } - { int c2 = z->c; /* do, line 227 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab1; /* call mark_regions, line 227 */ - if (ret < 0) return ret; - } - lab1: - z->c = c2; + /* 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 m3 = z->l - z->c; (void)m3; /* do, line 229 */ - { int ret = r_step_0(z); - if (ret == 0) goto lab2; /* call step_0, line 229 */ + { 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 - m3; + z->c = z->l - m2; } - { int m4 = z->l - z->c; (void)m4; /* do, line 230 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab3; /* call standard_suffix, line 230 */ + { 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 - m4; + z->c = z->l - m3; } - { int m5 = z->l - z->c; (void)m5; /* do, line 231 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 231 */ + { 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: - z->c = z->l - m6; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab4; /* call verb_suffix, line 231 */ + z->c = z->l - m5; + { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: lab4: - z->c = z->l - m5; + z->c = z->l - m4; } - { int m7 = z->l - z->c; (void)m7; /* do, line 232 */ - { int ret = r_vowel_suffix(z); - if (ret == 0) goto lab7; /* call vowel_suffix, line 232 */ + { 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 - m7; + z->c = z->l - m6; } z->c = z->lb; - { int c8 = z->c; /* do, line 234 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab8; /* call postlude, line 234 */ + { 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 = c8; + z->c = c7; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_russian.c b/src/backend/snowball/libstemmer/stem_UTF_8_russian.c index fcbcc6cf46..5e5fd20fa3 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_russian.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_russian.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -349,68 +349,69 @@ static const symbol s_5[] = { 0xD1, 0x8F }; static const symbol s_6[] = { 0xD0, 0xBD }; static const symbol s_7[] = { 0xD0, 0xBD }; static const symbol s_8[] = { 0xD0, 0xBD }; -static const symbol s_9[] = { 0xD0, 0xB8 }; +static const symbol s_9[] = { 0xD1, 0x91 }; +static const symbol s_10[] = { 0xD0, 0xB5 }; +static const symbol s_11[] = { 0xD0, 0xB8 }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - { int c1 = z->c; /* do, line 61 */ - { /* gopast */ /* grouping v, line 62 */ +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 61 */ + z->I[1] = z->l; /* $p2 = , line 62 */ + { int c1 = z->c; /* do, line 63 */ + { /* gopast */ /* grouping v, line 64 */ int ret = out_grouping_U(z, g_v, 1072, 1103, 1); if (ret < 0) goto lab0; z->c += ret; } - z->I[0] = z->c; /* setmark pV, line 62 */ - { /* gopast */ /* non v, line 62 */ + z->I[0] = z->c; /* setmark pV, line 64 */ + { /* gopast */ /* non v, line 64 */ int ret = in_grouping_U(z, g_v, 1072, 1103, 1); if (ret < 0) goto lab0; z->c += ret; } - { /* gopast */ /* grouping v, line 63 */ + { /* gopast */ /* grouping v, line 65 */ int ret = out_grouping_U(z, g_v, 1072, 1103, 1); if (ret < 0) goto lab0; z->c += ret; } - { /* gopast */ /* non v, line 63 */ + { /* gopast */ /* non v, line 65 */ int ret = in_grouping_U(z, g_v, 1072, 1103, 1); if (ret < 0) goto lab0; z->c += ret; } - z->I[1] = z->c; /* setmark p2, line 63 */ + z->I[1] = z->c; /* setmark p2, line 65 */ lab0: z->c = c1; } return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 71 */ return 1; } -static int r_perfective_gerund(struct SN_env * z) { +static int r_perfective_gerund(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 72 */ - among_var = find_among_b(z, a_0, 9); /* substring, line 72 */ + z->ket = z->c; /* [, line 74 */ + among_var = find_among_b(z, a_0, 9); /* substring, line 74 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 72 */ - switch(among_var) { - case 0: return 0; + z->bra = z->c; /* ], line 74 */ + switch (among_var) { /* among, line 74 */ case 1: - { int m1 = z->l - z->c; (void)m1; /* or, line 76 */ - if (!(eq_s_b(z, 2, s_0))) goto lab1; + { int m1 = z->l - z->c; (void)m1; /* or, line 78 */ + if (!(eq_s_b(z, 2, s_0))) goto lab1; /* literal, line 78 */ goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_1))) return 0; + if (!(eq_s_b(z, 2, s_1))) return 0; /* literal, line 78 */ } lab0: - { int ret = slice_del(z); /* delete, line 76 */ + { int ret = slice_del(z); /* delete, line 78 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 83 */ + { int ret = slice_del(z); /* delete, line 85 */ if (ret < 0) return ret; } break; @@ -418,51 +419,42 @@ static int r_perfective_gerund(struct SN_env * z) { return 1; } -static int r_adjective(struct SN_env * z) { - int among_var; - z->ket = z->c; /* [, line 88 */ - among_var = find_among_b(z, a_1, 26); /* substring, line 88 */ - if (!(among_var)) return 0; - z->bra = z->c; /* ], line 88 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 97 */ - if (ret < 0) return ret; - } - break; - } - return 1; -} - -static int r_adjectival(struct SN_env * z) { - int among_var; - { int ret = r_adjective(z); - if (ret == 0) return 0; /* call adjective, line 102 */ +static int r_adjective(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 90 */ + if (!(find_among_b(z, a_1, 26))) return 0; /* substring, line 90 */ + z->bra = z->c; /* ], line 90 */ + { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 109 */ - z->ket = z->c; /* [, line 110 */ - among_var = find_among_b(z, a_2, 8); /* substring, line 110 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab0; } - z->bra = z->c; /* ], line 110 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab0; } + return 1; +} + +static int r_adjectival(struct SN_env * z) { /* backwardmode */ + int among_var; + { int ret = r_adjective(z); /* call adjective, line 104 */ + if (ret <= 0) return ret; + } + { int m1 = z->l - z->c; (void)m1; /* try, line 111 */ + z->ket = z->c; /* [, line 112 */ + among_var = find_among_b(z, a_2, 8); /* substring, line 112 */ + if (!(among_var)) { z->c = z->l - m1; goto lab0; } + z->bra = z->c; /* ], line 112 */ + switch (among_var) { /* among, line 112 */ case 1: - { int m1 = z->l - z->c; (void)m1; /* or, line 115 */ - if (!(eq_s_b(z, 2, s_2))) goto lab2; + { int m2 = z->l - z->c; (void)m2; /* or, line 117 */ + if (!(eq_s_b(z, 2, s_2))) goto lab2; /* literal, line 117 */ goto lab1; lab2: - z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_3))) { z->c = z->l - m_keep; goto lab0; } + z->c = z->l - m2; + if (!(eq_s_b(z, 2, s_3))) { z->c = z->l - m1; goto lab0; } /* literal, line 117 */ } lab1: - { int ret = slice_del(z); /* delete, line 115 */ + { int ret = slice_del(z); /* delete, line 117 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 122 */ + { int ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } break; @@ -473,47 +465,39 @@ static int r_adjectival(struct SN_env * z) { return 1; } -static int r_reflexive(struct SN_env * z) { - int among_var; - z->ket = z->c; /* [, line 129 */ - if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 140 && z->p[z->c - 1] != 143)) return 0; - among_var = find_among_b(z, a_3, 2); /* substring, line 129 */ - if (!(among_var)) return 0; - z->bra = z->c; /* ], line 129 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 132 */ - if (ret < 0) return ret; - } - break; +static int r_reflexive(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 131 */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 140 && z->p[z->c - 1] != 143)) return 0; /* substring, line 131 */ + if (!(find_among_b(z, a_3, 2))) return 0; + z->bra = z->c; /* ], line 131 */ + { int ret = slice_del(z); /* delete, line 134 */ + if (ret < 0) return ret; } return 1; } -static int r_verb(struct SN_env * z) { +static int r_verb(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 137 */ - among_var = find_among_b(z, a_4, 46); /* substring, line 137 */ + z->ket = z->c; /* [, line 139 */ + among_var = find_among_b(z, a_4, 46); /* substring, line 139 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 137 */ - switch(among_var) { - case 0: return 0; + z->bra = z->c; /* ], line 139 */ + switch (among_var) { /* among, line 139 */ case 1: - { int m1 = z->l - z->c; (void)m1; /* or, line 143 */ - if (!(eq_s_b(z, 2, s_4))) goto lab1; + { int m1 = z->l - z->c; (void)m1; /* or, line 145 */ + if (!(eq_s_b(z, 2, s_4))) goto lab1; /* literal, line 145 */ goto lab0; lab1: z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_5))) return 0; + if (!(eq_s_b(z, 2, s_5))) return 0; /* literal, line 145 */ } lab0: - { int ret = slice_del(z); /* delete, line 143 */ + { int ret = slice_del(z); /* delete, line 145 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 151 */ + { int ret = slice_del(z); /* delete, line 153 */ if (ret < 0) return ret; } break; @@ -521,168 +505,175 @@ static int r_verb(struct SN_env * z) { return 1; } -static int r_noun(struct SN_env * z) { - int among_var; - z->ket = z->c; /* [, line 160 */ - among_var = find_among_b(z, a_5, 36); /* substring, line 160 */ - if (!(among_var)) return 0; - z->bra = z->c; /* ], line 160 */ - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 167 */ - if (ret < 0) return ret; - } - break; - } - return 1; -} - -static int r_derivational(struct SN_env * z) { - int among_var; - z->ket = z->c; /* [, line 176 */ - if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 130 && z->p[z->c - 1] != 140)) return 0; - among_var = find_among_b(z, a_6, 2); /* substring, line 176 */ - if (!(among_var)) return 0; - z->bra = z->c; /* ], line 176 */ - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 176 */ +static int r_noun(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 162 */ + if (!(find_among_b(z, a_5, 36))) return 0; /* substring, line 162 */ + z->bra = z->c; /* ], line 162 */ + { int ret = slice_del(z); /* delete, line 169 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: return 0; - case 1: - { int ret = slice_del(z); /* delete, line 179 */ - if (ret < 0) return ret; - } - break; + return 1; +} + +static int r_derivational(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 178 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 130 && z->p[z->c - 1] != 140)) return 0; /* substring, line 178 */ + if (!(find_among_b(z, a_6, 2))) return 0; + z->bra = z->c; /* ], line 178 */ + { int ret = r_R2(z); /* call R2, line 178 */ + if (ret <= 0) return ret; + } + { int ret = slice_del(z); /* delete, line 181 */ + if (ret < 0) return ret; } return 1; } -static int r_tidy_up(struct SN_env * z) { +static int r_tidy_up(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 184 */ - among_var = find_among_b(z, a_7, 4); /* substring, line 184 */ + z->ket = z->c; /* [, line 186 */ + among_var = find_among_b(z, a_7, 4); /* substring, line 186 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 184 */ - switch(among_var) { - case 0: return 0; + z->bra = z->c; /* ], line 186 */ + switch (among_var) { /* among, line 186 */ case 1: - { int ret = slice_del(z); /* delete, line 188 */ + { int ret = slice_del(z); /* delete, line 190 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 189 */ - if (!(eq_s_b(z, 2, s_6))) return 0; - z->bra = z->c; /* ], line 189 */ - if (!(eq_s_b(z, 2, s_7))) return 0; - { int ret = slice_del(z); /* delete, line 189 */ + z->ket = z->c; /* [, line 191 */ + if (!(eq_s_b(z, 2, s_6))) return 0; /* literal, line 191 */ + z->bra = z->c; /* ], line 191 */ + if (!(eq_s_b(z, 2, s_7))) return 0; /* literal, line 191 */ + { int ret = slice_del(z); /* delete, line 191 */ if (ret < 0) return ret; } break; case 2: - if (!(eq_s_b(z, 2, s_8))) return 0; - { int ret = slice_del(z); /* delete, line 192 */ - if (ret < 0) return ret; - } - break; - case 3: + if (!(eq_s_b(z, 2, s_8))) return 0; /* literal, line 194 */ { int ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } break; + case 3: + { int ret = slice_del(z); /* delete, line 196 */ + if (ret < 0) return ret; + } + break; } return 1; } -extern int russian_UTF_8_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 201 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 201 */ - if (ret < 0) return ret; +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; + while(1) { /* goto, line 205 */ + int c3 = z->c; + z->bra = z->c; /* [, line 205 */ + if (!(eq_s(z, 2, s_9))) goto lab2; /* literal, line 205 */ + z->ket = z->c; /* ], line 205 */ + z->c = c3; + break; + lab2: + z->c = c3; + { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); + if (ret < 0) goto lab1; + z->c = ret; /* goto, line 205 */ + } + } + { int ret = slice_from_s(z, 2, s_10); /* <-, line 205 */ + if (ret < 0) return ret; + } + continue; + lab1: + z->c = c2; + break; } - lab0: z->c = c1; } - z->lb = z->c; z->c = z->l; /* backwards, line 202 */ + /* 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 */ - { int mlimit; /* setlimit, line 202 */ - int m2 = z->l - z->c; (void)m2; + + { int mlimit4; /* setlimit, line 208 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 202 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m2; - { int m3 = z->l - z->c; (void)m3; /* do, line 203 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 204 */ - { int ret = r_perfective_gerund(z); - if (ret == 0) goto lab3; /* call perfective_gerund, line 204 */ + mlimit4 = z->lb; z->lb = z->I[0]; + { 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) return ret; } - goto lab2; - lab3: - z->c = z->l - m4; - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 205 */ - { int ret = r_reflexive(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call reflexive, line 205 */ + goto lab5; + lab6: + 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) return ret; } - lab4: + lab7: ; } - { int m5 = z->l - z->c; (void)m5; /* or, line 206 */ - { int ret = r_adjectival(z); - if (ret == 0) goto lab6; /* call adjectival, line 206 */ + { int m8 = z->l - z->c; (void)m8; /* or, line 212 */ + { int ret = r_adjectival(z); /* call adjectival, line 212 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } - goto lab5; - lab6: - z->c = z->l - m5; - { int ret = r_verb(z); - if (ret == 0) goto lab7; /* call verb, line 206 */ + goto lab8; + 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 lab5; - lab7: - z->c = z->l - m5; - { int ret = r_noun(z); - if (ret == 0) goto lab1; /* call noun, line 206 */ + 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) return ret; } } - lab5: + lab8: ; } - lab2: - lab1: - z->c = z->l - m3; + lab5: + lab4: + z->c = z->l - m5; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 209 */ - z->ket = z->c; /* [, line 209 */ - if (!(eq_s_b(z, 2, s_9))) { z->c = z->l - m_keep; goto lab8; } - z->bra = z->c; /* ], line 209 */ - { int ret = slice_del(z); /* delete, line 209 */ + { 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 */ + z->bra = z->c; /* ], line 215 */ + { int ret = slice_del(z); /* delete, line 215 */ if (ret < 0) return ret; } - lab8: + lab11: ; } - { int m6 = z->l - z->c; (void)m6; /* do, line 212 */ - { int ret = r_derivational(z); - if (ret == 0) goto lab9; /* call derivational, line 212 */ + { 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; } - lab9: - z->c = z->l - m6; + lab12: + z->c = z->l - m10; } - { int m7 = z->l - z->c; (void)m7; /* do, line 213 */ - { int ret = r_tidy_up(z); - if (ret == 0) goto lab10; /* call tidy_up, line 213 */ + { 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; } - lab10: - z->c = z->l - m7; + lab13: + z->c = z->l - m11; } - z->lb = mlimit; + z->lb = mlimit4; } z->c = z->lb; return 1; diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_spanish.c b/src/backend/snowball/libstemmer/stem_UTF_8_spanish.c index 5ac83fdc1d..a3755d4d84 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_spanish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_spanish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -497,28 +497,22 @@ static const symbol s_6[] = { 'a', 'n', 'd', 'o' }; static const symbol s_7[] = { 'a', 'r' }; static const symbol s_8[] = { 'e', 'r' }; static const symbol s_9[] = { 'i', 'r' }; -static const symbol s_10[] = { 'u' }; -static const symbol s_11[] = { 'i', 'c' }; -static const symbol s_12[] = { 'l', 'o', 'g' }; -static const symbol s_13[] = { 'u' }; -static const symbol s_14[] = { 'e', 'n', 't', 'e' }; +static const symbol s_10[] = { 'i', 'c' }; +static const symbol s_11[] = { 'l', 'o', 'g' }; +static const symbol s_12[] = { 'u' }; +static const symbol s_13[] = { 'e', 'n', 't', 'e' }; +static const symbol s_14[] = { 'a', 't' }; static const symbol s_15[] = { 'a', 't' }; -static const symbol s_16[] = { 'a', 't' }; -static const symbol s_17[] = { 'u' }; -static const symbol s_18[] = { 'u' }; -static const symbol s_19[] = { 'g' }; -static const symbol s_20[] = { 'u' }; -static const symbol s_21[] = { 'g' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - z->I[1] = z->l; - z->I[2] = z->l; +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $pV = , line 33 */ + z->I[1] = z->l; /* $p1 = , line 34 */ + z->I[2] = z->l; /* $p2 = , line 35 */ { int c1 = z->c; /* do, line 37 */ { int c2 = z->c; /* or, line 39 */ - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2; /* grouping v, line 38 */ { int c3 = z->c; /* or, line 38 */ - if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4; + if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4; /* non v, line 38 */ { /* gopast */ /* grouping v, line 38 */ int ret = out_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) goto lab4; @@ -527,7 +521,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab3; lab4: z->c = c3; - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2; + if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2; /* grouping v, line 38 */ { /* gopast */ /* non v, line 38 */ int ret = in_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) goto lab2; @@ -538,9 +532,9 @@ static int r_mark_regions(struct SN_env * z) { goto lab1; lab2: z->c = c2; - if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0; + if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0; /* non v, line 40 */ { int c4 = z->c; /* or, line 40 */ - if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6; + if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6; /* non v, line 40 */ { /* gopast */ /* grouping v, line 40 */ int ret = out_grouping_U(z, g_v, 97, 252, 1); if (ret < 0) goto lab6; @@ -549,7 +543,7 @@ static int r_mark_regions(struct SN_env * z) { goto lab5; lab6: z->c = c4; - if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0; + if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0; /* grouping v, line 40 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; z->c = ret; /* next, line 40 */ @@ -592,17 +586,16 @@ static int r_mark_regions(struct SN_env * z) { return 1; } -static int r_postlude(struct SN_env * z) { +static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; while(1) { /* repeat, line 49 */ 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 - among_var = find_among(z, a_0, 6); /* substring, 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); if (!(among_var)) goto lab0; z->ket = z->c; /* ], line 50 */ - switch(among_var) { - case 0: goto lab0; + switch (among_var) { /* among, line 50 */ case 1: { int ret = slice_from_s(z, 1, s_0); /* <-, line 51 */ if (ret < 0) return ret; @@ -643,36 +636,34 @@ static int r_postlude(struct SN_env * z) { return 1; } -static int r_RV(struct SN_env * z) { - if (!(z->I[0] <= z->c)) return 0; +static int r_RV(struct SN_env * z) { /* backwardmode */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 63 */ return 1; } -static int r_R1(struct SN_env * z) { - if (!(z->I[1] <= z->c)) return 0; +static int r_R1(struct SN_env * z) { /* backwardmode */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 64 */ return 1; } -static int r_R2(struct SN_env * z) { - if (!(z->I[2] <= z->c)) return 0; +static int r_R2(struct SN_env * z) { /* backwardmode */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 65 */ return 1; } -static int r_attached_pronoun(struct SN_env * z) { +static int r_attached_pronoun(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 68 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_1, 13))) return 0; /* substring, line 68 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 68 */ + if (!(find_among_b(z, a_1, 13))) return 0; z->bra = z->c; /* ], line 68 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; - among_var = find_among_b(z, a_2, 11); /* substring, line 72 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0; /* substring, line 72 */ + among_var = find_among_b(z, a_2, 11); if (!(among_var)) return 0; - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 72 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 72 */ + if (ret <= 0) return ret; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 72 */ case 1: z->bra = z->c; /* ], line 73 */ { int ret = slice_from_s(z, 5, s_5); /* <-, line 73 */ @@ -709,7 +700,8 @@ static int r_attached_pronoun(struct SN_env * z) { } break; case 7: - if (!(eq_s_b(z, 1, s_10))) return 0; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0; /* literal, line 82 */ + z->c--; { int ret = slice_del(z); /* delete, line 82 */ if (ret < 0) return ret; } @@ -718,38 +710,35 @@ static int r_attached_pronoun(struct SN_env * z) { return 1; } -static int r_standard_suffix(struct SN_env * z) { +static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 87 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - among_var = find_among_b(z, a_6, 46); /* substring, line 87 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 87 */ + among_var = find_among_b(z, a_6, 46); if (!(among_var)) return 0; z->bra = z->c; /* ], line 87 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 87 */ case 1: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 99 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 99 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 99 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 105 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 105 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 105 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 106 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 106 */ z->ket = z->c; /* [, line 106 */ - if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab0; } + if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m1; goto lab0; } /* literal, line 106 */ z->bra = z->c; /* ], line 106 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 106 */ + { int ret = r_R2(z); /* call R2, line 106 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 106 */ @@ -760,61 +749,56 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 3: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 111 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 111 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_12); /* <-, line 111 */ + { int ret = slice_from_s(z, 3, s_11); /* <-, line 111 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 115 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 115 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_13); /* <-, line 115 */ + { int ret = slice_from_s(z, 1, s_12); /* <-, line 115 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 119 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 119 */ + if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 4, s_14); /* <-, line 119 */ + { int ret = slice_from_s(z, 4, s_13); /* <-, line 119 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_R1(z); - if (ret == 0) return 0; /* call R1, line 123 */ - if (ret < 0) return ret; + { int ret = r_R1(z); /* call R1, line 123 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 123 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 124 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 124 */ z->ket = z->c; /* [, line 125 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab1; } - among_var = find_among_b(z, a_3, 4); /* substring, line 125 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab1; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; } /* substring, line 125 */ + among_var = find_among_b(z, a_3, 4); + if (!(among_var)) { z->c = z->l - m2; goto lab1; } z->bra = z->c; /* ], line 125 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 125 */ + { int ret = r_R2(z); /* call R2, line 125 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab1; } + switch (among_var) { /* among, line 125 */ case 1: z->ket = z->c; /* [, line 126 */ - if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab1; } + if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m2; goto lab1; } /* literal, line 126 */ z->bra = z->c; /* ], line 126 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 126 */ + { int ret = r_R2(z); /* call R2, line 126 */ + if (ret == 0) { z->c = z->l - m2; goto lab1; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 126 */ @@ -827,79 +811,64 @@ static int r_standard_suffix(struct SN_env * z) { } break; case 7: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 135 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 135 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 135 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 136 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 136 */ z->ket = z->c; /* [, line 137 */ - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m_keep; goto lab2; } - among_var = find_among_b(z, a_4, 3); /* substring, line 137 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab2; } + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m3; goto lab2; } /* substring, line 137 */ + if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; } z->bra = z->c; /* ], line 137 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab2; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 140 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 140 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 140 */ + if (ret == 0) { z->c = z->l - m3; goto lab2; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 140 */ + if (ret < 0) return ret; } lab2: ; } break; case 8: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 147 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 147 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 147 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 148 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 148 */ z->ket = z->c; /* [, line 149 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab3; } - among_var = find_among_b(z, a_5, 3); /* substring, line 149 */ - if (!(among_var)) { z->c = z->l - m_keep; goto lab3; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m4; goto lab3; } /* substring, line 149 */ + if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m4; goto lab3; } z->bra = z->c; /* ], line 149 */ - switch(among_var) { - case 0: { z->c = z->l - m_keep; goto lab3; } - case 1: - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 152 */ - if (ret < 0) return ret; - } - { int ret = slice_del(z); /* delete, line 152 */ - if (ret < 0) return ret; - } - break; + { int ret = r_R2(z); /* call R2, line 152 */ + if (ret == 0) { z->c = z->l - m4; goto lab3; } + if (ret < 0) return ret; + } + { int ret = slice_del(z); /* delete, line 152 */ + if (ret < 0) return ret; } lab3: ; } break; case 9: - { int ret = r_R2(z); - if (ret == 0) return 0; /* call R2, line 159 */ - if (ret < 0) return ret; + { int ret = r_R2(z); /* call R2, line 159 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 159 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 160 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 160 */ z->ket = z->c; /* [, line 161 */ - if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m_keep; goto lab4; } + if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m5; goto lab4; } /* literal, line 161 */ z->bra = z->c; /* ], line 161 */ - { int ret = r_R2(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call R2, line 161 */ + { int ret = r_R2(z); /* call R2, line 161 */ + if (ret == 0) { z->c = z->l - m5; goto lab4; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 161 */ @@ -913,54 +882,45 @@ static int r_standard_suffix(struct SN_env * z) { return 1; } -static int r_y_verb_suffix(struct SN_env * z) { - int among_var; - { int mlimit; /* setlimit, line 168 */ - int m1 = z->l - z->c; (void)m1; +static int r_y_verb_suffix(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 168 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 168 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 168 */ - among_var = find_among_b(z, a_7, 12); /* substring, line 168 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(find_among_b(z, a_7, 12))) { z->lb = mlimit1; return 0; } /* substring, line 168 */ z->bra = z->c; /* ], line 168 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; - case 1: - if (!(eq_s_b(z, 1, s_17))) return 0; - { int ret = slice_del(z); /* delete, line 171 */ - if (ret < 0) return ret; - } - break; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0; /* literal, line 171 */ + z->c--; + { int ret = slice_del(z); /* delete, line 171 */ + if (ret < 0) return ret; } return 1; } -static int r_verb_suffix(struct SN_env * z) { +static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 176 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 176 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 176 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 176 */ among_var = find_among_b(z, a_8, 96); /* substring, line 176 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 176 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 176 */ case 1: - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 179 */ - if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m_keep; goto lab0; } - { int m_test = z->l - z->c; /* test, line 179 */ - if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m2 = z->l - z->c; (void)m2; /* try, line 179 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m2; goto lab0; } /* literal, line 179 */ + z->c--; + { int m_test3 = z->l - z->c; /* test, line 179 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m2; goto lab0; } /* literal, line 179 */ + z->c--; + z->c = z->l - m_test3; } lab0: ; @@ -979,41 +939,40 @@ static int r_verb_suffix(struct SN_env * z) { return 1; } -static int r_residual_suffix(struct SN_env * z) { +static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; z->ket = z->c; /* [, line 205 */ among_var = find_among_b(z, a_9, 8); /* substring, line 205 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 205 */ - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 205 */ case 1: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 208 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 208 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 208 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_RV(z); - if (ret == 0) return 0; /* call RV, line 210 */ - if (ret < 0) return ret; + { int ret = r_RV(z); /* call RV, line 210 */ + if (ret <= 0) return ret; } { int ret = slice_del(z); /* delete, line 210 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 210 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 210 */ z->ket = z->c; /* [, line 210 */ - if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; } + if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m1; goto lab0; } /* literal, line 210 */ + z->c--; z->bra = z->c; /* ], line 210 */ - { int m_test = z->l - z->c; /* test, line 210 */ - if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab0; } - z->c = z->l - m_test; + { int m_test2 = z->l - z->c; /* test, line 210 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m1; goto lab0; } /* literal, line 210 */ + z->c--; + z->c = z->l - m_test2; } - { int ret = r_RV(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 210 */ + { int ret = r_RV(z); /* call RV, line 210 */ + if (ret == 0) { z->c = z->l - m1; goto lab0; } if (ret < 0) return ret; } { int ret = slice_del(z); /* delete, line 210 */ @@ -1027,66 +986,64 @@ static int r_residual_suffix(struct SN_env * z) { return 1; } -extern int spanish_UTF_8_stem(struct SN_env * z) { - { int c1 = z->c; /* do, line 216 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 216 */ - if (ret < 0) return ret; - } - lab0: - z->c = c1; +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 m2 = z->l - z->c; (void)m2; /* do, line 218 */ - { int ret = r_attached_pronoun(z); - if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */ + { 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 - m2; + z->c = z->l - m1; } - { int m3 = z->l - z->c; (void)m3; /* do, line 219 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 219 */ - { int ret = r_standard_suffix(z); - if (ret == 0) goto lab4; /* call standard_suffix, line 219 */ + { 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 - m4; - { int ret = r_y_verb_suffix(z); - if (ret == 0) goto lab5; /* call y_verb_suffix, line 220 */ + 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 - m4; - { int ret = r_verb_suffix(z); - if (ret == 0) goto lab2; /* call verb_suffix, line 221 */ + 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; } } lab3: lab2: - z->c = z->l - m3; + z->c = z->l - m2; } - { int m5 = z->l - z->c; (void)m5; /* do, line 223 */ - { int ret = r_residual_suffix(z); - if (ret == 0) goto lab6; /* call residual_suffix, line 223 */ + { 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 - m5; + z->c = z->l - m4; } z->c = z->lb; - { int c6 = z->c; /* do, line 225 */ - { int ret = r_postlude(z); - if (ret == 0) goto lab7; /* call postlude, line 225 */ + { 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 = c6; + z->c = c5; } return 1; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_swedish.c b/src/backend/snowball/libstemmer/stem_UTF_8_swedish.c index 1372cec1ee..c47777d7c5 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_swedish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_swedish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -146,15 +146,15 @@ static const unsigned char g_s_ending[] = { 119, 127, 149 }; static const symbol s_0[] = { 'l', 0xC3, 0xB6, 's' }; static const symbol s_1[] = { 'f', 'u', 'l', 'l' }; -static int r_mark_regions(struct SN_env * z) { - z->I[0] = z->l; - { int c_test = z->c; /* test, line 29 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); +static int r_mark_regions(struct SN_env * z) { /* forwardmode */ + z->I[0] = z->l; /* $p1 = , line 28 */ + { int c_test1 = z->c; /* test, line 29 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 29 */ if (ret < 0) return 0; - z->c = ret; /* hop, line 29 */ + z->c = ret; } z->I[1] = z->c; /* setmark x, line 29 */ - z->c = c_test; + z->c = c_test1; } if (out_grouping_U(z, g_v, 97, 246, 1) < 0) return 0; /* goto */ /* grouping v, line 30 */ { /* gopast */ /* non v, line 30 */ @@ -163,37 +163,34 @@ static int r_mark_regions(struct SN_env * z) { z->c += ret; } z->I[0] = z->c; /* setmark p1, line 30 */ - /* try, line 31 */ - if (!(z->I[0] < z->I[1])) goto lab0; - z->I[0] = z->I[1]; + /* try, line 31 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 31 */ + z->I[0] = z->I[1]; /* $p1 = , line 31 */ lab0: return 1; } -static int r_main_suffix(struct SN_env * z) { +static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 37 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 37 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 37 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 37 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_0, 37); /* substring, line 37 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 37 */ + among_var = find_among_b(z, a_0, 37); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 37 */ - z->lb = mlimit; + z->lb = mlimit1; } - switch(among_var) { - case 0: return 0; + switch (among_var) { /* among, line 38 */ case 1: { int ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b_U(z, g_s_ending, 98, 121, 0)) return 0; + if (in_grouping_b_U(z, g_s_ending, 98, 121, 0)) return 0; /* grouping s_ending, line 46 */ { int ret = slice_del(z); /* delete, line 46 */ if (ret < 0) return ret; } @@ -202,20 +199,18 @@ static int r_main_suffix(struct SN_env * z) { return 1; } -static int r_consonant_pair(struct SN_env * z) { - { int mlimit; /* setlimit, line 50 */ - int m1 = z->l - z->c; (void)m1; +static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ + + { int mlimit1; /* setlimit, line 50 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 50 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; { int m2 = z->l - z->c; (void)m2; /* and, line 52 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - if (!(find_among_b(z, a_1, 7))) { z->lb = mlimit; return 0; } /* among, line 51 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* among, line 51 */ + if (!(find_among_b(z, a_1, 7))) { z->lb = mlimit1; return 0; } z->c = z->l - m2; z->ket = z->c; /* [, line 52 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) { z->lb = mlimit; return 0; } + if (ret < 0) { z->lb = mlimit1; return 0; } z->c = ret; /* next, line 52 */ } z->bra = z->c; /* ], line 52 */ @@ -223,26 +218,23 @@ static int r_consonant_pair(struct SN_env * z) { if (ret < 0) return ret; } } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -static int r_other_suffix(struct SN_env * z) { +static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit; /* setlimit, line 55 */ - int m1 = z->l - z->c; (void)m1; + + { int mlimit1; /* setlimit, line 55 */ if (z->c < z->I[0]) return 0; - z->c = z->I[0]; /* tomark, line 55 */ - mlimit = z->lb; z->lb = z->c; - z->c = z->l - m1; + mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; } - among_var = find_among_b(z, a_2, 5); /* substring, line 56 */ - if (!(among_var)) { z->lb = mlimit; return 0; } + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 56 */ + among_var = find_among_b(z, a_2, 5); + if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 56 */ - switch(among_var) { - case 0: { z->lb = mlimit; return 0; } + switch (among_var) { /* among, line 56 */ case 1: { int ret = slice_del(z); /* delete, line 57 */ if (ret < 0) return ret; @@ -259,15 +251,15 @@ static int r_other_suffix(struct SN_env * z) { } break; } - z->lb = mlimit; + z->lb = mlimit1; } return 1; } -extern int swedish_UTF_8_stem(struct SN_env * z) { +extern int swedish_UTF_8_stem(struct SN_env * z) { /* forwardmode */ { int c1 = z->c; /* do, line 66 */ - { int ret = r_mark_regions(z); - if (ret == 0) goto lab0; /* call mark_regions, line 66 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 66 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: @@ -276,24 +268,24 @@ extern int swedish_UTF_8_stem(struct SN_env * z) { 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); - if (ret == 0) goto lab1; /* call main_suffix, 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); - if (ret == 0) goto lab2; /* call consonant_pair, 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); - if (ret == 0) goto lab3; /* call other_suffix, line 70 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 70 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_tamil.c b/src/backend/snowball/libstemmer/stem_UTF_8_tamil.c new file mode 100644 index 0000000000..9bb416c9b1 --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_tamil.c @@ -0,0 +1,1915 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +#ifdef __cplusplus +extern "C" { +#endif +extern int tamil_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +static int r_has_min_length(struct SN_env * z); +static int r_remove_common_word_endings(struct SN_env * z); +static int r_remove_tense_suffixes(struct SN_env * z); +static int r_remove_tense_suffix(struct SN_env * z); +static int r_fix_endings(struct SN_env * z); +static int r_fix_ending(struct SN_env * z); +static int r_fix_va_start(struct SN_env * z); +static int r_remove_vetrumai_urupukal(struct SN_env * z); +static int r_remove_um(struct SN_env * z); +static int r_remove_command_suffixes(struct SN_env * z); +static int r_remove_pronoun_prefixes(struct SN_env * z); +static int r_remove_question_prefixes(struct SN_env * z); +static int r_remove_question_suffixes(struct SN_env * z); +static int r_remove_plural_suffix(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * tamil_UTF_8_create_env(void); +extern void tamil_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_0_1[3] = { 0xE0, 0xAE, 0x99 }; +static const symbol s_0_2[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_0_3[3] = { 0xE0, 0xAE, 0x9E }; +static const symbol s_0_4[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_0_5[3] = { 0xE0, 0xAE, 0xA8 }; +static const symbol s_0_6[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_0_7[3] = { 0xE0, 0xAE, 0xAE }; +static const symbol s_0_8[3] = { 0xE0, 0xAE, 0xAF }; +static const symbol s_0_9[3] = { 0xE0, 0xAE, 0xB5 }; + +static const struct among a_0[10] = +{ +/* 0 */ { 3, s_0_0, -1, -1, 0}, +/* 1 */ { 3, s_0_1, -1, -1, 0}, +/* 2 */ { 3, s_0_2, -1, -1, 0}, +/* 3 */ { 3, s_0_3, -1, -1, 0}, +/* 4 */ { 3, s_0_4, -1, -1, 0}, +/* 5 */ { 3, s_0_5, -1, -1, 0}, +/* 6 */ { 3, s_0_6, -1, -1, 0}, +/* 7 */ { 3, s_0_7, -1, -1, 0}, +/* 8 */ { 3, s_0_8, -1, -1, 0}, +/* 9 */ { 3, s_0_9, -1, -1, 0} +}; + +static const symbol s_1_0[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D }; +static const symbol s_1_1[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D }; +static const symbol s_1_2[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 }; + +static const struct among a_1[3] = +{ +/* 0 */ { 12, s_1_0, -1, -1, 0}, +/* 1 */ { 6, s_1_1, -1, -1, 0}, +/* 2 */ { 9, s_1_2, -1, -1, 0} +}; + +static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_2[3] = +{ +/* 0 */ { 3, s_2_0, -1, -1, 0}, +/* 1 */ { 3, s_2_1, -1, -1, 0}, +/* 2 */ { 3, s_2_2, -1, -1, 0} +}; + +static const symbol s_3_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_3_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_3_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_3_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_3_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_3_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_3[6] = +{ +/* 0 */ { 3, s_3_0, -1, -1, 0}, +/* 1 */ { 3, s_3_1, -1, -1, 0}, +/* 2 */ { 3, s_3_2, -1, -1, 0}, +/* 3 */ { 3, s_3_3, -1, -1, 0}, +/* 4 */ { 3, s_3_4, -1, -1, 0}, +/* 5 */ { 3, s_3_5, -1, -1, 0} +}; + +static const symbol s_4_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_4_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_4_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_4_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_4_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_4_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_4[6] = +{ +/* 0 */ { 3, s_4_0, -1, -1, 0}, +/* 1 */ { 3, s_4_1, -1, -1, 0}, +/* 2 */ { 3, s_4_2, -1, -1, 0}, +/* 3 */ { 3, s_4_3, -1, -1, 0}, +/* 4 */ { 3, s_4_4, -1, -1, 0}, +/* 5 */ { 3, s_4_5, -1, -1, 0} +}; + +static const symbol s_5_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_5_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_5_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_5_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_5_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_5_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_5[6] = +{ +/* 0 */ { 3, s_5_0, -1, -1, 0}, +/* 1 */ { 3, s_5_1, -1, -1, 0}, +/* 2 */ { 3, s_5_2, -1, -1, 0}, +/* 3 */ { 3, s_5_3, -1, -1, 0}, +/* 4 */ { 3, s_5_4, -1, -1, 0}, +/* 5 */ { 3, s_5_5, -1, -1, 0} +}; + +static const symbol s_6_0[3] = { 0xE0, 0xAE, 0xAF }; +static const symbol s_6_1[3] = { 0xE0, 0xAE, 0xB0 }; +static const symbol s_6_2[3] = { 0xE0, 0xAE, 0xB2 }; +static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xB3 }; +static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xB4 }; +static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB5 }; + +static const struct among a_6[6] = +{ +/* 0 */ { 3, s_6_0, -1, -1, 0}, +/* 1 */ { 3, s_6_1, -1, -1, 0}, +/* 2 */ { 3, s_6_2, -1, -1, 0}, +/* 3 */ { 3, s_6_3, -1, -1, 0}, +/* 4 */ { 3, s_6_4, -1, -1, 0}, +/* 5 */ { 3, s_6_5, -1, -1, 0} +}; + +static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x99 }; +static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9E }; +static const symbol s_7_2[3] = { 0xE0, 0xAE, 0xA3 }; +static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA8 }; +static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xA9 }; +static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xAE }; + +static const struct among a_7[6] = +{ +/* 0 */ { 3, s_7_0, -1, -1, 0}, +/* 1 */ { 3, s_7_1, -1, -1, 0}, +/* 2 */ { 3, s_7_2, -1, -1, 0}, +/* 3 */ { 3, s_7_3, -1, -1, 0}, +/* 4 */ { 3, s_7_4, -1, -1, 0}, +/* 5 */ { 3, s_7_5, -1, -1, 0} +}; + +static const symbol s_8_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D }; +static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xAF }; +static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xB5 }; + +static const struct among a_8[3] = +{ +/* 0 */ { 6, s_8_0, -1, -1, 0}, +/* 1 */ { 3, s_8_1, -1, -1, 0}, +/* 2 */ { 3, s_8_2, -1, -1, 0} +}; + +static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_9_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_9[8] = +{ +/* 0 */ { 3, s_9_0, -1, -1, 0}, +/* 1 */ { 3, s_9_1, -1, -1, 0}, +/* 2 */ { 3, s_9_2, -1, -1, 0}, +/* 3 */ { 3, s_9_3, -1, -1, 0}, +/* 4 */ { 3, s_9_4, -1, -1, 0}, +/* 5 */ { 3, s_9_5, -1, -1, 0}, +/* 6 */ { 3, s_9_6, -1, -1, 0}, +/* 7 */ { 3, s_9_7, -1, -1, 0} +}; + +static const symbol s_10_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_10_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_10_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_10_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_10_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_10_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_10_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_10_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_10[8] = +{ +/* 0 */ { 3, s_10_0, -1, -1, 0}, +/* 1 */ { 3, s_10_1, -1, -1, 0}, +/* 2 */ { 3, s_10_2, -1, -1, 0}, +/* 3 */ { 3, s_10_3, -1, -1, 0}, +/* 4 */ { 3, s_10_4, -1, -1, 0}, +/* 5 */ { 3, s_10_5, -1, -1, 0}, +/* 6 */ { 3, s_10_6, -1, -1, 0}, +/* 7 */ { 3, s_10_7, -1, -1, 0} +}; + +static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x85 }; +static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x87 }; +static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x89 }; + +static const struct among a_11[3] = +{ +/* 0 */ { 3, s_11_0, -1, -1, 0}, +/* 1 */ { 3, s_11_1, -1, -1, 0}, +/* 2 */ { 3, s_11_2, -1, -1, 0} +}; + +static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x99 }; +static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_12_3[3] = { 0xE0, 0xAE, 0x9E }; +static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xA8 }; +static const symbol s_12_6[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_12_7[3] = { 0xE0, 0xAE, 0xAE }; +static const symbol s_12_8[3] = { 0xE0, 0xAE, 0xAF }; +static const symbol s_12_9[3] = { 0xE0, 0xAE, 0xB5 }; + +static const struct among a_12[10] = +{ +/* 0 */ { 3, s_12_0, -1, -1, 0}, +/* 1 */ { 3, s_12_1, -1, -1, 0}, +/* 2 */ { 3, s_12_2, -1, -1, 0}, +/* 3 */ { 3, s_12_3, -1, -1, 0}, +/* 4 */ { 3, s_12_4, -1, -1, 0}, +/* 5 */ { 3, s_12_5, -1, -1, 0}, +/* 6 */ { 3, s_12_6, -1, -1, 0}, +/* 7 */ { 3, s_12_7, -1, -1, 0}, +/* 8 */ { 3, s_12_8, -1, -1, 0}, +/* 9 */ { 3, s_12_9, -1, -1, 0} +}; + +static const symbol s_13_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_13_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_13_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_13_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_13_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_13_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_13[6] = +{ +/* 0 */ { 3, s_13_0, -1, -1, 0}, +/* 1 */ { 3, s_13_1, -1, -1, 0}, +/* 2 */ { 3, s_13_2, -1, -1, 0}, +/* 3 */ { 3, s_13_3, -1, -1, 0}, +/* 4 */ { 3, s_13_4, -1, -1, 0}, +/* 5 */ { 3, s_13_5, -1, -1, 0} +}; + +static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B }; +static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE }; + +static const struct among a_14[3] = +{ +/* 0 */ { 3, s_14_0, -1, -1, 0}, +/* 1 */ { 3, s_14_1, -1, -1, 0}, +/* 2 */ { 3, s_14_2, -1, -1, 0} +}; + +static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF }; +static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF }; + +static const struct among a_15[2] = +{ +/* 0 */ { 6, s_15_0, -1, -1, 0}, +/* 1 */ { 6, s_15_1, -1, -1, 0} +}; + +static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_16[8] = +{ +/* 0 */ { 3, s_16_0, -1, -1, 0}, +/* 1 */ { 3, s_16_1, -1, -1, 0}, +/* 2 */ { 3, s_16_2, -1, -1, 0}, +/* 3 */ { 3, s_16_3, -1, -1, 0}, +/* 4 */ { 3, s_16_4, -1, -1, 0}, +/* 5 */ { 3, s_16_5, -1, -1, 0}, +/* 6 */ { 3, s_16_6, -1, -1, 0}, +/* 7 */ { 3, s_16_7, -1, -1, 0} +}; + +static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 }; +static const symbol s_17_5[21] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_17_6[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F }; +static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 }; +static const symbol s_17_8[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 }; +static const symbol s_17_9[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 }; +static const symbol s_17_10[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF }; +static const symbol s_17_11[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF }; +static const symbol s_17_12[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF }; + +static const struct among a_17[13] = +{ +/* 0 */ { 15, s_17_0, -1, -1, 0}, +/* 1 */ { 18, s_17_1, -1, -1, 0}, +/* 2 */ { 9, s_17_2, -1, -1, 0}, +/* 3 */ { 12, s_17_3, -1, -1, 0}, +/* 4 */ { 18, s_17_4, -1, -1, 0}, +/* 5 */ { 21, s_17_5, -1, -1, 0}, +/* 6 */ { 12, s_17_6, -1, -1, 0}, +/* 7 */ { 15, s_17_7, -1, -1, 0}, +/* 8 */ { 9, s_17_8, -1, -1, 0}, +/* 9 */ { 18, s_17_9, 8, -1, 0}, +/* 10 */ { 15, s_17_10, -1, -1, 0}, +/* 11 */ { 9, s_17_11, -1, -1, 0}, +/* 12 */ { 15, s_17_12, -1, -1, 0} +}; + +static const symbol s_18_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_18_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_18_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_18_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_18_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_18_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_18[6] = +{ +/* 0 */ { 3, s_18_0, -1, -1, 0}, +/* 1 */ { 3, s_18_1, -1, -1, 0}, +/* 2 */ { 3, s_18_2, -1, -1, 0}, +/* 3 */ { 3, s_18_3, -1, -1, 0}, +/* 4 */ { 3, s_18_4, -1, -1, 0}, +/* 5 */ { 3, s_18_5, -1, -1, 0} +}; + +static const symbol s_19_0[3] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_19_1[3] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_19_2[3] = { 0xE0, 0xAE, 0x9F }; +static const symbol s_19_3[3] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_19_4[3] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_19_5[3] = { 0xE0, 0xAE, 0xB1 }; + +static const struct among a_19[6] = +{ +/* 0 */ { 3, s_19_0, -1, -1, 0}, +/* 1 */ { 3, s_19_1, -1, -1, 0}, +/* 2 */ { 3, s_19_2, -1, -1, 0}, +/* 3 */ { 3, s_19_3, -1, -1, 0}, +/* 4 */ { 3, s_19_4, -1, -1, 0}, +/* 5 */ { 3, s_19_5, -1, -1, 0} +}; + +static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_20_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_20_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_20_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_20_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_20_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_20_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_20_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_20[8] = +{ +/* 0 */ { 3, s_20_0, -1, -1, 0}, +/* 1 */ { 3, s_20_1, -1, -1, 0}, +/* 2 */ { 3, s_20_2, -1, -1, 0}, +/* 3 */ { 3, s_20_3, -1, -1, 0}, +/* 4 */ { 3, s_20_4, -1, -1, 0}, +/* 5 */ { 3, s_20_5, -1, -1, 0}, +/* 6 */ { 3, s_20_6, -1, -1, 0}, +/* 7 */ { 3, s_20_7, -1, -1, 0} +}; + +static const symbol s_21_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_21_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_21_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_21_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_21_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_21_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_21_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_21_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_21[8] = +{ +/* 0 */ { 3, s_21_0, -1, -1, 0}, +/* 1 */ { 3, s_21_1, -1, -1, 0}, +/* 2 */ { 3, s_21_2, -1, -1, 0}, +/* 3 */ { 3, s_21_3, -1, -1, 0}, +/* 4 */ { 3, s_21_4, -1, -1, 0}, +/* 5 */ { 3, s_21_5, -1, -1, 0}, +/* 6 */ { 3, s_21_6, -1, -1, 0}, +/* 7 */ { 3, s_21_7, -1, -1, 0} +}; + +static const symbol s_22_0[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_22_1[24] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; + +static const struct among a_22[2] = +{ +/* 0 */ { 9, s_22_0, -1, -1, 0}, +/* 1 */ { 24, s_22_1, -1, -1, 0} +}; + +static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 }; +static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 }; +static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 }; +static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 }; +static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 }; +static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A }; +static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E }; +static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F }; +static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 }; +static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 }; +static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 }; +static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 }; + +static const struct among a_23[12] = +{ +/* 0 */ { 3, s_23_0, -1, -1, 0}, +/* 1 */ { 3, s_23_1, -1, -1, 0}, +/* 2 */ { 3, s_23_2, -1, -1, 0}, +/* 3 */ { 3, s_23_3, -1, -1, 0}, +/* 4 */ { 3, s_23_4, -1, -1, 0}, +/* 5 */ { 3, s_23_5, -1, -1, 0}, +/* 6 */ { 3, s_23_6, -1, -1, 0}, +/* 7 */ { 3, s_23_7, -1, -1, 0}, +/* 8 */ { 3, s_23_8, -1, -1, 0}, +/* 9 */ { 3, s_23_9, -1, -1, 0}, +/* 10 */ { 3, s_23_10, -1, -1, 0}, +/* 11 */ { 3, s_23_11, -1, -1, 0} +}; + +static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 }; +static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 }; +static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 }; +static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 }; +static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF }; + +static const struct among a_24[8] = +{ +/* 0 */ { 3, s_24_0, -1, -1, 0}, +/* 1 */ { 3, s_24_1, -1, -1, 0}, +/* 2 */ { 3, s_24_2, -1, -1, 0}, +/* 3 */ { 3, s_24_3, -1, -1, 0}, +/* 4 */ { 3, s_24_4, -1, -1, 0}, +/* 5 */ { 3, s_24_5, -1, -1, 0}, +/* 6 */ { 3, s_24_6, -1, -1, 0}, +/* 7 */ { 3, s_24_7, -1, -1, 0} +}; + +static const symbol s_25_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_25_1[21] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_25_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_25_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 }; +static const symbol s_25_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 }; +static const symbol s_25_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 }; + +static const struct among a_25[6] = +{ +/* 0 */ { 18, s_25_0, -1, -1, 0}, +/* 1 */ { 21, s_25_1, -1, -1, 0}, +/* 2 */ { 12, s_25_2, -1, -1, 0}, +/* 3 */ { 15, s_25_3, -1, -1, 0}, +/* 4 */ { 18, s_25_4, -1, -1, 0}, +/* 5 */ { 9, s_25_5, -1, -1, 0} +}; + +static const symbol s_0[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B }; +static const symbol s_1[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B }; +static const symbol s_2[] = { 0xE0, 0xAE, 0x93 }; +static const symbol s_3[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A }; +static const symbol s_4[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A }; +static const symbol s_5[] = { 0xE0, 0xAE, 0x92 }; +static const symbol s_6[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 }; +static const symbol s_7[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 }; +static const symbol s_8[] = { 0xE0, 0xAE, 0x89 }; +static const symbol s_9[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 }; +static const symbol s_10[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 }; +static const symbol s_11[] = { 0xE0, 0xAE, 0x8A }; +static const symbol s_12[] = { 0xE0, 0xAE, 0x8E }; +static const symbol s_13[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_14[] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D }; +static const symbol s_15[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D }; +static const symbol s_16[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D }; +static const symbol s_17[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_18[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_20[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D }; +static const symbol s_21[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_22[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D }; +static const symbol s_23[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_24[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D }; +static const symbol s_25[] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_26[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_27[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D }; +static const symbol s_28[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D }; +static const symbol s_29[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_30[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_31[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_32[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D }; +static const symbol s_33[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_34[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_35[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_36[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_37[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_38[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 }; +static const symbol s_39[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D }; +static const symbol s_40[] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_41[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_42[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D }; +static const symbol s_43[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_44[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_45[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_46[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_47[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_48[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_49[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_50[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_51[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_52[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_53[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_54[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_55[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_56[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_57[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 }; +static const symbol s_58[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_59[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF }; +static const symbol s_60[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF }; +static const symbol s_61[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF }; +static const symbol s_62[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 }; +static const symbol s_63[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 }; +static const symbol s_64[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF }; +static const symbol s_65[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 }; +static const symbol s_66[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_67[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 }; +static const symbol s_68[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 }; +static const symbol s_69[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF }; +static const symbol s_70[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_71[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 }; +static const symbol s_72[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 }; +static const symbol s_73[] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_74[] = { 0xE0, 0xAF, 0x88 }; +static const symbol s_75[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_76[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_77[] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_78[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 }; +static const symbol s_79[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_80[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_81[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_82[] = { 0xE0, 0xAE, 0xAE }; +static const symbol s_83[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 }; +static const symbol s_84[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 }; +static const symbol s_85[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F }; +static const symbol s_86[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_87[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_88[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 }; +static const symbol s_89[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_90[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_91[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_92[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_93[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D }; +static const symbol s_94[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_95[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D }; +static const symbol s_96[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D }; +static const symbol s_97[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D }; +static const symbol s_98[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_99[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 }; +static const symbol s_100[] = { 0xE0, 0xAF, 0x80 }; +static const symbol s_101[] = { 0xE0, 0xAE, 0xBF }; +static const symbol s_102[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_103[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_104[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_105[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_106[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_107[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_108[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_109[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_110[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_111[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_112[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_113[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_114[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_115[] = { 0xE0, 0xAE, 0xA9 }; +static const symbol s_116[] = { 0xE0, 0xAE, 0xAA }; +static const symbol s_117[] = { 0xE0, 0xAE, 0x95 }; +static const symbol s_118[] = { 0xE0, 0xAE, 0xA4 }; +static const symbol s_119[] = { 0xE0, 0xAE, 0xAF }; +static const symbol s_120[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_121[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_122[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_123[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 }; +static const symbol s_124[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 }; +static const symbol s_125[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_126[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_127[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_128[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_129[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_130[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_131[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 }; +static const symbol s_132[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 }; +static const symbol s_133[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_134[] = { 0xE0, 0xAE, 0x9A }; +static const symbol s_135[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D }; +static const symbol s_136[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_137[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_138[] = { 0xE0, 0xAE, 0xBE }; +static const symbol s_139[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_140[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_141[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_142[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_143[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_144[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_145[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_146[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D }; +static const symbol s_147[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D }; +static const symbol s_148[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D }; +static const symbol s_149[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_150[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_151[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D }; +static const symbol s_152[] = { 0xE0, 0xAF, 0x8D }; +static const symbol s_153[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 }; +static const symbol s_154[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 }; +static const symbol s_155[] = { 0xE0, 0xAF, 0x8D }; + +static int r_has_min_length(struct SN_env * z) { /* forwardmode */ + if (!(len_utf8(z->p) > 4)) return 0; /* $( > ), line 100 */ + return 1; +} + +static int r_fix_va_start(struct SN_env * z) { /* forwardmode */ + { int c1 = z->c; /* or, line 104 */ + { int c2 = z->c; /* and, line 104 */ + { int c3 = z->c; /* try, line 104 */ + if (!(eq_s(z, 6, s_0))) { z->c = c3; goto lab2; } /* literal, line 104 */ + lab2: + ; + } + z->c = c2; + z->bra = z->c; /* [, line 104 */ + } + if (!(eq_s(z, 6, s_1))) goto lab1; /* literal, line 104 */ + z->ket = z->c; /* ], line 104 */ + { int ret = slice_from_s(z, 3, s_2); /* <-, line 104 */ + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = c1; + { int c4 = z->c; /* and, line 105 */ + { int c5 = z->c; /* try, line 105 */ + if (!(eq_s(z, 6, s_3))) { z->c = c5; goto lab4; } /* literal, line 105 */ + lab4: + ; + } + z->c = c4; + z->bra = z->c; /* [, line 105 */ + } + if (!(eq_s(z, 6, s_4))) goto lab3; /* literal, line 105 */ + z->ket = z->c; /* ], line 105 */ + { int ret = slice_from_s(z, 3, s_5); /* <-, line 105 */ + if (ret < 0) return ret; + } + goto lab0; + lab3: + z->c = c1; + { int c6 = z->c; /* and, line 106 */ + { int c7 = z->c; /* try, line 106 */ + if (!(eq_s(z, 6, s_6))) { z->c = c7; goto lab6; } /* literal, line 106 */ + lab6: + ; + } + z->c = c6; + z->bra = z->c; /* [, line 106 */ + } + if (!(eq_s(z, 6, s_7))) goto lab5; /* literal, line 106 */ + z->ket = z->c; /* ], line 106 */ + { int ret = slice_from_s(z, 3, s_8); /* <-, line 106 */ + if (ret < 0) return ret; + } + goto lab0; + lab5: + z->c = c1; + { int c8 = z->c; /* and, line 107 */ + { int c9 = z->c; /* try, line 107 */ + if (!(eq_s(z, 6, s_9))) { z->c = c9; goto lab7; } /* literal, line 107 */ + lab7: + ; + } + z->c = c8; + z->bra = z->c; /* [, line 107 */ + } + if (!(eq_s(z, 6, s_10))) return 0; /* literal, line 107 */ + z->ket = z->c; /* ], line 107 */ + { int ret = slice_from_s(z, 3, s_11); /* <-, line 107 */ + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +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; + { int ret = r_fix_ending(z); /* call fix_ending, line 111 */ + if (ret == 0) goto lab1; + if (ret < 0) return ret; + } + continue; + lab1: + z->c = c2; + break; + } + z->c = c1; + } + return 1; +} + +static int r_remove_question_prefixes(struct SN_env * z) { /* forwardmode */ + z->bra = z->c; /* [, line 115 */ + if (!(eq_s(z, 3, s_12))) return 0; /* literal, line 115 */ + if (!(find_among(z, a_0, 10))) return 0; /* among, line 115 */ + if (!(eq_s(z, 3, s_13))) return 0; /* literal, line 115 */ + z->ket = z->c; /* ], line 115 */ + { int ret = slice_del(z); /* delete, line 115 */ + if (ret < 0) return ret; + } + { 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; +} + +static int r_fix_ending(struct SN_env * z) { /* forwardmode */ + if (!(len_utf8(z->p) > 3)) return 0; /* $( > ), line 121 */ + z->lb = z->c; z->c = z->l; /* backwards, line 122 */ + + { int m1 = z->l - z->c; (void)m1; /* or, line 124 */ + z->ket = z->c; /* [, line 123 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 164)) goto lab1; /* among, line 123 */ + if (!(find_among_b(z, a_1, 3))) goto lab1; + z->bra = z->c; /* ], line 123 */ + { int ret = slice_del(z); /* delete, line 123 */ + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 125 */ + if (!(eq_s_b(z, 6, s_14))) goto lab2; /* literal, line 125 */ + { int m_test2 = z->l - z->c; /* test, line 125 */ + if (!(find_among_b(z, a_2, 3))) goto lab2; /* among, line 125 */ + z->c = z->l - m_test2; + } + z->bra = z->c; /* ], line 125 */ + { int ret = slice_del(z); /* delete, line 125 */ + if (ret < 0) return ret; + } + goto lab0; + lab2: + z->c = z->l - m1; + z->ket = z->c; /* [, line 127 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 127 */ + if (!(eq_s_b(z, 12, s_15))) goto lab5; /* literal, line 127 */ + goto lab4; + lab5: + z->c = z->l - m3; + if (!(eq_s_b(z, 12, s_16))) goto lab3; /* literal, line 127 */ + } + lab4: + z->bra = z->c; /* ], line 127 */ + { int ret = slice_from_s(z, 6, s_17); /* <-, line 127 */ + if (ret < 0) return ret; + } + goto lab0; + lab3: + z->c = z->l - m1; + z->ket = z->c; /* [, line 129 */ + if (!(eq_s_b(z, 12, s_18))) goto lab6; /* literal, line 129 */ + z->bra = z->c; /* ], line 129 */ + { int ret = slice_from_s(z, 6, s_19); /* <-, line 129 */ + if (ret < 0) return ret; + } + goto lab0; + lab6: + z->c = z->l - m1; + z->ket = z->c; /* [, line 132 */ + if (!(eq_s_b(z, 12, s_20))) goto lab7; /* literal, line 132 */ + z->bra = z->c; /* ], line 132 */ + { int ret = slice_from_s(z, 6, s_21); /* <-, line 132 */ + if (ret < 0) return ret; + } + goto lab0; + lab7: + z->c = z->l - m1; + z->ket = z->c; /* [, line 134 */ + if (!(eq_s_b(z, 12, s_22))) goto lab8; /* literal, line 134 */ + z->bra = z->c; /* ], line 134 */ + { int ret = slice_from_s(z, 6, s_23); /* <-, line 134 */ + if (ret < 0) return ret; + } + goto lab0; + lab8: + z->c = z->l - m1; + if (!(z->B[1])) goto lab9; /* Boolean test found_vetrumai_urupu, line 136 */ + z->ket = z->c; /* [, line 136 */ + if (!(eq_s_b(z, 12, s_24))) goto lab9; /* literal, line 136 */ + { int m_test4 = z->l - z->c; /* test, line 136 */ + { int m5 = z->l - z->c; (void)m5; /* not, line 136 */ + if (!(eq_s_b(z, 3, s_25))) goto lab10; /* literal, line 136 */ + goto lab9; + lab10: + z->c = z->l - m5; + } + z->c = z->l - m_test4; + } + z->bra = z->c; /* ], line 136 */ + { int ret = slice_from_s(z, 6, s_26); /* <-, line 136 */ + if (ret < 0) return ret; + } + z->bra = z->c; /* ], line 136 */ + goto lab0; + lab9: + z->c = z->l - m1; + z->ket = z->c; /* [, line 138 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 138 */ + if (!(eq_s_b(z, 9, s_27))) goto lab13; /* literal, line 138 */ + goto lab12; + lab13: + z->c = z->l - m6; + if (!(eq_s_b(z, 15, s_28))) goto lab11; /* literal, line 138 */ + } + lab12: + z->bra = z->c; /* ], line 138 */ + { int ret = slice_from_s(z, 3, s_29); /* <-, line 138 */ + if (ret < 0) return ret; + } + goto lab0; + lab11: + z->c = z->l - m1; + z->ket = z->c; /* [, line 140 */ + if (!(eq_s_b(z, 3, s_30))) goto lab14; /* literal, line 140 */ + if (!(find_among_b(z, a_3, 6))) goto lab14; /* among, line 140 */ + if (!(eq_s_b(z, 3, s_31))) goto lab14; /* literal, line 140 */ + if (!(find_among_b(z, a_4, 6))) goto lab14; /* among, line 140 */ + z->bra = z->c; /* ], line 140 */ + { int ret = slice_del(z); /* delete, line 140 */ + if (ret < 0) return ret; + } + goto lab0; + lab14: + z->c = z->l - m1; + z->ket = z->c; /* [, line 142 */ + if (!(eq_s_b(z, 9, s_32))) goto lab15; /* literal, line 142 */ + z->bra = z->c; /* ], line 142 */ + { int ret = slice_from_s(z, 3, s_33); /* <-, line 142 */ + if (ret < 0) return ret; + } + goto lab0; + lab15: + z->c = z->l - m1; + z->ket = z->c; /* [, line 144 */ + if (!(eq_s_b(z, 3, s_34))) goto lab16; /* literal, line 144 */ + if (!(find_among_b(z, a_5, 6))) goto lab16; /* among, line 144 */ + z->bra = z->c; /* ], line 144 */ + { int ret = slice_del(z); /* delete, line 144 */ + if (ret < 0) return ret; + } + goto lab0; + lab16: + z->c = z->l - m1; + z->ket = z->c; /* [, line 146 */ + if (!(eq_s_b(z, 3, s_35))) goto lab17; /* literal, line 146 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 146 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((4030464 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab19; /* among, line 146 */ + if (!(find_among_b(z, a_6, 6))) goto lab19; + goto lab18; + lab19: + z->c = z->l - m7; + if (!(find_among_b(z, a_7, 6))) goto lab17; /* among, line 146 */ + } + lab18: + if (!(eq_s_b(z, 3, s_36))) goto lab17; /* literal, line 146 */ + z->bra = z->c; /* ], line 146 */ + { int ret = slice_from_s(z, 3, s_37); /* <-, line 146 */ + if (ret < 0) return ret; + } + goto lab0; + lab17: + z->c = z->l - m1; + z->ket = z->c; /* [, line 148 */ + if (!(find_among_b(z, a_8, 3))) goto lab20; /* among, line 148 */ + z->bra = z->c; /* ], line 148 */ + { int ret = slice_del(z); /* delete, line 148 */ + if (ret < 0) return ret; + } + goto lab0; + lab20: + z->c = z->l - m1; + z->ket = z->c; /* [, line 150 */ + if (!(eq_s_b(z, 6, s_38))) goto lab21; /* literal, line 150 */ + { int m_test8 = z->l - z->c; /* test, line 150 */ + { int m9 = z->l - z->c; (void)m9; /* not, line 150 */ + if (!(find_among_b(z, a_9, 8))) goto lab22; /* among, line 150 */ + goto lab21; + lab22: + z->c = z->l - m9; + } + z->c = z->l - m_test8; + } + z->bra = z->c; /* ], line 150 */ + { int ret = slice_del(z); /* delete, line 150 */ + if (ret < 0) return ret; + } + goto lab0; + lab21: + z->c = z->l - m1; + z->ket = z->c; /* [, line 152 */ + if (!(eq_s_b(z, 6, s_39))) goto lab23; /* literal, line 152 */ + { int m_test10 = z->l - z->c; /* test, line 152 */ + { int m11 = z->l - z->c; (void)m11; /* not, line 152 */ + if (!(eq_s_b(z, 3, s_40))) goto lab24; /* literal, line 152 */ + goto lab23; + lab24: + z->c = z->l - m11; + } + z->c = z->l - m_test10; + } + z->bra = z->c; /* ], line 152 */ + { int ret = slice_from_s(z, 6, s_41); /* <-, line 152 */ + if (ret < 0) return ret; + } + goto lab0; + lab23: + z->c = z->l - m1; + z->ket = z->c; /* [, line 154 */ + if (!(eq_s_b(z, 6, s_42))) goto lab25; /* literal, line 154 */ + z->bra = z->c; /* ], line 154 */ + { int ret = slice_del(z); /* delete, line 154 */ + if (ret < 0) return ret; + } + goto lab0; + lab25: + z->c = z->l - m1; + z->ket = z->c; /* [, line 156 */ + if (!(eq_s_b(z, 3, s_43))) return 0; /* literal, line 156 */ + { int m_test12 = z->l - z->c; /* test, line 156 */ + { int m13 = z->l - z->c; (void)m13; /* or, line 156 */ + if (!(find_among_b(z, a_10, 8))) goto lab27; /* among, line 156 */ + goto lab26; + lab27: + z->c = z->l - m13; + if (!(eq_s_b(z, 3, s_44))) return 0; /* literal, line 156 */ + } + lab26: + z->c = z->l - m_test12; + } + z->bra = z->c; /* ], line 156 */ + { int ret = slice_del(z); /* delete, line 156 */ + if (ret < 0) return ret; + } + } +lab0: + z->c = z->lb; + return 1; +} + +static int r_remove_pronoun_prefixes(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 161 */ + z->bra = z->c; /* [, line 162 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; /* among, line 162 */ + if (!(find_among(z, a_11, 3))) return 0; + if (!(find_among(z, a_12, 10))) return 0; /* among, line 162 */ + if (!(eq_s(z, 3, s_45))) return 0; /* literal, line 162 */ + z->ket = z->c; /* ], line 162 */ + { int ret = slice_del(z); /* delete, line 162 */ + if (ret < 0) return ret; + } + 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; +} + +static int r_remove_plural_suffix(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 168 */ + z->lb = z->c; z->c = z->l; /* backwards, line 169 */ + + { int m1 = z->l - z->c; (void)m1; /* or, line 170 */ + z->ket = z->c; /* [, line 170 */ + if (!(eq_s_b(z, 18, s_46))) goto lab1; /* literal, line 170 */ + { int m_test2 = z->l - z->c; /* test, line 170 */ + { int m3 = z->l - z->c; (void)m3; /* not, line 170 */ + if (!(find_among_b(z, a_13, 6))) goto lab2; /* among, line 170 */ + goto lab1; + lab2: + z->c = z->l - m3; + } + z->c = z->l - m_test2; + } + z->bra = z->c; /* ], line 170 */ + { int ret = slice_from_s(z, 3, s_47); /* <-, line 170 */ + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 171 */ + if (!(eq_s_b(z, 15, s_48))) goto lab3; /* literal, line 171 */ + z->bra = z->c; /* ], line 171 */ + { int ret = slice_from_s(z, 6, s_49); /* <-, line 171 */ + if (ret < 0) return ret; + } + goto lab0; + lab3: + z->c = z->l - m1; + z->ket = z->c; /* [, line 172 */ + if (!(eq_s_b(z, 15, s_50))) goto lab4; /* literal, line 172 */ + z->bra = z->c; /* ], line 172 */ + { int ret = slice_from_s(z, 6, s_51); /* <-, line 172 */ + if (ret < 0) return ret; + } + goto lab0; + lab4: + z->c = z->l - m1; + z->ket = z->c; /* [, line 173 */ + if (!(eq_s_b(z, 9, s_52))) return 0; /* literal, line 173 */ + z->bra = z->c; /* ], line 173 */ + { int ret = slice_del(z); /* delete, line 173 */ + if (ret < 0) return ret; + } + } +lab0: + z->B[0] = 1; /* set found_a_match, line 174 */ + z->c = z->lb; + return 1; +} + +static int r_remove_question_suffixes(struct SN_env * z) { /* forwardmode */ + { int ret = r_has_min_length(z); /* call has_min_length, line 179 */ + if (ret <= 0) return ret; + } + z->B[0] = 0; /* unset found_a_match, line 180 */ + z->lb = z->c; z->c = z->l; /* backwards, line 181 */ + + { int m1 = z->l - z->c; (void)m1; /* do, line 182 */ + z->ket = z->c; /* [, line 183 */ + if (!(find_among_b(z, a_14, 3))) goto lab0; /* among, line 183 */ + z->bra = z->c; /* ], line 183 */ + { int ret = slice_from_s(z, 3, s_53); /* <-, line 183 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 184 */ + lab0: + z->c = z->l - m1; + } + 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; +} + +static int r_remove_command_suffixes(struct SN_env * z) { /* forwardmode */ + { int ret = r_has_min_length(z); /* call has_min_length, line 191 */ + if (ret <= 0) return ret; + } + z->B[0] = 0; /* unset found_a_match, line 192 */ + z->lb = z->c; z->c = z->l; /* backwards, line 193 */ + + z->ket = z->c; /* [, line 194 */ + if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0; /* among, line 194 */ + if (!(find_among_b(z, a_15, 2))) return 0; + z->bra = z->c; /* ], line 194 */ + { int ret = slice_del(z); /* delete, line 194 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 195 */ + z->c = z->lb; + return 1; +} + +static int r_remove_um(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 200 */ + { int ret = r_has_min_length(z); /* call has_min_length, line 201 */ + if (ret <= 0) return ret; + } + z->lb = z->c; z->c = z->l; /* backwards, line 202 */ + + z->ket = z->c; /* [, line 202 */ + if (!(eq_s_b(z, 9, s_54))) return 0; /* literal, line 202 */ + z->bra = z->c; /* ], line 202 */ + { int ret = slice_from_s(z, 3, s_55); /* <-, line 202 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 203 */ + 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; +} + +static int r_remove_common_word_endings(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 212 */ + { int ret = r_has_min_length(z); /* call has_min_length, line 213 */ + if (ret <= 0) return ret; + } + z->lb = z->c; z->c = z->l; /* backwards, line 214 */ + + { int m1 = z->l - z->c; (void)m1; /* or, line 231 */ + { int m_test2 = z->l - z->c; /* test, line 215 */ + z->ket = z->c; /* [, line 215 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 215 */ + if (!(eq_s_b(z, 12, s_56))) goto lab3; /* literal, line 215 */ + goto lab2; + lab3: + z->c = z->l - m3; + if (!(eq_s_b(z, 15, s_57))) goto lab4; /* literal, line 216 */ + goto lab2; + lab4: + z->c = z->l - m3; + if (!(eq_s_b(z, 12, s_58))) goto lab5; /* literal, line 217 */ + goto lab2; + lab5: + z->c = z->l - m3; + if (!(eq_s_b(z, 15, s_59))) goto lab6; /* literal, line 218 */ + goto lab2; + lab6: + z->c = z->l - m3; + if (!(eq_s_b(z, 9, s_60))) goto lab7; /* literal, line 219 */ + goto lab2; + lab7: + z->c = z->l - m3; + if (!(eq_s_b(z, 12, s_61))) goto lab8; /* literal, line 220 */ + goto lab2; + lab8: + z->c = z->l - m3; + if (!(eq_s_b(z, 15, s_62))) goto lab9; /* literal, line 221 */ + goto lab2; + lab9: + z->c = z->l - m3; + if (!(eq_s_b(z, 12, s_63))) goto lab10; /* literal, line 222 */ + goto lab2; + lab10: + z->c = z->l - m3; + if (!(eq_s_b(z, 12, s_64))) goto lab11; /* literal, line 223 */ + goto lab2; + lab11: + z->c = z->l - m3; + if (!(eq_s_b(z, 9, s_65))) goto lab12; /* literal, line 224 */ + goto lab2; + lab12: + z->c = z->l - m3; + if (!(eq_s_b(z, 15, s_66))) goto lab13; /* literal, line 225 */ + goto lab2; + lab13: + z->c = z->l - m3; + if (!(eq_s_b(z, 9, s_67))) goto lab14; /* literal, line 226 */ + { int m_test4 = z->l - z->c; /* test, line 226 */ + { int m5 = z->l - z->c; (void)m5; /* not, line 226 */ + if (!(find_among_b(z, a_16, 8))) goto lab15; /* among, line 226 */ + goto lab14; + lab15: + z->c = z->l - m5; + } + z->c = z->l - m_test4; + } + goto lab2; + lab14: + z->c = z->l - m3; + if (!(eq_s_b(z, 6, s_68))) goto lab16; /* literal, line 227 */ + goto lab2; + lab16: + z->c = z->l - m3; + if (!(eq_s_b(z, 9, s_69))) goto lab1; /* literal, line 228 */ + } + lab2: + z->bra = z->c; /* ], line 228 */ + { int ret = slice_from_s(z, 3, s_70); /* <-, line 228 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 229 */ + z->c = z->l - m_test2; + } + goto lab0; + lab1: + z->c = z->l - m1; + { int m_test6 = z->l - z->c; /* test, line 232 */ + z->ket = z->c; /* [, line 232 */ + if (!(find_among_b(z, a_17, 13))) return 0; /* among, line 232 */ + z->bra = z->c; /* ], line 245 */ + { int ret = slice_del(z); /* delete, line 245 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 246 */ + z->c = z->l - m_test6; + } + } +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; +} + +static int r_remove_vetrumai_urupukal(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 253 */ + z->B[1] = 0; /* unset found_vetrumai_urupu, line 254 */ + { int ret = r_has_min_length(z); /* call has_min_length, line 255 */ + if (ret <= 0) return ret; + } + z->lb = z->c; z->c = z->l; /* backwards, line 256 */ + + { int m1 = z->l - z->c; (void)m1; /* or, line 259 */ + { int m_test2 = z->l - z->c; /* test, line 258 */ + z->ket = z->c; /* [, line 258 */ + if (!(eq_s_b(z, 6, s_71))) goto lab1; /* literal, line 258 */ + z->bra = z->c; /* ], line 258 */ + { int ret = slice_del(z); /* delete, line 258 */ + if (ret < 0) return ret; + } + z->c = z->l - m_test2; + } + goto lab0; + lab1: + z->c = z->l - m1; + { int m_test3 = z->l - z->c; /* test, line 260 */ + z->ket = z->c; /* [, line 260 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 261 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 260 */ + if (!(eq_s_b(z, 9, s_72))) goto lab6; /* literal, line 260 */ + goto lab5; + lab6: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_73))) goto lab4; /* literal, line 261 */ + } + lab5: + { int m_test6 = z->l - z->c; /* test, line 261 */ + { int m7 = z->l - z->c; (void)m7; /* not, line 261 */ + if (!(find_among_b(z, a_18, 6))) goto lab7; /* among, line 261 */ + goto lab4; + lab7: + z->c = z->l - m7; + } + z->c = z->l - m_test6; + } + goto lab3; + lab4: + z->c = z->l - m4; + if (!(eq_s_b(z, 3, s_74))) goto lab2; /* literal, line 262 */ + { int m_test8 = z->l - z->c; /* test, line 262 */ + if (!(find_among_b(z, a_19, 6))) goto lab2; /* among, line 262 */ + if (!(eq_s_b(z, 3, s_75))) goto lab2; /* literal, line 262 */ + z->c = z->l - m_test8; + } + } + lab3: + z->bra = z->c; /* ], line 263 */ + { int ret = slice_from_s(z, 3, s_76); /* <-, line 263 */ + if (ret < 0) return ret; + } + z->c = z->l - m_test3; + } + goto lab0; + lab2: + z->c = z->l - m1; + { int m_test9 = z->l - z->c; /* test, line 266 */ + z->ket = z->c; /* [, line 266 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 267 */ + if (!(eq_s_b(z, 9, s_77))) goto lab10; /* literal, line 267 */ + goto lab9; + lab10: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_78))) goto lab11; /* literal, line 268 */ + goto lab9; + lab11: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_79))) goto lab12; /* literal, line 269 */ + goto lab9; + lab12: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_80))) goto lab13; /* literal, line 270 */ + goto lab9; + lab13: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_81))) goto lab14; /* literal, line 271 */ + { int m_test11 = z->l - z->c; /* test, line 271 */ + { int m12 = z->l - z->c; (void)m12; /* not, line 271 */ + if (!(eq_s_b(z, 3, s_82))) goto lab15; /* literal, line 271 */ + goto lab14; + lab15: + z->c = z->l - m12; + } + z->c = z->l - m_test11; + } + goto lab9; + lab14: + z->c = z->l - m10; + if (!(eq_s_b(z, 15, s_83))) goto lab16; /* literal, line 272 */ + goto lab9; + lab16: + z->c = z->l - m10; + if (!(eq_s_b(z, 21, s_84))) goto lab17; /* literal, line 273 */ + goto lab9; + lab17: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_85))) goto lab18; /* literal, line 274 */ + goto lab9; + lab18: + z->c = z->l - m10; + if (!(len_utf8(z->p) >= 7)) goto lab19; /* $( >= ), line 275 */ + if (!(eq_s_b(z, 12, s_86))) goto lab19; /* literal, line 275 */ + goto lab9; + lab19: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_87))) goto lab20; /* literal, line 276 */ + goto lab9; + lab20: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_88))) goto lab21; /* literal, line 277 */ + goto lab9; + lab21: + z->c = z->l - m10; + if (!(eq_s_b(z, 12, s_89))) goto lab22; /* literal, line 278 */ + goto lab9; + lab22: + z->c = z->l - m10; + if (!(eq_s_b(z, 6, s_90))) goto lab23; /* literal, line 279 */ + { int m_test13 = z->l - z->c; /* test, line 279 */ + { int m14 = z->l - z->c; (void)m14; /* not, line 279 */ + if (!(find_among_b(z, a_20, 8))) goto lab24; /* among, line 279 */ + goto lab23; + lab24: + z->c = z->l - m14; + } + z->c = z->l - m_test13; + } + goto lab9; + lab23: + z->c = z->l - m10; + if (!(eq_s_b(z, 9, s_91))) goto lab8; /* literal, line 280 */ + } + lab9: + z->bra = z->c; /* ], line 281 */ + { int ret = slice_from_s(z, 3, s_92); /* <-, line 281 */ + if (ret < 0) return ret; + } + z->c = z->l - m_test9; + } + goto lab0; + lab8: + z->c = z->l - m1; + { int m_test15 = z->l - z->c; /* test, line 284 */ + z->ket = z->c; /* [, line 284 */ + { int m16 = z->l - z->c; (void)m16; /* or, line 285 */ + if (!(eq_s_b(z, 9, s_93))) goto lab27; /* literal, line 285 */ + goto lab26; + lab27: + z->c = z->l - m16; + if (!(eq_s_b(z, 12, s_94))) goto lab28; /* literal, line 286 */ + goto lab26; + lab28: + z->c = z->l - m16; + if (!(eq_s_b(z, 12, s_95))) goto lab29; /* literal, line 287 */ + goto lab26; + lab29: + z->c = z->l - m16; + if (!(eq_s_b(z, 12, s_96))) goto lab30; /* literal, line 288 */ + goto lab26; + lab30: + z->c = z->l - m16; + if (!(eq_s_b(z, 12, s_97))) goto lab31; /* literal, line 289 */ + goto lab26; + lab31: + z->c = z->l - m16; + if (!(eq_s_b(z, 12, s_98))) goto lab32; /* literal, line 290 */ + goto lab26; + lab32: + z->c = z->l - m16; + if (!(eq_s_b(z, 6, s_99))) goto lab25; /* literal, line 291 */ + { int m_test17 = z->l - z->c; /* test, line 291 */ + { int m18 = z->l - z->c; (void)m18; /* not, line 291 */ + if (!(find_among_b(z, a_21, 8))) goto lab33; /* among, line 291 */ + goto lab25; + lab33: + z->c = z->l - m18; + } + z->c = z->l - m_test17; + } + } + lab26: + z->bra = z->c; /* ], line 292 */ + { int ret = slice_del(z); /* delete, line 292 */ + if (ret < 0) return ret; + } + z->c = z->l - m_test15; + } + goto lab0; + lab25: + z->c = z->l - m1; + { int m_test19 = z->l - z->c; /* test, line 295 */ + z->ket = z->c; /* [, line 295 */ + if (!(eq_s_b(z, 3, s_100))) return 0; /* literal, line 295 */ + z->bra = z->c; /* ], line 295 */ + { int ret = slice_from_s(z, 3, s_101); /* <-, line 295 */ + if (ret < 0) return ret; + } + z->c = z->l - m_test19; + } + } +lab0: + z->B[0] = 1; /* set found_a_match, line 297 */ + z->B[1] = 1; /* set found_vetrumai_urupu, line 298 */ + { int m20 = z->l - z->c; (void)m20; /* do, line 299 */ + z->ket = z->c; /* [, line 299 */ + if (!(eq_s_b(z, 9, s_102))) goto lab34; /* literal, line 299 */ + z->bra = z->c; /* ], line 299 */ + { int ret = slice_from_s(z, 3, s_103); /* <-, line 299 */ + if (ret < 0) return ret; + } + lab34: + z->c = z->l - m20; + } + 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; + 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; + lab0: + z->c = c1; + break; + } + return 1; +} + +static int r_remove_tense_suffix(struct SN_env * z) { /* forwardmode */ + z->B[0] = 0; /* unset found_a_match, line 310 */ + { int ret = r_has_min_length(z); /* call has_min_length, line 311 */ + if (ret <= 0) return ret; + } + z->lb = z->c; z->c = z->l; /* backwards, line 312 */ + + { int m1 = z->l - z->c; (void)m1; /* do, line 313 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 320 */ + { int m_test3 = z->l - z->c; /* test, line 314 */ + z->ket = z->c; /* [, line 314 */ + if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2; /* among, line 314 */ + if (!(find_among_b(z, a_22, 2))) goto lab2; + z->bra = z->c; /* ], line 317 */ + { int ret = slice_del(z); /* delete, line 317 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 318 */ + z->c = z->l - m_test3; + } + goto lab1; + lab2: + z->c = z->l - m2; + { int m_test4 = z->l - z->c; /* test, line 321 */ + z->ket = z->c; /* [, line 321 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 322 */ + if (!(eq_s_b(z, 12, s_104))) goto lab5; /* literal, line 322 */ + goto lab4; + lab5: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_105))) goto lab6; /* literal, line 323 */ + goto lab4; + lab6: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_106))) goto lab7; /* literal, line 324 */ + goto lab4; + lab7: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_107))) goto lab8; /* literal, line 325 */ + goto lab4; + lab8: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_108))) goto lab9; /* literal, line 326 */ + goto lab4; + lab9: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_109))) goto lab10; /* literal, line 327 */ + goto lab4; + lab10: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_110))) goto lab11; /* literal, line 328 */ + { int m_test6 = z->l - z->c; /* test, line 328 */ + { int m7 = z->l - z->c; (void)m7; /* not, line 328 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12; /* among, line 328 */ + if (!(find_among_b(z, a_23, 12))) goto lab12; + goto lab11; + lab12: + z->c = z->l - m7; + } + z->c = z->l - m_test6; + } + goto lab4; + lab11: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_111))) goto lab13; /* literal, line 329 */ + goto lab4; + lab13: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_112))) goto lab14; /* literal, line 330 */ + goto lab4; + lab14: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_113))) goto lab15; /* literal, line 331 */ + goto lab4; + lab15: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_114))) goto lab16; /* literal, line 332 */ + goto lab4; + lab16: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_115))) goto lab17; /* literal, line 333 */ + goto lab4; + lab17: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_116))) goto lab18; /* literal, line 333 */ + goto lab4; + lab18: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_117))) goto lab19; /* literal, line 333 */ + goto lab4; + lab19: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_118))) goto lab20; /* literal, line 333 */ + goto lab4; + lab20: + z->c = z->l - m5; + if (!(eq_s_b(z, 3, s_119))) goto lab21; /* literal, line 333 */ + goto lab4; + lab21: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_120))) goto lab22; /* literal, line 334 */ + goto lab4; + lab22: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_121))) goto lab23; /* literal, line 335 */ + goto lab4; + lab23: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_122))) goto lab24; /* literal, line 336 */ + goto lab4; + lab24: + z->c = z->l - m5; + if (!(eq_s_b(z, 6, s_123))) goto lab25; /* literal, line 337 */ + { int m_test8 = z->l - z->c; /* test, line 337 */ + { int m9 = z->l - z->c; (void)m9; /* not, line 337 */ + if (!(find_among_b(z, a_24, 8))) goto lab26; /* among, line 337 */ + goto lab25; + lab26: + z->c = z->l - m9; + } + z->c = z->l - m_test8; + } + goto lab4; + lab25: + z->c = z->l - m5; + if (!(eq_s_b(z, 15, s_124))) goto lab27; /* literal, line 338 */ + goto lab4; + lab27: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_125))) goto lab28; /* literal, line 339 */ + goto lab4; + lab28: + z->c = z->l - m5; + if (!(eq_s_b(z, 9, s_126))) goto lab29; /* literal, line 340 */ + goto lab4; + lab29: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_127))) goto lab30; /* literal, line 341 */ + goto lab4; + lab30: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_128))) goto lab31; /* literal, line 342 */ + goto lab4; + lab31: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_129))) goto lab32; /* literal, line 343 */ + goto lab4; + lab32: + z->c = z->l - m5; + if (!(eq_s_b(z, 12, s_130))) goto lab33; /* literal, line 344 */ + goto lab4; + lab33: + z->c = z->l - m5; + if (!(eq_s_b(z, 6, s_131))) goto lab34; /* literal, line 345 */ + goto lab4; + lab34: + z->c = z->l - m5; + if (!(eq_s_b(z, 6, s_132))) goto lab3; /* literal, line 346 */ + } + lab4: + z->bra = z->c; /* ], line 347 */ + { int ret = slice_del(z); /* delete, line 347 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 348 */ + z->c = z->l - m_test4; + } + goto lab1; + lab3: + z->c = z->l - m2; + { int m_test10 = z->l - z->c; /* test, line 351 */ + z->ket = z->c; /* [, line 351 */ + { int m11 = z->l - z->c; (void)m11; /* or, line 352 */ + if (!(eq_s_b(z, 9, s_133))) goto lab37; /* literal, line 352 */ + { int m_test12 = z->l - z->c; /* test, line 352 */ + { int m13 = z->l - z->c; (void)m13; /* not, line 352 */ + if (!(eq_s_b(z, 3, s_134))) goto lab38; /* literal, line 352 */ + goto lab37; + lab38: + z->c = z->l - m13; + } + z->c = z->l - m_test12; + } + goto lab36; + lab37: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_135))) goto lab39; /* literal, line 353 */ + goto lab36; + lab39: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_136))) goto lab40; /* literal, line 354 */ + goto lab36; + lab40: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_137))) goto lab41; /* literal, line 355 */ + goto lab36; + lab41: + z->c = z->l - m11; + if (!(eq_s_b(z, 3, s_138))) goto lab42; /* literal, line 356 */ + goto lab36; + lab42: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_139))) goto lab43; /* literal, line 357 */ + goto lab36; + lab43: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_140))) goto lab44; /* literal, line 358 */ + goto lab36; + lab44: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_141))) goto lab45; /* literal, line 359 */ + goto lab36; + lab45: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_142))) goto lab46; /* literal, line 360 */ + goto lab36; + lab46: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_143))) goto lab47; /* literal, line 361 */ + goto lab36; + lab47: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_144))) goto lab48; /* literal, line 362 */ + goto lab36; + lab48: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_145))) goto lab49; /* literal, line 363 */ + goto lab36; + lab49: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_146))) goto lab50; /* literal, line 364 */ + goto lab36; + lab50: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_147))) goto lab51; /* literal, line 365 */ + goto lab36; + lab51: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_148))) goto lab52; /* literal, line 366 */ + goto lab36; + lab52: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_149))) goto lab53; /* literal, line 367 */ + goto lab36; + lab53: + z->c = z->l - m11; + if (!(eq_s_b(z, 9, s_150))) goto lab54; /* literal, line 368 */ + goto lab36; + lab54: + z->c = z->l - m11; + if (!(eq_s_b(z, 12, s_151))) goto lab35; /* literal, line 369 */ + } + lab36: + z->bra = z->c; /* ], line 370 */ + { int ret = slice_from_s(z, 3, s_152); /* <-, line 370 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 371 */ + z->c = z->l - m_test10; + } + goto lab1; + lab35: + z->c = z->l - m2; + { int m_test14 = z->l - z->c; /* test, line 374 */ + z->ket = z->c; /* [, line 374 */ + { int m15 = z->l - z->c; (void)m15; /* or, line 374 */ + if (!(eq_s_b(z, 6, s_153))) goto lab56; /* literal, line 374 */ + goto lab55; + lab56: + z->c = z->l - m15; + if (!(eq_s_b(z, 6, s_154))) goto lab0; /* literal, line 374 */ + } + lab55: + { int m_test16 = z->l - z->c; /* test, line 374 */ + if (!(eq_s_b(z, 3, s_155))) goto lab0; /* literal, line 374 */ + z->c = z->l - m_test16; + } + z->bra = z->c; /* ], line 374 */ + { int ret = slice_del(z); /* delete, line 374 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 375 */ + z->c = z->l - m_test14; + } + } + lab1: + lab0: + z->c = z->l - m1; + } + { int m17 = z->l - z->c; (void)m17; /* do, line 378 */ + z->ket = z->c; /* [, line 378 */ + if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57; /* among, line 378 */ + if (!(find_among_b(z, a_25, 6))) goto lab57; + z->bra = z->c; /* ], line 385 */ + { int ret = slice_del(z); /* delete, line 385 */ + if (ret < 0) return ret; + } + z->B[0] = 1; /* set found_a_match, line 386 */ + lab57: + z->c = z->l - m17; + } + 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; +} + +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 */ + if (ret <= 0) return ret; + } + { 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; +} + +extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 0, 2); } + +extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } + diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_turkish.c b/src/backend/snowball/libstemmer/stem_UTF_8_turkish.c index 587351d126..85eee41ada 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_turkish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_turkish.c @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #include "header.h" @@ -438,575 +438,495 @@ static const unsigned char g_vowel5[] = { 65 }; static const unsigned char g_vowel6[] = { 65 }; -static const symbol s_0[] = { 'a' }; -static const symbol s_1[] = { 'e' }; -static const symbol s_2[] = { 0xC4, 0xB1 }; -static const symbol s_3[] = { 'i' }; -static const symbol s_4[] = { 'o' }; -static const symbol s_5[] = { 0xC3, 0xB6 }; -static const symbol s_6[] = { 'u' }; -static const symbol s_7[] = { 0xC3, 0xBC }; -static const symbol s_8[] = { 'n' }; -static const symbol s_9[] = { 'n' }; -static const symbol s_10[] = { 's' }; -static const symbol s_11[] = { 's' }; -static const symbol s_12[] = { 'y' }; -static const symbol s_13[] = { 'y' }; -static const symbol s_14[] = { 'k', 'i' }; -static const symbol s_15[] = { 'k', 'e', 'n' }; -static const symbol s_16[] = { 'p' }; -static const symbol s_17[] = { 0xC3, 0xA7 }; -static const symbol s_18[] = { 't' }; -static const symbol s_19[] = { 'k' }; -static const symbol s_20[] = { 'd' }; -static const symbol s_21[] = { 'g' }; -static const symbol s_22[] = { 'a' }; -static const symbol s_23[] = { 0xC4, 0xB1 }; -static const symbol s_24[] = { 0xC4, 0xB1 }; -static const symbol s_25[] = { 'e' }; -static const symbol s_26[] = { 'i' }; -static const symbol s_27[] = { 'i' }; -static const symbol s_28[] = { 'o' }; -static const symbol s_29[] = { 'u' }; -static const symbol s_30[] = { 'u' }; -static const symbol s_31[] = { 0xC3, 0xB6 }; -static const symbol s_32[] = { 0xC3, 0xBC }; -static const symbol s_33[] = { 0xC3, 0xBC }; -static const symbol s_34[] = { 'a', 'd' }; -static const symbol s_35[] = { 's', 'o', 'y', 'a', 'd' }; +static const symbol s_0[] = { 0xC4, 0xB1 }; +static const symbol s_1[] = { 0xC3, 0xB6 }; +static const symbol s_2[] = { 0xC3, 0xBC }; +static const symbol s_3[] = { 'k', 'i' }; +static const symbol s_4[] = { 'k', 'e', 'n' }; +static const symbol s_5[] = { 'p' }; +static const symbol s_6[] = { 0xC3, 0xA7 }; +static const symbol s_7[] = { 't' }; +static const symbol s_8[] = { 'k' }; +static const symbol s_9[] = { 0xC4, 0xB1 }; +static const symbol s_10[] = { 0xC4, 0xB1 }; +static const symbol s_11[] = { 'i' }; +static const symbol s_12[] = { 'u' }; +static const symbol s_13[] = { 0xC3, 0xB6 }; +static const symbol s_14[] = { 0xC3, 0xBC }; +static const symbol s_15[] = { 0xC3, 0xBC }; +static const symbol s_16[] = { 'a', 'd' }; +static const symbol s_17[] = { 's', 'o', 'y' }; -static int r_check_vowel_harmony(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 112 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 114 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 116 */ - if (!(eq_s_b(z, 1, s_0))) goto lab1; - if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1; /* goto */ /* grouping vowel1, line 116 */ +static int r_check_vowel_harmony(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 110 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 112 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 114 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab1; /* literal, line 114 */ + z->c--; + if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1; /* goto */ /* grouping vowel1, line 114 */ goto lab0; lab1: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_1))) goto lab2; - if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2; /* goto */ /* grouping vowel2, line 117 */ + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2; /* literal, line 115 */ + z->c--; + if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2; /* goto */ /* grouping vowel2, line 115 */ goto lab0; lab2: - z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_2))) goto lab3; - if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel3, line 118 */ + z->c = z->l - m2; + if (!(eq_s_b(z, 2, s_0))) goto lab3; /* literal, line 116 */ + if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel3, line 116 */ goto lab0; lab3: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_3))) goto lab4; - if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4; /* goto */ /* grouping vowel4, line 119 */ + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab4; /* literal, line 117 */ + z->c--; + if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4; /* goto */ /* grouping vowel4, line 117 */ goto lab0; lab4: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_4))) goto lab5; - if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5; /* goto */ /* grouping vowel5, line 120 */ + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5; /* literal, line 118 */ + z->c--; + if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5; /* goto */ /* grouping vowel5, line 118 */ goto lab0; lab5: - z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_5))) goto lab6; - if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6; /* goto */ /* grouping vowel6, line 121 */ + z->c = z->l - m2; + if (!(eq_s_b(z, 2, s_1))) goto lab6; /* literal, line 119 */ + if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6; /* goto */ /* grouping vowel6, line 119 */ goto lab0; lab6: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_6))) goto lab7; - if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7; /* goto */ /* grouping vowel5, line 122 */ + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab7; /* literal, line 120 */ + z->c--; + if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7; /* goto */ /* grouping vowel5, line 120 */ goto lab0; lab7: - z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_7))) return 0; - if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0; /* goto */ /* grouping vowel6, line 123 */ + z->c = z->l - m2; + if (!(eq_s_b(z, 2, s_2))) return 0; /* literal, line 121 */ + if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0; /* goto */ /* grouping vowel6, line 121 */ } lab0: - z->c = z->l - m_test; + z->c = z->l - m_test1; } return 1; } -static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) { - { int m1 = z->l - z->c; (void)m1; /* or, line 134 */ - { int m_test = z->l - z->c; /* test, line 133 */ - if (!(eq_s_b(z, 1, s_8))) goto lab1; - z->c = z->l - m_test; - } - { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) goto lab1; - z->c = ret; /* next, line 133 */ - } - { int m_test = z->l - z->c; /* test, line 133 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; - z->c = z->l - m_test; +static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* or, line 132 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1; /* literal, line 131 */ + z->c--; + { int m_test2 = z->l - z->c; /* test, line 131 */ + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; /* grouping vowel, line 131 */ + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* not, line 135 */ - { int m_test = z->l - z->c; /* test, line 135 */ - if (!(eq_s_b(z, 1, s_9))) goto lab2; - z->c = z->l - m_test; + { int m3 = z->l - z->c; (void)m3; /* not, line 133 */ + { int m_test4 = z->l - z->c; /* test, line 133 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab2; /* literal, line 133 */ + z->c--; + z->c = z->l - m_test4; } return 0; lab2: - z->c = z->l - m2; + z->c = z->l - m3; } - { int m_test = z->l - z->c; /* test, line 135 */ + { int m_test5 = z->l - z->c; /* test, line 133 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 135 */ + z->c = ret; /* next, line 133 */ } - { int m_test = z->l - z->c; /* test, line 135 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; - z->c = z->l - m_test; - } - z->c = z->l - m_test; + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; /* grouping vowel, line 133 */ + z->c = z->l - m_test5; } } lab0: return 1; } -static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) { - { int m1 = z->l - z->c; (void)m1; /* or, line 145 */ - { int m_test = z->l - z->c; /* test, line 144 */ - if (!(eq_s_b(z, 1, s_10))) goto lab1; - z->c = z->l - m_test; - } - { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) goto lab1; - z->c = ret; /* next, line 144 */ - } - { int m_test = z->l - z->c; /* test, line 144 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; - z->c = z->l - m_test; +static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* or, line 143 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1; /* literal, line 142 */ + z->c--; + { int m_test2 = z->l - z->c; /* test, line 142 */ + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; /* grouping vowel, line 142 */ + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* not, line 146 */ - { int m_test = z->l - z->c; /* test, line 146 */ - if (!(eq_s_b(z, 1, s_11))) goto lab2; - z->c = z->l - m_test; + { int m3 = z->l - z->c; (void)m3; /* not, line 144 */ + { int m_test4 = z->l - z->c; /* test, line 144 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2; /* literal, line 144 */ + z->c--; + z->c = z->l - m_test4; } return 0; lab2: - z->c = z->l - m2; + z->c = z->l - m3; } - { int m_test = z->l - z->c; /* test, line 146 */ + { int m_test5 = z->l - z->c; /* test, line 144 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 146 */ + z->c = ret; /* next, line 144 */ } - { int m_test = z->l - z->c; /* test, line 146 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; - z->c = z->l - m_test; - } - z->c = z->l - m_test; + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; /* grouping vowel, line 144 */ + z->c = z->l - m_test5; } } lab0: return 1; } -static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) { - { int m1 = z->l - z->c; (void)m1; /* or, line 155 */ - { int m_test = z->l - z->c; /* test, line 154 */ - if (!(eq_s_b(z, 1, s_12))) goto lab1; - z->c = z->l - m_test; - } - { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) goto lab1; - z->c = ret; /* next, line 154 */ - } - { int m_test = z->l - z->c; /* test, line 154 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; - z->c = z->l - m_test; +static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* or, line 153 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1; /* literal, line 152 */ + z->c--; + { int m_test2 = z->l - z->c; /* test, line 152 */ + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; /* grouping vowel, line 152 */ + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* not, line 156 */ - { int m_test = z->l - z->c; /* test, line 156 */ - if (!(eq_s_b(z, 1, s_13))) goto lab2; - z->c = z->l - m_test; + { int m3 = z->l - z->c; (void)m3; /* not, line 154 */ + { int m_test4 = z->l - z->c; /* test, line 154 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab2; /* literal, line 154 */ + z->c--; + z->c = z->l - m_test4; } return 0; lab2: - z->c = z->l - m2; + z->c = z->l - m3; } - { int m_test = z->l - z->c; /* test, line 156 */ + { int m_test5 = z->l - z->c; /* test, line 154 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 156 */ + z->c = ret; /* next, line 154 */ } - { int m_test = z->l - z->c; /* test, line 156 */ - if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; - z->c = z->l - m_test; - } - z->c = z->l - m_test; + if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; /* grouping vowel, line 154 */ + z->c = z->l - m_test5; } } lab0: return 1; } -static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) { - { int m1 = z->l - z->c; (void)m1; /* or, line 161 */ - { int m_test = z->l - z->c; /* test, line 160 */ - if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1; - z->c = z->l - m_test; - } - { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); - if (ret < 0) goto lab1; - z->c = ret; /* next, line 160 */ - } - { int m_test = z->l - z->c; /* test, line 160 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; - z->c = z->l - m_test; +static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* or, line 159 */ + if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1; /* grouping U, line 158 */ + { int m_test2 = z->l - z->c; /* test, line 158 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1; /* non vowel, line 158 */ + z->c = z->l - m_test2; } goto lab0; lab1: z->c = z->l - m1; - { int m2 = z->l - z->c; (void)m2; /* not, line 162 */ - { int m_test = z->l - z->c; /* test, line 162 */ - if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2; - z->c = z->l - m_test; + { int m3 = z->l - z->c; (void)m3; /* not, line 160 */ + { int m_test4 = z->l - z->c; /* test, line 160 */ + if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2; /* grouping U, line 160 */ + z->c = z->l - m_test4; } return 0; lab2: - z->c = z->l - m2; + z->c = z->l - m3; } - { int m_test = z->l - z->c; /* test, line 162 */ + { int m_test5 = z->l - z->c; /* test, line 160 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 162 */ + z->c = ret; /* next, line 160 */ } - { int m_test = z->l - z->c; /* test, line 162 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; - z->c = z->l - m_test; - } - z->c = z->l - m_test; + if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0; /* non vowel, line 160 */ + z->c = z->l - m_test5; } } lab0: return 1; } -static int r_mark_possessives(struct SN_env * z) { - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_0, 10))) return 0; /* among, line 167 */ - { int ret = r_mark_suffix_with_optional_U_vowel(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_U_vowel, line 169 */ - if (ret < 0) return ret; +static int r_mark_possessives(struct SN_env * z) { /* backwardmode */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 165 */ + if (!(find_among_b(z, a_0, 10))) return 0; + { int ret = r_mark_suffix_with_optional_U_vowel(z); /* call mark_suffix_with_optional_U_vowel, line 167 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_sU(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 173 */ - if (ret < 0) return ret; +static int r_mark_sU(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 171 */ + if (ret <= 0) return ret; } - if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0; - { int ret = r_mark_suffix_with_optional_s_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_s_consonant, line 175 */ - if (ret < 0) return ret; + if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0; /* grouping U, line 172 */ + { int ret = r_mark_suffix_with_optional_s_consonant(z); /* call mark_suffix_with_optional_s_consonant, line 173 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_lArI(struct SN_env * z) { - if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0; - if (!(find_among_b(z, a_1, 2))) return 0; /* among, line 179 */ +static int r_mark_lArI(struct SN_env * z) { /* backwardmode */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0; /* among, line 177 */ + if (!(find_among_b(z, a_1, 2))) return 0; return 1; } -static int r_mark_yU(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 183 */ - if (ret < 0) return ret; +static int r_mark_yU(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 181 */ + if (ret <= 0) return ret; } - if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0; - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 185 */ - if (ret < 0) return ret; + if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0; /* grouping U, line 182 */ + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 183 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_nU(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 189 */ - if (ret < 0) return ret; +static int r_mark_nU(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 187 */ + if (ret <= 0) return ret; } - if (!(find_among_b(z, a_2, 4))) return 0; /* among, line 190 */ + if (!(find_among_b(z, a_2, 4))) return 0; /* among, line 188 */ return 1; } -static int r_mark_nUn(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 194 */ - if (ret < 0) return ret; +static int r_mark_nUn(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 192 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0; - if (!(find_among_b(z, a_3, 4))) return 0; /* among, line 195 */ - { int ret = r_mark_suffix_with_optional_n_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_n_consonant, line 196 */ - if (ret < 0) return ret; + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0; /* among, line 193 */ + if (!(find_among_b(z, a_3, 4))) return 0; + { int ret = r_mark_suffix_with_optional_n_consonant(z); /* call mark_suffix_with_optional_n_consonant, line 194 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_yA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 200 */ - if (ret < 0) return ret; +static int r_mark_yA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 198 */ + if (ret <= 0) return ret; } - if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_4, 2))) return 0; /* among, line 201 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 202 */ - if (ret < 0) return ret; + if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 199 */ + if (!(find_among_b(z, a_4, 2))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 200 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_nA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 206 */ - if (ret < 0) return ret; +static int r_mark_nA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 204 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_5, 2))) return 0; /* among, line 207 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 205 */ + if (!(find_among_b(z, a_5, 2))) return 0; return 1; } -static int r_mark_DA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 211 */ - if (ret < 0) return ret; +static int r_mark_DA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 209 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_6, 4))) return 0; /* among, line 212 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 210 */ + if (!(find_among_b(z, a_6, 4))) return 0; return 1; } -static int r_mark_ndA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 216 */ - if (ret < 0) return ret; +static int r_mark_ndA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 214 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_7, 2))) return 0; /* among, line 217 */ + if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 215 */ + if (!(find_among_b(z, a_7, 2))) return 0; return 1; } -static int r_mark_DAn(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 221 */ - if (ret < 0) return ret; +static int r_mark_DAn(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 219 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0; - if (!(find_among_b(z, a_8, 4))) return 0; /* among, line 222 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0; /* among, line 220 */ + if (!(find_among_b(z, a_8, 4))) return 0; return 1; } -static int r_mark_ndAn(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 226 */ - if (ret < 0) return ret; +static int r_mark_ndAn(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 224 */ + if (ret <= 0) return ret; } - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0; - if (!(find_among_b(z, a_9, 2))) return 0; /* among, line 227 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0; /* among, line 225 */ + if (!(find_among_b(z, a_9, 2))) return 0; return 1; } -static int r_mark_ylA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 231 */ - if (ret < 0) return ret; +static int r_mark_ylA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 229 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_10, 2))) return 0; /* among, line 232 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 233 */ - if (ret < 0) return ret; + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 230 */ + if (!(find_among_b(z, a_10, 2))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 231 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_ki(struct SN_env * z) { - if (!(eq_s_b(z, 2, s_14))) return 0; +static int r_mark_ki(struct SN_env * z) { /* backwardmode */ + if (!(eq_s_b(z, 2, s_3))) return 0; /* literal, line 235 */ return 1; } -static int r_mark_ncA(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 241 */ - if (ret < 0) return ret; +static int r_mark_ncA(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 239 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_11, 2))) return 0; /* among, line 242 */ - { int ret = r_mark_suffix_with_optional_n_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_n_consonant, line 243 */ - if (ret < 0) return ret; + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 240 */ + if (!(find_among_b(z, a_11, 2))) return 0; + { int ret = r_mark_suffix_with_optional_n_consonant(z); /* call mark_suffix_with_optional_n_consonant, line 241 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_yUm(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 247 */ - if (ret < 0) return ret; +static int r_mark_yUm(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 245 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0; - if (!(find_among_b(z, a_12, 4))) return 0; /* among, line 248 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 249 */ - if (ret < 0) return ret; + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0; /* among, line 246 */ + if (!(find_among_b(z, a_12, 4))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 247 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_sUn(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 253 */ - if (ret < 0) return ret; +static int r_mark_sUn(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 251 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0; - if (!(find_among_b(z, a_13, 4))) return 0; /* among, line 254 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0; /* among, line 252 */ + if (!(find_among_b(z, a_13, 4))) return 0; return 1; } -static int r_mark_yUz(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 258 */ - if (ret < 0) return ret; +static int r_mark_yUz(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 256 */ + if (ret <= 0) return ret; } - if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0; - if (!(find_among_b(z, a_14, 4))) return 0; /* among, line 259 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 260 */ - if (ret < 0) return ret; + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0; /* among, line 257 */ + if (!(find_among_b(z, a_14, 4))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 258 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_sUnUz(struct SN_env * z) { - if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0; - if (!(find_among_b(z, a_15, 4))) return 0; /* among, line 264 */ +static int r_mark_sUnUz(struct SN_env * z) { /* backwardmode */ + if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0; /* among, line 262 */ + if (!(find_among_b(z, a_15, 4))) return 0; return 1; } -static int r_mark_lAr(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 268 */ - if (ret < 0) return ret; +static int r_mark_lAr(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 266 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0; - if (!(find_among_b(z, a_16, 2))) return 0; /* among, line 269 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0; /* among, line 267 */ + if (!(find_among_b(z, a_16, 2))) return 0; return 1; } -static int r_mark_nUz(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 273 */ - if (ret < 0) return ret; +static int r_mark_nUz(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 271 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0; - if (!(find_among_b(z, a_17, 4))) return 0; /* among, line 274 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0; /* among, line 272 */ + if (!(find_among_b(z, a_17, 4))) return 0; return 1; } -static int r_mark_DUr(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 278 */ - if (ret < 0) return ret; +static int r_mark_DUr(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 276 */ + if (ret <= 0) return ret; } - if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0; - if (!(find_among_b(z, a_18, 8))) return 0; /* among, line 279 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0; /* among, line 277 */ + if (!(find_among_b(z, a_18, 8))) return 0; return 1; } -static int r_mark_cAsInA(struct SN_env * z) { - if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; - if (!(find_among_b(z, a_19, 2))) return 0; /* among, line 283 */ +static int r_mark_cAsInA(struct SN_env * z) { /* backwardmode */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0; /* among, line 281 */ + if (!(find_among_b(z, a_19, 2))) return 0; return 1; } -static int r_mark_yDU(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 287 */ - if (ret < 0) return ret; +static int r_mark_yDU(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 285 */ + if (ret <= 0) return ret; } - if (!(find_among_b(z, a_20, 32))) return 0; /* among, line 288 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 292 */ - if (ret < 0) return ret; + if (!(find_among_b(z, a_20, 32))) return 0; /* among, line 286 */ + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 290 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_ysA(struct SN_env * z) { - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; - if (!(find_among_b(z, a_21, 8))) return 0; /* among, line 297 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 298 */ - if (ret < 0) return ret; +static int r_mark_ysA(struct SN_env * z) { /* backwardmode */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 295 */ + if (!(find_among_b(z, a_21, 8))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 296 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_ymUs_(struct SN_env * z) { - { int ret = r_check_vowel_harmony(z); - if (ret == 0) return 0; /* call check_vowel_harmony, line 302 */ - if (ret < 0) return ret; +static int r_mark_ymUs_(struct SN_env * z) { /* backwardmode */ + { int ret = r_check_vowel_harmony(z); /* call check_vowel_harmony, line 300 */ + if (ret <= 0) return ret; } - if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0; - if (!(find_among_b(z, a_22, 4))) return 0; /* among, line 303 */ - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 304 */ - if (ret < 0) return ret; + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0; /* among, line 301 */ + if (!(find_among_b(z, a_22, 4))) return 0; + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 302 */ + if (ret <= 0) return ret; } return 1; } -static int r_mark_yken(struct SN_env * z) { - if (!(eq_s_b(z, 3, s_15))) return 0; - { int ret = r_mark_suffix_with_optional_y_consonant(z); - if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 308 */ - if (ret < 0) return ret; +static int r_mark_yken(struct SN_env * z) { /* backwardmode */ + if (!(eq_s_b(z, 3, s_4))) return 0; /* literal, line 306 */ + { int ret = r_mark_suffix_with_optional_y_consonant(z); /* call mark_suffix_with_optional_y_consonant, line 306 */ + if (ret <= 0) return ret; } return 1; } -static int r_stem_nominal_verb_suffixes(struct SN_env * z) { - z->ket = z->c; /* [, line 312 */ - z->B[0] = 1; /* set continue_stemming_noun_suffixes, line 313 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 315 */ - { int m2 = z->l - z->c; (void)m2; /* or, line 314 */ - { int ret = r_mark_ymUs_(z); - if (ret == 0) goto lab3; /* call mark_ymUs_, line 314 */ +static int r_stem_nominal_verb_suffixes(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 310 */ + z->B[0] = 1; /* set continue_stemming_noun_suffixes, line 311 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 313 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 312 */ + { int ret = r_mark_ymUs_(z); /* call mark_ymUs_, line 312 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } goto lab2; lab3: z->c = z->l - m2; - { int ret = r_mark_yDU(z); - if (ret == 0) goto lab4; /* call mark_yDU, line 314 */ + { int ret = r_mark_yDU(z); /* call mark_yDU, line 312 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } goto lab2; lab4: z->c = z->l - m2; - { int ret = r_mark_ysA(z); - if (ret == 0) goto lab5; /* call mark_ysA, line 314 */ + { int ret = r_mark_ysA(z); /* call mark_ysA, line 312 */ + if (ret == 0) goto lab5; if (ret < 0) return ret; } goto lab2; lab5: z->c = z->l - m2; - { int ret = r_mark_yken(z); - if (ret == 0) goto lab1; /* call mark_yken, line 314 */ + { int ret = r_mark_yken(z); /* call mark_yken, line 312 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } } @@ -1014,41 +934,41 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { goto lab0; lab1: z->c = z->l - m1; - { int ret = r_mark_cAsInA(z); - if (ret == 0) goto lab6; /* call mark_cAsInA, line 316 */ + { int ret = r_mark_cAsInA(z); /* call mark_cAsInA, line 314 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } - { int m3 = z->l - z->c; (void)m3; /* or, line 316 */ - { int ret = r_mark_sUnUz(z); - if (ret == 0) goto lab8; /* call mark_sUnUz, line 316 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 314 */ + { int ret = r_mark_sUnUz(z); /* call mark_sUnUz, line 314 */ + if (ret == 0) goto lab8; if (ret < 0) return ret; } goto lab7; lab8: z->c = z->l - m3; - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab9; /* call mark_lAr, line 316 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 314 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } goto lab7; lab9: z->c = z->l - m3; - { int ret = r_mark_yUm(z); - if (ret == 0) goto lab10; /* call mark_yUm, line 316 */ + { int ret = r_mark_yUm(z); /* call mark_yUm, line 314 */ + if (ret == 0) goto lab10; if (ret < 0) return ret; } goto lab7; lab10: z->c = z->l - m3; - { int ret = r_mark_sUn(z); - if (ret == 0) goto lab11; /* call mark_sUn, line 316 */ + { int ret = r_mark_sUn(z); /* call mark_sUn, line 314 */ + if (ret == 0) goto lab11; if (ret < 0) return ret; } goto lab7; lab11: z->c = z->l - m3; - { int ret = r_mark_yUz(z); - if (ret == 0) goto lab12; /* call mark_yUz, line 316 */ + { int ret = r_mark_yUz(z); /* call mark_yUz, line 314 */ + if (ret == 0) goto lab12; if (ret < 0) return ret; } goto lab7; @@ -1056,47 +976,47 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { z->c = z->l - m3; } lab7: - { int ret = r_mark_ymUs_(z); - if (ret == 0) goto lab6; /* call mark_ymUs_, line 316 */ + { int ret = r_mark_ymUs_(z); /* call mark_ymUs_, line 314 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } goto lab0; lab6: z->c = z->l - m1; - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab13; /* call mark_lAr, line 319 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 317 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 319 */ - { int ret = slice_del(z); /* delete, line 319 */ + z->bra = z->c; /* ], line 317 */ + { int ret = slice_del(z); /* delete, line 317 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 319 */ - z->ket = z->c; /* [, line 319 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 319 */ - { int ret = r_mark_DUr(z); - if (ret == 0) goto lab16; /* call mark_DUr, line 319 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 317 */ + z->ket = z->c; /* [, line 317 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 317 */ + { int ret = r_mark_DUr(z); /* call mark_DUr, line 317 */ + if (ret == 0) goto lab16; if (ret < 0) return ret; } goto lab15; lab16: - z->c = z->l - m4; - { int ret = r_mark_yDU(z); - if (ret == 0) goto lab17; /* call mark_yDU, line 319 */ + z->c = z->l - m5; + { int ret = r_mark_yDU(z); /* call mark_yDU, line 317 */ + if (ret == 0) goto lab17; if (ret < 0) return ret; } goto lab15; lab17: - z->c = z->l - m4; - { int ret = r_mark_ysA(z); - if (ret == 0) goto lab18; /* call mark_ysA, line 319 */ + z->c = z->l - m5; + { int ret = r_mark_ysA(z); /* call mark_ysA, line 317 */ + if (ret == 0) goto lab18; if (ret < 0) return ret; } goto lab15; lab18: - z->c = z->l - m4; - { int ret = r_mark_ymUs_(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call mark_ymUs_, line 319 */ + z->c = z->l - m5; + { int ret = r_mark_ymUs_(z); /* call mark_ymUs_, line 317 */ + if (ret == 0) { z->c = z->l - m4; goto lab14; } if (ret < 0) return ret; } } @@ -1104,24 +1024,24 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { lab14: ; } - z->B[0] = 0; /* unset continue_stemming_noun_suffixes, line 320 */ + z->B[0] = 0; /* unset continue_stemming_noun_suffixes, line 318 */ goto lab0; lab13: z->c = z->l - m1; - { int ret = r_mark_nUz(z); - if (ret == 0) goto lab19; /* call mark_nUz, line 323 */ + { int ret = r_mark_nUz(z); /* call mark_nUz, line 321 */ + if (ret == 0) goto lab19; if (ret < 0) return ret; } - { int m5 = z->l - z->c; (void)m5; /* or, line 323 */ - { int ret = r_mark_yDU(z); - if (ret == 0) goto lab21; /* call mark_yDU, line 323 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 321 */ + { int ret = r_mark_yDU(z); /* call mark_yDU, line 321 */ + if (ret == 0) goto lab21; if (ret < 0) return ret; } goto lab20; lab21: - z->c = z->l - m5; - { int ret = r_mark_ysA(z); - if (ret == 0) goto lab19; /* call mark_ysA, line 323 */ + z->c = z->l - m6; + { int ret = r_mark_ysA(z); /* call mark_ysA, line 321 */ + if (ret == 0) goto lab19; if (ret < 0) return ret; } } @@ -1129,42 +1049,42 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { goto lab0; lab19: z->c = z->l - m1; - { int m6 = z->l - z->c; (void)m6; /* or, line 325 */ - { int ret = r_mark_sUnUz(z); - if (ret == 0) goto lab24; /* call mark_sUnUz, line 325 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 323 */ + { int ret = r_mark_sUnUz(z); /* call mark_sUnUz, line 323 */ + if (ret == 0) goto lab24; if (ret < 0) return ret; } goto lab23; lab24: - z->c = z->l - m6; - { int ret = r_mark_yUz(z); - if (ret == 0) goto lab25; /* call mark_yUz, line 325 */ + z->c = z->l - m7; + { int ret = r_mark_yUz(z); /* call mark_yUz, line 323 */ + if (ret == 0) goto lab25; if (ret < 0) return ret; } goto lab23; lab25: - z->c = z->l - m6; - { int ret = r_mark_sUn(z); - if (ret == 0) goto lab26; /* call mark_sUn, line 325 */ + z->c = z->l - m7; + { int ret = r_mark_sUn(z); /* call mark_sUn, line 323 */ + if (ret == 0) goto lab26; if (ret < 0) return ret; } goto lab23; lab26: - z->c = z->l - m6; - { int ret = r_mark_yUm(z); - if (ret == 0) goto lab22; /* call mark_yUm, line 325 */ + z->c = z->l - m7; + { int ret = r_mark_yUm(z); /* call mark_yUm, line 323 */ + if (ret == 0) goto lab22; if (ret < 0) return ret; } } lab23: - z->bra = z->c; /* ], line 325 */ - { int ret = slice_del(z); /* delete, line 325 */ + z->bra = z->c; /* ], line 323 */ + { int ret = slice_del(z); /* delete, line 323 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 325 */ - z->ket = z->c; /* [, line 325 */ - { int ret = r_mark_ymUs_(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab27; } /* call mark_ymUs_, line 325 */ + { int m8 = z->l - z->c; (void)m8; /* try, line 323 */ + z->ket = z->c; /* [, line 323 */ + { int ret = r_mark_ymUs_(z); /* call mark_ymUs_, line 323 */ + if (ret == 0) { z->c = z->l - m8; goto lab27; } if (ret < 0) return ret; } lab27: @@ -1173,56 +1093,55 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { goto lab0; lab22: z->c = z->l - m1; - { int ret = r_mark_DUr(z); - if (ret == 0) return 0; /* call mark_DUr, line 327 */ + { int ret = r_mark_DUr(z); /* call mark_DUr, line 325 */ + if (ret <= 0) return ret; + } + z->bra = z->c; /* ], line 325 */ + { int ret = slice_del(z); /* delete, line 325 */ if (ret < 0) return ret; } - z->bra = z->c; /* ], line 327 */ - { int ret = slice_del(z); /* delete, line 327 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 327 */ - z->ket = z->c; /* [, line 327 */ - { int m7 = z->l - z->c; (void)m7; /* or, line 327 */ - { int ret = r_mark_sUnUz(z); - if (ret == 0) goto lab30; /* call mark_sUnUz, line 327 */ + { int m9 = z->l - z->c; (void)m9; /* try, line 325 */ + z->ket = z->c; /* [, line 325 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 325 */ + { int ret = r_mark_sUnUz(z); /* call mark_sUnUz, line 325 */ + if (ret == 0) goto lab30; if (ret < 0) return ret; } goto lab29; lab30: - z->c = z->l - m7; - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab31; /* call mark_lAr, line 327 */ + z->c = z->l - m10; + { int ret = r_mark_lAr(z); /* call mark_lAr, line 325 */ + if (ret == 0) goto lab31; if (ret < 0) return ret; } goto lab29; lab31: - z->c = z->l - m7; - { int ret = r_mark_yUm(z); - if (ret == 0) goto lab32; /* call mark_yUm, line 327 */ + z->c = z->l - m10; + { int ret = r_mark_yUm(z); /* call mark_yUm, line 325 */ + if (ret == 0) goto lab32; if (ret < 0) return ret; } goto lab29; lab32: - z->c = z->l - m7; - { int ret = r_mark_sUn(z); - if (ret == 0) goto lab33; /* call mark_sUn, line 327 */ + z->c = z->l - m10; + { int ret = r_mark_sUn(z); /* call mark_sUn, line 325 */ + if (ret == 0) goto lab33; if (ret < 0) return ret; } goto lab29; lab33: - z->c = z->l - m7; - { int ret = r_mark_yUz(z); - if (ret == 0) goto lab34; /* call mark_yUz, line 327 */ + z->c = z->l - m10; + { int ret = r_mark_yUz(z); /* call mark_yUz, line 325 */ + if (ret == 0) goto lab34; if (ret < 0) return ret; } goto lab29; lab34: - z->c = z->l - m7; + z->c = z->l - m10; } lab29: - { int ret = r_mark_ymUs_(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call mark_ymUs_, line 327 */ + { int ret = r_mark_ymUs_(z); /* call mark_ymUs_, line 325 */ + if (ret == 0) { z->c = z->l - m9; goto lab28; } if (ret < 0) return ret; } lab28: @@ -1230,42 +1149,41 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) { } } lab0: - z->bra = z->c; /* ], line 328 */ - { int ret = slice_del(z); /* delete, line 328 */ + z->bra = z->c; /* ], line 326 */ + { int ret = slice_del(z); /* delete, line 326 */ if (ret < 0) return ret; } return 1; } -static int r_stem_suffix_chain_before_ki(struct SN_env * z) { - z->ket = z->c; /* [, line 333 */ - { int ret = r_mark_ki(z); - if (ret == 0) return 0; /* call mark_ki, line 334 */ - if (ret < 0) return ret; +static int r_stem_suffix_chain_before_ki(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 331 */ + { int ret = r_mark_ki(z); /* call mark_ki, line 332 */ + if (ret <= 0) return ret; } - { int m1 = z->l - z->c; (void)m1; /* or, line 342 */ - { int ret = r_mark_DA(z); - if (ret == 0) goto lab1; /* call mark_DA, line 336 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 340 */ + { int ret = r_mark_DA(z); /* call mark_DA, line 334 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 336 */ - { int ret = slice_del(z); /* delete, line 336 */ + z->bra = z->c; /* ], line 334 */ + { int ret = slice_del(z); /* delete, line 334 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 336 */ - z->ket = z->c; /* [, line 336 */ - { int m2 = z->l - z->c; (void)m2; /* or, line 338 */ - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab4; /* call mark_lAr, line 337 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 334 */ + z->ket = z->c; /* [, line 334 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 336 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 335 */ + if (ret == 0) goto lab4; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 337 */ - { int ret = slice_del(z); /* delete, line 337 */ + z->bra = z->c; /* ], line 335 */ + { int ret = slice_del(z); /* delete, line 335 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 337 */ - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab5; } /* call stem_suffix_chain_before_ki, line 337 */ + { int m4 = z->l - z->c; (void)m4; /* try, line 335 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 335 */ + if (ret == 0) { z->c = z->l - m4; goto lab5; } if (ret < 0) return ret; } lab5: @@ -1273,27 +1191,27 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) { } goto lab3; lab4: - z->c = z->l - m2; - { int ret = r_mark_possessives(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call mark_possessives, line 339 */ + z->c = z->l - m3; + { int ret = r_mark_possessives(z); /* call mark_possessives, line 337 */ + if (ret == 0) { z->c = z->l - m2; goto lab2; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 339 */ - { int ret = slice_del(z); /* delete, line 339 */ + z->bra = z->c; /* ], line 337 */ + { int ret = slice_del(z); /* delete, line 337 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 339 */ - z->ket = z->c; /* [, line 339 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call mark_lAr, line 339 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 337 */ + z->ket = z->c; /* [, line 337 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 337 */ + if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 339 */ - { int ret = slice_del(z); /* delete, line 339 */ + z->bra = z->c; /* ], line 337 */ + { int ret = slice_del(z); /* delete, line 337 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call stem_suffix_chain_before_ki, line 339 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 337 */ + if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } lab6: @@ -1307,59 +1225,59 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) { goto lab0; lab1: z->c = z->l - m1; - { int ret = r_mark_nUn(z); - if (ret == 0) goto lab7; /* call mark_nUn, line 343 */ + { int ret = r_mark_nUn(z); /* call mark_nUn, line 341 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 343 */ - { int ret = slice_del(z); /* delete, line 343 */ + z->bra = z->c; /* ], line 341 */ + { int ret = slice_del(z); /* delete, line 341 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 343 */ - z->ket = z->c; /* [, line 343 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 345 */ - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab10; /* call mark_lArI, line 344 */ + { int m6 = z->l - z->c; (void)m6; /* try, line 341 */ + z->ket = z->c; /* [, line 341 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 343 */ + { int ret = r_mark_lArI(z); /* call mark_lArI, line 342 */ + if (ret == 0) goto lab10; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 344 */ - { int ret = slice_del(z); /* delete, line 344 */ + z->bra = z->c; /* ], line 342 */ + { int ret = slice_del(z); /* delete, line 342 */ if (ret < 0) return ret; } goto lab9; lab10: - z->c = z->l - m3; - z->ket = z->c; /* [, line 346 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 346 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab13; /* call mark_possessives, line 346 */ + z->c = z->l - m7; + z->ket = z->c; /* [, line 344 */ + { int m8 = z->l - z->c; (void)m8; /* or, line 344 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 344 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } goto lab12; lab13: - z->c = z->l - m4; - { int ret = r_mark_sU(z); - if (ret == 0) goto lab11; /* call mark_sU, line 346 */ + z->c = z->l - m8; + { int ret = r_mark_sU(z); /* call mark_sU, line 344 */ + if (ret == 0) goto lab11; if (ret < 0) return ret; } } lab12: - z->bra = z->c; /* ], line 346 */ - { int ret = slice_del(z); /* delete, line 346 */ + z->bra = z->c; /* ], line 344 */ + { int ret = slice_del(z); /* delete, line 344 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 346 */ - z->ket = z->c; /* [, line 346 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call mark_lAr, line 346 */ + { int m9 = z->l - z->c; (void)m9; /* try, line 344 */ + z->ket = z->c; /* [, line 344 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 344 */ + if (ret == 0) { z->c = z->l - m9; goto lab14; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 346 */ - { int ret = slice_del(z); /* delete, line 346 */ + z->bra = z->c; /* ], line 344 */ + { int ret = slice_del(z); /* delete, line 344 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call stem_suffix_chain_before_ki, line 346 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 344 */ + if (ret == 0) { z->c = z->l - m9; goto lab14; } if (ret < 0) return ret; } lab14: @@ -1367,9 +1285,9 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) { } goto lab9; lab11: - z->c = z->l - m3; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab8; } /* call stem_suffix_chain_before_ki, line 348 */ + z->c = z->l - m7; + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 346 */ + if (ret == 0) { z->c = z->l - m6; goto lab8; } if (ret < 0) return ret; } } @@ -1380,42 +1298,41 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) { goto lab0; lab7: z->c = z->l - m1; - { int ret = r_mark_ndA(z); - if (ret == 0) return 0; /* call mark_ndA, line 351 */ - if (ret < 0) return ret; + { int ret = r_mark_ndA(z); /* call mark_ndA, line 349 */ + if (ret <= 0) return ret; } - { int m5 = z->l - z->c; (void)m5; /* or, line 353 */ - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab16; /* call mark_lArI, line 352 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 351 */ + { int ret = r_mark_lArI(z); /* call mark_lArI, line 350 */ + if (ret == 0) goto lab16; + if (ret < 0) return ret; + } + z->bra = z->c; /* ], line 350 */ + { int ret = slice_del(z); /* delete, line 350 */ + if (ret < 0) return ret; + } + goto lab15; + lab16: + z->c = z->l - m10; + { int ret = r_mark_sU(z); /* call mark_sU, line 352 */ + if (ret == 0) goto lab17; if (ret < 0) return ret; } z->bra = z->c; /* ], line 352 */ { int ret = slice_del(z); /* delete, line 352 */ if (ret < 0) return ret; } - goto lab15; - lab16: - z->c = z->l - m5; - { int ret = r_mark_sU(z); - if (ret == 0) goto lab17; /* call mark_sU, line 354 */ - if (ret < 0) return ret; - } - z->bra = z->c; /* ], line 354 */ - { int ret = slice_del(z); /* delete, line 354 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 354 */ - z->ket = z->c; /* [, line 354 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab18; } /* call mark_lAr, line 354 */ + { int m11 = z->l - z->c; (void)m11; /* try, line 352 */ + z->ket = z->c; /* [, line 352 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 352 */ + if (ret == 0) { z->c = z->l - m11; goto lab18; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 354 */ - { int ret = slice_del(z); /* delete, line 354 */ + z->bra = z->c; /* ], line 352 */ + { int ret = slice_del(z); /* delete, line 352 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab18; } /* call stem_suffix_chain_before_ki, line 354 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 352 */ + if (ret == 0) { z->c = z->l - m11; goto lab18; } if (ret < 0) return ret; } lab18: @@ -1423,10 +1340,9 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) { } goto lab15; lab17: - z->c = z->l - m5; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) return 0; /* call stem_suffix_chain_before_ki, line 356 */ - if (ret < 0) return ret; + z->c = z->l - m10; + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 354 */ + if (ret <= 0) return ret; } } lab15: @@ -1436,20 +1352,20 @@ lab0: return 1; } -static int r_stem_noun_suffixes(struct SN_env * z) { - { int m1 = z->l - z->c; (void)m1; /* or, line 363 */ - z->ket = z->c; /* [, line 362 */ - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab1; /* call mark_lAr, line 362 */ +static int r_stem_noun_suffixes(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* or, line 361 */ + z->ket = z->c; /* [, line 360 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 360 */ + if (ret == 0) goto lab1; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 362 */ - { int ret = slice_del(z); /* delete, line 362 */ + z->bra = z->c; /* ], line 360 */ + { int ret = slice_del(z); /* delete, line 360 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 362 */ - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call stem_suffix_chain_before_ki, line 362 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 360 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 360 */ + if (ret == 0) { z->c = z->l - m2; goto lab2; } if (ret < 0) return ret; } lab2: @@ -1458,60 +1374,60 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab1: z->c = z->l - m1; - z->ket = z->c; /* [, line 364 */ - { int ret = r_mark_ncA(z); - if (ret == 0) goto lab3; /* call mark_ncA, line 364 */ + z->ket = z->c; /* [, line 362 */ + { int ret = r_mark_ncA(z); /* call mark_ncA, line 362 */ + if (ret == 0) goto lab3; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 364 */ - { int ret = slice_del(z); /* delete, line 364 */ + z->bra = z->c; /* ], line 362 */ + { int ret = slice_del(z); /* delete, line 362 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 365 */ - { int m2 = z->l - z->c; (void)m2; /* or, line 367 */ - z->ket = z->c; /* [, line 366 */ - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab6; /* call mark_lArI, line 366 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 363 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 365 */ + z->ket = z->c; /* [, line 364 */ + { int ret = r_mark_lArI(z); /* call mark_lArI, line 364 */ + if (ret == 0) goto lab6; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 366 */ - { int ret = slice_del(z); /* delete, line 366 */ + z->bra = z->c; /* ], line 364 */ + { int ret = slice_del(z); /* delete, line 364 */ if (ret < 0) return ret; } goto lab5; lab6: - z->c = z->l - m2; - z->ket = z->c; /* [, line 368 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 368 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab9; /* call mark_possessives, line 368 */ + z->c = z->l - m4; + z->ket = z->c; /* [, line 366 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 366 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 366 */ + if (ret == 0) goto lab9; if (ret < 0) return ret; } goto lab8; lab9: - z->c = z->l - m3; - { int ret = r_mark_sU(z); - if (ret == 0) goto lab7; /* call mark_sU, line 368 */ + z->c = z->l - m5; + { int ret = r_mark_sU(z); /* call mark_sU, line 366 */ + if (ret == 0) goto lab7; if (ret < 0) return ret; } } lab8: - z->bra = z->c; /* ], line 368 */ - { int ret = slice_del(z); /* delete, line 368 */ + z->bra = z->c; /* ], line 366 */ + { int ret = slice_del(z); /* delete, line 366 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 368 */ - z->ket = z->c; /* [, line 368 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab10; } /* call mark_lAr, line 368 */ + { int m6 = z->l - z->c; (void)m6; /* try, line 366 */ + z->ket = z->c; /* [, line 366 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 366 */ + if (ret == 0) { z->c = z->l - m6; goto lab10; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 368 */ - { int ret = slice_del(z); /* delete, line 368 */ + z->bra = z->c; /* ], line 366 */ + { int ret = slice_del(z); /* delete, line 366 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab10; } /* call stem_suffix_chain_before_ki, line 368 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 366 */ + if (ret == 0) { z->c = z->l - m6; goto lab10; } if (ret < 0) return ret; } lab10: @@ -1519,18 +1435,18 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab5; lab7: - z->c = z->l - m2; - z->ket = z->c; /* [, line 370 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call mark_lAr, line 370 */ + z->c = z->l - m4; + z->ket = z->c; /* [, line 368 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 368 */ + if (ret == 0) { z->c = z->l - m3; goto lab4; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 370 */ - { int ret = slice_del(z); /* delete, line 370 */ + z->bra = z->c; /* ], line 368 */ + { int ret = slice_del(z); /* delete, line 368 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call stem_suffix_chain_before_ki, line 370 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 368 */ + if (ret == 0) { z->c = z->l - m3; goto lab4; } if (ret < 0) return ret; } } @@ -1541,53 +1457,53 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab3: z->c = z->l - m1; - z->ket = z->c; /* [, line 374 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 374 */ - { int ret = r_mark_ndA(z); - if (ret == 0) goto lab13; /* call mark_ndA, line 374 */ + z->ket = z->c; /* [, line 372 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 372 */ + { int ret = r_mark_ndA(z); /* call mark_ndA, line 372 */ + if (ret == 0) goto lab13; if (ret < 0) return ret; } goto lab12; lab13: - z->c = z->l - m4; - { int ret = r_mark_nA(z); - if (ret == 0) goto lab11; /* call mark_nA, line 374 */ + z->c = z->l - m7; + { int ret = r_mark_nA(z); /* call mark_nA, line 372 */ + if (ret == 0) goto lab11; if (ret < 0) return ret; } } lab12: - { int m5 = z->l - z->c; (void)m5; /* or, line 377 */ - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab15; /* call mark_lArI, line 376 */ + { int m8 = z->l - z->c; (void)m8; /* or, line 375 */ + { int ret = r_mark_lArI(z); /* call mark_lArI, line 374 */ + if (ret == 0) goto lab15; + if (ret < 0) return ret; + } + z->bra = z->c; /* ], line 374 */ + { int ret = slice_del(z); /* delete, line 374 */ + if (ret < 0) return ret; + } + goto lab14; + lab15: + z->c = z->l - m8; + { int ret = r_mark_sU(z); /* call mark_sU, line 376 */ + if (ret == 0) goto lab16; if (ret < 0) return ret; } z->bra = z->c; /* ], line 376 */ { int ret = slice_del(z); /* delete, line 376 */ if (ret < 0) return ret; } - goto lab14; - lab15: - z->c = z->l - m5; - { int ret = r_mark_sU(z); - if (ret == 0) goto lab16; /* call mark_sU, line 378 */ - if (ret < 0) return ret; - } - z->bra = z->c; /* ], line 378 */ - { int ret = slice_del(z); /* delete, line 378 */ - if (ret < 0) return ret; - } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 378 */ - z->ket = z->c; /* [, line 378 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab17; } /* call mark_lAr, line 378 */ + { int m9 = z->l - z->c; (void)m9; /* try, line 376 */ + z->ket = z->c; /* [, line 376 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 376 */ + if (ret == 0) { z->c = z->l - m9; goto lab17; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 378 */ - { int ret = slice_del(z); /* delete, line 378 */ + z->bra = z->c; /* ], line 376 */ + { int ret = slice_del(z); /* delete, line 376 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab17; } /* call stem_suffix_chain_before_ki, line 378 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 376 */ + if (ret == 0) { z->c = z->l - m9; goto lab17; } if (ret < 0) return ret; } lab17: @@ -1595,9 +1511,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab14; lab16: - z->c = z->l - m5; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) goto lab11; /* call stem_suffix_chain_before_ki, line 380 */ + z->c = z->l - m8; + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 378 */ + if (ret == 0) goto lab11; if (ret < 0) return ret; } } @@ -1605,42 +1521,42 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab11: z->c = z->l - m1; - z->ket = z->c; /* [, line 384 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 384 */ - { int ret = r_mark_ndAn(z); - if (ret == 0) goto lab20; /* call mark_ndAn, line 384 */ + z->ket = z->c; /* [, line 382 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 382 */ + { int ret = r_mark_ndAn(z); /* call mark_ndAn, line 382 */ + if (ret == 0) goto lab20; if (ret < 0) return ret; } goto lab19; lab20: - z->c = z->l - m6; - { int ret = r_mark_nU(z); - if (ret == 0) goto lab18; /* call mark_nU, line 384 */ + z->c = z->l - m10; + { int ret = r_mark_nU(z); /* call mark_nU, line 382 */ + if (ret == 0) goto lab18; if (ret < 0) return ret; } } lab19: - { int m7 = z->l - z->c; (void)m7; /* or, line 384 */ - { int ret = r_mark_sU(z); - if (ret == 0) goto lab22; /* call mark_sU, line 384 */ + { int m11 = z->l - z->c; (void)m11; /* or, line 382 */ + { int ret = r_mark_sU(z); /* call mark_sU, line 382 */ + if (ret == 0) goto lab22; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 384 */ - { int ret = slice_del(z); /* delete, line 384 */ + z->bra = z->c; /* ], line 382 */ + { int ret = slice_del(z); /* delete, line 382 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 384 */ - z->ket = z->c; /* [, line 384 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab23; } /* call mark_lAr, line 384 */ + { int m12 = z->l - z->c; (void)m12; /* try, line 382 */ + z->ket = z->c; /* [, line 382 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 382 */ + if (ret == 0) { z->c = z->l - m12; goto lab23; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 384 */ - { int ret = slice_del(z); /* delete, line 384 */ + z->bra = z->c; /* ], line 382 */ + { int ret = slice_del(z); /* delete, line 382 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab23; } /* call stem_suffix_chain_before_ki, line 384 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 382 */ + if (ret == 0) { z->c = z->l - m12; goto lab23; } if (ret < 0) return ret; } lab23: @@ -1648,9 +1564,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab21; lab22: - z->c = z->l - m7; - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab18; /* call mark_lArI, line 384 */ + z->c = z->l - m11; + { int ret = r_mark_lArI(z); /* call mark_lArI, line 382 */ + if (ret == 0) goto lab18; if (ret < 0) return ret; } } @@ -1658,38 +1574,38 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab18: z->c = z->l - m1; - z->ket = z->c; /* [, line 386 */ - { int ret = r_mark_DAn(z); - if (ret == 0) goto lab24; /* call mark_DAn, line 386 */ + z->ket = z->c; /* [, line 384 */ + { int ret = r_mark_DAn(z); /* call mark_DAn, line 384 */ + if (ret == 0) goto lab24; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 386 */ - { int ret = slice_del(z); /* delete, line 386 */ + z->bra = z->c; /* ], line 384 */ + { int ret = slice_del(z); /* delete, line 384 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 386 */ - z->ket = z->c; /* [, line 386 */ - { int m8 = z->l - z->c; (void)m8; /* or, line 389 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab27; /* call mark_possessives, line 388 */ + { int m13 = z->l - z->c; (void)m13; /* try, line 384 */ + z->ket = z->c; /* [, line 384 */ + { int m14 = z->l - z->c; (void)m14; /* or, line 387 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 386 */ + if (ret == 0) goto lab27; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 388 */ - { int ret = slice_del(z); /* delete, line 388 */ + z->bra = z->c; /* ], line 386 */ + { int ret = slice_del(z); /* delete, line 386 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 388 */ - z->ket = z->c; /* [, line 388 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call mark_lAr, line 388 */ + { int m15 = z->l - z->c; (void)m15; /* try, line 386 */ + z->ket = z->c; /* [, line 386 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 386 */ + if (ret == 0) { z->c = z->l - m15; goto lab28; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 388 */ - { int ret = slice_del(z); /* delete, line 388 */ + z->bra = z->c; /* ], line 386 */ + { int ret = slice_del(z); /* delete, line 386 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call stem_suffix_chain_before_ki, line 388 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 386 */ + if (ret == 0) { z->c = z->l - m15; goto lab28; } if (ret < 0) return ret; } lab28: @@ -1697,18 +1613,18 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab26; lab27: - z->c = z->l - m8; - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab29; /* call mark_lAr, line 390 */ + z->c = z->l - m14; + { int ret = r_mark_lAr(z); /* call mark_lAr, line 388 */ + if (ret == 0) goto lab29; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 390 */ - { int ret = slice_del(z); /* delete, line 390 */ + z->bra = z->c; /* ], line 388 */ + { int ret = slice_del(z); /* delete, line 388 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 390 */ - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab30; } /* call stem_suffix_chain_before_ki, line 390 */ + { int m16 = z->l - z->c; (void)m16; /* try, line 388 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 388 */ + if (ret == 0) { z->c = z->l - m16; goto lab30; } if (ret < 0) return ret; } lab30: @@ -1716,9 +1632,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab26; lab29: - z->c = z->l - m8; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab25; } /* call stem_suffix_chain_before_ki, line 392 */ + z->c = z->l - m14; + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 390 */ + if (ret == 0) { z->c = z->l - m13; goto lab25; } if (ret < 0) return ret; } } @@ -1729,74 +1645,74 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab24: z->c = z->l - m1; - z->ket = z->c; /* [, line 396 */ - { int m9 = z->l - z->c; (void)m9; /* or, line 396 */ - { int ret = r_mark_nUn(z); - if (ret == 0) goto lab33; /* call mark_nUn, line 396 */ + z->ket = z->c; /* [, line 394 */ + { int m17 = z->l - z->c; (void)m17; /* or, line 394 */ + { int ret = r_mark_nUn(z); /* call mark_nUn, line 394 */ + if (ret == 0) goto lab33; if (ret < 0) return ret; } goto lab32; lab33: - z->c = z->l - m9; - { int ret = r_mark_ylA(z); - if (ret == 0) goto lab31; /* call mark_ylA, line 396 */ + z->c = z->l - m17; + { int ret = r_mark_ylA(z); /* call mark_ylA, line 394 */ + if (ret == 0) goto lab31; if (ret < 0) return ret; } } lab32: - z->bra = z->c; /* ], line 396 */ - { int ret = slice_del(z); /* delete, line 396 */ + z->bra = z->c; /* ], line 394 */ + { int ret = slice_del(z); /* delete, line 394 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 397 */ - { int m10 = z->l - z->c; (void)m10; /* or, line 399 */ - z->ket = z->c; /* [, line 398 */ - { int ret = r_mark_lAr(z); - if (ret == 0) goto lab36; /* call mark_lAr, line 398 */ + { int m18 = z->l - z->c; (void)m18; /* try, line 395 */ + { int m19 = z->l - z->c; (void)m19; /* or, line 397 */ + z->ket = z->c; /* [, line 396 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 396 */ + if (ret == 0) goto lab36; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 398 */ - { int ret = slice_del(z); /* delete, line 398 */ + z->bra = z->c; /* ], line 396 */ + { int ret = slice_del(z); /* delete, line 396 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) goto lab36; /* call stem_suffix_chain_before_ki, line 398 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 396 */ + if (ret == 0) goto lab36; if (ret < 0) return ret; } goto lab35; lab36: - z->c = z->l - m10; - z->ket = z->c; /* [, line 400 */ - { int m11 = z->l - z->c; (void)m11; /* or, line 400 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab39; /* call mark_possessives, line 400 */ + z->c = z->l - m19; + z->ket = z->c; /* [, line 398 */ + { int m20 = z->l - z->c; (void)m20; /* or, line 398 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 398 */ + if (ret == 0) goto lab39; if (ret < 0) return ret; } goto lab38; lab39: - z->c = z->l - m11; - { int ret = r_mark_sU(z); - if (ret == 0) goto lab37; /* call mark_sU, line 400 */ + z->c = z->l - m20; + { int ret = r_mark_sU(z); /* call mark_sU, line 398 */ + if (ret == 0) goto lab37; if (ret < 0) return ret; } } lab38: - z->bra = z->c; /* ], line 400 */ - { int ret = slice_del(z); /* delete, line 400 */ + z->bra = z->c; /* ], line 398 */ + { int ret = slice_del(z); /* delete, line 398 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 400 */ - z->ket = z->c; /* [, line 400 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab40; } /* call mark_lAr, line 400 */ + { int m21 = z->l - z->c; (void)m21; /* try, line 398 */ + z->ket = z->c; /* [, line 398 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 398 */ + if (ret == 0) { z->c = z->l - m21; goto lab40; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 400 */ - { int ret = slice_del(z); /* delete, line 400 */ + z->bra = z->c; /* ], line 398 */ + { int ret = slice_del(z); /* delete, line 398 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab40; } /* call stem_suffix_chain_before_ki, line 400 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 398 */ + if (ret == 0) { z->c = z->l - m21; goto lab40; } if (ret < 0) return ret; } lab40: @@ -1804,9 +1720,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab35; lab37: - z->c = z->l - m10; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab34; } /* call stem_suffix_chain_before_ki, line 402 */ + z->c = z->l - m19; + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 400 */ + if (ret == 0) { z->c = z->l - m18; goto lab34; } if (ret < 0) return ret; } } @@ -1817,66 +1733,66 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab31: z->c = z->l - m1; - z->ket = z->c; /* [, line 406 */ - { int ret = r_mark_lArI(z); - if (ret == 0) goto lab41; /* call mark_lArI, line 406 */ + z->ket = z->c; /* [, line 404 */ + { int ret = r_mark_lArI(z); /* call mark_lArI, line 404 */ + if (ret == 0) goto lab41; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 406 */ - { int ret = slice_del(z); /* delete, line 406 */ + z->bra = z->c; /* ], line 404 */ + { int ret = slice_del(z); /* delete, line 404 */ if (ret < 0) return ret; } goto lab0; lab41: z->c = z->l - m1; - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) goto lab42; /* call stem_suffix_chain_before_ki, line 408 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 406 */ + if (ret == 0) goto lab42; if (ret < 0) return ret; } goto lab0; lab42: z->c = z->l - m1; - z->ket = z->c; /* [, line 410 */ - { int m12 = z->l - z->c; (void)m12; /* or, line 410 */ - { int ret = r_mark_DA(z); - if (ret == 0) goto lab45; /* call mark_DA, line 410 */ + z->ket = z->c; /* [, line 408 */ + { int m22 = z->l - z->c; (void)m22; /* or, line 408 */ + { int ret = r_mark_DA(z); /* call mark_DA, line 408 */ + if (ret == 0) goto lab45; if (ret < 0) return ret; } goto lab44; lab45: - z->c = z->l - m12; - { int ret = r_mark_yU(z); - if (ret == 0) goto lab46; /* call mark_yU, line 410 */ + z->c = z->l - m22; + { int ret = r_mark_yU(z); /* call mark_yU, line 408 */ + if (ret == 0) goto lab46; if (ret < 0) return ret; } goto lab44; lab46: - z->c = z->l - m12; - { int ret = r_mark_yA(z); - if (ret == 0) goto lab43; /* call mark_yA, line 410 */ + z->c = z->l - m22; + { int ret = r_mark_yA(z); /* call mark_yA, line 408 */ + if (ret == 0) goto lab43; if (ret < 0) return ret; } } lab44: - z->bra = z->c; /* ], line 410 */ - { int ret = slice_del(z); /* delete, line 410 */ + z->bra = z->c; /* ], line 408 */ + { int ret = slice_del(z); /* delete, line 408 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 410 */ - z->ket = z->c; /* [, line 410 */ - { int m13 = z->l - z->c; (void)m13; /* or, line 410 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab49; /* call mark_possessives, line 410 */ + { int m23 = z->l - z->c; (void)m23; /* try, line 408 */ + z->ket = z->c; /* [, line 408 */ + { int m24 = z->l - z->c; (void)m24; /* or, line 408 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 408 */ + if (ret == 0) goto lab49; if (ret < 0) return ret; } - z->bra = z->c; /* ], line 410 */ - { int ret = slice_del(z); /* delete, line 410 */ + z->bra = z->c; /* ], line 408 */ + { int ret = slice_del(z); /* delete, line 408 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 410 */ - z->ket = z->c; /* [, line 410 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab50; } /* call mark_lAr, line 410 */ + { int m25 = z->l - z->c; (void)m25; /* try, line 408 */ + z->ket = z->c; /* [, line 408 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 408 */ + if (ret == 0) { z->c = z->l - m25; goto lab50; } if (ret < 0) return ret; } lab50: @@ -1884,20 +1800,20 @@ static int r_stem_noun_suffixes(struct SN_env * z) { } goto lab48; lab49: - z->c = z->l - m13; - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab47; } /* call mark_lAr, line 410 */ + z->c = z->l - m24; + { int ret = r_mark_lAr(z); /* call mark_lAr, line 408 */ + if (ret == 0) { z->c = z->l - m23; goto lab47; } if (ret < 0) return ret; } } lab48: - z->bra = z->c; /* ], line 410 */ - { int ret = slice_del(z); /* delete, line 410 */ + z->bra = z->c; /* ], line 408 */ + { int ret = slice_del(z); /* delete, line 408 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 410 */ - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab47; } /* call stem_suffix_chain_before_ki, line 410 */ + z->ket = z->c; /* [, line 408 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 408 */ + if (ret == 0) { z->c = z->l - m23; goto lab47; } if (ret < 0) return ret; } lab47: @@ -1906,37 +1822,36 @@ static int r_stem_noun_suffixes(struct SN_env * z) { goto lab0; lab43: z->c = z->l - m1; - z->ket = z->c; /* [, line 412 */ - { int m14 = z->l - z->c; (void)m14; /* or, line 412 */ - { int ret = r_mark_possessives(z); - if (ret == 0) goto lab52; /* call mark_possessives, line 412 */ + z->ket = z->c; /* [, line 410 */ + { int m26 = z->l - z->c; (void)m26; /* or, line 410 */ + { int ret = r_mark_possessives(z); /* call mark_possessives, line 410 */ + if (ret == 0) goto lab52; if (ret < 0) return ret; } goto lab51; lab52: - z->c = z->l - m14; - { int ret = r_mark_sU(z); - if (ret == 0) return 0; /* call mark_sU, line 412 */ - if (ret < 0) return ret; + z->c = z->l - m26; + { int ret = r_mark_sU(z); /* call mark_sU, line 410 */ + if (ret <= 0) return ret; } } lab51: - z->bra = z->c; /* ], line 412 */ - { int ret = slice_del(z); /* delete, line 412 */ + z->bra = z->c; /* ], line 410 */ + { int ret = slice_del(z); /* delete, line 410 */ if (ret < 0) return ret; } - { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 412 */ - z->ket = z->c; /* [, line 412 */ - { int ret = r_mark_lAr(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab53; } /* call mark_lAr, line 412 */ + { int m27 = z->l - z->c; (void)m27; /* try, line 410 */ + z->ket = z->c; /* [, line 410 */ + { int ret = r_mark_lAr(z); /* call mark_lAr, line 410 */ + if (ret == 0) { z->c = z->l - m27; goto lab53; } if (ret < 0) return ret; } - z->bra = z->c; /* ], line 412 */ - { int ret = slice_del(z); /* delete, line 412 */ + z->bra = z->c; /* ], line 410 */ + { int ret = slice_del(z); /* delete, line 410 */ if (ret < 0) return ret; } - { int ret = r_stem_suffix_chain_before_ki(z); - if (ret == 0) { z->c = z->l - m_keep; goto lab53; } /* call stem_suffix_chain_before_ki, line 412 */ + { int ret = r_stem_suffix_chain_before_ki(z); /* call stem_suffix_chain_before_ki, line 410 */ + if (ret == 0) { z->c = z->l - m27; goto lab53; } if (ret < 0) return ret; } lab53: @@ -1947,31 +1862,30 @@ lab0: return 1; } -static int r_post_process_last_consonants(struct SN_env * z) { +static int r_post_process_last_consonants(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 416 */ - among_var = find_among_b(z, a_23, 4); /* substring, line 416 */ + z->ket = z->c; /* [, line 414 */ + among_var = find_among_b(z, a_23, 4); /* substring, line 414 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 416 */ - switch(among_var) { - case 0: return 0; + z->bra = z->c; /* ], line 414 */ + switch (among_var) { /* among, line 414 */ case 1: - { int ret = slice_from_s(z, 1, s_16); /* <-, line 417 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 415 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 2, s_17); /* <-, line 418 */ + { int ret = slice_from_s(z, 2, s_6); /* <-, line 416 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_18); /* <-, line 419 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 417 */ if (ret < 0) return ret; } break; case 4: - { int ret = slice_from_s(z, 1, s_19); /* <-, line 420 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 418 */ if (ret < 0) return ret; } break; @@ -1979,94 +1893,109 @@ static int r_post_process_last_consonants(struct SN_env * z) { return 1; } -static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) { - { int m_test = z->l - z->c; /* test, line 431 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 431 */ - if (!(eq_s_b(z, 1, s_20))) goto lab1; +static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) { /* backwardmode */ + { int m_test1 = z->l - z->c; /* test, line 429 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 429 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab1; /* literal, line 429 */ + z->c--; goto lab0; lab1: - z->c = z->l - m1; - if (!(eq_s_b(z, 1, s_21))) return 0; + z->c = z->l - m2; + if (z->c <= z->lb || z->p[z->c - 1] != 'g') return 0; /* literal, line 429 */ + z->c--; } lab0: - z->c = z->l - m_test; + z->c = z->l - m_test1; } - { int m2 = z->l - z->c; (void)m2; /* or, line 433 */ - { int m_test = z->l - z->c; /* test, line 432 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel, line 432 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 432 */ - if (!(eq_s_b(z, 1, s_22))) goto lab5; + { int m3 = z->l - z->c; (void)m3; /* or, line 431 */ + { int m_test4 = z->l - z->c; /* test, line 430 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel, line 430 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 430 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab5; /* literal, line 430 */ + z->c--; goto lab4; lab5: - z->c = z->l - m3; - if (!(eq_s_b(z, 2, s_23))) goto lab3; + z->c = z->l - m5; + if (!(eq_s_b(z, 2, s_9))) goto lab3; /* literal, line 430 */ } lab4: - z->c = z->l - m_test; + z->c = z->l - m_test4; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 2, s_24); /* <+, line 432 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 2, s_10); /* <+, line 430 */ + z->c = saved_c; + } if (ret < 0) return ret; } goto lab2; lab3: - z->c = z->l - m2; - { int m_test = z->l - z->c; /* test, line 434 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6; /* goto */ /* grouping vowel, line 434 */ - { int m4 = z->l - z->c; (void)m4; /* or, line 434 */ - if (!(eq_s_b(z, 1, s_25))) goto lab8; + z->c = z->l - m3; + { int m_test6 = z->l - z->c; /* test, line 432 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6; /* goto */ /* grouping vowel, line 432 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 432 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 432 */ + z->c--; goto lab7; lab8: - z->c = z->l - m4; - if (!(eq_s_b(z, 1, s_26))) goto lab6; + z->c = z->l - m7; + if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab6; /* literal, line 432 */ + z->c--; } lab7: - z->c = z->l - m_test; + z->c = z->l - m_test6; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_27); /* <+, line 434 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_11); /* <+, line 432 */ + z->c = saved_c; + } if (ret < 0) return ret; } goto lab2; lab6: - z->c = z->l - m2; - { int m_test = z->l - z->c; /* test, line 436 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9; /* goto */ /* grouping vowel, line 436 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 436 */ - if (!(eq_s_b(z, 1, s_28))) goto lab11; + z->c = z->l - m3; + { int m_test8 = z->l - z->c; /* test, line 434 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9; /* goto */ /* grouping vowel, line 434 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 434 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab11; /* literal, line 434 */ + z->c--; goto lab10; lab11: - z->c = z->l - m5; - if (!(eq_s_b(z, 1, s_29))) goto lab9; + z->c = z->l - m9; + if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab9; /* literal, line 434 */ + z->c--; } lab10: - z->c = z->l - m_test; + z->c = z->l - m_test8; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 1, s_30); /* <+, line 436 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 1, s_12); /* <+, line 434 */ + z->c = saved_c; + } if (ret < 0) return ret; } goto lab2; lab9: - z->c = z->l - m2; - { int m_test = z->l - z->c; /* test, line 438 */ - if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 438 */ - { int m6 = z->l - z->c; (void)m6; /* or, line 438 */ - if (!(eq_s_b(z, 2, s_31))) goto lab13; + z->c = z->l - m3; + { int m_test10 = z->l - z->c; /* test, line 436 */ + if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 436 */ + { int m11 = z->l - z->c; (void)m11; /* or, line 436 */ + if (!(eq_s_b(z, 2, s_13))) goto lab13; /* literal, line 436 */ goto lab12; lab13: - z->c = z->l - m6; - if (!(eq_s_b(z, 2, s_32))) return 0; + z->c = z->l - m11; + if (!(eq_s_b(z, 2, s_14))) return 0; /* literal, line 436 */ } lab12: - z->c = z->l - m_test; + z->c = z->l - m_test10; } - { int c_keep = z->c; - int ret = insert_s(z, z->c, z->c, 2, s_33); /* <+, line 438 */ - z->c = c_keep; + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 2, s_15); /* <+, line 436 */ + z->c = saved_c; + } if (ret < 0) return ret; } } @@ -2074,12 +2003,23 @@ lab2: return 1; } -static int r_more_than_one_syllable_word(struct SN_env * z) { - { int c_test = z->c; /* test, line 446 */ +static int r_is_reserved_word(struct SN_env * z) { /* backwardmode */ + if (!(eq_s_b(z, 2, s_16))) return 0; /* literal, line 440 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 440 */ + if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - m1; goto lab0; } /* literal, line 440 */ + lab0: + ; + } + if (z->c > z->lb) return 0; /* atlimit, line 440 */ + return 1; +} + +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 446 */ - int c1 = z->c; - { /* gopast */ /* grouping vowel, line 446 */ + while(1) { /* atleast, line 447 */ + 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; z->c += ret; @@ -2087,77 +2027,39 @@ static int r_more_than_one_syllable_word(struct SN_env * z) { i--; continue; lab0: - z->c = c1; + z->c = c2; break; } if (i > 0) return 0; } - z->c = c_test; + z->c = c_test1; } return 1; } -static int r_is_reserved_word(struct SN_env * z) { - { int c1 = z->c; /* or, line 451 */ - { int c_test = z->c; /* test, line 450 */ - while(1) { /* gopast, line 450 */ - if (!(eq_s(z, 2, s_34))) goto lab2; - break; - lab2: - { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); - if (ret < 0) goto lab1; - z->c = ret; /* gopast, line 450 */ - } - } - z->I[0] = 2; - if (!(z->I[0] == z->l)) goto lab1; - z->c = c_test; - } - goto lab0; - lab1: - z->c = c1; - { int c_test = z->c; /* test, line 452 */ - while(1) { /* gopast, line 452 */ - if (!(eq_s(z, 5, s_35))) goto lab3; - break; - lab3: - { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); - if (ret < 0) return 0; - z->c = ret; /* gopast, line 452 */ - } - } - z->I[0] = 5; - if (!(z->I[0] == z->l)) return 0; - z->c = c_test; - } - } -lab0: - return 1; -} +static int r_postlude(struct SN_env * z) { /* forwardmode */ + z->lb = z->c; z->c = z->l; /* backwards, line 451 */ -static int r_postlude(struct SN_env * z) { - { int c1 = z->c; /* not, line 456 */ - { int ret = r_is_reserved_word(z); - if (ret == 0) goto lab0; /* call is_reserved_word, line 456 */ + { int m1 = z->l - z->c; (void)m1; /* not, line 452 */ + { int ret = r_is_reserved_word(z); /* call is_reserved_word, line 452 */ + if (ret == 0) goto lab0; if (ret < 0) return ret; } return 0; lab0: - z->c = c1; + z->c = z->l - m1; } - z->lb = z->c; z->c = z->l; /* backwards, line 457 */ - - { int m2 = z->l - z->c; (void)m2; /* do, line 458 */ - { int ret = r_append_U_to_stems_ending_with_d_or_g(z); - if (ret == 0) goto lab1; /* call append_U_to_stems_ending_with_d_or_g, line 458 */ + { 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 459 */ - { int ret = r_post_process_last_consonants(z); - if (ret == 0) goto lab2; /* call post_process_last_consonants, line 459 */ + { 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: @@ -2167,39 +2069,37 @@ static int r_postlude(struct SN_env * z) { return 1; } -extern int turkish_UTF_8_stem(struct SN_env * z) { - { int ret = r_more_than_one_syllable_word(z); - if (ret == 0) return 0; /* call more_than_one_syllable_word, line 465 */ - if (ret < 0) return ret; +extern int turkish_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + { int ret = r_more_than_one_syllable_word(z); /* call more_than_one_syllable_word, line 460 */ + if (ret <= 0) return ret; } - z->lb = z->c; z->c = z->l; /* backwards, line 467 */ + z->lb = z->c; z->c = z->l; /* backwards, line 462 */ - { int m1 = z->l - z->c; (void)m1; /* do, line 468 */ - { int ret = r_stem_nominal_verb_suffixes(z); - if (ret == 0) goto lab0; /* call stem_nominal_verb_suffixes, line 468 */ + { 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 469 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 470 */ - { int ret = r_stem_noun_suffixes(z); - if (ret == 0) goto lab1; /* call stem_noun_suffixes, line 470 */ + 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; - { int ret = r_postlude(z); - if (ret == 0) return 0; /* call postlude, line 473 */ - if (ret < 0) return ret; + { int ret = r_postlude(z); /* call postlude, line 468 */ + if (ret <= 0) return ret; } return 1; } -extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1, 1); } +extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 0, 1); } extern void turkish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); } diff --git a/src/backend/snowball/libstemmer/utilities.c b/src/backend/snowball/libstemmer/utilities.c index 8c89af1cd5..920b8dbe6d 100644 --- a/src/backend/snowball/libstemmer/utilities.c +++ b/src/backend/snowball/libstemmer/utilities.c @@ -1,7 +1,5 @@ #include "header.h" -#define unless(C) if(!(C)) - #define CREATE_SIZE 1 extern symbol * create_s(void) { @@ -10,7 +8,7 @@ extern symbol * create_s(void) { if (mem == NULL) return NULL; p = (symbol *) (HEAD + (char *) mem); CAPACITY(p) = CREATE_SIZE; - SET_SIZE(p, CREATE_SIZE); + SET_SIZE(p, 0); return p; } @@ -22,7 +20,7 @@ extern void lose_s(symbol * p) { /* new_p = skip_utf8(p, c, lb, l, n); skips n characters forwards from p + c if n +ve, or n characters backwards from p + c - 1 if n -ve. new_p is the new - position, or 0 on failure. + position, or -1 on failure. -- used to implement hop and next in the utf8 case. */ @@ -85,14 +83,14 @@ static int get_b_utf8(const symbol * p, int c, int lb, int * slot) { if (b1 >= 0xC0 || c == lb) { /* 1100 0000 */ * slot = (b1 & 0x1F) << 6 | (b0 & 0x3F); return 2; } - * slot = (p[c] & 0xF) << 12 | (b1 & 0x3F) << 6 | (b0 & 0x3F); return 3; + * slot = (p[--c] & 0xF) << 12 | (b1 & 0x3F) << 6 | (b0 & 0x3F); return 3; } 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); - unless (w) return -1; + if (!w) return -1; if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return w; z->c += w; @@ -104,7 +102,7 @@ extern int in_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, do { int ch; int w = get_b_utf8(z->p, z->c, z->lb, & ch); - unless (w) return -1; + if (!w) return -1; if (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return w; z->c -= w; @@ -116,8 +114,8 @@ extern int out_grouping_U(struct SN_env * z, const unsigned char * s, int min, i do { int ch; int w = get_utf8(z->p, z->c, z->l, & ch); - unless (w) return -1; - unless (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) + if (!w) return -1; + if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)) return w; z->c += w; } while (repeat); @@ -128,8 +126,8 @@ extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, do { int ch; int w = get_b_utf8(z->p, z->c, z->lb, & ch); - unless (w) return -1; - unless (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) + if (!w) return -1; + if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)) return w; z->c -= w; } while (repeat); @@ -167,7 +165,7 @@ extern int out_grouping(struct SN_env * z, const unsigned char * s, int min, int int ch; if (z->c >= z->l) return -1; ch = z->p[z->c]; - unless (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) + if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)) return 1; z->c++; } while (repeat); @@ -179,7 +177,7 @@ extern int out_grouping_b(struct SN_env * z, const unsigned char * s, int min, i int ch; if (z->c <= z->lb) return -1; ch = z->p[z->c - 1]; - unless (ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) + if (!(ch > max || (ch -= min) < 0 || (s[ch >> 3] & (0X1 << (ch & 0X7))) == 0)) return 1; z->c--; } while (repeat); @@ -366,7 +364,7 @@ extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const if (z->c > c_bra) z->c = c_bra; } - unless (s_size == 0) memmove(z->p + c_bra, s, s_size * sizeof(symbol)); + if (s_size) memmove(z->p + c_bra, s, s_size * sizeof(symbol)); if (adjptr != NULL) *adjptr = adjustment; return 0; @@ -412,12 +410,7 @@ extern int insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbo } extern int insert_v(struct SN_env * z, int bra, int ket, const symbol * p) { - int adjustment; - if (replace_s(z, bra, ket, SIZE(p), p, &adjustment)) - return -1; - if (bra <= z->bra) z->bra += adjustment; - if (bra <= z->ket) z->ket += adjustment; - return 0; + return insert_s(z, bra, ket, SIZE(p), p); } extern symbol * slice_to(struct SN_env * z, symbol * p) { @@ -450,6 +443,16 @@ extern symbol * assign_to(struct SN_env * z, symbol * p) { return p; } +extern int len_utf8(const symbol * p) { + int size = SIZE(p); + int len = 0; + while (size--) { + symbol b = *p++; + if (b >= 0xC0 || b < 0x80) ++len; + } + return len; +} + #if 0 extern void debug(struct SN_env * z, int number, int line_count) { int i; diff --git a/src/backend/snowball/stopwords/nepali.stop b/src/backend/snowball/stopwords/nepali.stop new file mode 100644 index 0000000000..42e24a5959 --- /dev/null +++ b/src/backend/snowball/stopwords/nepali.stop @@ -0,0 +1,304 @@ +अक्सर +अगाडि +अगाडी +अझै +अनुसार +अन्तर्गत +अन्य +अन्यथा +अब +अरु +अरू +अर्का +अर्की +अर्को +अर्थात +अर्थात् +अर्ब +अलग +अलिकति +असार +आइतवार +आए +आज +आठ +आत्म +आदि +आफू +आफ्नै +आफ्नो +आयो +आश्विन +उदाहरण +उन +उप +उही +एउटै +एक +एकदम +एकै +ओठ +औं +कति +कतै +कत्रा +कत्री +कत्रो +करोड +कस +कसरी +कसै +कस्ता +कस्ती +कस्तो +कहिल्यै +कहीं +का +कार्तिक +कि +किन +किनभने +कुन +कुनै +कुरा +कृपया +के +केहि +केही +को +कोही +क्रमशः +खर्ब +गयौ +चाँडै +चार +चाले +चाहनुहुन्छ +चाहन्छु +चाहिए +चैत +चौथो +छ +छन् +छु +छू +छैन +छौँ +छौं +जताततै +जति +जत्रा +जत्री +जत्रो +जब +जबकि +जस +जस्ता +जस्ती +जस्तो +जस्तोसुकै +जहाँ +जान +जाहिर +जुन +जे +जेठ +जो +जोसुकै +ठीक +त +तत्काल +तथा +तदनुसार +तपाई +तपाईं +तर +तल +तापनि +तापनी +तिन +तिनी +तिमी +तिर +ती +तीन +तुरुन्तै +तेस्कारण +तेस्रो +त्यसकारण +त्यसपछि +त्यसमा +त्यसैले +त्यहाँ +त्यो +त्सपछि +त्सैले +थिए +थिएन +थिएनन् +थियो +थोरै +दस +दिए +दिनुभएको +दिनुहुन्छ +दुई +देख +देखि +देखिन्छ +देखियो +देखे +देखेको +देखेर +देख्न +दोश्रो +दोस्रो +धेरै +न +नजिकै +नत्र +नयाँ +नि +निम्ति +निम्न +निम्नानुसार +निर्दिष्ट +नै +नौ +पक्का +पक्कै +पछि +पछिल्लो +पटक +पनि +पर्छ +पर्थ्यो +पर्याप्त +पर्सी +पहिले +पहिलो +पहिल्यै +पाँच +पाँचौं +पूर्व +पौष +प्रति +प्रतेक +प्रत्येक +प्रथम +प्लस +फागुन +फेरि +फेरी +बने +बन्द +बन्न +बरु +बाटो +बारे +बाहिर +बाहेक +बिरुद्ध +बिशेष +बिहिवार +बीच +बुधवार +भए +भदौ +भन् +भर +भित्र +भित्री +भोलि +भोली +म +मंसिर +मङ्गलवार +महिना +मा +माघ +मात्र +माथि +मुख्य +मेरो +यति +यत्ति +यत्रा +यत्री +यत्रो +यथोचित +यदि +यद्यपि +यस +यसरी +यसो +यस्ता +यस्ती +यस्तो +यहाँ +या +यिन +यिनी +यी +यो +र +रही +रहेका +रहेको +राखे +राख्छ +राम्रो +रूप +लगभग +लाई +लाख +लागि +ले +वरिपरि +वरीपरी +वर्ष +वास्तवमा +वाहेक +विरुद्ध +विशेष +वैशाख +शनिवार +शायद +शुक्रवार +सँग +सँगै +संग +संगै +सक्छ +सट्टा +सधै +सधैं +सबै +समय +सम्भव +सम्म +सय +सही +साँच्चै +साउन +सात +साथ +साथै +सायद +सारा +सुन्ना +सो +सोध्न +सोमवार +सोही +स्पष्ट +हजार +हप्ता +हरे +हरेक +हामी +हाम्रो +हिजो +हुन्छ +होला +होस् diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index e155c6ae2f..ab5cb7f0c1 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -718,6 +718,8 @@ struct tsearch_config_match static const struct tsearch_config_match tsearch_config_languages[] = { + {"arabic", "ar"}, + {"arabic", "Arabic"}, {"danish", "da"}, {"danish", "Danish"}, {"dutch", "nl"}, @@ -734,8 +736,16 @@ static const struct tsearch_config_match tsearch_config_languages[] = {"german", "German"}, {"hungarian", "hu"}, {"hungarian", "Hungarian"}, + {"indonesian", "id"}, + {"indonesian", "Indonesian"}, + {"irish", "ga"}, + {"irish", "Irish"}, {"italian", "it"}, {"italian", "Italian"}, + {"lithuanian", "lt"}, + {"lithuanian", "Lithuanian"}, + {"nepali", "ne"}, + {"nepali", "Nepali"}, {"norwegian", "no"}, {"norwegian", "Norwegian"}, {"portuguese", "pt"}, @@ -747,6 +757,8 @@ static const struct tsearch_config_match tsearch_config_languages[] = {"spanish", "Spanish"}, {"swedish", "sv"}, {"swedish", "Swedish"}, + {"tamil", "ta"}, + {"tamil", "Tamil"}, {"turkish", "tr"}, {"turkish", "Turkish"}, {NULL, NULL} /* end marker */ diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 6ab2187949..07e0576db7 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201809191 +#define CATALOG_VERSION_NO 201809241 #endif diff --git a/src/include/snowball/libstemmer/header.h b/src/include/snowball/libstemmer/header.h index 4d3078f50f..6bccf0f2c7 100644 --- a/src/include/snowball/libstemmer/header.h +++ b/src/include/snowball/libstemmer/header.h @@ -54,5 +54,7 @@ extern int insert_v(struct SN_env * z, int bra, int ket, const symbol * p); extern symbol * slice_to(struct SN_env * z, symbol * p); extern symbol * assign_to(struct SN_env * z, symbol * p); +extern int len_utf8(const symbol * p); + extern void debug(struct SN_env * z, int number, int line_count); diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h index 49c5559cdf..57f16f8960 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h index e67d11152c..5423842969 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h index e685dcf7ef..d5a56a98f0 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h index c67b67b944..ba197d8a70 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h index 21244d6162..29321023a2 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h index 8525389227..0887ac8164 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_hungarian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_hungarian.h deleted file mode 100644 index c3177e5019..0000000000 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_hungarian.h +++ /dev/null @@ -1,16 +0,0 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ - -#ifdef __cplusplus -extern "C" { -#endif - -extern struct SN_env * hungarian_ISO_8859_1_create_env(void); -extern void hungarian_ISO_8859_1_close_env(struct SN_env * z); - -extern int hungarian_ISO_8859_1_stem(struct SN_env * z); - -#ifdef __cplusplus -} -#endif - diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h new file mode 100644 index 0000000000..aac192cace --- /dev/null +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * indonesian_ISO_8859_1_create_env(void); +extern void indonesian_ISO_8859_1_close_env(struct SN_env * z); + +extern int indonesian_ISO_8859_1_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h new file mode 100644 index 0000000000..0e146373ae --- /dev/null +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * irish_ISO_8859_1_create_env(void); +extern void irish_ISO_8859_1_close_env(struct SN_env * z); + +extern int irish_ISO_8859_1_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h index dccbfd5e97..9e3fcf7f78 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h index e09e34e52f..424c8cd468 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h index 5c8fd01db1..99bc54ff0d 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h index 0279bc94da..e9abc0de5f 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h index 83f1498403..1e661aacfe 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h index 4184e5ca39..5e6f6ac8af 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h b/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h new file mode 100644 index 0000000000..c019a7d456 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * hungarian_ISO_8859_2_create_env(void); +extern void hungarian_ISO_8859_2_close_env(struct SN_env * z); + +extern int hungarian_ISO_8859_2_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h b/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h index 931f269ceb..ef9bd3f3a4 100644 --- a/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h +++ b/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_KOI8_R_russian.h b/src/include/snowball/libstemmer/stem_KOI8_R_russian.h index de2179d29f..cc58324c66 100644 --- a/src/include/snowball/libstemmer/stem_KOI8_R_russian.h +++ b/src/include/snowball/libstemmer/stem_KOI8_R_russian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_arabic.h b/src/include/snowball/libstemmer/stem_UTF_8_arabic.h new file mode 100644 index 0000000000..5ef61a1031 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_arabic.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * arabic_UTF_8_create_env(void); +extern void arabic_UTF_8_close_env(struct SN_env * z); + +extern int arabic_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_danish.h b/src/include/snowball/libstemmer/stem_UTF_8_danish.h index ed744d454f..71f93155ed 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_danish.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_danish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_dutch.h b/src/include/snowball/libstemmer/stem_UTF_8_dutch.h index a99646452b..6af7d0adf3 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_dutch.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_dutch.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_english.h b/src/include/snowball/libstemmer/stem_UTF_8_english.h index 619a8bc72a..d0ea10ef9f 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_english.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_english.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_finnish.h b/src/include/snowball/libstemmer/stem_UTF_8_finnish.h index d2f2fd9638..7d07fbaf4a 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_finnish.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_finnish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_french.h b/src/include/snowball/libstemmer/stem_UTF_8_french.h index 08e341846d..b19139e538 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_french.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_french.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_german.h b/src/include/snowball/libstemmer/stem_UTF_8_german.h index 5bd84d431f..2a95132e9f 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_german.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_german.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h b/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h index d81bd23469..d662a83635 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h b/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h new file mode 100644 index 0000000000..7e07e73c34 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * indonesian_UTF_8_create_env(void); +extern void indonesian_UTF_8_close_env(struct SN_env * z); + +extern int indonesian_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_irish.h b/src/include/snowball/libstemmer/stem_UTF_8_irish.h new file mode 100644 index 0000000000..ea8b81860e --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_irish.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * irish_UTF_8_create_env(void); +extern void irish_UTF_8_close_env(struct SN_env * z); + +extern int irish_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_italian.h b/src/include/snowball/libstemmer/stem_UTF_8_italian.h index 3bee080d52..4177c3ebf8 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_italian.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_italian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h b/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h new file mode 100644 index 0000000000..8a9b1241a8 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * lithuanian_UTF_8_create_env(void); +extern void lithuanian_UTF_8_close_env(struct SN_env * z); + +extern int lithuanian_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_nepali.h b/src/include/snowball/libstemmer/stem_UTF_8_nepali.h new file mode 100644 index 0000000000..20b2b919ac --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_nepali.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * nepali_UTF_8_create_env(void); +extern void nepali_UTF_8_close_env(struct SN_env * z); + +extern int nepali_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h b/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h index c75444bcd9..b155ebb718 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_porter.h b/src/include/snowball/libstemmer/stem_UTF_8_porter.h index 82d469ac45..54efb6f130 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_porter.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_porter.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h b/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h index 9fe7f9aa81..68dc2554c3 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_romanian.h b/src/include/snowball/libstemmer/stem_UTF_8_romanian.h index d01e8132e2..2cc1ad011d 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_romanian.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_romanian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_russian.h b/src/include/snowball/libstemmer/stem_UTF_8_russian.h index 4ef774ddcc..2bc621bff9 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_russian.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_russian.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_spanish.h b/src/include/snowball/libstemmer/stem_UTF_8_spanish.h index 10572ecc37..075ba876ed 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_spanish.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_spanish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_swedish.h b/src/include/snowball/libstemmer/stem_UTF_8_swedish.h index 1444ebb49a..095623db80 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_swedish.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_swedish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" { diff --git a/src/include/snowball/libstemmer/stem_UTF_8_tamil.h b/src/include/snowball/libstemmer/stem_UTF_8_tamil.h new file mode 100644 index 0000000000..65505dc028 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_tamil.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * tamil_UTF_8_create_env(void); +extern void tamil_UTF_8_close_env(struct SN_env * z); + +extern int tamil_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif + diff --git a/src/include/snowball/libstemmer/stem_UTF_8_turkish.h b/src/include/snowball/libstemmer/stem_UTF_8_turkish.h index 8173a17486..7d94a2f9ef 100644 --- a/src/include/snowball/libstemmer/stem_UTF_8_turkish.h +++ b/src/include/snowball/libstemmer/stem_UTF_8_turkish.h @@ -1,5 +1,5 @@ - -/* This file was generated automatically by the Snowball to ANSI C compiler */ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ #ifdef __cplusplus extern "C" {