30 0xC3, 0xAD,
'v',
'e',
'l',
39 0xC3, 0xA2,
'n',
'c',
'i',
'a',
50 #define s_5_12 (s_5_13 + 1)
52 'a',
'm',
'e',
'n',
't',
'e',
54 0xC3, 0xA1,
'v',
'e',
'l',
56 0xC3, 0xAD,
'v',
'e',
'l',
58 'u',
'c',
'i', 0xC3, 0xB3,
'n',
66 'a', 0xC3, 0xA7,
'a',
'~',
'o',
71 0xC3, 0xAA,
'n',
'c',
'i',
'a',
's',
75 'a',
'd',
'o',
'r',
'a',
's',
79 'i',
's',
't',
'a',
's',
85 'l',
'o',
'g', 0xC3, 0xAD,
'a',
's',
87 'i',
'd',
'a',
'd',
'e',
's',
89 'u',
'c',
'i',
'o',
'n',
'e',
's',
91 'a',
'd',
'o',
'r',
'e',
's',
93 'a',
'n',
't',
'e',
's',
95 'a', 0xC3, 0xA7,
'o',
'~',
'e',
's',
99 'i',
's',
'm',
'o',
's',
103 'a',
'm',
'e',
'n',
't',
'o',
's',
105 'i',
'm',
'e',
'n',
't',
'o',
's',
110 #define s_6_2 (s_6_3 + 2)
118 #define s_6_10 s_6_33
119 #define s_6_11 s_6_34
120 #define s_6_12 s_6_35
121 #define s_6_13 s_6_68
122 #define s_6_14 s_6_69
123 #define s_6_15 s_6_70
124 #define s_6_16 (s_6_17 + 2)
125 #define s_6_17 s_6_74
126 #define s_6_18 s_6_75
127 #define s_6_19 s_6_76
128 #define s_6_20 (s_6_21 + 1)
129 #define s_6_21 (s_6_22 + 2)
131 'a',
'r',
'i',
'a',
'm',
133 'e',
'r',
'i',
'a',
'm',
135 'i',
'r',
'i',
'a',
'm',
144 #define s_6_29 (s_6_30 + 2)
145 #define s_6_30 s_6_100
146 #define s_6_31 s_6_101
147 #define s_6_32 s_6_102
149 'a',
's',
's',
'e',
'm',
151 'e',
's',
's',
'e',
'm',
153 'i',
's',
's',
'e',
'm',
154 #define s_6_36 s_6_88
155 #define s_6_37 s_6_89
163 'a',
'r',
'a',
'~',
'o',
165 'e',
'r',
'a',
'~',
'o',
167 'i',
'r',
'a',
'~',
'o',
171 #define s_6_47 s_6_10
176 #define s_6_50 (s_6_51 + 2)
178 'a',
'r',
'i',
'a',
's',
180 'e',
'r',
'i',
'a',
's',
182 'i',
'r',
'i',
'a',
's',
191 #define s_6_58 s_6_11
193 'a',
'r',
'd',
'e',
's',
195 'e',
'r',
'd',
'e',
's',
197 'i',
'r',
'd',
'e',
's',
205 'a',
's',
's',
'e',
's',
207 'e',
's',
's',
'e',
's',
209 'i',
's',
's',
'e',
's',
211 'a',
's',
't',
'e',
's',
213 'e',
's',
't',
'e',
's',
215 'i',
's',
't',
'e',
's',
216 #define s_6_71 s_6_12
219 #define s_6_73 (s_6_74 + 2)
221 'a',
'r',
'e',
'i',
's',
223 'e',
'r',
'e',
'i',
's',
225 'i',
'r',
'e',
'i',
's',
227 0xC3, 0xA1,
'r',
'e',
'i',
's',
229 0xC3, 0xA9,
'r',
'e',
'i',
's',
231 0xC3, 0xAD,
'r',
'e',
'i',
's',
233 0xC3, 0xA1,
's',
's',
'e',
'i',
's',
235 0xC3, 0xA9,
's',
's',
'e',
'i',
's',
237 0xC3, 0xAD,
's',
's',
'e',
'i',
's',
239 0xC3, 0xA1,
'v',
'e',
'i',
's',
240 #define s_6_84 (s_6_85 + 2)
242 'a',
'r', 0xC3, 0xAD,
'e',
'i',
's',
244 'e',
'r', 0xC3, 0xAD,
'e',
'i',
's',
246 'i',
'r', 0xC3, 0xAD,
'e',
'i',
's',
251 #define s_6_90 (s_6_91 + 3)
253 0xC3, 0xA1,
'r',
'a',
'm',
'o',
's',
255 0xC3, 0xA9,
'r',
'a',
'm',
'o',
's',
257 0xC3, 0xAD,
'r',
'a',
'm',
'o',
's',
259 0xC3, 0xA1,
'v',
'a',
'm',
'o',
's',
260 #define s_6_95 (s_6_96 + 2)
262 'a',
'r', 0xC3, 0xAD,
'a',
'm',
'o',
's',
264 'e',
'r', 0xC3, 0xAD,
'a',
'm',
'o',
's',
266 'i',
'r', 0xC3, 0xAD,
'a',
'm',
'o',
's',
267 #define s_6_99 (s_6_100 + 2)
269 'a',
'r',
'e',
'm',
'o',
's',
271 'e',
'r',
'e',
'm',
'o',
's',
273 'i',
'r',
'e',
'm',
'o',
's',
275 0xC3, 0xA1,
's',
's',
'e',
'm',
'o',
's',
277 0xC3, 0xAA,
's',
's',
'e',
'm',
'o',
's',
279 0xC3, 0xAD,
's',
's',
'e',
'm',
'o',
's',
283 'a',
'r',
'm',
'o',
's',
285 'e',
'r',
'm',
'o',
's',
287 'i',
'r',
'm',
'o',
's',
289 0xC3, 0xA1,
'm',
'o',
's',
291 'a',
'r', 0xC3, 0xA1,
's',
293 'e',
'r', 0xC3, 0xA1,
's',
295 'i',
'r', 0xC3, 0xA1,
's',
302 #define s_6_117 s_6_111
303 #define s_6_118 s_6_112
304 #define s_6_119 s_6_113
420 static const struct among a_6[120] =
565 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
584 if (
c + 1 >=
l || (
p[
c + 1] != 163 &&
p[
c + 1] != 181)) among_var = 3;
else
586 if (!(among_var))
goto lab0;
591 if (ret < 0)
return ret;
596 if (ret < 0)
return ret;
601 if (ret < 0)
goto lab0;
620 if (in_grouping_U(
g_v, 97, 250, 0))
goto lab2;
622 if (out_grouping_U(
g_v, 97, 250, 0))
goto lab4;
624 int ret = out_grouping_U(
g_v, 97, 250, 1);
625 if (ret < 0)
goto lab4;
631 if (in_grouping_U(
g_v, 97, 250, 0))
goto lab2;
633 int ret = in_grouping_U(
g_v, 97, 250, 1);
634 if (ret < 0)
goto lab2;
642 if (out_grouping_U(
g_v, 97, 250, 0))
goto lab0;
644 if (out_grouping_U(
g_v, 97, 250, 0))
goto lab6;
646 int ret = out_grouping_U(
g_v, 97, 250, 1);
647 if (ret < 0)
goto lab6;
653 if (in_grouping_U(
g_v, 97, 250, 0))
goto lab0;
654 {
int ret = skip_utf8(p, c, 0, l, 1);
655 if (ret < 0)
goto lab0;
669 int ret = out_grouping_U(
g_v, 97, 250, 1);
670 if (ret < 0)
goto lab7;
674 int ret = in_grouping_U(
g_v, 97, 250, 1);
675 if (ret < 0)
goto lab7;
680 int ret = out_grouping_U(
g_v, 97, 250, 1);
681 if (ret < 0)
goto lab7;
685 int ret = in_grouping_U(
g_v, 97, 250, 1);
686 if (ret < 0)
goto lab7;
701 if (c + 1 >= l || p[c + 1] != 126) among_var = 3;
else
702 among_var = find_among(
s_pool,
a_1, 3, 0, 0);
703 if (!(among_var))
goto lab0;
707 {
int ret = slice_from_s(2,
s_2);
708 if (ret < 0)
return ret;
712 {
int ret = slice_from_s(2,
s_3);
713 if (ret < 0)
return ret;
717 {
int ret = skip_utf8(p, c, 0, l, 1);
718 if (ret < 0)
goto lab0;
732 if (!(I_pV <= c))
return 0;
737 if (!(I_p1 <= c))
return 0;
742 if (!(I_p2 <= c))
return 0;
749 if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((839714 >> (p[c - 1] & 0x1f)) & 1))
return 0;
750 among_var = find_among_b(
s_pool,
a_5, 45, 0, 0);
751 if (!(among_var))
return 0;
756 if (ret <= 0)
return ret;
758 {
int ret = slice_del();
759 if (ret < 0)
return ret;
764 if (ret <= 0)
return ret;
766 {
int ret = slice_from_s(3,
s_4);
767 if (ret < 0)
return ret;
772 if (ret <= 0)
return ret;
774 {
int ret = slice_from_s(1,
s_5);
775 if (ret < 0)
return ret;
780 if (ret <= 0)
return ret;
782 {
int ret = slice_from_s(4,
s_6);
783 if (ret < 0)
return ret;
788 if (ret <= 0)
return ret;
790 {
int ret = slice_del();
791 if (ret < 0)
return ret;
793 {
int m1 = l - c; (void)m1;
795 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4718616 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m1;
goto lab0; }
796 among_var = find_among_b(
s_pool,
a_2, 4, 0, 0);
797 if (!(among_var)) { c = l - m1;
goto lab0; }
800 if (ret == 0) { c = l - m1;
goto lab0; }
801 if (ret < 0)
return ret;
803 {
int ret = slice_del();
804 if (ret < 0)
return ret;
809 if (!(eq_s_b(2,
s_7))) { c = l - m1;
goto lab0; }
812 if (ret == 0) { c = l - m1;
goto lab0; }
813 if (ret < 0)
return ret;
815 {
int ret = slice_del();
816 if (ret < 0)
return ret;
826 if (ret <= 0)
return ret;
828 {
int ret = slice_del();
829 if (ret < 0)
return ret;
831 {
int m2 = l - c; (void)m2;
833 if (c - 3 <= lb || (p[c - 1] != 101 && p[c - 1] != 108)) { c = l - m2;
goto lab1; }
834 if (!(find_among_b(
s_pool,
a_3, 3, 0, 0))) { c = l - m2;
goto lab1; }
837 if (ret == 0) { c = l - m2;
goto lab1; }
838 if (ret < 0)
return ret;
840 {
int ret = slice_del();
841 if (ret < 0)
return ret;
849 if (ret <= 0)
return ret;
851 {
int ret = slice_del();
852 if (ret < 0)
return ret;
854 {
int m3 = l - c; (void)m3;
856 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4198408 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m3;
goto lab2; }
857 if (!(find_among_b(
s_pool,
a_4, 3, 0, 0))) { c = l - m3;
goto lab2; }
860 if (ret == 0) { c = l - m3;
goto lab2; }
861 if (ret < 0)
return ret;
863 {
int ret = slice_del();
864 if (ret < 0)
return ret;
872 if (ret <= 0)
return ret;
874 {
int ret = slice_del();
875 if (ret < 0)
return ret;
877 {
int m4 = l - c; (void)m4;
879 if (!(eq_s_b(2,
s_8))) { c = l - m4;
goto lab3; }
882 if (ret == 0) { c = l - m4;
goto lab3; }
883 if (ret < 0)
return ret;
885 {
int ret = slice_del();
886 if (ret < 0)
return ret;
894 if (ret <= 0)
return ret;
896 if (c <= lb || p[c - 1] !=
'e')
return 0;
898 {
int ret = slice_from_s(2,
s_9);
899 if (ret < 0)
return ret;
909 if (c < I_pV)
return 0;
910 mlimit1 = lb; lb = I_pV;
912 if (!(find_among_b(
s_pool,
a_6, 120, 0, 0))) { lb = mlimit1;
return 0; }
914 {
int ret = slice_del();
915 if (ret < 0)
return ret;
924 if (!(find_among_b(
s_pool,
a_7, 7, 0, 0)))
return 0;
927 if (ret <= 0)
return ret;
929 {
int ret = slice_del();
930 if (ret < 0)
return ret;
938 among_var = find_among_b(
s_pool,
a_8, 4, 0, 0);
939 if (!(among_var))
return 0;
944 if (ret <= 0)
return ret;
946 {
int ret = slice_del();
947 if (ret < 0)
return ret;
950 {
int m1 = l - c; (void)m1;
951 if (c <= lb || p[c - 1] !=
'u')
goto lab1;
954 {
int m_test2 = l - c;
955 if (c <= lb || p[c - 1] !=
'g')
goto lab1;
962 if (c <= lb || p[c - 1] !=
'i')
return 0;
965 {
int m_test3 = l - c;
966 if (c <= lb || p[c - 1] !=
'c')
return 0;
973 if (ret <= 0)
return ret;
975 {
int ret = slice_del();
976 if (ret < 0)
return ret;
980 {
int ret = slice_from_s(1,
s_10);
981 if (ret < 0)
return ret;
990 {
int ret = r_prelude();
991 if (ret < 0)
return ret;
996 {
int ret = r_mark_regions();
997 if (ret < 0)
return ret;
1001 {
int m2 = l - c; (void)m2;
1002 {
int m3 = l - c; (void)m3;
1003 {
int m4 = l - c; (void)m4;
1004 {
int m5 = l - c; (void)m5;
1005 {
int ret = r_standard_suffix();
1006 if (ret == 0)
goto lab4;
1007 if (ret < 0)
return ret;
1012 {
int ret = r_verb_suffix();
1013 if (ret == 0)
goto lab2;
1014 if (ret < 0)
return ret;
1019 {
int m6 = l - c; (void)m6;
1021 if (c <= lb || p[c - 1] !=
'i')
goto lab5;
1024 {
int m_test7 = l - c;
1025 if (c <= lb || p[c - 1] !=
'c')
goto lab5;
1030 if (ret == 0)
goto lab5;
1031 if (ret < 0)
return ret;
1033 {
int ret = slice_del();
1034 if (ret < 0)
return ret;
1043 {
int ret = r_residual_suffix();
1044 if (ret == 0)
goto lab0;
1045 if (ret < 0)
return ret;
1052 {
int m8 = l - c; (void)m8;
1053 {
int ret = r_residual_form();
1054 if (ret < 0)
return ret;
1060 {
int ret = r_postlude();
1061 if (ret < 0)
return ret;
1069 : I_p2(0), I_p1(0), I_pV(0)
1080 return "portuguese";
int stem()
Virtual method implemented by the subclass to actually do the work.
~InternalStemPortuguese()
std::string get_description() const
Return a string describing this object.
int slice_from_s(int s_size, const symbol *s)
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
static const symbol s_2[]
static const symbol s_4[]
static const struct among a_8[4]
static const struct among a_4[3]
static const struct among a_0[3]
static const symbol s_6[]
static const symbol s_3[]
static const struct among a_3[3]
static const symbol s_7[]
static const struct among a_7[7]
static const struct among a_6[120]
static const symbol s_10[]
static const struct among a_1[3]
static const struct among a_2[4]
static const symbol s_1[]
static const symbol s_pool[]
static const unsigned char g_v[]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5[]
static const struct among a_5[45]
static const symbol s_0[]