Packages

Pre-compiled Snowball stemmers for Elixir. Ships 36 stemming algorithms covering a wide range of natural languages, accessible through a single `Text.Stemmer.stem/2` entry point.

Current section

Files

Jump to
text_stemmer src algorithms serbian.sbl
Raw

src/algorithms/serbian.sbl

/* 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
*/
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)
)
)