14 groupings ( v s_ending )
18 /* special characters */
20 stringdef a" '{U+00E4}'
21 stringdef ao '{U+00E5}'
22 stringdef o" '{U+00F6}'
24 define v 'aeiouy{a"}{ao}{o"}'
26 define s_ending 'bcdfghjklmnoprtvy'
28 define mark_regions as (
31 test ( hop 3 setmark x )
32 goto v gopast non-v setmark p1
33 try ( $p1 < x $p1 = x )
38 define main_suffix as (
39 setlimit tomark p1 for ([substring])
42 'a' 'arna' 'erna' 'heterna' 'orna' 'ad' 'e' 'ade' 'ande' 'arne'
43 'are' 'aste' 'en' 'anden' 'aren' 'heten' 'ern' 'ar' 'er' 'heter'
44 'or' 'as' 'arnas' 'ernas' 'ornas' 'es' 'ades' 'andes' 'ens' 'arens'
45 'hetens' 'erns' 'at' 'andet' 'het' 'ast'
52 define consonant_pair as setlimit tomark p1 for (
53 among('dd' 'gd' 'nn' 'dt' 'gt' 'kt' 'tt')
57 define other_suffix as setlimit tomark p1 for (
59 'lig' 'ig' 'els' (delete)
60 'l{o"}st' (<-'l{o"}s')