Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/test/mb/expected/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 3 kB image not shown  

Quelle  stem_UTF_8_tamil.c   Sprache: unbekannt

 
/* Generated by Snowball 2.2.0 - https://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[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
static const symbol s_0_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
static const symbol s_0_2[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
static const symbol s_0_3[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };

static const struct among a_0[4] =
{
6, s_0_0, -130},
6, s_0_1, -140},
6, s_0_2, -120},
6, s_0_3, -110}
};

static const symbol s_1_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_1_1[3] = { 0xE0, 0xAE, 0x99 };
static const symbol s_1_2[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_1_3[3] = { 0xE0, 0xAE, 0x9E };
static const symbol s_1_4[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_1_5[3] = { 0xE0, 0xAE, 0xA8 };
static const symbol s_1_6[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_1_7[3] = { 0xE0, 0xAE, 0xAE };
static const symbol s_1_8[3] = { 0xE0, 0xAE, 0xAF };
static const symbol s_1_9[3] = { 0xE0, 0xAE, 0xB5 };

static const struct among a_1[10] =
{
3, s_1_0, -1, -10},
3, s_1_1, -1, -10},
3, s_1_2, -1, -10},
3, s_1_3, -1, -10},
3, s_1_4, -1, -10},
3, s_1_5, -1, -10},
3, s_1_6, -1, -10},
3, s_1_7, -1, -10},
3, s_1_8, -1, -10},
3, s_1_9, -1, -10}
};

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] =
{
3, s_2_0, -1, -10},
3, s_2_1, -1, -10},
3, s_2_2, -1, -10}
};

static const symbol s_3_0[3] = { 0xE0, 0xAF, 0x80 };
static const symbol s_3_1[3] = { 0xE0, 0xAF, 0x81 };
static const symbol s_3_2[3] = { 0xE0, 0xAF, 0x82 };
static const symbol s_3_3[3] = { 0xE0, 0xAF, 0x86 };
static const symbol s_3_4[3] = { 0xE0, 0xAF, 0x87 };
static const symbol s_3_5[3] = { 0xE0, 0xAF, 0x88 };
static const symbol s_3_6[3] = { 0xE0, 0xAE, 0xBE };
static const symbol s_3_7[3] = { 0xE0, 0xAE, 0xBF };

static const struct among a_3[8] =
{
3, s_3_0, -1, -10},
3, s_3_1, -1, -10},
3, s_3_2, -1, -10},
3, s_3_3, -1, -10},
3, s_3_4, -1, -10},
3, s_3_5, -1, -10},
3, s_3_6, -1, -10},
3, s_3_7, -1, -10}
};

static const symbol s_4_1[3] = { 0xE0, 0xAF, 0x88 };
static const symbol s_4_2[3] = { 0xE0, 0xAF, 0x8D };

static const struct among a_4[3] =
{
00, -120},
3, s_4_1, 010},
3, s_4_2, 010}
};

static const symbol s_5_0[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
static const symbol s_5_1[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
static const symbol s_5_2[15] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
static const symbol s_5_3[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
static const symbol s_5_4[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
static const symbol s_5_5[6] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
static const symbol s_5_6[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
static const symbol s_5_7[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
static const symbol s_5_8[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
static const symbol s_5_9[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
static const symbol s_5_10[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
static const symbol s_5_11[6] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
static const symbol s_5_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
static const symbol s_5_13[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
static const symbol s_5_14[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
static const symbol s_5_15[3] = { 0xE0, 0xAE, 0xAF };
static const symbol s_5_16[3] = { 0xE0, 0xAE, 0xB5 };

static const struct among a_5[17] =
{
6, s_5_0, -180},
9, s_5_1, -170},
15, s_5_2, -170},
12, s_5_3, -130},
12, s_5_4, -140},
6, s_5_5, -190},
12, s_5_6, -150},
12, s_5_7, -160},
12, s_5_8, -110},
6, s_5_9, -110},
12, s_5_10, -130},
6, s_5_11, -120},
12, s_5_12, -140},
6, s_5_13, -110},
9, s_5_14, -110},
3, s_5_15, -110},
3, s_5_16, -110}
};

static const symbol s_6_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_6_1[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_6_2[3] = { 0xE0, 0xAE, 0x9F };
static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB1 };

static const struct among a_6[6] =
{
3, s_6_0, -1, -10},
3, s_6_1, -1, -10},
3, s_6_2, -1, -10},
3, s_6_3, -1, -10},
3, s_6_4, -1, -10},
3, s_6_5, -1, -10}
};

static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_7_2[3] = { 0xE0, 0xAE, 0x9F };
static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xB1 };

static const struct among a_7[6] =
{
3, s_7_0, -1, -10},
3, s_7_1, -1, -10},
3, s_7_2, -1, -10},
3, s_7_3, -1, -10},
3, s_7_4, -1, -10},
3, s_7_5, -1, -10}
};

static const symbol s_8_0[3] = { 0xE0, 0xAE, 0x9E };
static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xA3 };
static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xA8 };
static const symbol s_8_3[3] = { 0xE0, 0xAE, 0xA9 };
static const symbol s_8_4[3] = { 0xE0, 0xAE, 0xAE };
static const symbol s_8_5[3] = { 0xE0, 0xAE, 0xAF };
static const symbol s_8_6[3] = { 0xE0, 0xAE, 0xB0 };
static const symbol s_8_7[3] = { 0xE0, 0xAE, 0xB2 };
static const symbol s_8_8[3] = { 0xE0, 0xAE, 0xB3 };
static const symbol s_8_9[3] = { 0xE0, 0xAE, 0xB4 };
static const symbol s_8_10[3] = { 0xE0, 0xAE, 0xB5 };

static const struct among a_8[11] =
{
3, s_8_0, -1, -10},
3, s_8_1, -1, -10},
3, s_8_2, -1, -10},
3, s_8_3, -1, -10},
3, s_8_4, -1, -10},
3, s_8_5, -1, -10},
3, s_8_6, -1, -10},
3, s_8_7, -1, -10},
3, s_8_8, -1, -10},
3, s_8_9, -1, -10},
3, s_8_10, -1, -10}
};

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, 0xAF, 0x8D };
static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBE };
static const symbol s_9_8[3] = { 0xE0, 0xAE, 0xBF };

static const struct among a_9[9] =
{
3, s_9_0, -1, -10},
3, s_9_1, -1, -10},
3, s_9_2, -1, -10},
3, s_9_3, -1, -10},
3, s_9_4, -1, -10},
3, s_9_5, -1, -10},
3, s_9_6, -1, -10},
3, s_9_7, -1, -10},
3, s_9_8, -1, -10}
};

static const symbol s_10_0[3] = { 0xE0, 0xAE, 0x85 };
static const symbol s_10_1[3] = { 0xE0, 0xAE, 0x87 };
static const symbol s_10_2[3] = { 0xE0, 0xAE, 0x89 };

static const struct among a_10[3] =
{
3, s_10_0, -1, -10},
3, s_10_1, -1, -10},
3, s_10_2, -1, -10}
};

static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x99 };
static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_11_3[3] = { 0xE0, 0xAE, 0x9E };
static const symbol s_11_4[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_11_5[3] = { 0xE0, 0xAE, 0xA8 };
static const symbol s_11_6[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_11_7[3] = { 0xE0, 0xAE, 0xAE };
static const symbol s_11_8[3] = { 0xE0, 0xAE, 0xAF };
static const symbol s_11_9[3] = { 0xE0, 0xAE, 0xB5 };

static const struct among a_11[10] =
{
3, s_11_0, -1, -10},
3, s_11_1, -1, -10},
3, s_11_2, -1, -10},
3, s_11_3, -1, -10},
3, s_11_4, -1, -10},
3, s_11_5, -1, -10},
3, s_11_6, -1, -10},
3, s_11_7, -1, -10},
3, s_11_8, -1, -10},
3, s_11_9, -1, -10}
};

static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9F };
static const symbol s_12_3[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xB1 };

static const struct among a_12[6] =
{
3, s_12_0, -1, -10},
3, s_12_1, -1, -10},
3, s_12_2, -1, -10},
3, s_12_3, -1, -10},
3, s_12_4, -1, -10},
3, s_12_5, -1, -10}
};

static const symbol s_13_0[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_13_1[18] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_13_2[15] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_13_3[15] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };

static const struct among a_13[4] =
{
9, s_13_0, -140},
18, s_13_1, 010},
15, s_13_2, 030},
15, s_13_3, 020}
};

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] =
{
3, s_14_0, -1, -10},
3, s_14_1, -1, -10},
3, s_14_2, -1, -10}
};

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] =
{
6, s_15_0, -1, -10},
6, s_15_1, -1, -10}
};

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] =
{
3, s_16_0, -1, -10},
3, s_16_1, -1, -10},
3, s_16_2, -1, -10},
3, s_16_3, -1, -10},
3, s_16_4, -1, -10},
3, s_16_5, -1, -10},
3, s_16_6, -1, -10},
3, s_16_7, -1, -10}
};

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[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
static const symbol s_17_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
static const symbol s_17_8[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_17_9[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_17_10[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_17_11[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_12[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
static const symbol s_17_13[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
static const symbol s_17_14[6] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
static const symbol s_17_15[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
static const symbol s_17_16[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
static const symbol s_17_17[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
static const symbol s_17_18[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
static const symbol s_17_19[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
static const symbol s_17_20[9] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
static const symbol s_17_21[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
static const symbol s_17_22[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
static const symbol s_17_23[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
static const symbol s_17_24[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
static const symbol s_17_25[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };

static const struct among a_17[26] =
{
15, s_17_0, -130},
18, s_17_1, -130},
9, s_17_2, -130},
12, s_17_3, -130},
18, s_17_4, -130},
15, s_17_5, -110},
9, s_17_6, -110},
15, s_17_7, -110},
12, s_17_8, -110},
15, s_17_9, -110},
12, s_17_10, -110},
21, s_17_11, -130},
12, s_17_12, -130},
15, s_17_13, -130},
6, s_17_14, -110},
9, s_17_15, -130},
18, s_17_16, 1530},
12, s_17_17, -110},
12, s_17_18, -110},
15, s_17_19, -130},
9, s_17_20, -120},
12, s_17_21, -110},
9, s_17_22, -110},
9, s_17_23, -130},
15, s_17_24, -110},
15, s_17_25, -130}
};

static const symbol s_18_0[3] = { 0xE0, 0xAF, 0x80 };
static const symbol s_18_1[3] = { 0xE0, 0xAF, 0x81 };
static const symbol s_18_2[3] = { 0xE0, 0xAF, 0x82 };
static const symbol s_18_3[3] = { 0xE0, 0xAF, 0x86 };
static const symbol s_18_4[3] = { 0xE0, 0xAF, 0x87 };
static const symbol s_18_5[3] = { 0xE0, 0xAF, 0x88 };
static const symbol s_18_6[3] = { 0xE0, 0xAE, 0xBE };
static const symbol s_18_7[3] = { 0xE0, 0xAE, 0xBF };

static const struct among a_18[8] =
{
3, s_18_0, -1, -10},
3, s_18_1, -1, -10},
3, s_18_2, -1, -10},
3, s_18_3, -1, -10},
3, s_18_4, -1, -10},
3, s_18_5, -1, -10},
3, s_18_6, -1, -10},
3, s_18_7, -1, -10}
};

static const symbol s_19_0[3] = { 0xE0, 0xAF, 0x80 };
static const symbol s_19_1[3] = { 0xE0, 0xAF, 0x81 };
static const symbol s_19_2[3] = { 0xE0, 0xAF, 0x82 };
static const symbol s_19_3[3] = { 0xE0, 0xAF, 0x86 };
static const symbol s_19_4[3] = { 0xE0, 0xAF, 0x87 };
static const symbol s_19_5[3] = { 0xE0, 0xAF, 0x88 };
static const symbol s_19_6[3] = { 0xE0, 0xAE, 0xBE };
static const symbol s_19_7[3] = { 0xE0, 0xAE, 0xBF };

static const struct among a_19[8] =
{
3, s_19_0, -1, -10},
3, s_19_1, -1, -10},
3, s_19_2, -1, -10},
3, s_19_3, -1, -10},
3, s_19_4, -1, -10},
3, s_19_5, -1, -10},
3, s_19_6, -1, -10},
3, s_19_7, -1, -10}
};

static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
static const symbol s_20_1[9] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
static const symbol s_20_2[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
static const symbol s_20_3[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
static const symbol s_20_4[21] = { 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_20_5[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
static const symbol s_20_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
static const symbol s_20_7[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
static const symbol s_20_8[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
static const symbol s_20_9[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_20_10[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_20_11[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_20_12[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
static const symbol s_20_13[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
static const symbol s_20_14[6] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20_15[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20_16[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20_17[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20_18[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20_19[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_20_20[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
static const symbol s_20_21[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };

static const struct among a_20[22] =
{
3, s_20_0, -170},
9, s_20_1, -120},
9, s_20_2, -120},
6, s_20_3, -160},
21, s_20_4, 320},
15, s_20_5, -120},
9, s_20_6, -120},
6, s_20_7, -110},
9, s_20_8, -110},
12, s_20_9, -110},
9, s_20_10, -130},
12, s_20_11, -140},
12, s_20_12, -110},
9, s_20_13, -120},
6, s_20_14, -150},
12, s_20_15, 1410},
12, s_20_16, 1420},
9, s_20_17, 1420},
9, s_20_18, 1420},
9, s_20_19, -120},
12, s_20_20, -110},
9, s_20_21, -120}
};

static const symbol s_21_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_21_1[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_21_2[3] = { 0xE0, 0xAE, 0x9F };
static const symbol s_21_3[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_21_4[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_21_5[3] = { 0xE0, 0xAE, 0xB1 };

static const struct among a_21[6] =
{
3, s_21_0, -1, -10},
3, s_21_1, -1, -10},
3, s_21_2, -1, -10},
3, s_21_3, -1, -10},
3, s_21_4, -1, -10},
3, s_21_5, -1, -10}
};

static const symbol s_22_0[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_22_1[3] = { 0xE0, 0xAE, 0x9A };
static const symbol s_22_2[3] = { 0xE0, 0xAE, 0x9F };
static const symbol s_22_3[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_22_4[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_22_5[3] = { 0xE0, 0xAE, 0xB1 };

static const struct among a_22[6] =
{
3, s_22_0, -1, -10},
3, s_22_1, -1, -10},
3, s_22_2, -1, -10},
3, s_22_3, -1, -10},
3, s_22_4, -1, -10},
3, s_22_5, -1, -10}
};

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] =
{
3, s_23_0, -1, -10},
3, s_23_1, -1, -10},
3, s_23_2, -1, -10},
3, s_23_3, -1, -10},
3, s_23_4, -1, -10},
3, s_23_5, -1, -10},
3, s_23_6, -1, -10},
3, s_23_7, -1, -10},
3, s_23_8, -1, -10},
3, s_23_9, -1, -10},
3, s_23_10, -1, -10},
3, s_23_11, -1, -10}
};

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] =
{
3, s_24_0, -1, -10},
3, s_24_1, -1, -10},
3, s_24_2, -1, -10},
3, s_24_3, -1, -10},
3, s_24_4, -1, -10},
3, s_24_5, -1, -10},
3, s_24_6, -1, -10},
3, s_24_7, -1, -10}
};

static const symbol s_25_0[6] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
static const symbol s_25_1[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
static const symbol s_25_2[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
static const symbol s_25_3[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
static const symbol s_25_4[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
static const symbol s_25_5[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
static const symbol s_25_6[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_7[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_8[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_9[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_10[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_11[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_13[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_25_14[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_15[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_16[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_17[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_18[9] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_19[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_20[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_21[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_22[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_23[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_25_24[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
static const symbol s_25_25[9] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_26[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_27[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_28[12] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_29[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_30[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_31[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_32[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_33[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 symbol s_25_34[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
static const symbol s_25_35[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_25_36[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_25_37[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_25_38[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_25_39[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_25_40[3] = { 0xE0, 0xAE, 0x95 };
static const symbol s_25_41[3] = { 0xE0, 0xAE, 0xA4 };
static const symbol s_25_42[3] = { 0xE0, 0xAE, 0xA9 };
static const symbol s_25_43[3] = { 0xE0, 0xAE, 0xAA };
static const symbol s_25_44[3] = { 0xE0, 0xAE, 0xAF };
static const symbol s_25_45[3] = { 0xE0, 0xAE, 0xBE };

static const struct among a_25[46] =
{
6, s_25_0, -160},
9, s_25_1, -110},
6, s_25_2, -130},
15, s_25_3, -110},
6, s_25_4, -110},
6, s_25_5, -110},
12, s_25_6, -110},
9, s_25_7, -150},
9, s_25_8, -110},
9, s_25_9, -110},
9, s_25_10, -120},
9, s_25_11, -140},
12, s_25_12, 1110},
12, s_25_13, -110},
12, s_25_14, -110},
12, s_25_15, -150},
12, s_25_16, -110},
12, s_25_17, -110},
9, s_25_18, -150},
9, s_25_19, -150},
9, s_25_20, -150},
9, s_25_21, -110},
9, s_25_22, -110},
9, s_25_23, -150},
9, s_25_24, -150},
9, s_25_25, -150},
9, s_25_26, -110},
9, s_25_27, -110},
12, s_25_28, -150},
9, s_25_29, -110},
9, s_25_30, -150},
12, s_25_31, 3010},
12, s_25_32, 3010},
24, s_25_33, -110},
12, s_25_34, -150},
9, s_25_35, -110},
9, s_25_36, -110},
9, s_25_37, -110},
9, s_25_38, -150},
12, s_25_39, 3810},
3, s_25_40, -110},
3, s_25_41, -110},
3, s_25_42, -110},
3, s_25_43, -110},
3, s_25_44, -110},
3, s_25_45, -150}
};

static const symbol s_26_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
static const symbol s_26_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_26_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
static const symbol s_26_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
static const symbol s_26_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
static const symbol s_26_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };

static const struct among a_26[6] =
{
18, s_26_0, -1, -10},
21, s_26_1, -1, -10},
12, s_26_2, -1, -10},
15, s_26_3, -1, -10},
18, s_26_4, -1, -10},
9, s_26_5, -1, -10}
};

static const symbol s_0[] = { 0xE0, 0xAE, 0x93 };
static const symbol s_1[] = { 0xE0, 0xAE, 0x92 };
static const symbol s_2[] = { 0xE0, 0xAE, 0x89 };
static const symbol s_3[] = { 0xE0, 0xAE, 0x8A };
static const symbol s_4[] = { 0xE0, 0xAE, 0x8E };
static const symbol s_5[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_6[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_7[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_8[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
static const symbol s_9[] = { 0xE0, 0xAF, 0x88 };
static const symbol s_10[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_11[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_12[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_14[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_15[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_16[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_17[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
static const symbol s_18[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
static const symbol s_20[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
static const symbol s_21[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_22[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
static const symbol s_23[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_24[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_25[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_26[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_27[] = { 0xE0, 0xAE, 0xAE };
static const symbol s_28[] = { 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, 0xAE, 0xBF };
static const symbol s_32[] = { 0xE0, 0xAF, 0x88 };
static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_35[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_37[] = { 0xE0, 0xAE, 0x9A };
static const symbol s_38[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_39[] = { 0xE0, 0xAF, 0x8D };
static const symbol s_40[] = { 0xE0, 0xAF, 0x8D };

static int r_has_min_length(struct SN_env * z) {
    return len_utf8(z->p) > 4;
}

static int r_fix_va_start(struct SN_env * z) {
    int among_var;
    z->bra = z->c;
    if (z->c + 5 >= z->l || z->p[z->c + 5] >> 5 != 4 || !((3078 >> (z->p[z->c + 5] & 0x1f)) & 1)) return 0;
    among_var = find_among(z, a_0, 4);
    if (!among_var) return 0;
    z->ket = z->c;
    switch (among_var) {
        case 1:
            {   int ret = slice_from_s(z, 3, s_0);
                if (ret < 0return ret;
            }
            break;
        case 2:
            {   int ret = slice_from_s(z, 3, s_1);
                if (ret < 0return ret;
            }
            break;
        case 3:
            {   int ret = slice_from_s(z, 3, s_2);
                if (ret < 0return ret;
            }
            break;
        case 4:
            {   int ret = slice_from_s(z, 3, s_3);
                if (ret < 0return ret;
            }
            break;
    }
    return 1;
}

static int r_fix_endings(struct SN_env * z) {
    {   int c1 = z->c;
        while(1) {
            int c2 = z->c;
            {   int ret = r_fix_ending(z);
                if (ret == 0goto lab1;
                if (ret < 0return ret;
            }
            continue;
        lab1:
            z->c = c2;
            break;
        }
        z->c = c1;
    }
    return 1;
}

static int r_remove_question_prefixes(struct SN_env * z) {
    z->bra = z->c;
    if (!(eq_s(z, 3, s_4))) return 0;
    if (!find_among(z, a_1, 10)) return 0;
    if (!(eq_s(z, 3, s_5))) return 0;
    z->ket = z->c;
    {   int ret = slice_del(z);
        if (ret < 0return ret;
    }
    {   int c1 = z->c;
        {   int ret = r_fix_va_start(z);
            if (ret < 0return ret;
        }
        z->c = c1;
    }
    return 1;
}

static int r_fix_ending(struct SN_env * z) {
    int among_var;
    if (len_utf8(z->p) <= 3return 0;
    z->lb = z->c; z->c = z->l;

    {   int m1 = z->l - z->c; (void)m1;
        z->ket = z->c;
        among_var = find_among_b(z, a_5, 17);
        if (!among_var) goto lab1;
        z->bra = z->c;
        switch (among_var) {
            case 1:
                {   int ret = slice_del(z);
                    if (ret < 0return ret;
                }
                break;
            case 2:
                {   int m_test2 = z->l - z->c;
                    if (!find_among_b(z, a_2, 3)) goto lab1;
                    z->c = z->l - m_test2;
                }
                {   int ret = slice_del(z);
                    if (ret < 0return ret;
                }
                break;
            case 3:
                {   int ret = slice_from_s(z, 6, s_6);
                    if (ret < 0return ret;
                }
                break;
            case 4:
                {   int ret = slice_from_s(z, 6, s_7);
                    if (ret < 0return ret;
                }
                break;
            case 5:
                {   int ret = slice_from_s(z, 6, s_8);
                    if (ret < 0return ret;
                }
                break;
            case 6:
                if (!(z->I[0])) goto lab1;
                {   int m3 = z->l - z->c; (void)m3;
                    if (!(eq_s_b(z, 3, s_9))) goto lab2;
                    goto lab1;
                lab2:
                    z->c = z->l - m3;
                }
                {   int ret = slice_from_s(z, 6, s_10);
                    if (ret < 0return ret;
                }
                break;
            case 7:
                {   int ret = slice_from_s(z, 3, s_11);
                    if (ret < 0return ret;
                }
                break;
            case 8:
                {   int m4 = z->l - z->c; (void)m4;
                    if (!find_among_b(z, a_3, 8)) goto lab3;
                    goto lab1;
                lab3:
                    z->c = z->l - m4;
                }
                {   int ret = slice_del(z);
                    if (ret < 0return ret;
                }
                break;
            case 9:
                if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 136 && z->p[z->c - 1] != 141)) among_var = 2else
                among_var = find_among_b(z, a_4, 3);
                switch (among_var) {
                    case 1:
                        {   int ret = slice_del(z);
                            if (ret < 0return ret;
                        }
                        break;
                    case 2:
                        {   int ret = slice_from_s(z, 6, s_12);
                            if (ret < 0return ret;
                        }
                        break;
                }
                break;
        }
        goto lab0;
    lab1:
        z->c = z->l - m1;
        z->ket = z->c;
        if (!(eq_s_b(z, 3, s_13))) return 0;
        {   int m5 = z->l - z->c; (void)m5;
            if (!find_among_b(z, a_6, 6)) goto lab5;
            {   int m6 = z->l - z->c; (void)m6;
                if (!(eq_s_b(z, 3, s_14))) { z->c = z->l - m6; goto lab6; }
                if (!find_among_b(z, a_7, 6)) { z->c = z->l - m6; goto lab6; }
            lab6:
                ;
            }
            z->bra = z->c;
            {   int ret = slice_del(z);
                if (ret < 0return ret;
            }
            goto lab4;
        lab5:
            z->c = z->l - m5;
            if (!find_among_b(z, a_8, 11)) goto lab7;
            z->bra = z->c;
            if (!(eq_s_b(z, 3, s_15))) goto lab7;
            {   int ret = slice_del(z);
                if (ret < 0return ret;
            }
            goto lab4;
        lab7:
            z->c = z->l - m5;
            {   int m_test7 = z->l - z->c;
                if (!find_among_b(z, a_9, 9)) return 0;
                z->c = z->l - m_test7;
            }
            z->bra = z->c;
            {   int ret = slice_del(z);
                if (ret < 0return ret;
            }
        }
    lab4:
        ;
    }
lab0:
    z->c = z->lb;
    return 1;
}

static int r_remove_pronoun_prefixes(struct SN_env * z) {
    z->bra = z->c;
    if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
    if (!find_among(z, a_10, 3)) return 0;
    if (!find_among(z, a_11, 10)) return 0;
    if (!(eq_s(z, 3, s_16))) return 0;
    z->ket = z->c;
    {   int ret = slice_del(z);
        if (ret < 0return ret;
    }
    {   int c1 = z->c;
        {   int ret = r_fix_va_start(z);
            if (ret < 0return ret;
        }
        z->c = c1;
    }
    return 1;
}

static int r_remove_plural_suffix(struct SN_env * z) {
    int among_var;
    z->lb = z->c; z->c = z->l;

    z->ket = z->c;
    if (z->c - 8 <= z->lb || z->p[z->c - 1] != 141return 0;
    among_var = find_among_b(z, a_13, 4);
    if (!among_var) return 0;
    z->bra = z->c;
    switch (among_var) {
        case 1:
            {   int m1 = z->l - z->c; (void)m1;
                if (!find_among_b(z, a_12, 6)) goto lab1;
                {   int ret = slice_from_s(z, 9, s_17);
                    if (ret < 0return ret;
                }
                goto lab0;
            lab1:
                z->c = z->l - m1;
                {   int ret = slice_from_s(z, 3, s_18);
                    if (ret < 0return ret;
                }
            }
        lab0:
            break;
        case 2:
            {   int ret = slice_from_s(z, 6, s_19);
                if (ret < 0return ret;
            }
            break;
        case 3:
            {   int ret = slice_from_s(z, 6, s_20);
                if (ret < 0return ret;
            }
            break;
        case 4:
            {   int ret = slice_del(z);
                if (ret < 0return ret;
            }
            break;
    }
    z->c = z->lb;
    return 1;
}

static int r_remove_question_suffixes(struct SN_env * z) {
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    {   int m1 = z->l - z->c; (void)m1;
        z->ket = z->c;
        if (!find_among_b(z, a_14, 3)) goto lab0;
        z->bra = z->c;
        {   int ret = slice_from_s(z, 3, s_21);
            if (ret < 0return ret;
        }
    lab0:
        z->c = z->l - m1;
    }
    z->c = z->lb;

    {   int ret = r_fix_endings(z);
        if (ret < 0return ret;
    }
    return 1;
}

static int r_remove_command_suffixes(struct SN_env * z) {
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    z->ket = z->c;
    if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191return 0;
    if (!find_among_b(z, a_15, 2)) return 0;
    z->bra = z->c;
    {   int ret = slice_del(z);
        if (ret < 0return ret;
    }
    z->c = z->lb;
    return 1;
}

static int r_remove_um(struct SN_env * z) {
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    z->ket = z->c;
    if (!(eq_s_b(z, 9, s_22))) return 0;
    z->bra = z->c;
    {   int ret = slice_from_s(z, 3, s_23);
        if (ret < 0return ret;
    }
    z->c = z->lb;
    {   int c1 = z->c;
        {   int ret = r_fix_ending(z);
            if (ret < 0return ret;
        }
        z->c = c1;
    }
    return 1;
}

static int r_remove_common_word_endings(struct SN_env * z) {
    int among_var;
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    z->ket = z->c;
    among_var = find_among_b(z, a_17, 26);
    if (!among_var) return 0;
    z->bra = z->c;
    switch (among_var) {
        case 1:
            {   int ret = slice_from_s(z, 3, s_24);
                if (ret < 0return ret;
            }
            break;
        case 2:
            {   int m1 = z->l - z->c; (void)m1;
                if (!find_among_b(z, a_16, 8)) goto lab0;
                return 0;
            lab0:
                z->c = z->l - m1;
            }
            {   int ret = slice_from_s(z, 3, s_25);
                if (ret < 0return ret;
            }
            break;
        case 3:
            {   int ret = slice_del(z);
                if (ret < 0return ret;
            }
            break;
    }
    z->c = z->lb;

    {   int ret = r_fix_endings(z);
        if (ret < 0return ret;
    }
    return 1;
}

static int r_remove_vetrumai_urupukal(struct SN_env * z) {
    int among_var;
    z->I[0] = 0;
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    {   int m1 = z->l - z->c; (void)m1;
        {   int m_test2 = z->l - z->c;
            z->ket = z->c;
            if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((-2147475197 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
            among_var = find_among_b(z, a_20, 22);
            if (!among_var) goto lab1;
            z->bra = z->c;
            switch (among_var) {
                case 1:
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
                case 2:
                    {   int ret = slice_from_s(z, 3, s_26);
                        if (ret < 0return ret;
                    }
                    break;
                case 3:
                    {   int m3 = z->l - z->c; (void)m3;
                        if (!(eq_s_b(z, 3, s_27))) goto lab2;
                        goto lab1;
                    lab2:
                        z->c = z->l - m3;
                    }
                    {   int ret = slice_from_s(z, 3, s_28);
                        if (ret < 0return ret;
                    }
                    break;
                case 4:
                    if (len_utf8(z->p) < 7goto lab1;
                    {   int ret = slice_from_s(z, 3, s_29);
                        if (ret < 0return ret;
                    }
                    break;
                case 5:
                    {   int m4 = z->l - z->c; (void)m4;
                        if (!find_among_b(z, a_18, 8)) goto lab3;
                        goto lab1;
                    lab3:
                        z->c = z->l - m4;
                    }
                    {   int ret = slice_from_s(z, 3, s_30);
                        if (ret < 0return ret;
                    }
                    break;
                case 6:
                    {   int m5 = z->l - z->c; (void)m5;
                        if (!find_among_b(z, a_19, 8)) goto lab4;
                        goto lab1;
                    lab4:
                        z->c = z->l - m5;
                    }
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
                case 7:
                    {   int ret = slice_from_s(z, 3, s_31);
                        if (ret < 0return ret;
                    }
                    break;
            }
            z->c = z->l - m_test2;
        }
        goto lab0;
    lab1:
        z->c = z->l - m1;
        {   int m_test6 = z->l - z->c;
            z->ket = z->c;
            if (!(eq_s_b(z, 3, s_32))) return 0;
            {   int m7 = z->l - z->c; (void)m7;
                {   int m8 = z->l - z->c; (void)m8;
                    if (!find_among_b(z, a_21, 6)) goto lab7;
                    goto lab6;
                lab7:
                    z->c = z->l - m8;
                }
                goto lab5;
            lab6:
                z->c = z->l - m7;
                {   int m_test9 = z->l - z->c;
                    if (!find_among_b(z, a_22, 6)) return 0;
                    if (!(eq_s_b(z, 3, s_33))) return 0;
                    z->c = z->l - m_test9;
                }
            }
        lab5:
            z->bra = z->c;
            {   int ret = slice_from_s(z, 3, s_34);
                if (ret < 0return ret;
            }
            z->c = z->l - m_test6;
        }
    }
lab0:
    z->I[0] = 1;
    {   int m10 = z->l - z->c; (void)m10;
        z->ket = z->c;
        if (!(eq_s_b(z, 9, s_35))) goto lab8;
        z->bra = z->c;
        {   int ret = slice_from_s(z, 3, s_36);
            if (ret < 0return ret;
        }
    lab8:
        z->c = z->l - m10;
    }
    z->c = z->lb;

    {   int ret = r_fix_endings(z);
        if (ret < 0return ret;
    }
    return 1;
}

static int r_remove_tense_suffixes(struct SN_env * z) {
    z->I[1] = 1;
    while(1) {
        int c1 = z->c;
        if (!(z->I[1])) goto lab0;
        {   int c2 = z->c;
            {   int ret = r_remove_tense_suffix(z);
                if (ret < 0return ret;
            }
            z->c = c2;
        }
        continue;
    lab0:
        z->c = c1;
        break;
    }
    return 1;
}

static int r_remove_tense_suffix(struct SN_env * z) {
    int among_var;
    z->I[1] = 0;
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    z->lb = z->c; z->c = z->l;

    {   int m1 = z->l - z->c; (void)m1;
        {   int m_test2 = z->l - z->c;
            z->ket = z->c;
            among_var = find_among_b(z, a_25, 46);
            if (!among_var) goto lab0;
            z->bra = z->c;
            switch (among_var) {
                case 1:
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
                case 2:
                    {   int m3 = z->l - z->c; (void)m3;
                        if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
                        if (!find_among_b(z, a_23, 12)) goto lab1;
                        goto lab0;
                    lab1:
                        z->c = z->l - m3;
                    }
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
                case 3:
                    {   int m4 = z->l - z->c; (void)m4;
                        if (!find_among_b(z, a_24, 8)) goto lab2;
                        goto lab0;
                    lab2:
                        z->c = z->l - m4;
                    }
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
                case 4:
                    {   int m5 = z->l - z->c; (void)m5;
                        if (!(eq_s_b(z, 3, s_37))) goto lab3;
                        goto lab0;
                    lab3:
                        z->c = z->l - m5;
                    }
                    {   int ret = slice_from_s(z, 3, s_38);
                        if (ret < 0return ret;
                    }
                    break;
                case 5:
                    {   int ret = slice_from_s(z, 3, s_39);
                        if (ret < 0return ret;
                    }
                    break;
                case 6:
                    {   int m_test6 = z->l - z->c;
                        if (!(eq_s_b(z, 3, s_40))) goto lab0;
                        z->c = z->l - m_test6;
                    }
                    {   int ret = slice_del(z);
                        if (ret < 0return ret;
                    }
                    break;
            }
            z->I[1] = 1;
            z->c = z->l - m_test2;
        }
    lab0:
        z->c = z->l - m1;
    }
    {   int m7 = z->l - z->c; (void)m7;
        z->ket = z->c;
        if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab4;
        if (!find_among_b(z, a_26, 6)) goto lab4;
        z->bra = z->c;
        {   int ret = slice_del(z);
            if (ret < 0return ret;
        }
        z->I[1] = 1;
    lab4:
        z->c = z->l - m7;
    }
    z->c = z->lb;

    {   int ret = r_fix_endings(z);
        if (ret < 0return ret;
    }
    return 1;
}

extern int tamil_UTF_8_stem(struct SN_env * z) {
    z->I[0] = 0;
    {   int c1 = z->c;
        {   int ret = r_fix_ending(z);
            if (ret < 0return ret;
        }
        z->c = c1;
    }
    {   int ret = r_has_min_length(z);
        if (ret <= 0return ret;
    }
    {   int c2 = z->c;
        {   int ret = r_remove_question_prefixes(z);
            if (ret < 0return ret;
        }
        z->c = c2;
    }
    {   int c3 = z->c;
        {   int ret = r_remove_pronoun_prefixes(z);
            if (ret < 0return ret;
        }
        z->c = c3;
    }
    {   int c4 = z->c;
        {   int ret = r_remove_question_suffixes(z);
            if (ret < 0return ret;
        }
        z->c = c4;
    }
    {   int c5 = z->c;
        {   int ret = r_remove_um(z);
            if (ret < 0return ret;
        }
        z->c = c5;
    }
    {   int c6 = z->c;
        {   int ret = r_remove_common_word_endings(z);
            if (ret < 0return ret;
        }
        z->c = c6;
    }
    {   int c7 = z->c;
        {   int ret = r_remove_vetrumai_urupukal(z);
            if (ret < 0return ret;
        }
        z->c = c7;
    }
    {   int c8 = z->c;
        {   int ret = r_remove_plural_suffix(z);
            if (ret < 0return ret;
        }
        z->c = c8;
    }
    {   int c9 = z->c;
        {   int ret = r_remove_command_suffixes(z);
            if (ret < 0return ret;
        }
        z->c = c9;
    }
    {   int c10 = z->c;
        {   int ret = r_remove_tense_suffixes(z);
            if (ret < 0return ret;
        }
        z->c = c10;
    }
    return 1;
}

extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(02); }

extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }


Messung V0.5 in Prozent
C=93 H=96 G=94

[Diese Firma untersucht Systeme, entwickelt Software und berät Organisationen zu Themen der Informationstechnolgie. Dabei wird Wert auf anerkannte Normen und Standards gelegt. Die Qualität eigener und fremder Produkte ist Leitlinie und Ziel zugleich. Unter bestimmten Bedingungen finden Sie hier weiterführende Anregungen.0.45Die F&E-Firma in Norddeutschlandetwas mehr zur Ethik2026-08-08]