git-tag-release: Fix bashism
[xapian.git] / xapian-core / languages / basque.sbl
blob85053c9184ac3760d453b86048861a81b7e15ba7
1 // Alias: eu
2 // From: https://snowballstem.org/algorithms/basque/stemmer.html
3 // Author: Mikel Otxandorena
4 // Licence: 3-clause BSD, as per https://snowballstem.org/license.html
6 routines (
7            aditzak
8            izenak
9            adjetiboak
10            mark_regions
11            RV R2 R1
14 externals ( stem )
16 integers ( pV p1 p2 )
18 groupings ( v )
20 stringescapes {}
22 /* special characters */
24 stringdef n~ '{U+00F1}'
26 define v 'aeiou'
28 define mark_regions as (
30     $pV = limit
31     $p1 = limit
32     $p2 = limit  // defaults
34     do (
35         ( v (non-v gopast v) or (v gopast non-v) )
36         or
37         ( non-v (non-v gopast v) or (v next) )
38         setmark pV
39     )
40     do (
41         gopast v gopast non-v setmark p1
42         gopast v gopast non-v setmark p2
43     )
46 backwardmode (
48     define RV as $pV <= cursor
49     define R2 as $p2 <= cursor
50     define R1 as $p1 <= cursor
52     define aditzak as (
53         [substring] among(
54             'le' 'la' 'tzaile' 'aldatu' 'atu' 'tzailea' 'taile' 'tailea' 'pera' 'gale' 'galea'
55             'gura' 'kura' 'kor' 'korra' 'or' 'orra' 'tun' 'tuna' 'gaitz' 'gaitza'
56             'kaitz' 'kaitza' 'ezin' 'ezina' 'tezin' 'tezina' 'errez' 'erreza'
57             'karri' 'karria' 'tzaga' 'tzaka' 'tzake' 'tzeke' 'ez' 'eza' 'tzez'
58             'keta' 'eta' 'etan' 'pen' 'pena' 'tze' 'atze' 'kuntza' 'kunde' 'kundea'
59             'kune' 'kunea' 'kuna' 'kera' 'era' 'kizun' 'kizuna' 'dura' 'tura' 'men' 'mena'
60             'go' 'ago' 'tio' 'taldi' 'taldia' 'aldi' 'aldia' 'gune' 'gunea' 'bide' 'bidea'
61             'pide' 'pidea' 'gai' 'gaia' 'ki' 'kin' 'rekin' 'kina' 'kari' 'karia' 'ari' 'tari' 'etari'
62             'gailu' 'gailua' 'kide' 'kidea' 'ide' 'idea' 'du' 'ka' 'kan' 'an' 'ean' 'tu' 'lari' 'tatu'
63             'rean' 'tarazi' 'arazi' 'tzat' 'bera' 'dako'
64             ( RV delete )
65             'garri' 'garria' 'tza'
66             (R2 delete)
67             'atseden'
68             (<- 'atseden')
69             'arabera'
70             (<- 'arabera')
71             'baditu'
72             (<- 'baditu')
74         )
75     )
77     define izenak as (
78         [substring] among(
79             'ari' 'aria' 'bizia' 'kari' 'karia' 'lari' 'laria' 'tari' 'taria' 'zain' 'zaina'
80             'tzain' 'tzaina' 'zale' 'zalea' 'tzale' 'tzalea' 'aizun' 'orde' 'ordea'
81             'burua' 'ohi' 'ohia' 'kintza' 'gintzo' 'gintzu' 'tzu' 'tzua'
82             'tzo' 'tzoa' 'kuntza' 'talde' 'taldea' 'eria' 'keria' 'teria' 'di'
83             'za' 'ada' 'tara' 'etara' 'tra' 'ta' 'tegi' 'tegia' 'keta' 'z' 'zko' 'zkoa'
84             'ti' 'tia' 'tsu' 'tsua' 'zu' 'zua' 'bera' 'pera' 'zto' 'ztoa' 'asi' 'asia'
85             'gile' 'gilea' 'estu' 'estua' 'larri' 'larria' 'nahi' 'nahia'
86             'koi' 'koia' 'oi' 'oia' 'goi' 'min' 'mina' 'dun' 'duna' 'duru' 'durua'
87             'duri' 'duria' 'os' 'osa' 'oso' 'osoa' 'ar' 'ara' 'tar' 'dar' 'dara'
88             'tiar' 'tiara' 'liar' 'liara' 'gabe' 'gabea' 'kabe' 'kabea' 'ga' 'ge'
89             'kada' 'tasun' 'tasuna' 'asun' 'asuna' 'go' 'mendu' 'mendua' 'mentu' 'mentua'
90             'mendi' 'mendia' 'zio' 'zioa' 'zino' 'zinoa' 'zione' 'zionea' 'ezia'
91             'degi' 'degia' 'egi' 'egia' 'toki' 'tokia' 'leku' 'lekua' 'gintza' 'alde'
92             'aldea' 'kalde' 'kaldea' 'gune' 'gunea' 'une' 'unea' 'una' 'pe' 'pea'
93             'gibel' 'gibela' 'ondo' 'ondoa' 'arte' 'artea' 'aurre' 'aurrea'
94             'etxe' 'etxea' 'ola' 'ontzi' 'ontzia' 'gela' 'denda' 'taldi' 'taldia'
95             'aldi' 'aldia' 'te' 'tea' 'zaro' 'zaroa' 'taro' 'taroa' 'oro' 'oroa'
96             'aro' 'aroa' 'ero' 'eroa' 'eroz' 'eroza' 'ka' 'kan' 'kana' 'tako' 'etako' 'takoa'
97             'kote' 'kotea' 'tzar' 'tzarra' 'handi' 'handia' 'kondo' 'kondoa' 'skila'
98             'no' 'noa' '{n~}o' '{n~}oa' 'ska' 'xka' 'zka' 'tila' 'to' 'toa' 'tto' 'ttoa'
99             'txo' 'txoa' 'txu' 'txua' 'anda' 'anga' 'urren' 'urrena' 'gai' 'gaia'
100             'gei' 'geia' 'eme' 'emea' 'kume' 'kumea' 'sa' 'ko' 'eko' 'koa' 'ena'
101             'enea' 'ne' 'nea' 'kor' 'korra' 'ez' 'eza' 'eta' 'etan'
102             'ki' 'kia' 'kin' 'kina' 'tu' 'tua' 'du' 'dua' 'ek'
103             'tarik' 'tariko' 'tan' 'ordu' 'ordua' 'oste' 'ostea' 'tzara'
104             'ra' 'antza' 'behar' 'ro' 'giro' 'ak' 'zp' 'ket'
105             'kail' 'kaila' 'ail' 'kirri' 'kirria' 'ngo' 'ngoa' '{n~}i' 'sko'
106             'sta' 'koitz' 'koitza' 'na' 'garren' 'garrena' 'kera'
107             'gerren' 'gerrena' 'garna' 'kide' 'tz' 'tuko'
108             ( RV delete )
109             'ora' 'garri' 'garria' 'or' 'buru' 'ren' 'tza'
110             ( R2 delete )
111             'joka'
112             (<- 'jok')
113             'tzen' 'ten' 'en' 'tatu'
114             (R1 delete)
115             'trako'
116             (<- 'tra')
117             'minutuko'
118             (<- 'minutu')
119             'zehar'
120             (<- 'zehar')
121             'geldi'
122             (<- 'geldi')
123             'igaro'
124             (<- 'igaro')
125             'aurka'
126             (<- 'aurka')
127         )
128     )
130     define adjetiboak as (
131         [substring] among(
132             'era' 'ero' 'go' 'tate' 'tade' 'date' 'dade' 'keria'
133             'ki' 'to' 'ro' 'la' 'gi' 'larik' 'lanik' 'ik' 'ztik' 'rik'
134             ( RV delete )
135             'zlea'
136             (<- 'z')
137         )
138     )
142 define stem as (
143     do mark_regions
144     backwards (
145         repeat aditzak
146         repeat izenak
147         do adjetiboak
148     )
153     Note 1: additions of 21 Jul 2010