12
groupings ( v s_ending st_ending )
16
/* special characters (in ISO Latin I) */
23
define v 'aeiouy{a"}{o"}{u"}'
25
define s_ending 'bdfghklmnrt'
26
define st_ending s_ending - 'r'
48
define mark_regions as (
53
gopast v gopast non-v setmark p1
54
try($p1 < 3 $p1 = 3) // at least 3
55
gopast v gopast non-v setmark p2
59
define postlude as repeat (
74
define R1 as $p1 <= cursor
75
define R2 as $p2 <= cursor
77
define standard_suffix as (
80
'e' 'em' 'en' 'ern' 'er' 'es'
94
( st_ending hop 3 delete
102
try (['ig'] not 'e' R2 delete)
110
['er' or 'en'] R1 delete
116
[substring] R2 among(