5 booleans ( Y_found stemmed GE_removed )
12 Step_1 Step_2 Step_3 Step_4 Step_7
21 groupings ( v v_WX AOU AIOU )
25 stringdef ' hex '27' // yuk
34 define R1 as (setmark x $x >= p1)
35 define R2 as (setmark x $x >= p2)
37 define V as test (v or 'ij')
38 define VX as test (next v or 'ij')
39 define C as test (not 'ij' non-v)
41 define lengthen_V as do (
42 non-v_WX [ (AOU] test (non-v or atlimit)) or
43 ('e'] test (non-v or atlimit
45 not (next AIOU non-v)))
54 's' (R1 not ('t' R1) C delete)
57 (('ar' R1 C ] delete lengthen_V) or
58 ('er' R1 C ] delete) or
62 'en' (('hed' R1 ] <-'heid') or
64 ('d' R1 C ] delete) or
65 ('i' or 'j' V delete) or
66 (R1 C delete lengthen_V))
74 'je' (('{'}t' ] delete) or
75 ('et' ] R1 C delete) or
77 ('t' ] R1 VX delete) or
80 ('{'}' ] R1 delete) or
89 'le' (R1 delete attach 'l' lengthen_V)
90 'ene' (R1 C delete attach 'en' lengthen_V)
99 'iteit' (R1 delete lengthen_V)
106 'erij' (R1 delete lengthen_V)
107 'arij' (R1 C <-'aar')
108 'fie' (R2 delete attach 'f' lengthen_V)
109 'gie' (R2 delete attach 'g' lengthen_V)
126 'lijkst' (R1 <-'lijk')
129 'achtigst'(R1 delete)
133 'end' (R1 C delete lengthen_V)
140 'ig' (R1 C delete lengthen_V)
185 'd' (not ('n' R1) delete)
186 't' (not ('h' R1) delete)
191 define Lose_prefix as (
192 ['ge'] test hop 3 (goto v goto non-v)
197 define Lose_infix as (
199 gopast (['ge']) test hop 3 (goto v goto non-v)
211 repeat non-v atleast 1 ('ij' or v) non-v setmark p1
212 repeat non-v atleast 1 ('ij' or v) non-v setmark p2
220 do ( ['y'] <-'Y' set Y_found )
221 do repeat(goto (v ['y'])<-'Y' set Y_found )
226 do (Step_1 set stemmed )
227 do (Step_2 set stemmed )
228 do (Step_3 set stemmed )
229 do (Step_4 set stemmed )
232 do (Lose_prefix and measure)
234 do (GE_removed Step_1c)
237 do (Lose_infix and measure)
239 do (GE_removed Step_1c)
242 do (Step_7 set stemmed )
243 do (stemmed or GE_removed Step_6)
245 do(Y_found repeat(goto (['Y']) <-'y'))