[ci] Fix clang-santisers job for GHA change
[xapian.git] / xapian-core / languages / danish.sbl
blobca18d12c4c6231b2b3806663fb091d19bdc3c66f
1 // Alias: da
3 routines (
4            mark_regions
5            main_suffix
6            consonant_pair
7            other_suffix
8            undouble
11 externals ( stem )
13 strings ( ch )
15 integers ( p1 x )
17 groupings ( c v s_ending )
19 stringescapes {}
21 /* special characters */
23 stringdef ae   '{U+00E6}'
24 stringdef ao   '{U+00E5}'
25 stringdef o/   '{U+00F8}'
27 define c 'bcdfghjklmnpqrstvwxz'
29 define v 'aeiouy{ae}{ao}{o/}'
31 define s_ending  'abcdfghjklmnoprtvyz{ao}'
33 define mark_regions as (
35     $p1 = limit
37     test ( hop 3 setmark x )
38     goto v gopast non-v  setmark p1
39     try ( $p1 < x  $p1 = x )
42 backwardmode (
44     define main_suffix as (
45         setlimit tomark p1 for ([substring])
46         among(
48             'hed' 'ethed' 'ered' 'e' 'erede' 'ende' 'erende' 'ene' 'erne' 'ere'
49             'en' 'heden' 'eren' 'er' 'heder' 'erer' 'heds' 'es' 'endes'
50             'erendes' 'enes' 'ernes' 'eres' 'ens' 'hedens' 'erens' 'ers' 'ets'
51             'erets' 'et' 'eret'
52                 (delete)
53             's'
54                 (s_ending delete)
55         )
56     )
58     define consonant_pair as (
59         test (
60             setlimit tomark p1 for ([substring])
61             among(
62                 'gd' // significant in the call from other_suffix
63                 'dt' 'gt' 'kt'
64             )
65         )
66         next] delete
67     )
69     define other_suffix as (
70         do ( ['st'] 'ig' delete )
71         setlimit tomark p1 for ([substring])
72         among(
73             'ig' 'lig' 'elig' 'els'
74                 (delete do consonant_pair)
75             'l{o/}st'
76                 (<-'l{o/}s')
77         )
78     )
79     define undouble as (
80         setlimit tomark p1 for ([c] ->ch)
81         ch
82         delete
83     )
86 define stem as (
88     do mark_regions
89     backwards (
90         do main_suffix
91         do consonant_pair
92         do other_suffix
93         do undouble
94     )