Here is a sample of Serbian vocabulary, with the stemmed forms that will be generated by this algorithm:
word | stem | word | stem | |||||||||
ambasade ambasadi abdominalna abdominalno abdominalnih abdominalnim abdominalnog abdominalnoj abdominalnom abdominalnu abeceda abecede abecedi abecedni abecednih abecednim abecedno abecednog abecednom abecedom abecedu abecendom ablendovanje ablenduje ablenduju ablendujući abnormalan abnormalije abnormalijom abnormalna abnormalne abnormalni abnormalnih abnormalnim abnormalno abnormalnog abnormalnom abnormalnost abnormalnosti abnormalnostima abnormalnu |
⇒ |
ambasad ambasad abdominaln abdominaln abdominaln abdominaln abdominaln abdominaln abdominaln abdominaln abeced abeced abeced abecedn abecedn abecedn abecedn abecedn abecedn abeced abeced abecend ablendovanj ablenduj ablenduj ablenduj abnormaln abnormalij abnormalij abnormaln abnormaln abnormaln abnormaln abnormaln abnormaln abnormaln abnormaln abnormaln abnormalnost abnormalnost abnormaln |
obustavila obustavile obustavili obustavilo obustavio ocenjivala ocenjivali ocenjivan ocenjivana ocenjivane ocenjivani ocenjivano ocenjivanja ocenjivanje ocenjivanju ocenjivao ocenjivati ocenjuje ocenjujem ocenjujemo ocenjuješ ocenjujete ocenjuju ocenjujući očajan očajna očajne očajni očajno padobrana padobranaca padobranci padobrancima padobranom padobranskim padobransku padobranu paganska paganske paganski paganskih |
⇒ |
obustavi obustavi obustavi obustavi obustavi ocenjiva ocenjiva ocenjiva ocenjiva ocenjiva ocenjiva ocenjiva ocenjivanj ocenjivanj ocenjivanj ocenjiva ocenjiva ocenjuj ocenjuj ocenjuj ocenjuj ocenjuj ocenjuj ocenjuj očajn očajn očajn očajn očajn padobran padobranc padobranc padobranc padobran padobransk padobransk padobran pagansk pagansk pagansk pagansk |
The Serbian language is a Slavic language (Indo-European) of the South Slavic subgroup. It is highly inflected and uses similar rules for morphological derivation and flexion as other Slavic languages, especially ones derived from the Serbo-Croatian language used in the former Yugoslavia. Because of this highly inflected characteristic a stemmer for Serbian language will have many more rules than stemmers for less inflected languages.
Serbian Stemmer described in this document is based on the Croatian Stemmer which is published under the GNU Lesser General Public License. Mark Regions, Morphological Changes (Step_1) and Stemming (Step_2) routines are based on the Croatian Stemming Algorithm. In addition, some of the existing rules for Morphological Changes and Stemming (Step_1 and Step_2 among lists) have been modified and new rules have been added for the needs of the Serbian Stemmer.
Latin alphabet in Serbian includes the following letters with diacritics:
The following letters are vowels:
There is also letter - r - that isn't a vowel but it is sometimes used for syllabification.
The Serbian language uses both Cyrillic and Latin alphabets, but these days most people use the Latin alphabet on their PCs, Phones, etc. This algorithm is developed mostly for the purposes of the Information Retrieval, therefore the first thing it does is to convert Cyrillic letters to Latin.
In Serbian language there are two dialects: Ekavian and Ijekavian. For example words:
These days it is also common, although not valid, to use combination of letters "d" and "j" instead of a single letter "đ". For example people will more often write "Novak Djoković" instead of "Novak Đoković" and because this algorithm is developed with Information Retrieval in mind they should be treated as the same terms.
R1 is either:
Note that every suffix which the stemmer can remove contains at least one vowel, so in the degenerate case of an input which contains no vowels there is nothing to be done. The Snowball implementation of this stemmer sets R1 to be a zero length region at the end of the word if the input contains no vowels and no "r".
In Serbian language there are some words in which "r" letter is used for syllabification and in such words vowels can appear at the very end - for example word "grmlje".
So before algorithm decide what will R1 be, it needs to look if and where "r" letter occurs and where is the first vowel. If it finds "r" that occurred before the first vowel and there is at least one letter between them this means that "r" is used for syllabification and R1 is 2), otherwise R1 is 1).
For example:
Very last thing to do, before any stemming is done, are morphological changes. These changes are applied so that we get the same stems for different forms of a word.
For example words:
There are two steps for stemming. The first contains most of the rules and is the primary stemming routine and the second one will try to stem the word only if the first one failed to do so - whether it was because there were no rules that could be applied or the rule overlapped the R1 region. The second step contains a few rules that will do proper stemming for most words that couldn't be stemmed using the rules from the first step.
/* Stemmer for Serbian language, based on:
*
* Ljubesic, Nikola. Pandzic, Ivan. Stemmer for Croatian
* http://nlp.ffzg.hr/resources/tools/stemmer-for-croatian/
*
* authors: Stefan Petkovic and Dragan Ivanovic
* emails: petkovic8 at gmail.com and dragan.ivanovic at uns.ac.rs
* version: 1.0 (20.04.2019)
*/
routines (
cyr_to_lat
prelude
mark_regions
R1
Step_1
Step_2
Step_3
)
externals ( stem )
booleans ( no_diacritics )
integers ( p1 )
groupings ( v ca sa rg )
stringescapes {}
/* special characters - Unicode codepoints */
/* serbian cyrillic */
stringdef cyrA '{U+0430}'
stringdef cyrB '{U+0431}'
stringdef cyrV '{U+0432}'
stringdef cyrG '{U+0433}'
stringdef cyrD '{U+0434}'
stringdef cyrDx '{U+0452}'
stringdef cyrE '{U+0435}'
stringdef cyrZh '{U+0436}'
stringdef cyrZ '{U+0437}'
stringdef cyrI '{U+0438}'
stringdef cyrJ '{U+0458}'
stringdef cyrK '{U+043A}'
stringdef cyrL '{U+043B}'
stringdef cyrLJ '{U+0459}'
stringdef cyrM '{U+043C}'
stringdef cyrN '{U+043D}'
stringdef cyrNJ '{U+045A}'
stringdef cyrO '{U+043E}'
stringdef cyrP '{U+043F}'
stringdef cyrR '{U+0440}'
stringdef cyrS '{U+0441}'
stringdef cyrT '{U+0442}'
stringdef cyrCy '{U+045B}'
stringdef cyrU '{U+0443}'
stringdef cyrF '{U+0444}'
stringdef cyrH '{U+0445}'
stringdef cyrC '{U+0446}'
stringdef cyrCx '{U+0447}'
stringdef cyrDzx '{U+045F}'
stringdef cyrSx '{U+0448}'
/* serbian latin with diacritics */
stringdef cv '{U+010D}' // small c with caron
stringdef c' '{U+0107}' // small c with acute
stringdef zv '{U+017E}' // small z with caron
stringdef sv '{U+0161}' // small s with caron
stringdef d/ '{U+0111}' // small d with stroke
define v 'aeiou'
define sa '{cv}{c'}{zv}{sv}{d/}'
define ca 'bvgdzjklmnprstfhc' + sa
define rg 'r'
define cyr_to_lat as (
do repeat goto (
[substring] among (
'{cyrA}' (<- 'a')
'{cyrB}' (<- 'b')
'{cyrV}' (<- 'v')
'{cyrG}' (<- 'g')
'{cyrD}' (<- 'd')
'{cyrDx}' (<- '{d/}')
'{cyrE}' (<- 'e')
'{cyrZh}' (<- '{zv}')
'{cyrZ}' (<- 'z')
'{cyrI}' (<- 'i')
'{cyrJ}' (<- 'j')
'{cyrK}' (<- 'k')
'{cyrL}' (<- 'l')
'{cyrLJ}' (<- 'lj')
'{cyrM}' (<- 'm')
'{cyrN}' (<- 'n')
'{cyrNJ}' (<- 'nj')
'{cyrO}' (<- 'o')
'{cyrP}' (<- 'p')
'{cyrR}' (<- 'r')
'{cyrS}' (<- 's')
'{cyrT}' (<- 't')
'{cyrCy}' (<- '{c'}')
'{cyrU}' (<- 'u')
'{cyrF}' (<- 'f')
'{cyrH}' (<- 'h')
'{cyrC}' (<- 'c')
'{cyrCx}' (<- '{cv}')
'{cyrDzx}' (<- 'd{zv}')
'{cyrSx}' (<- '{sv}')
)
)
)
define prelude as (
do repeat goto (
ca ['ije'] ca <- 'e'
)
do repeat goto (
ca ['je'] ca <- 'e'
)
do repeat goto (
['dj'] <- '{d/}'
)
)
define mark_regions as (
set no_diacritics
do (
gopast sa unset no_diacritics
)
$p1 = limit
do (
gopast v setmark p1
($p1 < 2) (
gopast non-v
setmark p1
)
)
do (
gopast 'r'
$(cursor >= 2) or (gopast non-rg)
$(p1 - cursor > 1) setmark p1
)
)
backwardmode (
define R1 as $p1 <= cursor
define Step_1 as (
[substring] among (
'lozi'
'lozima' (<-'loga')
'pesi'
'pesima' (<-'peh')
'vojci' (<-'vojka')
'bojci' (<-'bojka')
'jaci'
'jacima' (<-'jak')
'{cv}ajan' (<-'{cv}ajni')
'cajan' (no_diacritics <-'cajni')
'eran' (<-'erni')
'laran' (<-'larni')
'esan' (<-'esni')
'anjac' (<-'anjca')
'ajac'
'ajaca' (<-'ajca')
'ljaca'
'ljac' (<-'ljca')
'ejac'
'ejaca' (<-'ejca')
'ojac'
'ojaca' (<-'ojca')
'ajaka' (<-'ajka')
'ojaka' (<-'ojka')
'{sv}aca'
'{sv}ac' (<-'{sv}ca')
'inzima'
'inzi' (<-'ing')
'tvenici' (<-'tvenik')
'tetici'
'teticima' (<-'tetika')
'nstava' (<-'nstva')
'nicima' (<-'nik')
'ticima' (<-'tik')
'zicima' (<-'zik')
'snici' (<-'snik')
'kuse' (<-'kusi')
'kusan' (<-'kusni')
'kustava' (<-'kustva')
'du{sv}an' (<-'du{sv}ni')
'dusan' (no_diacritics <-'dusni')
'antan' (<-'antni')
'bilan' (<-'bilni')
'tilan' (<-'tilni')
'avilan' (<-'avilni')
'silan' (<-'silni')
'gilan' (<-'gilni')
'rilan' (<-'rilni')
'nilan' (<-'nilni')
'alan' (<-'alni')
'ozan' (<-'ozni')
'rave' (<-'ravi')
'stavan' (<-'stavni')
'pravan' (<-'pravni')
'tivan' (<-'tivni')
'sivan' (<-'sivni')
'atan' (<-'atni')
'enat' (<-'enta')
'tetan' (<-'tetni')
'pletan' (<-'pletni')
'{sv}ave' (<-'{sv}avi')
'save' (no_diacritics <-'savi')
'anata' (<-'anta')
'a{cv}ak'
'a{cv}aka' (<-'a{cv}ka')
'acak'
'acaka' (no_diacritics <-'acka')
'u{sv}ak' (<-'u{sv}ka')
'usak' (no_diacritics <-'uska')
'atak'
'ataka'
'atci'
'atcima' (<-'atka')
'etak'
'etaka' (<-'etka')
'itak'
'itaka'
'itci' (<-'itka')
'otak'
'otaka' (<-'otka')
'utak'
'utaka'
'utci'
'utcima' (<-'utka')
'eskan' (<-'eskna')
'ti{cv}an' (<-'ti{cv}ni')
'tican' (no_diacritics <-'ticni')
'ojsci' (<-'ojska')
'esama' (<-'esma')
'metar'
'metara' (<-'metra')
'centar'
'centara' (<-'centra')
'istar'
'istara' (<-'istra')
'o{sv}{c'}u' (<-'osti')
'oscu' (no_diacritics <-'osti')
'daba' (<-'dba')
'{cv}cima'
'{cv}ci' (<-'{cv}ka')
'mac'
'maca' (<-'mca')
'naca'
'nac' (<-'nca')
'voljan' (<-'voljni')
'anaka' (<-'anki')
'vac'
'vaca' (<-'vca')
'saca'
'sac' (<-'sca')
'raca'
'rac' (<-'rca')
'aoca'
'alaca'
'alac' (<-'alca')
'elaca'
'elac' (<-'elca')
'olaca'
'olac'
'olce' (<-'olca')
'njac'
'njaca' (<-'njca')
'ekata'
'ekat' (<-'ekta')
'izam'
'izama' (<-'izma')
'jebe' (<-'jebi')
'baci' (<-'baci')
'a{sv}an' (<-'a{sv}ni')
'asan' (no_diacritics <-'asni')
)
)
define Step_2 as (
[substring] R1 among (
'skijima'
'skijega'
'skijemu'
'skijem'
'skega'
'skemu'
'skem'
'skijim'
'skijih'
'skijoj'
'skijeg'
'skiji'
'skije'
'skija'
'skoga'
'skome'
'skomu'
'skima'
'skog'
'skom'
'skim'
'skih'
'skoj'
'ski'
'ske'
'sko'
'ska'
'sku' (<-'sk')
'{sv}kijima'
'{sv}kijega'
'{sv}kijemu'
'{sv}kijem'
'{sv}kega'
'{sv}kemu'
'{sv}kem'
'{sv}kijim'
'{sv}kijih'
'{sv}kijoj'
'{sv}kijeg'
'{sv}kiji'
'{sv}kije'
'{sv}kija'
'{sv}koga'
'{sv}kome'
'{sv}komu'
'{sv}kima'
'{sv}kog'
'{sv}kom'
'{sv}kim'
'{sv}kih'
'{sv}koj'
'{sv}ki'
'{sv}ke'
'{sv}ko'
'{sv}ka'
'{sv}ku' (<-'{sv}k')
'stvima'
'stvom'
'stvo'
'stva'
'stvu' (<-'stv')
'{sv}tvima'
'{sv}tvom'
'{sv}tvo'
'{sv}tva'
'{sv}tvu' (<-'{sv}tv')
'tanijama'
'tanijima'
'tanijom'
'tanija'
'taniju'
'tanije'
'taniji' (<-'tanij')
'manijama'
'manijima'
'manijom'
'manija'
'maniju'
'manije'
'maniji' (<-'manij')
'panijama'
'panijima'
'panijom'
'panija'
'paniju'
'panije'
'paniji' (<-'panij')
'ranijama'
'ranijima'
'ranijom'
'ranija'
'raniju'
'ranije'
'raniji' (<-'ranij')
'ganijama'
'ganijima'
'ganijom'
'ganija'
'ganiju'
'ganije'
'ganiji' (<-'ganij')
'aninom'
'anina'
'aninu'
'anine'
'anima'
'anin'
'anom'
'anu'
'ani'
'ana'
'ane' (<-'an')
'inima'
'inama'
'inom'
'ina'
'ine'
'ini'
'inu'
'ino' (<-'in')
'onovima'
'onova'
'onove'
'onovi'
'onima'
'onom'
'ona'
'one'
'oni'
'onu' (<-'on')
'nijima'
'nijega'
'nijemu'
'nijeg'
'nijem'
'nega'
'nemu'
'neg'
'nem'
'nijim'
'nijih'
'nijoj'
'niji'
'nije'
'nija'
'niju'
'nima'
'nome'
'nomu'
'noga'
'noj'
'nom'
'nih'
'nim'
'nog'
'no'
'ne'
'na'
'nu'
'ni' (<-'n')
'a{c'}oga'
'a{c'}ome'
'a{c'}omu'
'a{c'}ega'
'a{c'}emu'
'a{c'}ima'
'a{c'}oj'
'a{c'}ih'
'a{c'}om'
'a{c'}eg'
'a{c'}em'
'a{c'}og'
'a{c'}uh'
'a{c'}im'
'a{c'}e'
'a{c'}a' (<-'a{c'}')
'e{c'}oga'
'e{c'}ome'
'e{c'}omu'
'e{c'}ega'
'e{c'}emu'
'e{c'}ima'
'e{c'}oj'
'e{c'}ih'
'e{c'}om'
'e{c'}eg'
'e{c'}em'
'e{c'}og'
'e{c'}uh'
'e{c'}im'
'e{c'}e'
'e{c'}a' (<-'e{c'}')
'u{c'}oga'
'u{c'}ome'
'u{c'}omu'
'u{c'}ega'
'u{c'}emu'
'u{c'}ima'
'u{c'}oj'
'u{c'}ih'
'u{c'}om'
'u{c'}eg'
'u{c'}em'
'u{c'}og'
'u{c'}uh'
'u{c'}im'
'u{c'}e'
'u{c'}a' (<-'u{c'}')
'ugovima'
'ugovi'
'ugove'
'ugova' (<-'ugov')
'ugama'
'ugom'
'uga'
'uge'
'ugi'
'ugu'
'ugo' (<-'ug')
'logama'
'logom'
'loga'
'logu'
'loge' (<-'log')
'govima'
'gama'
'govi'
'gove'
'gova'
'gom'
'ga'
'ge'
'gi'
'gu'
'go' (<-'g')
'rarijem'
'rarija'
'rariju'
'rario' (<-'rari')
'otijem'
'otija'
'otiju'
'otio' (<-'oti')
'sijem'
'sija'
'siju'
'sio' (<-'si')
'lijem'
'lija'
'liju'
'lio' (<-'li')
'uju{c'}i'
'ujemo'
'ujete'
'ujmo'
'ujem'
'uje{sv}'
'uje'
'uju' (<-'uj')
'cajevima'
'cajevi'
'cajeva'
'cajeve'
'cajama'
'cajima'
'cajem'
'caja'
'caje'
'caji'
'caju' (<-'caj')
'{cv}ajevima'
'{cv}ajevi'
'{cv}ajeva'
'{cv}ajeve'
'{cv}ajama'
'{cv}ajima'
'{cv}ajem'
'{cv}aja'
'{cv}aje'
'{cv}aji'
'{cv}aju' (<-'{cv}aj')
'{c'}ajevima'
'{c'}ajevi'
'{c'}ajeva'
'{c'}ajeve'
'{c'}ajama'
'{c'}ajima'
'{c'}ajem'
'{c'}aja'
'{c'}aje'
'{c'}aji'
'{c'}aju' (<-'{c'}aj')
'{d/}ajevima'
'{d/}ajevi'
'{d/}ajeva'
'{d/}ajeve'
'{d/}ajama'
'{d/}ajima'
'{d/}ajem'
'{d/}aja'
'{d/}aje'
'{d/}aji'
'{d/}aju' (<-'{d/}aj')
'lajevima'
'lajevi'
'lajeva'
'lajeve'
'lajama'
'lajima'
'lajem'
'laja'
'laje'
'laji'
'laju' (<-'laj')
'rajevima'
'rajevi'
'rajeva'
'rajeve'
'rajama'
'rajima'
'rajem'
'raja'
'raje'
'raji'
'raju' (<-'raj')
'bijima'
'bijama'
'bijom'
'bija'
'bije'
'biji'
'biju'
'bijo' (<-'bij')
'cijima'
'cijama'
'cijom'
'cija'
'cije'
'ciji'
'ciju'
'cijo' (<-'cij')
'dijima'
'dijama'
'dijom'
'dija'
'dije'
'diji'
'diju'
'dijo' (<-'dij')
'lijima'
'lijama'
'lijom'
'lije'
'liji'
'lijo' (<-'lij')
'nijama'
'nijom'
'nijo' (<-'nij')
'mijima'
'mijama'
'mijom'
'mija'
'mije'
'miji'
'miju'
'mijo' (<-'mij')
'{zv}ijima'
'{zv}ijama'
'{zv}ijom'
'{zv}ija'
'{zv}ije'
'{zv}iji'
'{zv}iju'
'{zv}ijo' (<-'{zv}ij')
'gijima'
'gijama'
'gijom'
'gija'
'gije'
'giji'
'giju'
'gijo' (<-'gij')
'fijima'
'fijama'
'fijom'
'fija'
'fije'
'fiji'
'fiju'
'fijo' (<-'fij')
'pijima'
'pijama'
'pijom'
'pija'
'pije'
'piji'
'piju'
'pijo' (<-'pij')
'rijima'
'rijama'
'rijom'
'rija'
'rije'
'riji'
'riju'
'rijo' (<-'rij')
'sijima'
'sijama'
'sijom'
'sije'
'siji'
'sijo' (<-'sij')
'tijima'
'tijama'
'tijom'
'tija'
'tije'
'tiji'
'tiju'
'tijo' (<-'tij')
'zijima'
'zijama'
'zijom'
'zija'
'zije'
'ziji'
'ziju'
'zijo' (<-'zij')
'nalima'
'nalama'
'nalom'
'nala'
'nale'
'nali'
'nalu'
'nalo' (<-'nal')
'ijalima'
'ijalama'
'ijalom'
'ijala'
'ijale'
'ijali'
'ijalu'
'ijalo' (<-'ijal')
'ozilima'
'ozilom'
'ozila'
'ozile'
'ozilu'
'ozili' (<-'ozil')
'olovima'
'olovi'
'olova'
'olove' (<-'olov')
'olima'
'olom'
'ola'
'olu'
'ole'
'oli' (<-'ol')
'lemama'
'lemima'
'lemom'
'lema'
'leme'
'lemi'
'lemu'
'lemo' (<-'lem')
'ramama'
'ramom'
'rama'
'rame'
'rami'
'ramu'
'ramo' (<-'ram')
'arama'
'arima'
'arom'
'aru'
'ara'
'are'
'ari' (<-'ar')
'drama'
'drima'
'drom'
'dru'
'dra'
'dre'
'dri' (<-'dr')
'erama'
'erima'
'erom'
'eru'
'era'
'ere'
'eri' (<-'er')
'orama'
'orima'
'orom'
'oru'
'ora'
'ore'
'ori' (<-'or')
'esima'
'esom'
'ese'
'esa'
'esu' (<-'es')
'isima'
'isom'
'ise'
'isa'
'isu' (<-'is')
'ta{sv}ama'
'ta{sv}ima'
'ta{sv}om'
'ta{sv}em'
'ta{sv}a'
'ta{sv}u'
'ta{sv}i'
'ta{sv}e' (<-'ta{sv}')
'na{sv}ama'
'na{sv}ima'
'na{sv}om'
'na{sv}em'
'na{sv}a'
'na{sv}u'
'na{sv}i'
'na{sv}e' (<-'na{sv}')
'ja{sv}ama'
'ja{sv}ima'
'ja{sv}om'
'ja{sv}em'
'ja{sv}a'
'ja{sv}u'
'ja{sv}i'
'ja{sv}e' (<-'ja{sv}')
'ka{sv}ama'
'ka{sv}ima'
'ka{sv}om'
'ka{sv}em'
'ka{sv}a'
'ka{sv}u'
'ka{sv}i'
'ka{sv}e' (<-'ka{sv}')
'ba{sv}ama'
'ba{sv}ima'
'ba{sv}om'
'ba{sv}em'
'ba{sv}a'
'ba{sv}u'
'ba{sv}i'
'ba{sv}e' (<-'ba{sv}')
'ga{sv}ama'
'ga{sv}ima'
'ga{sv}om'
'ga{sv}em'
'ga{sv}a'
'ga{sv}u'
'ga{sv}i'
'ga{sv}e' (<-'ga{sv}')
'va{sv}ama'
'va{sv}ima'
'va{sv}om'
'va{sv}em'
'va{sv}a'
'va{sv}u'
'va{sv}i'
'va{sv}e' (<-'va{sv}')
'e{sv}ima'
'e{sv}ama'
'e{sv}om'
'e{sv}em'
'e{sv}i'
'e{sv}e'
'e{sv}a'
'e{sv}u' (<-'e{sv}')
'i{sv}ima'
'i{sv}ama'
'i{sv}om'
'i{sv}em'
'i{sv}i'
'i{sv}e'
'i{sv}a'
'i{sv}u' (<-'i{sv}')
'ikatima'
'ikatom'
'ikata'
'ikate'
'ikati'
'ikatu'
'ikato' (<-'ikat')
'latima'
'latom'
'lata'
'late'
'lati'
'latu'
'lato' (<-'lat')
'etama'
'etima'
'etom'
'eta'
'ete'
'eti'
'etu'
'eto' (<-'et')
'estima'
'estama'
'estom'
'esta'
'este'
'esti'
'estu'
'esto' (<-'est')
'istima'
'istama'
'istom'
'ista'
'iste'
'isti'
'istu'
'isto' (<-'ist')
'kstima'
'kstama'
'kstom'
'ksta'
'kste'
'ksti'
'kstu'
'ksto' (<-'kst')
'ostima'
'ostama'
'ostom'
'osta'
'oste'
'osti'
'ostu'
'osto' (<-'ost')
'i{sv}tima'
'i{sv}tem'
'i{sv}ta'
'i{sv}te'
'i{sv}tu' (<-'i{sv}t')
'ovasmo'
'ovaste'
'ovahu'
'ovati'
'ova{sv}e'
'ovali'
'ovala'
'ovale'
'ovalo'
'ovat'
'ovah'
'ovao' (<-'ova')
'avijemu'
'avijima'
'avijega'
'avijeg'
'avijem'
'avemu'
'avega'
'aveg'
'avem'
'avijim'
'avijih'
'avijoj'
'avoga'
'avome'
'avomu'
'avima'
'avama'
'aviji'
'avije'
'avija'
'aviju'
'avim'
'avih'
'avoj'
'avom'
'avog'
'avi'
'ava'
'avu'
'ave'
'avo' (<-'av')
'evijemu'
'evijima'
'evijega'
'evijeg'
'evijem'
'evemu'
'evega'
'eveg'
'evem'
'evijim'
'evijih'
'evijoj'
'evoga'
'evome'
'evomu'
'evima'
'evama'
'eviji'
'evije'
'evija'
'eviju'
'evim'
'evih'
'evoj'
'evom'
'evog'
'evi'
'eva'
'evu'
'eve'
'evo' (<-'ev')
'ivijemu'
'ivijima'
'ivijega'
'ivijeg'
'ivijem'
'ivemu'
'ivega'
'iveg'
'ivem'
'ivijim'
'ivijih'
'ivijoj'
'ivoga'
'ivome'
'ivomu'
'ivima'
'ivama'
'iviji'
'ivije'
'ivija'
'iviju'
'ivim'
'ivih'
'ivoj'
'ivom'
'ivog'
'ivi'
'iva'
'ivu'
'ive'
'ivo' (<-'iv')
'ovijemu'
'ovijima'
'ovijega'
'ovijeg'
'ovijem'
'ovemu'
'ovega'
'oveg'
'ovijim'
'ovijih'
'ovijoj'
'ovoga'
'ovome'
'ovomu'
'ovima'
'oviji'
'ovije'
'ovija'
'oviju'
'ovim'
'ovih'
'ovoj'
'ovom'
'ovog'
'ovi'
'ova'
'ovu'
'ove'
'ovo' (<-'ov')
'movima'
'movom'
'mova'
'movu'
'move'
'movi' (<-'mov')
'lovima'
'lovom'
'lova'
'lovu'
'love'
'lovi' (<-'lov')
'elijemu'
'elijima'
'elijega'
'elijeg'
'elijem'
'elemu'
'elega'
'eleg'
'elem'
'elijim'
'elijih'
'elijoj'
'eloga'
'elome'
'elomu'
'elima'
'eliji'
'elije'
'elija'
'eliju'
'elim'
'elih'
'eloj'
'elom'
'elog'
'eli'
'ela'
'elu'
'ele'
'elo' (<-'el')
'anjijemu'
'anjijima'
'anjijega'
'anjijeg'
'anjijem'
'anjemu'
'anjega'
'anjeg'
'anjem'
'anjijim'
'anjijih'
'anjijoj'
'anjoga'
'anjome'
'anjomu'
'anjima'
'anjiji'
'anjije'
'anjija'
'anjiju'
'anjim'
'anjih'
'anjoj'
'anjom'
'anjog'
'anja'
'anje'
'anji'
'anjo'
'anju' (<-'anj')
'enjijemu'
'enjijima'
'enjijega'
'enjijeg'
'enjijem'
'enjemu'
'enjega'
'enjeg'
'enjem'
'enjijim'
'enjijih'
'enjijoj'
'enjoga'
'enjome'
'enjomu'
'enjima'
'enjiji'
'enjije'
'enjija'
'enjiju'
'enjim'
'enjih'
'enjoj'
'enjom'
'enjog'
'enja'
'enje'
'enji'
'enjo'
'enju' (<-'enj')
'{sv}njijemu'
'{sv}njijima'
'{sv}njijega'
'{sv}njijeg'
'{sv}njijem'
'{sv}njemu'
'{sv}njega'
'{sv}njeg'
'{sv}njem'
'{sv}njijim'
'{sv}njijih'
'{sv}njijoj'
'{sv}njoga'
'{sv}njome'
'{sv}njomu'
'{sv}njima'
'{sv}njiji'
'{sv}njije'
'{sv}njija'
'{sv}njiju'
'{sv}njim'
'{sv}njih'
'{sv}njoj'
'{sv}njom'
'{sv}njog'
'{sv}nja'
'{sv}nje'
'{sv}nji'
'{sv}njo'
'{sv}nju' (<-'{sv}nj')
'anemu'
'anega'
'aneg'
'anem' (<-'an')
'enemu'
'enega'
'eneg'
'enem' (<-'en')
'{sv}nemu'
'{sv}nega'
'{sv}neg'
'{sv}nem' (<-'{sv}n')
'{cv}inama'
'{cv}inome'
'{cv}inomu'
'{cv}inoga'
'{cv}inima'
'{cv}inog'
'{cv}inom'
'{cv}inim'
'{cv}inih'
'{cv}inoj'
'{cv}ina'
'{cv}inu'
'{cv}ini'
'{cv}ino'
'{cv}ine' (<-'{cv}in')
'ro{sv}iv{sv}i'
'ro{sv}ismo'
'ro{sv}iste'
'ro{sv}i{sv}e'
'ro{sv}imo'
'ro{sv}ite'
'ro{sv}iti'
'ro{sv}ili'
'ro{sv}ila'
'ro{sv}ilo'
'ro{sv}ile'
'ro{sv}im'
'ro{sv}i{sv}'
'ro{sv}it'
'ro{sv}ih'
'ro{sv}io' (<-'ro{sv}i')
'o{sv}ijemu'
'o{sv}ijima'
'o{sv}ijega'
'o{sv}ijeg'
'o{sv}ijem'
'o{sv}emu'
'o{sv}ega'
'o{sv}eg'
'o{sv}em'
'o{sv}ijim'
'o{sv}ijih'
'o{sv}ijoj'
'o{sv}oga'
'o{sv}ome'
'o{sv}omu'
'o{sv}ima'
'o{sv}iji'
'o{sv}ije'
'o{sv}ija'
'o{sv}iju'
'o{sv}im'
'o{sv}ih'
'o{sv}oj'
'o{sv}om'
'o{sv}og'
'o{sv}i'
'o{sv}a'
'o{sv}u'
'o{sv}e' (<-'o{sv}')
'evitijima'
'evitijega'
'evitijemu'
'evitijem'
'evitega'
'evitemu'
'evitem'
'evitijim'
'evitijih'
'evitijoj'
'evitijeg'
'evitiji'
'evitije'
'evitija'
'evitoga'
'evitome'
'evitomu'
'evitima'
'evitog'
'evitom'
'evitim'
'evitih'
'evitoj'
'eviti'
'evite'
'evito'
'evita'
'evitu' (<-'evit')
'ovitijima'
'ovitijega'
'ovitijemu'
'ovitijem'
'ovitega'
'ovitemu'
'ovitem'
'ovitijim'
'ovitijih'
'ovitijoj'
'ovitijeg'
'ovitiji'
'ovitije'
'ovitija'
'ovitoga'
'ovitome'
'ovitomu'
'ovitima'
'ovitog'
'ovitom'
'ovitim'
'ovitih'
'ovitoj'
'oviti'
'ovite'
'ovito'
'ovita'
'ovitu' (<-'ovit')
'astijima'
'astijega'
'astijemu'
'astijem'
'astega'
'astemu'
'astem'
'astijim'
'astijih'
'astijoj'
'astijeg'
'astiji'
'astije'
'astija'
'astoga'
'astome'
'astomu'
'astima'
'astog'
'astom'
'astim'
'astih'
'astoj'
'asti'
'aste'
'asto'
'asta'
'astu' (<-'ast')
'kijemu'
'kijima'
'kijega'
'kijeg'
'kijem'
'kemu'
'kega'
'keg'
'kem'
'kijim'
'kijih'
'kijoj'
'koga'
'kome'
'komu'
'kima'
'kiji'
'kije'
'kija'
'kiju'
'kim'
'kih'
'koj'
'kom'
'kog'
'kov'
'ki'
'ka'
'ku'
'ke'
'ko' (<-'k')
'evaju{c'}i'
'evasmo'
'evaste'
'evajmo'
'evajte'
'evaju'
'evala'
'evale'
'evali'
'evalo'
'evamo'
'evana'
'evane'
'evani'
'evano'
'evate'
'evati'
'eva{sv}e'
'evahu'
'evah'
'evaj'
'evam'
'evan'
'evao'
'evat'
'evav'
'eva{sv}' (<-'eva')
'avaju{c'}i'
'avasmo'
'avaste'
'avajmo'
'avajte'
'avaju'
'avala'
'avale'
'avali'
'avalo'
'avamo'
'avana'
'avane'
'avani'
'avano'
'avate'
'avati'
'ava{sv}e'
'avahu'
'avah'
'avaj'
'avam'
'avan'
'avao'
'avat'
'avav'
'ava{sv}' (<-'ava')
'ivaju{c'}i'
'ivasmo'
'ivaste'
'ivajmo'
'ivajte'
'ivaju'
'ivala'
'ivale'
'ivali'
'ivalo'
'ivamo'
'ivana'
'ivane'
'ivani'
'ivano'
'ivate'
'ivati'
'iva{sv}e'
'ivahu'
'ivah'
'ivaj'
'ivam'
'ivan'
'ivao'
'ivat'
'ivav'
'iva{sv}' (<-'iva')
'uvaju{c'}i'
'uvasmo'
'uvaste'
'uvajmo'
'uvajte'
'uvaju'
'uvala'
'uvale'
'uvali'
'uvalo'
'uvamo'
'uvana'
'uvane'
'uvani'
'uvano'
'uvate'
'uvati'
'uva{sv}e'
'uvahu'
'uvah'
'uvaj'
'uvam'
'uvan'
'uvao'
'uvat'
'uvav'
'uva{sv}' (<-'uva')
'irujemo'
'irujete'
'iruju{c'}i'
'iraju{c'}i'
'irivat'
'irujem'
'iruje{sv}'
'irujmo'
'irujte'
'irav{sv}i'
'irasmo'
'iraste'
'irati'
'iramo'
'irate'
'iraju'
'ira{sv}e'
'irahu'
'irala'
'iralo'
'irali'
'irale'
'iruje'
'iruju'
'iruj'
'iral'
'iran'
'iram'
'ira{sv}'
'irat'
'irah'
'irao' (<-'ir')
'a{cv}ismo'
'a{cv}iste'
'a{cv}iti'
'a{cv}imo'
'a{cv}ite'
'a{cv}i{sv}e'
'a{cv}e{c'}i'
'a{cv}ila'
'a{cv}ilo'
'a{cv}ili'
'a{cv}ile'
'a{cv}ena'
'a{cv}eno'
'a{cv}eni'
'a{cv}ene'
'a{cv}io'
'a{cv}im'
'a{cv}i{sv}'
'a{cv}it'
'a{cv}ih'
'a{cv}en'
'a{cv}i'
'a{cv}e' (<-'a{cv}')
'a{cv}av{sv}i'
'a{cv}asmo'
'a{cv}aste'
'a{cv}ahu'
'a{cv}ati'
'a{cv}amo'
'a{cv}ate'
'a{cv}a{sv}e'
'a{cv}ala'
'a{cv}alo'
'a{cv}ali'
'a{cv}ale'
'a{cv}aju'
'a{cv}ana'
'a{cv}ano'
'a{cv}ani'
'a{cv}ane'
'a{cv}ao'
'a{cv}am'
'a{cv}a{sv}'
'a{cv}at'
'a{cv}ah'
'a{cv}an' (<-'a{cv}a')
'nuv{sv}i'
'nusmo'
'nuste'
'nu{c'}i'
'nimo'
'nite'
'nemo'
'nete'
'nula'
'nulo'
'nule'
'nuli'
'nuto'
'nuti'
'nuta'
'ne{sv}'
'nuo'
'nut' (<-'n')
'niv{sv}i'
'nismo'
'niste'
'niti'
'nila'
'nilo'
'nile'
'nili'
'ni{sv}'
'nio' (<-'ni')
'aju{c'}i'
'av{sv}i'
'asmo'
'ajmo'
'ajte'
'ajem'
'aloj'
'amo'
'ate'
'aje'
'aju'
'ati'
'a{sv}e'
'ahu'
'ala'
'ali'
'ale'
'alo'
'ano'
'at'
'ah'
'ao'
'aj'
'an'
'am'
'a{sv}' (<-'a')
'uraju{c'}i'
'urasmo'
'uraste'
'urajmo'
'urajte'
'uramo'
'urate'
'uraju'
'urati'
'ura{sv}e'
'urahu'
'urala'
'urali'
'urale'
'uralo'
'urana'
'urano'
'urani'
'urane'
'ural'
'urat'
'urah'
'urao'
'uraj'
'uran'
'uram'
'ura{sv}' (<-'ur')
'astajasmo'
'astajaste'
'astajahu'
'astajati'
'astajemo'
'astajete'
'astaja{sv}e'
'astajali'
'astaju{c'}i'
'astajala'
'astajalo'
'astajale'
'astajmo'
'astajao'
'astajem'
'astaje{sv}'
'astajat'
'astajah'
'astajte'
'astaje'
'astaju' (<-'astaj')
'istajasmo'
'istajaste'
'istajahu'
'istajati'
'istajemo'
'istajete'
'istaja{sv}e'
'istajali'
'istaju{c'}i'
'istajala'
'istajalo'
'istajale'
'istajmo'
'istajao'
'istajem'
'istaje{sv}'
'istajat'
'istajah'
'istajte'
'istaje'
'istaju' (<-'istaj')
'ostajasmo'
'ostajaste'
'ostajahu'
'ostajati'
'ostajemo'
'ostajete'
'ostaja{sv}e'
'ostajali'
'ostaju{c'}i'
'ostajala'
'ostajalo'
'ostajale'
'ostajmo'
'ostajao'
'ostajem'
'ostaje{sv}'
'ostajat'
'ostajah'
'ostajte'
'ostaje'
'ostaju' (<-'ostaj')
'alama'
'alima'
'alom'
'alu'
'al' (<-'a')
'ajevima'
'ajevi'
'ajeva'
'ajeve'
'ajama'
'ajima'
'aja'
'aji' (<-'aj')
'astadosmo'
'astadoste'
'astado{sv}e'
'astanemo'
'astademo'
'astanete'
'astadete'
'astanimo'
'astanite'
'astanila'
'astav{sv}i'
'astanem'
'astadem'
'astane{sv}'
'astade{sv}'
'astadoh'
'astade'
'astati'
'astane'
'astanu'
'astadu'
'astala'
'astali'
'astalo'
'astale'
'astat'
'astao' (<-'asta')
'istadosmo'
'istadoste'
'istado{sv}e'
'istanemo'
'istademo'
'istanete'
'istadete'
'istanimo'
'istanite'
'istanila'
'istav{sv}i'
'istanem'
'istadem'
'istane{sv}'
'istade{sv}'
'istadoh'
'istade'
'istati'
'istane'
'istanu'
'istadu'
'istala'
'istali'
'istalo'
'istale'
'istat'
'istao' (<-'ista')
'ostadosmo'
'ostadoste'
'ostado{sv}e'
'ostanemo'
'ostademo'
'ostanete'
'ostadete'
'ostanimo'
'ostanite'
'ostanila'
'ostav{sv}i'
'ostanem'
'ostadem'
'ostane{sv}'
'ostade{sv}'
'ostadoh'
'ostade'
'ostati'
'ostane'
'ostanu'
'ostadu'
'ostala'
'ostali'
'ostalo'
'ostale'
'ostat'
'ostao' (<-'osta')
'tasmo'
'taste'
'tajmo'
'tajte'
'tav{sv}i'
'tati'
'tamo'
'tate'
'taju'
'tala'
'talo'
'tale'
'tali'
'tana'
'tano'
'tani'
'tane'
'tan'
'taj'
'tao'
'tam'
'ta{sv}'
'tat'
'tah' (<-'ta')
'injasmo'
'injaste'
'injati'
'injemo'
'injete'
'injali'
'injala'
'injalo'
'injale'
'inja{sv}e'
'injahu'
'injem'
'inje{sv}'
'injat'
'injah'
'injao' (<-'inj')
'astemo'
'astete'
'astimo'
'astite'
'astu{c'}i'
'aste{sv}'
'asli'
'asla'
'aslo'
'asle' (<-'as')
'iv{sv}i'
'ie{c'}i'
'ismo'
'imo'
'ite'
'iti'
'ili'
'ila'
'ilo'
'ile'
'im'
'i{sv}'
'it'
'ih'
'io' (<-'i')
'ijemo'
'ijete'
'ijem'
'ije{sv}'
'ijmo'
'ijte'
'iju'
'ije'
'ij'
'ilu' (<-'i')
'lu{cv}ujete'
'lu{cv}uju{c'}i'
'lu{cv}ujemo'
'lu{cv}ujem'
'lu{cv}uje{sv}'
'lu{cv}ismo'
'lu{cv}iste'
'lu{cv}ujmo'
'lu{cv}ujte'
'lu{cv}uje'
'lu{cv}uju'
'lu{cv}i{sv}e'
'lu{cv}iti'
'lu{cv}imo'
'lu{cv}ite'
'lu{cv}ila'
'lu{cv}ilo'
'lu{cv}ili'
'lu{cv}ile'
'lu{cv}ena'
'lu{cv}eno'
'lu{cv}eni'
'lu{cv}ene'
'lu{cv}uj'
'lu{cv}io'
'lu{cv}en'
'lu{cv}im'
'lu{cv}i{sv}'
'lu{cv}it'
'lu{cv}ih'
'lu{cv}e'
'lu{cv}i' (<-'lu{cv}')
'jetismo'
'jetiste'
'jeti{sv}e'
'jetimo'
'jetite'
'jetiti'
'jetili'
'jetila'
'jetilo'
'jetile'
'jetim'
'jeti{sv}'
'jetit'
'jetih'
'jetio' (<-'jeti')
'emo'
'em'
'e{sv}'
'elama'
'el' (<-'e')
'ilama'
'ilima'
'ilom'
'il' (<-'i')
'atijega'
'atijemu'
'atijima'
'atijeg'
'atijem'
'atega'
'atemu'
'ateg'
'atem'
'atijih'
'atijim'
'atima'
'atoga'
'atome'
'atomu'
'atiji'
'atije'
'atija'
'atiju'
'atoj'
'atog'
'atom'
'atim'
'atih'
'ata'
'atu'
'ato' (<-'at')
'etav{sv}i'
'etu{c'}i'
'etemo'
'etimo'
'etem'
'ete{sv}' (<-'et')
'lucujuci'
'lucujemo'
'lucujete'
'lucujem'
'lucujes'
'lucujmo'
'lucujte'
'lucismo'
'luciste'
'luciti'
'lucite'
'lucise'
'lucuje'
'lucuju'
'lucila'
'lucile'
'lucili'
'lucilo'
'lucena'
'luceni'
'lucene'
'luceno'
'lucimo'
'lucim'
'lucis'
'lucih'
'lucit'
'lucio'
'lucuj'
'lucen'
'luce'
'luci' (no_diacritics <-'luc')
'snjijima'
'snjijemu'
'snjijega'
'snjijim'
'snjijih'
'snjijeg'
'snjijoj'
'snjiji'
'snjija'
'snjije'
'snjiju'
'snjima'
'snjemu'
'snjomu'
'snjome'
'snjega'
'snjoga'
'snjih'
'snjim'
'snjem'
'snjom'
'snjeg'
'snjog'
'snjoj'
'snja'
'snje'
'snji'
'snjo'
'snju' (no_diacritics <-'snj')
'osijima'
'osijemu'
'osijega'
'snjijem'
'osijih'
'osijim'
'osijem'
'osijeg'
'osijoj'
'osima'
'osemu'
'osomu'
'osome'
'osega'
'osoga'
'osija'
'osije'
'osiji'
'osiju'
'osih'
'osim'
'osem'
'osom'
'oseg'
'osog'
'osoj'
'osa'
'ose'
'osi'
'osu' (no_diacritics <-'os')
'acismo'
'aciste'
'acima'
'acimo'
'acome'
'acomu'
'acite'
'aciti'
'acise'
'acila'
'acile'
'acili'
'acilo'
'acega'
'acene'
'aceci'
'aceni'
'acemu'
'acena'
'aceno'
'acoga'
'acoj'
'acih'
'acem'
'acom'
'acen'
'acog'
'acit'
'acio'
'aceg'
'acim'
'acuh'
'acis'
'ace'
'aca'
'aci' (no_diacritics <-'ac')
'ecome'
'ecoga'
'ecemu'
'ecima'
'ecega'
'ecomu'
'ecoj'
'ecuh'
'ecom'
'ecog'
'eceg'
'ecih'
'ecem'
'ecim'
'eca'
'ece' (no_diacritics <-'ec')
'ucomu'
'ucome'
'ucima'
'ucoga'
'ucega'
'ucemu'
'ucih'
'ucog'
'uceg'
'ucom'
'ucem'
'ucim'
'ucuh'
'ucoj'
'uca'
'uce' (no_diacritics <-'uc')
'rosismo'
'rosivsi'
'rosiste'
'rositi'
'rosili'
'rosise'
'rosite'
'rosilo'
'rosimo'
'rosile'
'rosila'
'rosit'
'rosis'
'rosio'
'rosim'
'rosih' (no_diacritics <-'rosi')
'acavsi'
'acaste'
'acasmo'
'acaju'
'acane'
'acate'
'acali'
'acani'
'acati'
'acale'
'acahu'
'acase'
'acano'
'acamo'
'acalo'
'acana'
'acala'
'acam'
'acan'
'acao'
'acas'
'acat'
'acah' (no_diacritics <-'aca')
'jasima'
'jasama'
'jasem'
'jasom'
'jase'
'jasi'
'jasa'
'jasu' (no_diacritics <-'jas')
'tasima'
'tasama'
'tasem'
'tasom'
'tase'
'tasa'
'tasu'
'tasi' (no_diacritics <-'tas')
'gasima'
'gasama'
'gasem'
'gasom'
'gasi'
'gasu'
'gase'
'gasa' (no_diacritics <-'gas')
'nasama'
'nasima'
'nasem'
'nasom'
'nasu'
'nasi'
'nase'
'nasa' (no_diacritics <-'nas')
'kasama'
'kasima'
'kasom'
'kasem'
'kasi'
'kasu'
'kase'
'kasa' (no_diacritics <-'kas')
'vasama'
'vasima'
'vasom'
'vasem'
'vasi'
'vase'
'vasa'
'vasu' (no_diacritics <-'vas')
'basama'
'basima'
'basom'
'basem'
'basi'
'base'
'basu'
'basa' (no_diacritics <-'bas')
'astuci'
'astes' (no_diacritics <-'as')
'cinima'
'cinome'
'cinama'
'cinomu'
'cinoga'
'cinom'
'cinih'
'cinim'
'cinog'
'cinoj'
'cino'
'cini'
'cinu'
'cine'
'cina' (no_diacritics <-'cin')
'astajase'
'astajuci'
'astajes' (no_diacritics <-'astaj')
'istajase'
'istajuci'
'istajes' (no_diacritics <-'istaj')
'ostajase'
'ostajuci'
'ostajes' (no_diacritics <-'ostaj')
'astadose'
'astades'
'astanes'
'astavsi' (no_diacritics <-'asta')
'istadose'
'istades'
'istanes'
'istavsi' (no_diacritics <-'ista')
'ostadose'
'ostades'
'ostanes'
'ostavsi' (no_diacritics <-'osta')
'avajuci'
'avase'
'avas' (no_diacritics <-'ava')
'evajuci'
'evase'
'evas' (no_diacritics <-'eva')
'ivajuci'
'ivase'
'ivas' (no_diacritics <-'iva')
'uvajuci'
'uvase'
'uvas' (no_diacritics <-'uva')
'ovase' (no_diacritics <-'ova')
'jetise'
'jetis' (no_diacritics <-'jeti')
'injase'
'injes' (no_diacritics <-'inj')
'istem' (no_diacritics <-'ist')
'esama'
'esem'
'esi' (no_diacritics <-'es')
'etavsi'
'etuci'
'etes' (no_diacritics <-'et')
'isama'
'isem'
'isi' (no_diacritics <-'is')
'irajuci'
'irujuci'
'irujes'
'iravsi'
'irase'
'iras' (no_diacritics <-'ir')
'urajuci'
'urase'
'uras' (no_diacritics <-'ur')
'ujuci'
'ujes' (no_diacritics <-'uj')
'nivsi'
'nis' (no_diacritics <-'ni')
'snega'
'snemu'
'snem'
'sneg' (no_diacritics <-'sn')
'tavsi'
'tas' (no_diacritics <-'ta')
'ajuci'
'avsi'
'ase'
'as' (no_diacritics <-'a')
'ijes'
'ivsi'
'ieci'
'is' (no_diacritics <-'i')
'es' (no_diacritics <-'e')
'nuvsi'
'nuci'
'nes' (no_diacritics <-'n')
)
)
define Step_3 as (
[substring] R1 among (
'enom'
'enoj'
'enog'
'enim'
'enih'
'anoj'
'anog'
'anim'
'anih'
'ost'
'eno'
'eni'
'oga'
'ima'
'enu'
'ena'
'ama'
'ano'
'ani'
'om'
'og'
'u'
'o'
'i'
'e'
'a' (<-'')
)
)
)
define stem as (
do cyr_to_lat
do prelude
do mark_regions
backwards (
do Step_1
do (Step_2 or Step_3)
)
)