diff --git a/build.gradle b/build.gradle index 1af14b86ddc..1661ac218ce 100644 --- a/build.gradle +++ b/build.gradle @@ -85,6 +85,7 @@ apply from: file('gradle/validation/owasp-dependency-check.gradle') apply from: file('gradle/generation/jflex.gradle') apply from: file('gradle/generation/javacc.gradle') apply from: file('gradle/generation/util.gradle') +apply from: file('gradle/generation/snowball.gradle') // Additional development aids. apply from: file('gradle/maven/maven-local.gradle') diff --git a/gradle/generation/snowball.gradle b/gradle/generation/snowball.gradle new file mode 100644 index 00000000000..a7836231ceb --- /dev/null +++ b/gradle/generation/snowball.gradle @@ -0,0 +1,108 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +apply plugin: "de.undercouch.download" + +configure(rootProject) { + task snowball() { + description "Regenerate snowball-based sources, stopwords, and tests for ...lucene/analysis." + group "generation" + + dependsOn ":lucene:analysis:common:snowballGen" + } +} + +configure(project(":lucene:analysis:common")) { + ext { + // git commit hash of source code https://github.com/snowballstem/snowball/ + snowballStemmerCommit = "53739a805cfa6c77ff8496dc711dc1c106d987c1" + // git commit hash of stopwords https://github.com/snowballstem/snowball-website + snowballWebsiteCommit = "ff891e74f08e7315523ee3c0cad55bb1b7831b9d" + // git commit hash of test data https://github.com/snowballstem/snowball-data + snowballDataCommit = "9145f8732ec952c8a3d1066be251da198a8bc792" + + snowballWorkDir = file("${buildDir}/snowball") + + snowballStemmerDir = file("${snowballWorkDir}/stemmers-${snowballStemmerCommit}") + snowballWebsiteDir = file("${snowballWorkDir}/website-${snowballWebsiteCommit}") + snowballDataDir = file("${snowballWorkDir}/data-${snowballDataCommit}") + + snowballPatchFile = rootProject.file("gradle/generation/snowball.patch") + snowballScript = rootProject.file("gradle/generation/snowball.sh") + } + + // downloads snowball stemmers (or use cached copy) + task downloadSnowballStemmers(type: Download) { + inputs.file(snowballPatchFile) + src "https://github.com/snowballstem/snowball/archive/${snowballStemmerCommit}.zip" + def snowballStemmerZip = file("${snowballStemmerDir}.zip") + dest snowballStemmerZip + overwrite false + tempAndMove true + + doLast { + ant.unzip(src: snowballStemmerZip, dest: snowballStemmerDir, overwrite: "true") { + ant.cutdirsmapper(dirs: "1") + } + ant.patch(patchfile: snowballPatchFile, dir: snowballStemmerDir, strip: "1") + } + } + + // downloads snowball website (or use cached copy) + task downloadSnowballWebsite(type: Download) { + src "https://github.com/snowballstem/snowball-website/archive/${snowballWebsiteCommit}.zip" + def snowballWebsiteZip = file("${snowballWebsiteDir}.zip") + dest snowballWebsiteZip + overwrite false + tempAndMove true + + doLast { + ant.unzip(src: snowballWebsiteZip, dest: snowballWebsiteDir, overwrite: "true") { + ant.cutdirsmapper(dirs: "1") + } + } + } + + // downloads snowball test data (or use cached copy) + task downloadSnowballData(type: Download) { + src "https://github.com/snowballstem/snowball-data/archive/${snowballDataCommit}.zip" + def snowballDataZip = file("${snowballDataDir}.zip") + dest snowballDataZip + overwrite false + tempAndMove true + + doLast { + ant.unzip(src: snowballDataZip, dest: snowballDataDir, overwrite: "true") { + ant.cutdirsmapper(dirs: "1") + } + } + } + + // runs shell script to regenerate stemmers, base stemming subclasses, test data, and stopwords. + task snowballGen() { + dependsOn downloadSnowballStemmers + dependsOn downloadSnowballWebsite + dependsOn downloadSnowballData + + doLast { + project.exec { + executable "bash" + args = [snowballScript, snowballStemmerDir, snowballWebsiteDir, snowballDataDir, projectDir] + } + } + } +} diff --git a/gradle/generation/snowball.patch b/gradle/generation/snowball.patch new file mode 100644 index 00000000000..dc62267f338 --- /dev/null +++ b/gradle/generation/snowball.patch @@ -0,0 +1,1048 @@ +diff --git a/algorithms/armenian.sbl b/algorithms/armenian.sbl +new file mode 100644 +index 0000000..3a9a926 +--- /dev/null ++++ b/algorithms/armenian.sbl +@@ -0,0 +1,301 @@ ++stringescapes {} ++ ++stringdef a '{U+0561}' // 531 ++stringdef b '{U+0562}' // 532 ++stringdef g '{U+0563}' // 533 ++stringdef d '{U+0564}' // 534 ++stringdef ye '{U+0565}' // 535 ++stringdef z '{U+0566}' // 536 ++stringdef e '{U+0567}' // 537 ++stringdef y '{U+0568}' // 538 ++stringdef dt '{U+0569}' // 539 ++stringdef zh '{U+056A}' // 53A ++stringdef i '{U+056B}' // 53B ++stringdef l '{U+056C}' // 53C ++stringdef kh '{U+056D}' // 53D ++stringdef ts '{U+056E}' // 53E ++stringdef k '{U+056F}' // 53F ++stringdef h '{U+0570}' // 540 ++stringdef dz '{U+0571}' // 541 ++stringdef gh '{U+0572}' // 542 ++stringdef djch '{U+0573}' // 543 ++stringdef m '{U+0574}' // 544 ++stringdef j '{U+0575}' // 545 ++stringdef n '{U+0576}' // 546 ++stringdef sh '{U+0577}' // 547 ++stringdef vo '{U+0578}' // 548 ++stringdef ch '{U+0579}' // 549 ++stringdef p '{U+057A}' // 54A ++stringdef dj '{U+057B}' // 54B ++stringdef r '{U+057C}' // 54C ++stringdef s '{U+057D}' // 54D ++stringdef v '{U+057E}' // 54E ++stringdef t '{U+057F}' // 54F ++stringdef r' '{U+0580}' // 550 ++stringdef c '{U+0581}' // 551 ++stringdef u '{U+0582}' // 552 //vjun ++stringdef bp '{U+0583}' // 553 ++stringdef q '{U+0584}' // 554 ++stringdef ev '{U+0587}' ++stringdef o '{U+0585}' // 555 ++stringdef f '{U+0586}' // 556 ++ ++routines ( mark_regions R2 ++ adjective ++ verb ++ noun ++ ending ++) ++ ++externals ( stem ) ++ ++integers ( pV p2 ) ++ ++groupings ( v ) ++ ++define v '{a}{e}{i}{o}{u}{ye}{vo}{y}' ++ ++define mark_regions as ( ++ ++ $pV = limit ++ $p2 = limit ++ do ( ++ gopast v setmark pV gopast non-v ++ gopast v gopast non-v setmark p2 ++ ) ++) ++ ++backwardmode ( ++ ++ define R2 as $p2 <= cursor ++ ++ define adjective as ( ++ [substring] among ( ++ '{b}{a}{r'}' ++ '{p}{ye}{s}' ++ '{vo}{r'}{e}{n}' ++ '{vo}{v}{i}{n}' ++ '{a}{k}{i}' ++ '{l}{a}{j}{n}' ++ '{r'}{vo}{r'}{d}' ++ '{ye}{r'}{vo}{r'}{d}' ++ '{a}{k}{a}{n}' ++ '{a}{l}{i}' ++ '{k}{vo}{t}' ++ '{ye}{k}{ye}{n}' ++ '{vo}{r'}{a}{k}' ++ '{ye}{gh}' ++ '{v}{vo}{u}{n}' ++ '{ye}{r'}{ye}{n}' ++ '{a}{r'}{a}{n}' ++ '{ye}{n}' ++ '{a}{v}{ye}{t}' ++ '{g}{i}{n}' ++ '{i}{v}' ++ '{a}{t}' ++ '{i}{n}' ++ ++ (delete) ++ ) ++ ) ++ ++ define verb as ( ++ [substring] among ( ++ '{vo}{u}{m}' ++ '{v}{vo}{u}{m}' ++ '{a}{l}{vo}{u}' ++ '{ye}{l}{vo}{u}' ++ '{v}{ye}{l}' ++ '{a}{n}{a}{l}' ++ '{ye}{l}{vo}{u}{c}' ++ '{a}{l}{vo}{u}{c}' ++ '{y}{a}{l}' ++ '{y}{ye}{l}' ++ '{a}{l}{vo}{v}' ++ '{ye}{l}{vo}{v}' ++ '{a}{l}{i}{s}' ++ '{ye}{l}{i}{s}' ++ '{ye}{n}{a}{l}' ++ '{a}{c}{n}{a}{l}' ++ '{ye}{c}{n}{ye}{l}' ++ '{c}{n}{ye}{l}' ++ '{n}{ye}{l}' ++ '{a}{t}{ye}{l}' ++ '{vo}{t}{ye}{l}' ++ '{k}{vo}{t}{ye}{l}' ++ '{t}{ye}{l}' ++ '{v}{a}{ts}' ++ '{ye}{c}{v}{ye}{l}' ++ '{a}{c}{v}{ye}{l}' ++ '{ye}{c}{i}{r'}' ++ '{a}{c}{i}{r'}' ++ '{ye}{c}{i}{n}{q}' ++ '{a}{c}{i}{n}{q}' ++ '{v}{ye}{c}{i}{r'}' ++ '{v}{ye}{c}{i}{n}{q}' ++ '{v}{ye}{c}{i}{q}' ++ '{v}{ye}{c}{i}{n}' ++ '{a}{c}{r'}{i}{r'}' ++ '{a}{c}{r'}{ye}{c}' ++ '{a}{c}{r'}{i}{n}{q}' ++ '{a}{c}{r'}{i}{q}' ++ '{a}{c}{r'}{i}{n}' ++ '{ye}{c}{i}{q}' ++ '{a}{c}{i}{q}' ++ '{ye}{c}{i}{n}' ++ '{a}{c}{i}{n}' ++ '{a}{c}{a}{r'}' ++ '{a}{c}{a}{v}' ++ '{a}{c}{a}{n}{q}' ++ '{a}{c}{a}{q}' ++ '{a}{c}{a}{n}' ++ '{v}{ye}{c}{i}' ++ '{a}{c}{r'}{i}' ++ '{ye}{c}{a}{r'}' ++ '{ye}{c}{a}{v}' ++ '{c}{a}{n}{q}' ++ '{c}{a}{q}' ++ '{c}{a}{n}' ++ '{a}{c}{a}' ++ '{a}{c}{i}' ++ '{ye}{c}{a}' ++ '{ch}{ye}{l}' ++ '{ye}{c}{i}' ++ '{a}{r'}' ++ '{a}{v}' ++ '{a}{n}{q}' ++ '{a}{q}' ++ '{a}{n}' ++ '{a}{l}' ++ '{ye}{l}' ++ '{ye}{c}' ++ '{a}{c}' ++ '{v}{ye}' ++ '{a}' ++ ++ (delete) ++ ) ++ ) ++ ++ define noun as ( ++ [substring] among ( ++ '{a}{ts}{vo}' ++ '{a}{n}{a}{k}' ++ '{a}{n}{o}{c}' ++ '{a}{r'}{a}{n}' ++ '{a}{r'}{q}' ++ '{p}{a}{n}' ++ '{s}{t}{a}{n}' ++ '{ye}{gh}{e}{n}' ++ '{ye}{n}{q}' ++ '{i}{k}' ++ '{i}{ch}' ++ '{i}{q}' ++ '{m}{vo}{u}{n}{q}' ++ '{j}{a}{k}' ++ '{j}{vo}{u}{n}' ++ '{vo}{n}{q}' ++ '{vo}{r'}{d}' ++ '{vo}{c}' ++ '{ch}{ye}{q}' ++ '{v}{a}{ts}{q}' ++ '{v}{vo}{r'}' ++ '{a}{v}{vo}{r'}' ++ '{vo}{u}{dt}{j}{vo}{u}{n}' ++ '{vo}{u}{k}' ++ '{vo}{u}{h}{i}' ++ '{vo}{u}{j}{dt}' ++ '{vo}{u}{j}{q}' ++ '{vo}{u}{s}{t}' ++ '{vo}{u}{s}' ++ '{c}{i}' ++ '{a}{l}{i}{q}' ++ '{a}{n}{i}{q}' ++ '{i}{l}' ++ '{i}{ch}{q}' ++ '{vo}{u}{n}{q}' ++ '{g}{a}{r'}' ++ '{vo}{u}' ++ '{a}{k}' ++ '{a}{n}' ++ '{q}' ++ ++ (delete) ++ ) ++ ) ++ ++ define ending as ( ++ [substring] R2 among ( ++ '{n}{ye}{r'}{y}' ++ '{n}{ye}{r'}{n}' ++ '{n}{ye}{r'}{i}' ++ '{n}{ye}{r'}{d}' ++ '{ye}{r'}{i}{c}' ++ '{n}{ye}{r'}{i}{c}' ++ '{ye}{r'}{i}' ++ '{ye}{r'}{d}' ++ '{ye}{r'}{n}' ++ '{ye}{r'}{y}' ++ '{n}{ye}{r'}{i}{n}' ++ '{vo}{u}{dt}{j}{a}{n}{n}' ++ '{vo}{u}{dt}{j}{a}{n}{y}' ++ '{vo}{u}{dt}{j}{a}{n}{s}' ++ '{vo}{u}{dt}{j}{a}{n}{d}' ++ '{vo}{u}{dt}{j}{a}{n}' ++ '{ye}{r'}{i}{n}' ++ '{i}{n}' ++ '{s}{a}' ++ '{vo}{dj}' ++ '{i}{c}' ++ '{ye}{r'}{vo}{v}' ++ '{n}{ye}{r'}{vo}{v}' ++ '{ye}{r'}{vo}{u}{m}' ++ '{n}{ye}{r'}{vo}{u}{m}' ++ '{vo}{u}{n}' ++ '{vo}{u}{d}' ++ '{v}{a}{n}{s}' ++ '{v}{a}{n}{y}' ++ '{v}{a}{n}{d}' ++ '{a}{n}{y}' ++ '{a}{n}{d}' ++ '{v}{a}{n}' ++ '{vo}{dj}{y}' ++ '{vo}{dj}{s}' ++ '{vo}{dj}{d}' ++ '{vo}{c}' ++ '{vo}{u}{c}' ++ '{vo}{dj}{i}{c}' ++ '{c}{i}{c}' ++ '{v}{i}{c}' ++ '{v}{i}' ++ '{v}{vo}{v}' ++ '{vo}{v}' ++ '{a}{n}{vo}{v}' ++ '{a}{n}{vo}{u}{m}' ++ '{v}{a}{n}{i}{c}' ++ '{a}{m}{b}' ++ '{a}{n}' ++ '{n}{ye}{r'}' ++ '{ye}{r'}' ++ '{v}{a}' ++ '{y}' ++ '{n}' ++ '{d}' ++ '{c}' ++ '{i}' ++ ++ (delete) ++ ) ++ ) ++) ++ ++define stem as ( ++ ++ do mark_regions ++ backwards setlimit tomark pV for ( ++ do ending ++ do verb ++ do adjective ++ do noun ++ ) ++) +diff --git a/algorithms/estonian.sbl b/algorithms/estonian.sbl +new file mode 100644 +index 0000000..0cc2b60 +--- /dev/null ++++ b/algorithms/estonian.sbl +@@ -0,0 +1,258 @@ ++/* Estonian stemmer version 1.3 ++ ++Made by Linda Freienthal in January 2019. ++ ++*/ ++ ++routines ( ++ mark_regions ++ LONGV ++ special_noun_endings ++ case_ending ++ emphasis ++ plural_three_first_cases ++ remove_double_kpt ++ double ++ undouble ++ i_plural ++ degrees ++ substantive ++ verb_exceptions ++ verb ++ nu ++) ++ ++stringescapes {} ++stringdef a" '{U+00E4}' //a-umlaut ä ++stringdef o" '{U+00F6}' //o-umlaut ö ++stringdef o' '{U+00F5}' //o with tilde õ ++stringdef u" '{U+00FC}' //u-umlaut ü ++stringdef s" '{U+0161}' //s with caron š ++stringdef z" '{U+017E}' //z with caron ž ++ ++externals ( stem ) ++booleans ( is_verb ) ++integers ( p1 ) ++groupings ( V1 RV KI GI) ++ ++define V1 'aeiou{o'}{a"}{o"}{u"}' ++define RV 'aeiuo' ++define KI 'kptgbdshf{s"}z{z"}' ++define GI 'cjlmnqrvwxaeiou{o'}{a"}{o"}{u"}' ++define mark_regions as ( ++ ++ $p1 = limit ++ ++ goto V1 gopast non-V1 setmark p1 ++) ++ ++ ++backwardmode ( ++ ++ define emphasis as ( ++ setlimit tomark p1 for ([substring]) ++ test hop 4 //kingi -> kingi ++ among( ++ 'gi' ((GI and not LONGV) delete) //jooksemegi -> jookseme, bioloogi -> bioloogi ++ 'ki' (KI delete) //kookki -> kook ++ ) ++ ++ ) ++ ++ define verb as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'nuksin' 'nuksime' 'nuksid' 'nuksite' (delete) //seleta-nuksite ++ 'ksin' 'ksid' 'ksime' 'ksite' (delete) //personal conditional: rõõmusta-ksin ++ 'mata' (delete) ++ 'takse' 'dakse' (delete) //impersonal: laul-dakse, luba-takse ++ 'taks' 'daks' (delete) //impersonal conditional: laul-daks, saade-taks ++ 'akse' (<-'a') //impersonal: tulla-kse, süüa-kse, teha-kse, püüt-akse, leita-kse ++ 'sime' (delete) //pl1pst: saat-sime ++ 'site' (delete) //pl2pst: saat-site ++ 'sin' (delete) //sg1pst: laul-sin, saat-sin ++ 'me' (V1 delete) //pl1prs: laula-me, tule-me ++ 'da' (V1 delete) //da-infinitive: luba-da ++ 'n' (V1 delete) //sg1prs: kirjuta-n ++ 'b' (V1 delete) //sg3prs: laula-b ++ ) ++ set is_verb ++ ) ++ ++ define LONGV as ++ among('aa' 'ee' 'ii' 'oo' 'uu' '{a"}{a"}' '{o"}{o"}' '{u"}{u"}' '{o'}{o'}') ++ ++ define i_plural as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'i' (RV) //raamatui -> raamatu, lapsikui -> lapsiku ++ ) ++ delete ++ ) ++ ++ define special_noun_endings as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'lasse' (<- 'lase') //teadlasse -> teadlase ++ 'last' (<- 'lase') //teadlast -> teadlase ++ 'lane' (<- 'lase') //teadlane -> teadlase ++ 'lasi'(<- 'lase') //teadlasi -> teadlase ++ 'misse' (<- 'mise') //tegemisse -> tegemise ++ 'mist' (<- 'mise') //kasutamist -> kasutamise ++ 'mine' (<- 'mise') //tegemine -> tegemise ++ 'misi' (<- 'mise') //kasutamisi -> kasutamise ++ 'lisse' (<- 'lise') //rohelisse -> rohelise ++ 'list' (<- 'lise') //tavalist -> tavalise ++ 'line' (<- 'lise') //roheline -> rohelise ++ 'lisi' (<- 'lise') //tavalisi -> tavalise ++ ) ++ ++ ) ++ define case_ending as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'sse' (RV or LONGV) //illative: saapa-sse, tegemisse -> tegemisse ++ 'st' (RV or LONGV) //elative: saapa-st, rohelist -> rohelist ++ 'le' (RV or LONGV) //allative: raamatu-le ++ 'lt' (RV or LONGV) //ablative: raamatu-lt ++ 'ga' (RV or LONGV) //komitatiive: õpetaja-ga ++ 'ks' (RV or LONGV) //translative: õpetaja-ks ++ 'ta' (RV or LONGV) //abessive and da-infinitive: õpetaja-ta and hüpa-ta ++ 't' //partitiiv, raamatu-t and kapsas-t ++ 's' (RV or LONGV)//inessive and sg3pst: raamatu-s and sõiti-s ++ 'l' (RV or LONGV) //adessive: raamatu-l and kapsa-l. ++ ) ++ delete ++ ) ++ ++ ++ define plural_three_first_cases as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'ikkude' (<-'iku') //plural genitive: õnnelikkude -> õnneliku ++ 'ikke' (<-'iku') //plural partitive: rahulikke -> rahuliku ++ 'ike' (<-'iku') //plural genitive: ohtlike -> ohtliku ++ 'sid' (not LONGV delete) //plural partitive and sg2pst and pl3pst: auto-sid and laul-sid (exludes plural nominative with words like gaasid, roosid) ++ 'te' ((test hop 4 (('mis' <- 'e') or ('las' <- 'e') or ('lis' <- 'e') or (not 't' delete))) or (not 't' <-'t')) //plural genitive and pl2: ministri-te, olulis-te and saada-te, laula-te; also torte -> tort (if not in compound word) and kokkuvõtte -> kokkuvõte and roheliste -> rohelise, tegemiste -> tegemise, teadlaste -> teadlase ++ 'de' ((RV or LONGV) delete) //plural genitive: lauda-de ++ 'd' ((RV or LONGV) delete) //plural nominative: voodid -> voodi, rattaid -> rattai, lapsikuid -> lapsiku ++ ) ++ ) ++ ++ define double as ( ++ test among('kk' 'tt' 'pp') ++ ) ++ ++ define undouble as ( ++ next [hop 1] delete ++ ) ++ ++ define nu as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'nu' //haka-nu(-te-ga) ++ 'tu' //luba-tu(-d) ++ 'du' //laul-du(-te-st) ++ 'va' //laul-va(-te-le) ++ ) ++ delete ++ ) ++ ++ define remove_double_kpt as (// undouble kpt consonant if 'C1C1V': mõtte(-le) -> mõte, hakka(-n) -> haka, haka(-nu-d) -> haka ++ (V1) (double) ++ and undouble ++ ) ++ ++ define degrees as ( ++ setlimit tomark p1 for ([substring]) ++ among( ++ 'mai' (RV delete) //heleda-mai(-le) ++ 'ma' (delete) //tugeva-ma(-le) and ma-infinitive: sõit-ma ++ 'm' (RV delete) //kauge-i-m, rõõmsa-m ++ ) ++ ) ++ ++ define substantive as ( ++ do special_noun_endings ++ do case_ending ++ do plural_three_first_cases ++ do degrees ++ do i_plural ++ do nu ++ ) ++) ++ ++ ++define verb_exceptions as ( ++ [substring] atlimit ++ among( ++ 'joon' 'jood' 'joob' 'joote' 'joome' 'joovad' (<-'joo') ++ 'j{o'}in' 'j{o'}id' 'j{o'}i' 'j{o'}ime' 'j{o'}ite' (<-'joo') ++ 'joomata' 'juuakse' 'joodakse' 'juua' 'jooma' (<- 'joo') ++ 'saan' 'saad' 'saab' 'saate' 'saame' 'saavad' (<-'saa') ++ 'saaksin' 'saaksid' 'saaks' 'saaksite' 'saaksime' (<-'saa') ++ 'sain' 'said' 'sai' 'saite' 'saime' (<-'saa') ++ 'saamata' 'saadakse' 'saadi' 'saama' 'saada' (<-'saa') ++ 'viin' 'viid' 'viib' 'viite' 'viime' 'viivad' (<-'viima') ++ 'viiksin' 'viiksid' 'viiks' 'viiksite' 'viiksime' (<-'viima') ++ 'viisin' 'viisite' 'viisime' (<-'viima') ++ 'viimata' 'viiakse' 'viidi' 'viima' 'viia' (<-'viima') ++ 'keen' 'keeb' 'keed' 'kees' 'keeme' 'keete' 'keevad' (<-'keesi') ++ 'keeksin' 'keeks' 'keeksid' 'keeksime' 'keeksite' (<-'keesi') ++ 'keemata' 'keema' 'keeta' 'keedakse' (<-'keesi') ++ 'l{o"}{o"}n' 'l{o"}{o"}d' 'l{o"}{o"}b' 'l{o"}{o"}me' 'l{o"}{o"}te' 'l{o"}{o"}vad' (<-'l{o"}{o"}') ++ 'l{o"}{o"}ksin' 'l{o"}{o"}ksid' 'l{o"}{o"}ks' 'l{o"}{o"}ksime' 'l{o"}{o"}ksite' (<-'l{o"}{o"}') ++ 'l{o"}{o"}mata' 'l{u"}{u"}akse' 'l{o"}{o"}dakse' 'l{o"}{o"}di' 'l{o"}{o"}ma' 'l{u"}{u"}a' (<-'l{o"}{o"}') ++ 'l{o'}in' 'l{o'}id' 'l{o'}i' 'l{o'}ime' 'l{o'}ite' (<-'l{o"}i') //looma-lõi, lööma-lõi ++ 'loon' 'lood' 'loob' 'loome' 'loote' 'loovad' (<-'loo') ++ 'looksin' 'looksid' 'looks' 'looksime' 'looksite' (<-'loo') ++ 'loomata' 'luuakse' 'loodi' 'luua' 'looma' (<-'loo') ++ 'k{a"}in' 'k{a"}ib' 'k{a"}id' 'k{a"}is' 'k{a"}ime' 'k{a"}ite' 'k{a"}ivad' (<-'k{a"}isi') ++ 'k{a"}iksin' 'k{a"}iks' 'k{a"}iksid' 'k{a"}iksime' 'k{a"}iksite' (<-'k{a"}isi') ++ 'k{a"}imata' 'k{a"}iakse' 'k{a"}idi' 'k{a"}ia' 'k{a"}ima' (<-'k{a"}isi') ++ 's{o"}{o"}n' 's{o"}{o"}b' 's{o"}{o"}d' 's{o"}{o"}me' 's{o"}{o"}te' 's{o"}{o"}vad' (<-'s{o"}{o"}') ++ 's{o"}{o"}ksin' 's{o"}{o"}ks' 's{o"}{o"}ksid' 's{o"}{o"}ksime' 's{o"}{o"}ksite' (<-'s{o"}{o"}') ++ 's{o'}in' 's{o'}i' 's{o'}id' 's{o'}ime' 's{o'}ite' (<-'s{o"}{o"}') ++ 's{o"}{o"}mata' 's{u"}{u"}akse' 's{o"}{o"}dakse' 's{o"}{o"}di' 's{o"}{o"}ma' 's{u"}{u"}a' (<-'s{o"}{o"}') ++ 'toon' 'tood' 'toob' 'toote' 'toome' 'toovad' (<-'too') ++ 'tooksin' 'tooksid' 'tooks' 'tooksite' 'tooksime' (<-'too') ++ 't{o'}in' 't{o'}id' 't{o'}i' 't{o'}ime' 't{o'}ite' (<-'too') ++ 'toomata' 'tuuakse' 'toodi' 'tooma' 'tuua' (<-'too') ++ 'v{o'}in' 'v{o'}id' 'v{o'}ib' 'v{o'}ime' 'v{o'}is' 'v{o'}ite' 'v{o'}ivad' (<-'v{o'}isi') ++ 'v{o'}iksin' 'v{o'}iksid' 'v{o'}iks' 'v{o'}iksime' 'v{o'}iksite' (<-'v{o'}isi') ++ 'v{o'}imata' 'v{o'}idakse' 'v{o'}idi' 'v{o'}ida' 'v{o'}ima' (<-'v{o'}isi') ++ 'j{a"}{a"}n' 'j{a"}{a"}d' 'j{a"}{a"}b' 'j{a"}{a"}me' 'j{a"}{a"}te' 'j{a"}{a"}vad' (<-'j{a"}{a"}ma') ++ 'j{a"}{a"}ksin' 'j{a"}{a"}ksid' 'j{a"}{a"}ks' 'j{a"}{a"}ksime' 'j{a"}{a"}ksite' (<-'j{a"}{a"}ma') ++ 'j{a"}ime' 'j{a"}ite' 'j{a"}in' 'j{a"}id' 'j{a"}i' (<-'j{a"}{a"}ma') ++ 'j{a"}{a"}mata' 'j{a"}{a"}dakse' 'j{a"}{a"}da' 'j{a"}{a"}ma' 'j{a"}{a"}di' (<-'j{a"}{a"}ma') ++ 'm{u"}{u"}n' 'm{u"}{u"}d' 'm{u"}{u"}b' 'm{u"}{u"}s' 'm{u"}{u"}me' 'm{u"}{u"}te' 'm{u"}{u"}vad' (<-'m{u"}{u"}si') ++ 'm{u"}{u"}ksin' 'm{u"}{u"}ksid' 'm{u"}{u"}ks' 'm{u"}{u"}ksime' 'm{u"}{u"}ksite' (<-'m{u"}{u"}si') ++ 'm{u"}{u"}mata' 'm{u"}{u"}akse' 'm{u"}{u"}di' 'm{u"}{u"}a' 'm{u"}{u"}ma' (<-'m{u"}{u"}si') ++ 'loeb' 'loen' 'loed' 'loeme' 'loete' 'loevad' (<- 'luge') ++ 'loeks' 'loeksin' 'loeksid' 'loeksime' 'loeksite' (<- 'luge') ++ 'p{o'}en' 'p{o'}eb' 'p{o'}ed' 'p{o'}eme' 'p{o'}ete' 'p{o'}evad' (<- 'p{o'}de') ++ 'p{o'}eksin' 'p{o'}eks' 'p{o'}eksid' 'p{o'}eksime' 'p{o'}eksite' (<- 'p{o'}de') ++ 'laon' 'laob' 'laod' 'laome' 'laote' 'laovad' (<- 'ladu') ++ 'laoksin' 'laoks' 'laoksid' 'laoksime' 'laoksite' (<- 'ladu') ++ 'teeksin' 'teeks' 'teeksid' 'teeksime' 'teeksite' (<- 'tegi') ++ 'teen' 'teeb' 'teed' 'teeme' 'teete' 'teevad' (<- 'tegi') ++ 'tegemata' 'tehakse' 'tehti' 'tegema' 'teha' (<-'tegi') ++ 'n{a"}en' 'n{a"}eb' 'n{a"}ed' 'n{a"}eme' 'n{a"}ete' 'n{a"}evad' (<-'n{a"}gi') ++ 'n{a"}eksin' 'n{a"}eks' 'n{a"}eksid' 'n{a"}eksime' 'n{a"}eksite' (<-'n{a"}gi') ++ 'n{a"}gemata' 'n{a"}hakse' 'n{a"}hti' 'n{a"}ha' 'n{a"}gema' (<-'n{a"}gi') ++ ) ++) ++ ++ ++define stem as ( ++ do mark_regions ++ not verb_exceptions ++ unset is_verb ++ backwards ( ++ do emphasis ++ do verb ++ try (not is_verb do substantive) ++ do remove_double_kpt ++ ++ ) ++) +diff --git a/compiler/generator_java.c b/compiler/generator_java.c +index 3a18db7..5909f87 100644 +--- a/compiler/generator_java.c ++++ b/compiler/generator_java.c +@@ -272,7 +272,7 @@ static void generate_AE(struct generator * g, struct node * p) { + break; + case c_len: /* Same as size() for Java. */ + case c_size: +- w(g, "current.length()"); ++ w(g, "limit"); + break; + } + } +@@ -1138,6 +1138,7 @@ static void generate_class_begin(struct generator * g) { + w(g, " {~+~N" + "~N" + "~Mprivate static final long serialVersionUID = 1L;~N" ++ "~Mprivate static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup();~N" + "~N"); + } + +@@ -1184,7 +1185,7 @@ static void generate_among_table(struct generator * g, struct among * x) { + if (v->function != 0) { + w(g, ", \""); + write_varname(g, v->function); +- w(g, "\", ~n.class"); ++ w(g, "\", methodObject"); + } + w(g, ")~S0~N"); + v++; +diff --git a/java/org/tartarus/snowball/Among.java b/java/org/tartarus/snowball/Among.java +index 8261503..abb8685 100644 +--- a/java/org/tartarus/snowball/Among.java ++++ b/java/org/tartarus/snowball/Among.java +@@ -1,7 +1,13 @@ + package org.tartarus.snowball; + +-import java.lang.reflect.Method; ++import java.lang.invoke.MethodHandle; ++import java.lang.invoke.MethodHandles; ++import java.lang.invoke.MethodType; ++import java.util.Locale; + ++/** ++ * Internal class used by Snowball stemmers ++ */ + public class Among { + public Among (String s, int substring_i, int result) { + this.s = s.toCharArray(); +@@ -11,19 +17,30 @@ public class Among { + } + + public Among (String s, int substring_i, int result, String methodname, +- Class extends SnowballProgram> programclass) { ++ MethodHandles.Lookup methodobject) { + this.s = s.toCharArray(); + this.substring_i = substring_i; + this.result = result; +- try { +- this.method = programclass.getDeclaredMethod(methodname); +- } catch (NoSuchMethodException e) { +- throw new RuntimeException(e); +- } ++ final Class extends SnowballProgram> clazz = methodobject.lookupClass().asSubclass(SnowballProgram.class); ++ if (methodname.length() > 0) { ++ try { ++ this.method = methodobject.findVirtual(clazz, methodname, MethodType.methodType(boolean.class)) ++ .asType(MethodType.methodType(boolean.class, SnowballProgram.class)); ++ } catch (NoSuchMethodException | IllegalAccessException e) { ++ throw new RuntimeException(String.format(Locale.ENGLISH, ++ "Snowball program '%s' is broken, cannot access method: boolean %s()", ++ clazz.getSimpleName(), methodname ++ ), e); ++ } ++ } else { ++ this.method = null; ++ } + } + +- public final char[] s; /* search string */ +- public final int substring_i; /* index to longest matching substring */ +- public final int result; /* result of the lookup */ +- public final Method method; /* method to use if substring matches */ ++ final char[] s; /* search string */ ++ final int substring_i; /* index to longest matching substring */ ++ final int result; /* result of the lookup */ ++ ++ // Make sure this is not accessible outside package for Java security reasons! ++ final MethodHandle method; /* method to use if substring matches */ + }; +diff --git a/java/org/tartarus/snowball/SnowballProgram.java b/java/org/tartarus/snowball/SnowballProgram.java +index 1b27b96..94f2d4b 100644 +--- a/java/org/tartarus/snowball/SnowballProgram.java ++++ b/java/org/tartarus/snowball/SnowballProgram.java +@@ -1,50 +1,84 @@ + + package org.tartarus.snowball; +-import java.lang.reflect.InvocationTargetException; ++import java.lang.reflect.UndeclaredThrowableException; + import java.io.Serializable; + ++/** ++ * Base class for a snowball stemmer ++ */ + public class SnowballProgram implements Serializable { + protected SnowballProgram() + { +- current = new StringBuilder(); +- init(); ++ current = new char[8]; ++ setCurrent(""); + } + + static final long serialVersionUID = 2016072500L; + +- private void init() { ++ /** ++ * Set the current string. ++ */ ++ public void setCurrent(String value) ++ { ++ current = value.toCharArray(); + cursor = 0; +- limit = current.length(); ++ limit = value.length(); + limit_backward = 0; + bra = cursor; + ket = limit; + } + + /** +- * Set the current string. ++ * Get the current string. + */ +- public void setCurrent(String value) ++ public String getCurrent() + { +- // Make a new StringBuilder. If we reuse the old one, and a user of +- // the library keeps a reference to the buffer returned (for example, +- // by converting it to a String in a way which doesn't force a copy), +- // the buffer size will not decrease, and we will risk wasting a large +- // amount of memory. +- // Thanks to Wolfram Esser for spotting this problem. +- current = new StringBuilder(value); +- init(); ++ return new String(current, 0, limit); + } + + /** +- * Get the current string. ++ * Set the current string. ++ * @param text character array containing input ++ * @param length valid length of text. + */ +- public String getCurrent() +- { +- return current.toString(); ++ public void setCurrent(char text[], int length) { ++ current = text; ++ cursor = 0; ++ limit = length; ++ limit_backward = 0; ++ bra = cursor; ++ ket = limit; ++ } ++ ++ /** ++ * Get the current buffer containing the stem. ++ *
++ * NOTE: this may be a reference to a different character array than the ++ * one originally provided with setCurrent, in the exceptional case that ++ * stemming produced a longer intermediate or result string. ++ *
++ *++ * It is necessary to use {@link #getCurrentBufferLength()} to determine ++ * the valid length of the returned buffer. For example, many words are ++ * stemmed simply by subtracting from the length to remove suffixes. ++ *
++ * @see #getCurrentBufferLength() ++ */ ++ public char[] getCurrentBuffer() { ++ return current; ++ } ++ ++ /** ++ * Get the valid length of the character array in ++ * {@link #getCurrentBuffer()}. ++ * @return valid length of the array. ++ */ ++ public int getCurrentBufferLength() { ++ return limit; + } + + // current string +- protected StringBuilder current; ++ private char current[]; + + protected int cursor; + protected int limit; +@@ -74,7 +108,7 @@ public class SnowballProgram implements Serializable { + protected boolean in_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; +- char ch = current.charAt(cursor); ++ char ch = current[cursor]; + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; +@@ -85,7 +119,7 @@ public class SnowballProgram implements Serializable { + protected boolean in_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; +- char ch = current.charAt(cursor - 1); ++ char ch = current[cursor - 1]; + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; +@@ -96,7 +130,7 @@ public class SnowballProgram implements Serializable { + protected boolean out_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; +- char ch = current.charAt(cursor); ++ char ch = current[cursor]; + if (ch > max || ch < min) { + cursor++; + return true; +@@ -112,7 +146,7 @@ public class SnowballProgram implements Serializable { + protected boolean out_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; +- char ch = current.charAt(cursor - 1); ++ char ch = current[cursor - 1]; + if (ch > max || ch < min) { + cursor--; + return true; +@@ -130,7 +164,7 @@ public class SnowballProgram implements Serializable { + if (limit - cursor < s.length()) return false; + int i; + for (i = 0; i != s.length(); i++) { +- if (current.charAt(cursor + i) != s.charAt(i)) return false; ++ if (current[cursor + i] != s.charAt(i)) return false; + } + cursor += s.length(); + return true; +@@ -141,7 +175,7 @@ public class SnowballProgram implements Serializable { + if (cursor - limit_backward < s.length()) return false; + int i; + for (i = 0; i != s.length(); i++) { +- if (current.charAt(cursor - s.length() + i) != s.charAt(i)) return false; ++ if (current[cursor - s.length() + i] != s.charAt(i)) return false; + } + cursor -= s.length(); + return true; +@@ -171,7 +205,7 @@ public class SnowballProgram implements Serializable { + diff = -1; + break; + } +- diff = current.charAt(c + common) - w.s[i2]; ++ diff = current[c + common] - w.s[i2]; + if (diff != 0) break; + common++; + } +@@ -199,16 +233,13 @@ public class SnowballProgram implements Serializable { + if (common_i >= w.s.length) { + cursor = c + w.s.length; + if (w.method == null) return w.result; +- boolean res; ++ boolean res = false; + try { +- Object resobj = w.method.invoke(this); +- res = resobj.toString().equals("true"); +- } catch (InvocationTargetException e) { +- res = false; +- // FIXME - debug message +- } catch (IllegalAccessException e) { +- res = false; +- // FIXME - debug message ++ res = (boolean) w.method.invokeExact(this); ++ } catch (Error | RuntimeException e) { ++ throw e; ++ } catch (Throwable e) { ++ throw new UndeclaredThrowableException(e); + } + cursor = c + w.s.length; + if (res) return w.result; +@@ -243,7 +274,7 @@ public class SnowballProgram implements Serializable { + diff = -1; + break; + } +- diff = current.charAt(c - 1 - common) - w.s[i2]; ++ diff = current[c - 1 - common] - w.s[i2]; + if (diff != 0) break; + common++; + } +@@ -267,16 +298,13 @@ public class SnowballProgram implements Serializable { + cursor = c - w.s.length; + if (w.method == null) return w.result; + +- boolean res; ++ boolean res = false; + try { +- Object resobj = w.method.invoke(this); +- res = resobj.toString().equals("true"); +- } catch (InvocationTargetException e) { +- res = false; +- // FIXME - debug message +- } catch (IllegalAccessException e) { +- res = false; +- // FIXME - debug message ++ res = (boolean) w.method.invokeExact(this); ++ } catch (Error | RuntimeException e) { ++ throw e; ++ } catch (Throwable e) { ++ throw new UndeclaredThrowableException(e); + } + cursor = c - w.s.length; + if (res) return w.result; +@@ -286,13 +314,41 @@ public class SnowballProgram implements Serializable { + } + } + ++ // mini version of ArrayUtil.oversize from lucene, specialized to chars ++ static int oversize(int minTargetSize) { ++ int extra = minTargetSize >> 3; ++ if (extra < 3) { ++ extra = 3; ++ } ++ int newSize = minTargetSize + extra; ++ return (newSize + 3) & 0x7ffffffc; ++ } ++ + /* to replace chars between c_bra and c_ket in current by the + * chars in s. + */ +- protected int replace_s(int c_bra, int c_ket, String s) ++ protected int replace_s(int c_bra, int c_ket, CharSequence s) + { +- int adjustment = s.length() - (c_ket - c_bra); +- current.replace(c_bra, c_ket, s); ++ final int adjustment = s.length() - (c_ket - c_bra); ++ final int newLength = limit + adjustment; ++ //resize if necessary ++ if (newLength > current.length) { ++ char newBuffer[] = new char[oversize(newLength)]; ++ System.arraycopy(current, 0, newBuffer, 0, limit); ++ current = newBuffer; ++ } ++ // if the substring being replaced is longer or shorter than the ++ // replacement, need to shift things around ++ if (adjustment != 0 && c_ket < limit) { ++ System.arraycopy(current, c_ket, current, c_bra + s.length(), ++ limit - c_ket); ++ } ++ // insert the replacement text ++ // Note, faster is s.getChars(0, s.length(), current, c_bra); ++ // but would have to duplicate this method for both String and StringBuilder ++ for (int i = 0; i < s.length(); i++) ++ current[c_bra + i] = s.charAt(i); ++ + limit += adjustment; + if (cursor >= c_ket) cursor += adjustment; + else if (cursor > c_bra) cursor = c_bra; +@@ -303,57 +359,43 @@ public class SnowballProgram implements Serializable { + { + if (bra < 0 || + bra > ket || +- ket > limit || +- limit > current.length()) // this line could be removed ++ ket > limit) + { +- System.err.println("faulty slice operation"); +- // FIXME: report error somehow. +- /* +- fprintf(stderr, "faulty slice operation:\n"); +- debug(z, -1, 0); +- exit(1); +- */ ++ throw new IllegalArgumentException("faulty slice operation: bra=" + bra + ",ket=" + ket + ",limit=" + limit); + } + } + +- protected void slice_from(String s) ++ protected void slice_from(CharSequence s) + { + slice_check(); + replace_s(bra, ket, s); + } + +- protected void slice_from(CharSequence s) +- { +- slice_from(s.toString()); +- } +- + protected void slice_del() + { + slice_from(""); + } + +- protected void insert(int c_bra, int c_ket, String s) ++ protected void insert(int c_bra, int c_ket, CharSequence s) + { + int adjustment = replace_s(c_bra, c_ket, s); + if (c_bra <= bra) bra += adjustment; + if (c_bra <= ket) ket += adjustment; + } + +- protected void insert(int c_bra, int c_ket, CharSequence s) +- { +- insert(c_bra, c_ket, s.toString()); +- } +- + /* Copy the slice into the supplied StringBuilder */ + protected void slice_to(StringBuilder s) + { + slice_check(); +- s.replace(0, s.length(), current.substring(bra, ket)); ++ int len = ket - bra; ++ s.setLength(0); ++ s.append(current, bra, len); + } + + protected void assign_to(StringBuilder s) + { +- s.replace(0, s.length(), current.substring(0, limit)); ++ s.setLength(0); ++ s.append(current, 0, limit); + } + + /* +diff --git a/java/org/tartarus/snowball/SnowballStemmer.java b/java/org/tartarus/snowball/SnowballStemmer.java +index 73a81a9..f7772d3 100644 +--- a/java/org/tartarus/snowball/SnowballStemmer.java ++++ b/java/org/tartarus/snowball/SnowballStemmer.java +@@ -1,6 +1,9 @@ + + package org.tartarus.snowball; + ++/** ++ * Parent class of all snowball stemmers, which must implementstem
++ */
+ public abstract class SnowballStemmer extends SnowballProgram {
+ public abstract boolean stem();
+
+diff --git a/libstemmer/modules.txt b/libstemmer/modules.txt
+index cb39621..9fe141e 100644
+--- a/libstemmer/modules.txt
++++ b/libstemmer/modules.txt
+@@ -10,11 +10,13 @@
+ # the most commonly used encoding.
+
+ arabic UTF_8 arabic,ar,ara
++armenian UTF_8 armenian,hy,arm,hye
+ basque UTF_8,ISO_8859_1 basque,eu,eus,baq
+ catalan UTF_8,ISO_8859_1 catalan,ca,cat
+ danish UTF_8,ISO_8859_1 danish,da,dan
+ dutch UTF_8,ISO_8859_1 dutch,nl,dut,nld
+ english UTF_8,ISO_8859_1 english,en,eng
++estonian UTF_8 estonian,et,est
+ finnish UTF_8,ISO_8859_1 finnish,fi,fin
+ french UTF_8,ISO_8859_1 french,fr,fre,fra
+ german UTF_8,ISO_8859_1 german,de,ger,deu
+@@ -50,12 +52,12 @@ porter UTF_8,ISO_8859_1 porter english
+ # algorithms are:
+ #
+ # german2 - This is a slight modification of the german stemmer.
+-#german2 UTF_8,ISO_8859_1 german2 german
++german2 UTF_8,ISO_8859_1 german2 german
+ #
+ # kraaij_pohlmann - This is a different dutch stemmer.
+-#kraaij_pohlmann UTF_8,ISO_8859_1 kraaij_pohlmann dutch
++kraaij_pohlmann UTF_8,ISO_8859_1 kraaij_pohlmann dutch
+ #
+ # lovins - This is an english stemmer, but fairly outdated, and
+ # only really applicable to a restricted type of input text
+ # (keywords in academic publications).
+-#lovins UTF_8,ISO_8859_1 lovins english
++lovins UTF_8,ISO_8859_1 lovins english
diff --git a/gradle/generation/snowball.sh b/gradle/generation/snowball.sh
new file mode 100755
index 00000000000..27aaf363eb7
--- /dev/null
+++ b/gradle/generation/snowball.sh
@@ -0,0 +1,123 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# remove this script when problems are fixed
+SRCDIR=$1
+WWWSRCDIR=$2
+TESTSRCDIR=$3
+PROJECTDIR=$4
+DESTDIR="${PROJECTDIR}/src/java/org/tartarus/snowball"
+WWWDSTDIR="${PROJECTDIR}/src/resources/org/apache/lucene/analysis/snowball"
+TESTDSTDIR="${PROJECTDIR}/src/test/org/apache/lucene/analysis/snowball"
+
+trap 'echo "usage: ./snowball.sh - * NOTE: this may be a reference to a different character array than the - * one originally provided with setCurrent, in the exceptional case that - * stemming produced a longer intermediate or result string. - *
- *- * It is necessary to use {@link #getCurrentBufferLength()} to determine - * the valid length of the returned buffer. For example, many words are - * stemmed simply by subtracting from the length to remove suffixes. - *
- * @see #getCurrentBufferLength() - */ - public char[] getCurrentBuffer() { - return current; - } - - /** - * Get the valid length of the character array in - * {@link #getCurrentBuffer()}. - * @return valid length of the array. - */ - public int getCurrentBufferLength() { - return limit; - } + /** + * Get the current buffer containing the stem. + *+ * NOTE: this may be a reference to a different character array than the + * one originally provided with setCurrent, in the exceptional case that + * stemming produced a longer intermediate or result string. + *
+ *+ * It is necessary to use {@link #getCurrentBufferLength()} to determine + * the valid length of the returned buffer. For example, many words are + * stemmed simply by subtracting from the length to remove suffixes. + *
+ * @see #getCurrentBufferLength() + */ + public char[] getCurrentBuffer() { + return current; + } - // current string - private char current[]; + /** + * Get the valid length of the character array in + * {@link #getCurrentBuffer()}. + * @return valid length of the array. + */ + public int getCurrentBufferLength() { + return limit; + } - protected int cursor; - protected int limit; - protected int limit_backward; - protected int bra; - protected int ket; + // current string + private char current[]; - protected void copy_from(SnowballProgram other) - { - current = other.current; - cursor = other.cursor; - limit = other.limit; - limit_backward = other.limit_backward; - bra = other.bra; - ket = other.ket; - } + protected int cursor; + protected int limit; + protected int limit_backward; + protected int bra; + protected int ket; - protected boolean in_grouping(char [] s, int min, int max) - { - if (cursor >= limit) return false; - char ch = current[cursor]; - if (ch > max || ch < min) return false; - ch -= min; - if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; + public SnowballProgram(SnowballProgram other) { + current = other.current; + cursor = other.cursor; + limit = other.limit; + limit_backward = other.limit_backward; + bra = other.bra; + ket = other.ket; + } + + protected void copy_from(SnowballProgram other) + { + current = other.current; + cursor = other.cursor; + limit = other.limit; + limit_backward = other.limit_backward; + bra = other.bra; + ket = other.ket; + } + + protected boolean in_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; + char ch = current[cursor]; + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; + cursor++; + return true; + } + + protected boolean in_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current[cursor - 1]; + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; + cursor--; + return true; + } + + protected boolean out_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; + char ch = current[cursor]; + if (ch > max || ch < min) { cursor++; return true; } - - protected boolean in_grouping_b(char [] s, int min, int max) - { - if (cursor <= limit_backward) return false; - char ch = current[cursor - 1]; - if (ch > max || ch < min) return false; - ch -= min; - if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; - cursor--; - return true; - } - - protected boolean out_grouping(char [] s, int min, int max) - { - if (cursor >= limit) return false; - char ch = current[cursor]; - if (ch > max || ch < min) { - cursor++; - return true; - } - ch -= min; - if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { - cursor ++; - return true; - } - return false; - } - - protected boolean out_grouping_b(char [] s, int min, int max) - { - if (cursor <= limit_backward) return false; - char ch = current[cursor - 1]; - if (ch > max || ch < min) { - cursor--; - return true; - } - ch -= min; - if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { - cursor--; - return true; - } - return false; - } - - protected boolean in_range(int min, int max) - { - if (cursor >= limit) return false; - char ch = current[cursor]; - if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { cursor++; return true; } + return false; + } - protected boolean in_range_b(int min, int max) - { - if (cursor <= limit_backward) return false; - char ch = current[cursor - 1]; - if (ch > max || ch < min) return false; + protected boolean out_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current[cursor - 1]; + if (ch > max || ch < min) { cursor--; return true; } - - protected boolean out_range(int min, int max) - { - if (cursor >= limit) return false; - char ch = current[cursor]; - if (!(ch > max || ch < min)) return false; - cursor++; - return true; - } - - protected boolean out_range_b(int min, int max) - { - if (cursor <= limit_backward) return false; - char ch = current[cursor - 1]; - if(!(ch > max || ch < min)) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { cursor--; return true; } + return false; + } - protected boolean eq_s(int s_size, CharSequence s) - { - if (limit - cursor < s_size) return false; - int i; - for (i = 0; i != s_size; i++) { - if (current[cursor + i] != s.charAt(i)) return false; + protected boolean eq_s(CharSequence s) + { + if (limit - cursor < s.length()) return false; + int i; + for (i = 0; i != s.length(); i++) { + if (current[cursor + i] != s.charAt(i)) return false; + } + cursor += s.length(); + return true; + } + + protected boolean eq_s_b(CharSequence s) + { + if (cursor - limit_backward < s.length()) return false; + int i; + for (i = 0; i != s.length(); i++) { + if (current[cursor - s.length() + i] != s.charAt(i)) return false; + } + cursor -= s.length(); + return true; + } + + protected int find_among(Among v[]) + { + int i = 0; + int j = v.length; + + int c = cursor; + int l = limit; + + int common_i = 0; + int common_j = 0; + + boolean first_key_inspected = false; + + while (true) { + int k = i + ((j - i) >> 1); + int diff = 0; + int common = common_i < common_j ? common_i : common_j; // smaller + Among w = v[k]; + int i2; + for (i2 = common; i2 < w.s.length; i2++) { + if (c + common == l) { + diff = -1; + break; + } + diff = current[c + common] - w.s[i2]; + if (diff != 0) break; + common++; } - cursor += s_size; - return true; - } - - protected boolean eq_s_b(int s_size, CharSequence s) - { - if (cursor - limit_backward < s_size) return false; - int i; - for (i = 0; i != s_size; i++) { - if (current[cursor - s_size + i] != s.charAt(i)) return false; + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; } - cursor -= s_size; - return true; - } + if (j - i <= 1) { + if (i > 0) break; // v->s has been inspected + if (j == i) break; // only one item in v - protected boolean eq_v(CharSequence s) - { - return eq_s(s.length(), s); - } + // - but now we need to go round once more to get + // v->s inspected. This looks messy, but is actually + // the optimal approach. - protected boolean eq_v_b(CharSequence s) - { - return eq_s_b(s.length(), s); - } - - protected int find_among(Among v[], int v_size) - { - int i = 0; - int j = v_size; - - int c = cursor; - int l = limit; - - int common_i = 0; - int common_j = 0; - - boolean first_key_inspected = false; - - while (true) { - int k = i + ((j - i) >> 1); - int diff = 0; - int common = common_i < common_j ? common_i : common_j; // smaller - Among w = v[k]; - int i2; - for (i2 = common; i2 < w.s_size; i2++) { - if (c + common == l) { - diff = -1; - break; - } - diff = current[c + common] - w.s[i2]; - if (diff != 0) break; - common++; - } - if (diff < 0) { - j = k; - common_j = common; - } else { - i = k; - common_i = common; - } - if (j - i <= 1) { - if (i > 0) break; // v->s has been inspected - if (j == i) break; // only one item in v - - // - but now we need to go round once more to get - // v->s inspected. This looks messy, but is actually - // the optimal approach. - - if (first_key_inspected) break; - first_key_inspected = true; - } - } - while (true) { - Among w = v[i]; - if (common_i >= w.s_size) { - cursor = c + w.s_size; - if (w.method == null) return w.result; - boolean res = false; - try { - res = (boolean) w.method.invokeExact(this); - } catch (Error | RuntimeException e) { - throw e; - } catch (Throwable e) { - throw new UndeclaredThrowableException(e); - } - cursor = c + w.s_size; - if (res) return w.result; - } - i = w.substring_i; - if (i < 0) return 0; + if (first_key_inspected) break; + first_key_inspected = true; } } + while (true) { + Among w = v[i]; + if (common_i >= w.s.length) { + cursor = c + w.s.length; + if (w.method == null) return w.result; + boolean res = false; + try { + res = (boolean) w.method.invokeExact(this); + } catch (Error | RuntimeException e) { + throw e; + } catch (Throwable e) { + throw new UndeclaredThrowableException(e); + } + cursor = c + w.s.length; + if (res) return w.result; + } + i = w.substring_i; + if (i < 0) return 0; + } + } // find_among_b is for backwards processing. Same comments apply - protected int find_among_b(Among v[], int v_size) - { - int i = 0; - int j = v_size; + protected int find_among_b(Among v[]) + { + int i = 0; + int j = v.length; - int c = cursor; - int lb = limit_backward; + int c = cursor; + int lb = limit_backward; - int common_i = 0; - int common_j = 0; + int common_i = 0; + int common_j = 0; - boolean first_key_inspected = false; + boolean first_key_inspected = false; - while (true) { - int k = i + ((j - i) >> 1); - int diff = 0; - int common = common_i < common_j ? common_i : common_j; - Among w = v[k]; - int i2; - for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { - if (c - common == lb) { - diff = -1; - break; - } - diff = current[c - 1 - common] - w.s[i2]; - if (diff != 0) break; - common++; - } - if (diff < 0) { - j = k; - common_j = common; - } else { - i = k; - common_i = common; - } - if (j - i <= 1) { - if (i > 0) break; - if (j == i) break; - if (first_key_inspected) break; - first_key_inspected = true; + while (true) { + int k = i + ((j - i) >> 1); + int diff = 0; + int common = common_i < common_j ? common_i : common_j; + Among w = v[k]; + int i2; + for (i2 = w.s.length - 1 - common; i2 >= 0; i2--) { + if (c - common == lb) { + diff = -1; + break; } + diff = current[c - 1 - common] - w.s[i2]; + if (diff != 0) break; + common++; } - while (true) { - Among w = v[i]; - if (common_i >= w.s_size) { - cursor = c - w.s_size; - if (w.method == null) return w.result; - - boolean res = false; - try { - res = (boolean) w.method.invokeExact(this); - } catch (Error | RuntimeException e) { - throw e; - } catch (Throwable e) { - throw new UndeclaredThrowableException(e); - } - cursor = c - w.s_size; - if (res) return w.result; - } - i = w.substring_i; - if (i < 0) return 0; + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) break; + if (j == i) break; + if (first_key_inspected) break; + first_key_inspected = true; } } + while (true) { + Among w = v[i]; + if (common_i >= w.s.length) { + cursor = c - w.s.length; + if (w.method == null) return w.result; + + boolean res = false; + try { + res = (boolean) w.method.invokeExact(this); + } catch (Error | RuntimeException e) { + throw e; + } catch (Throwable e) { + throw new UndeclaredThrowableException(e); + } + cursor = c - w.s.length; + if (res) return w.result; + } + i = w.substring_i; + if (i < 0) return 0; + } + } + + // mini version of ArrayUtil.oversize from lucene, specialized to chars + static int oversize(int minTargetSize) { + int extra = minTargetSize >> 3; + if (extra < 3) { + extra = 3; + } + int newSize = minTargetSize + extra; + return (newSize + 3) & 0x7ffffffc; + } /* to replace chars between c_bra and c_ket in current by the - * chars in s. - */ - protected int replace_s(int c_bra, int c_ket, CharSequence s) { + * chars in s. + */ + protected int replace_s(int c_bra, int c_ket, CharSequence s) + { final int adjustment = s.length() - (c_ket - c_bra); final int newLength = limit + adjustment; //resize if necessary if (newLength > current.length) { - char newBuffer[] = new char[ArrayUtil.oversize(newLength, Character.BYTES)]; + char newBuffer[] = new char[oversize(newLength)]; System.arraycopy(current, 0, newBuffer, 0, limit); current = newBuffer; } @@ -409,7 +372,7 @@ public abstract class SnowballProgram { // replacement, need to shift things around if (adjustment != 0 && c_ket < limit) { System.arraycopy(current, c_ket, current, c_bra + s.length(), - limit - c_ket); + limit - c_ket); } // insert the replacement text // Note, faster is s.getChars(0, s.length(), current, c_bra); @@ -423,73 +386,69 @@ public abstract class SnowballProgram { return adjustment; } - protected void slice_check() { + protected void slice_check() + { if (bra < 0 || - bra > ket || - ket > limit) { - throw new IllegalArgumentException("faulty slice operation: bra=" + bra + ",ket=" + ket + ",limit=" + limit); - // FIXME: report error somehow. - /* - fprintf(stderr, "faulty slice operation:\n"); - debug(z, -1, 0); - exit(1); - */ + bra > ket || + ket > limit) + { + throw new IllegalArgumentException("faulty slice operation: bra=" + bra + ",ket=" + ket + ",limit=" + limit); } } - protected void slice_from(CharSequence s) { + protected void slice_from(CharSequence s) + { slice_check(); replace_s(bra, ket, s); } - protected void slice_del() { - slice_from((CharSequence) ""); + protected void slice_del() + { + slice_from(""); } protected void insert(int c_bra, int c_ket, CharSequence s) - { - int adjustment = replace_s(c_bra, c_ket, s); - if (c_bra <= bra) bra += adjustment; - if (c_bra <= ket) ket += adjustment; - } + { + int adjustment = replace_s(c_bra, c_ket, s); + if (c_bra <= bra) bra += adjustment; + if (c_bra <= ket) ket += adjustment; + } - /* Copy the slice into the supplied StringBuffer */ - protected StringBuilder slice_to(StringBuilder s) - { - slice_check(); - int len = ket - bra; - s.setLength(0); - s.append(current, bra, len); - return s; - } + /* Copy the slice into the supplied StringBuilder */ + protected void slice_to(StringBuilder s) + { + slice_check(); + int len = ket - bra; + s.setLength(0); + s.append(current, bra, len); + } - protected StringBuilder assign_to(StringBuilder s) - { - s.setLength(0); - s.append(current, 0, limit); - return s; - } + protected void assign_to(StringBuilder s) + { + s.setLength(0); + s.append(current, 0, limit); + } /* extern void debug(struct SN_env * z, int number, int line_count) { int i; - int limit = SIZE(z->p); - //if (number >= 0) printf("%3d (line %4d): '", number, line_count); - if (number >= 0) printf("%3d (line %4d): [%d]'", number, line_count,limit); - for (i = 0; i <= limit; i++) - { if (z->lb == i) printf("{"); - if (z->bra == i) printf("["); - if (z->c == i) printf("|"); - if (z->ket == i) printf("]"); - if (z->l == i) printf("}"); - if (i < limit) - { int ch = z->p[i]; - if (ch == 0) ch = '#'; - printf("%c", ch); - } + int limit = SIZE(z->p); + //if (number >= 0) printf("%3d (line %4d): '", number, line_count); + if (number >= 0) printf("%3d (line %4d): [%d]'", number, line_count,limit); + for (i = 0; i <= limit; i++) + { if (z->lb == i) printf("{"); + if (z->bra == i) printf("["); + if (z->c == i) printf("|"); + if (z->ket == i) printf("]"); + if (z->l == i) printf("}"); + if (i < limit) + { int ch = z->p[i]; + if (ch == 0) ch = '#'; + printf("%c", ch); } - printf("'\n"); + } + printf("'\n"); } */ -}; +}; diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/SnowballStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/SnowballStemmer.java new file mode 100644 index 00000000000..023313c10cd --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/SnowballStemmer.java @@ -0,0 +1,42 @@ +/* +Copyright (c) 2001, Dr Martin Porter +Copyright (c) 2004,2005, Richard Boulton +Copyright (c) 2013, Yoshiki Shibukawa +Copyright (c) 2006,2007,2009,2010,2011,2014-2019, Olly Betts +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the Snowball project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package org.tartarus.snowball; + +/** + * Parent class of all snowball stemmers, which must implementstem
+ */
+public abstract class SnowballStemmer extends SnowballProgram {
+ public abstract boolean stem();
+
+ static final long serialVersionUID = 2016072500L;
+};
diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArabicStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArabicStemmer.java
index 2b907b2ddc0..5af716d63d6 100644
--- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArabicStemmer.java
+++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArabicStemmer.java
@@ -1,1912 +1,1363 @@
-// This file was generated automatically by the Snowball to Java compiler
-// http://snowballstem.org/
+// Generated by Snowball 2.0.0 - https://snowballstem.org/
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
/**
- * This class was automatically generated by a Snowball to Java compiler
- * It implements the stemming algorithm defined by a snowball script.
+ * This class implements the stemming algorithm defined by a snowball script.
+ * + * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
*/ +@SuppressWarnings("unused") +public class ArabicStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class ArabicStemmer extends org.tartarus.snowball.SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); - private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("\u0640", -1, 1), + new Among("\u064B", -1, 1), + new Among("\u064C", -1, 1), + new Among("\u064D", -1, 1), + new Among("\u064E", -1, 1), + new Among("\u064F", -1, 1), + new Among("\u0650", -1, 1), + new Among("\u0651", -1, 1), + new Among("\u0652", -1, 1), + new Among("\u0660", -1, 2), + new Among("\u0661", -1, 3), + new Among("\u0662", -1, 4), + new Among("\u0663", -1, 5), + new Among("\u0664", -1, 6), + new Among("\u0665", -1, 7), + new Among("\u0666", -1, 8), + new Among("\u0667", -1, 9), + new Among("\u0668", -1, 10), + new Among("\u0669", -1, 11), + new Among("\uFE80", -1, 12), + new Among("\uFE81", -1, 16), + new Among("\uFE82", -1, 16), + new Among("\uFE83", -1, 13), + new Among("\uFE84", -1, 13), + new Among("\uFE85", -1, 17), + new Among("\uFE86", -1, 17), + new Among("\uFE87", -1, 14), + new Among("\uFE88", -1, 14), + new Among("\uFE89", -1, 15), + new Among("\uFE8A", -1, 15), + new Among("\uFE8B", -1, 15), + new Among("\uFE8C", -1, 15), + new Among("\uFE8D", -1, 18), + new Among("\uFE8E", -1, 18), + new Among("\uFE8F", -1, 19), + new Among("\uFE90", -1, 19), + new Among("\uFE91", -1, 19), + new Among("\uFE92", -1, 19), + new Among("\uFE93", -1, 20), + new Among("\uFE94", -1, 20), + new Among("\uFE95", -1, 21), + new Among("\uFE96", -1, 21), + new Among("\uFE97", -1, 21), + new Among("\uFE98", -1, 21), + new Among("\uFE99", -1, 22), + new Among("\uFE9A", -1, 22), + new Among("\uFE9B", -1, 22), + new Among("\uFE9C", -1, 22), + new Among("\uFE9D", -1, 23), + new Among("\uFE9E", -1, 23), + new Among("\uFE9F", -1, 23), + new Among("\uFEA0", -1, 23), + new Among("\uFEA1", -1, 24), + new Among("\uFEA2", -1, 24), + new Among("\uFEA3", -1, 24), + new Among("\uFEA4", -1, 24), + new Among("\uFEA5", -1, 25), + new Among("\uFEA6", -1, 25), + new Among("\uFEA7", -1, 25), + new Among("\uFEA8", -1, 25), + new Among("\uFEA9", -1, 26), + new Among("\uFEAA", -1, 26), + new Among("\uFEAB", -1, 27), + new Among("\uFEAC", -1, 27), + new Among("\uFEAD", -1, 28), + new Among("\uFEAE", -1, 28), + new Among("\uFEAF", -1, 29), + new Among("\uFEB0", -1, 29), + new Among("\uFEB1", -1, 30), + new Among("\uFEB2", -1, 30), + new Among("\uFEB3", -1, 30), + new Among("\uFEB4", -1, 30), + new Among("\uFEB5", -1, 31), + new Among("\uFEB6", -1, 31), + new Among("\uFEB7", -1, 31), + new Among("\uFEB8", -1, 31), + new Among("\uFEB9", -1, 32), + new Among("\uFEBA", -1, 32), + new Among("\uFEBB", -1, 32), + new Among("\uFEBC", -1, 32), + new Among("\uFEBD", -1, 33), + new Among("\uFEBE", -1, 33), + new Among("\uFEBF", -1, 33), + new Among("\uFEC0", -1, 33), + new Among("\uFEC1", -1, 34), + new Among("\uFEC2", -1, 34), + new Among("\uFEC3", -1, 34), + new Among("\uFEC4", -1, 34), + new Among("\uFEC5", -1, 35), + new Among("\uFEC6", -1, 35), + new Among("\uFEC7", -1, 35), + new Among("\uFEC8", -1, 35), + new Among("\uFEC9", -1, 36), + new Among("\uFECA", -1, 36), + new Among("\uFECB", -1, 36), + new Among("\uFECC", -1, 36), + new Among("\uFECD", -1, 37), + new Among("\uFECE", -1, 37), + new Among("\uFECF", -1, 37), + new Among("\uFED0", -1, 37), + new Among("\uFED1", -1, 38), + new Among("\uFED2", -1, 38), + new Among("\uFED3", -1, 38), + new Among("\uFED4", -1, 38), + new Among("\uFED5", -1, 39), + new Among("\uFED6", -1, 39), + new Among("\uFED7", -1, 39), + new Among("\uFED8", -1, 39), + new Among("\uFED9", -1, 40), + new Among("\uFEDA", -1, 40), + new Among("\uFEDB", -1, 40), + new Among("\uFEDC", -1, 40), + new Among("\uFEDD", -1, 41), + new Among("\uFEDE", -1, 41), + new Among("\uFEDF", -1, 41), + new Among("\uFEE0", -1, 41), + new Among("\uFEE1", -1, 42), + new Among("\uFEE2", -1, 42), + new Among("\uFEE3", -1, 42), + new Among("\uFEE4", -1, 42), + new Among("\uFEE5", -1, 43), + new Among("\uFEE6", -1, 43), + new Among("\uFEE7", -1, 43), + new Among("\uFEE8", -1, 43), + new Among("\uFEE9", -1, 44), + new Among("\uFEEA", -1, 44), + new Among("\uFEEB", -1, 44), + new Among("\uFEEC", -1, 44), + new Among("\uFEED", -1, 45), + new Among("\uFEEE", -1, 45), + new Among("\uFEEF", -1, 46), + new Among("\uFEF0", -1, 46), + new Among("\uFEF1", -1, 47), + new Among("\uFEF2", -1, 47), + new Among("\uFEF3", -1, 47), + new Among("\uFEF4", -1, 47), + new Among("\uFEF5", -1, 51), + new Among("\uFEF6", -1, 51), + new Among("\uFEF7", -1, 49), + new Among("\uFEF8", -1, 49), + new Among("\uFEF9", -1, 50), + new Among("\uFEFA", -1, 50), + new Among("\uFEFB", -1, 48), + new Among("\uFEFC", -1, 48) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("\u0622", -1, 1), + new Among("\u0623", -1, 1), + new Among("\u0624", -1, 1), + new Among("\u0625", -1, 1), + new Among("\u0626", -1, 1) +}; - private final static Among a_0[] = { - new Among("\u0640", -1, 2, "", methodObject), - new Among("\u064B", -1, 1, "", methodObject), - new Among("\u064C", -1, 1, "", methodObject), - new Among("\u064D", -1, 1, "", methodObject), - new Among("\u064E", -1, 1, "", methodObject), - new Among("\u064F", -1, 1, "", methodObject), - new Among("\u0650", -1, 1, "", methodObject), - new Among("\u0651", -1, 1, "", methodObject), - new Among("\u0652", -1, 1, "", methodObject), - new Among("\u0660", -1, 3, "", methodObject), - new Among("\u0661", -1, 4, "", methodObject), - new Among("\u0662", -1, 5, "", methodObject), - new Among("\u0663", -1, 6, "", methodObject), - new Among("\u0664", -1, 7, "", methodObject), - new Among("\u0665", -1, 8, "", methodObject), - new Among("\u0666", -1, 9, "", methodObject), - new Among("\u0667", -1, 10, "", methodObject), - new Among("\u0668", -1, 11, "", methodObject), - new Among("\u0669", -1, 12, "", methodObject), - new Among("\uFE80", -1, 13, "", methodObject), - new Among("\uFE81", -1, 17, "", methodObject), - new Among("\uFE82", -1, 17, "", methodObject), - new Among("\uFE83", -1, 14, "", methodObject), - new Among("\uFE84", -1, 14, "", methodObject), - new Among("\uFE85", -1, 18, "", methodObject), - new Among("\uFE86", -1, 18, "", methodObject), - new Among("\uFE87", -1, 15, "", methodObject), - new Among("\uFE88", -1, 15, "", methodObject), - new Among("\uFE89", -1, 16, "", methodObject), - new Among("\uFE8A", -1, 16, "", methodObject), - new Among("\uFE8B", -1, 16, "", methodObject), - new Among("\uFE8C", -1, 16, "", methodObject), - new Among("\uFE8D", -1, 19, "", methodObject), - new Among("\uFE8E", -1, 19, "", methodObject), - new Among("\uFE8F", -1, 20, "", methodObject), - new Among("\uFE90", -1, 20, "", methodObject), - new Among("\uFE91", -1, 20, "", methodObject), - new Among("\uFE92", -1, 20, "", methodObject), - new Among("\uFE93", -1, 21, "", methodObject), - new Among("\uFE94", -1, 21, "", methodObject), - new Among("\uFE95", -1, 22, "", methodObject), - new Among("\uFE96", -1, 22, "", methodObject), - new Among("\uFE97", -1, 22, "", methodObject), - new Among("\uFE98", -1, 22, "", methodObject), - new Among("\uFE99", -1, 23, "", methodObject), - new Among("\uFE9A", -1, 23, "", methodObject), - new Among("\uFE9B", -1, 23, "", methodObject), - new Among("\uFE9C", -1, 23, "", methodObject), - new Among("\uFE9D", -1, 24, "", methodObject), - new Among("\uFE9E", -1, 24, "", methodObject), - new Among("\uFE9F", -1, 24, "", methodObject), - new Among("\uFEA0", -1, 24, "", methodObject), - new Among("\uFEA1", -1, 25, "", methodObject), - new Among("\uFEA2", -1, 25, "", methodObject), - new Among("\uFEA3", -1, 25, "", methodObject), - new Among("\uFEA4", -1, 25, "", methodObject), - new Among("\uFEA5", -1, 26, "", methodObject), - new Among("\uFEA6", -1, 26, "", methodObject), - new Among("\uFEA7", -1, 26, "", methodObject), - new Among("\uFEA8", -1, 26, "", methodObject), - new Among("\uFEA9", -1, 27, "", methodObject), - new Among("\uFEAA", -1, 27, "", methodObject), - new Among("\uFEAB", -1, 28, "", methodObject), - new Among("\uFEAC", -1, 28, "", methodObject), - new Among("\uFEAD", -1, 29, "", methodObject), - new Among("\uFEAE", -1, 29, "", methodObject), - new Among("\uFEAF", -1, 30, "", methodObject), - new Among("\uFEB0", -1, 30, "", methodObject), - new Among("\uFEB1", -1, 31, "", methodObject), - new Among("\uFEB2", -1, 31, "", methodObject), - new Among("\uFEB3", -1, 31, "", methodObject), - new Among("\uFEB4", -1, 31, "", methodObject), - new Among("\uFEB5", -1, 32, "", methodObject), - new Among("\uFEB6", -1, 32, "", methodObject), - new Among("\uFEB7", -1, 32, "", methodObject), - new Among("\uFEB8", -1, 32, "", methodObject), - new Among("\uFEB9", -1, 33, "", methodObject), - new Among("\uFEBA", -1, 33, "", methodObject), - new Among("\uFEBB", -1, 33, "", methodObject), - new Among("\uFEBC", -1, 33, "", methodObject), - new Among("\uFEBD", -1, 34, "", methodObject), - new Among("\uFEBE", -1, 34, "", methodObject), - new Among("\uFEBF", -1, 34, "", methodObject), - new Among("\uFEC0", -1, 34, "", methodObject), - new Among("\uFEC1", -1, 35, "", methodObject), - new Among("\uFEC2", -1, 35, "", methodObject), - new Among("\uFEC3", -1, 35, "", methodObject), - new Among("\uFEC4", -1, 35, "", methodObject), - new Among("\uFEC5", -1, 36, "", methodObject), - new Among("\uFEC6", -1, 36, "", methodObject), - new Among("\uFEC7", -1, 36, "", methodObject), - new Among("\uFEC8", -1, 36, "", methodObject), - new Among("\uFEC9", -1, 37, "", methodObject), - new Among("\uFECA", -1, 37, "", methodObject), - new Among("\uFECB", -1, 37, "", methodObject), - new Among("\uFECC", -1, 37, "", methodObject), - new Among("\uFECD", -1, 38, "", methodObject), - new Among("\uFECE", -1, 38, "", methodObject), - new Among("\uFECF", -1, 38, "", methodObject), - new Among("\uFED0", -1, 38, "", methodObject), - new Among("\uFED1", -1, 39, "", methodObject), - new Among("\uFED2", -1, 39, "", methodObject), - new Among("\uFED3", -1, 39, "", methodObject), - new Among("\uFED4", -1, 39, "", methodObject), - new Among("\uFED5", -1, 40, "", methodObject), - new Among("\uFED6", -1, 40, "", methodObject), - new Among("\uFED7", -1, 40, "", methodObject), - new Among("\uFED8", -1, 40, "", methodObject), - new Among("\uFED9", -1, 41, "", methodObject), - new Among("\uFEDA", -1, 41, "", methodObject), - new Among("\uFEDB", -1, 41, "", methodObject), - new Among("\uFEDC", -1, 41, "", methodObject), - new Among("\uFEDD", -1, 42, "", methodObject), - new Among("\uFEDE", -1, 42, "", methodObject), - new Among("\uFEDF", -1, 42, "", methodObject), - new Among("\uFEE0", -1, 42, "", methodObject), - new Among("\uFEE1", -1, 43, "", methodObject), - new Among("\uFEE2", -1, 43, "", methodObject), - new Among("\uFEE3", -1, 43, "", methodObject), - new Among("\uFEE4", -1, 43, "", methodObject), - new Among("\uFEE5", -1, 44, "", methodObject), - new Among("\uFEE6", -1, 44, "", methodObject), - new Among("\uFEE7", -1, 44, "", methodObject), - new Among("\uFEE8", -1, 44, "", methodObject), - new Among("\uFEE9", -1, 45, "", methodObject), - new Among("\uFEEA", -1, 45, "", methodObject), - new Among("\uFEEB", -1, 45, "", methodObject), - new Among("\uFEEC", -1, 45, "", methodObject), - new Among("\uFEED", -1, 46, "", methodObject), - new Among("\uFEEE", -1, 46, "", methodObject), - new Among("\uFEEF", -1, 47, "", methodObject), - new Among("\uFEF0", -1, 47, "", methodObject), - new Among("\uFEF1", -1, 48, "", methodObject), - new Among("\uFEF2", -1, 48, "", methodObject), - new Among("\uFEF3", -1, 48, "", methodObject), - new Among("\uFEF4", -1, 48, "", methodObject), - new Among("\uFEF5", -1, 52, "", methodObject), - new Among("\uFEF6", -1, 52, "", methodObject), - new Among("\uFEF7", -1, 50, "", methodObject), - new Among("\uFEF8", -1, 50, "", methodObject), - new Among("\uFEF9", -1, 51, "", methodObject), - new Among("\uFEFA", -1, 51, "", methodObject), - new Among("\uFEFB", -1, 49, "", methodObject), - new Among("\uFEFC", -1, 49, "", methodObject) - }; +private final static Among a_2[] = { + new Among("\u0622", -1, 1), + new Among("\u0623", -1, 1), + new Among("\u0624", -1, 2), + new Among("\u0625", -1, 1), + new Among("\u0626", -1, 3) +}; - private final static Among a_1[] = { - new Among("\u0622", -1, 1, "", methodObject), - new Among("\u0623", -1, 1, "", methodObject), - new Among("\u0624", -1, 2, "", methodObject), - new Among("\u0625", -1, 1, "", methodObject), - new Among("\u0626", -1, 3, "", methodObject) - }; +private final static Among a_3[] = { + new Among("\u0627\u0644", -1, 2), + new Among("\u0628\u0627\u0644", -1, 1), + new Among("\u0643\u0627\u0644", -1, 1), + new Among("\u0644\u0644", -1, 2) +}; - private final static Among a_2[] = { - new Among("\u0622", -1, 1, "", methodObject), - new Among("\u0623", -1, 1, "", methodObject), - new Among("\u0624", -1, 2, "", methodObject), - new Among("\u0625", -1, 1, "", methodObject), - new Among("\u0626", -1, 3, "", methodObject) - }; +private final static Among a_4[] = { + new Among("\u0623\u0622", -1, 2), + new Among("\u0623\u0623", -1, 1), + new Among("\u0623\u0624", -1, 1), + new Among("\u0623\u0625", -1, 4), + new Among("\u0623\u0627", -1, 3) +}; - private final static Among a_3[] = { - new Among("\u0627\u0644", -1, 2, "", methodObject), - new Among("\u0628\u0627\u0644", -1, 1, "", methodObject), - new Among("\u0643\u0627\u0644", -1, 1, "", methodObject), - new Among("\u0644\u0644", -1, 2, "", methodObject) - }; +private final static Among a_5[] = { + new Among("\u0641", -1, 1), + new Among("\u0648", -1, 1) +}; - private final static Among a_4[] = { - new Among("\u0623\u0622", -1, 2, "", methodObject), - new Among("\u0623\u0623", -1, 1, "", methodObject), - new Among("\u0623\u0624", -1, 3, "", methodObject), - new Among("\u0623\u0625", -1, 5, "", methodObject), - new Among("\u0623\u0627", -1, 4, "", methodObject) - }; +private final static Among a_6[] = { + new Among("\u0627\u0644", -1, 2), + new Among("\u0628\u0627\u0644", -1, 1), + new Among("\u0643\u0627\u0644", -1, 1), + new Among("\u0644\u0644", -1, 2) +}; - private final static Among a_5[] = { - new Among("\u0641", -1, 1, "", methodObject), - new Among("\u0648", -1, 2, "", methodObject) - }; +private final static Among a_7[] = { + new Among("\u0628", -1, 1), + new Among("\u0628\u0628", 0, 2), + new Among("\u0643\u0643", -1, 3) +}; - private final static Among a_6[] = { - new Among("\u0627\u0644", -1, 2, "", methodObject), - new Among("\u0628\u0627\u0644", -1, 1, "", methodObject), - new Among("\u0643\u0627\u0644", -1, 1, "", methodObject), - new Among("\u0644\u0644", -1, 2, "", methodObject) - }; +private final static Among a_8[] = { + new Among("\u0633\u0623", -1, 4), + new Among("\u0633\u062A", -1, 2), + new Among("\u0633\u0646", -1, 3), + new Among("\u0633\u064A", -1, 1) +}; - private final static Among a_7[] = { - new Among("\u0628", -1, 1, "", methodObject), - new Among("\u0628\u0628", 0, 2, "", methodObject), - new Among("\u0643\u0643", -1, 3, "", methodObject) - }; +private final static Among a_9[] = { + new Among("\u062A\u0633\u062A", -1, 1), + new Among("\u0646\u0633\u062A", -1, 1), + new Among("\u064A\u0633\u062A", -1, 1) +}; - private final static Among a_8[] = { - new Among("\u0633\u0623", -1, 4, "", methodObject), - new Among("\u0633\u062A", -1, 2, "", methodObject), - new Among("\u0633\u0646", -1, 3, "", methodObject), - new Among("\u0633\u064A", -1, 1, "", methodObject) - }; +private final static Among a_10[] = { + new Among("\u0643\u0645\u0627", -1, 3), + new Among("\u0647\u0645\u0627", -1, 3), + new Among("\u0646\u0627", -1, 2), + new Among("\u0647\u0627", -1, 2), + new Among("\u0643", -1, 1), + new Among("\u0643\u0645", -1, 2), + new Among("\u0647\u0645", -1, 2), + new Among("\u0647\u0646", -1, 2), + new Among("\u0647", -1, 1), + new Among("\u064A", -1, 1) +}; - private final static Among a_9[] = { - new Among("\u062A\u0633\u062A", -1, 1, "", methodObject), - new Among("\u0646\u0633\u062A", -1, 1, "", methodObject), - new Among("\u064A\u0633\u062A", -1, 1, "", methodObject) - }; +private final static Among a_11[] = { + new Among("\u0646", -1, 1) +}; - private final static Among a_10[] = { - new Among("\u0643\u0645\u0627", -1, 3, "", methodObject), - new Among("\u0647\u0645\u0627", -1, 3, "", methodObject), - new Among("\u0646\u0627", -1, 2, "", methodObject), - new Among("\u0647\u0627", -1, 2, "", methodObject), - new Among("\u0643", -1, 1, "", methodObject), - new Among("\u0643\u0645", -1, 2, "", methodObject), - new Among("\u0647\u0645", -1, 2, "", methodObject), - new Among("\u0647\u0646", -1, 2, "", methodObject), - new Among("\u0647", -1, 1, "", methodObject), - new Among("\u064A", -1, 1, "", methodObject) - }; +private final static Among a_12[] = { + new Among("\u0627", -1, 1), + new Among("\u0648", -1, 1), + new Among("\u064A", -1, 1) +}; - private final static Among a_11[] = { - new Among("\u0646", -1, 1, "", methodObject) - }; +private final static Among a_13[] = { + new Among("\u0627\u062A", -1, 1) +}; - private final static Among a_12[] = { - new Among("\u0627", -1, 1, "", methodObject), - new Among("\u0648", -1, 1, "", methodObject), - new Among("\u064A", -1, 1, "", methodObject) - }; +private final static Among a_14[] = { + new Among("\u062A", -1, 1) +}; - private final static Among a_13[] = { - new Among("\u0627\u062A", -1, 1, "", methodObject) - }; +private final static Among a_15[] = { + new Among("\u0629", -1, 1) +}; - private final static Among a_14[] = { - new Among("\u062A", -1, 1, "", methodObject) - }; +private final static Among a_16[] = { + new Among("\u064A", -1, 1) +}; - private final static Among a_15[] = { - new Among("\u0629", -1, 1, "", methodObject) - }; +private final static Among a_17[] = { + new Among("\u0643\u0645\u0627", -1, 3), + new Among("\u0647\u0645\u0627", -1, 3), + new Among("\u0646\u0627", -1, 2), + new Among("\u0647\u0627", -1, 2), + new Among("\u0643", -1, 1), + new Among("\u0643\u0645", -1, 2), + new Among("\u0647\u0645", -1, 2), + new Among("\u0643\u0646", -1, 2), + new Among("\u0647\u0646", -1, 2), + new Among("\u0647", -1, 1), + new Among("\u0643\u0645\u0648", -1, 3), + new Among("\u0646\u064A", -1, 2) +}; - private final static Among a_16[] = { - new Among("\u064A", -1, 1, "", methodObject) - }; +private final static Among a_18[] = { + new Among("\u0627", -1, 1), + new Among("\u062A\u0627", 0, 2), + new Among("\u062A\u0645\u0627", 0, 4), + new Among("\u0646\u0627", 0, 2), + new Among("\u062A", -1, 1), + new Among("\u0646", -1, 1), + new Among("\u0627\u0646", 5, 3), + new Among("\u062A\u0646", 5, 2), + new Among("\u0648\u0646", 5, 3), + new Among("\u064A\u0646", 5, 3), + new Among("\u064A", -1, 1) +}; - private final static Among a_17[] = { - new Among("\u0643\u0645\u0627", -1, 3, "", methodObject), - new Among("\u0647\u0645\u0627", -1, 3, "", methodObject), - new Among("\u0646\u0627", -1, 2, "", methodObject), - new Among("\u0647\u0627", -1, 2, "", methodObject), - new Among("\u0643", -1, 1, "", methodObject), - new Among("\u0643\u0645", -1, 2, "", methodObject), - new Among("\u0647\u0645", -1, 2, "", methodObject), - new Among("\u0643\u0646", -1, 2, "", methodObject), - new Among("\u0647\u0646", -1, 2, "", methodObject), - new Among("\u0647", -1, 1, "", methodObject), - new Among("\u0643\u0645\u0648", -1, 3, "", methodObject), - new Among("\u0646\u064A", -1, 2, "", methodObject) - }; +private final static Among a_19[] = { + new Among("\u0648\u0627", -1, 1), + new Among("\u062A\u0645", -1, 1) +}; - private final static Among a_18[] = { - new Among("\u0627", -1, 2, "", methodObject), - new Among("\u062A\u0627", 0, 3, "", methodObject), - new Among("\u062A\u0645\u0627", 0, 5, "", methodObject), - new Among("\u0646\u0627", 0, 3, "", methodObject), - new Among("\u062A", -1, 1, "", methodObject), - new Among("\u0646", -1, 2, "", methodObject), - new Among("\u0627\u0646", 5, 4, "", methodObject), - new Among("\u062A\u0646", 5, 3, "", methodObject), - new Among("\u0648\u0646", 5, 4, "", methodObject), - new Among("\u064A\u0646", 5, 4, "", methodObject), - new Among("\u064A", -1, 2, "", methodObject) - }; +private final static Among a_20[] = { + new Among("\u0648", -1, 1), + new Among("\u062A\u0645\u0648", 0, 2) +}; - private final static Among a_19[] = { - new Among("\u0648\u0627", -1, 1, "", methodObject), - new Among("\u062A\u0645", -1, 1, "", methodObject) - }; +private final static Among a_21[] = { + new Among("\u0649", -1, 1) +}; - private final static Among a_20[] = { - new Among("\u0648", -1, 1, "", methodObject), - new Among("\u062A\u0645\u0648", 0, 2, "", methodObject) - }; - - private final static Among a_21[] = { - new Among("\u0649", -1, 1, "", methodObject) - }; - - private boolean B_is_defined; - private boolean B_is_verb; - private boolean B_is_noun; - private int I_word_len; +private boolean B_is_defined; +private boolean B_is_verb; +private boolean B_is_noun; - private boolean r_Normalize_pre() { - int among_var; - // (, line 251 - // loop, line 252 - for (int v_1 = getCurrent().length(); v_1 > 0; v_1--) - { - // (, line 252 - // or, line 316 - lab0: do { - int v_2 = cursor; - lab1: do { - // (, line 253 - // [, line 254 - bra = cursor; - // substring, line 254 - among_var = find_among(a_0, a_0.length); - if (among_var == 0) - { - break lab1; - } - // ], line 254 - ket = cursor; - switch (among_var) { - case 0: - break lab1; - case 1: - // (, line 255 - // delete, line 255 - slice_del(); - break; - case 2: - // (, line 256 - // delete, line 256 - slice_del(); - break; - case 3: - // (, line 259 - // <-, line 259 - slice_from("0"); - break; - case 4: - // (, line 260 - // <-, line 260 - slice_from("1"); - break; - case 5: - // (, line 261 - // <-, line 261 - slice_from("2"); - break; - case 6: - // (, line 262 - // <-, line 262 - slice_from("3"); - break; - case 7: - // (, line 263 - // <-, line 263 - slice_from("4"); - break; - case 8: - // (, line 264 - // <-, line 264 - slice_from("5"); - break; - case 9: - // (, line 265 - // <-, line 265 - slice_from("6"); - break; - case 10: - // (, line 266 - // <-, line 266 - slice_from("7"); - break; - case 11: - // (, line 267 - // <-, line 267 - slice_from("8"); - break; - case 12: - // (, line 268 - // <-, line 268 - slice_from("9"); - break; - case 13: - // (, line 271 - // <-, line 271 - slice_from("\u0621"); - break; - case 14: - // (, line 272 - // <-, line 272 - slice_from("\u0623"); - break; - case 15: - // (, line 273 - // <-, line 273 - slice_from("\u0625"); - break; - case 16: - // (, line 274 - // <-, line 274 - slice_from("\u0626"); - break; - case 17: - // (, line 275 - // <-, line 275 - slice_from("\u0622"); - break; - case 18: - // (, line 276 - // <-, line 276 - slice_from("\u0624"); - break; - case 19: - // (, line 277 - // <-, line 277 - slice_from("\u0627"); - break; - case 20: - // (, line 278 - // <-, line 278 - slice_from("\u0628"); - break; - case 21: - // (, line 279 - // <-, line 279 - slice_from("\u0629"); - break; - case 22: - // (, line 280 - // <-, line 280 - slice_from("\u062A"); - break; - case 23: - // (, line 281 - // <-, line 281 - slice_from("\u062B"); - break; - case 24: - // (, line 282 - // <-, line 282 - slice_from("\u062C"); - break; - case 25: - // (, line 283 - // <-, line 283 - slice_from("\u062D"); - break; - case 26: - // (, line 284 - // <-, line 284 - slice_from("\u062E"); - break; - case 27: - // (, line 285 - // <-, line 285 - slice_from("\u062F"); - break; - case 28: - // (, line 286 - // <-, line 286 - slice_from("\u0630"); - break; - case 29: - // (, line 287 - // <-, line 287 - slice_from("\u0631"); - break; - case 30: - // (, line 288 - // <-, line 288 - slice_from("\u0632"); - break; - case 31: - // (, line 289 - // <-, line 289 - slice_from("\u0633"); - break; - case 32: - // (, line 290 - // <-, line 290 - slice_from("\u0634"); - break; - case 33: - // (, line 291 - // <-, line 291 - slice_from("\u0635"); - break; - case 34: - // (, line 292 - // <-, line 292 - slice_from("\u0636"); - break; - case 35: - // (, line 293 - // <-, line 293 - slice_from("\u0637"); - break; - case 36: - // (, line 294 - // <-, line 294 - slice_from("\u0638"); - break; - case 37: - // (, line 295 - // <-, line 295 - slice_from("\u0639"); - break; - case 38: - // (, line 296 - // <-, line 296 - slice_from("\u063A"); - break; - case 39: - // (, line 297 - // <-, line 297 - slice_from("\u0641"); - break; - case 40: - // (, line 298 - // <-, line 298 - slice_from("\u0642"); - break; - case 41: - // (, line 299 - // <-, line 299 - slice_from("\u0643"); - break; - case 42: - // (, line 300 - // <-, line 300 - slice_from("\u0644"); - break; - case 43: - // (, line 301 - // <-, line 301 - slice_from("\u0645"); - break; - case 44: - // (, line 302 - // <-, line 302 - slice_from("\u0646"); - break; - case 45: - // (, line 303 - // <-, line 303 - slice_from("\u0647"); - break; - case 46: - // (, line 304 - // <-, line 304 - slice_from("\u0648"); - break; - case 47: - // (, line 305 - // <-, line 305 - slice_from("\u0649"); - break; - case 48: - // (, line 306 - // <-, line 306 - slice_from("\u064A"); - break; - case 49: - // (, line 309 - // <-, line 309 - slice_from("\u0644\u0627"); - break; - case 50: - // (, line 310 - // <-, line 310 - slice_from("\u0644\u0623"); - break; - case 51: - // (, line 311 - // <-, line 311 - slice_from("\u0644\u0625"); - break; - case 52: - // (, line 312 - // <-, line 312 - slice_from("\u0644\u0622"); - break; - } - break lab0; - } while (false); - cursor = v_2; - // next, line 317 - if (cursor >= limit) - { - return false; - } - cursor++; - } while (false); - } - return true; - } - - private boolean r_Normalize_post() { - int among_var; - // (, line 321 - // do, line 323 - int v_1 = cursor; - lab0: do { - // (, line 323 - // backwards, line 325 - limit_backward = cursor; - cursor = limit; - // (, line 325 - // [, line 326 - ket = cursor; - // substring, line 326 - among_var = find_among_b(a_1, a_1.length); +private boolean r_Normalize_pre() { + int among_var; + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + lab2: { + int v_3 = cursor; + lab3: { + bra = cursor; + among_var = find_among(a_0); if (among_var == 0) { - break lab0; + break lab3; } - // ], line 326 - bra = cursor; + ket = cursor; switch (among_var) { - case 0: - break lab0; - case 1: - // (, line 327 - // <-, line 327 - slice_from("\u0621"); - break; - case 2: - // (, line 328 - // <-, line 328 - slice_from("\u0621"); - break; - case 3: - // (, line 329 - // <-, line 329 - slice_from("\u0621"); - break; - } - cursor = limit_backward; - } while (false); - cursor = v_1; - // do, line 334 - int v_2 = cursor; - lab1: do { - // loop, line 334 - for (int v_3 = I_word_len; v_3 > 0; v_3--) - { - // (, line 334 - // or, line 343 - lab2: do { - int v_4 = cursor; - lab3: do { - // (, line 335 - // [, line 337 - bra = cursor; - // substring, line 337 - among_var = find_among(a_2, a_2.length); - if (among_var == 0) - { - break lab3; - } - // ], line 337 - ket = cursor; - switch (among_var) { - case 0: - break lab3; - case 1: - // (, line 338 - // <-, line 338 - slice_from("\u0627"); - break; - case 2: - // (, line 339 - // <-, line 339 - slice_from("\u0648"); - break; - case 3: - // (, line 340 - // <-, line 340 - slice_from("\u064A"); - break; - } - break lab2; - } while (false); - cursor = v_4; - // next, line 344 - if (cursor >= limit) - { - break lab1; - } - cursor++; - } while (false); - } - } while (false); - cursor = v_2; - return true; - } - - private boolean r_Checks1() { - int among_var; - // (, line 349 - I_word_len = getCurrent().length(); - // [, line 351 - bra = cursor; - // substring, line 351 - among_var = find_among(a_3, a_3.length); - if (among_var == 0) - { - return false; - } - // ], line 351 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 352 - if (!(I_word_len > 4)) - { - return false; - } - // set is_noun, line 352 - B_is_noun = true; - // unset is_verb, line 352 - B_is_verb = false; - // set is_defined, line 352 - B_is_defined = true; + case 1: + slice_del(); break; - case 2: - // (, line 353 - if (!(I_word_len > 3)) - { - return false; - } - // set is_noun, line 353 - B_is_noun = true; - // unset is_verb, line 353 - B_is_verb = false; - // set is_defined, line 353 - B_is_defined = true; + case 2: + slice_from("0"); break; - } - return true; - } - - private boolean r_Prefix_Step1() { - int among_var; - // (, line 359 - I_word_len = getCurrent().length(); - // [, line 361 - bra = cursor; - // substring, line 361 - among_var = find_among(a_4, a_4.length); - if (among_var == 0) - { - return false; - } - // ], line 361 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 362 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 362 + case 3: + slice_from("1"); + break; + case 4: + slice_from("2"); + break; + case 5: + slice_from("3"); + break; + case 6: + slice_from("4"); + break; + case 7: + slice_from("5"); + break; + case 8: + slice_from("6"); + break; + case 9: + slice_from("7"); + break; + case 10: + slice_from("8"); + break; + case 11: + slice_from("9"); + break; + case 12: + slice_from("\u0621"); + break; + case 13: slice_from("\u0623"); break; - case 2: - // (, line 363 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 363 - slice_from("\u0622"); - break; - case 3: - // (, line 364 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 364 - slice_from("\u0623"); - break; - case 4: - // (, line 365 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 365 - slice_from("\u0627"); - break; - case 5: - // (, line 366 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 366 + case 14: slice_from("\u0625"); break; - } - return true; - } - - private boolean r_Prefix_Step2() { - int among_var; - // (, line 371 - I_word_len = getCurrent().length(); - // not, line 373 - { - int v_1 = cursor; - lab0: do { - // literal, line 373 - if (!(eq_s("\u0641\u0627".length(),"\u0641\u0627"))) - { - break lab0; - } - return false; - } while (false); - cursor = v_1; - } - // not, line 374 - { - int v_2 = cursor; - lab1: do { - // literal, line 374 - if (!(eq_s("\u0648\u0627".length(),"\u0648\u0627"))) - { - break lab1; - } - return false; - } while (false); - cursor = v_2; - } - // [, line 375 - bra = cursor; - // substring, line 375 - among_var = find_among(a_5, a_5.length); - if (among_var == 0) - { - return false; - } - // ], line 375 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 376 - if (!(I_word_len > 3)) - { - return false; - } - // delete, line 376 - slice_del(); + case 15: + slice_from("\u0626"); break; - case 2: - // (, line 377 - if (!(I_word_len > 3)) - { - return false; - } - // delete, line 377 - slice_del(); + case 16: + slice_from("\u0622"); break; - } - return true; - } - - private boolean r_Prefix_Step3a_Noun() { - int among_var; - // (, line 381 - I_word_len = getCurrent().length(); - // [, line 383 - bra = cursor; - // substring, line 383 - among_var = find_among(a_6, a_6.length); - if (among_var == 0) - { - return false; - } - // ], line 383 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 384 - if (!(I_word_len > 5)) - { - return false; - } - // delete, line 384 - slice_del(); + case 17: + slice_from("\u0624"); break; - case 2: - // (, line 385 - if (!(I_word_len > 4)) - { - return false; - } - // delete, line 385 - slice_del(); + case 18: + slice_from("\u0627"); break; - } - return true; - } - - private boolean r_Prefix_Step3b_Noun() { - int among_var; - // (, line 389 - I_word_len = getCurrent().length(); - // not, line 391 - { - int v_1 = cursor; - lab0: do { - // literal, line 391 - if (!(eq_s("\u0628\u0627".length(),"\u0628\u0627"))) - { - break lab0; - } - return false; - } while (false); - cursor = v_1; - } - // [, line 392 - bra = cursor; - // substring, line 392 - among_var = find_among(a_7, a_7.length); - if (among_var == 0) - { - return false; - } - // ], line 392 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 393 - if (!(I_word_len > 3)) - { - return false; - } - // delete, line 393 - slice_del(); - break; - case 2: - // (, line 395 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 395 + case 19: slice_from("\u0628"); break; - case 3: - // (, line 396 - if (!(I_word_len > 3)) - { - return false; - } - // <-, line 396 - slice_from("\u0643"); + case 20: + slice_from("\u0629"); break; - } - return true; - } - - private boolean r_Prefix_Step3_Verb() { - int among_var; - // (, line 401 - I_word_len = getCurrent().length(); - // [, line 403 - bra = cursor; - // substring, line 403 - among_var = find_among(a_8, a_8.length); - if (among_var == 0) - { - return false; - } - // ], line 403 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 405 - if (!(I_word_len > 4)) - { - return false; - } - // <-, line 405 - slice_from("\u064A"); - break; - case 2: - // (, line 406 - if (!(I_word_len > 4)) - { - return false; - } - // <-, line 406 + case 21: slice_from("\u062A"); break; - case 3: - // (, line 407 - if (!(I_word_len > 4)) - { - return false; - } - // <-, line 407 + case 22: + slice_from("\u062B"); + break; + case 23: + slice_from("\u062C"); + break; + case 24: + slice_from("\u062D"); + break; + case 25: + slice_from("\u062E"); + break; + case 26: + slice_from("\u062F"); + break; + case 27: + slice_from("\u0630"); + break; + case 28: + slice_from("\u0631"); + break; + case 29: + slice_from("\u0632"); + break; + case 30: + slice_from("\u0633"); + break; + case 31: + slice_from("\u0634"); + break; + case 32: + slice_from("\u0635"); + break; + case 33: + slice_from("\u0636"); + break; + case 34: + slice_from("\u0637"); + break; + case 35: + slice_from("\u0638"); + break; + case 36: + slice_from("\u0639"); + break; + case 37: + slice_from("\u063A"); + break; + case 38: + slice_from("\u0641"); + break; + case 39: + slice_from("\u0642"); + break; + case 40: + slice_from("\u0643"); + break; + case 41: + slice_from("\u0644"); + break; + case 42: + slice_from("\u0645"); + break; + case 43: slice_from("\u0646"); break; - case 4: - // (, line 408 - if (!(I_word_len > 4)) - { - return false; - } - // <-, line 408 - slice_from("\u0623"); + case 44: + slice_from("\u0647"); break; - } - return true; - } - - private boolean r_Prefix_Step4_Verb() { - int among_var; - // (, line 412 - I_word_len = getCurrent().length(); - // [, line 414 - bra = cursor; - // substring, line 414 - among_var = find_among(a_9, a_9.length); - if (among_var == 0) - { - return false; - } - // ], line 414 - ket = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 415 - if (!(I_word_len > 4)) - { - return false; - } - // set is_verb, line 415 - B_is_verb = true; - // unset is_noun, line 415 - B_is_noun = false; - // <-, line 415 - slice_from("\u0627\u0633\u062A"); + case 45: + slice_from("\u0648"); break; - } - return true; - } - - private boolean r_Suffix_Noun_Step1a() { - int among_var; - // (, line 422 - I_word_len = getCurrent().length(); - // [, line 424 - ket = cursor; - // substring, line 424 - among_var = find_among_b(a_10, a_10.length); - if (among_var == 0) - { - return false; - } - // ], line 424 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 425 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 425 - slice_del(); + case 46: + slice_from("\u0649"); break; - case 2: - // (, line 426 - if (!(I_word_len >= 5)) - { - return false; - } - // delete, line 426 - slice_del(); - break; - case 3: - // (, line 427 - if (!(I_word_len >= 6)) - { - return false; - } - // delete, line 427 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step1b() { - int among_var; - // (, line 430 - I_word_len = getCurrent().length(); - // [, line 432 - ket = cursor; - // substring, line 432 - among_var = find_among_b(a_11, a_11.length); - if (among_var == 0) - { - return false; - } - // ], line 432 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 433 - if (!(I_word_len > 5)) - { - return false; - } - // delete, line 433 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step2a() { - int among_var; - // (, line 437 - I_word_len = getCurrent().length(); - // [, line 439 - ket = cursor; - // substring, line 439 - among_var = find_among_b(a_12, a_12.length); - if (among_var == 0) - { - return false; - } - // ], line 439 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 440 - if (!(I_word_len > 4)) - { - return false; - } - // delete, line 440 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step2b() { - int among_var; - // (, line 444 - I_word_len = getCurrent().length(); - // [, line 446 - ket = cursor; - // substring, line 446 - among_var = find_among_b(a_13, a_13.length); - if (among_var == 0) - { - return false; - } - // ], line 446 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 447 - if (!(I_word_len >= 5)) - { - return false; - } - // delete, line 447 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step2c1() { - int among_var; - // (, line 451 - I_word_len = getCurrent().length(); - // [, line 453 - ket = cursor; - // substring, line 453 - among_var = find_among_b(a_14, a_14.length); - if (among_var == 0) - { - return false; - } - // ], line 453 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 454 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 454 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step2c2() { - int among_var; - // (, line 457 - I_word_len = getCurrent().length(); - // [, line 459 - ket = cursor; - // substring, line 459 - among_var = find_among_b(a_15, a_15.length); - if (among_var == 0) - { - return false; - } - // ], line 459 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 460 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 460 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Noun_Step3() { - int among_var; - // (, line 463 - I_word_len = getCurrent().length(); - // [, line 465 - ket = cursor; - // substring, line 465 - among_var = find_among_b(a_16, a_16.length); - if (among_var == 0) - { - return false; - } - // ], line 465 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 466 - if (!(I_word_len >= 3)) - { - return false; - } - // delete, line 466 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Verb_Step1() { - int among_var; - // (, line 470 - I_word_len = getCurrent().length(); - // [, line 472 - ket = cursor; - // substring, line 472 - among_var = find_among_b(a_17, a_17.length); - if (among_var == 0) - { - return false; - } - // ], line 472 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 473 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 473 - slice_del(); - break; - case 2: - // (, line 474 - if (!(I_word_len >= 5)) - { - return false; - } - // delete, line 474 - slice_del(); - break; - case 3: - // (, line 475 - if (!(I_word_len >= 6)) - { - return false; - } - // delete, line 475 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Verb_Step2a() { - int among_var; - // (, line 478 - I_word_len = getCurrent().length(); - // [, line 480 - ket = cursor; - // substring, line 480 - among_var = find_among_b(a_18, a_18.length); - if (among_var == 0) - { - return false; - } - // ], line 480 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 481 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 481 - slice_del(); - break; - case 2: - // (, line 482 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 482 - slice_del(); - break; - case 3: - // (, line 483 - if (!(I_word_len >= 5)) - { - return false; - } - // delete, line 483 - slice_del(); - break; - case 4: - // (, line 484 - if (!(I_word_len > 5)) - { - return false; - } - // delete, line 484 - slice_del(); - break; - case 5: - // (, line 485 - if (!(I_word_len >= 6)) - { - return false; - } - // delete, line 485 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Verb_Step2b() { - int among_var; - // (, line 489 - I_word_len = getCurrent().length(); - // [, line 491 - ket = cursor; - // substring, line 491 - among_var = find_among_b(a_19, a_19.length); - if (among_var == 0) - { - return false; - } - // ], line 491 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 492 - if (!(I_word_len >= 5)) - { - return false; - } - // delete, line 492 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_Verb_Step2c() { - int among_var; - // (, line 497 - I_word_len = getCurrent().length(); - // [, line 499 - ket = cursor; - // substring, line 499 - among_var = find_among_b(a_20, a_20.length); - if (among_var == 0) - { - return false; - } - // ], line 499 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 500 - if (!(I_word_len >= 4)) - { - return false; - } - // delete, line 500 - slice_del(); - break; - case 2: - // (, line 501 - if (!(I_word_len >= 6)) - { - return false; - } - // delete, line 501 - slice_del(); - break; - } - return true; - } - - private boolean r_Suffix_All_alef_maqsura() { - int among_var; - // (, line 505 - I_word_len = getCurrent().length(); - // [, line 507 - ket = cursor; - // substring, line 507 - among_var = find_among_b(a_21, a_21.length); - if (among_var == 0) - { - return false; - } - // ], line 507 - bra = cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 508 - // <-, line 508 + case 47: slice_from("\u064A"); break; + case 48: + slice_from("\u0644\u0627"); + break; + case 49: + slice_from("\u0644\u0623"); + break; + case 50: + slice_from("\u0644\u0625"); + break; + case 51: + slice_from("\u0644\u0622"); + break; + } + break lab2; + } + cursor = v_3; + if (cursor >= limit) + { + break lab1; + } + cursor++; } - return true; + continue; + } + cursor = v_2; + break; } + } + cursor = v_1; + return true; +} - public boolean stem() { - // (, line 515 - // set is_noun, line 517 - B_is_noun = true; - // set is_verb, line 518 - B_is_verb = true; - // unset is_defined, line 519 - B_is_defined = false; - // do, line 522 - int v_1 = cursor; - lab0: do { - // call Checks1, line 522 - if (!r_Checks1()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 525 - int v_2 = cursor; - lab1: do { - // call Normalize_pre, line 525 - if (!r_Normalize_pre()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 528 - limit_backward = cursor; - cursor = limit; - // (, line 528 - // do, line 530 - int v_3 = limit - cursor; - lab2: do { - // (, line 530 - // or, line 544 - lab3: do { - int v_4 = limit - cursor; - lab4: do { - // (, line 532 - // Boolean test is_verb, line 533 - if (!(B_is_verb)) - { - break lab4; - } - // (, line 534 - // or, line 539 - lab5: do { - int v_5 = limit - cursor; - lab6: do { - // (, line 535 - // (, line 536 - // atleast, line 536 - { - int v_6 = 1; - // atleast, line 536 - replab7: while(true) - { - int v_7 = limit - cursor; - lab8: do { - // call Suffix_Verb_Step1, line 536 - if (!r_Suffix_Verb_Step1()) - { - break lab8; - } - v_6--; - continue replab7; - } while (false); - cursor = limit - v_7; - break replab7; - } - if (v_6 > 0) - { - break lab6; - } - } - // (, line 537 - // or, line 537 - lab9: do { - int v_8 = limit - cursor; - lab10: do { - // call Suffix_Verb_Step2a, line 537 - if (!r_Suffix_Verb_Step2a()) - { - break lab10; - } - break lab9; - } while (false); - cursor = limit - v_8; - lab11: do { - // call Suffix_Verb_Step2c, line 537 - if (!r_Suffix_Verb_Step2c()) - { - break lab11; - } - break lab9; - } while (false); - cursor = limit - v_8; - // next, line 537 - if (cursor <= limit_backward) - { - break lab6; - } - cursor--; - } while (false); - break lab5; - } while (false); - cursor = limit - v_5; - lab12: do { - // call Suffix_Verb_Step2b, line 539 - if (!r_Suffix_Verb_Step2b()) - { - break lab12; - } - break lab5; - } while (false); - cursor = limit - v_5; - // call Suffix_Verb_Step2a, line 540 - if (!r_Suffix_Verb_Step2a()) - { - break lab4; - } - } while (false); - break lab3; - } while (false); - cursor = limit - v_4; - lab13: do { - // (, line 544 - // Boolean test is_noun, line 545 - if (!(B_is_noun)) - { - break lab13; - } - // (, line 546 - // try, line 548 - int v_9 = limit - cursor; - lab14: do { - // (, line 548 - // or, line 550 - lab15: do { - int v_10 = limit - cursor; - lab16: do { - // call Suffix_Noun_Step2c2, line 549 - if (!r_Suffix_Noun_Step2c2()) - { - break lab16; - } - break lab15; - } while (false); - cursor = limit - v_10; - lab17: do { - // (, line 550 - // not, line 550 - lab18: do { - // Boolean test is_defined, line 550 - if (!(B_is_defined)) - { - break lab18; - } - break lab17; - } while (false); - // call Suffix_Noun_Step1a, line 550 - if (!r_Suffix_Noun_Step1a()) - { - break lab17; - } - // (, line 550 - // or, line 552 - lab19: do { - int v_12 = limit - cursor; - lab20: do { - // call Suffix_Noun_Step2a, line 551 - if (!r_Suffix_Noun_Step2a()) - { - break lab20; - } - break lab19; - } while (false); - cursor = limit - v_12; - lab21: do { - // call Suffix_Noun_Step2b, line 552 - if (!r_Suffix_Noun_Step2b()) - { - break lab21; - } - break lab19; - } while (false); - cursor = limit - v_12; - lab22: do { - // call Suffix_Noun_Step2c1, line 553 - if (!r_Suffix_Noun_Step2c1()) - { - break lab22; - } - break lab19; - } while (false); - cursor = limit - v_12; - // next, line 554 - if (cursor <= limit_backward) - { - break lab17; - } - cursor--; - } while (false); - break lab15; - } while (false); - cursor = limit - v_10; - lab23: do { - // (, line 555 - // call Suffix_Noun_Step1b, line 555 - if (!r_Suffix_Noun_Step1b()) - { - break lab23; - } - // (, line 555 - // or, line 557 - lab24: do { - int v_13 = limit - cursor; - lab25: do { - // call Suffix_Noun_Step2a, line 556 - if (!r_Suffix_Noun_Step2a()) - { - break lab25; - } - break lab24; - } while (false); - cursor = limit - v_13; - lab26: do { - // call Suffix_Noun_Step2b, line 557 - if (!r_Suffix_Noun_Step2b()) - { - break lab26; - } - break lab24; - } while (false); - cursor = limit - v_13; - // call Suffix_Noun_Step2c1, line 558 - if (!r_Suffix_Noun_Step2c1()) - { - break lab23; - } - } while (false); - break lab15; - } while (false); - cursor = limit - v_10; - lab27: do { - // (, line 559 - // not, line 559 - lab28: do { - // Boolean test is_defined, line 559 - if (!(B_is_defined)) - { - break lab28; - } - break lab27; - } while (false); - // call Suffix_Noun_Step2a, line 559 - if (!r_Suffix_Noun_Step2a()) - { - break lab27; - } - break lab15; - } while (false); - cursor = limit - v_10; - // (, line 560 - // call Suffix_Noun_Step2b, line 560 - if (!r_Suffix_Noun_Step2b()) - { - cursor = limit - v_9; - break lab14; - } - } while (false); - } while (false); - // call Suffix_Noun_Step3, line 562 - if (!r_Suffix_Noun_Step3()) - { - break lab13; - } - break lab3; - } while (false); - cursor = limit - v_4; - // call Suffix_All_alef_maqsura, line 568 - if (!r_Suffix_All_alef_maqsura()) - { - break lab2; - } - } while (false); - } while (false); - cursor = limit - v_3; - cursor = limit_backward; - // do, line 573 - int v_15 = cursor; - lab29: do { - // (, line 573 - // try, line 574 - int v_16 = cursor; - lab30: do { - // call Prefix_Step1, line 574 - if (!r_Prefix_Step1()) - { - cursor = v_16; - break lab30; - } - } while (false); - // try, line 575 - int v_17 = cursor; - lab31: do { - // call Prefix_Step2, line 575 - if (!r_Prefix_Step2()) - { - cursor = v_17; - break lab31; - } - } while (false); - // (, line 576 - // or, line 577 - lab32: do { - int v_18 = cursor; - lab33: do { - // call Prefix_Step3a_Noun, line 576 - if (!r_Prefix_Step3a_Noun()) - { - break lab33; - } - break lab32; - } while (false); - cursor = v_18; - lab34: do { - // (, line 577 - // Boolean test is_noun, line 577 - if (!(B_is_noun)) - { - break lab34; - } - // call Prefix_Step3b_Noun, line 577 - if (!r_Prefix_Step3b_Noun()) - { - break lab34; - } - break lab32; - } while (false); - cursor = v_18; - // (, line 578 - // Boolean test is_verb, line 578 - if (!(B_is_verb)) - { - break lab29; - } - // try, line 578 - int v_19 = cursor; - lab35: do { - // call Prefix_Step3_Verb, line 578 - if (!r_Prefix_Step3_Verb()) - { - cursor = v_19; - break lab35; - } - } while (false); - // call Prefix_Step4_Verb, line 578 - if (!r_Prefix_Step4_Verb()) - { - break lab29; - } - } while (false); - } while (false); - cursor = v_15; - // do, line 583 - int v_20 = cursor; - lab36: do { - // call Normalize_post, line 583 - if (!r_Normalize_post()) - { - break lab36; - } - } while (false); - cursor = v_20; - return true; +private boolean r_Normalize_post() { + int among_var; + int v_1 = cursor; + lab0: { + limit_backward = cursor; + cursor = limit; + ket = cursor; + if (find_among_b(a_1) == 0) + { + break lab0; } + bra = cursor; + slice_from("\u0621"); + cursor = limit_backward; + } + cursor = v_1; + int v_2 = cursor; + lab1: { + while(true) + { + int v_3 = cursor; + lab2: { + lab3: { + int v_4 = cursor; + lab4: { + bra = cursor; + among_var = find_among(a_2); + if (among_var == 0) + { + break lab4; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("\u0627"); + break; + case 2: + slice_from("\u0648"); + break; + case 3: + slice_from("\u064A"); + break; + } + break lab3; + } + cursor = v_4; + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + continue; + } + cursor = v_3; + break; + } + } + cursor = v_2; + return true; +} - public boolean equals( Object o ) { - return o instanceof ArabicStemmer; - } +private boolean r_Checks1() { + int among_var; + bra = cursor; + among_var = find_among(a_3); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + if (!(limit > 4)) + { + return false; + } + B_is_noun = true; + B_is_verb = false; + B_is_defined = true; + break; + case 2: + if (!(limit > 3)) + { + return false; + } + B_is_noun = true; + B_is_verb = false; + B_is_defined = true; + break; + } + return true; +} - public int hashCode() { - return ArabicStemmer.class.getName().hashCode(); +private boolean r_Prefix_Step1() { + int among_var; + bra = cursor; + among_var = find_among(a_4); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0623"); + break; + case 2: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0622"); + break; + case 3: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0627"); + break; + case 4: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0625"); + break; + } + return true; +} + +private boolean r_Prefix_Step2() { + { + int v_1 = cursor; + lab0: { + if (!(eq_s("\u0641\u0627"))) + { + break lab0; + } + return false; } + cursor = v_1; + } + { + int v_2 = cursor; + lab1: { + if (!(eq_s("\u0648\u0627"))) + { + break lab1; + } + return false; + } + cursor = v_2; + } + bra = cursor; + if (find_among(a_5) == 0) + { + return false; + } + ket = cursor; + if (!(limit > 3)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Prefix_Step3a_Noun() { + int among_var; + bra = cursor; + among_var = find_among(a_6); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + if (!(limit > 5)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit > 4)) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Prefix_Step3b_Noun() { + int among_var; + { + int v_1 = cursor; + lab0: { + if (!(eq_s("\u0628\u0627"))) + { + break lab0; + } + return false; + } + cursor = v_1; + } + bra = cursor; + among_var = find_among(a_7); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + if (!(limit > 3)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0628"); + break; + case 3: + if (!(limit > 3)) + { + return false; + } + slice_from("\u0643"); + break; + } + return true; +} + +private boolean r_Prefix_Step3_Verb() { + int among_var; + bra = cursor; + among_var = find_among(a_8); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + if (!(limit > 4)) + { + return false; + } + slice_from("\u064A"); + break; + case 2: + if (!(limit > 4)) + { + return false; + } + slice_from("\u062A"); + break; + case 3: + if (!(limit > 4)) + { + return false; + } + slice_from("\u0646"); + break; + case 4: + if (!(limit > 4)) + { + return false; + } + slice_from("\u0623"); + break; + } + return true; +} + +private boolean r_Prefix_Step4_Verb() { + bra = cursor; + if (find_among(a_9) == 0) + { + return false; + } + ket = cursor; + if (!(limit > 4)) + { + return false; + } + B_is_verb = true; + B_is_noun = false; + slice_from("\u0627\u0633\u062A"); + return true; +} + +private boolean r_Suffix_Noun_Step1a() { + int among_var; + ket = cursor; + among_var = find_among_b(a_10); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!(limit >= 4)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit >= 5)) + { + return false; + } + slice_del(); + break; + case 3: + if (!(limit >= 6)) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Suffix_Noun_Step1b() { + ket = cursor; + if (find_among_b(a_11) == 0) + { + return false; + } + bra = cursor; + if (!(limit > 5)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Noun_Step2a() { + ket = cursor; + if (find_among_b(a_12) == 0) + { + return false; + } + bra = cursor; + if (!(limit > 4)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Noun_Step2b() { + ket = cursor; + if (find_among_b(a_13) == 0) + { + return false; + } + bra = cursor; + if (!(limit >= 5)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Noun_Step2c1() { + ket = cursor; + if (find_among_b(a_14) == 0) + { + return false; + } + bra = cursor; + if (!(limit >= 4)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Noun_Step2c2() { + ket = cursor; + if (find_among_b(a_15) == 0) + { + return false; + } + bra = cursor; + if (!(limit >= 4)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Noun_Step3() { + ket = cursor; + if (find_among_b(a_16) == 0) + { + return false; + } + bra = cursor; + if (!(limit >= 3)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Verb_Step1() { + int among_var; + ket = cursor; + among_var = find_among_b(a_17); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!(limit >= 4)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit >= 5)) + { + return false; + } + slice_del(); + break; + case 3: + if (!(limit >= 6)) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Suffix_Verb_Step2a() { + int among_var; + ket = cursor; + among_var = find_among_b(a_18); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!(limit >= 4)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit >= 5)) + { + return false; + } + slice_del(); + break; + case 3: + if (!(limit > 5)) + { + return false; + } + slice_del(); + break; + case 4: + if (!(limit >= 6)) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Suffix_Verb_Step2b() { + ket = cursor; + if (find_among_b(a_19) == 0) + { + return false; + } + bra = cursor; + if (!(limit >= 5)) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_Suffix_Verb_Step2c() { + int among_var; + ket = cursor; + among_var = find_among_b(a_20); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!(limit >= 4)) + { + return false; + } + slice_del(); + break; + case 2: + if (!(limit >= 6)) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Suffix_All_alef_maqsura() { + ket = cursor; + if (find_among_b(a_21) == 0) + { + return false; + } + bra = cursor; + slice_from("\u064A"); + return true; +} + +public boolean stem() { + B_is_noun = true; + B_is_verb = true; + B_is_defined = false; + int v_1 = cursor; + r_Checks1(); + cursor = v_1; + r_Normalize_pre(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + lab0: { + lab1: { + int v_4 = limit - cursor; + lab2: { + if (!(B_is_verb)) + { + break lab2; + } + lab3: { + int v_5 = limit - cursor; + lab4: { + { + int v_6 = 1; + while(true) + { + int v_7 = limit - cursor; + lab5: { + if (!r_Suffix_Verb_Step1()) + { + break lab5; + } + v_6--; + continue; + } + cursor = limit - v_7; + break; + } + if (v_6 > 0) + { + break lab4; + } + } + lab6: { + int v_8 = limit - cursor; + lab7: { + if (!r_Suffix_Verb_Step2a()) + { + break lab7; + } + break lab6; + } + cursor = limit - v_8; + lab8: { + if (!r_Suffix_Verb_Step2c()) + { + break lab8; + } + break lab6; + } + cursor = limit - v_8; + if (cursor <= limit_backward) + { + break lab4; + } + cursor--; + } + break lab3; + } + cursor = limit - v_5; + lab9: { + if (!r_Suffix_Verb_Step2b()) + { + break lab9; + } + break lab3; + } + cursor = limit - v_5; + if (!r_Suffix_Verb_Step2a()) + { + break lab2; + } + } + break lab1; + } + cursor = limit - v_4; + lab10: { + if (!(B_is_noun)) + { + break lab10; + } + int v_9 = limit - cursor; + lab11: { + lab12: { + int v_10 = limit - cursor; + lab13: { + if (!r_Suffix_Noun_Step2c2()) + { + break lab13; + } + break lab12; + } + cursor = limit - v_10; + lab14: { + lab15: { + if (!(B_is_defined)) + { + break lab15; + } + break lab14; + } + if (!r_Suffix_Noun_Step1a()) + { + break lab14; + } + lab16: { + int v_12 = limit - cursor; + lab17: { + if (!r_Suffix_Noun_Step2a()) + { + break lab17; + } + break lab16; + } + cursor = limit - v_12; + lab18: { + if (!r_Suffix_Noun_Step2b()) + { + break lab18; + } + break lab16; + } + cursor = limit - v_12; + lab19: { + if (!r_Suffix_Noun_Step2c1()) + { + break lab19; + } + break lab16; + } + cursor = limit - v_12; + if (cursor <= limit_backward) + { + break lab14; + } + cursor--; + } + break lab12; + } + cursor = limit - v_10; + lab20: { + if (!r_Suffix_Noun_Step1b()) + { + break lab20; + } + lab21: { + int v_13 = limit - cursor; + lab22: { + if (!r_Suffix_Noun_Step2a()) + { + break lab22; + } + break lab21; + } + cursor = limit - v_13; + lab23: { + if (!r_Suffix_Noun_Step2b()) + { + break lab23; + } + break lab21; + } + cursor = limit - v_13; + if (!r_Suffix_Noun_Step2c1()) + { + break lab20; + } + } + break lab12; + } + cursor = limit - v_10; + lab24: { + lab25: { + if (!(B_is_defined)) + { + break lab25; + } + break lab24; + } + if (!r_Suffix_Noun_Step2a()) + { + break lab24; + } + break lab12; + } + cursor = limit - v_10; + if (!r_Suffix_Noun_Step2b()) + { + cursor = limit - v_9; + break lab11; + } + } + } + if (!r_Suffix_Noun_Step3()) + { + break lab10; + } + break lab1; + } + cursor = limit - v_4; + if (!r_Suffix_All_alef_maqsura()) + { + break lab0; + } + } + } + cursor = limit - v_3; + cursor = limit_backward; + int v_15 = cursor; + lab26: { + int v_16 = cursor; + lab27: { + if (!r_Prefix_Step1()) + { + cursor = v_16; + break lab27; + } + } + int v_17 = cursor; + lab28: { + if (!r_Prefix_Step2()) + { + cursor = v_17; + break lab28; + } + } + lab29: { + int v_18 = cursor; + lab30: { + if (!r_Prefix_Step3a_Noun()) + { + break lab30; + } + break lab29; + } + cursor = v_18; + lab31: { + if (!(B_is_noun)) + { + break lab31; + } + if (!r_Prefix_Step3b_Noun()) + { + break lab31; + } + break lab29; + } + cursor = v_18; + if (!(B_is_verb)) + { + break lab26; + } + int v_19 = cursor; + lab32: { + if (!r_Prefix_Step3_Verb()) + { + cursor = v_19; + break lab32; + } + } + if (!r_Prefix_Step4_Verb()) + { + break lab26; + } + } + } + cursor = v_15; + r_Normalize_post(); + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof ArabicStemmer; +} + +@Override +public int hashCode() { + return ArabicStemmer.class.getName().hashCode(); +} } + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArmenianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArmenianStemmer.java index d11d8598069..60553c3908e 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArmenianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ArmenianStemmer.java @@ -1,517 +1,394 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class ArmenianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class ArmenianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("\u0580\u0578\u0580\u0564", -1, 1), + new Among("\u0565\u0580\u0578\u0580\u0564", 0, 1), + new Among("\u0561\u056C\u056B", -1, 1), + new Among("\u0561\u056F\u056B", -1, 1), + new Among("\u0578\u0580\u0561\u056F", -1, 1), + new Among("\u0565\u0572", -1, 1), + new Among("\u0561\u056F\u0561\u0576", -1, 1), + new Among("\u0561\u0580\u0561\u0576", -1, 1), + new Among("\u0565\u0576", -1, 1), + new Among("\u0565\u056F\u0565\u0576", 8, 1), + new Among("\u0565\u0580\u0565\u0576", 8, 1), + new Among("\u0578\u0580\u0567\u0576", -1, 1), + new Among("\u056B\u0576", -1, 1), + new Among("\u0563\u056B\u0576", 12, 1), + new Among("\u0578\u057E\u056B\u0576", 12, 1), + new Among("\u056C\u0561\u0575\u0576", -1, 1), + new Among("\u057E\u0578\u0582\u0576", -1, 1), + new Among("\u057A\u0565\u057D", -1, 1), + new Among("\u056B\u057E", -1, 1), + new Among("\u0561\u057F", -1, 1), + new Among("\u0561\u057E\u0565\u057F", -1, 1), + new Among("\u056F\u0578\u057F", -1, 1), + new Among("\u0562\u0561\u0580", -1, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("\u0561", -1, 1), + new Among("\u0561\u0581\u0561", 0, 1), + new Among("\u0565\u0581\u0561", 0, 1), + new Among("\u057E\u0565", -1, 1), + new Among("\u0561\u0581\u0580\u056B", -1, 1), + new Among("\u0561\u0581\u056B", -1, 1), + new Among("\u0565\u0581\u056B", -1, 1), + new Among("\u057E\u0565\u0581\u056B", 6, 1), + new Among("\u0561\u056C", -1, 1), + new Among("\u0568\u0561\u056C", 8, 1), + new Among("\u0561\u0576\u0561\u056C", 8, 1), + new Among("\u0565\u0576\u0561\u056C", 8, 1), + new Among("\u0561\u0581\u0576\u0561\u056C", 8, 1), + new Among("\u0565\u056C", -1, 1), + new Among("\u0568\u0565\u056C", 13, 1), + new Among("\u0576\u0565\u056C", 13, 1), + new Among("\u0581\u0576\u0565\u056C", 15, 1), + new Among("\u0565\u0581\u0576\u0565\u056C", 16, 1), + new Among("\u0579\u0565\u056C", 13, 1), + new Among("\u057E\u0565\u056C", 13, 1), + new Among("\u0561\u0581\u057E\u0565\u056C", 19, 1), + new Among("\u0565\u0581\u057E\u0565\u056C", 19, 1), + new Among("\u057F\u0565\u056C", 13, 1), + new Among("\u0561\u057F\u0565\u056C", 22, 1), + new Among("\u0578\u057F\u0565\u056C", 22, 1), + new Among("\u056F\u0578\u057F\u0565\u056C", 24, 1), + new Among("\u057E\u0561\u056E", -1, 1), + new Among("\u0578\u0582\u0574", -1, 1), + new Among("\u057E\u0578\u0582\u0574", 27, 1), + new Among("\u0561\u0576", -1, 1), + new Among("\u0581\u0561\u0576", 29, 1), + new Among("\u0561\u0581\u0561\u0576", 30, 1), + new Among("\u0561\u0581\u0580\u056B\u0576", -1, 1), + new Among("\u0561\u0581\u056B\u0576", -1, 1), + new Among("\u0565\u0581\u056B\u0576", -1, 1), + new Among("\u057E\u0565\u0581\u056B\u0576", 34, 1), + new Among("\u0561\u056C\u056B\u057D", -1, 1), + new Among("\u0565\u056C\u056B\u057D", -1, 1), + new Among("\u0561\u057E", -1, 1), + new Among("\u0561\u0581\u0561\u057E", 38, 1), + new Among("\u0565\u0581\u0561\u057E", 38, 1), + new Among("\u0561\u056C\u0578\u057E", -1, 1), + new Among("\u0565\u056C\u0578\u057E", -1, 1), + new Among("\u0561\u0580", -1, 1), + new Among("\u0561\u0581\u0561\u0580", 43, 1), + new Among("\u0565\u0581\u0561\u0580", 43, 1), + new Among("\u0561\u0581\u0580\u056B\u0580", -1, 1), + new Among("\u0561\u0581\u056B\u0580", -1, 1), + new Among("\u0565\u0581\u056B\u0580", -1, 1), + new Among("\u057E\u0565\u0581\u056B\u0580", 48, 1), + new Among("\u0561\u0581", -1, 1), + new Among("\u0565\u0581", -1, 1), + new Among("\u0561\u0581\u0580\u0565\u0581", 51, 1), + new Among("\u0561\u056C\u0578\u0582\u0581", -1, 1), + new Among("\u0565\u056C\u0578\u0582\u0581", -1, 1), + new Among("\u0561\u056C\u0578\u0582", -1, 1), + new Among("\u0565\u056C\u0578\u0582", -1, 1), + new Among("\u0561\u0584", -1, 1), + new Among("\u0581\u0561\u0584", 57, 1), + new Among("\u0561\u0581\u0561\u0584", 58, 1), + new Among("\u0561\u0581\u0580\u056B\u0584", -1, 1), + new Among("\u0561\u0581\u056B\u0584", -1, 1), + new Among("\u0565\u0581\u056B\u0584", -1, 1), + new Among("\u057E\u0565\u0581\u056B\u0584", 62, 1), + new Among("\u0561\u0576\u0584", -1, 1), + new Among("\u0581\u0561\u0576\u0584", 64, 1), + new Among("\u0561\u0581\u0561\u0576\u0584", 65, 1), + new Among("\u0561\u0581\u0580\u056B\u0576\u0584", -1, 1), + new Among("\u0561\u0581\u056B\u0576\u0584", -1, 1), + new Among("\u0565\u0581\u056B\u0576\u0584", -1, 1), + new Among("\u057E\u0565\u0581\u056B\u0576\u0584", 69, 1) +}; - private final static Among a_0[] = { - new Among ( "\u0580\u0578\u0580\u0564", -1, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0578\u0580\u0564", 0, 1, "", methodObject ), - new Among ( "\u0561\u056C\u056B", -1, 1, "", methodObject ), - new Among ( "\u0561\u056F\u056B", -1, 1, "", methodObject ), - new Among ( "\u0578\u0580\u0561\u056F", -1, 1, "", methodObject ), - new Among ( "\u0565\u0572", -1, 1, "", methodObject ), - new Among ( "\u0561\u056F\u0561\u0576", -1, 1, "", methodObject ), - new Among ( "\u0561\u0580\u0561\u0576", -1, 1, "", methodObject ), - new Among ( "\u0565\u0576", -1, 1, "", methodObject ), - new Among ( "\u0565\u056F\u0565\u0576", 8, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0565\u0576", 8, 1, "", methodObject ), - new Among ( "\u0578\u0580\u0567\u0576", -1, 1, "", methodObject ), - new Among ( "\u056B\u0576", -1, 1, "", methodObject ), - new Among ( "\u0563\u056B\u0576", 12, 1, "", methodObject ), - new Among ( "\u0578\u057E\u056B\u0576", 12, 1, "", methodObject ), - new Among ( "\u056C\u0561\u0575\u0576", -1, 1, "", methodObject ), - new Among ( "\u057E\u0578\u0582\u0576", -1, 1, "", methodObject ), - new Among ( "\u057A\u0565\u057D", -1, 1, "", methodObject ), - new Among ( "\u056B\u057E", -1, 1, "", methodObject ), - new Among ( "\u0561\u057F", -1, 1, "", methodObject ), - new Among ( "\u0561\u057E\u0565\u057F", -1, 1, "", methodObject ), - new Among ( "\u056F\u0578\u057F", -1, 1, "", methodObject ), - new Among ( "\u0562\u0561\u0580", -1, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("\u0578\u0580\u0564", -1, 1), + new Among("\u0578\u0582\u0575\u0569", -1, 1), + new Among("\u0578\u0582\u0570\u056B", -1, 1), + new Among("\u0581\u056B", -1, 1), + new Among("\u056B\u056C", -1, 1), + new Among("\u0561\u056F", -1, 1), + new Among("\u0575\u0561\u056F", 5, 1), + new Among("\u0561\u0576\u0561\u056F", 5, 1), + new Among("\u056B\u056F", -1, 1), + new Among("\u0578\u0582\u056F", -1, 1), + new Among("\u0561\u0576", -1, 1), + new Among("\u057A\u0561\u0576", 10, 1), + new Among("\u057D\u057F\u0561\u0576", 10, 1), + new Among("\u0561\u0580\u0561\u0576", 10, 1), + new Among("\u0565\u0572\u0567\u0576", -1, 1), + new Among("\u0575\u0578\u0582\u0576", -1, 1), + new Among("\u0578\u0582\u0569\u0575\u0578\u0582\u0576", 15, 1), + new Among("\u0561\u056E\u0578", -1, 1), + new Among("\u056B\u0579", -1, 1), + new Among("\u0578\u0582\u057D", -1, 1), + new Among("\u0578\u0582\u057D\u057F", -1, 1), + new Among("\u0563\u0561\u0580", -1, 1), + new Among("\u057E\u0578\u0580", -1, 1), + new Among("\u0561\u057E\u0578\u0580", 22, 1), + new Among("\u0578\u0581", -1, 1), + new Among("\u0561\u0576\u0585\u0581", -1, 1), + new Among("\u0578\u0582", -1, 1), + new Among("\u0584", -1, 1), + new Among("\u0579\u0565\u0584", 27, 1), + new Among("\u056B\u0584", 27, 1), + new Among("\u0561\u056C\u056B\u0584", 29, 1), + new Among("\u0561\u0576\u056B\u0584", 29, 1), + new Among("\u057E\u0561\u056E\u0584", 27, 1), + new Among("\u0578\u0582\u0575\u0584", 27, 1), + new Among("\u0565\u0576\u0584", 27, 1), + new Among("\u0578\u0576\u0584", 27, 1), + new Among("\u0578\u0582\u0576\u0584", 27, 1), + new Among("\u0574\u0578\u0582\u0576\u0584", 36, 1), + new Among("\u056B\u0579\u0584", 27, 1), + new Among("\u0561\u0580\u0584", 27, 1) +}; - private final static Among a_1[] = { - new Among ( "\u0561", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561", 0, 1, "", methodObject ), - new Among ( "\u0565\u0581\u0561", 0, 1, "", methodObject ), - new Among ( "\u057E\u0565", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u056B", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u056B", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581\u056B", -1, 1, "", methodObject ), - new Among ( "\u057E\u0565\u0581\u056B", 6, 1, "", methodObject ), - new Among ( "\u0561\u056C", -1, 1, "", methodObject ), - new Among ( "\u0568\u0561\u056C", 8, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0561\u056C", 8, 1, "", methodObject ), - new Among ( "\u0565\u0576\u0561\u056C", 8, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0576\u0561\u056C", 8, 1, "", methodObject ), - new Among ( "\u0565\u056C", -1, 1, "", methodObject ), - new Among ( "\u0568\u0565\u056C", 13, 1, "", methodObject ), - new Among ( "\u0576\u0565\u056C", 13, 1, "", methodObject ), - new Among ( "\u0581\u0576\u0565\u056C", 15, 1, "", methodObject ), - new Among ( "\u0565\u0581\u0576\u0565\u056C", 16, 1, "", methodObject ), - new Among ( "\u0579\u0565\u056C", 13, 1, "", methodObject ), - new Among ( "\u057E\u0565\u056C", 13, 1, "", methodObject ), - new Among ( "\u0561\u0581\u057E\u0565\u056C", 19, 1, "", methodObject ), - new Among ( "\u0565\u0581\u057E\u0565\u056C", 19, 1, "", methodObject ), - new Among ( "\u057F\u0565\u056C", 13, 1, "", methodObject ), - new Among ( "\u0561\u057F\u0565\u056C", 22, 1, "", methodObject ), - new Among ( "\u0578\u057F\u0565\u056C", 22, 1, "", methodObject ), - new Among ( "\u056F\u0578\u057F\u0565\u056C", 24, 1, "", methodObject ), - new Among ( "\u057E\u0561\u056E", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0574", -1, 1, "", methodObject ), - new Among ( "\u057E\u0578\u0582\u0574", 27, 1, "", methodObject ), - new Among ( "\u0561\u0576", -1, 1, "", methodObject ), - new Among ( "\u0581\u0561\u0576", 29, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561\u0576", 30, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u056B\u0576", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u056B\u0576", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581\u056B\u0576", -1, 1, "", methodObject ), - new Among ( "\u057E\u0565\u0581\u056B\u0576", 34, 1, "", methodObject ), - new Among ( "\u0561\u056C\u056B\u057D", -1, 1, "", methodObject ), - new Among ( "\u0565\u056C\u056B\u057D", -1, 1, "", methodObject ), - new Among ( "\u0561\u057E", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561\u057E", 38, 1, "", methodObject ), - new Among ( "\u0565\u0581\u0561\u057E", 38, 1, "", methodObject ), - new Among ( "\u0561\u056C\u0578\u057E", -1, 1, "", methodObject ), - new Among ( "\u0565\u056C\u0578\u057E", -1, 1, "", methodObject ), - new Among ( "\u0561\u0580", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561\u0580", 43, 1, "", methodObject ), - new Among ( "\u0565\u0581\u0561\u0580", 43, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u056B\u0580", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u056B\u0580", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581\u056B\u0580", -1, 1, "", methodObject ), - new Among ( "\u057E\u0565\u0581\u056B\u0580", 48, 1, "", methodObject ), - new Among ( "\u0561\u0581", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u0565\u0581", 51, 1, "", methodObject ), - new Among ( "\u0561\u056C\u0578\u0582\u0581", -1, 1, "", methodObject ), - new Among ( "\u0565\u056C\u0578\u0582\u0581", -1, 1, "", methodObject ), - new Among ( "\u0561\u056C\u0578\u0582", -1, 1, "", methodObject ), - new Among ( "\u0565\u056C\u0578\u0582", -1, 1, "", methodObject ), - new Among ( "\u0561\u0584", -1, 1, "", methodObject ), - new Among ( "\u0581\u0561\u0584", 57, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561\u0584", 58, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u056B\u0584", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u056B\u0584", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581\u056B\u0584", -1, 1, "", methodObject ), - new Among ( "\u057E\u0565\u0581\u056B\u0584", 62, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0584", -1, 1, "", methodObject ), - new Among ( "\u0581\u0561\u0576\u0584", 64, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0561\u0576\u0584", 65, 1, "", methodObject ), - new Among ( "\u0561\u0581\u0580\u056B\u0576\u0584", -1, 1, "", methodObject ), - new Among ( "\u0561\u0581\u056B\u0576\u0584", -1, 1, "", methodObject ), - new Among ( "\u0565\u0581\u056B\u0576\u0584", -1, 1, "", methodObject ), - new Among ( "\u057E\u0565\u0581\u056B\u0576\u0584", 69, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("\u057D\u0561", -1, 1), + new Among("\u057E\u0561", -1, 1), + new Among("\u0561\u0574\u0562", -1, 1), + new Among("\u0564", -1, 1), + new Among("\u0561\u0576\u0564", 3, 1), + new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0564", 4, 1), + new Among("\u057E\u0561\u0576\u0564", 4, 1), + new Among("\u0578\u057B\u0564", 3, 1), + new Among("\u0565\u0580\u0564", 3, 1), + new Among("\u0576\u0565\u0580\u0564", 8, 1), + new Among("\u0578\u0582\u0564", 3, 1), + new Among("\u0568", -1, 1), + new Among("\u0561\u0576\u0568", 11, 1), + new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0568", 12, 1), + new Among("\u057E\u0561\u0576\u0568", 12, 1), + new Among("\u0578\u057B\u0568", 11, 1), + new Among("\u0565\u0580\u0568", 11, 1), + new Among("\u0576\u0565\u0580\u0568", 16, 1), + new Among("\u056B", -1, 1), + new Among("\u057E\u056B", 18, 1), + new Among("\u0565\u0580\u056B", 18, 1), + new Among("\u0576\u0565\u0580\u056B", 20, 1), + new Among("\u0561\u0576\u0578\u0582\u0574", -1, 1), + new Among("\u0565\u0580\u0578\u0582\u0574", -1, 1), + new Among("\u0576\u0565\u0580\u0578\u0582\u0574", 23, 1), + new Among("\u0576", -1, 1), + new Among("\u0561\u0576", 25, 1), + new Among("\u0578\u0582\u0569\u0575\u0561\u0576", 26, 1), + new Among("\u057E\u0561\u0576", 26, 1), + new Among("\u056B\u0576", 25, 1), + new Among("\u0565\u0580\u056B\u0576", 29, 1), + new Among("\u0576\u0565\u0580\u056B\u0576", 30, 1), + new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0576", 25, 1), + new Among("\u0565\u0580\u0576", 25, 1), + new Among("\u0576\u0565\u0580\u0576", 33, 1), + new Among("\u0578\u0582\u0576", 25, 1), + new Among("\u0578\u057B", -1, 1), + new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u057D", -1, 1), + new Among("\u057E\u0561\u0576\u057D", -1, 1), + new Among("\u0578\u057B\u057D", -1, 1), + new Among("\u0578\u057E", -1, 1), + new Among("\u0561\u0576\u0578\u057E", 40, 1), + new Among("\u057E\u0578\u057E", 40, 1), + new Among("\u0565\u0580\u0578\u057E", 40, 1), + new Among("\u0576\u0565\u0580\u0578\u057E", 43, 1), + new Among("\u0565\u0580", -1, 1), + new Among("\u0576\u0565\u0580", 45, 1), + new Among("\u0581", -1, 1), + new Among("\u056B\u0581", 47, 1), + new Among("\u057E\u0561\u0576\u056B\u0581", 48, 1), + new Among("\u0578\u057B\u056B\u0581", 48, 1), + new Among("\u057E\u056B\u0581", 48, 1), + new Among("\u0565\u0580\u056B\u0581", 48, 1), + new Among("\u0576\u0565\u0580\u056B\u0581", 52, 1), + new Among("\u0581\u056B\u0581", 48, 1), + new Among("\u0578\u0581", 47, 1), + new Among("\u0578\u0582\u0581", 47, 1) +}; - private final static Among a_2[] = { - new Among ( "\u0578\u0580\u0564", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0575\u0569", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0570\u056B", -1, 1, "", methodObject ), - new Among ( "\u0581\u056B", -1, 1, "", methodObject ), - new Among ( "\u056B\u056C", -1, 1, "", methodObject ), - new Among ( "\u0561\u056F", -1, 1, "", methodObject ), - new Among ( "\u0575\u0561\u056F", 5, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0561\u056F", 5, 1, "", methodObject ), - new Among ( "\u056B\u056F", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u056F", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576", -1, 1, "", methodObject ), - new Among ( "\u057A\u0561\u0576", 10, 1, "", methodObject ), - new Among ( "\u057D\u057F\u0561\u0576", 10, 1, "", methodObject ), - new Among ( "\u0561\u0580\u0561\u0576", 10, 1, "", methodObject ), - new Among ( "\u0565\u0572\u0567\u0576", -1, 1, "", methodObject ), - new Among ( "\u0575\u0578\u0582\u0576", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0578\u0582\u0576", 15, 1, "", methodObject ), - new Among ( "\u0561\u056E\u0578", -1, 1, "", methodObject ), - new Among ( "\u056B\u0579", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u057D", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u057D\u057F", -1, 1, "", methodObject ), - new Among ( "\u0563\u0561\u0580", -1, 1, "", methodObject ), - new Among ( "\u057E\u0578\u0580", -1, 1, "", methodObject ), - new Among ( "\u0561\u057E\u0578\u0580", 22, 1, "", methodObject ), - new Among ( "\u0578\u0581", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0585\u0581", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582", -1, 1, "", methodObject ), - new Among ( "\u0584", -1, 1, "", methodObject ), - new Among ( "\u0579\u0565\u0584", 27, 1, "", methodObject ), - new Among ( "\u056B\u0584", 27, 1, "", methodObject ), - new Among ( "\u0561\u056C\u056B\u0584", 29, 1, "", methodObject ), - new Among ( "\u0561\u0576\u056B\u0584", 29, 1, "", methodObject ), - new Among ( "\u057E\u0561\u056E\u0584", 27, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0575\u0584", 27, 1, "", methodObject ), - new Among ( "\u0565\u0576\u0584", 27, 1, "", methodObject ), - new Among ( "\u0578\u0576\u0584", 27, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0576\u0584", 27, 1, "", methodObject ), - new Among ( "\u0574\u0578\u0582\u0576\u0584", 36, 1, "", methodObject ), - new Among ( "\u056B\u0579\u0584", 27, 1, "", methodObject ), - new Among ( "\u0561\u0580\u0584", 27, 1, "", methodObject ) - }; +private static final char g_v[] = {209, 4, 128, 0, 18 }; - private final static Among a_3[] = { - new Among ( "\u057D\u0561", -1, 1, "", methodObject ), - new Among ( "\u057E\u0561", -1, 1, "", methodObject ), - new Among ( "\u0561\u0574\u0562", -1, 1, "", methodObject ), - new Among ( "\u0564", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0564", 3, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0561\u0576\u0564", 4, 1, "", methodObject ), - new Among ( "\u057E\u0561\u0576\u0564", 4, 1, "", methodObject ), - new Among ( "\u0578\u057B\u0564", 3, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0564", 3, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u0564", 8, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0564", 3, 1, "", methodObject ), - new Among ( "\u0568", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0568", 11, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0561\u0576\u0568", 12, 1, "", methodObject ), - new Among ( "\u057E\u0561\u0576\u0568", 12, 1, "", methodObject ), - new Among ( "\u0578\u057B\u0568", 11, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0568", 11, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u0568", 16, 1, "", methodObject ), - new Among ( "\u056B", -1, 1, "", methodObject ), - new Among ( "\u057E\u056B", 18, 1, "", methodObject ), - new Among ( "\u0565\u0580\u056B", 18, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u056B", 20, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0578\u0582\u0574", -1, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0578\u0582\u0574", -1, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u0578\u0582\u0574", 23, 1, "", methodObject ), - new Among ( "\u0576", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576", 25, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0561\u0576", 26, 1, "", methodObject ), - new Among ( "\u057E\u0561\u0576", 26, 1, "", methodObject ), - new Among ( "\u056B\u0576", 25, 1, "", methodObject ), - new Among ( "\u0565\u0580\u056B\u0576", 29, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u056B\u0576", 30, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0561\u0576\u0576", 25, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0576", 25, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u0576", 33, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0576", 25, 1, "", methodObject ), - new Among ( "\u0578\u057B", -1, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0569\u0575\u0561\u0576\u057D", -1, 1, "", methodObject ), - new Among ( "\u057E\u0561\u0576\u057D", -1, 1, "", methodObject ), - new Among ( "\u0578\u057B\u057D", -1, 1, "", methodObject ), - new Among ( "\u0578\u057E", -1, 1, "", methodObject ), - new Among ( "\u0561\u0576\u0578\u057E", 40, 1, "", methodObject ), - new Among ( "\u057E\u0578\u057E", 40, 1, "", methodObject ), - new Among ( "\u0565\u0580\u0578\u057E", 40, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u0578\u057E", 43, 1, "", methodObject ), - new Among ( "\u0565\u0580", -1, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580", 45, 1, "", methodObject ), - new Among ( "\u0581", -1, 1, "", methodObject ), - new Among ( "\u056B\u0581", 47, 1, "", methodObject ), - new Among ( "\u057E\u0561\u0576\u056B\u0581", 48, 1, "", methodObject ), - new Among ( "\u0578\u057B\u056B\u0581", 48, 1, "", methodObject ), - new Among ( "\u057E\u056B\u0581", 48, 1, "", methodObject ), - new Among ( "\u0565\u0580\u056B\u0581", 48, 1, "", methodObject ), - new Among ( "\u0576\u0565\u0580\u056B\u0581", 52, 1, "", methodObject ), - new Among ( "\u0581\u056B\u0581", 48, 1, "", methodObject ), - new Among ( "\u0578\u0581", 47, 1, "", methodObject ), - new Among ( "\u0578\u0582\u0581", 47, 1, "", methodObject ) - }; +private int I_p2; +private int I_pV; - private static final char g_v[] = {209, 4, 128, 0, 18 }; - private int I_p2; - private int I_pV; - - private void copy_from(ArmenianStemmer other) { - I_p2 = other.I_p2; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - // (, line 58 - I_pV = limit; - I_p2 = limit; - // do, line 62 - v_1 = cursor; - lab0: do { - // (, line 62 - // gopast, line 63 - golab1: while(true) - { - lab2: do { - if (!(in_grouping(g_v, 1377, 1413))) - { - break lab2; - } - break golab1; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark pV, line 63 - I_pV = cursor; - // gopast, line 63 - golab3: while(true) - { - lab4: do { - if (!(out_grouping(g_v, 1377, 1413))) - { - break lab4; - } - break golab3; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 64 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 1377, 1413))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 64 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 1377, 1413))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p2, line 64 - I_p2 = cursor; - } while (false); - cursor = v_1; - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_adjective() { - int among_var; - // (, line 72 - // [, line 73 - ket = cursor; - // substring, line 73 - among_var = find_among_b(a_0, 23); - if (among_var == 0) - { - return false; - } - // ], line 73 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 98 - // delete, line 98 - slice_del(); - break; - } - return true; - } - - private boolean r_verb() { - int among_var; - // (, line 102 - // [, line 103 - ket = cursor; - // substring, line 103 - among_var = find_among_b(a_1, 71); - if (among_var == 0) - { - return false; - } - // ], line 103 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 176 - // delete, line 176 - slice_del(); - break; - } - return true; - } - - private boolean r_noun() { - int among_var; - // (, line 180 - // [, line 181 - ket = cursor; - // substring, line 181 - among_var = find_among_b(a_2, 40); - if (among_var == 0) - { - return false; - } - // ], line 181 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 223 - // delete, line 223 - slice_del(); - break; - } - return true; - } - - private boolean r_ending() { - int among_var; - // (, line 227 - // [, line 228 - ket = cursor; - // substring, line 228 - among_var = find_among_b(a_3, 57); - if (among_var == 0) - { - return false; - } - // ], line 228 - bra = cursor; - // call R2, line 228 - if (!r_R2()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 287 - // delete, line 287 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 292 - // do, line 294 - v_1 = cursor; - lab0: do { - // call mark_regions, line 294 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 295 - limit_backward = cursor; cursor = limit; - // setlimit, line 295 - v_2 = limit - cursor; - // tomark, line 295 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 295 - // do, line 296 - v_4 = limit - cursor; - lab1: do { - // call ending, line 296 - if (!r_ending()) - { - break lab1; - } - } while (false); - cursor = limit - v_4; - // do, line 297 - v_5 = limit - cursor; - lab2: do { - // call verb, line 297 - if (!r_verb()) - { - break lab2; - } - } while (false); - cursor = limit - v_5; - // do, line 298 - v_6 = limit - cursor; - lab3: do { - // call adjective, line 298 - if (!r_adjective()) - { - break lab3; - } - } while (false); - cursor = limit - v_6; - // do, line 299 - v_7 = limit - cursor; - lab4: do { - // call noun, line 299 - if (!r_noun()) - { - break lab4; - } - } while (false); - cursor = limit - v_7; - limit_backward = v_3; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof ArmenianStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_v, 1377, 1413))) + { + break lab2; } - - @Override - public int hashCode() { - return ArmenianStemmer.class.getName().hashCode(); + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_pV = cursor; + golab3: while(true) + { + lab4: { + if (!(out_grouping(g_v, 1377, 1413))) + { + break lab4; } + break golab3; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 1377, 1413))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 1377, 1413))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_1; + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_adjective() { + ket = cursor; + if (find_among_b(a_0) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_verb() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_noun() { + ket = cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_ending() { + ket = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + slice_del(); + return true; +} + +public boolean stem() { + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + if (cursor < I_pV) + { + return false; + } + int v_3 = limit_backward; + limit_backward = I_pV; + int v_4 = limit - cursor; + r_ending(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_verb(); + cursor = limit - v_5; + int v_6 = limit - cursor; + r_adjective(); + cursor = limit - v_6; + int v_7 = limit - cursor; + r_noun(); + cursor = limit - v_7; + limit_backward = v_3; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof ArmenianStemmer; +} + +@Override +public int hashCode() { + return ArmenianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/BasqueStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/BasqueStemmer.java index ce6927dcb1c..6da8ed7068d 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/BasqueStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/BasqueStemmer.java @@ -1,940 +1,820 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class BasqueStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class BasqueStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("idea", -1, 1), + new Among("bidea", 0, 1), + new Among("kidea", 0, 1), + new Among("pidea", 0, 1), + new Among("kundea", -1, 1), + new Among("galea", -1, 1), + new Among("tailea", -1, 1), + new Among("tzailea", -1, 1), + new Among("gunea", -1, 1), + new Among("kunea", -1, 1), + new Among("tzaga", -1, 1), + new Among("gaia", -1, 1), + new Among("aldia", -1, 1), + new Among("taldia", 12, 1), + new Among("karia", -1, 1), + new Among("garria", -1, 2), + new Among("karria", -1, 1), + new Among("ka", -1, 1), + new Among("tzaka", 17, 1), + new Among("la", -1, 1), + new Among("mena", -1, 1), + new Among("pena", -1, 1), + new Among("kina", -1, 1), + new Among("ezina", -1, 1), + new Among("tezina", 23, 1), + new Among("kuna", -1, 1), + new Among("tuna", -1, 1), + new Among("kizuna", -1, 1), + new Among("era", -1, 1), + new Among("bera", 28, 1), + new Among("arabera", 29, 4), + new Among("kera", 28, 1), + new Among("pera", 28, 1), + new Among("orra", -1, 1), + new Among("korra", 33, 1), + new Among("dura", -1, 1), + new Among("gura", -1, 1), + new Among("kura", -1, 1), + new Among("tura", -1, 1), + new Among("eta", -1, 1), + new Among("keta", 39, 1), + new Among("gailua", -1, 1), + new Among("eza", -1, 1), + new Among("erreza", 42, 1), + new Among("tza", -1, 2), + new Among("gaitza", 44, 1), + new Among("kaitza", 44, 1), + new Among("kuntza", 44, 1), + new Among("ide", -1, 1), + new Among("bide", 48, 1), + new Among("kide", 48, 1), + new Among("pide", 48, 1), + new Among("kunde", -1, 1), + new Among("tzake", -1, 1), + new Among("tzeke", -1, 1), + new Among("le", -1, 1), + new Among("gale", 55, 1), + new Among("taile", 55, 1), + new Among("tzaile", 55, 1), + new Among("gune", -1, 1), + new Among("kune", -1, 1), + new Among("tze", -1, 1), + new Among("atze", 61, 1), + new Among("gai", -1, 1), + new Among("aldi", -1, 1), + new Among("taldi", 64, 1), + new Among("ki", -1, 1), + new Among("ari", -1, 1), + new Among("kari", 67, 1), + new Among("lari", 67, 1), + new Among("tari", 67, 1), + new Among("etari", 70, 1), + new Among("garri", -1, 2), + new Among("karri", -1, 1), + new Among("arazi", -1, 1), + new Among("tarazi", 74, 1), + new Among("an", -1, 1), + new Among("ean", 76, 1), + new Among("rean", 77, 1), + new Among("kan", 76, 1), + new Among("etan", 76, 1), + new Among("atseden", -1, 3), + new Among("men", -1, 1), + new Among("pen", -1, 1), + new Among("kin", -1, 1), + new Among("rekin", 84, 1), + new Among("ezin", -1, 1), + new Among("tezin", 86, 1), + new Among("tun", -1, 1), + new Among("kizun", -1, 1), + new Among("go", -1, 1), + new Among("ago", 90, 1), + new Among("tio", -1, 1), + new Among("dako", -1, 1), + new Among("or", -1, 1), + new Among("kor", 94, 1), + new Among("tzat", -1, 1), + new Among("du", -1, 1), + new Among("gailu", -1, 1), + new Among("tu", -1, 1), + new Among("atu", 99, 1), + new Among("aldatu", 100, 1), + new Among("tatu", 100, 1), + new Among("baditu", 99, 5), + new Among("ez", -1, 1), + new Among("errez", 104, 1), + new Among("tzez", 104, 1), + new Among("gaitz", -1, 1), + new Among("kaitz", -1, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("ada", -1, 1), + new Among("kada", 0, 1), + new Among("anda", -1, 1), + new Among("denda", -1, 1), + new Among("gabea", -1, 1), + new Among("kabea", -1, 1), + new Among("aldea", -1, 1), + new Among("kaldea", 6, 1), + new Among("taldea", 6, 1), + new Among("ordea", -1, 1), + new Among("zalea", -1, 1), + new Among("tzalea", 10, 1), + new Among("gilea", -1, 1), + new Among("emea", -1, 1), + new Among("kumea", -1, 1), + new Among("nea", -1, 1), + new Among("enea", 15, 1), + new Among("zionea", 15, 1), + new Among("unea", 15, 1), + new Among("gunea", 18, 1), + new Among("pea", -1, 1), + new Among("aurrea", -1, 1), + new Among("tea", -1, 1), + new Among("kotea", 22, 1), + new Among("artea", 22, 1), + new Among("ostea", 22, 1), + new Among("etxea", -1, 1), + new Among("ga", -1, 1), + new Among("anga", 27, 1), + new Among("gaia", -1, 1), + new Among("aldia", -1, 1), + new Among("taldia", 30, 1), + new Among("handia", -1, 1), + new Among("mendia", -1, 1), + new Among("geia", -1, 1), + new Among("egia", -1, 1), + new Among("degia", 35, 1), + new Among("tegia", 35, 1), + new Among("nahia", -1, 1), + new Among("ohia", -1, 1), + new Among("kia", -1, 1), + new Among("tokia", 40, 1), + new Among("oia", -1, 1), + new Among("koia", 42, 1), + new Among("aria", -1, 1), + new Among("karia", 44, 1), + new Among("laria", 44, 1), + new Among("taria", 44, 1), + new Among("eria", -1, 1), + new Among("keria", 48, 1), + new Among("teria", 48, 1), + new Among("garria", -1, 2), + new Among("larria", -1, 1), + new Among("kirria", -1, 1), + new Among("duria", -1, 1), + new Among("asia", -1, 1), + new Among("tia", -1, 1), + new Among("ezia", -1, 1), + new Among("bizia", -1, 1), + new Among("ontzia", -1, 1), + new Among("ka", -1, 1), + new Among("joka", 60, 3), + new Among("aurka", 60, 10), + new Among("ska", 60, 1), + new Among("xka", 60, 1), + new Among("zka", 60, 1), + new Among("gibela", -1, 1), + new Among("gela", -1, 1), + new Among("kaila", -1, 1), + new Among("skila", -1, 1), + new Among("tila", -1, 1), + new Among("ola", -1, 1), + new Among("na", -1, 1), + new Among("kana", 72, 1), + new Among("ena", 72, 1), + new Among("garrena", 74, 1), + new Among("gerrena", 74, 1), + new Among("urrena", 74, 1), + new Among("zaina", 72, 1), + new Among("tzaina", 78, 1), + new Among("kina", 72, 1), + new Among("mina", 72, 1), + new Among("garna", 72, 1), + new Among("una", 72, 1), + new Among("duna", 83, 1), + new Among("asuna", 83, 1), + new Among("tasuna", 85, 1), + new Among("ondoa", -1, 1), + new Among("kondoa", 87, 1), + new Among("ngoa", -1, 1), + new Among("zioa", -1, 1), + new Among("koa", -1, 1), + new Among("takoa", 91, 1), + new Among("zkoa", 91, 1), + new Among("noa", -1, 1), + new Among("zinoa", 94, 1), + new Among("aroa", -1, 1), + new Among("taroa", 96, 1), + new Among("zaroa", 96, 1), + new Among("eroa", -1, 1), + new Among("oroa", -1, 1), + new Among("osoa", -1, 1), + new Among("toa", -1, 1), + new Among("ttoa", 102, 1), + new Among("ztoa", 102, 1), + new Among("txoa", -1, 1), + new Among("tzoa", -1, 1), + new Among("\u00F1oa", -1, 1), + new Among("ra", -1, 1), + new Among("ara", 108, 1), + new Among("dara", 109, 1), + new Among("liara", 109, 1), + new Among("tiara", 109, 1), + new Among("tara", 109, 1), + new Among("etara", 113, 1), + new Among("tzara", 109, 1), + new Among("bera", 108, 1), + new Among("kera", 108, 1), + new Among("pera", 108, 1), + new Among("ora", 108, 2), + new Among("tzarra", 108, 1), + new Among("korra", 108, 1), + new Among("tra", 108, 1), + new Among("sa", -1, 1), + new Among("osa", 123, 1), + new Among("ta", -1, 1), + new Among("eta", 125, 1), + new Among("keta", 126, 1), + new Among("sta", 125, 1), + new Among("dua", -1, 1), + new Among("mendua", 129, 1), + new Among("ordua", 129, 1), + new Among("lekua", -1, 1), + new Among("burua", -1, 1), + new Among("durua", -1, 1), + new Among("tsua", -1, 1), + new Among("tua", -1, 1), + new Among("mentua", 136, 1), + new Among("estua", 136, 1), + new Among("txua", -1, 1), + new Among("zua", -1, 1), + new Among("tzua", 140, 1), + new Among("za", -1, 1), + new Among("eza", 142, 1), + new Among("eroza", 142, 1), + new Among("tza", 142, 2), + new Among("koitza", 145, 1), + new Among("antza", 145, 1), + new Among("gintza", 145, 1), + new Among("kintza", 145, 1), + new Among("kuntza", 145, 1), + new Among("gabe", -1, 1), + new Among("kabe", -1, 1), + new Among("kide", -1, 1), + new Among("alde", -1, 1), + new Among("kalde", 154, 1), + new Among("talde", 154, 1), + new Among("orde", -1, 1), + new Among("ge", -1, 1), + new Among("zale", -1, 1), + new Among("tzale", 159, 1), + new Among("gile", -1, 1), + new Among("eme", -1, 1), + new Among("kume", -1, 1), + new Among("ne", -1, 1), + new Among("zione", 164, 1), + new Among("une", 164, 1), + new Among("gune", 166, 1), + new Among("pe", -1, 1), + new Among("aurre", -1, 1), + new Among("te", -1, 1), + new Among("kote", 170, 1), + new Among("arte", 170, 1), + new Among("oste", 170, 1), + new Among("etxe", -1, 1), + new Among("gai", -1, 1), + new Among("di", -1, 1), + new Among("aldi", 176, 1), + new Among("taldi", 177, 1), + new Among("geldi", 176, 8), + new Among("handi", 176, 1), + new Among("mendi", 176, 1), + new Among("gei", -1, 1), + new Among("egi", -1, 1), + new Among("degi", 183, 1), + new Among("tegi", 183, 1), + new Among("nahi", -1, 1), + new Among("ohi", -1, 1), + new Among("ki", -1, 1), + new Among("toki", 188, 1), + new Among("oi", -1, 1), + new Among("goi", 190, 1), + new Among("koi", 190, 1), + new Among("ari", -1, 1), + new Among("kari", 193, 1), + new Among("lari", 193, 1), + new Among("tari", 193, 1), + new Among("garri", -1, 2), + new Among("larri", -1, 1), + new Among("kirri", -1, 1), + new Among("duri", -1, 1), + new Among("asi", -1, 1), + new Among("ti", -1, 1), + new Among("ontzi", -1, 1), + new Among("\u00F1i", -1, 1), + new Among("ak", -1, 1), + new Among("ek", -1, 1), + new Among("tarik", -1, 1), + new Among("gibel", -1, 1), + new Among("ail", -1, 1), + new Among("kail", 209, 1), + new Among("kan", -1, 1), + new Among("tan", -1, 1), + new Among("etan", 212, 1), + new Among("en", -1, 4), + new Among("ren", 214, 2), + new Among("garren", 215, 1), + new Among("gerren", 215, 1), + new Among("urren", 215, 1), + new Among("ten", 214, 4), + new Among("tzen", 214, 4), + new Among("zain", -1, 1), + new Among("tzain", 221, 1), + new Among("kin", -1, 1), + new Among("min", -1, 1), + new Among("dun", -1, 1), + new Among("asun", -1, 1), + new Among("tasun", 226, 1), + new Among("aizun", -1, 1), + new Among("ondo", -1, 1), + new Among("kondo", 229, 1), + new Among("go", -1, 1), + new Among("ngo", 231, 1), + new Among("zio", -1, 1), + new Among("ko", -1, 1), + new Among("trako", 234, 5), + new Among("tako", 234, 1), + new Among("etako", 236, 1), + new Among("eko", 234, 1), + new Among("tariko", 234, 1), + new Among("sko", 234, 1), + new Among("tuko", 234, 1), + new Among("minutuko", 241, 6), + new Among("zko", 234, 1), + new Among("no", -1, 1), + new Among("zino", 244, 1), + new Among("ro", -1, 1), + new Among("aro", 246, 1), + new Among("igaro", 247, 9), + new Among("taro", 247, 1), + new Among("zaro", 247, 1), + new Among("ero", 246, 1), + new Among("giro", 246, 1), + new Among("oro", 246, 1), + new Among("oso", -1, 1), + new Among("to", -1, 1), + new Among("tto", 255, 1), + new Among("zto", 255, 1), + new Among("txo", -1, 1), + new Among("tzo", -1, 1), + new Among("gintzo", 259, 1), + new Among("\u00F1o", -1, 1), + new Among("zp", -1, 1), + new Among("ar", -1, 1), + new Among("dar", 263, 1), + new Among("behar", 263, 1), + new Among("zehar", 263, 7), + new Among("liar", 263, 1), + new Among("tiar", 263, 1), + new Among("tar", 263, 1), + new Among("tzar", 263, 1), + new Among("or", -1, 2), + new Among("kor", 271, 1), + new Among("os", -1, 1), + new Among("ket", -1, 1), + new Among("du", -1, 1), + new Among("mendu", 275, 1), + new Among("ordu", 275, 1), + new Among("leku", -1, 1), + new Among("buru", -1, 2), + new Among("duru", -1, 1), + new Among("tsu", -1, 1), + new Among("tu", -1, 1), + new Among("tatu", 282, 4), + new Among("mentu", 282, 1), + new Among("estu", 282, 1), + new Among("txu", -1, 1), + new Among("zu", -1, 1), + new Among("tzu", 287, 1), + new Among("gintzu", 288, 1), + new Among("z", -1, 1), + new Among("ez", 290, 1), + new Among("eroz", 290, 1), + new Among("tz", 290, 1), + new Among("koitz", 293, 1) +}; - private final static Among a_0[] = { - new Among ( "idea", -1, 1, "", methodObject ), - new Among ( "bidea", 0, 1, "", methodObject ), - new Among ( "kidea", 0, 1, "", methodObject ), - new Among ( "pidea", 0, 1, "", methodObject ), - new Among ( "kundea", -1, 1, "", methodObject ), - new Among ( "galea", -1, 1, "", methodObject ), - new Among ( "tailea", -1, 1, "", methodObject ), - new Among ( "tzailea", -1, 1, "", methodObject ), - new Among ( "gunea", -1, 1, "", methodObject ), - new Among ( "kunea", -1, 1, "", methodObject ), - new Among ( "tzaga", -1, 1, "", methodObject ), - new Among ( "gaia", -1, 1, "", methodObject ), - new Among ( "aldia", -1, 1, "", methodObject ), - new Among ( "taldia", 12, 1, "", methodObject ), - new Among ( "karia", -1, 1, "", methodObject ), - new Among ( "garria", -1, 2, "", methodObject ), - new Among ( "karria", -1, 1, "", methodObject ), - new Among ( "ka", -1, 1, "", methodObject ), - new Among ( "tzaka", 17, 1, "", methodObject ), - new Among ( "la", -1, 1, "", methodObject ), - new Among ( "mena", -1, 1, "", methodObject ), - new Among ( "pena", -1, 1, "", methodObject ), - new Among ( "kina", -1, 1, "", methodObject ), - new Among ( "ezina", -1, 1, "", methodObject ), - new Among ( "tezina", 23, 1, "", methodObject ), - new Among ( "kuna", -1, 1, "", methodObject ), - new Among ( "tuna", -1, 1, "", methodObject ), - new Among ( "kizuna", -1, 1, "", methodObject ), - new Among ( "era", -1, 1, "", methodObject ), - new Among ( "bera", 28, 1, "", methodObject ), - new Among ( "arabera", 29, 4, "", methodObject ), - new Among ( "kera", 28, 1, "", methodObject ), - new Among ( "pera", 28, 1, "", methodObject ), - new Among ( "orra", -1, 1, "", methodObject ), - new Among ( "korra", 33, 1, "", methodObject ), - new Among ( "dura", -1, 1, "", methodObject ), - new Among ( "gura", -1, 1, "", methodObject ), - new Among ( "kura", -1, 1, "", methodObject ), - new Among ( "tura", -1, 1, "", methodObject ), - new Among ( "eta", -1, 1, "", methodObject ), - new Among ( "keta", 39, 1, "", methodObject ), - new Among ( "gailua", -1, 1, "", methodObject ), - new Among ( "eza", -1, 1, "", methodObject ), - new Among ( "erreza", 42, 1, "", methodObject ), - new Among ( "tza", -1, 2, "", methodObject ), - new Among ( "gaitza", 44, 1, "", methodObject ), - new Among ( "kaitza", 44, 1, "", methodObject ), - new Among ( "kuntza", 44, 1, "", methodObject ), - new Among ( "ide", -1, 1, "", methodObject ), - new Among ( "bide", 48, 1, "", methodObject ), - new Among ( "kide", 48, 1, "", methodObject ), - new Among ( "pide", 48, 1, "", methodObject ), - new Among ( "kunde", -1, 1, "", methodObject ), - new Among ( "tzake", -1, 1, "", methodObject ), - new Among ( "tzeke", -1, 1, "", methodObject ), - new Among ( "le", -1, 1, "", methodObject ), - new Among ( "gale", 55, 1, "", methodObject ), - new Among ( "taile", 55, 1, "", methodObject ), - new Among ( "tzaile", 55, 1, "", methodObject ), - new Among ( "gune", -1, 1, "", methodObject ), - new Among ( "kune", -1, 1, "", methodObject ), - new Among ( "tze", -1, 1, "", methodObject ), - new Among ( "atze", 61, 1, "", methodObject ), - new Among ( "gai", -1, 1, "", methodObject ), - new Among ( "aldi", -1, 1, "", methodObject ), - new Among ( "taldi", 64, 1, "", methodObject ), - new Among ( "ki", -1, 1, "", methodObject ), - new Among ( "ari", -1, 1, "", methodObject ), - new Among ( "kari", 67, 1, "", methodObject ), - new Among ( "lari", 67, 1, "", methodObject ), - new Among ( "tari", 67, 1, "", methodObject ), - new Among ( "etari", 70, 1, "", methodObject ), - new Among ( "garri", -1, 2, "", methodObject ), - new Among ( "karri", -1, 1, "", methodObject ), - new Among ( "arazi", -1, 1, "", methodObject ), - new Among ( "tarazi", 74, 1, "", methodObject ), - new Among ( "an", -1, 1, "", methodObject ), - new Among ( "ean", 76, 1, "", methodObject ), - new Among ( "rean", 77, 1, "", methodObject ), - new Among ( "kan", 76, 1, "", methodObject ), - new Among ( "etan", 76, 1, "", methodObject ), - new Among ( "atseden", -1, 3, "", methodObject ), - new Among ( "men", -1, 1, "", methodObject ), - new Among ( "pen", -1, 1, "", methodObject ), - new Among ( "kin", -1, 1, "", methodObject ), - new Among ( "rekin", 84, 1, "", methodObject ), - new Among ( "ezin", -1, 1, "", methodObject ), - new Among ( "tezin", 86, 1, "", methodObject ), - new Among ( "tun", -1, 1, "", methodObject ), - new Among ( "kizun", -1, 1, "", methodObject ), - new Among ( "go", -1, 1, "", methodObject ), - new Among ( "ago", 90, 1, "", methodObject ), - new Among ( "tio", -1, 1, "", methodObject ), - new Among ( "dako", -1, 1, "", methodObject ), - new Among ( "or", -1, 1, "", methodObject ), - new Among ( "kor", 94, 1, "", methodObject ), - new Among ( "tzat", -1, 1, "", methodObject ), - new Among ( "du", -1, 1, "", methodObject ), - new Among ( "gailu", -1, 1, "", methodObject ), - new Among ( "tu", -1, 1, "", methodObject ), - new Among ( "atu", 99, 1, "", methodObject ), - new Among ( "aldatu", 100, 1, "", methodObject ), - new Among ( "tatu", 100, 1, "", methodObject ), - new Among ( "baditu", 99, 5, "", methodObject ), - new Among ( "ez", -1, 1, "", methodObject ), - new Among ( "errez", 104, 1, "", methodObject ), - new Among ( "tzez", 104, 1, "", methodObject ), - new Among ( "gaitz", -1, 1, "", methodObject ), - new Among ( "kaitz", -1, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("zlea", -1, 2), + new Among("keria", -1, 1), + new Among("la", -1, 1), + new Among("era", -1, 1), + new Among("dade", -1, 1), + new Among("tade", -1, 1), + new Among("date", -1, 1), + new Among("tate", -1, 1), + new Among("gi", -1, 1), + new Among("ki", -1, 1), + new Among("ik", -1, 1), + new Among("lanik", 10, 1), + new Among("rik", 10, 1), + new Among("larik", 12, 1), + new Among("ztik", 10, 1), + new Among("go", -1, 1), + new Among("ro", -1, 1), + new Among("ero", 16, 1), + new Among("to", -1, 1) +}; - private final static Among a_1[] = { - new Among ( "ada", -1, 1, "", methodObject ), - new Among ( "kada", 0, 1, "", methodObject ), - new Among ( "anda", -1, 1, "", methodObject ), - new Among ( "denda", -1, 1, "", methodObject ), - new Among ( "gabea", -1, 1, "", methodObject ), - new Among ( "kabea", -1, 1, "", methodObject ), - new Among ( "aldea", -1, 1, "", methodObject ), - new Among ( "kaldea", 6, 1, "", methodObject ), - new Among ( "taldea", 6, 1, "", methodObject ), - new Among ( "ordea", -1, 1, "", methodObject ), - new Among ( "zalea", -1, 1, "", methodObject ), - new Among ( "tzalea", 10, 1, "", methodObject ), - new Among ( "gilea", -1, 1, "", methodObject ), - new Among ( "emea", -1, 1, "", methodObject ), - new Among ( "kumea", -1, 1, "", methodObject ), - new Among ( "nea", -1, 1, "", methodObject ), - new Among ( "enea", 15, 1, "", methodObject ), - new Among ( "zionea", 15, 1, "", methodObject ), - new Among ( "unea", 15, 1, "", methodObject ), - new Among ( "gunea", 18, 1, "", methodObject ), - new Among ( "pea", -1, 1, "", methodObject ), - new Among ( "aurrea", -1, 1, "", methodObject ), - new Among ( "tea", -1, 1, "", methodObject ), - new Among ( "kotea", 22, 1, "", methodObject ), - new Among ( "artea", 22, 1, "", methodObject ), - new Among ( "ostea", 22, 1, "", methodObject ), - new Among ( "etxea", -1, 1, "", methodObject ), - new Among ( "ga", -1, 1, "", methodObject ), - new Among ( "anga", 27, 1, "", methodObject ), - new Among ( "gaia", -1, 1, "", methodObject ), - new Among ( "aldia", -1, 1, "", methodObject ), - new Among ( "taldia", 30, 1, "", methodObject ), - new Among ( "handia", -1, 1, "", methodObject ), - new Among ( "mendia", -1, 1, "", methodObject ), - new Among ( "geia", -1, 1, "", methodObject ), - new Among ( "egia", -1, 1, "", methodObject ), - new Among ( "degia", 35, 1, "", methodObject ), - new Among ( "tegia", 35, 1, "", methodObject ), - new Among ( "nahia", -1, 1, "", methodObject ), - new Among ( "ohia", -1, 1, "", methodObject ), - new Among ( "kia", -1, 1, "", methodObject ), - new Among ( "tokia", 40, 1, "", methodObject ), - new Among ( "oia", -1, 1, "", methodObject ), - new Among ( "koia", 42, 1, "", methodObject ), - new Among ( "aria", -1, 1, "", methodObject ), - new Among ( "karia", 44, 1, "", methodObject ), - new Among ( "laria", 44, 1, "", methodObject ), - new Among ( "taria", 44, 1, "", methodObject ), - new Among ( "eria", -1, 1, "", methodObject ), - new Among ( "keria", 48, 1, "", methodObject ), - new Among ( "teria", 48, 1, "", methodObject ), - new Among ( "garria", -1, 2, "", methodObject ), - new Among ( "larria", -1, 1, "", methodObject ), - new Among ( "kirria", -1, 1, "", methodObject ), - new Among ( "duria", -1, 1, "", methodObject ), - new Among ( "asia", -1, 1, "", methodObject ), - new Among ( "tia", -1, 1, "", methodObject ), - new Among ( "ezia", -1, 1, "", methodObject ), - new Among ( "bizia", -1, 1, "", methodObject ), - new Among ( "ontzia", -1, 1, "", methodObject ), - new Among ( "ka", -1, 1, "", methodObject ), - new Among ( "joka", 60, 3, "", methodObject ), - new Among ( "aurka", 60, 10, "", methodObject ), - new Among ( "ska", 60, 1, "", methodObject ), - new Among ( "xka", 60, 1, "", methodObject ), - new Among ( "zka", 60, 1, "", methodObject ), - new Among ( "gibela", -1, 1, "", methodObject ), - new Among ( "gela", -1, 1, "", methodObject ), - new Among ( "kaila", -1, 1, "", methodObject ), - new Among ( "skila", -1, 1, "", methodObject ), - new Among ( "tila", -1, 1, "", methodObject ), - new Among ( "ola", -1, 1, "", methodObject ), - new Among ( "na", -1, 1, "", methodObject ), - new Among ( "kana", 72, 1, "", methodObject ), - new Among ( "ena", 72, 1, "", methodObject ), - new Among ( "garrena", 74, 1, "", methodObject ), - new Among ( "gerrena", 74, 1, "", methodObject ), - new Among ( "urrena", 74, 1, "", methodObject ), - new Among ( "zaina", 72, 1, "", methodObject ), - new Among ( "tzaina", 78, 1, "", methodObject ), - new Among ( "kina", 72, 1, "", methodObject ), - new Among ( "mina", 72, 1, "", methodObject ), - new Among ( "garna", 72, 1, "", methodObject ), - new Among ( "una", 72, 1, "", methodObject ), - new Among ( "duna", 83, 1, "", methodObject ), - new Among ( "asuna", 83, 1, "", methodObject ), - new Among ( "tasuna", 85, 1, "", methodObject ), - new Among ( "ondoa", -1, 1, "", methodObject ), - new Among ( "kondoa", 87, 1, "", methodObject ), - new Among ( "ngoa", -1, 1, "", methodObject ), - new Among ( "zioa", -1, 1, "", methodObject ), - new Among ( "koa", -1, 1, "", methodObject ), - new Among ( "takoa", 91, 1, "", methodObject ), - new Among ( "zkoa", 91, 1, "", methodObject ), - new Among ( "noa", -1, 1, "", methodObject ), - new Among ( "zinoa", 94, 1, "", methodObject ), - new Among ( "aroa", -1, 1, "", methodObject ), - new Among ( "taroa", 96, 1, "", methodObject ), - new Among ( "zaroa", 96, 1, "", methodObject ), - new Among ( "eroa", -1, 1, "", methodObject ), - new Among ( "oroa", -1, 1, "", methodObject ), - new Among ( "osoa", -1, 1, "", methodObject ), - new Among ( "toa", -1, 1, "", methodObject ), - new Among ( "ttoa", 102, 1, "", methodObject ), - new Among ( "ztoa", 102, 1, "", methodObject ), - new Among ( "txoa", -1, 1, "", methodObject ), - new Among ( "tzoa", -1, 1, "", methodObject ), - new Among ( "\u00F1oa", -1, 1, "", methodObject ), - new Among ( "ra", -1, 1, "", methodObject ), - new Among ( "ara", 108, 1, "", methodObject ), - new Among ( "dara", 109, 1, "", methodObject ), - new Among ( "liara", 109, 1, "", methodObject ), - new Among ( "tiara", 109, 1, "", methodObject ), - new Among ( "tara", 109, 1, "", methodObject ), - new Among ( "etara", 113, 1, "", methodObject ), - new Among ( "tzara", 109, 1, "", methodObject ), - new Among ( "bera", 108, 1, "", methodObject ), - new Among ( "kera", 108, 1, "", methodObject ), - new Among ( "pera", 108, 1, "", methodObject ), - new Among ( "ora", 108, 2, "", methodObject ), - new Among ( "tzarra", 108, 1, "", methodObject ), - new Among ( "korra", 108, 1, "", methodObject ), - new Among ( "tra", 108, 1, "", methodObject ), - new Among ( "sa", -1, 1, "", methodObject ), - new Among ( "osa", 123, 1, "", methodObject ), - new Among ( "ta", -1, 1, "", methodObject ), - new Among ( "eta", 125, 1, "", methodObject ), - new Among ( "keta", 126, 1, "", methodObject ), - new Among ( "sta", 125, 1, "", methodObject ), - new Among ( "dua", -1, 1, "", methodObject ), - new Among ( "mendua", 129, 1, "", methodObject ), - new Among ( "ordua", 129, 1, "", methodObject ), - new Among ( "lekua", -1, 1, "", methodObject ), - new Among ( "burua", -1, 1, "", methodObject ), - new Among ( "durua", -1, 1, "", methodObject ), - new Among ( "tsua", -1, 1, "", methodObject ), - new Among ( "tua", -1, 1, "", methodObject ), - new Among ( "mentua", 136, 1, "", methodObject ), - new Among ( "estua", 136, 1, "", methodObject ), - new Among ( "txua", -1, 1, "", methodObject ), - new Among ( "zua", -1, 1, "", methodObject ), - new Among ( "tzua", 140, 1, "", methodObject ), - new Among ( "za", -1, 1, "", methodObject ), - new Among ( "eza", 142, 1, "", methodObject ), - new Among ( "eroza", 142, 1, "", methodObject ), - new Among ( "tza", 142, 2, "", methodObject ), - new Among ( "koitza", 145, 1, "", methodObject ), - new Among ( "antza", 145, 1, "", methodObject ), - new Among ( "gintza", 145, 1, "", methodObject ), - new Among ( "kintza", 145, 1, "", methodObject ), - new Among ( "kuntza", 145, 1, "", methodObject ), - new Among ( "gabe", -1, 1, "", methodObject ), - new Among ( "kabe", -1, 1, "", methodObject ), - new Among ( "kide", -1, 1, "", methodObject ), - new Among ( "alde", -1, 1, "", methodObject ), - new Among ( "kalde", 154, 1, "", methodObject ), - new Among ( "talde", 154, 1, "", methodObject ), - new Among ( "orde", -1, 1, "", methodObject ), - new Among ( "ge", -1, 1, "", methodObject ), - new Among ( "zale", -1, 1, "", methodObject ), - new Among ( "tzale", 159, 1, "", methodObject ), - new Among ( "gile", -1, 1, "", methodObject ), - new Among ( "eme", -1, 1, "", methodObject ), - new Among ( "kume", -1, 1, "", methodObject ), - new Among ( "ne", -1, 1, "", methodObject ), - new Among ( "zione", 164, 1, "", methodObject ), - new Among ( "une", 164, 1, "", methodObject ), - new Among ( "gune", 166, 1, "", methodObject ), - new Among ( "pe", -1, 1, "", methodObject ), - new Among ( "aurre", -1, 1, "", methodObject ), - new Among ( "te", -1, 1, "", methodObject ), - new Among ( "kote", 170, 1, "", methodObject ), - new Among ( "arte", 170, 1, "", methodObject ), - new Among ( "oste", 170, 1, "", methodObject ), - new Among ( "etxe", -1, 1, "", methodObject ), - new Among ( "gai", -1, 1, "", methodObject ), - new Among ( "di", -1, 1, "", methodObject ), - new Among ( "aldi", 176, 1, "", methodObject ), - new Among ( "taldi", 177, 1, "", methodObject ), - new Among ( "geldi", 176, 8, "", methodObject ), - new Among ( "handi", 176, 1, "", methodObject ), - new Among ( "mendi", 176, 1, "", methodObject ), - new Among ( "gei", -1, 1, "", methodObject ), - new Among ( "egi", -1, 1, "", methodObject ), - new Among ( "degi", 183, 1, "", methodObject ), - new Among ( "tegi", 183, 1, "", methodObject ), - new Among ( "nahi", -1, 1, "", methodObject ), - new Among ( "ohi", -1, 1, "", methodObject ), - new Among ( "ki", -1, 1, "", methodObject ), - new Among ( "toki", 188, 1, "", methodObject ), - new Among ( "oi", -1, 1, "", methodObject ), - new Among ( "goi", 190, 1, "", methodObject ), - new Among ( "koi", 190, 1, "", methodObject ), - new Among ( "ari", -1, 1, "", methodObject ), - new Among ( "kari", 193, 1, "", methodObject ), - new Among ( "lari", 193, 1, "", methodObject ), - new Among ( "tari", 193, 1, "", methodObject ), - new Among ( "garri", -1, 2, "", methodObject ), - new Among ( "larri", -1, 1, "", methodObject ), - new Among ( "kirri", -1, 1, "", methodObject ), - new Among ( "duri", -1, 1, "", methodObject ), - new Among ( "asi", -1, 1, "", methodObject ), - new Among ( "ti", -1, 1, "", methodObject ), - new Among ( "ontzi", -1, 1, "", methodObject ), - new Among ( "\u00F1i", -1, 1, "", methodObject ), - new Among ( "ak", -1, 1, "", methodObject ), - new Among ( "ek", -1, 1, "", methodObject ), - new Among ( "tarik", -1, 1, "", methodObject ), - new Among ( "gibel", -1, 1, "", methodObject ), - new Among ( "ail", -1, 1, "", methodObject ), - new Among ( "kail", 209, 1, "", methodObject ), - new Among ( "kan", -1, 1, "", methodObject ), - new Among ( "tan", -1, 1, "", methodObject ), - new Among ( "etan", 212, 1, "", methodObject ), - new Among ( "en", -1, 4, "", methodObject ), - new Among ( "ren", 214, 2, "", methodObject ), - new Among ( "garren", 215, 1, "", methodObject ), - new Among ( "gerren", 215, 1, "", methodObject ), - new Among ( "urren", 215, 1, "", methodObject ), - new Among ( "ten", 214, 4, "", methodObject ), - new Among ( "tzen", 214, 4, "", methodObject ), - new Among ( "zain", -1, 1, "", methodObject ), - new Among ( "tzain", 221, 1, "", methodObject ), - new Among ( "kin", -1, 1, "", methodObject ), - new Among ( "min", -1, 1, "", methodObject ), - new Among ( "dun", -1, 1, "", methodObject ), - new Among ( "asun", -1, 1, "", methodObject ), - new Among ( "tasun", 226, 1, "", methodObject ), - new Among ( "aizun", -1, 1, "", methodObject ), - new Among ( "ondo", -1, 1, "", methodObject ), - new Among ( "kondo", 229, 1, "", methodObject ), - new Among ( "go", -1, 1, "", methodObject ), - new Among ( "ngo", 231, 1, "", methodObject ), - new Among ( "zio", -1, 1, "", methodObject ), - new Among ( "ko", -1, 1, "", methodObject ), - new Among ( "trako", 234, 5, "", methodObject ), - new Among ( "tako", 234, 1, "", methodObject ), - new Among ( "etako", 236, 1, "", methodObject ), - new Among ( "eko", 234, 1, "", methodObject ), - new Among ( "tariko", 234, 1, "", methodObject ), - new Among ( "sko", 234, 1, "", methodObject ), - new Among ( "tuko", 234, 1, "", methodObject ), - new Among ( "minutuko", 241, 6, "", methodObject ), - new Among ( "zko", 234, 1, "", methodObject ), - new Among ( "no", -1, 1, "", methodObject ), - new Among ( "zino", 244, 1, "", methodObject ), - new Among ( "ro", -1, 1, "", methodObject ), - new Among ( "aro", 246, 1, "", methodObject ), - new Among ( "igaro", 247, 9, "", methodObject ), - new Among ( "taro", 247, 1, "", methodObject ), - new Among ( "zaro", 247, 1, "", methodObject ), - new Among ( "ero", 246, 1, "", methodObject ), - new Among ( "giro", 246, 1, "", methodObject ), - new Among ( "oro", 246, 1, "", methodObject ), - new Among ( "oso", -1, 1, "", methodObject ), - new Among ( "to", -1, 1, "", methodObject ), - new Among ( "tto", 255, 1, "", methodObject ), - new Among ( "zto", 255, 1, "", methodObject ), - new Among ( "txo", -1, 1, "", methodObject ), - new Among ( "tzo", -1, 1, "", methodObject ), - new Among ( "gintzo", 259, 1, "", methodObject ), - new Among ( "\u00F1o", -1, 1, "", methodObject ), - new Among ( "zp", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "dar", 263, 1, "", methodObject ), - new Among ( "behar", 263, 1, "", methodObject ), - new Among ( "zehar", 263, 7, "", methodObject ), - new Among ( "liar", 263, 1, "", methodObject ), - new Among ( "tiar", 263, 1, "", methodObject ), - new Among ( "tar", 263, 1, "", methodObject ), - new Among ( "tzar", 263, 1, "", methodObject ), - new Among ( "or", -1, 2, "", methodObject ), - new Among ( "kor", 271, 1, "", methodObject ), - new Among ( "os", -1, 1, "", methodObject ), - new Among ( "ket", -1, 1, "", methodObject ), - new Among ( "du", -1, 1, "", methodObject ), - new Among ( "mendu", 275, 1, "", methodObject ), - new Among ( "ordu", 275, 1, "", methodObject ), - new Among ( "leku", -1, 1, "", methodObject ), - new Among ( "buru", -1, 2, "", methodObject ), - new Among ( "duru", -1, 1, "", methodObject ), - new Among ( "tsu", -1, 1, "", methodObject ), - new Among ( "tu", -1, 1, "", methodObject ), - new Among ( "tatu", 282, 4, "", methodObject ), - new Among ( "mentu", 282, 1, "", methodObject ), - new Among ( "estu", 282, 1, "", methodObject ), - new Among ( "txu", -1, 1, "", methodObject ), - new Among ( "zu", -1, 1, "", methodObject ), - new Among ( "tzu", 287, 1, "", methodObject ), - new Among ( "gintzu", 288, 1, "", methodObject ), - new Among ( "z", -1, 1, "", methodObject ), - new Among ( "ez", 290, 1, "", methodObject ), - new Among ( "eroz", 290, 1, "", methodObject ), - new Among ( "tz", 290, 1, "", methodObject ), - new Among ( "koitz", 293, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16 }; - private final static Among a_2[] = { - new Among ( "zlea", -1, 2, "", methodObject ), - new Among ( "keria", -1, 1, "", methodObject ), - new Among ( "la", -1, 1, "", methodObject ), - new Among ( "era", -1, 1, "", methodObject ), - new Among ( "dade", -1, 1, "", methodObject ), - new Among ( "tade", -1, 1, "", methodObject ), - new Among ( "date", -1, 1, "", methodObject ), - new Among ( "tate", -1, 1, "", methodObject ), - new Among ( "gi", -1, 1, "", methodObject ), - new Among ( "ki", -1, 1, "", methodObject ), - new Among ( "ik", -1, 1, "", methodObject ), - new Among ( "lanik", 10, 1, "", methodObject ), - new Among ( "rik", 10, 1, "", methodObject ), - new Among ( "larik", 12, 1, "", methodObject ), - new Among ( "ztik", 10, 1, "", methodObject ), - new Among ( "go", -1, 1, "", methodObject ), - new Among ( "ro", -1, 1, "", methodObject ), - new Among ( "ero", 16, 1, "", methodObject ), - new Among ( "to", -1, 1, "", methodObject ) - }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_v[] = {17, 65, 16 }; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(BasqueStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - int v_6; - int v_8; - // (, line 25 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 31 - v_1 = cursor; - lab0: do { - // (, line 31 - // or, line 33 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 32 - if (!(in_grouping(g_v, 97, 117))) - { - break lab2; - } - // or, line 32 - lab3: do { - v_3 = cursor; - lab4: do { - // (, line 32 - if (!(out_grouping(g_v, 97, 117))) - { - break lab4; - } - // gopast, line 32 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 117))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - break lab3; - } while (false); - cursor = v_3; - // (, line 32 - if (!(in_grouping(g_v, 97, 117))) - { - break lab2; - } - // gopast, line 32 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 117))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab2; - } - cursor++; - } - } while (false); - break lab1; - } while (false); - cursor = v_2; - // (, line 34 - if (!(out_grouping(g_v, 97, 117))) - { - break lab0; - } - // or, line 34 - lab9: do { - v_6 = cursor; - lab10: do { - // (, line 34 - if (!(out_grouping(g_v, 97, 117))) - { - break lab10; - } - // gopast, line 34 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 117))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab10; - } - cursor++; - } - break lab9; - } while (false); - cursor = v_6; - // (, line 34 - if (!(in_grouping(g_v, 97, 117))) - { - break lab0; - } - // next, line 34 - if (cursor >= limit) - { - break lab0; - } - cursor++; - } while (false); - } while (false); - // setmark pV, line 35 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 37 - v_8 = cursor; - lab13: do { - // (, line 37 - // gopast, line 38 - golab14: while(true) - { - lab15: do { - if (!(in_grouping(g_v, 97, 117))) - { - break lab15; - } - break golab14; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 38 - golab16: while(true) - { - lab17: do { - if (!(out_grouping(g_v, 97, 117))) - { - break lab17; - } - break golab16; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p1, line 38 - I_p1 = cursor; - // gopast, line 39 - golab18: while(true) - { - lab19: do { - if (!(in_grouping(g_v, 97, 117))) - { - break lab19; - } - break golab18; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 39 - golab20: while(true) - { - lab21: do { - if (!(out_grouping(g_v, 97, 117))) - { - break lab21; - } - break golab20; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p2, line 39 - I_p2 = cursor; - } while (false); - cursor = v_8; - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_aditzak() { - int among_var; - // (, line 49 - // [, line 50 - ket = cursor; - // substring, line 50 - among_var = find_among_b(a_0, 109); - if (among_var == 0) - { - return false; - } - // ], line 50 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 61 - // call RV, line 61 - if (!r_RV()) - { - return false; - } - // delete, line 61 - slice_del(); - break; - case 2: - // (, line 63 - // call R2, line 63 - if (!r_R2()) - { - return false; - } - // delete, line 63 - slice_del(); - break; - case 3: - // (, line 65 - // <-, line 65 - slice_from("atseden"); - break; - case 4: - // (, line 67 - // <-, line 67 - slice_from("arabera"); - break; - case 5: - // (, line 69 - // <-, line 69 - slice_from("baditu"); - break; - } - return true; - } - - private boolean r_izenak() { - int among_var; - // (, line 74 - // [, line 75 - ket = cursor; - // substring, line 75 - among_var = find_among_b(a_1, 295); - if (among_var == 0) - { - return false; - } - // ], line 75 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 105 - // call RV, line 105 - if (!r_RV()) - { - return false; - } - // delete, line 105 - slice_del(); - break; - case 2: - // (, line 107 - // call R2, line 107 - if (!r_R2()) - { - return false; - } - // delete, line 107 - slice_del(); - break; - case 3: - // (, line 109 - // <-, line 109 - slice_from("jok"); - break; - case 4: - // (, line 111 - // call R1, line 111 - if (!r_R1()) - { - return false; - } - // delete, line 111 - slice_del(); - break; - case 5: - // (, line 113 - // <-, line 113 - slice_from("tra"); - break; - case 6: - // (, line 115 - // <-, line 115 - slice_from("minutu"); - break; - case 7: - // (, line 117 - // <-, line 117 - slice_from("zehar"); - break; - case 8: - // (, line 119 - // <-, line 119 - slice_from("geldi"); - break; - case 9: - // (, line 121 - // <-, line 121 - slice_from("igaro"); - break; - case 10: - // (, line 123 - // <-, line 123 - slice_from("aurka"); - break; - } - return true; - } - - private boolean r_adjetiboak() { - int among_var; - // (, line 127 - // [, line 128 - ket = cursor; - // substring, line 128 - among_var = find_among_b(a_2, 19); - if (among_var == 0) - { - return false; - } - // ], line 128 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 131 - // call RV, line 131 - if (!r_RV()) - { - return false; - } - // delete, line 131 - slice_del(); - break; - case 2: - // (, line 133 - // <-, line 133 - slice_from("z"); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 139 - // do, line 140 - v_1 = cursor; - lab0: do { - // call mark_regions, line 140 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 141 - limit_backward = cursor; cursor = limit; - // (, line 141 - // repeat, line 142 - replab1: while(true) - { - v_2 = limit - cursor; - lab2: do { - // call aditzak, line 142 - if (!r_aditzak()) - { - break lab2; - } - continue replab1; - } while (false); - cursor = limit - v_2; - break replab1; - } - // repeat, line 143 - replab3: while(true) - { - v_3 = limit - cursor; - lab4: do { - // call izenak, line 143 - if (!r_izenak()) - { - break lab4; - } - continue replab3; - } while (false); - cursor = limit - v_3; - break replab3; - } - // do, line 144 - v_4 = limit - cursor; - lab5: do { - // call adjetiboak, line 144 - if (!r_adjetiboak()) - { - break lab5; - } - } while (false); - cursor = limit - v_4; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof BasqueStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab2; } - - @Override - public int hashCode() { - return BasqueStemmer.class.getName().hashCode(); + lab3: { + int v_3 = cursor; + lab4: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab4; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } + cursor = v_3; + if (!(in_grouping(g_v, 97, 117))) + { + break lab2; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + } } + break lab1; + } + cursor = v_2; + if (!(out_grouping(g_v, 97, 117))) + { + break lab0; + } + lab9: { + int v_6 = cursor; + lab10: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_6; + if (!(in_grouping(g_v, 97, 117))) + { + break lab0; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_8 = cursor; + lab13: { + golab14: while(true) + { + lab15: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab15; + } + break golab14; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab16: while(true) + { + lab17: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab17; + } + break golab16; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p1 = cursor; + golab18: while(true) + { + lab19: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab19; + } + break golab18; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab20: while(true) + { + lab21: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab21; + } + break golab20; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_8; + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_aditzak() { + int among_var; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 3: + slice_from("atseden"); + break; + case 4: + slice_from("arabera"); + break; + case 5: + slice_from("baditu"); + break; + } + return true; +} + +private boolean r_izenak() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 3: + slice_from("jok"); + break; + case 4: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 5: + slice_from("tra"); + break; + case 6: + slice_from("minutu"); + break; + case 7: + slice_from("zehar"); + break; + case 8: + slice_from("geldi"); + break; + case 9: + slice_from("igaro"); + break; + case 10: + slice_from("aurka"); + break; + } + return true; +} + +private boolean r_adjetiboak() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + slice_from("z"); + break; + } + return true; +} + +public boolean stem() { + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + while(true) + { + int v_2 = limit - cursor; + lab0: { + if (!r_aditzak()) + { + break lab0; + } + continue; + } + cursor = limit - v_2; + break; + } + while(true) + { + int v_3 = limit - cursor; + lab1: { + if (!r_izenak()) + { + break lab1; + } + continue; + } + cursor = limit - v_3; + break; + } + int v_4 = limit - cursor; + r_adjetiboak(); + cursor = limit - v_4; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof BasqueStemmer; +} + +@Override +public int hashCode() { + return BasqueStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/CatalanStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/CatalanStemmer.java index d812ea933d7..4816b6a45bb 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/CatalanStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/CatalanStemmer.java @@ -1,1070 +1,900 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class CatalanStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class CatalanStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 7), + new Among("\u00B7", 0, 6), + new Among("\u00E0", 0, 1), + new Among("\u00E1", 0, 1), + new Among("\u00E8", 0, 2), + new Among("\u00E9", 0, 2), + new Among("\u00EC", 0, 3), + new Among("\u00ED", 0, 3), + new Among("\u00EF", 0, 3), + new Among("\u00F2", 0, 4), + new Among("\u00F3", 0, 4), + new Among("\u00FA", 0, 5), + new Among("\u00FC", 0, 5) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("la", -1, 1), + new Among("-la", 0, 1), + new Among("sela", 0, 1), + new Among("le", -1, 1), + new Among("me", -1, 1), + new Among("-me", 4, 1), + new Among("se", -1, 1), + new Among("-te", -1, 1), + new Among("hi", -1, 1), + new Among("'hi", 8, 1), + new Among("li", -1, 1), + new Among("-li", 10, 1), + new Among("'l", -1, 1), + new Among("'m", -1, 1), + new Among("-m", -1, 1), + new Among("'n", -1, 1), + new Among("-n", -1, 1), + new Among("ho", -1, 1), + new Among("'ho", 17, 1), + new Among("lo", -1, 1), + new Among("selo", 19, 1), + new Among("'s", -1, 1), + new Among("las", -1, 1), + new Among("selas", 22, 1), + new Among("les", -1, 1), + new Among("-les", 24, 1), + new Among("'ls", -1, 1), + new Among("-ls", -1, 1), + new Among("'ns", -1, 1), + new Among("-ns", -1, 1), + new Among("ens", -1, 1), + new Among("los", -1, 1), + new Among("selos", 31, 1), + new Among("nos", -1, 1), + new Among("-nos", 33, 1), + new Among("vos", -1, 1), + new Among("us", -1, 1), + new Among("-us", 36, 1), + new Among("'t", -1, 1) +}; - private final static Among a_0[] = { - new Among ( "", -1, 13, "", methodObject ), - new Among ( "\u00B7", 0, 12, "", methodObject ), - new Among ( "\u00E0", 0, 2, "", methodObject ), - new Among ( "\u00E1", 0, 1, "", methodObject ), - new Among ( "\u00E8", 0, 4, "", methodObject ), - new Among ( "\u00E9", 0, 3, "", methodObject ), - new Among ( "\u00EC", 0, 6, "", methodObject ), - new Among ( "\u00ED", 0, 5, "", methodObject ), - new Among ( "\u00EF", 0, 11, "", methodObject ), - new Among ( "\u00F2", 0, 8, "", methodObject ), - new Among ( "\u00F3", 0, 7, "", methodObject ), - new Among ( "\u00FA", 0, 9, "", methodObject ), - new Among ( "\u00FC", 0, 10, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ica", -1, 4), + new Among("l\u00F3gica", 0, 3), + new Among("enca", -1, 1), + new Among("ada", -1, 2), + new Among("ancia", -1, 1), + new Among("encia", -1, 1), + new Among("\u00E8ncia", -1, 1), + new Among("\u00EDcia", -1, 1), + new Among("logia", -1, 3), + new Among("inia", -1, 1), + new Among("\u00EDinia", 9, 1), + new Among("eria", -1, 1), + new Among("\u00E0ria", -1, 1), + new Among("at\u00F2ria", -1, 1), + new Among("alla", -1, 1), + new Among("ella", -1, 1), + new Among("\u00EDvola", -1, 1), + new Among("ima", -1, 1), + new Among("\u00EDssima", 17, 1), + new Among("qu\u00EDssima", 18, 5), + new Among("ana", -1, 1), + new Among("ina", -1, 1), + new Among("era", -1, 1), + new Among("sfera", 22, 1), + new Among("ora", -1, 1), + new Among("dora", 24, 1), + new Among("adora", 25, 1), + new Among("adura", -1, 1), + new Among("esa", -1, 1), + new Among("osa", -1, 1), + new Among("assa", -1, 1), + new Among("essa", -1, 1), + new Among("issa", -1, 1), + new Among("eta", -1, 1), + new Among("ita", -1, 1), + new Among("ota", -1, 1), + new Among("ista", -1, 1), + new Among("ialista", 36, 1), + new Among("ionista", 36, 1), + new Among("iva", -1, 1), + new Among("ativa", 39, 1), + new Among("n\u00E7a", -1, 1), + new Among("log\u00EDa", -1, 3), + new Among("ic", -1, 4), + new Among("\u00EDstic", 43, 1), + new Among("enc", -1, 1), + new Among("esc", -1, 1), + new Among("ud", -1, 1), + new Among("atge", -1, 1), + new Among("ble", -1, 1), + new Among("able", 49, 1), + new Among("ible", 49, 1), + new Among("isme", -1, 1), + new Among("ialisme", 52, 1), + new Among("ionisme", 52, 1), + new Among("ivisme", 52, 1), + new Among("aire", -1, 1), + new Among("icte", -1, 1), + new Among("iste", -1, 1), + new Among("ici", -1, 1), + new Among("\u00EDci", -1, 1), + new Among("logi", -1, 3), + new Among("ari", -1, 1), + new Among("tori", -1, 1), + new Among("al", -1, 1), + new Among("il", -1, 1), + new Among("all", -1, 1), + new Among("ell", -1, 1), + new Among("\u00EDvol", -1, 1), + new Among("isam", -1, 1), + new Among("issem", -1, 1), + new Among("\u00ECssem", -1, 1), + new Among("\u00EDssem", -1, 1), + new Among("\u00EDssim", -1, 1), + new Among("qu\u00EDssim", 73, 5), + new Among("amen", -1, 1), + new Among("\u00ECssin", -1, 1), + new Among("ar", -1, 1), + new Among("ificar", 77, 1), + new Among("egar", 77, 1), + new Among("ejar", 77, 1), + new Among("itar", 77, 1), + new Among("itzar", 77, 1), + new Among("fer", -1, 1), + new Among("or", -1, 1), + new Among("dor", 84, 1), + new Among("dur", -1, 1), + new Among("doras", -1, 1), + new Among("ics", -1, 4), + new Among("l\u00F3gics", 88, 3), + new Among("uds", -1, 1), + new Among("nces", -1, 1), + new Among("ades", -1, 2), + new Among("ancies", -1, 1), + new Among("encies", -1, 1), + new Among("\u00E8ncies", -1, 1), + new Among("\u00EDcies", -1, 1), + new Among("logies", -1, 3), + new Among("inies", -1, 1), + new Among("\u00EDnies", -1, 1), + new Among("eries", -1, 1), + new Among("\u00E0ries", -1, 1), + new Among("at\u00F2ries", -1, 1), + new Among("bles", -1, 1), + new Among("ables", 103, 1), + new Among("ibles", 103, 1), + new Among("imes", -1, 1), + new Among("\u00EDssimes", 106, 1), + new Among("qu\u00EDssimes", 107, 5), + new Among("formes", -1, 1), + new Among("ismes", -1, 1), + new Among("ialismes", 110, 1), + new Among("ines", -1, 1), + new Among("eres", -1, 1), + new Among("ores", -1, 1), + new Among("dores", 114, 1), + new Among("idores", 115, 1), + new Among("dures", -1, 1), + new Among("eses", -1, 1), + new Among("oses", -1, 1), + new Among("asses", -1, 1), + new Among("ictes", -1, 1), + new Among("ites", -1, 1), + new Among("otes", -1, 1), + new Among("istes", -1, 1), + new Among("ialistes", 124, 1), + new Among("ionistes", 124, 1), + new Among("iques", -1, 4), + new Among("l\u00F3giques", 127, 3), + new Among("ives", -1, 1), + new Among("atives", 129, 1), + new Among("log\u00EDes", -1, 3), + new Among("alleng\u00FCes", -1, 1), + new Among("icis", -1, 1), + new Among("\u00EDcis", -1, 1), + new Among("logis", -1, 3), + new Among("aris", -1, 1), + new Among("toris", -1, 1), + new Among("ls", -1, 1), + new Among("als", 138, 1), + new Among("ells", 138, 1), + new Among("ims", -1, 1), + new Among("\u00EDssims", 141, 1), + new Among("qu\u00EDssims", 142, 5), + new Among("ions", -1, 1), + new Among("cions", 144, 1), + new Among("acions", 145, 2), + new Among("esos", -1, 1), + new Among("osos", -1, 1), + new Among("assos", -1, 1), + new Among("issos", -1, 1), + new Among("ers", -1, 1), + new Among("ors", -1, 1), + new Among("dors", 152, 1), + new Among("adors", 153, 1), + new Among("idors", 153, 1), + new Among("ats", -1, 1), + new Among("itats", 156, 1), + new Among("bilitats", 157, 1), + new Among("ivitats", 157, 1), + new Among("ativitats", 159, 1), + new Among("\u00EFtats", 156, 1), + new Among("ets", -1, 1), + new Among("ants", -1, 1), + new Among("ents", -1, 1), + new Among("ments", 164, 1), + new Among("aments", 165, 1), + new Among("ots", -1, 1), + new Among("uts", -1, 1), + new Among("ius", -1, 1), + new Among("trius", 169, 1), + new Among("atius", 169, 1), + new Among("\u00E8s", -1, 1), + new Among("\u00E9s", -1, 1), + new Among("\u00EDs", -1, 1), + new Among("d\u00EDs", 174, 1), + new Among("\u00F3s", -1, 1), + new Among("itat", -1, 1), + new Among("bilitat", 177, 1), + new Among("ivitat", 177, 1), + new Among("ativitat", 179, 1), + new Among("\u00EFtat", -1, 1), + new Among("et", -1, 1), + new Among("ant", -1, 1), + new Among("ent", -1, 1), + new Among("ient", 184, 1), + new Among("ment", 184, 1), + new Among("ament", 186, 1), + new Among("isament", 187, 1), + new Among("ot", -1, 1), + new Among("isseu", -1, 1), + new Among("\u00ECsseu", -1, 1), + new Among("\u00EDsseu", -1, 1), + new Among("triu", -1, 1), + new Among("\u00EDssiu", -1, 1), + new Among("atiu", -1, 1), + new Among("\u00F3", -1, 1), + new Among("i\u00F3", 196, 1), + new Among("ci\u00F3", 197, 1), + new Among("aci\u00F3", 198, 1) +}; - private final static Among a_1[] = { - new Among ( "la", -1, 1, "", methodObject ), - new Among ( "-la", 0, 1, "", methodObject ), - new Among ( "sela", 0, 1, "", methodObject ), - new Among ( "le", -1, 1, "", methodObject ), - new Among ( "me", -1, 1, "", methodObject ), - new Among ( "-me", 4, 1, "", methodObject ), - new Among ( "se", -1, 1, "", methodObject ), - new Among ( "-te", -1, 1, "", methodObject ), - new Among ( "hi", -1, 1, "", methodObject ), - new Among ( "'hi", 8, 1, "", methodObject ), - new Among ( "li", -1, 1, "", methodObject ), - new Among ( "-li", 10, 1, "", methodObject ), - new Among ( "'l", -1, 1, "", methodObject ), - new Among ( "'m", -1, 1, "", methodObject ), - new Among ( "-m", -1, 1, "", methodObject ), - new Among ( "'n", -1, 1, "", methodObject ), - new Among ( "-n", -1, 1, "", methodObject ), - new Among ( "ho", -1, 1, "", methodObject ), - new Among ( "'ho", 17, 1, "", methodObject ), - new Among ( "lo", -1, 1, "", methodObject ), - new Among ( "selo", 19, 1, "", methodObject ), - new Among ( "'s", -1, 1, "", methodObject ), - new Among ( "las", -1, 1, "", methodObject ), - new Among ( "selas", 22, 1, "", methodObject ), - new Among ( "les", -1, 1, "", methodObject ), - new Among ( "-les", 24, 1, "", methodObject ), - new Among ( "'ls", -1, 1, "", methodObject ), - new Among ( "-ls", -1, 1, "", methodObject ), - new Among ( "'ns", -1, 1, "", methodObject ), - new Among ( "-ns", -1, 1, "", methodObject ), - new Among ( "ens", -1, 1, "", methodObject ), - new Among ( "los", -1, 1, "", methodObject ), - new Among ( "selos", 31, 1, "", methodObject ), - new Among ( "nos", -1, 1, "", methodObject ), - new Among ( "-nos", 33, 1, "", methodObject ), - new Among ( "vos", -1, 1, "", methodObject ), - new Among ( "us", -1, 1, "", methodObject ), - new Among ( "-us", 36, 1, "", methodObject ), - new Among ( "'t", -1, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("aba", -1, 1), + new Among("esca", -1, 1), + new Among("isca", -1, 1), + new Among("\u00EFsca", -1, 1), + new Among("ada", -1, 1), + new Among("ida", -1, 1), + new Among("uda", -1, 1), + new Among("\u00EFda", -1, 1), + new Among("ia", -1, 1), + new Among("aria", 8, 1), + new Among("iria", 8, 1), + new Among("ara", -1, 1), + new Among("iera", -1, 1), + new Among("ira", -1, 1), + new Among("adora", -1, 1), + new Among("\u00EFra", -1, 1), + new Among("ava", -1, 1), + new Among("ixa", -1, 1), + new Among("itza", -1, 1), + new Among("\u00EDa", -1, 1), + new Among("ar\u00EDa", 19, 1), + new Among("er\u00EDa", 19, 1), + new Among("ir\u00EDa", 19, 1), + new Among("\u00EFa", -1, 1), + new Among("isc", -1, 1), + new Among("\u00EFsc", -1, 1), + new Among("ad", -1, 1), + new Among("ed", -1, 1), + new Among("id", -1, 1), + new Among("ie", -1, 1), + new Among("re", -1, 1), + new Among("dre", 30, 1), + new Among("ase", -1, 1), + new Among("iese", -1, 1), + new Among("aste", -1, 1), + new Among("iste", -1, 1), + new Among("ii", -1, 1), + new Among("ini", -1, 1), + new Among("esqui", -1, 1), + new Among("eixi", -1, 1), + new Among("itzi", -1, 1), + new Among("am", -1, 1), + new Among("em", -1, 1), + new Among("arem", 42, 1), + new Among("irem", 42, 1), + new Among("\u00E0rem", 42, 1), + new Among("\u00EDrem", 42, 1), + new Among("\u00E0ssem", 42, 1), + new Among("\u00E9ssem", 42, 1), + new Among("iguem", 42, 1), + new Among("\u00EFguem", 42, 1), + new Among("avem", 42, 1), + new Among("\u00E0vem", 42, 1), + new Among("\u00E1vem", 42, 1), + new Among("ir\u00ECem", 42, 1), + new Among("\u00EDem", 42, 1), + new Among("ar\u00EDem", 55, 1), + new Among("ir\u00EDem", 55, 1), + new Among("assim", -1, 1), + new Among("essim", -1, 1), + new Among("issim", -1, 1), + new Among("\u00E0ssim", -1, 1), + new Among("\u00E8ssim", -1, 1), + new Among("\u00E9ssim", -1, 1), + new Among("\u00EDssim", -1, 1), + new Among("\u00EFm", -1, 1), + new Among("an", -1, 1), + new Among("aban", 66, 1), + new Among("arian", 66, 1), + new Among("aran", 66, 1), + new Among("ieran", 66, 1), + new Among("iran", 66, 1), + new Among("\u00EDan", 66, 1), + new Among("ar\u00EDan", 72, 1), + new Among("er\u00EDan", 72, 1), + new Among("ir\u00EDan", 72, 1), + new Among("en", -1, 1), + new Among("ien", 76, 1), + new Among("arien", 77, 1), + new Among("irien", 77, 1), + new Among("aren", 76, 1), + new Among("eren", 76, 1), + new Among("iren", 76, 1), + new Among("\u00E0ren", 76, 1), + new Among("\u00EFren", 76, 1), + new Among("asen", 76, 1), + new Among("iesen", 76, 1), + new Among("assen", 76, 1), + new Among("essen", 76, 1), + new Among("issen", 76, 1), + new Among("\u00E9ssen", 76, 1), + new Among("\u00EFssen", 76, 1), + new Among("esquen", 76, 1), + new Among("isquen", 76, 1), + new Among("\u00EFsquen", 76, 1), + new Among("aven", 76, 1), + new Among("ixen", 76, 1), + new Among("eixen", 96, 1), + new Among("\u00EFxen", 76, 1), + new Among("\u00EFen", 76, 1), + new Among("in", -1, 1), + new Among("inin", 100, 1), + new Among("sin", 100, 1), + new Among("isin", 102, 1), + new Among("assin", 102, 1), + new Among("essin", 102, 1), + new Among("issin", 102, 1), + new Among("\u00EFssin", 102, 1), + new Among("esquin", 100, 1), + new Among("eixin", 100, 1), + new Among("aron", -1, 1), + new Among("ieron", -1, 1), + new Among("ar\u00E1n", -1, 1), + new Among("er\u00E1n", -1, 1), + new Among("ir\u00E1n", -1, 1), + new Among("i\u00EFn", -1, 1), + new Among("ado", -1, 1), + new Among("ido", -1, 1), + new Among("ando", -1, 2), + new Among("iendo", -1, 1), + new Among("io", -1, 1), + new Among("ixo", -1, 1), + new Among("eixo", 121, 1), + new Among("\u00EFxo", -1, 1), + new Among("itzo", -1, 1), + new Among("ar", -1, 1), + new Among("tzar", 125, 1), + new Among("er", -1, 1), + new Among("eixer", 127, 1), + new Among("ir", -1, 1), + new Among("ador", -1, 1), + new Among("as", -1, 1), + new Among("abas", 131, 1), + new Among("adas", 131, 1), + new Among("idas", 131, 1), + new Among("aras", 131, 1), + new Among("ieras", 131, 1), + new Among("\u00EDas", 131, 1), + new Among("ar\u00EDas", 137, 1), + new Among("er\u00EDas", 137, 1), + new Among("ir\u00EDas", 137, 1), + new Among("ids", -1, 1), + new Among("es", -1, 1), + new Among("ades", 142, 1), + new Among("ides", 142, 1), + new Among("udes", 142, 1), + new Among("\u00EFdes", 142, 1), + new Among("atges", 142, 1), + new Among("ies", 142, 1), + new Among("aries", 148, 1), + new Among("iries", 148, 1), + new Among("ares", 142, 1), + new Among("ires", 142, 1), + new Among("adores", 142, 1), + new Among("\u00EFres", 142, 1), + new Among("ases", 142, 1), + new Among("ieses", 142, 1), + new Among("asses", 142, 1), + new Among("esses", 142, 1), + new Among("isses", 142, 1), + new Among("\u00EFsses", 142, 1), + new Among("ques", 142, 1), + new Among("esques", 161, 1), + new Among("\u00EFsques", 161, 1), + new Among("aves", 142, 1), + new Among("ixes", 142, 1), + new Among("eixes", 165, 1), + new Among("\u00EFxes", 142, 1), + new Among("\u00EFes", 142, 1), + new Among("abais", -1, 1), + new Among("arais", -1, 1), + new Among("ierais", -1, 1), + new Among("\u00EDais", -1, 1), + new Among("ar\u00EDais", 172, 1), + new Among("er\u00EDais", 172, 1), + new Among("ir\u00EDais", 172, 1), + new Among("aseis", -1, 1), + new Among("ieseis", -1, 1), + new Among("asteis", -1, 1), + new Among("isteis", -1, 1), + new Among("inis", -1, 1), + new Among("sis", -1, 1), + new Among("isis", 181, 1), + new Among("assis", 181, 1), + new Among("essis", 181, 1), + new Among("issis", 181, 1), + new Among("\u00EFssis", 181, 1), + new Among("esquis", -1, 1), + new Among("eixis", -1, 1), + new Among("itzis", -1, 1), + new Among("\u00E1is", -1, 1), + new Among("ar\u00E9is", -1, 1), + new Among("er\u00E9is", -1, 1), + new Among("ir\u00E9is", -1, 1), + new Among("ams", -1, 1), + new Among("ados", -1, 1), + new Among("idos", -1, 1), + new Among("amos", -1, 1), + new Among("\u00E1bamos", 197, 1), + new Among("\u00E1ramos", 197, 1), + new Among("i\u00E9ramos", 197, 1), + new Among("\u00EDamos", 197, 1), + new Among("ar\u00EDamos", 201, 1), + new Among("er\u00EDamos", 201, 1), + new Among("ir\u00EDamos", 201, 1), + new Among("aremos", -1, 1), + new Among("eremos", -1, 1), + new Among("iremos", -1, 1), + new Among("\u00E1semos", -1, 1), + new Among("i\u00E9semos", -1, 1), + new Among("imos", -1, 1), + new Among("adors", -1, 1), + new Among("ass", -1, 1), + new Among("erass", 212, 1), + new Among("ess", -1, 1), + new Among("ats", -1, 1), + new Among("its", -1, 1), + new Among("ents", -1, 1), + new Among("\u00E0s", -1, 1), + new Among("ar\u00E0s", 218, 1), + new Among("ir\u00E0s", 218, 1), + new Among("ar\u00E1s", -1, 1), + new Among("er\u00E1s", -1, 1), + new Among("ir\u00E1s", -1, 1), + new Among("\u00E9s", -1, 1), + new Among("ar\u00E9s", 224, 1), + new Among("\u00EDs", -1, 1), + new Among("i\u00EFs", -1, 1), + new Among("at", -1, 1), + new Among("it", -1, 1), + new Among("ant", -1, 1), + new Among("ent", -1, 1), + new Among("int", -1, 1), + new Among("ut", -1, 1), + new Among("\u00EFt", -1, 1), + new Among("au", -1, 1), + new Among("erau", 235, 1), + new Among("ieu", -1, 1), + new Among("ineu", -1, 1), + new Among("areu", -1, 1), + new Among("ireu", -1, 1), + new Among("\u00E0reu", -1, 1), + new Among("\u00EDreu", -1, 1), + new Among("asseu", -1, 1), + new Among("esseu", -1, 1), + new Among("eresseu", 244, 1), + new Among("\u00E0sseu", -1, 1), + new Among("\u00E9sseu", -1, 1), + new Among("igueu", -1, 1), + new Among("\u00EFgueu", -1, 1), + new Among("\u00E0veu", -1, 1), + new Among("\u00E1veu", -1, 1), + new Among("itzeu", -1, 1), + new Among("\u00ECeu", -1, 1), + new Among("ir\u00ECeu", 253, 1), + new Among("\u00EDeu", -1, 1), + new Among("ar\u00EDeu", 255, 1), + new Among("ir\u00EDeu", 255, 1), + new Among("assiu", -1, 1), + new Among("issiu", -1, 1), + new Among("\u00E0ssiu", -1, 1), + new Among("\u00E8ssiu", -1, 1), + new Among("\u00E9ssiu", -1, 1), + new Among("\u00EDssiu", -1, 1), + new Among("\u00EFu", -1, 1), + new Among("ix", -1, 1), + new Among("eix", 265, 1), + new Among("\u00EFx", -1, 1), + new Among("itz", -1, 1), + new Among("i\u00E0", -1, 1), + new Among("ar\u00E0", -1, 1), + new Among("ir\u00E0", -1, 1), + new Among("itz\u00E0", -1, 1), + new Among("ar\u00E1", -1, 1), + new Among("er\u00E1", -1, 1), + new Among("ir\u00E1", -1, 1), + new Among("ir\u00E8", -1, 1), + new Among("ar\u00E9", -1, 1), + new Among("er\u00E9", -1, 1), + new Among("ir\u00E9", -1, 1), + new Among("\u00ED", -1, 1), + new Among("i\u00EF", -1, 1), + new Among("i\u00F3", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "ica", -1, 4, "", methodObject ), - new Among ( "l\u00F3gica", 0, 3, "", methodObject ), - new Among ( "enca", -1, 1, "", methodObject ), - new Among ( "ada", -1, 2, "", methodObject ), - new Among ( "ancia", -1, 1, "", methodObject ), - new Among ( "encia", -1, 1, "", methodObject ), - new Among ( "\u00E8ncia", -1, 1, "", methodObject ), - new Among ( "\u00EDcia", -1, 1, "", methodObject ), - new Among ( "logia", -1, 3, "", methodObject ), - new Among ( "inia", -1, 1, "", methodObject ), - new Among ( "\u00EDinia", 9, 1, "", methodObject ), - new Among ( "eria", -1, 1, "", methodObject ), - new Among ( "\u00E0ria", -1, 1, "", methodObject ), - new Among ( "at\u00F2ria", -1, 1, "", methodObject ), - new Among ( "alla", -1, 1, "", methodObject ), - new Among ( "ella", -1, 1, "", methodObject ), - new Among ( "\u00EDvola", -1, 1, "", methodObject ), - new Among ( "ima", -1, 1, "", methodObject ), - new Among ( "\u00EDssima", 17, 1, "", methodObject ), - new Among ( "qu\u00EDssima", 18, 5, "", methodObject ), - new Among ( "ana", -1, 1, "", methodObject ), - new Among ( "ina", -1, 1, "", methodObject ), - new Among ( "era", -1, 1, "", methodObject ), - new Among ( "sfera", 22, 1, "", methodObject ), - new Among ( "ora", -1, 1, "", methodObject ), - new Among ( "dora", 24, 1, "", methodObject ), - new Among ( "adora", 25, 1, "", methodObject ), - new Among ( "adura", -1, 1, "", methodObject ), - new Among ( "esa", -1, 1, "", methodObject ), - new Among ( "osa", -1, 1, "", methodObject ), - new Among ( "assa", -1, 1, "", methodObject ), - new Among ( "essa", -1, 1, "", methodObject ), - new Among ( "issa", -1, 1, "", methodObject ), - new Among ( "eta", -1, 1, "", methodObject ), - new Among ( "ita", -1, 1, "", methodObject ), - new Among ( "ota", -1, 1, "", methodObject ), - new Among ( "ista", -1, 1, "", methodObject ), - new Among ( "ialista", 36, 1, "", methodObject ), - new Among ( "ionista", 36, 1, "", methodObject ), - new Among ( "iva", -1, 1, "", methodObject ), - new Among ( "ativa", 39, 1, "", methodObject ), - new Among ( "n\u00E7a", -1, 1, "", methodObject ), - new Among ( "log\u00EDa", -1, 3, "", methodObject ), - new Among ( "ic", -1, 4, "", methodObject ), - new Among ( "\u00EDstic", 43, 1, "", methodObject ), - new Among ( "enc", -1, 1, "", methodObject ), - new Among ( "esc", -1, 1, "", methodObject ), - new Among ( "ud", -1, 1, "", methodObject ), - new Among ( "atge", -1, 1, "", methodObject ), - new Among ( "ble", -1, 1, "", methodObject ), - new Among ( "able", 49, 1, "", methodObject ), - new Among ( "ible", 49, 1, "", methodObject ), - new Among ( "isme", -1, 1, "", methodObject ), - new Among ( "ialisme", 52, 1, "", methodObject ), - new Among ( "ionisme", 52, 1, "", methodObject ), - new Among ( "ivisme", 52, 1, "", methodObject ), - new Among ( "aire", -1, 1, "", methodObject ), - new Among ( "icte", -1, 1, "", methodObject ), - new Among ( "iste", -1, 1, "", methodObject ), - new Among ( "ici", -1, 1, "", methodObject ), - new Among ( "\u00EDci", -1, 1, "", methodObject ), - new Among ( "logi", -1, 3, "", methodObject ), - new Among ( "ari", -1, 1, "", methodObject ), - new Among ( "tori", -1, 1, "", methodObject ), - new Among ( "al", -1, 1, "", methodObject ), - new Among ( "il", -1, 1, "", methodObject ), - new Among ( "all", -1, 1, "", methodObject ), - new Among ( "ell", -1, 1, "", methodObject ), - new Among ( "\u00EDvol", -1, 1, "", methodObject ), - new Among ( "isam", -1, 1, "", methodObject ), - new Among ( "issem", -1, 1, "", methodObject ), - new Among ( "\u00ECssem", -1, 1, "", methodObject ), - new Among ( "\u00EDssem", -1, 1, "", methodObject ), - new Among ( "\u00EDssim", -1, 1, "", methodObject ), - new Among ( "qu\u00EDssim", 73, 5, "", methodObject ), - new Among ( "amen", -1, 1, "", methodObject ), - new Among ( "\u00ECssin", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "ificar", 77, 1, "", methodObject ), - new Among ( "egar", 77, 1, "", methodObject ), - new Among ( "ejar", 77, 1, "", methodObject ), - new Among ( "itar", 77, 1, "", methodObject ), - new Among ( "itzar", 77, 1, "", methodObject ), - new Among ( "fer", -1, 1, "", methodObject ), - new Among ( "or", -1, 1, "", methodObject ), - new Among ( "dor", 84, 1, "", methodObject ), - new Among ( "dur", -1, 1, "", methodObject ), - new Among ( "doras", -1, 1, "", methodObject ), - new Among ( "ics", -1, 4, "", methodObject ), - new Among ( "l\u00F3gics", 88, 3, "", methodObject ), - new Among ( "uds", -1, 1, "", methodObject ), - new Among ( "nces", -1, 1, "", methodObject ), - new Among ( "ades", -1, 2, "", methodObject ), - new Among ( "ancies", -1, 1, "", methodObject ), - new Among ( "encies", -1, 1, "", methodObject ), - new Among ( "\u00E8ncies", -1, 1, "", methodObject ), - new Among ( "\u00EDcies", -1, 1, "", methodObject ), - new Among ( "logies", -1, 3, "", methodObject ), - new Among ( "inies", -1, 1, "", methodObject ), - new Among ( "\u00EDnies", -1, 1, "", methodObject ), - new Among ( "eries", -1, 1, "", methodObject ), - new Among ( "\u00E0ries", -1, 1, "", methodObject ), - new Among ( "at\u00F2ries", -1, 1, "", methodObject ), - new Among ( "bles", -1, 1, "", methodObject ), - new Among ( "ables", 103, 1, "", methodObject ), - new Among ( "ibles", 103, 1, "", methodObject ), - new Among ( "imes", -1, 1, "", methodObject ), - new Among ( "\u00EDssimes", 106, 1, "", methodObject ), - new Among ( "qu\u00EDssimes", 107, 5, "", methodObject ), - new Among ( "formes", -1, 1, "", methodObject ), - new Among ( "ismes", -1, 1, "", methodObject ), - new Among ( "ialismes", 110, 1, "", methodObject ), - new Among ( "ines", -1, 1, "", methodObject ), - new Among ( "eres", -1, 1, "", methodObject ), - new Among ( "ores", -1, 1, "", methodObject ), - new Among ( "dores", 114, 1, "", methodObject ), - new Among ( "idores", 115, 1, "", methodObject ), - new Among ( "dures", -1, 1, "", methodObject ), - new Among ( "eses", -1, 1, "", methodObject ), - new Among ( "oses", -1, 1, "", methodObject ), - new Among ( "asses", -1, 1, "", methodObject ), - new Among ( "ictes", -1, 1, "", methodObject ), - new Among ( "ites", -1, 1, "", methodObject ), - new Among ( "otes", -1, 1, "", methodObject ), - new Among ( "istes", -1, 1, "", methodObject ), - new Among ( "ialistes", 124, 1, "", methodObject ), - new Among ( "ionistes", 124, 1, "", methodObject ), - new Among ( "iques", -1, 4, "", methodObject ), - new Among ( "l\u00F3giques", 127, 3, "", methodObject ), - new Among ( "ives", -1, 1, "", methodObject ), - new Among ( "atives", 129, 1, "", methodObject ), - new Among ( "log\u00EDes", -1, 3, "", methodObject ), - new Among ( "alleng\u00FCes", -1, 1, "", methodObject ), - new Among ( "icis", -1, 1, "", methodObject ), - new Among ( "\u00EDcis", -1, 1, "", methodObject ), - new Among ( "logis", -1, 3, "", methodObject ), - new Among ( "aris", -1, 1, "", methodObject ), - new Among ( "toris", -1, 1, "", methodObject ), - new Among ( "ls", -1, 1, "", methodObject ), - new Among ( "als", 138, 1, "", methodObject ), - new Among ( "ells", 138, 1, "", methodObject ), - new Among ( "ims", -1, 1, "", methodObject ), - new Among ( "\u00EDssims", 141, 1, "", methodObject ), - new Among ( "qu\u00EDssims", 142, 5, "", methodObject ), - new Among ( "ions", -1, 1, "", methodObject ), - new Among ( "cions", 144, 1, "", methodObject ), - new Among ( "acions", 145, 2, "", methodObject ), - new Among ( "esos", -1, 1, "", methodObject ), - new Among ( "osos", -1, 1, "", methodObject ), - new Among ( "assos", -1, 1, "", methodObject ), - new Among ( "issos", -1, 1, "", methodObject ), - new Among ( "ers", -1, 1, "", methodObject ), - new Among ( "ors", -1, 1, "", methodObject ), - new Among ( "dors", 152, 1, "", methodObject ), - new Among ( "adors", 153, 1, "", methodObject ), - new Among ( "idors", 153, 1, "", methodObject ), - new Among ( "ats", -1, 1, "", methodObject ), - new Among ( "itats", 156, 1, "", methodObject ), - new Among ( "bilitats", 157, 1, "", methodObject ), - new Among ( "ivitats", 157, 1, "", methodObject ), - new Among ( "ativitats", 159, 1, "", methodObject ), - new Among ( "\u00EFtats", 156, 1, "", methodObject ), - new Among ( "ets", -1, 1, "", methodObject ), - new Among ( "ants", -1, 1, "", methodObject ), - new Among ( "ents", -1, 1, "", methodObject ), - new Among ( "ments", 164, 1, "", methodObject ), - new Among ( "aments", 165, 1, "", methodObject ), - new Among ( "ots", -1, 1, "", methodObject ), - new Among ( "uts", -1, 1, "", methodObject ), - new Among ( "ius", -1, 1, "", methodObject ), - new Among ( "trius", 169, 1, "", methodObject ), - new Among ( "atius", 169, 1, "", methodObject ), - new Among ( "\u00E8s", -1, 1, "", methodObject ), - new Among ( "\u00E9s", -1, 1, "", methodObject ), - new Among ( "\u00EDs", -1, 1, "", methodObject ), - new Among ( "d\u00EDs", 174, 1, "", methodObject ), - new Among ( "\u00F3s", -1, 1, "", methodObject ), - new Among ( "itat", -1, 1, "", methodObject ), - new Among ( "bilitat", 177, 1, "", methodObject ), - new Among ( "ivitat", 177, 1, "", methodObject ), - new Among ( "ativitat", 179, 1, "", methodObject ), - new Among ( "\u00EFtat", -1, 1, "", methodObject ), - new Among ( "et", -1, 1, "", methodObject ), - new Among ( "ant", -1, 1, "", methodObject ), - new Among ( "ent", -1, 1, "", methodObject ), - new Among ( "ient", 184, 1, "", methodObject ), - new Among ( "ment", 184, 1, "", methodObject ), - new Among ( "ament", 186, 1, "", methodObject ), - new Among ( "isament", 187, 1, "", methodObject ), - new Among ( "ot", -1, 1, "", methodObject ), - new Among ( "isseu", -1, 1, "", methodObject ), - new Among ( "\u00ECsseu", -1, 1, "", methodObject ), - new Among ( "\u00EDsseu", -1, 1, "", methodObject ), - new Among ( "triu", -1, 1, "", methodObject ), - new Among ( "\u00EDssiu", -1, 1, "", methodObject ), - new Among ( "atiu", -1, 1, "", methodObject ), - new Among ( "\u00F3", -1, 1, "", methodObject ), - new Among ( "i\u00F3", 196, 1, "", methodObject ), - new Among ( "ci\u00F3", 197, 1, "", methodObject ), - new Among ( "aci\u00F3", 198, 1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("a", -1, 1), + new Among("e", -1, 1), + new Among("i", -1, 1), + new Among("\u00EFn", -1, 1), + new Among("o", -1, 1), + new Among("ir", -1, 1), + new Among("s", -1, 1), + new Among("is", 6, 1), + new Among("os", 6, 1), + new Among("\u00EFs", 6, 1), + new Among("it", -1, 1), + new Among("eu", -1, 1), + new Among("iu", -1, 1), + new Among("iqu", -1, 2), + new Among("itz", -1, 1), + new Among("\u00E0", -1, 1), + new Among("\u00E1", -1, 1), + new Among("\u00E9", -1, 1), + new Among("\u00EC", -1, 1), + new Among("\u00ED", -1, 1), + new Among("\u00EF", -1, 1), + new Among("\u00F3", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "aba", -1, 1, "", methodObject ), - new Among ( "esca", -1, 1, "", methodObject ), - new Among ( "isca", -1, 1, "", methodObject ), - new Among ( "\u00EFsca", -1, 1, "", methodObject ), - new Among ( "ada", -1, 1, "", methodObject ), - new Among ( "ida", -1, 1, "", methodObject ), - new Among ( "uda", -1, 1, "", methodObject ), - new Among ( "\u00EFda", -1, 1, "", methodObject ), - new Among ( "ia", -1, 1, "", methodObject ), - new Among ( "aria", 8, 1, "", methodObject ), - new Among ( "iria", 8, 1, "", methodObject ), - new Among ( "ara", -1, 1, "", methodObject ), - new Among ( "iera", -1, 1, "", methodObject ), - new Among ( "ira", -1, 1, "", methodObject ), - new Among ( "adora", -1, 1, "", methodObject ), - new Among ( "\u00EFra", -1, 1, "", methodObject ), - new Among ( "ava", -1, 1, "", methodObject ), - new Among ( "ixa", -1, 1, "", methodObject ), - new Among ( "itza", -1, 1, "", methodObject ), - new Among ( "\u00EDa", -1, 1, "", methodObject ), - new Among ( "ar\u00EDa", 19, 1, "", methodObject ), - new Among ( "er\u00EDa", 19, 1, "", methodObject ), - new Among ( "ir\u00EDa", 19, 1, "", methodObject ), - new Among ( "\u00EFa", -1, 1, "", methodObject ), - new Among ( "isc", -1, 1, "", methodObject ), - new Among ( "\u00EFsc", -1, 1, "", methodObject ), - new Among ( "ad", -1, 1, "", methodObject ), - new Among ( "ed", -1, 1, "", methodObject ), - new Among ( "id", -1, 1, "", methodObject ), - new Among ( "ie", -1, 1, "", methodObject ), - new Among ( "re", -1, 1, "", methodObject ), - new Among ( "dre", 30, 1, "", methodObject ), - new Among ( "ase", -1, 1, "", methodObject ), - new Among ( "iese", -1, 1, "", methodObject ), - new Among ( "aste", -1, 1, "", methodObject ), - new Among ( "iste", -1, 1, "", methodObject ), - new Among ( "ii", -1, 1, "", methodObject ), - new Among ( "ini", -1, 1, "", methodObject ), - new Among ( "esqui", -1, 1, "", methodObject ), - new Among ( "eixi", -1, 1, "", methodObject ), - new Among ( "itzi", -1, 1, "", methodObject ), - new Among ( "am", -1, 1, "", methodObject ), - new Among ( "em", -1, 1, "", methodObject ), - new Among ( "arem", 42, 1, "", methodObject ), - new Among ( "irem", 42, 1, "", methodObject ), - new Among ( "\u00E0rem", 42, 1, "", methodObject ), - new Among ( "\u00EDrem", 42, 1, "", methodObject ), - new Among ( "\u00E0ssem", 42, 1, "", methodObject ), - new Among ( "\u00E9ssem", 42, 1, "", methodObject ), - new Among ( "iguem", 42, 1, "", methodObject ), - new Among ( "\u00EFguem", 42, 1, "", methodObject ), - new Among ( "avem", 42, 1, "", methodObject ), - new Among ( "\u00E0vem", 42, 1, "", methodObject ), - new Among ( "\u00E1vem", 42, 1, "", methodObject ), - new Among ( "ir\u00ECem", 42, 1, "", methodObject ), - new Among ( "\u00EDem", 42, 1, "", methodObject ), - new Among ( "ar\u00EDem", 55, 1, "", methodObject ), - new Among ( "ir\u00EDem", 55, 1, "", methodObject ), - new Among ( "assim", -1, 1, "", methodObject ), - new Among ( "essim", -1, 1, "", methodObject ), - new Among ( "issim", -1, 1, "", methodObject ), - new Among ( "\u00E0ssim", -1, 1, "", methodObject ), - new Among ( "\u00E8ssim", -1, 1, "", methodObject ), - new Among ( "\u00E9ssim", -1, 1, "", methodObject ), - new Among ( "\u00EDssim", -1, 1, "", methodObject ), - new Among ( "\u00EFm", -1, 1, "", methodObject ), - new Among ( "an", -1, 1, "", methodObject ), - new Among ( "aban", 66, 1, "", methodObject ), - new Among ( "arian", 66, 1, "", methodObject ), - new Among ( "aran", 66, 1, "", methodObject ), - new Among ( "ieran", 66, 1, "", methodObject ), - new Among ( "iran", 66, 1, "", methodObject ), - new Among ( "\u00EDan", 66, 1, "", methodObject ), - new Among ( "ar\u00EDan", 72, 1, "", methodObject ), - new Among ( "er\u00EDan", 72, 1, "", methodObject ), - new Among ( "ir\u00EDan", 72, 1, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "ien", 76, 1, "", methodObject ), - new Among ( "arien", 77, 1, "", methodObject ), - new Among ( "irien", 77, 1, "", methodObject ), - new Among ( "aren", 76, 1, "", methodObject ), - new Among ( "eren", 76, 1, "", methodObject ), - new Among ( "iren", 76, 1, "", methodObject ), - new Among ( "\u00E0ren", 76, 1, "", methodObject ), - new Among ( "\u00EFren", 76, 1, "", methodObject ), - new Among ( "asen", 76, 1, "", methodObject ), - new Among ( "iesen", 76, 1, "", methodObject ), - new Among ( "assen", 76, 1, "", methodObject ), - new Among ( "essen", 76, 1, "", methodObject ), - new Among ( "issen", 76, 1, "", methodObject ), - new Among ( "\u00E9ssen", 76, 1, "", methodObject ), - new Among ( "\u00EFssen", 76, 1, "", methodObject ), - new Among ( "esquen", 76, 1, "", methodObject ), - new Among ( "isquen", 76, 1, "", methodObject ), - new Among ( "\u00EFsquen", 76, 1, "", methodObject ), - new Among ( "aven", 76, 1, "", methodObject ), - new Among ( "ixen", 76, 1, "", methodObject ), - new Among ( "eixen", 96, 1, "", methodObject ), - new Among ( "\u00EFxen", 76, 1, "", methodObject ), - new Among ( "\u00EFen", 76, 1, "", methodObject ), - new Among ( "in", -1, 1, "", methodObject ), - new Among ( "inin", 100, 1, "", methodObject ), - new Among ( "sin", 100, 1, "", methodObject ), - new Among ( "isin", 102, 1, "", methodObject ), - new Among ( "assin", 102, 1, "", methodObject ), - new Among ( "essin", 102, 1, "", methodObject ), - new Among ( "issin", 102, 1, "", methodObject ), - new Among ( "\u00EFssin", 102, 1, "", methodObject ), - new Among ( "esquin", 100, 1, "", methodObject ), - new Among ( "eixin", 100, 1, "", methodObject ), - new Among ( "aron", -1, 1, "", methodObject ), - new Among ( "ieron", -1, 1, "", methodObject ), - new Among ( "ar\u00E1n", -1, 1, "", methodObject ), - new Among ( "er\u00E1n", -1, 1, "", methodObject ), - new Among ( "ir\u00E1n", -1, 1, "", methodObject ), - new Among ( "i\u00EFn", -1, 1, "", methodObject ), - new Among ( "ado", -1, 1, "", methodObject ), - new Among ( "ido", -1, 1, "", methodObject ), - new Among ( "ando", -1, 2, "", methodObject ), - new Among ( "iendo", -1, 1, "", methodObject ), - new Among ( "io", -1, 1, "", methodObject ), - new Among ( "ixo", -1, 1, "", methodObject ), - new Among ( "eixo", 121, 1, "", methodObject ), - new Among ( "\u00EFxo", -1, 1, "", methodObject ), - new Among ( "itzo", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "tzar", 125, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "eixer", 127, 1, "", methodObject ), - new Among ( "ir", -1, 1, "", methodObject ), - new Among ( "ador", -1, 1, "", methodObject ), - new Among ( "as", -1, 1, "", methodObject ), - new Among ( "abas", 131, 1, "", methodObject ), - new Among ( "adas", 131, 1, "", methodObject ), - new Among ( "idas", 131, 1, "", methodObject ), - new Among ( "aras", 131, 1, "", methodObject ), - new Among ( "ieras", 131, 1, "", methodObject ), - new Among ( "\u00EDas", 131, 1, "", methodObject ), - new Among ( "ar\u00EDas", 137, 1, "", methodObject ), - new Among ( "er\u00EDas", 137, 1, "", methodObject ), - new Among ( "ir\u00EDas", 137, 1, "", methodObject ), - new Among ( "ids", -1, 1, "", methodObject ), - new Among ( "es", -1, 1, "", methodObject ), - new Among ( "ades", 142, 1, "", methodObject ), - new Among ( "ides", 142, 1, "", methodObject ), - new Among ( "udes", 142, 1, "", methodObject ), - new Among ( "\u00EFdes", 142, 1, "", methodObject ), - new Among ( "atges", 142, 1, "", methodObject ), - new Among ( "ies", 142, 1, "", methodObject ), - new Among ( "aries", 148, 1, "", methodObject ), - new Among ( "iries", 148, 1, "", methodObject ), - new Among ( "ares", 142, 1, "", methodObject ), - new Among ( "ires", 142, 1, "", methodObject ), - new Among ( "adores", 142, 1, "", methodObject ), - new Among ( "\u00EFres", 142, 1, "", methodObject ), - new Among ( "ases", 142, 1, "", methodObject ), - new Among ( "ieses", 142, 1, "", methodObject ), - new Among ( "asses", 142, 1, "", methodObject ), - new Among ( "esses", 142, 1, "", methodObject ), - new Among ( "isses", 142, 1, "", methodObject ), - new Among ( "\u00EFsses", 142, 1, "", methodObject ), - new Among ( "ques", 142, 1, "", methodObject ), - new Among ( "esques", 161, 1, "", methodObject ), - new Among ( "\u00EFsques", 161, 1, "", methodObject ), - new Among ( "aves", 142, 1, "", methodObject ), - new Among ( "ixes", 142, 1, "", methodObject ), - new Among ( "eixes", 165, 1, "", methodObject ), - new Among ( "\u00EFxes", 142, 1, "", methodObject ), - new Among ( "\u00EFes", 142, 1, "", methodObject ), - new Among ( "abais", -1, 1, "", methodObject ), - new Among ( "arais", -1, 1, "", methodObject ), - new Among ( "ierais", -1, 1, "", methodObject ), - new Among ( "\u00EDais", -1, 1, "", methodObject ), - new Among ( "ar\u00EDais", 172, 1, "", methodObject ), - new Among ( "er\u00EDais", 172, 1, "", methodObject ), - new Among ( "ir\u00EDais", 172, 1, "", methodObject ), - new Among ( "aseis", -1, 1, "", methodObject ), - new Among ( "ieseis", -1, 1, "", methodObject ), - new Among ( "asteis", -1, 1, "", methodObject ), - new Among ( "isteis", -1, 1, "", methodObject ), - new Among ( "inis", -1, 1, "", methodObject ), - new Among ( "sis", -1, 1, "", methodObject ), - new Among ( "isis", 181, 1, "", methodObject ), - new Among ( "assis", 181, 1, "", methodObject ), - new Among ( "essis", 181, 1, "", methodObject ), - new Among ( "issis", 181, 1, "", methodObject ), - new Among ( "\u00EFssis", 181, 1, "", methodObject ), - new Among ( "esquis", -1, 1, "", methodObject ), - new Among ( "eixis", -1, 1, "", methodObject ), - new Among ( "itzis", -1, 1, "", methodObject ), - new Among ( "\u00E1is", -1, 1, "", methodObject ), - new Among ( "ar\u00E9is", -1, 1, "", methodObject ), - new Among ( "er\u00E9is", -1, 1, "", methodObject ), - new Among ( "ir\u00E9is", -1, 1, "", methodObject ), - new Among ( "ams", -1, 1, "", methodObject ), - new Among ( "ados", -1, 1, "", methodObject ), - new Among ( "idos", -1, 1, "", methodObject ), - new Among ( "amos", -1, 1, "", methodObject ), - new Among ( "\u00E1bamos", 197, 1, "", methodObject ), - new Among ( "\u00E1ramos", 197, 1, "", methodObject ), - new Among ( "i\u00E9ramos", 197, 1, "", methodObject ), - new Among ( "\u00EDamos", 197, 1, "", methodObject ), - new Among ( "ar\u00EDamos", 201, 1, "", methodObject ), - new Among ( "er\u00EDamos", 201, 1, "", methodObject ), - new Among ( "ir\u00EDamos", 201, 1, "", methodObject ), - new Among ( "aremos", -1, 1, "", methodObject ), - new Among ( "eremos", -1, 1, "", methodObject ), - new Among ( "iremos", -1, 1, "", methodObject ), - new Among ( "\u00E1semos", -1, 1, "", methodObject ), - new Among ( "i\u00E9semos", -1, 1, "", methodObject ), - new Among ( "imos", -1, 1, "", methodObject ), - new Among ( "adors", -1, 1, "", methodObject ), - new Among ( "ass", -1, 1, "", methodObject ), - new Among ( "erass", 212, 1, "", methodObject ), - new Among ( "ess", -1, 1, "", methodObject ), - new Among ( "ats", -1, 1, "", methodObject ), - new Among ( "its", -1, 1, "", methodObject ), - new Among ( "ents", -1, 1, "", methodObject ), - new Among ( "\u00E0s", -1, 1, "", methodObject ), - new Among ( "ar\u00E0s", 218, 1, "", methodObject ), - new Among ( "ir\u00E0s", 218, 1, "", methodObject ), - new Among ( "ar\u00E1s", -1, 1, "", methodObject ), - new Among ( "er\u00E1s", -1, 1, "", methodObject ), - new Among ( "ir\u00E1s", -1, 1, "", methodObject ), - new Among ( "\u00E9s", -1, 1, "", methodObject ), - new Among ( "ar\u00E9s", 224, 1, "", methodObject ), - new Among ( "\u00EDs", -1, 1, "", methodObject ), - new Among ( "i\u00EFs", -1, 1, "", methodObject ), - new Among ( "at", -1, 1, "", methodObject ), - new Among ( "it", -1, 1, "", methodObject ), - new Among ( "ant", -1, 1, "", methodObject ), - new Among ( "ent", -1, 1, "", methodObject ), - new Among ( "int", -1, 1, "", methodObject ), - new Among ( "ut", -1, 1, "", methodObject ), - new Among ( "\u00EFt", -1, 1, "", methodObject ), - new Among ( "au", -1, 1, "", methodObject ), - new Among ( "erau", 235, 1, "", methodObject ), - new Among ( "ieu", -1, 1, "", methodObject ), - new Among ( "ineu", -1, 1, "", methodObject ), - new Among ( "areu", -1, 1, "", methodObject ), - new Among ( "ireu", -1, 1, "", methodObject ), - new Among ( "\u00E0reu", -1, 1, "", methodObject ), - new Among ( "\u00EDreu", -1, 1, "", methodObject ), - new Among ( "asseu", -1, 1, "", methodObject ), - new Among ( "esseu", -1, 1, "", methodObject ), - new Among ( "eresseu", 244, 1, "", methodObject ), - new Among ( "\u00E0sseu", -1, 1, "", methodObject ), - new Among ( "\u00E9sseu", -1, 1, "", methodObject ), - new Among ( "igueu", -1, 1, "", methodObject ), - new Among ( "\u00EFgueu", -1, 1, "", methodObject ), - new Among ( "\u00E0veu", -1, 1, "", methodObject ), - new Among ( "\u00E1veu", -1, 1, "", methodObject ), - new Among ( "itzeu", -1, 1, "", methodObject ), - new Among ( "\u00ECeu", -1, 1, "", methodObject ), - new Among ( "ir\u00ECeu", 253, 1, "", methodObject ), - new Among ( "\u00EDeu", -1, 1, "", methodObject ), - new Among ( "ar\u00EDeu", 255, 1, "", methodObject ), - new Among ( "ir\u00EDeu", 255, 1, "", methodObject ), - new Among ( "assiu", -1, 1, "", methodObject ), - new Among ( "issiu", -1, 1, "", methodObject ), - new Among ( "\u00E0ssiu", -1, 1, "", methodObject ), - new Among ( "\u00E8ssiu", -1, 1, "", methodObject ), - new Among ( "\u00E9ssiu", -1, 1, "", methodObject ), - new Among ( "\u00EDssiu", -1, 1, "", methodObject ), - new Among ( "\u00EFu", -1, 1, "", methodObject ), - new Among ( "ix", -1, 1, "", methodObject ), - new Among ( "eix", 265, 1, "", methodObject ), - new Among ( "\u00EFx", -1, 1, "", methodObject ), - new Among ( "itz", -1, 1, "", methodObject ), - new Among ( "i\u00E0", -1, 1, "", methodObject ), - new Among ( "ar\u00E0", -1, 1, "", methodObject ), - new Among ( "ir\u00E0", -1, 1, "", methodObject ), - new Among ( "itz\u00E0", -1, 1, "", methodObject ), - new Among ( "ar\u00E1", -1, 1, "", methodObject ), - new Among ( "er\u00E1", -1, 1, "", methodObject ), - new Among ( "ir\u00E1", -1, 1, "", methodObject ), - new Among ( "ir\u00E8", -1, 1, "", methodObject ), - new Among ( "ar\u00E9", -1, 1, "", methodObject ), - new Among ( "er\u00E9", -1, 1, "", methodObject ), - new Among ( "ir\u00E9", -1, 1, "", methodObject ), - new Among ( "\u00ED", -1, 1, "", methodObject ), - new Among ( "i\u00EF", -1, 1, "", methodObject ), - new Among ( "i\u00F3", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 81, 6, 10 }; - private final static Among a_4[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "i", -1, 1, "", methodObject ), - new Among ( "\u00EFn", -1, 1, "", methodObject ), - new Among ( "o", -1, 1, "", methodObject ), - new Among ( "ir", -1, 1, "", methodObject ), - new Among ( "s", -1, 1, "", methodObject ), - new Among ( "is", 6, 1, "", methodObject ), - new Among ( "os", 6, 1, "", methodObject ), - new Among ( "\u00EFs", 6, 1, "", methodObject ), - new Among ( "it", -1, 1, "", methodObject ), - new Among ( "eu", -1, 1, "", methodObject ), - new Among ( "iu", -1, 1, "", methodObject ), - new Among ( "iqu", -1, 2, "", methodObject ), - new Among ( "itz", -1, 1, "", methodObject ), - new Among ( "\u00E0", -1, 1, "", methodObject ), - new Among ( "\u00E1", -1, 1, "", methodObject ), - new Among ( "\u00E9", -1, 1, "", methodObject ), - new Among ( "\u00EC", -1, 1, "", methodObject ), - new Among ( "\u00ED", -1, 1, "", methodObject ), - new Among ( "\u00EF", -1, 1, "", methodObject ), - new Among ( "\u00F3", -1, 1, "", methodObject ) - }; +private int I_p2; +private int I_p1; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 81, 6, 10 }; - private int I_p2; - private int I_p1; - - private void copy_from(CatalanStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - // (, line 41 - I_p1 = limit; - I_p2 = limit; - // do, line 46 - v_1 = cursor; - lab0: do { - // (, line 46 - // gopast, line 47 - golab1: while(true) - { - lab2: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab2; - } - break golab1; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 47 - golab3: while(true) - { - lab4: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab4; - } - break golab3; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p1, line 47 - I_p1 = cursor; - // gopast, line 48 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 48 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p2, line 48 - I_p2 = cursor; - } while (false); - cursor = v_1; - return true; - } - - private boolean r_cleaning() { - int among_var; - int v_1; - // repeat, line 52 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 52 - // [, line 53 - bra = cursor; - // substring, line 53 - among_var = find_among(a_0, 13); - if (among_var == 0) - { - break lab1; - } - // ], line 53 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 54 - // <-, line 54 - slice_from("a"); - break; - case 2: - // (, line 55 - // <-, line 55 - slice_from("a"); - break; - case 3: - // (, line 56 - // <-, line 56 - slice_from("e"); - break; - case 4: - // (, line 57 - // <-, line 57 - slice_from("e"); - break; - case 5: - // (, line 58 - // <-, line 58 - slice_from("i"); - break; - case 6: - // (, line 59 - // <-, line 59 - slice_from("i"); - break; - case 7: - // (, line 60 - // <-, line 60 - slice_from("o"); - break; - case 8: - // (, line 61 - // <-, line 61 - slice_from("o"); - break; - case 9: - // (, line 62 - // <-, line 62 - slice_from("u"); - break; - case 10: - // (, line 63 - // <-, line 63 - slice_from("u"); - break; - case 11: - // (, line 64 - // <-, line 64 - slice_from("i"); - break; - case 12: - // (, line 65 - // <-, line 65 - slice_from("."); - break; - case 13: - // (, line 66 - // next, line 66 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_attached_pronoun() { - int among_var; - // (, line 75 - // [, line 76 - ket = cursor; - // substring, line 76 - among_var = find_among_b(a_1, 39); - if (among_var == 0) - { - return false; - } - // ], line 76 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 86 - // call R1, line 86 - if (!r_R1()) - { - return false; - } - // delete, line 86 - slice_del(); - break; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - // (, line 90 - // [, line 91 - ket = cursor; - // substring, line 91 - among_var = find_among_b(a_2, 200); - if (among_var == 0) - { - return false; - } - // ], line 91 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 115 - // call R1, line 115 - if (!r_R1()) - { - return false; - } - // delete, line 115 - slice_del(); - break; - case 2: - // (, line 117 - // call R2, line 117 - if (!r_R2()) - { - return false; - } - // delete, line 117 - slice_del(); - break; - case 3: - // (, line 119 - // call R2, line 119 - if (!r_R2()) - { - return false; - } - // <-, line 119 - slice_from("log"); - break; - case 4: - // (, line 121 - // call R2, line 121 - if (!r_R2()) - { - return false; - } - // <-, line 121 - slice_from("ic"); - break; - case 5: - // (, line 123 - // call R1, line 123 - if (!r_R1()) - { - return false; - } - // <-, line 123 - slice_from("c"); - break; - } - return true; - } - - private boolean r_verb_suffix() { - int among_var; - // (, line 127 - // [, line 128 - ket = cursor; - // substring, line 128 - among_var = find_among_b(a_3, 283); - if (among_var == 0) - { - return false; - } - // ], line 128 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 173 - // call R1, line 173 - if (!r_R1()) - { - return false; - } - // delete, line 173 - slice_del(); - break; - case 2: - // (, line 175 - // call R2, line 175 - if (!r_R2()) - { - return false; - } - // delete, line 175 - slice_del(); - break; - } - return true; - } - - private boolean r_residual_suffix() { - int among_var; - // (, line 179 - // [, line 180 - ket = cursor; - // substring, line 180 - among_var = find_among_b(a_4, 22); - if (among_var == 0) - { - return false; - } - // ], line 180 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 183 - // call R1, line 183 - if (!r_R1()) - { - return false; - } - // delete, line 183 - slice_del(); - break; - case 2: - // (, line 185 - // call R1, line 185 - if (!r_R1()) - { - return false; - } - // <-, line 185 - slice_from("ic"); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 190 - // do, line 191 - v_1 = cursor; - lab0: do { - // call mark_regions, line 191 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 192 - limit_backward = cursor; cursor = limit; - // (, line 192 - // do, line 193 - v_2 = limit - cursor; - lab1: do { - // call attached_pronoun, line 193 - if (!r_attached_pronoun()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 194 - v_3 = limit - cursor; - lab2: do { - // (, line 194 - // or, line 194 - lab3: do { - v_4 = limit - cursor; - lab4: do { - // call standard_suffix, line 194 - if (!r_standard_suffix()) - { - break lab4; - } - break lab3; - } while (false); - cursor = limit - v_4; - // call verb_suffix, line 195 - if (!r_verb_suffix()) - { - break lab2; - } - } while (false); - } while (false); - cursor = limit - v_3; - // do, line 197 - v_5 = limit - cursor; - lab5: do { - // call residual_suffix, line 197 - if (!r_residual_suffix()) - { - break lab5; - } - } while (false); - cursor = limit - v_5; - cursor = limit_backward; // do, line 199 - v_6 = cursor; - lab6: do { - // call cleaning, line 199 - if (!r_cleaning()) - { - break lab6; - } - } while (false); - cursor = v_6; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof CatalanStemmer; +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; } - - @Override - public int hashCode() { - return CatalanStemmer.class.getName().hashCode(); + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab3: while(true) + { + lab4: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab4; } + break golab3; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p1 = cursor; + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_1; + return true; +} + +private boolean r_cleaning() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("e"); + break; + case 3: + slice_from("i"); + break; + case 4: + slice_from("o"); + break; + case 5: + slice_from("u"); + break; + case 6: + slice_from("."); + break; + case 7: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_attached_pronoun() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_standard_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 3: + if (!r_R2()) + { + return false; + } + slice_from("log"); + break; + case 4: + if (!r_R2()) + { + return false; + } + slice_from("ic"); + break; + case 5: + if (!r_R1()) + { + return false; + } + slice_from("c"); + break; + } + return true; +} + +private boolean r_verb_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_residual_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R1()) + { + return false; + } + slice_from("ic"); + break; + } + return true; +} + +public boolean stem() { + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_attached_pronoun(); + cursor = limit - v_2; + int v_3 = limit - cursor; + lab0: { + lab1: { + int v_4 = limit - cursor; + lab2: { + if (!r_standard_suffix()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_4; + if (!r_verb_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_3; + int v_5 = limit - cursor; + r_residual_suffix(); + cursor = limit - v_5; + cursor = limit_backward; + int v_6 = cursor; + r_cleaning(); + cursor = v_6; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof CatalanStemmer; +} + +@Override +public int hashCode() { + return CatalanStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DanishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DanishStemmer.java index 8917b5e8e7b..ce1ee3a603d 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DanishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DanishStemmer.java @@ -1,442 +1,301 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class DanishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class DanishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("hed", -1, 1), + new Among("ethed", 0, 1), + new Among("ered", -1, 1), + new Among("e", -1, 1), + new Among("erede", 3, 1), + new Among("ende", 3, 1), + new Among("erende", 5, 1), + new Among("ene", 3, 1), + new Among("erne", 3, 1), + new Among("ere", 3, 1), + new Among("en", -1, 1), + new Among("heden", 10, 1), + new Among("eren", 10, 1), + new Among("er", -1, 1), + new Among("heder", 13, 1), + new Among("erer", 13, 1), + new Among("s", -1, 2), + new Among("heds", 16, 1), + new Among("es", 16, 1), + new Among("endes", 18, 1), + new Among("erendes", 19, 1), + new Among("enes", 18, 1), + new Among("ernes", 18, 1), + new Among("eres", 18, 1), + new Among("ens", 16, 1), + new Among("hedens", 24, 1), + new Among("erens", 24, 1), + new Among("ers", 16, 1), + new Among("ets", 16, 1), + new Among("erets", 28, 1), + new Among("et", -1, 1), + new Among("eret", 30, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("gd", -1, -1), + new Among("dt", -1, -1), + new Among("gt", -1, -1), + new Among("kt", -1, -1) +}; - private final static Among a_0[] = { - new Among ( "hed", -1, 1, "", methodObject ), - new Among ( "ethed", 0, 1, "", methodObject ), - new Among ( "ered", -1, 1, "", methodObject ), - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "erede", 3, 1, "", methodObject ), - new Among ( "ende", 3, 1, "", methodObject ), - new Among ( "erende", 5, 1, "", methodObject ), - new Among ( "ene", 3, 1, "", methodObject ), - new Among ( "erne", 3, 1, "", methodObject ), - new Among ( "ere", 3, 1, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "heden", 10, 1, "", methodObject ), - new Among ( "eren", 10, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "heder", 13, 1, "", methodObject ), - new Among ( "erer", 13, 1, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "heds", 16, 1, "", methodObject ), - new Among ( "es", 16, 1, "", methodObject ), - new Among ( "endes", 18, 1, "", methodObject ), - new Among ( "erendes", 19, 1, "", methodObject ), - new Among ( "enes", 18, 1, "", methodObject ), - new Among ( "ernes", 18, 1, "", methodObject ), - new Among ( "eres", 18, 1, "", methodObject ), - new Among ( "ens", 16, 1, "", methodObject ), - new Among ( "hedens", 24, 1, "", methodObject ), - new Among ( "erens", 24, 1, "", methodObject ), - new Among ( "ers", 16, 1, "", methodObject ), - new Among ( "ets", 16, 1, "", methodObject ), - new Among ( "erets", 28, 1, "", methodObject ), - new Among ( "et", -1, 1, "", methodObject ), - new Among ( "eret", 30, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ig", -1, 1), + new Among("lig", 0, 1), + new Among("elig", 1, 1), + new Among("els", -1, 1), + new Among("l\u00F8st", -1, 2) +}; - private final static Among a_1[] = { - new Among ( "gd", -1, -1, "", methodObject ), - new Among ( "dt", -1, -1, "", methodObject ), - new Among ( "gt", -1, -1, "", methodObject ), - new Among ( "kt", -1, -1, "", methodObject ) - }; +private static final char g_c[] = {119, 223, 119, 1 }; - private final static Among a_2[] = { - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "lig", 0, 1, "", methodObject ), - new Among ( "elig", 1, 1, "", methodObject ), - new Among ( "els", -1, 1, "", methodObject ), - new Among ( "l\u00F8st", -1, 2, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; +private static final char g_s_ending[] = {239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 }; - private static final char g_s_ending[] = {239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 }; +private int I_x; +private int I_p1; +private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); - private int I_x; - private int I_p1; - private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); - private void copy_from(DanishStemmer other) { - I_x = other.I_x; - I_p1 = other.I_p1; - S_ch = other.S_ch; - super.copy_from(other); - } +private boolean r_mark_regions() { + I_p1 = limit; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + I_x = cursor; + cursor = v_1; + golab0: while(true) + { + int v_2 = cursor; + lab1: { + if (!(in_grouping(g_v, 97, 248))) + { + break lab1; + } + cursor = v_2; + break golab0; + } + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 248))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < I_x)) + { + break lab4; + } + I_p1 = I_x; + } + return true; +} - private boolean r_mark_regions() { - int v_1; - int v_2; - // (, line 29 - I_p1 = limit; - // test, line 33 - v_1 = cursor; - // (, line 33 - // hop, line 33 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - // setmark x, line 33 - I_x = cursor; - cursor = v_1; - // goto, line 34 - golab0: while(true) - { - v_2 = cursor; - lab1: do { - if (!(in_grouping(g_v, 97, 248))) - { - break lab1; - } - cursor = v_2; - break golab0; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 34 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 248))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 34 - I_p1 = cursor; - // try, line 35 - lab4: do { - // (, line 35 - if (!(I_p1 < I_x)) - { - break lab4; - } - I_p1 = I_x; - } while (false); - return true; - } +private boolean r_main_suffix() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!(in_grouping_b(g_s_ending, 97, 229))) + { + return false; + } + slice_del(); + break; + } + return true; +} - private boolean r_main_suffix() { - int among_var; - int v_1; - int v_2; - // (, line 40 - // setlimit, line 41 - v_1 = limit - cursor; - // tomark, line 41 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 41 - // [, line 41 - ket = cursor; - // substring, line 41 - among_var = find_among_b(a_0, 32); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 41 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 48 - // delete, line 48 - slice_del(); - break; - case 2: - // (, line 50 - if (!(in_grouping_b(g_s_ending, 97, 229))) - { - return false; - } - // delete, line 50 - slice_del(); - break; - } - return true; - } +private boolean r_consonant_pair() { + int v_1 = limit - cursor; + if (cursor < I_p1) + { + return false; + } + int v_3 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_1) == 0) + { + limit_backward = v_3; + return false; + } + bra = cursor; + limit_backward = v_3; + cursor = limit - v_1; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + return true; +} - private boolean r_consonant_pair() { - int v_1; - int v_2; - int v_3; - // (, line 54 - // test, line 55 - v_1 = limit - cursor; - // (, line 55 - // setlimit, line 56 - v_2 = limit - cursor; - // tomark, line 56 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 56 - // [, line 56 - ket = cursor; - // substring, line 56 - if (find_among_b(a_1, 4) == 0) - { - limit_backward = v_3; - return false; - } - // ], line 56 - bra = cursor; - limit_backward = v_3; - cursor = limit - v_1; - // next, line 62 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 62 - bra = cursor; - // delete, line 62 - slice_del(); - return true; - } +private boolean r_other_suffix() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("st"))) + { + break lab0; + } + bra = cursor; + if (!(eq_s_b("ig"))) + { + break lab0; + } + slice_del(); + } + cursor = limit - v_1; + if (cursor < I_p1) + { + return false; + } + int v_3 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + limit_backward = v_3; + return false; + } + bra = cursor; + limit_backward = v_3; + switch (among_var) { + case 1: + slice_del(); + int v_4 = limit - cursor; + r_consonant_pair(); + cursor = limit - v_4; + break; + case 2: + slice_from("l\u00F8s"); + break; + } + return true; +} - private boolean r_other_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 65 - // do, line 66 - v_1 = limit - cursor; - lab0: do { - // (, line 66 - // [, line 66 - ket = cursor; - // literal, line 66 - if (!(eq_s_b(2, "st"))) - { - break lab0; - } - // ], line 66 - bra = cursor; - // literal, line 66 - if (!(eq_s_b(2, "ig"))) - { - break lab0; - } - // delete, line 66 - slice_del(); - } while (false); - cursor = limit - v_1; - // setlimit, line 67 - v_2 = limit - cursor; - // tomark, line 67 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 67 - // [, line 67 - ket = cursor; - // substring, line 67 - among_var = find_among_b(a_2, 5); - if (among_var == 0) - { - limit_backward = v_3; - return false; - } - // ], line 67 - bra = cursor; - limit_backward = v_3; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 70 - // delete, line 70 - slice_del(); - // do, line 70 - v_4 = limit - cursor; - lab1: do { - // call consonant_pair, line 70 - if (!r_consonant_pair()) - { - break lab1; - } - } while (false); - cursor = limit - v_4; - break; - case 2: - // (, line 72 - // <-, line 72 - slice_from("l\u00F8s"); - break; - } - return true; - } +private boolean r_undouble() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (!(in_grouping_b(g_c, 98, 122))) + { + limit_backward = v_2; + return false; + } + bra = cursor; + slice_to(S_ch); + limit_backward = v_2; + if (!(eq_s_b(S_ch))) + { + return false; + } + slice_del(); + return true; +} - private boolean r_undouble() { - int v_1; - int v_2; - // (, line 75 - // setlimit, line 76 - v_1 = limit - cursor; - // tomark, line 76 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 76 - // [, line 76 - ket = cursor; - if (!(out_grouping_b(g_v, 97, 248))) - { - limit_backward = v_2; - return false; - } - // ], line 76 - bra = cursor; - // -> ch, line 76 - S_ch = slice_to(S_ch); - limit_backward = v_2; - // name ch, line 77 - if (!(eq_v_b(S_ch))) - { - return false; - } - // delete, line 78 - slice_del(); - return true; - } +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_main_suffix(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_consonant_pair(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_other_suffix(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_undouble(); + cursor = limit - v_5; + cursor = limit_backward; + return true; +} - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 82 - // do, line 84 - v_1 = cursor; - lab0: do { - // call mark_regions, line 84 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 85 - limit_backward = cursor; cursor = limit; - // (, line 85 - // do, line 86 - v_2 = limit - cursor; - lab1: do { - // call main_suffix, line 86 - if (!r_main_suffix()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 87 - v_3 = limit - cursor; - lab2: do { - // call consonant_pair, line 87 - if (!r_consonant_pair()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 88 - v_4 = limit - cursor; - lab3: do { - // call other_suffix, line 88 - if (!r_other_suffix()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 89 - v_5 = limit - cursor; - lab4: do { - // call undouble, line 89 - if (!r_undouble()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - cursor = limit_backward; return true; - } +@Override +public boolean equals( Object o ) { + return o instanceof DanishStemmer; +} - @Override - public boolean equals( Object o ) { - return o instanceof DanishStemmer; - } - - @Override - public int hashCode() { - return DanishStemmer.class.getName().hashCode(); - } +@Override +public int hashCode() { + return DanishStemmer.class.getName().hashCode(); +} } + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java index 6f8985066c3..b16151ba4a3 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java @@ -1,855 +1,626 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class DutchStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class DutchStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 6), + new Among("\u00E1", 0, 1), + new Among("\u00E4", 0, 1), + new Among("\u00E9", 0, 2), + new Among("\u00EB", 0, 2), + new Among("\u00ED", 0, 3), + new Among("\u00EF", 0, 3), + new Among("\u00F3", 0, 4), + new Among("\u00F6", 0, 4), + new Among("\u00FA", 0, 5), + new Among("\u00FC", 0, 5) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 3), + new Among("I", 0, 2), + new Among("Y", 0, 1) +}; - private final static Among a_0[] = { - new Among ( "", -1, 6, "", methodObject ), - new Among ( "\u00E1", 0, 1, "", methodObject ), - new Among ( "\u00E4", 0, 1, "", methodObject ), - new Among ( "\u00E9", 0, 2, "", methodObject ), - new Among ( "\u00EB", 0, 2, "", methodObject ), - new Among ( "\u00ED", 0, 3, "", methodObject ), - new Among ( "\u00EF", 0, 3, "", methodObject ), - new Among ( "\u00F3", 0, 4, "", methodObject ), - new Among ( "\u00F6", 0, 4, "", methodObject ), - new Among ( "\u00FA", 0, 5, "", methodObject ), - new Among ( "\u00FC", 0, 5, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("dd", -1, -1), + new Among("kk", -1, -1), + new Among("tt", -1, -1) +}; - private final static Among a_1[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "I", 0, 2, "", methodObject ), - new Among ( "Y", 0, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ene", -1, 2), + new Among("se", -1, 3), + new Among("en", -1, 2), + new Among("heden", 2, 1), + new Among("s", -1, 3) +}; - private final static Among a_2[] = { - new Among ( "dd", -1, -1, "", methodObject ), - new Among ( "kk", -1, -1, "", methodObject ), - new Among ( "tt", -1, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("end", -1, 1), + new Among("ig", -1, 2), + new Among("ing", -1, 1), + new Among("lijk", -1, 3), + new Among("baar", -1, 4), + new Among("bar", -1, 5) +}; - private final static Among a_3[] = { - new Among ( "ene", -1, 2, "", methodObject ), - new Among ( "se", -1, 3, "", methodObject ), - new Among ( "en", -1, 2, "", methodObject ), - new Among ( "heden", 2, 1, "", methodObject ), - new Among ( "s", -1, 3, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("aa", -1, -1), + new Among("ee", -1, -1), + new Among("oo", -1, -1), + new Among("uu", -1, -1) +}; - private final static Among a_4[] = { - new Among ( "end", -1, 1, "", methodObject ), - new Among ( "ig", -1, 2, "", methodObject ), - new Among ( "ing", -1, 1, "", methodObject ), - new Among ( "lijk", -1, 3, "", methodObject ), - new Among ( "baar", -1, 4, "", methodObject ), - new Among ( "bar", -1, 5, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private final static Among a_5[] = { - new Among ( "aa", -1, -1, "", methodObject ), - new Among ( "ee", -1, -1, "", methodObject ), - new Among ( "oo", -1, -1, "", methodObject ), - new Among ( "uu", -1, -1, "", methodObject ) - }; +private static final char g_v_I[] = {1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; +private static final char g_v_j[] = {17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private static final char g_v_I[] = {1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; +private int I_p2; +private int I_p1; +private boolean B_e_found; - private static final char g_v_j[] = {17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private int I_p2; - private int I_p1; - private boolean B_e_found; - - private void copy_from(DutchStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - B_e_found = other.B_e_found; - super.copy_from(other); - } - - private boolean r_prelude() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 41 - // test, line 42 - v_1 = cursor; - // repeat, line 42 - replab0: while(true) - { - v_2 = cursor; - lab1: do { - // (, line 42 - // [, line 43 - bra = cursor; - // substring, line 43 - among_var = find_among(a_0, 11); - if (among_var == 0) - { - break lab1; - } - // ], line 43 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 45 - // <-, line 45 - slice_from("a"); - break; - case 2: - // (, line 47 - // <-, line 47 - slice_from("e"); - break; - case 3: - // (, line 49 - // <-, line 49 - slice_from("i"); - break; - case 4: - // (, line 51 - // <-, line 51 - slice_from("o"); - break; - case 5: - // (, line 53 - // <-, line 53 - slice_from("u"); - break; - case 6: - // (, line 54 - // next, line 54 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_2; - break replab0; - } - cursor = v_1; - // try, line 57 - v_3 = cursor; - lab2: do { - // (, line 57 - // [, line 57 - bra = cursor; - // literal, line 57 - if (!(eq_s(1, "y"))) - { - cursor = v_3; - break lab2; - } - // ], line 57 - ket = cursor; - // <-, line 57 - slice_from("Y"); - } while (false); - // repeat, line 58 - replab3: while(true) - { - v_4 = cursor; - lab4: do { - // goto, line 58 - golab5: while(true) - { - v_5 = cursor; - lab6: do { - // (, line 58 - if (!(in_grouping(g_v, 97, 232))) - { - break lab6; - } - // [, line 59 - bra = cursor; - // or, line 59 - lab7: do { - v_6 = cursor; - lab8: do { - // (, line 59 - // literal, line 59 - if (!(eq_s(1, "i"))) - { - break lab8; - } - // ], line 59 - ket = cursor; - if (!(in_grouping(g_v, 97, 232))) - { - break lab8; - } - // <-, line 59 - slice_from("I"); - break lab7; - } while (false); - cursor = v_6; - // (, line 60 - // literal, line 60 - if (!(eq_s(1, "y"))) - { - break lab6; - } - // ], line 60 - ket = cursor; - // <-, line 60 - slice_from("Y"); - } while (false); - cursor = v_5; - break golab5; - } while (false); - cursor = v_5; - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - continue replab3; - } while (false); - cursor = v_4; - break replab3; - } - return true; - } - - private boolean r_mark_regions() { - // (, line 64 - I_p1 = limit; - I_p2 = limit; - // gopast, line 69 - golab0: while(true) - { - lab1: do { - if (!(in_grouping(g_v, 97, 232))) - { - break lab1; - } - break golab0; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 69 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 232))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 69 - I_p1 = cursor; - // try, line 70 - lab4: do { - // (, line 70 - if (!(I_p1 < 3)) - { - break lab4; - } - I_p1 = 3; - } while (false); - // gopast, line 71 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 232))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 71 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 232))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p2, line 71 - I_p2 = cursor; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 75 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 75 - // [, line 77 - bra = cursor; - // substring, line 77 - among_var = find_among(a_1, 3); - if (among_var == 0) - { - break lab1; - } - // ], line 77 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 78 - // <-, line 78 - slice_from("y"); - break; - case 2: - // (, line 79 - // <-, line 79 - slice_from("i"); - break; - case 3: - // (, line 80 - // next, line 80 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_undouble() { - int v_1; - // (, line 90 - // test, line 91 - v_1 = limit - cursor; - // among, line 91 - if (find_among_b(a_2, 3) == 0) - { - return false; - } - cursor = limit - v_1; - // [, line 91 - ket = cursor; - // next, line 91 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 91 - bra = cursor; - // delete, line 91 - slice_del(); - return true; - } - - private boolean r_e_ending() { - int v_1; - // (, line 94 - // unset e_found, line 95 - B_e_found = false; - // [, line 96 - ket = cursor; - // literal, line 96 - if (!(eq_s_b(1, "e"))) - { - return false; - } - // ], line 96 - bra = cursor; - // call R1, line 96 - if (!r_R1()) - { - return false; - } - // test, line 96 - v_1 = limit - cursor; - if (!(out_grouping_b(g_v, 97, 232))) - { - return false; - } - cursor = limit - v_1; - // delete, line 96 - slice_del(); - // set e_found, line 97 - B_e_found = true; - // call undouble, line 98 - if (!r_undouble()) - { - return false; - } - return true; - } - - private boolean r_en_ending() { - int v_1; - int v_2; - // (, line 101 - // call R1, line 102 - if (!r_R1()) - { - return false; - } - // and, line 102 - v_1 = limit - cursor; - if (!(out_grouping_b(g_v, 97, 232))) - { - return false; - } - cursor = limit - v_1; - // not, line 102 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 102 - if (!(eq_s_b(3, "gem"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // delete, line 102 - slice_del(); - // call undouble, line 103 - if (!r_undouble()) - { - return false; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 106 - // do, line 107 - v_1 = limit - cursor; - lab0: do { - // (, line 107 - // [, line 108 - ket = cursor; - // substring, line 108 - among_var = find_among_b(a_3, 5); - if (among_var == 0) - { - break lab0; - } - // ], line 108 - bra = cursor; - switch(among_var) { - case 0: - break lab0; - case 1: - // (, line 110 - // call R1, line 110 - if (!r_R1()) - { - break lab0; - } - // <-, line 110 - slice_from("heid"); - break; - case 2: - // (, line 113 - // call en_ending, line 113 - if (!r_en_ending()) - { - break lab0; - } - break; - case 3: - // (, line 116 - // call R1, line 116 - if (!r_R1()) - { - break lab0; - } - if (!(out_grouping_b(g_v_j, 97, 232))) - { - break lab0; - } - // delete, line 116 - slice_del(); - break; - } - } while (false); - cursor = limit - v_1; - // do, line 120 - v_2 = limit - cursor; - lab1: do { - // call e_ending, line 120 - if (!r_e_ending()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 122 - v_3 = limit - cursor; - lab2: do { - // (, line 122 - // [, line 122 - ket = cursor; - // literal, line 122 - if (!(eq_s_b(4, "heid"))) - { - break lab2; - } - // ], line 122 - bra = cursor; - // call R2, line 122 - if (!r_R2()) - { - break lab2; - } - // not, line 122 - { - v_4 = limit - cursor; - lab3: do { - // literal, line 122 - if (!(eq_s_b(1, "c"))) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_4; - } - // delete, line 122 - slice_del(); - // [, line 123 - ket = cursor; - // literal, line 123 - if (!(eq_s_b(2, "en"))) - { - break lab2; - } - // ], line 123 - bra = cursor; - // call en_ending, line 123 - if (!r_en_ending()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 126 - v_5 = limit - cursor; - lab4: do { - // (, line 126 - // [, line 127 - ket = cursor; - // substring, line 127 - among_var = find_among_b(a_4, 6); - if (among_var == 0) - { - break lab4; - } - // ], line 127 - bra = cursor; - switch(among_var) { - case 0: - break lab4; - case 1: - // (, line 129 - // call R2, line 129 - if (!r_R2()) - { - break lab4; - } - // delete, line 129 - slice_del(); - // or, line 130 - lab5: do { - v_6 = limit - cursor; - lab6: do { - // (, line 130 - // [, line 130 - ket = cursor; - // literal, line 130 - if (!(eq_s_b(2, "ig"))) - { - break lab6; - } - // ], line 130 - bra = cursor; - // call R2, line 130 - if (!r_R2()) - { - break lab6; - } - // not, line 130 - { - v_7 = limit - cursor; - lab7: do { - // literal, line 130 - if (!(eq_s_b(1, "e"))) - { - break lab7; - } - break lab6; - } while (false); - cursor = limit - v_7; - } - // delete, line 130 - slice_del(); - break lab5; - } while (false); - cursor = limit - v_6; - // call undouble, line 130 - if (!r_undouble()) - { - break lab4; - } - } while (false); - break; - case 2: - // (, line 133 - // call R2, line 133 - if (!r_R2()) - { - break lab4; - } - // not, line 133 - { - v_8 = limit - cursor; - lab8: do { - // literal, line 133 - if (!(eq_s_b(1, "e"))) - { - break lab8; - } - break lab4; - } while (false); - cursor = limit - v_8; - } - // delete, line 133 - slice_del(); - break; - case 3: - // (, line 136 - // call R2, line 136 - if (!r_R2()) - { - break lab4; - } - // delete, line 136 - slice_del(); - // call e_ending, line 136 - if (!r_e_ending()) - { - break lab4; - } - break; - case 4: - // (, line 139 - // call R2, line 139 - if (!r_R2()) - { - break lab4; - } - // delete, line 139 - slice_del(); - break; - case 5: - // (, line 142 - // call R2, line 142 - if (!r_R2()) - { - break lab4; - } - // Boolean test e_found, line 142 - if (!(B_e_found)) - { - break lab4; - } - // delete, line 142 - slice_del(); - break; - } - } while (false); - cursor = limit - v_5; - // do, line 146 - v_9 = limit - cursor; - lab9: do { - // (, line 146 - if (!(out_grouping_b(g_v_I, 73, 232))) - { - break lab9; - } - // test, line 148 - v_10 = limit - cursor; - // (, line 148 - // among, line 149 - if (find_among_b(a_5, 4) == 0) - { - break lab9; - } - if (!(out_grouping_b(g_v, 97, 232))) - { - break lab9; - } - cursor = limit - v_10; - // [, line 152 - ket = cursor; - // next, line 152 - if (cursor <= limit_backward) - { - break lab9; - } - cursor--; - // ], line 152 - bra = cursor; - // delete, line 152 - slice_del(); - } while (false); - cursor = limit - v_9; - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 157 - // do, line 159 - v_1 = cursor; - lab0: do { - // call prelude, line 159 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 160 - v_2 = cursor; - lab1: do { - // call mark_regions, line 160 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 161 - limit_backward = cursor; cursor = limit; - // do, line 162 - v_3 = limit - cursor; - lab2: do { - // call standard_suffix, line 162 - if (!r_standard_suffix()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - cursor = limit_backward; // do, line 163 - v_4 = cursor; - lab3: do { - // call postlude, line 163 - if (!r_postlude()) - { - break lab3; - } - } while (false); - cursor = v_4; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof DutchStemmer; +private boolean r_prelude() { + int among_var; + int v_1 = cursor; + while(true) + { + int v_2 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("e"); + break; + case 3: + slice_from("i"); + break; + case 4: + slice_from("o"); + break; + case 5: + slice_from("u"); + break; + case 6: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_2; + break; + } + cursor = v_1; + int v_3 = cursor; + lab1: { + bra = cursor; + if (!(eq_s("y"))) + { + cursor = v_3; + break lab1; + } + ket = cursor; + slice_from("Y"); + } + while(true) + { + int v_4 = cursor; + lab2: { + golab3: while(true) + { + int v_5 = cursor; + lab4: { + if (!(in_grouping(g_v, 97, 232))) + { + break lab4; + } + bra = cursor; + lab5: { + int v_6 = cursor; + lab6: { + if (!(eq_s("i"))) + { + break lab6; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + slice_from("I"); + break lab5; + } + cursor = v_6; + if (!(eq_s("y"))) + { + break lab4; + } + ket = cursor; + slice_from("Y"); + } + cursor = v_5; + break golab3; } - - @Override - public int hashCode() { - return DutchStemmer.class.getName().hashCode(); + cursor = v_5; + if (cursor >= limit) + { + break lab2; } + cursor++; + } + continue; + } + cursor = v_4; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + golab0: while(true) + { + lab1: { + if (!(in_grouping(g_v, 97, 232))) + { + break lab1; + } + break golab0; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 232))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < 3)) + { + break lab4; + } + I_p1 = 3; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 232))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p2 = cursor; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_1); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("y"); + break; + case 2: + slice_from("i"); + break; + case 3: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_undouble() { + int v_1 = limit - cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + cursor = limit - v_1; + ket = cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + return true; +} + +private boolean r_e_ending() { + B_e_found = false; + ket = cursor; + if (!(eq_s_b("e"))) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + int v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + slice_del(); + B_e_found = true; + if (!r_undouble()) + { + return false; + } + return true; +} + +private boolean r_en_ending() { + if (!r_R1()) + { + return false; + } + int v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("gem"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + slice_del(); + if (!r_undouble()) + { + return false; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + break lab0; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + break lab0; + } + slice_from("heid"); + break; + case 2: + if (!r_en_ending()) + { + break lab0; + } + break; + case 3: + if (!r_R1()) + { + break lab0; + } + if (!(out_grouping_b(g_v_j, 97, 232))) + { + break lab0; + } + slice_del(); + break; + } + } + cursor = limit - v_1; + int v_2 = limit - cursor; + r_e_ending(); + cursor = limit - v_2; + int v_3 = limit - cursor; + lab1: { + ket = cursor; + if (!(eq_s_b("heid"))) + { + break lab1; + } + bra = cursor; + if (!r_R2()) + { + break lab1; + } + { + int v_4 = limit - cursor; + lab2: { + if (!(eq_s_b("c"))) + { + break lab2; + } + break lab1; + } + cursor = limit - v_4; + } + slice_del(); + ket = cursor; + if (!(eq_s_b("en"))) + { + break lab1; + } + bra = cursor; + if (!r_en_ending()) + { + break lab1; + } + } + cursor = limit - v_3; + int v_5 = limit - cursor; + lab3: { + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + break lab3; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + break lab3; + } + slice_del(); + lab4: { + int v_6 = limit - cursor; + lab5: { + ket = cursor; + if (!(eq_s_b("ig"))) + { + break lab5; + } + bra = cursor; + if (!r_R2()) + { + break lab5; + } + { + int v_7 = limit - cursor; + lab6: { + if (!(eq_s_b("e"))) + { + break lab6; + } + break lab5; + } + cursor = limit - v_7; + } + slice_del(); + break lab4; + } + cursor = limit - v_6; + if (!r_undouble()) + { + break lab3; + } + } + break; + case 2: + if (!r_R2()) + { + break lab3; + } + { + int v_8 = limit - cursor; + lab7: { + if (!(eq_s_b("e"))) + { + break lab7; + } + break lab3; + } + cursor = limit - v_8; + } + slice_del(); + break; + case 3: + if (!r_R2()) + { + break lab3; + } + slice_del(); + if (!r_e_ending()) + { + break lab3; + } + break; + case 4: + if (!r_R2()) + { + break lab3; + } + slice_del(); + break; + case 5: + if (!r_R2()) + { + break lab3; + } + if (!(B_e_found)) + { + break lab3; + } + slice_del(); + break; + } + } + cursor = limit - v_5; + int v_9 = limit - cursor; + lab8: { + if (!(out_grouping_b(g_v_I, 73, 232))) + { + break lab8; + } + int v_10 = limit - cursor; + if (find_among_b(a_5) == 0) + { + break lab8; + } + if (!(out_grouping_b(g_v, 97, 232))) + { + break lab8; + } + cursor = limit - v_10; + ket = cursor; + if (cursor <= limit_backward) + { + break lab8; + } + cursor--; + bra = cursor; + slice_del(); + } + cursor = limit - v_9; + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + int v_2 = cursor; + r_mark_regions(); + cursor = v_2; + limit_backward = cursor; + cursor = limit; + r_standard_suffix(); + cursor = limit_backward; + int v_4 = cursor; + r_postlude(); + cursor = v_4; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof DutchStemmer; +} + +@Override +public int hashCode() { + return DutchStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EnglishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EnglishStemmer.java index 4f59180a2e1..892ec1720fe 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EnglishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EnglishStemmer.java @@ -1,1332 +1,953 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class EnglishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class EnglishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("arsen", -1, -1), + new Among("commun", -1, -1), + new Among("gener", -1, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("'", -1, 1), + new Among("'s'", 0, 1), + new Among("'s", -1, 1) +}; - private final static Among a_0[] = { - new Among ( "arsen", -1, -1, "", methodObject ), - new Among ( "commun", -1, -1, "", methodObject ), - new Among ( "gener", -1, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ied", -1, 2), + new Among("s", -1, 3), + new Among("ies", 1, 2), + new Among("sses", 1, 1), + new Among("ss", 1, -1), + new Among("us", 1, -1) +}; - private final static Among a_1[] = { - new Among ( "'", -1, 1, "", methodObject ), - new Among ( "'s'", 0, 1, "", methodObject ), - new Among ( "'s", -1, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("", -1, 3), + new Among("bb", 0, 2), + new Among("dd", 0, 2), + new Among("ff", 0, 2), + new Among("gg", 0, 2), + new Among("bl", 0, 1), + new Among("mm", 0, 2), + new Among("nn", 0, 2), + new Among("pp", 0, 2), + new Among("rr", 0, 2), + new Among("at", 0, 1), + new Among("tt", 0, 2), + new Among("iz", 0, 1) +}; - private final static Among a_2[] = { - new Among ( "ied", -1, 2, "", methodObject ), - new Among ( "s", -1, 3, "", methodObject ), - new Among ( "ies", 1, 2, "", methodObject ), - new Among ( "sses", 1, 1, "", methodObject ), - new Among ( "ss", 1, -1, "", methodObject ), - new Among ( "us", 1, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ed", -1, 2), + new Among("eed", 0, 1), + new Among("ing", -1, 2), + new Among("edly", -1, 2), + new Among("eedly", 3, 1), + new Among("ingly", -1, 2) +}; - private final static Among a_3[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "bb", 0, 2, "", methodObject ), - new Among ( "dd", 0, 2, "", methodObject ), - new Among ( "ff", 0, 2, "", methodObject ), - new Among ( "gg", 0, 2, "", methodObject ), - new Among ( "bl", 0, 1, "", methodObject ), - new Among ( "mm", 0, 2, "", methodObject ), - new Among ( "nn", 0, 2, "", methodObject ), - new Among ( "pp", 0, 2, "", methodObject ), - new Among ( "rr", 0, 2, "", methodObject ), - new Among ( "at", 0, 1, "", methodObject ), - new Among ( "tt", 0, 2, "", methodObject ), - new Among ( "iz", 0, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("anci", -1, 3), + new Among("enci", -1, 2), + new Among("ogi", -1, 13), + new Among("li", -1, 15), + new Among("bli", 3, 12), + new Among("abli", 4, 4), + new Among("alli", 3, 8), + new Among("fulli", 3, 9), + new Among("lessli", 3, 14), + new Among("ousli", 3, 10), + new Among("entli", 3, 5), + new Among("aliti", -1, 8), + new Among("biliti", -1, 12), + new Among("iviti", -1, 11), + new Among("tional", -1, 1), + new Among("ational", 14, 7), + new Among("alism", -1, 8), + new Among("ation", -1, 7), + new Among("ization", 17, 6), + new Among("izer", -1, 6), + new Among("ator", -1, 7), + new Among("iveness", -1, 11), + new Among("fulness", -1, 9), + new Among("ousness", -1, 10) +}; - private final static Among a_4[] = { - new Among ( "ed", -1, 2, "", methodObject ), - new Among ( "eed", 0, 1, "", methodObject ), - new Among ( "ing", -1, 2, "", methodObject ), - new Among ( "edly", -1, 2, "", methodObject ), - new Among ( "eedly", 3, 1, "", methodObject ), - new Among ( "ingly", -1, 2, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("icate", -1, 4), + new Among("ative", -1, 6), + new Among("alize", -1, 3), + new Among("iciti", -1, 4), + new Among("ical", -1, 4), + new Among("tional", -1, 1), + new Among("ational", 5, 2), + new Among("ful", -1, 5), + new Among("ness", -1, 5) +}; - private final static Among a_5[] = { - new Among ( "anci", -1, 3, "", methodObject ), - new Among ( "enci", -1, 2, "", methodObject ), - new Among ( "ogi", -1, 13, "", methodObject ), - new Among ( "li", -1, 16, "", methodObject ), - new Among ( "bli", 3, 12, "", methodObject ), - new Among ( "abli", 4, 4, "", methodObject ), - new Among ( "alli", 3, 8, "", methodObject ), - new Among ( "fulli", 3, 14, "", methodObject ), - new Among ( "lessli", 3, 15, "", methodObject ), - new Among ( "ousli", 3, 10, "", methodObject ), - new Among ( "entli", 3, 5, "", methodObject ), - new Among ( "aliti", -1, 8, "", methodObject ), - new Among ( "biliti", -1, 12, "", methodObject ), - new Among ( "iviti", -1, 11, "", methodObject ), - new Among ( "tional", -1, 1, "", methodObject ), - new Among ( "ational", 14, 7, "", methodObject ), - new Among ( "alism", -1, 8, "", methodObject ), - new Among ( "ation", -1, 7, "", methodObject ), - new Among ( "ization", 17, 6, "", methodObject ), - new Among ( "izer", -1, 6, "", methodObject ), - new Among ( "ator", -1, 7, "", methodObject ), - new Among ( "iveness", -1, 11, "", methodObject ), - new Among ( "fulness", -1, 9, "", methodObject ), - new Among ( "ousness", -1, 10, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("ic", -1, 1), + new Among("ance", -1, 1), + new Among("ence", -1, 1), + new Among("able", -1, 1), + new Among("ible", -1, 1), + new Among("ate", -1, 1), + new Among("ive", -1, 1), + new Among("ize", -1, 1), + new Among("iti", -1, 1), + new Among("al", -1, 1), + new Among("ism", -1, 1), + new Among("ion", -1, 2), + new Among("er", -1, 1), + new Among("ous", -1, 1), + new Among("ant", -1, 1), + new Among("ent", -1, 1), + new Among("ment", 15, 1), + new Among("ement", 16, 1) +}; - private final static Among a_6[] = { - new Among ( "icate", -1, 4, "", methodObject ), - new Among ( "ative", -1, 6, "", methodObject ), - new Among ( "alize", -1, 3, "", methodObject ), - new Among ( "iciti", -1, 4, "", methodObject ), - new Among ( "ical", -1, 4, "", methodObject ), - new Among ( "tional", -1, 1, "", methodObject ), - new Among ( "ational", 5, 2, "", methodObject ), - new Among ( "ful", -1, 5, "", methodObject ), - new Among ( "ness", -1, 5, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("e", -1, 1), + new Among("l", -1, 2) +}; - private final static Among a_7[] = { - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "ance", -1, 1, "", methodObject ), - new Among ( "ence", -1, 1, "", methodObject ), - new Among ( "able", -1, 1, "", methodObject ), - new Among ( "ible", -1, 1, "", methodObject ), - new Among ( "ate", -1, 1, "", methodObject ), - new Among ( "ive", -1, 1, "", methodObject ), - new Among ( "ize", -1, 1, "", methodObject ), - new Among ( "iti", -1, 1, "", methodObject ), - new Among ( "al", -1, 1, "", methodObject ), - new Among ( "ism", -1, 1, "", methodObject ), - new Among ( "ion", -1, 2, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "ous", -1, 1, "", methodObject ), - new Among ( "ant", -1, 1, "", methodObject ), - new Among ( "ent", -1, 1, "", methodObject ), - new Among ( "ment", 15, 1, "", methodObject ), - new Among ( "ement", 16, 1, "", methodObject ) - }; +private final static Among a_9[] = { + new Among("succeed", -1, -1), + new Among("proceed", -1, -1), + new Among("exceed", -1, -1), + new Among("canning", -1, -1), + new Among("inning", -1, -1), + new Among("earring", -1, -1), + new Among("herring", -1, -1), + new Among("outing", -1, -1) +}; - private final static Among a_8[] = { - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "l", -1, 2, "", methodObject ) - }; +private final static Among a_10[] = { + new Among("andes", -1, -1), + new Among("atlas", -1, -1), + new Among("bias", -1, -1), + new Among("cosmos", -1, -1), + new Among("dying", -1, 3), + new Among("early", -1, 9), + new Among("gently", -1, 7), + new Among("howe", -1, -1), + new Among("idly", -1, 6), + new Among("lying", -1, 4), + new Among("news", -1, -1), + new Among("only", -1, 10), + new Among("singly", -1, 11), + new Among("skies", -1, 2), + new Among("skis", -1, 1), + new Among("sky", -1, -1), + new Among("tying", -1, 5), + new Among("ugly", -1, 8) +}; - private final static Among a_9[] = { - new Among ( "succeed", -1, -1, "", methodObject ), - new Among ( "proceed", -1, -1, "", methodObject ), - new Among ( "exceed", -1, -1, "", methodObject ), - new Among ( "canning", -1, -1, "", methodObject ), - new Among ( "inning", -1, -1, "", methodObject ), - new Among ( "earring", -1, -1, "", methodObject ), - new Among ( "herring", -1, -1, "", methodObject ), - new Among ( "outing", -1, -1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1 }; - private final static Among a_10[] = { - new Among ( "andes", -1, -1, "", methodObject ), - new Among ( "atlas", -1, -1, "", methodObject ), - new Among ( "bias", -1, -1, "", methodObject ), - new Among ( "cosmos", -1, -1, "", methodObject ), - new Among ( "dying", -1, 3, "", methodObject ), - new Among ( "early", -1, 9, "", methodObject ), - new Among ( "gently", -1, 7, "", methodObject ), - new Among ( "howe", -1, -1, "", methodObject ), - new Among ( "idly", -1, 6, "", methodObject ), - new Among ( "lying", -1, 4, "", methodObject ), - new Among ( "news", -1, -1, "", methodObject ), - new Among ( "only", -1, 10, "", methodObject ), - new Among ( "singly", -1, 11, "", methodObject ), - new Among ( "skies", -1, 2, "", methodObject ), - new Among ( "skis", -1, 1, "", methodObject ), - new Among ( "sky", -1, -1, "", methodObject ), - new Among ( "tying", -1, 5, "", methodObject ), - new Among ( "ugly", -1, 8, "", methodObject ) - }; +private static final char g_v_WXY[] = {1, 17, 65, 208, 1 }; - private static final char g_v[] = {17, 65, 16, 1 }; +private static final char g_valid_LI[] = {55, 141, 2 }; - private static final char g_v_WXY[] = {1, 17, 65, 208, 1 }; +private boolean B_Y_found; +private int I_p2; +private int I_p1; - private static final char g_valid_LI[] = {55, 141, 2 }; - private boolean B_Y_found; - private int I_p2; - private int I_p1; - - private void copy_from(EnglishStemmer other) { - B_Y_found = other.B_Y_found; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_prelude() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 25 - // unset Y_found, line 26 - B_Y_found = false; - // do, line 27 - v_1 = cursor; - lab0: do { - // (, line 27 - // [, line 27 - bra = cursor; - // literal, line 27 - if (!(eq_s(1, "'"))) - { - break lab0; - } - // ], line 27 - ket = cursor; - // delete, line 27 - slice_del(); - } while (false); - cursor = v_1; - // do, line 28 - v_2 = cursor; - lab1: do { - // (, line 28 - // [, line 28 - bra = cursor; - // literal, line 28 - if (!(eq_s(1, "y"))) - { - break lab1; - } - // ], line 28 - ket = cursor; - // <-, line 28 - slice_from("Y"); - // set Y_found, line 28 - B_Y_found = true; - } while (false); - cursor = v_2; - // do, line 29 - v_3 = cursor; - lab2: do { - // repeat, line 29 - replab3: while(true) - { - v_4 = cursor; - lab4: do { - // (, line 29 - // goto, line 29 - golab5: while(true) - { - v_5 = cursor; - lab6: do { - // (, line 29 - if (!(in_grouping(g_v, 97, 121))) - { - break lab6; - } - // [, line 29 - bra = cursor; - // literal, line 29 - if (!(eq_s(1, "y"))) - { - break lab6; - } - // ], line 29 - ket = cursor; - cursor = v_5; - break golab5; - } while (false); - cursor = v_5; - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - // <-, line 29 - slice_from("Y"); - // set Y_found, line 29 - B_Y_found = true; - continue replab3; - } while (false); - cursor = v_4; - break replab3; - } - } while (false); - cursor = v_3; - return true; - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - // (, line 32 - I_p1 = limit; - I_p2 = limit; - // do, line 35 - v_1 = cursor; - lab0: do { - // (, line 35 - // or, line 41 - lab1: do { - v_2 = cursor; - lab2: do { - // among, line 36 - if (find_among(a_0, 3) == 0) - { - break lab2; - } - break lab1; - } while (false); - cursor = v_2; - // (, line 41 - // gopast, line 41 - golab3: while(true) - { - lab4: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab4; - } - break golab3; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 41 - golab5: while(true) - { - lab6: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - } while (false); - // setmark p1, line 42 - I_p1 = cursor; - // gopast, line 43 - golab7: while(true) - { - lab8: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 43 - golab9: while(true) - { - lab10: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab10; - } - break golab9; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p2, line 43 - I_p2 = cursor; - } while (false); - cursor = v_1; - return true; - } - - private boolean r_shortv() { - int v_1; - // (, line 49 - // or, line 51 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 50 - if (!(out_grouping_b(g_v_WXY, 89, 121))) - { - break lab1; - } - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab1; - } - if (!(out_grouping_b(g_v, 97, 121))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 52 - if (!(out_grouping_b(g_v, 97, 121))) - { - return false; - } - if (!(in_grouping_b(g_v, 97, 121))) - { - return false; - } - // atlimit, line 52 - if (cursor > limit_backward) - { - return false; - } - } while (false); - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_Step_1a() { - int among_var; - int v_1; - int v_2; - // (, line 58 - // try, line 59 - v_1 = limit - cursor; - lab0: do { - // (, line 59 - // [, line 60 - ket = cursor; - // substring, line 60 - among_var = find_among_b(a_1, 3); - if (among_var == 0) - { - cursor = limit - v_1; - break lab0; - } - // ], line 60 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_1; - break lab0; - case 1: - // (, line 62 - // delete, line 62 - slice_del(); - break; - } - } while (false); - // [, line 65 - ket = cursor; - // substring, line 65 - among_var = find_among_b(a_2, 6); - if (among_var == 0) - { - return false; - } - // ], line 65 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 66 - // <-, line 66 - slice_from("ss"); - break; - case 2: - // (, line 68 - // or, line 68 - lab1: do { - v_2 = limit - cursor; - lab2: do { - // (, line 68 - // hop, line 68 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - break lab2; - } - cursor = c; - } - // <-, line 68 - slice_from("i"); - break lab1; - } while (false); - cursor = limit - v_2; - // <-, line 68 - slice_from("ie"); - } while (false); - break; - case 3: - // (, line 69 - // next, line 69 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // gopast, line 69 - golab3: while(true) - { - lab4: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab4; - } - break golab3; - } while (false); - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - // delete, line 69 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_1b() { - int among_var; - int v_1; - int v_3; - int v_4; - // (, line 74 - // [, line 75 - ket = cursor; - // substring, line 75 - among_var = find_among_b(a_4, 6); - if (among_var == 0) - { - return false; - } - // ], line 75 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 77 - // call R1, line 77 - if (!r_R1()) - { - return false; - } - // <-, line 77 - slice_from("ee"); - break; - case 2: - // (, line 79 - // test, line 80 - v_1 = limit - cursor; - // gopast, line 80 - golab0: while(true) - { - lab1: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab1; - } - break golab0; - } while (false); - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - cursor = limit - v_1; - // delete, line 80 - slice_del(); - // test, line 81 - v_3 = limit - cursor; - // substring, line 81 - among_var = find_among_b(a_3, 13); - if (among_var == 0) - { - return false; - } - cursor = limit - v_3; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 83 - // <+, line 83 - { - int c = cursor; - insert(cursor, cursor, "e"); - cursor = c; - } - break; - case 2: - // (, line 86 - // [, line 86 - ket = cursor; - // next, line 86 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 86 - bra = cursor; - // delete, line 86 - slice_del(); - break; - case 3: - // (, line 87 - // atmark, line 87 - if (cursor != I_p1) - { - return false; - } - // test, line 87 - v_4 = limit - cursor; - // call shortv, line 87 - if (!r_shortv()) - { - return false; - } - cursor = limit - v_4; - // <+, line 87 - { - int c = cursor; - insert(cursor, cursor, "e"); - cursor = c; - } - break; - } - break; - } - return true; - } - - private boolean r_Step_1c() { - int v_1; - int v_2; - // (, line 93 - // [, line 94 - ket = cursor; - // or, line 94 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 94 - if (!(eq_s_b(1, "y"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 94 - if (!(eq_s_b(1, "Y"))) - { - return false; - } - } while (false); - // ], line 94 - bra = cursor; - if (!(out_grouping_b(g_v, 97, 121))) - { - return false; - } - // not, line 95 - { - v_2 = limit - cursor; - lab2: do { - // atlimit, line 95 - if (cursor > limit_backward) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_2; - } - // <-, line 96 - slice_from("i"); - return true; - } - - private boolean r_Step_2() { - int among_var; - // (, line 99 - // [, line 100 - ket = cursor; - // substring, line 100 - among_var = find_among_b(a_5, 24); - if (among_var == 0) - { - return false; - } - // ], line 100 - bra = cursor; - // call R1, line 100 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 101 - // <-, line 101 - slice_from("tion"); - break; - case 2: - // (, line 102 - // <-, line 102 - slice_from("ence"); - break; - case 3: - // (, line 103 - // <-, line 103 - slice_from("ance"); - break; - case 4: - // (, line 104 - // <-, line 104 - slice_from("able"); - break; - case 5: - // (, line 105 - // <-, line 105 - slice_from("ent"); - break; - case 6: - // (, line 107 - // <-, line 107 - slice_from("ize"); - break; - case 7: - // (, line 109 - // <-, line 109 - slice_from("ate"); - break; - case 8: - // (, line 111 - // <-, line 111 - slice_from("al"); - break; - case 9: - // (, line 112 - // <-, line 112 - slice_from("ful"); - break; - case 10: - // (, line 114 - // <-, line 114 - slice_from("ous"); - break; - case 11: - // (, line 116 - // <-, line 116 - slice_from("ive"); - break; - case 12: - // (, line 118 - // <-, line 118 - slice_from("ble"); - break; - case 13: - // (, line 119 - // literal, line 119 - if (!(eq_s_b(1, "l"))) - { - return false; - } - // <-, line 119 - slice_from("og"); - break; - case 14: - // (, line 120 - // <-, line 120 - slice_from("ful"); - break; - case 15: - // (, line 121 - // <-, line 121 - slice_from("less"); - break; - case 16: - // (, line 122 - if (!(in_grouping_b(g_valid_LI, 99, 116))) - { - return false; - } - // delete, line 122 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_3() { - int among_var; - // (, line 126 - // [, line 127 - ket = cursor; - // substring, line 127 - among_var = find_among_b(a_6, 9); - if (among_var == 0) - { - return false; - } - // ], line 127 - bra = cursor; - // call R1, line 127 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 128 - // <-, line 128 - slice_from("tion"); - break; - case 2: - // (, line 129 - // <-, line 129 - slice_from("ate"); - break; - case 3: - // (, line 130 - // <-, line 130 - slice_from("al"); - break; - case 4: - // (, line 132 - // <-, line 132 - slice_from("ic"); - break; - case 5: - // (, line 134 - // delete, line 134 - slice_del(); - break; - case 6: - // (, line 136 - // call R2, line 136 - if (!r_R2()) - { - return false; - } - // delete, line 136 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_4() { - int among_var; - int v_1; - // (, line 140 - // [, line 141 - ket = cursor; - // substring, line 141 - among_var = find_among_b(a_7, 18); - if (among_var == 0) - { - return false; - } - // ], line 141 - bra = cursor; - // call R2, line 141 - if (!r_R2()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 144 - // delete, line 144 - slice_del(); - break; - case 2: - // (, line 145 - // or, line 145 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 145 - if (!(eq_s_b(1, "s"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 145 - if (!(eq_s_b(1, "t"))) - { - return false; - } - } while (false); - // delete, line 145 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_5() { - int among_var; - int v_1; - int v_2; - // (, line 149 - // [, line 150 - ket = cursor; - // substring, line 150 - among_var = find_among_b(a_8, 2); - if (among_var == 0) - { - return false; - } - // ], line 150 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 151 - // or, line 151 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // call R2, line 151 - if (!r_R2()) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 151 - // call R1, line 151 - if (!r_R1()) - { - return false; - } - // not, line 151 - { - v_2 = limit - cursor; - lab2: do { - // call shortv, line 151 - if (!r_shortv()) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_2; - } - } while (false); - // delete, line 151 - slice_del(); - break; - case 2: - // (, line 152 - // call R2, line 152 - if (!r_R2()) - { - return false; - } - // literal, line 152 - if (!(eq_s_b(1, "l"))) - { - return false; - } - // delete, line 152 - slice_del(); - break; - } - return true; - } - - private boolean r_exception2() { - // (, line 156 - // [, line 158 - ket = cursor; - // substring, line 158 - if (find_among_b(a_9, 8) == 0) - { - return false; - } - // ], line 158 - bra = cursor; - // atlimit, line 158 - if (cursor > limit_backward) - { - return false; - } - return true; - } - - private boolean r_exception1() { - int among_var; - // (, line 168 - // [, line 170 - bra = cursor; - // substring, line 170 - among_var = find_among(a_10, 18); - if (among_var == 0) - { - return false; - } - // ], line 170 - ket = cursor; - // atlimit, line 170 - if (cursor < limit) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 174 - // <-, line 174 - slice_from("ski"); - break; - case 2: - // (, line 175 - // <-, line 175 - slice_from("sky"); - break; - case 3: - // (, line 176 - // <-, line 176 - slice_from("die"); - break; - case 4: - // (, line 177 - // <-, line 177 - slice_from("lie"); - break; - case 5: - // (, line 178 - // <-, line 178 - slice_from("tie"); - break; - case 6: - // (, line 182 - // <-, line 182 - slice_from("idl"); - break; - case 7: - // (, line 183 - // <-, line 183 - slice_from("gentl"); - break; - case 8: - // (, line 184 - // <-, line 184 - slice_from("ugli"); - break; - case 9: - // (, line 185 - // <-, line 185 - slice_from("earli"); - break; - case 10: - // (, line 186 - // <-, line 186 - slice_from("onli"); - break; - case 11: - // (, line 187 - // <-, line 187 - slice_from("singl"); - break; - } - return true; - } - - private boolean r_postlude() { - int v_1; - int v_2; - // (, line 203 - // Boolean test Y_found, line 203 - if (!(B_Y_found)) - { - return false; - } - // repeat, line 203 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 203 - // goto, line 203 - golab2: while(true) - { - v_2 = cursor; - lab3: do { - // (, line 203 - // [, line 203 - bra = cursor; - // literal, line 203 - if (!(eq_s(1, "Y"))) - { - break lab3; - } - // ], line 203 - ket = cursor; - cursor = v_2; - break golab2; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - // <-, line 203 - slice_from("y"); - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - int v_12; - int v_13; - // (, line 205 - // or, line 207 - lab0: do { - v_1 = cursor; - lab1: do { - // call exception1, line 207 - if (!r_exception1()) - { - break lab1; - } - break lab0; - } while (false); - cursor = v_1; - lab2: do { - // not, line 208 - { - v_2 = cursor; - lab3: do { - // hop, line 208 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - break lab3; - } - cursor = c; - } - break lab2; - } while (false); - cursor = v_2; - } - break lab0; - } while (false); - cursor = v_1; - // (, line 208 - // do, line 209 - v_3 = cursor; - lab4: do { - // call prelude, line 209 - if (!r_prelude()) - { - break lab4; - } - } while (false); - cursor = v_3; - // do, line 210 - v_4 = cursor; - lab5: do { - // call mark_regions, line 210 - if (!r_mark_regions()) - { - break lab5; - } - } while (false); - cursor = v_4; - // backwards, line 211 - limit_backward = cursor; cursor = limit; - // (, line 211 - // do, line 213 - v_5 = limit - cursor; - lab6: do { - // call Step_1a, line 213 - if (!r_Step_1a()) - { - break lab6; - } - } while (false); - cursor = limit - v_5; - // or, line 215 - lab7: do { - v_6 = limit - cursor; - lab8: do { - // call exception2, line 215 - if (!r_exception2()) - { - break lab8; - } - break lab7; - } while (false); - cursor = limit - v_6; - // (, line 215 - // do, line 217 - v_7 = limit - cursor; - lab9: do { - // call Step_1b, line 217 - if (!r_Step_1b()) - { - break lab9; - } - } while (false); - cursor = limit - v_7; - // do, line 218 - v_8 = limit - cursor; - lab10: do { - // call Step_1c, line 218 - if (!r_Step_1c()) - { - break lab10; - } - } while (false); - cursor = limit - v_8; - // do, line 220 - v_9 = limit - cursor; - lab11: do { - // call Step_2, line 220 - if (!r_Step_2()) - { - break lab11; - } - } while (false); - cursor = limit - v_9; - // do, line 221 - v_10 = limit - cursor; - lab12: do { - // call Step_3, line 221 - if (!r_Step_3()) - { - break lab12; - } - } while (false); - cursor = limit - v_10; - // do, line 222 - v_11 = limit - cursor; - lab13: do { - // call Step_4, line 222 - if (!r_Step_4()) - { - break lab13; - } - } while (false); - cursor = limit - v_11; - // do, line 224 - v_12 = limit - cursor; - lab14: do { - // call Step_5, line 224 - if (!r_Step_5()) - { - break lab14; - } - } while (false); - cursor = limit - v_12; - } while (false); - cursor = limit_backward; // do, line 227 - v_13 = cursor; - lab15: do { - // call postlude, line 227 - if (!r_postlude()) - { - break lab15; - } - } while (false); - cursor = v_13; - } while (false); - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof EnglishStemmer; +private boolean r_prelude() { + B_Y_found = false; + int v_1 = cursor; + lab0: { + bra = cursor; + if (!(eq_s("'"))) + { + break lab0; + } + ket = cursor; + slice_del(); + } + cursor = v_1; + int v_2 = cursor; + lab1: { + bra = cursor; + if (!(eq_s("y"))) + { + break lab1; + } + ket = cursor; + slice_from("Y"); + B_Y_found = true; + } + cursor = v_2; + int v_3 = cursor; + lab2: { + while(true) + { + int v_4 = cursor; + lab3: { + golab4: while(true) + { + int v_5 = cursor; + lab5: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab5; + } + bra = cursor; + if (!(eq_s("y"))) + { + break lab5; + } + ket = cursor; + cursor = v_5; + break golab4; + } + cursor = v_5; + if (cursor >= limit) + { + break lab3; + } + cursor++; } + slice_from("Y"); + B_Y_found = true; + continue; + } + cursor = v_4; + break; + } + } + cursor = v_3; + return true; +} - @Override - public int hashCode() { - return EnglishStemmer.class.getName().hashCode(); +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (find_among(a_0) == 0) + { + break lab2; } + break lab1; + } + cursor = v_2; + golab3: while(true) + { + lab4: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab4; + } + break golab3; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab5: while(true) + { + lab6: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_p1 = cursor; + golab7: while(true) + { + lab8: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab9: while(true) + { + lab10: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab10; + } + break golab9; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_1; + return true; +} + +private boolean r_shortv() { + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(out_grouping_b(g_v_WXY, 89, 121))) + { + break lab1; + } + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + if (!(out_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + if (!(in_grouping_b(g_v, 97, 121))) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_Step_1a() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_1) == 0) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + slice_del(); + } + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("ss"); + break; + case 2: + lab1: { + int v_2 = limit - cursor; + lab2: { + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + break lab2; + } + cursor = c; + } + slice_from("i"); + break lab1; + } + cursor = limit - v_2; + slice_from("ie"); + } + break; + case 3: + if (cursor <= limit_backward) + { + return false; + } + cursor--; + golab3: while(true) + { + lab4: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab4; + } + break golab3; + } + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Step_1b() { + int among_var; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_from("ee"); + break; + case 2: + int v_1 = limit - cursor; + golab0: while(true) + { + lab1: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break golab0; + } + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + cursor = limit - v_1; + slice_del(); + int v_3 = limit - cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + cursor = limit - v_3; + switch (among_var) { + case 1: + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + case 2: + ket = cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + break; + case 3: + if (cursor != I_p1) + { + return false; + } + int v_4 = limit - cursor; + if (!r_shortv()) + { + return false; + } + cursor = limit - v_4; + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + } + break; + } + return true; +} + +private boolean r_Step_1c() { + ket = cursor; + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("y"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("Y"))) + { + return false; + } + } + bra = cursor; + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + lab2: { + if (cursor > limit_backward) + { + break lab2; + } + return false; + } + slice_from("i"); + return true; +} + +private boolean r_Step_2() { + int among_var; + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("tion"); + break; + case 2: + slice_from("ence"); + break; + case 3: + slice_from("ance"); + break; + case 4: + slice_from("able"); + break; + case 5: + slice_from("ent"); + break; + case 6: + slice_from("ize"); + break; + case 7: + slice_from("ate"); + break; + case 8: + slice_from("al"); + break; + case 9: + slice_from("ful"); + break; + case 10: + slice_from("ous"); + break; + case 11: + slice_from("ive"); + break; + case 12: + slice_from("ble"); + break; + case 13: + if (!(eq_s_b("l"))) + { + return false; + } + slice_from("og"); + break; + case 14: + slice_from("less"); + break; + case 15: + if (!(in_grouping_b(g_valid_LI, 99, 116))) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Step_3() { + int among_var; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("tion"); + break; + case 2: + slice_from("ate"); + break; + case 3: + slice_from("al"); + break; + case 4: + slice_from("ic"); + break; + case 5: + slice_del(); + break; + case 6: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Step_4() { + int among_var; + ket = cursor; + among_var = find_among_b(a_7); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("s"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("t"))) + { + return false; + } + } + slice_del(); + break; + } + return true; +} + +private boolean r_Step_5() { + int among_var; + ket = cursor; + among_var = find_among_b(a_8); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!r_R2()) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!r_R1()) + { + return false; + } + { + int v_2 = limit - cursor; + lab2: { + if (!r_shortv()) + { + break lab2; + } + return false; + } + cursor = limit - v_2; + } + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + if (!(eq_s_b("l"))) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_exception2() { + ket = cursor; + if (find_among_b(a_9) == 0) + { + return false; + } + bra = cursor; + if (cursor > limit_backward) + { + return false; + } + return true; +} + +private boolean r_exception1() { + int among_var; + bra = cursor; + among_var = find_among(a_10); + if (among_var == 0) + { + return false; + } + ket = cursor; + if (cursor < limit) + { + return false; + } + switch (among_var) { + case 1: + slice_from("ski"); + break; + case 2: + slice_from("sky"); + break; + case 3: + slice_from("die"); + break; + case 4: + slice_from("lie"); + break; + case 5: + slice_from("tie"); + break; + case 6: + slice_from("idl"); + break; + case 7: + slice_from("gentl"); + break; + case 8: + slice_from("ugli"); + break; + case 9: + slice_from("earli"); + break; + case 10: + slice_from("onli"); + break; + case 11: + slice_from("singl"); + break; + } + return true; +} + +private boolean r_postlude() { + if (!(B_Y_found)) + { + return false; + } + while(true) + { + int v_1 = cursor; + lab0: { + golab1: while(true) + { + int v_2 = cursor; + lab2: { + bra = cursor; + if (!(eq_s("Y"))) + { + break lab2; + } + ket = cursor; + cursor = v_2; + break golab1; + } + cursor = v_2; + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + slice_from("y"); + continue; + } + cursor = v_1; + break; + } + return true; +} + +public boolean stem() { + lab0: { + int v_1 = cursor; + lab1: { + if (!r_exception1()) + { + break lab1; + } + break lab0; + } + cursor = v_1; + lab2: { + { + int v_2 = cursor; + lab3: { + { + int c = cursor + 3; + if (0 > c || c > limit) + { + break lab3; + } + cursor = c; + } + break lab2; + } + cursor = v_2; + } + break lab0; + } + cursor = v_1; + r_prelude(); + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_5 = limit - cursor; + r_Step_1a(); + cursor = limit - v_5; + lab4: { + int v_6 = limit - cursor; + lab5: { + if (!r_exception2()) + { + break lab5; + } + break lab4; + } + cursor = limit - v_6; + int v_7 = limit - cursor; + r_Step_1b(); + cursor = limit - v_7; + int v_8 = limit - cursor; + r_Step_1c(); + cursor = limit - v_8; + int v_9 = limit - cursor; + r_Step_2(); + cursor = limit - v_9; + int v_10 = limit - cursor; + r_Step_3(); + cursor = limit - v_10; + int v_11 = limit - cursor; + r_Step_4(); + cursor = limit - v_11; + int v_12 = limit - cursor; + r_Step_5(); + cursor = limit - v_12; + } + cursor = limit_backward; + int v_13 = cursor; + r_postlude(); + cursor = v_13; + } + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof EnglishStemmer; +} + +@Override +public int hashCode() { + return EnglishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EstonianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EstonianStemmer.java index 5e7fb186f75..a846de7596f 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EstonianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/EstonianStemmer.java @@ -1,1902 +1,1033 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
*/ +@SuppressWarnings("unused") +public class EstonianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class EstonianStemmer extends org.tartarus.snowball.SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); - private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("gi", -1, 1), + new Among("ki", -1, 2) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("da", -1, 3), + new Among("mata", -1, 1), + new Among("b", -1, 3), + new Among("ksid", -1, 1), + new Among("nuksid", 3, 1), + new Among("me", -1, 3), + new Among("sime", 5, 1), + new Among("ksime", 6, 1), + new Among("nuksime", 7, 1), + new Among("akse", -1, 2), + new Among("dakse", 9, 1), + new Among("takse", 9, 1), + new Among("site", -1, 1), + new Among("ksite", 12, 1), + new Among("nuksite", 13, 1), + new Among("n", -1, 3), + new Among("sin", 15, 1), + new Among("ksin", 16, 1), + new Among("nuksin", 17, 1), + new Among("daks", -1, 1), + new Among("taks", -1, 1) +}; - private final static Among a_0[] = { - new Among ( "gi", -1, 1, "", methodObject ), - new Among ( "ki", -1, 2, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("aa", -1, -1), + new Among("ee", -1, -1), + new Among("ii", -1, -1), + new Among("oo", -1, -1), + new Among("uu", -1, -1), + new Among("\u00E4\u00E4", -1, -1), + new Among("\u00F5\u00F5", -1, -1), + new Among("\u00F6\u00F6", -1, -1), + new Among("\u00FC\u00FC", -1, -1) +}; - private final static Among a_1[] = { - new Among ( "da", -1, 11, "", methodObject ), - new Among ( "mata", -1, 3, "", methodObject ), - new Among ( "b", -1, 13, "", methodObject ), - new Among ( "ksid", -1, 2, "", methodObject ), - new Among ( "nuksid", 3, 1, "", methodObject ), - new Among ( "me", -1, 10, "", methodObject ), - new Among ( "sime", 5, 7, "", methodObject ), - new Among ( "ksime", 6, 2, "", methodObject ), - new Among ( "nuksime", 7, 1, "", methodObject ), - new Among ( "akse", -1, 6, "", methodObject ), - new Among ( "dakse", 9, 4, "", methodObject ), - new Among ( "takse", 9, 4, "", methodObject ), - new Among ( "site", -1, 8, "", methodObject ), - new Among ( "ksite", 12, 2, "", methodObject ), - new Among ( "nuksite", 13, 1, "", methodObject ), - new Among ( "n", -1, 12, "", methodObject ), - new Among ( "sin", 15, 9, "", methodObject ), - new Among ( "ksin", 16, 2, "", methodObject ), - new Among ( "nuksin", 17, 1, "", methodObject ), - new Among ( "daks", -1, 5, "", methodObject ), - new Among ( "taks", -1, 5, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("i", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "aa", -1, -1, "", methodObject ), - new Among ( "ee", -1, -1, "", methodObject ), - new Among ( "ii", -1, -1, "", methodObject ), - new Among ( "oo", -1, -1, "", methodObject ), - new Among ( "uu", -1, -1, "", methodObject ), - new Among ( "\u00E4\u00E4", -1, -1, "", methodObject ), - new Among ( "\u00F5\u00F5", -1, -1, "", methodObject ), - new Among ( "\u00F6\u00F6", -1, -1, "", methodObject ), - new Among ( "\u00FC\u00FC", -1, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("lane", -1, 1), + new Among("line", -1, 3), + new Among("mine", -1, 2), + new Among("lasse", -1, 1), + new Among("lisse", -1, 3), + new Among("misse", -1, 2), + new Among("lasi", -1, 1), + new Among("lisi", -1, 3), + new Among("misi", -1, 2), + new Among("last", -1, 1), + new Among("list", -1, 3), + new Among("mist", -1, 2) +}; - private final static Among a_3[] = { - new Among ( "i", -1, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ga", -1, 1), + new Among("ta", -1, 1), + new Among("le", -1, 1), + new Among("sse", -1, 1), + new Among("l", -1, 1), + new Among("s", -1, 1), + new Among("ks", 5, 1), + new Among("t", -1, 1), + new Among("lt", 7, 1), + new Among("st", 7, 1) +}; - private final static Among a_4[] = { - new Among ( "lane", -1, 3, "", methodObject ), - new Among ( "line", -1, 11, "", methodObject ), - new Among ( "mine", -1, 7, "", methodObject ), - new Among ( "lasse", -1, 1, "", methodObject ), - new Among ( "lisse", -1, 9, "", methodObject ), - new Among ( "misse", -1, 5, "", methodObject ), - new Among ( "lasi", -1, 4, "", methodObject ), - new Among ( "lisi", -1, 12, "", methodObject ), - new Among ( "misi", -1, 8, "", methodObject ), - new Among ( "last", -1, 2, "", methodObject ), - new Among ( "list", -1, 10, "", methodObject ), - new Among ( "mist", -1, 6, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("d", -1, 4), + new Among("sid", 0, 2), + new Among("de", -1, 4), + new Among("ikkude", 2, 1), + new Among("ike", -1, 1), + new Among("ikke", -1, 1), + new Among("te", -1, 3) +}; - private final static Among a_5[] = { - new Among ( "ga", -1, 5, "", methodObject ), - new Among ( "ta", -1, 7, "", methodObject ), - new Among ( "le", -1, 3, "", methodObject ), - new Among ( "sse", -1, 1, "", methodObject ), - new Among ( "l", -1, 9, "", methodObject ), - new Among ( "s", -1, 8, "", methodObject ), - new Among ( "ks", 5, 6, "", methodObject ), - new Among ( "t", -1, 8, "", methodObject ), - new Among ( "lt", 7, 4, "", methodObject ), - new Among ( "st", 7, 2, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("kk", -1, -1), + new Among("pp", -1, -1), + new Among("tt", -1, -1) +}; - private final static Among a_6[] = { - new Among ( "d", -1, 7, "", methodObject ), - new Among ( "sid", 0, 4, "", methodObject ), - new Among ( "de", -1, 6, "", methodObject ), - new Among ( "ikkude", 2, 1, "", methodObject ), - new Among ( "ike", -1, 3, "", methodObject ), - new Among ( "ikke", -1, 2, "", methodObject ), - new Among ( "te", -1, 5, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("va", -1, -1), + new Among("du", -1, -1), + new Among("nu", -1, -1), + new Among("tu", -1, -1) +}; - private final static Among a_7[] = { - new Among ( "kk", -1, -1, "", methodObject ), - new Among ( "pp", -1, -1, "", methodObject ), - new Among ( "tt", -1, -1, "", methodObject ) - }; +private final static Among a_9[] = { + new Among("ma", -1, 2), + new Among("mai", -1, 1), + new Among("m", -1, 1) +}; - private final static Among a_8[] = { - new Among ( "va", -1, -1, "", methodObject ), - new Among ( "du", -1, -1, "", methodObject ), - new Among ( "nu", -1, -1, "", methodObject ), - new Among ( "tu", -1, -1, "", methodObject ) - }; +private final static Among a_10[] = { + new Among("joob", -1, 1), + new Among("jood", -1, 1), + new Among("joodakse", 1, 1), + new Among("jooma", -1, 1), + new Among("joomata", 3, 1), + new Among("joome", -1, 1), + new Among("joon", -1, 1), + new Among("joote", -1, 1), + new Among("joovad", -1, 1), + new Among("juua", -1, 1), + new Among("juuakse", 9, 1), + new Among("j\u00E4i", -1, 12), + new Among("j\u00E4id", 11, 12), + new Among("j\u00E4ime", 11, 12), + new Among("j\u00E4in", 11, 12), + new Among("j\u00E4ite", 11, 12), + new Among("j\u00E4\u00E4b", -1, 12), + new Among("j\u00E4\u00E4d", -1, 12), + new Among("j\u00E4\u00E4da", 17, 12), + new Among("j\u00E4\u00E4dakse", 18, 12), + new Among("j\u00E4\u00E4di", 17, 12), + new Among("j\u00E4\u00E4ks", -1, 12), + new Among("j\u00E4\u00E4ksid", 21, 12), + new Among("j\u00E4\u00E4ksime", 21, 12), + new Among("j\u00E4\u00E4ksin", 21, 12), + new Among("j\u00E4\u00E4ksite", 21, 12), + new Among("j\u00E4\u00E4ma", -1, 12), + new Among("j\u00E4\u00E4mata", 26, 12), + new Among("j\u00E4\u00E4me", -1, 12), + new Among("j\u00E4\u00E4n", -1, 12), + new Among("j\u00E4\u00E4te", -1, 12), + new Among("j\u00E4\u00E4vad", -1, 12), + new Among("j\u00F5i", -1, 1), + new Among("j\u00F5id", 32, 1), + new Among("j\u00F5ime", 32, 1), + new Among("j\u00F5in", 32, 1), + new Among("j\u00F5ite", 32, 1), + new Among("keeb", -1, 4), + new Among("keed", -1, 4), + new Among("keedakse", 38, 4), + new Among("keeks", -1, 4), + new Among("keeksid", 40, 4), + new Among("keeksime", 40, 4), + new Among("keeksin", 40, 4), + new Among("keeksite", 40, 4), + new Among("keema", -1, 4), + new Among("keemata", 45, 4), + new Among("keeme", -1, 4), + new Among("keen", -1, 4), + new Among("kees", -1, 4), + new Among("keeta", -1, 4), + new Among("keete", -1, 4), + new Among("keevad", -1, 4), + new Among("k\u00E4ia", -1, 8), + new Among("k\u00E4iakse", 53, 8), + new Among("k\u00E4ib", -1, 8), + new Among("k\u00E4id", -1, 8), + new Among("k\u00E4idi", 56, 8), + new Among("k\u00E4iks", -1, 8), + new Among("k\u00E4iksid", 58, 8), + new Among("k\u00E4iksime", 58, 8), + new Among("k\u00E4iksin", 58, 8), + new Among("k\u00E4iksite", 58, 8), + new Among("k\u00E4ima", -1, 8), + new Among("k\u00E4imata", 63, 8), + new Among("k\u00E4ime", -1, 8), + new Among("k\u00E4in", -1, 8), + new Among("k\u00E4is", -1, 8), + new Among("k\u00E4ite", -1, 8), + new Among("k\u00E4ivad", -1, 8), + new Among("laob", -1, 16), + new Among("laod", -1, 16), + new Among("laoks", -1, 16), + new Among("laoksid", 72, 16), + new Among("laoksime", 72, 16), + new Among("laoksin", 72, 16), + new Among("laoksite", 72, 16), + new Among("laome", -1, 16), + new Among("laon", -1, 16), + new Among("laote", -1, 16), + new Among("laovad", -1, 16), + new Among("loeb", -1, 14), + new Among("loed", -1, 14), + new Among("loeks", -1, 14), + new Among("loeksid", 83, 14), + new Among("loeksime", 83, 14), + new Among("loeksin", 83, 14), + new Among("loeksite", 83, 14), + new Among("loeme", -1, 14), + new Among("loen", -1, 14), + new Among("loete", -1, 14), + new Among("loevad", -1, 14), + new Among("loob", -1, 7), + new Among("lood", -1, 7), + new Among("loodi", 93, 7), + new Among("looks", -1, 7), + new Among("looksid", 95, 7), + new Among("looksime", 95, 7), + new Among("looksin", 95, 7), + new Among("looksite", 95, 7), + new Among("looma", -1, 7), + new Among("loomata", 100, 7), + new Among("loome", -1, 7), + new Among("loon", -1, 7), + new Among("loote", -1, 7), + new Among("loovad", -1, 7), + new Among("luua", -1, 7), + new Among("luuakse", 106, 7), + new Among("l\u00F5i", -1, 6), + new Among("l\u00F5id", 108, 6), + new Among("l\u00F5ime", 108, 6), + new Among("l\u00F5in", 108, 6), + new Among("l\u00F5ite", 108, 6), + new Among("l\u00F6\u00F6b", -1, 5), + new Among("l\u00F6\u00F6d", -1, 5), + new Among("l\u00F6\u00F6dakse", 114, 5), + new Among("l\u00F6\u00F6di", 114, 5), + new Among("l\u00F6\u00F6ks", -1, 5), + new Among("l\u00F6\u00F6ksid", 117, 5), + new Among("l\u00F6\u00F6ksime", 117, 5), + new Among("l\u00F6\u00F6ksin", 117, 5), + new Among("l\u00F6\u00F6ksite", 117, 5), + new Among("l\u00F6\u00F6ma", -1, 5), + new Among("l\u00F6\u00F6mata", 122, 5), + new Among("l\u00F6\u00F6me", -1, 5), + new Among("l\u00F6\u00F6n", -1, 5), + new Among("l\u00F6\u00F6te", -1, 5), + new Among("l\u00F6\u00F6vad", -1, 5), + new Among("l\u00FC\u00FCa", -1, 5), + new Among("l\u00FC\u00FCakse", 128, 5), + new Among("m\u00FC\u00FCa", -1, 13), + new Among("m\u00FC\u00FCakse", 130, 13), + new Among("m\u00FC\u00FCb", -1, 13), + new Among("m\u00FC\u00FCd", -1, 13), + new Among("m\u00FC\u00FCdi", 133, 13), + new Among("m\u00FC\u00FCks", -1, 13), + new Among("m\u00FC\u00FCksid", 135, 13), + new Among("m\u00FC\u00FCksime", 135, 13), + new Among("m\u00FC\u00FCksin", 135, 13), + new Among("m\u00FC\u00FCksite", 135, 13), + new Among("m\u00FC\u00FCma", -1, 13), + new Among("m\u00FC\u00FCmata", 140, 13), + new Among("m\u00FC\u00FCme", -1, 13), + new Among("m\u00FC\u00FCn", -1, 13), + new Among("m\u00FC\u00FCs", -1, 13), + new Among("m\u00FC\u00FCte", -1, 13), + new Among("m\u00FC\u00FCvad", -1, 13), + new Among("n\u00E4eb", -1, 18), + new Among("n\u00E4ed", -1, 18), + new Among("n\u00E4eks", -1, 18), + new Among("n\u00E4eksid", 149, 18), + new Among("n\u00E4eksime", 149, 18), + new Among("n\u00E4eksin", 149, 18), + new Among("n\u00E4eksite", 149, 18), + new Among("n\u00E4eme", -1, 18), + new Among("n\u00E4en", -1, 18), + new Among("n\u00E4ete", -1, 18), + new Among("n\u00E4evad", -1, 18), + new Among("n\u00E4gema", -1, 18), + new Among("n\u00E4gemata", 158, 18), + new Among("n\u00E4ha", -1, 18), + new Among("n\u00E4hakse", 160, 18), + new Among("n\u00E4hti", -1, 18), + new Among("p\u00F5eb", -1, 15), + new Among("p\u00F5ed", -1, 15), + new Among("p\u00F5eks", -1, 15), + new Among("p\u00F5eksid", 165, 15), + new Among("p\u00F5eksime", 165, 15), + new Among("p\u00F5eksin", 165, 15), + new Among("p\u00F5eksite", 165, 15), + new Among("p\u00F5eme", -1, 15), + new Among("p\u00F5en", -1, 15), + new Among("p\u00F5ete", -1, 15), + new Among("p\u00F5evad", -1, 15), + new Among("saab", -1, 2), + new Among("saad", -1, 2), + new Among("saada", 175, 2), + new Among("saadakse", 176, 2), + new Among("saadi", 175, 2), + new Among("saaks", -1, 2), + new Among("saaksid", 179, 2), + new Among("saaksime", 179, 2), + new Among("saaksin", 179, 2), + new Among("saaksite", 179, 2), + new Among("saama", -1, 2), + new Among("saamata", 184, 2), + new Among("saame", -1, 2), + new Among("saan", -1, 2), + new Among("saate", -1, 2), + new Among("saavad", -1, 2), + new Among("sai", -1, 2), + new Among("said", 190, 2), + new Among("saime", 190, 2), + new Among("sain", 190, 2), + new Among("saite", 190, 2), + new Among("s\u00F5i", -1, 9), + new Among("s\u00F5id", 195, 9), + new Among("s\u00F5ime", 195, 9), + new Among("s\u00F5in", 195, 9), + new Among("s\u00F5ite", 195, 9), + new Among("s\u00F6\u00F6b", -1, 9), + new Among("s\u00F6\u00F6d", -1, 9), + new Among("s\u00F6\u00F6dakse", 201, 9), + new Among("s\u00F6\u00F6di", 201, 9), + new Among("s\u00F6\u00F6ks", -1, 9), + new Among("s\u00F6\u00F6ksid", 204, 9), + new Among("s\u00F6\u00F6ksime", 204, 9), + new Among("s\u00F6\u00F6ksin", 204, 9), + new Among("s\u00F6\u00F6ksite", 204, 9), + new Among("s\u00F6\u00F6ma", -1, 9), + new Among("s\u00F6\u00F6mata", 209, 9), + new Among("s\u00F6\u00F6me", -1, 9), + new Among("s\u00F6\u00F6n", -1, 9), + new Among("s\u00F6\u00F6te", -1, 9), + new Among("s\u00F6\u00F6vad", -1, 9), + new Among("s\u00FC\u00FCa", -1, 9), + new Among("s\u00FC\u00FCakse", 215, 9), + new Among("teeb", -1, 17), + new Among("teed", -1, 17), + new Among("teeks", -1, 17), + new Among("teeksid", 219, 17), + new Among("teeksime", 219, 17), + new Among("teeksin", 219, 17), + new Among("teeksite", 219, 17), + new Among("teeme", -1, 17), + new Among("teen", -1, 17), + new Among("teete", -1, 17), + new Among("teevad", -1, 17), + new Among("tegema", -1, 17), + new Among("tegemata", 228, 17), + new Among("teha", -1, 17), + new Among("tehakse", 230, 17), + new Among("tehti", -1, 17), + new Among("toob", -1, 10), + new Among("tood", -1, 10), + new Among("toodi", 234, 10), + new Among("tooks", -1, 10), + new Among("tooksid", 236, 10), + new Among("tooksime", 236, 10), + new Among("tooksin", 236, 10), + new Among("tooksite", 236, 10), + new Among("tooma", -1, 10), + new Among("toomata", 241, 10), + new Among("toome", -1, 10), + new Among("toon", -1, 10), + new Among("toote", -1, 10), + new Among("toovad", -1, 10), + new Among("tuua", -1, 10), + new Among("tuuakse", 247, 10), + new Among("t\u00F5i", -1, 10), + new Among("t\u00F5id", 249, 10), + new Among("t\u00F5ime", 249, 10), + new Among("t\u00F5in", 249, 10), + new Among("t\u00F5ite", 249, 10), + new Among("viia", -1, 3), + new Among("viiakse", 254, 3), + new Among("viib", -1, 3), + new Among("viid", -1, 3), + new Among("viidi", 257, 3), + new Among("viiks", -1, 3), + new Among("viiksid", 259, 3), + new Among("viiksime", 259, 3), + new Among("viiksin", 259, 3), + new Among("viiksite", 259, 3), + new Among("viima", -1, 3), + new Among("viimata", 264, 3), + new Among("viime", -1, 3), + new Among("viin", -1, 3), + new Among("viisime", -1, 3), + new Among("viisin", -1, 3), + new Among("viisite", -1, 3), + new Among("viite", -1, 3), + new Among("viivad", -1, 3), + new Among("v\u00F5ib", -1, 11), + new Among("v\u00F5id", -1, 11), + new Among("v\u00F5ida", 274, 11), + new Among("v\u00F5idakse", 275, 11), + new Among("v\u00F5idi", 274, 11), + new Among("v\u00F5iks", -1, 11), + new Among("v\u00F5iksid", 278, 11), + new Among("v\u00F5iksime", 278, 11), + new Among("v\u00F5iksin", 278, 11), + new Among("v\u00F5iksite", 278, 11), + new Among("v\u00F5ima", -1, 11), + new Among("v\u00F5imata", 283, 11), + new Among("v\u00F5ime", -1, 11), + new Among("v\u00F5in", -1, 11), + new Among("v\u00F5is", -1, 11), + new Among("v\u00F5ite", -1, 11), + new Among("v\u00F5ivad", -1, 11) +}; - private final static Among a_9[] = { - new Among ( "ma", -1, 2, "", methodObject ), - new Among ( "mai", -1, 1, "", methodObject ), - new Among ( "m", -1, 3, "", methodObject ) - }; +private static final char g_V1[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 }; - private final static Among a_10[] = { - new Among ( "joob", -1, 1, "", methodObject ), - new Among ( "jood", -1, 1, "", methodObject ), - new Among ( "joodakse", 1, 3, "", methodObject ), - new Among ( "jooma", -1, 3, "", methodObject ), - new Among ( "joomata", 3, 3, "", methodObject ), - new Among ( "joome", -1, 1, "", methodObject ), - new Among ( "joon", -1, 1, "", methodObject ), - new Among ( "joote", -1, 1, "", methodObject ), - new Among ( "joovad", -1, 1, "", methodObject ), - new Among ( "juua", -1, 3, "", methodObject ), - new Among ( "juuakse", 9, 3, "", methodObject ), - new Among ( "j\u00E4i", -1, 38, "", methodObject ), - new Among ( "j\u00E4id", 11, 38, "", methodObject ), - new Among ( "j\u00E4ime", 11, 38, "", methodObject ), - new Among ( "j\u00E4in", 11, 38, "", methodObject ), - new Among ( "j\u00E4ite", 11, 38, "", methodObject ), - new Among ( "j\u00E4\u00E4b", -1, 36, "", methodObject ), - new Among ( "j\u00E4\u00E4d", -1, 36, "", methodObject ), - new Among ( "j\u00E4\u00E4da", 17, 39, "", methodObject ), - new Among ( "j\u00E4\u00E4dakse", 18, 39, "", methodObject ), - new Among ( "j\u00E4\u00E4di", 17, 39, "", methodObject ), - new Among ( "j\u00E4\u00E4ks", -1, 37, "", methodObject ), - new Among ( "j\u00E4\u00E4ksid", 21, 37, "", methodObject ), - new Among ( "j\u00E4\u00E4ksime", 21, 37, "", methodObject ), - new Among ( "j\u00E4\u00E4ksin", 21, 37, "", methodObject ), - new Among ( "j\u00E4\u00E4ksite", 21, 37, "", methodObject ), - new Among ( "j\u00E4\u00E4ma", -1, 39, "", methodObject ), - new Among ( "j\u00E4\u00E4mata", 26, 39, "", methodObject ), - new Among ( "j\u00E4\u00E4me", -1, 36, "", methodObject ), - new Among ( "j\u00E4\u00E4n", -1, 36, "", methodObject ), - new Among ( "j\u00E4\u00E4te", -1, 36, "", methodObject ), - new Among ( "j\u00E4\u00E4vad", -1, 36, "", methodObject ), - new Among ( "j\u00F5i", -1, 2, "", methodObject ), - new Among ( "j\u00F5id", 32, 2, "", methodObject ), - new Among ( "j\u00F5ime", 32, 2, "", methodObject ), - new Among ( "j\u00F5in", 32, 2, "", methodObject ), - new Among ( "j\u00F5ite", 32, 2, "", methodObject ), - new Among ( "keeb", -1, 12, "", methodObject ), - new Among ( "keed", -1, 12, "", methodObject ), - new Among ( "keedakse", 38, 14, "", methodObject ), - new Among ( "keeks", -1, 13, "", methodObject ), - new Among ( "keeksid", 40, 13, "", methodObject ), - new Among ( "keeksime", 40, 13, "", methodObject ), - new Among ( "keeksin", 40, 13, "", methodObject ), - new Among ( "keeksite", 40, 13, "", methodObject ), - new Among ( "keema", -1, 14, "", methodObject ), - new Among ( "keemata", 45, 14, "", methodObject ), - new Among ( "keeme", -1, 12, "", methodObject ), - new Among ( "keen", -1, 12, "", methodObject ), - new Among ( "kees", -1, 12, "", methodObject ), - new Among ( "keeta", -1, 14, "", methodObject ), - new Among ( "keete", -1, 12, "", methodObject ), - new Among ( "keevad", -1, 12, "", methodObject ), - new Among ( "k\u00E4ia", -1, 24, "", methodObject ), - new Among ( "k\u00E4iakse", 53, 24, "", methodObject ), - new Among ( "k\u00E4ib", -1, 22, "", methodObject ), - new Among ( "k\u00E4id", -1, 22, "", methodObject ), - new Among ( "k\u00E4idi", 56, 24, "", methodObject ), - new Among ( "k\u00E4iks", -1, 23, "", methodObject ), - new Among ( "k\u00E4iksid", 58, 23, "", methodObject ), - new Among ( "k\u00E4iksime", 58, 23, "", methodObject ), - new Among ( "k\u00E4iksin", 58, 23, "", methodObject ), - new Among ( "k\u00E4iksite", 58, 23, "", methodObject ), - new Among ( "k\u00E4ima", -1, 24, "", methodObject ), - new Among ( "k\u00E4imata", 63, 24, "", methodObject ), - new Among ( "k\u00E4ime", -1, 22, "", methodObject ), - new Among ( "k\u00E4in", -1, 22, "", methodObject ), - new Among ( "k\u00E4is", -1, 22, "", methodObject ), - new Among ( "k\u00E4ite", -1, 22, "", methodObject ), - new Among ( "k\u00E4ivad", -1, 22, "", methodObject ), - new Among ( "laob", -1, 47, "", methodObject ), - new Among ( "laod", -1, 47, "", methodObject ), - new Among ( "laoks", -1, 48, "", methodObject ), - new Among ( "laoksid", 72, 48, "", methodObject ), - new Among ( "laoksime", 72, 48, "", methodObject ), - new Among ( "laoksin", 72, 48, "", methodObject ), - new Among ( "laoksite", 72, 48, "", methodObject ), - new Among ( "laome", -1, 47, "", methodObject ), - new Among ( "laon", -1, 47, "", methodObject ), - new Among ( "laote", -1, 47, "", methodObject ), - new Among ( "laovad", -1, 47, "", methodObject ), - new Among ( "loeb", -1, 43, "", methodObject ), - new Among ( "loed", -1, 43, "", methodObject ), - new Among ( "loeks", -1, 44, "", methodObject ), - new Among ( "loeksid", 83, 44, "", methodObject ), - new Among ( "loeksime", 83, 44, "", methodObject ), - new Among ( "loeksin", 83, 44, "", methodObject ), - new Among ( "loeksite", 83, 44, "", methodObject ), - new Among ( "loeme", -1, 43, "", methodObject ), - new Among ( "loen", -1, 43, "", methodObject ), - new Among ( "loete", -1, 43, "", methodObject ), - new Among ( "loevad", -1, 43, "", methodObject ), - new Among ( "loob", -1, 19, "", methodObject ), - new Among ( "lood", -1, 19, "", methodObject ), - new Among ( "loodi", 93, 21, "", methodObject ), - new Among ( "looks", -1, 20, "", methodObject ), - new Among ( "looksid", 95, 20, "", methodObject ), - new Among ( "looksime", 95, 20, "", methodObject ), - new Among ( "looksin", 95, 20, "", methodObject ), - new Among ( "looksite", 95, 20, "", methodObject ), - new Among ( "looma", -1, 21, "", methodObject ), - new Among ( "loomata", 100, 21, "", methodObject ), - new Among ( "loome", -1, 19, "", methodObject ), - new Among ( "loon", -1, 19, "", methodObject ), - new Among ( "loote", -1, 19, "", methodObject ), - new Among ( "loovad", -1, 19, "", methodObject ), - new Among ( "luua", -1, 21, "", methodObject ), - new Among ( "luuakse", 106, 21, "", methodObject ), - new Among ( "l\u00F5i", -1, 18, "", methodObject ), - new Among ( "l\u00F5id", 108, 18, "", methodObject ), - new Among ( "l\u00F5ime", 108, 18, "", methodObject ), - new Among ( "l\u00F5in", 108, 18, "", methodObject ), - new Among ( "l\u00F5ite", 108, 18, "", methodObject ), - new Among ( "l\u00F6\u00F6b", -1, 15, "", methodObject ), - new Among ( "l\u00F6\u00F6d", -1, 15, "", methodObject ), - new Among ( "l\u00F6\u00F6dakse", 114, 17, "", methodObject ), - new Among ( "l\u00F6\u00F6di", 114, 17, "", methodObject ), - new Among ( "l\u00F6\u00F6ks", -1, 16, "", methodObject ), - new Among ( "l\u00F6\u00F6ksid", 117, 16, "", methodObject ), - new Among ( "l\u00F6\u00F6ksime", 117, 16, "", methodObject ), - new Among ( "l\u00F6\u00F6ksin", 117, 16, "", methodObject ), - new Among ( "l\u00F6\u00F6ksite", 117, 16, "", methodObject ), - new Among ( "l\u00F6\u00F6ma", -1, 17, "", methodObject ), - new Among ( "l\u00F6\u00F6mata", 122, 17, "", methodObject ), - new Among ( "l\u00F6\u00F6me", -1, 15, "", methodObject ), - new Among ( "l\u00F6\u00F6n", -1, 15, "", methodObject ), - new Among ( "l\u00F6\u00F6te", -1, 15, "", methodObject ), - new Among ( "l\u00F6\u00F6vad", -1, 15, "", methodObject ), - new Among ( "l\u00FC\u00FCa", -1, 17, "", methodObject ), - new Among ( "l\u00FC\u00FCakse", 128, 17, "", methodObject ), - new Among ( "m\u00FC\u00FCa", -1, 42, "", methodObject ), - new Among ( "m\u00FC\u00FCakse", 130, 42, "", methodObject ), - new Among ( "m\u00FC\u00FCb", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCd", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCdi", 133, 42, "", methodObject ), - new Among ( "m\u00FC\u00FCks", -1, 41, "", methodObject ), - new Among ( "m\u00FC\u00FCksid", 135, 41, "", methodObject ), - new Among ( "m\u00FC\u00FCksime", 135, 41, "", methodObject ), - new Among ( "m\u00FC\u00FCksin", 135, 41, "", methodObject ), - new Among ( "m\u00FC\u00FCksite", 135, 41, "", methodObject ), - new Among ( "m\u00FC\u00FCma", -1, 42, "", methodObject ), - new Among ( "m\u00FC\u00FCmata", 140, 42, "", methodObject ), - new Among ( "m\u00FC\u00FCme", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCn", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCs", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCte", -1, 40, "", methodObject ), - new Among ( "m\u00FC\u00FCvad", -1, 40, "", methodObject ), - new Among ( "n\u00E4eb", -1, 52, "", methodObject ), - new Among ( "n\u00E4ed", -1, 52, "", methodObject ), - new Among ( "n\u00E4eks", -1, 53, "", methodObject ), - new Among ( "n\u00E4eksid", 149, 53, "", methodObject ), - new Among ( "n\u00E4eksime", 149, 53, "", methodObject ), - new Among ( "n\u00E4eksin", 149, 53, "", methodObject ), - new Among ( "n\u00E4eksite", 149, 53, "", methodObject ), - new Among ( "n\u00E4eme", -1, 52, "", methodObject ), - new Among ( "n\u00E4en", -1, 52, "", methodObject ), - new Among ( "n\u00E4ete", -1, 52, "", methodObject ), - new Among ( "n\u00E4evad", -1, 52, "", methodObject ), - new Among ( "n\u00E4gema", -1, 54, "", methodObject ), - new Among ( "n\u00E4gemata", 158, 54, "", methodObject ), - new Among ( "n\u00E4ha", -1, 54, "", methodObject ), - new Among ( "n\u00E4hakse", 160, 54, "", methodObject ), - new Among ( "n\u00E4hti", -1, 54, "", methodObject ), - new Among ( "p\u00F5eb", -1, 45, "", methodObject ), - new Among ( "p\u00F5ed", -1, 45, "", methodObject ), - new Among ( "p\u00F5eks", -1, 46, "", methodObject ), - new Among ( "p\u00F5eksid", 165, 46, "", methodObject ), - new Among ( "p\u00F5eksime", 165, 46, "", methodObject ), - new Among ( "p\u00F5eksin", 165, 46, "", methodObject ), - new Among ( "p\u00F5eksite", 165, 46, "", methodObject ), - new Among ( "p\u00F5eme", -1, 45, "", methodObject ), - new Among ( "p\u00F5en", -1, 45, "", methodObject ), - new Among ( "p\u00F5ete", -1, 45, "", methodObject ), - new Among ( "p\u00F5evad", -1, 45, "", methodObject ), - new Among ( "saab", -1, 4, "", methodObject ), - new Among ( "saad", -1, 4, "", methodObject ), - new Among ( "saada", 175, 7, "", methodObject ), - new Among ( "saadakse", 176, 7, "", methodObject ), - new Among ( "saadi", 175, 7, "", methodObject ), - new Among ( "saaks", -1, 5, "", methodObject ), - new Among ( "saaksid", 179, 5, "", methodObject ), - new Among ( "saaksime", 179, 5, "", methodObject ), - new Among ( "saaksin", 179, 5, "", methodObject ), - new Among ( "saaksite", 179, 5, "", methodObject ), - new Among ( "saama", -1, 7, "", methodObject ), - new Among ( "saamata", 184, 7, "", methodObject ), - new Among ( "saame", -1, 4, "", methodObject ), - new Among ( "saan", -1, 4, "", methodObject ), - new Among ( "saate", -1, 4, "", methodObject ), - new Among ( "saavad", -1, 4, "", methodObject ), - new Among ( "sai", -1, 6, "", methodObject ), - new Among ( "said", 190, 6, "", methodObject ), - new Among ( "saime", 190, 6, "", methodObject ), - new Among ( "sain", 190, 6, "", methodObject ), - new Among ( "saite", 190, 6, "", methodObject ), - new Among ( "s\u00F5i", -1, 27, "", methodObject ), - new Among ( "s\u00F5id", 195, 27, "", methodObject ), - new Among ( "s\u00F5ime", 195, 27, "", methodObject ), - new Among ( "s\u00F5in", 195, 27, "", methodObject ), - new Among ( "s\u00F5ite", 195, 27, "", methodObject ), - new Among ( "s\u00F6\u00F6b", -1, 25, "", methodObject ), - new Among ( "s\u00F6\u00F6d", -1, 25, "", methodObject ), - new Among ( "s\u00F6\u00F6dakse", 201, 28, "", methodObject ), - new Among ( "s\u00F6\u00F6di", 201, 28, "", methodObject ), - new Among ( "s\u00F6\u00F6ks", -1, 26, "", methodObject ), - new Among ( "s\u00F6\u00F6ksid", 204, 26, "", methodObject ), - new Among ( "s\u00F6\u00F6ksime", 204, 26, "", methodObject ), - new Among ( "s\u00F6\u00F6ksin", 204, 26, "", methodObject ), - new Among ( "s\u00F6\u00F6ksite", 204, 26, "", methodObject ), - new Among ( "s\u00F6\u00F6ma", -1, 28, "", methodObject ), - new Among ( "s\u00F6\u00F6mata", 209, 28, "", methodObject ), - new Among ( "s\u00F6\u00F6me", -1, 25, "", methodObject ), - new Among ( "s\u00F6\u00F6n", -1, 25, "", methodObject ), - new Among ( "s\u00F6\u00F6te", -1, 25, "", methodObject ), - new Among ( "s\u00F6\u00F6vad", -1, 25, "", methodObject ), - new Among ( "s\u00FC\u00FCa", -1, 28, "", methodObject ), - new Among ( "s\u00FC\u00FCakse", 215, 28, "", methodObject ), - new Among ( "teeb", -1, 50, "", methodObject ), - new Among ( "teed", -1, 50, "", methodObject ), - new Among ( "teeks", -1, 49, "", methodObject ), - new Among ( "teeksid", 219, 49, "", methodObject ), - new Among ( "teeksime", 219, 49, "", methodObject ), - new Among ( "teeksin", 219, 49, "", methodObject ), - new Among ( "teeksite", 219, 49, "", methodObject ), - new Among ( "teeme", -1, 50, "", methodObject ), - new Among ( "teen", -1, 50, "", methodObject ), - new Among ( "teete", -1, 50, "", methodObject ), - new Among ( "teevad", -1, 50, "", methodObject ), - new Among ( "tegema", -1, 51, "", methodObject ), - new Among ( "tegemata", 228, 51, "", methodObject ), - new Among ( "teha", -1, 51, "", methodObject ), - new Among ( "tehakse", 230, 51, "", methodObject ), - new Among ( "tehti", -1, 51, "", methodObject ), - new Among ( "toob", -1, 29, "", methodObject ), - new Among ( "tood", -1, 29, "", methodObject ), - new Among ( "toodi", 234, 32, "", methodObject ), - new Among ( "tooks", -1, 30, "", methodObject ), - new Among ( "tooksid", 236, 30, "", methodObject ), - new Among ( "tooksime", 236, 30, "", methodObject ), - new Among ( "tooksin", 236, 30, "", methodObject ), - new Among ( "tooksite", 236, 30, "", methodObject ), - new Among ( "tooma", -1, 32, "", methodObject ), - new Among ( "toomata", 241, 32, "", methodObject ), - new Among ( "toome", -1, 29, "", methodObject ), - new Among ( "toon", -1, 29, "", methodObject ), - new Among ( "toote", -1, 29, "", methodObject ), - new Among ( "toovad", -1, 29, "", methodObject ), - new Among ( "tuua", -1, 32, "", methodObject ), - new Among ( "tuuakse", 247, 32, "", methodObject ), - new Among ( "t\u00F5i", -1, 31, "", methodObject ), - new Among ( "t\u00F5id", 249, 31, "", methodObject ), - new Among ( "t\u00F5ime", 249, 31, "", methodObject ), - new Among ( "t\u00F5in", 249, 31, "", methodObject ), - new Among ( "t\u00F5ite", 249, 31, "", methodObject ), - new Among ( "viia", -1, 11, "", methodObject ), - new Among ( "viiakse", 254, 11, "", methodObject ), - new Among ( "viib", -1, 8, "", methodObject ), - new Among ( "viid", -1, 8, "", methodObject ), - new Among ( "viidi", 257, 11, "", methodObject ), - new Among ( "viiks", -1, 9, "", methodObject ), - new Among ( "viiksid", 259, 9, "", methodObject ), - new Among ( "viiksime", 259, 9, "", methodObject ), - new Among ( "viiksin", 259, 9, "", methodObject ), - new Among ( "viiksite", 259, 9, "", methodObject ), - new Among ( "viima", -1, 11, "", methodObject ), - new Among ( "viimata", 264, 11, "", methodObject ), - new Among ( "viime", -1, 8, "", methodObject ), - new Among ( "viin", -1, 8, "", methodObject ), - new Among ( "viisime", -1, 10, "", methodObject ), - new Among ( "viisin", -1, 10, "", methodObject ), - new Among ( "viisite", -1, 10, "", methodObject ), - new Among ( "viite", -1, 8, "", methodObject ), - new Among ( "viivad", -1, 8, "", methodObject ), - new Among ( "v\u00F5ib", -1, 33, "", methodObject ), - new Among ( "v\u00F5id", -1, 33, "", methodObject ), - new Among ( "v\u00F5ida", 274, 35, "", methodObject ), - new Among ( "v\u00F5idakse", 275, 35, "", methodObject ), - new Among ( "v\u00F5idi", 274, 35, "", methodObject ), - new Among ( "v\u00F5iks", -1, 34, "", methodObject ), - new Among ( "v\u00F5iksid", 278, 34, "", methodObject ), - new Among ( "v\u00F5iksime", 278, 34, "", methodObject ), - new Among ( "v\u00F5iksin", 278, 34, "", methodObject ), - new Among ( "v\u00F5iksite", 278, 34, "", methodObject ), - new Among ( "v\u00F5ima", -1, 35, "", methodObject ), - new Among ( "v\u00F5imata", 283, 35, "", methodObject ), - new Among ( "v\u00F5ime", -1, 33, "", methodObject ), - new Among ( "v\u00F5in", -1, 33, "", methodObject ), - new Among ( "v\u00F5is", -1, 33, "", methodObject ), - new Among ( "v\u00F5ite", -1, 33, "", methodObject ), - new Among ( "v\u00F5ivad", -1, 33, "", methodObject ) - }; +private static final char g_RV[] = {17, 65, 16 }; - private static final char g_V1[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 }; +private static final char g_KI[] = {117, 66, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 }; - private static final char g_RV[] = {17, 65, 16 }; +private static final char g_GI[] = {21, 123, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 }; - private static final char g_KI[] = {117, 66, 6, 1, 0, 0, 0, 128, 0, 0, 0, 16, 8 }; +private int I_p1; +private boolean B_is_verb; - private static final char g_GI[] = {21, 123, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 }; - private int I_p1; - private boolean B_is_verb; - - private void copy_from(EstonianStemmer other) { - I_p1 = other.I_p1; - B_is_verb = other.B_is_verb; - super.copy_from(other); +private boolean r_mark_regions() { + I_p1 = limit; + golab0: while(true) + { + int v_1 = cursor; + lab1: { + if (!(in_grouping(g_V1, 97, 252))) + { + break lab1; + } + cursor = v_1; + break golab0; } - - private boolean r_mark_regions() { - int v_1; - // (, line 40 - I_p1 = limit; - // goto, line 44 - golab0: while(true) - { - v_1 = cursor; - lab1: do { - if (!(in_grouping(g_V1, 97, 252))) - { - break lab1; - } - cursor = v_1; - break golab0; - } while (false); - cursor = v_1; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 44 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_V1, 97, 252))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 44 - I_p1 = cursor; - return true; + cursor = v_1; + if (cursor >= limit) + { + return false; } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_V1, 97, 252))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + return true; +} - private boolean r_emphasis() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 50 - // setlimit, line 51 - v_1 = limit - cursor; - // tomark, line 51 - if (cursor < I_p1) - { - return false; +private boolean r_emphasis() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + int v_3 = limit - cursor; + { + int c = cursor - 4; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_3; + switch (among_var) { + case 1: + int v_4 = limit - cursor; + if (!(in_grouping_b(g_GI, 97, 252))) + { + return false; + } + cursor = limit - v_4; + { + int v_5 = limit - cursor; + lab0: { + if (!r_LONGV()) + { + break lab0; + } + return false; } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 51 - // [, line 51 - ket = cursor; - // substring, line 51 - among_var = find_among_b(a_0, 2); - if (among_var == 0) - { - limit_backward = v_2; - return false; + cursor = limit - v_5; + } + slice_del(); + break; + case 2: + if (!(in_grouping_b(g_KI, 98, 382))) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_verb() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("a"); + break; + case 3: + if (!(in_grouping_b(g_V1, 97, 252))) + { + return false; + } + slice_del(); + break; + } + B_is_verb = true; + return true; +} + +private boolean r_LONGV() { + if (find_among_b(a_2) == 0) + { + return false; + } + return true; +} + +private boolean r_i_plural() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_3) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + if (!(in_grouping_b(g_RV, 97, 117))) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_special_noun_endings() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_from("lase"); + break; + case 2: + slice_from("mise"); + break; + case 3: + slice_from("lise"); + break; + } + return true; +} + +private boolean r_case_ending() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_5) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + lab0: { + int v_3 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_RV, 97, 117))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_3; + if (!r_LONGV()) + { + return false; + } + } + slice_del(); + return true; +} + +private boolean r_plural_three_first_cases() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_from("iku"); + break; + case 2: + { + int v_3 = limit - cursor; + lab0: { + if (!r_LONGV()) + { + break lab0; + } + return false; } - // ], line 51 - bra = cursor; - limit_backward = v_2; - // test, line 52 - v_3 = limit - cursor; - // hop, line 52 - { + cursor = limit - v_3; + } + slice_del(); + break; + case 3: + lab1: { + int v_4 = limit - cursor; + lab2: { + int v_5 = limit - cursor; + { int c = cursor - 4; if (limit_backward > c || c > limit) { - return false; + break lab2; } cursor = c; - } - cursor = limit - v_3; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 54 - // (, line 54 - // and, line 54 - v_4 = limit - cursor; - if (!(in_grouping_b(g_GI, 97, 252))) - { - return false; - } - cursor = limit - v_4; - // not, line 54 - { - v_5 = limit - cursor; - lab0: do { - // call LONGV, line 54 - if (!r_LONGV()) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_5; - } - // delete, line 54 - slice_del(); - break; - case 2: - // (, line 55 - if (!(in_grouping_b(g_KI, 98, 197))) - { - return false; - } - // delete, line 55 - slice_del(); - break; - } - return true; - } - - private boolean r_verb() { - int among_var; - int v_1; - int v_2; - // (, line 60 - // setlimit, line 61 - v_1 = limit - cursor; - // tomark, line 61 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 61 - // [, line 61 - ket = cursor; - // substring, line 61 - among_var = find_among_b(a_1, 21); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 61 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 63 - // delete, line 63 - slice_del(); - break; - case 2: - // (, line 64 - // delete, line 64 - slice_del(); - break; - case 3: - // (, line 65 - // delete, line 65 - slice_del(); - break; - case 4: - // (, line 66 - // delete, line 66 - slice_del(); - break; - case 5: - // (, line 67 - // delete, line 67 - slice_del(); - break; - case 6: - // (, line 68 - // <-, line 68 - slice_from("a"); - break; - case 7: - // (, line 69 - // delete, line 69 - slice_del(); - break; - case 8: - // (, line 70 - // delete, line 70 - slice_del(); - break; - case 9: - // (, line 71 - // delete, line 71 - slice_del(); - break; - case 10: - // (, line 72 - if (!(in_grouping_b(g_V1, 97, 252))) - { - return false; - } - // delete, line 72 - slice_del(); - break; - case 11: - // (, line 73 - if (!(in_grouping_b(g_V1, 97, 252))) - { - return false; - } - // delete, line 73 - slice_del(); - break; - case 12: - // (, line 74 - if (!(in_grouping_b(g_V1, 97, 252))) - { - return false; - } - // delete, line 74 - slice_del(); - break; - case 13: - // (, line 75 - if (!(in_grouping_b(g_V1, 97, 252))) - { - return false; - } - // delete, line 75 - slice_del(); - break; - } - // set is_verb, line 77 - B_is_verb = true; - return true; - } - - private boolean r_LONGV() { - // among, line 81 - if (find_among_b(a_2, 9) == 0) - { - return false; - } - return true; - } - - private boolean r_i_plural() { - int among_var; - int v_1; - int v_2; - // (, line 83 - // setlimit, line 84 - v_1 = limit - cursor; - // tomark, line 84 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 84 - // [, line 84 - ket = cursor; - // substring, line 84 - among_var = find_among_b(a_3, 1); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 84 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 86 - if (!(in_grouping_b(g_RV, 97, 117))) - { - return false; - } - break; - } - // delete, line 88 - slice_del(); - return true; - } - - private boolean r_special_noun_endings() { - int among_var; - int v_1; - int v_2; - // (, line 91 - // setlimit, line 92 - v_1 = limit - cursor; - // tomark, line 92 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 92 - // [, line 92 - ket = cursor; - // substring, line 92 - among_var = find_among_b(a_4, 12); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 92 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 94 - // <-, line 94 - slice_from("lase"); - break; - case 2: - // (, line 95 - // <-, line 95 - slice_from("lase"); - break; - case 3: - // (, line 96 - // <-, line 96 - slice_from("lase"); - break; - case 4: - // (, line 97 - // <-, line 97 - slice_from("lase"); - break; - case 5: - // (, line 98 - // <-, line 98 - slice_from("mise"); - break; - case 6: - // (, line 99 - // <-, line 99 - slice_from("mise"); - break; - case 7: - // (, line 100 - // <-, line 100 - slice_from("mise"); - break; - case 8: - // (, line 101 - // <-, line 101 - slice_from("mise"); - break; - case 9: - // (, line 102 - // <-, line 102 - slice_from("lise"); - break; - case 10: - // (, line 103 - // <-, line 103 - slice_from("lise"); - break; - case 11: - // (, line 104 - // <-, line 104 - slice_from("lise"); - break; - case 12: - // (, line 105 - // <-, line 105 - slice_from("lise"); - break; - } - return true; - } - - private boolean r_case_ending() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - // (, line 109 - // setlimit, line 110 - v_1 = limit - cursor; - // tomark, line 110 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 110 - // [, line 110 - ket = cursor; - // substring, line 110 - among_var = find_among_b(a_5, 10); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 110 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 112 - // or, line 112 - lab0: do { - v_3 = limit - cursor; - lab1: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_3; - // call LONGV, line 112 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 2: - // (, line 113 - // or, line 113 - lab2: do { - v_4 = limit - cursor; - lab3: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_4; - // call LONGV, line 113 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 3: - // (, line 114 - // or, line 114 - lab4: do { - v_5 = limit - cursor; - lab5: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab5; - } - break lab4; - } while (false); - cursor = limit - v_5; - // call LONGV, line 114 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 4: - // (, line 115 - // or, line 115 - lab6: do { - v_6 = limit - cursor; - lab7: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab7; - } - break lab6; - } while (false); - cursor = limit - v_6; - // call LONGV, line 115 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 5: - // (, line 116 - // or, line 116 - lab8: do { - v_7 = limit - cursor; - lab9: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab9; - } - break lab8; - } while (false); - cursor = limit - v_7; - // call LONGV, line 116 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 6: - // (, line 117 - // or, line 117 - lab10: do { - v_8 = limit - cursor; - lab11: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab11; - } - break lab10; - } while (false); - cursor = limit - v_8; - // call LONGV, line 117 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 7: - // (, line 118 - // or, line 118 - lab12: do { - v_9 = limit - cursor; - lab13: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab13; - } - break lab12; - } while (false); - cursor = limit - v_9; - // call LONGV, line 118 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 8: - // (, line 120 - // or, line 120 - lab14: do { - v_10 = limit - cursor; - lab15: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab15; - } - break lab14; - } while (false); - cursor = limit - v_10; - // call LONGV, line 120 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - case 9: - // (, line 121 - // or, line 121 - lab16: do { - v_11 = limit - cursor; - lab17: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab17; - } - break lab16; - } while (false); - cursor = limit - v_11; - // call LONGV, line 121 - if (!r_LONGV()) - { - return false; - } - } while (false); - break; - } - // delete, line 123 - slice_del(); - return true; - } - - private boolean r_plural_three_first_cases() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 127 - // setlimit, line 128 - v_1 = limit - cursor; - // tomark, line 128 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 128 - // [, line 128 - ket = cursor; - // substring, line 128 - among_var = find_among_b(a_6, 7); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 128 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 130 - // <-, line 130 - slice_from("iku"); - break; - case 2: - // (, line 131 - // <-, line 131 - slice_from("iku"); - break; - case 3: - // (, line 132 - // <-, line 132 - slice_from("iku"); - break; - case 4: - // (, line 133 - // not, line 133 - { - v_3 = limit - cursor; - lab0: do { - // call LONGV, line 133 - if (!r_LONGV()) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_3; - } - // delete, line 133 - slice_del(); - break; - case 5: - // (, line 134 - // or, line 134 - lab1: do { - v_4 = limit - cursor; - lab2: do { - // (, line 134 - // test, line 134 - v_5 = limit - cursor; - // hop, line 134 - { - int c = cursor - 4; - if (limit_backward > c || c > limit) - { - break lab2; - } - cursor = c; - } - cursor = limit - v_5; - // (, line 134 - // or, line 134 - lab3: do { - v_6 = limit - cursor; - lab4: do { - // (, line 134 - // literal, line 134 - if (!(eq_s_b(3, "mis"))) - { - break lab4; - } - // <-, line 134 - slice_from("e"); - break lab3; - } while (false); - cursor = limit - v_6; - lab5: do { - // (, line 134 - // literal, line 134 - if (!(eq_s_b(3, "las"))) - { - break lab5; - } - // <-, line 134 - slice_from("e"); - break lab3; - } while (false); - cursor = limit - v_6; - lab6: do { - // (, line 134 - // literal, line 134 - if (!(eq_s_b(3, "lis"))) - { - break lab6; - } - // <-, line 134 - slice_from("e"); - break lab3; - } while (false); - cursor = limit - v_6; - // (, line 134 - // not, line 134 - { - v_7 = limit - cursor; - lab7: do { - // literal, line 134 - if (!(eq_s_b(1, "t"))) - { - break lab7; - } - break lab2; - } while (false); - cursor = limit - v_7; - } - // delete, line 134 - slice_del(); - } while (false); - break lab1; - } while (false); - cursor = limit - v_4; - // (, line 134 - // not, line 134 - { - v_8 = limit - cursor; - lab8: do { - // literal, line 134 - if (!(eq_s_b(1, "t"))) - { - break lab8; - } - return false; - } while (false); - cursor = limit - v_8; - } - // <-, line 134 - slice_from("t"); - } while (false); - break; - case 6: - // (, line 135 - // (, line 135 - // or, line 135 - lab9: do { - v_9 = limit - cursor; - lab10: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab10; - } - break lab9; - } while (false); - cursor = limit - v_9; - // call LONGV, line 135 - if (!r_LONGV()) - { - return false; - } - } while (false); - // delete, line 135 - slice_del(); - break; - case 7: - // (, line 136 - // (, line 136 - // or, line 136 - lab11: do { - v_10 = limit - cursor; - lab12: do { - if (!(in_grouping_b(g_RV, 97, 117))) - { - break lab12; - } - break lab11; - } while (false); - cursor = limit - v_10; - // call LONGV, line 136 - if (!r_LONGV()) - { - return false; - } - } while (false); - // delete, line 136 - slice_del(); - break; - } - return true; - } - - private boolean r_double() { - int v_1; - // (, line 140 - // test, line 141 - v_1 = limit - cursor; - // among, line 141 - if (find_among_b(a_7, 3) == 0) - { - return false; - } - cursor = limit - v_1; - return true; - } - - private boolean r_undouble() { - // (, line 144 - // next, line 145 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // [, line 145 - ket = cursor; - // hop, line 145 - { - int c = cursor - 1; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - // ], line 145 - bra = cursor; - // delete, line 145 - slice_del(); - return true; - } - - private boolean r_nu() { - int v_1; - int v_2; - // (, line 148 - // setlimit, line 149 - v_1 = limit - cursor; - // tomark, line 149 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 149 - // [, line 149 - ket = cursor; - // substring, line 149 - if (find_among_b(a_8, 4) == 0) - { - limit_backward = v_2; - return false; - } - // ], line 149 - bra = cursor; - limit_backward = v_2; - // delete, line 156 - slice_del(); - return true; - } - - private boolean r_remove_double_kpt() { - int v_1; - // (, line 159 - // (, line 160 - if (!(in_grouping_b(g_V1, 97, 252))) - { - return false; - } - // and, line 161 - v_1 = limit - cursor; - // (, line 160 - // call double, line 160 - if (!r_double()) - { - return false; - } - cursor = limit - v_1; - // call undouble, line 161 - if (!r_undouble()) - { - return false; - } - return true; - } - - private boolean r_degrees() { - int among_var; - int v_1; - int v_2; - // (, line 164 - // setlimit, line 165 - v_1 = limit - cursor; - // tomark, line 165 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 165 - // [, line 165 - ket = cursor; - // substring, line 165 - among_var = find_among_b(a_9, 3); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 165 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 167 - if (!(in_grouping_b(g_RV, 97, 117))) - { - return false; - } - // delete, line 167 - slice_del(); - break; - case 2: - // (, line 168 - // delete, line 168 - slice_del(); - break; - case 3: - // (, line 169 - if (!(in_grouping_b(g_RV, 97, 117))) - { - return false; - } - // delete, line 169 - slice_del(); - break; - } - return true; - } - - private boolean r_substantive() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 173 - // do, line 174 - v_1 = limit - cursor; - lab0: do { - // call special_noun_endings, line 174 - if (!r_special_noun_endings()) - { - break lab0; - } - } while (false); - cursor = limit - v_1; - // do, line 175 - v_2 = limit - cursor; - lab1: do { - // call case_ending, line 175 - if (!r_case_ending()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 176 - v_3 = limit - cursor; - lab2: do { - // call plural_three_first_cases, line 176 - if (!r_plural_three_first_cases()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 177 - v_4 = limit - cursor; - lab3: do { - // call degrees, line 177 - if (!r_degrees()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 178 - v_5 = limit - cursor; - lab4: do { - // call i_plural, line 178 - if (!r_i_plural()) - { + } + cursor = limit - v_5; + lab3: { + int v_6 = limit - cursor; + lab4: { + if (!(eq_s_b("mis"))) + { break lab4; + } + slice_from("e"); + break lab3; } - } while (false); - cursor = limit - v_5; - // do, line 179 - v_6 = limit - cursor; - lab5: do { - // call nu, line 179 - if (!r_nu()) - { + cursor = limit - v_6; + lab5: { + if (!(eq_s_b("las"))) + { break lab5; + } + slice_from("e"); + break lab3; } - } while (false); - cursor = limit - v_6; - return true; - } - - private boolean r_verb_exceptions() { - int among_var; - // (, line 184 - // [, line 185 - bra = cursor; - // substring, line 185 - among_var = find_among(a_10, 290); - if (among_var == 0) - { - return false; - } - // ], line 185 - ket = cursor; - // atlimit, line 185 - if (cursor < limit) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 187 - // <-, line 187 - slice_from("joo"); - break; - case 2: - // (, line 188 - // <-, line 188 - slice_from("joo"); - break; - case 3: - // (, line 189 - // <-, line 189 - slice_from("joo"); - break; - case 4: - // (, line 190 - // <-, line 190 - slice_from("saa"); - break; - case 5: - // (, line 191 - // <-, line 191 - slice_from("saa"); - break; - case 6: - // (, line 192 - // <-, line 192 - slice_from("saa"); - break; - case 7: - // (, line 193 - // <-, line 193 - slice_from("saa"); - break; - case 8: - // (, line 194 - // <-, line 194 - slice_from("viima"); - break; - case 9: - // (, line 195 - // <-, line 195 - slice_from("viima"); - break; - case 10: - // (, line 196 - // <-, line 196 - slice_from("viima"); - break; - case 11: - // (, line 197 - // <-, line 197 - slice_from("viima"); - break; - case 12: - // (, line 198 - // <-, line 198 - slice_from("keesi"); - break; - case 13: - // (, line 199 - // <-, line 199 - slice_from("keesi"); - break; - case 14: - // (, line 200 - // <-, line 200 - slice_from("keesi"); - break; - case 15: - // (, line 201 - // <-, line 201 - slice_from("l\u00F6\u00F6"); - break; - case 16: - // (, line 202 - // <-, line 202 - slice_from("l\u00F6\u00F6"); - break; - case 17: - // (, line 203 - // <-, line 203 - slice_from("l\u00F6\u00F6"); - break; - case 18: - // (, line 204 - // <-, line 204 - slice_from("l\u00F6i"); - break; - case 19: - // (, line 205 - // <-, line 205 - slice_from("loo"); - break; - case 20: - // (, line 206 - // <-, line 206 - slice_from("loo"); - break; - case 21: - // (, line 207 - // <-, line 207 - slice_from("loo"); - break; - case 22: - // (, line 208 - // <-, line 208 - slice_from("k\u00E4isi"); - break; - case 23: - // (, line 209 - // <-, line 209 - slice_from("k\u00E4isi"); - break; - case 24: - // (, line 210 - // <-, line 210 - slice_from("k\u00E4isi"); - break; - case 25: - // (, line 211 - // <-, line 211 - slice_from("s\u00F6\u00F6"); - break; - case 26: - // (, line 212 - // <-, line 212 - slice_from("s\u00F6\u00F6"); - break; - case 27: - // (, line 213 - // <-, line 213 - slice_from("s\u00F6\u00F6"); - break; - case 28: - // (, line 214 - // <-, line 214 - slice_from("s\u00F6\u00F6"); - break; - case 29: - // (, line 215 - // <-, line 215 - slice_from("too"); - break; - case 30: - // (, line 216 - // <-, line 216 - slice_from("too"); - break; - case 31: - // (, line 217 - // <-, line 217 - slice_from("too"); - break; - case 32: - // (, line 218 - // <-, line 218 - slice_from("too"); - break; - case 33: - // (, line 219 - // <-, line 219 - slice_from("v\u00F5isi"); - break; - case 34: - // (, line 220 - // <-, line 220 - slice_from("v\u00F5isi"); - break; - case 35: - // (, line 221 - // <-, line 221 - slice_from("v\u00F5isi"); - break; - case 36: - // (, line 222 - // <-, line 222 - slice_from("j\u00E4\u00E4ma"); - break; - case 37: - // (, line 223 - // <-, line 223 - slice_from("j\u00E4\u00E4ma"); - break; - case 38: - // (, line 224 - // <-, line 224 - slice_from("j\u00E4\u00E4ma"); - break; - case 39: - // (, line 225 - // <-, line 225 - slice_from("j\u00E4\u00E4ma"); - break; - case 40: - // (, line 226 - // <-, line 226 - slice_from("m\u00FC\u00FCsi"); - break; - case 41: - // (, line 227 - // <-, line 227 - slice_from("m\u00FC\u00FCsi"); - break; - case 42: - // (, line 228 - // <-, line 228 - slice_from("m\u00FC\u00FCsi"); - break; - case 43: - // (, line 229 - // <-, line 229 - slice_from("luge"); - break; - case 44: - // (, line 230 - // <-, line 230 - slice_from("luge"); - break; - case 45: - // (, line 231 - // <-, line 231 - slice_from("p\u00F5de"); - break; - case 46: - // (, line 232 - // <-, line 232 - slice_from("p\u00F5de"); - break; - case 47: - // (, line 233 - // <-, line 233 - slice_from("ladu"); - break; - case 48: - // (, line 234 - // <-, line 234 - slice_from("ladu"); - break; - case 49: - // (, line 235 - // <-, line 235 - slice_from("tegi"); - break; - case 50: - // (, line 236 - // <-, line 236 - slice_from("tegi"); - break; - case 51: - // (, line 237 - // <-, line 237 - slice_from("tegi"); - break; - case 52: - // (, line 238 - // <-, line 238 - slice_from("n\u00E4gi"); - break; - case 53: - // (, line 239 - // <-, line 239 - slice_from("n\u00E4gi"); - break; - case 54: - // (, line 240 - // <-, line 240 - slice_from("n\u00E4gi"); - break; - } - return true; - } - - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_7; - int v_8; - // (, line 245 - // do, line 246 - v_1 = cursor; - lab0: do { - // call mark_regions, line 246 - if (!r_mark_regions()) + cursor = limit - v_6; + lab6: { + if (!(eq_s_b("lis"))) + { + break lab6; + } + slice_from("e"); + break lab3; + } + cursor = limit - v_6; { - break lab0; - } - } while (false); - cursor = v_1; - // not, line 247 - { - v_2 = cursor; - lab1: do { - // call verb_exceptions, line 247 - if (!r_verb_exceptions()) + int v_7 = limit - cursor; + lab7: { + if (!(eq_s_b("t"))) { - break lab1; + break lab7; } - return false; - } while (false); - cursor = v_2; - } - // unset is_verb, line 248 - B_is_verb = false; - // backwards, line 249 - limit_backward = cursor; cursor = limit; - // (, line 249 - // do, line 250 - v_3 = limit - cursor; - lab2: do { - // call emphasis, line 250 - if (!r_emphasis()) - { break lab2; + } + cursor = limit - v_7; } - } while (false); - cursor = limit - v_3; - // do, line 251 - v_4 = limit - cursor; - lab3: do { - // call verb, line 251 - if (!r_verb()) - { - break lab3; - } - } while (false); + slice_del(); + } + break lab1; + } cursor = limit - v_4; - // try, line 252 - v_5 = limit - cursor; - lab4: do { - // (, line 252 - // not, line 252 - lab5: do { - // Boolean test is_verb, line 252 - if (!(B_is_verb)) - { - break lab5; - } - cursor = limit - v_5; - break lab4; - } while (false); - // do, line 252 - v_7 = limit - cursor; - lab6: do { - // call substantive, line 252 - if (!r_substantive()) - { - break lab6; - } - } while (false); - cursor = limit - v_7; - } while (false); - // do, line 253 - v_8 = limit - cursor; - lab7: do { - // call remove_double_kpt, line 253 - if (!r_remove_double_kpt()) + { + int v_8 = limit - cursor; + lab8: { + if (!(eq_s_b("t"))) { - break lab7; + break lab8; } - } while (false); - cursor = limit - v_8; - cursor = limit_backward; return true; - } + return false; + } + cursor = limit - v_8; + } + slice_from("t"); + } + break; + case 4: + lab9: { + int v_9 = limit - cursor; + lab10: { + if (!(in_grouping_b(g_RV, 97, 117))) + { + break lab10; + } + break lab9; + } + cursor = limit - v_9; + if (!r_LONGV()) + { + return false; + } + } + slice_del(); + break; + } + return true; +} - public boolean equals( Object o ) { - return o instanceof EstonianStemmer; - } +private boolean r_double() { + int v_1 = limit - cursor; + if (find_among_b(a_7) == 0) + { + return false; + } + cursor = limit - v_1; + return true; +} - public int hashCode() { - return EstonianStemmer.class.getName().hashCode(); +private boolean r_undouble() { + if (cursor <= limit_backward) + { + return false; + } + cursor--; + ket = cursor; + { + int c = cursor - 1; + if (limit_backward > c || c > limit) + { + return false; } + cursor = c; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_nu() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_8) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + slice_del(); + return true; +} + +private boolean r_remove_double_kpt() { + if (!(in_grouping_b(g_V1, 97, 252))) + { + return false; + } + int v_1 = limit - cursor; + if (!r_double()) + { + return false; + } + cursor = limit - v_1; + if (!r_undouble()) + { + return false; + } + return true; +} + +private boolean r_degrees() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_9); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + if (!(in_grouping_b(g_RV, 97, 117))) + { + return false; + } + slice_del(); + break; + case 2: + slice_del(); + break; + } + return true; +} + +private boolean r_substantive() { + int v_1 = limit - cursor; + r_special_noun_endings(); + cursor = limit - v_1; + int v_2 = limit - cursor; + r_case_ending(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_plural_three_first_cases(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_degrees(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_i_plural(); + cursor = limit - v_5; + int v_6 = limit - cursor; + r_nu(); + cursor = limit - v_6; + return true; +} + +private boolean r_verb_exceptions() { + int among_var; + bra = cursor; + among_var = find_among(a_10); + if (among_var == 0) + { + return false; + } + ket = cursor; + if (cursor < limit) + { + return false; + } + switch (among_var) { + case 1: + slice_from("joo"); + break; + case 2: + slice_from("saa"); + break; + case 3: + slice_from("viima"); + break; + case 4: + slice_from("keesi"); + break; + case 5: + slice_from("l\u00F6\u00F6"); + break; + case 6: + slice_from("l\u00F6i"); + break; + case 7: + slice_from("loo"); + break; + case 8: + slice_from("k\u00E4isi"); + break; + case 9: + slice_from("s\u00F6\u00F6"); + break; + case 10: + slice_from("too"); + break; + case 11: + slice_from("v\u00F5isi"); + break; + case 12: + slice_from("j\u00E4\u00E4ma"); + break; + case 13: + slice_from("m\u00FC\u00FCsi"); + break; + case 14: + slice_from("luge"); + break; + case 15: + slice_from("p\u00F5de"); + break; + case 16: + slice_from("ladu"); + break; + case 17: + slice_from("tegi"); + break; + case 18: + slice_from("n\u00E4gi"); + break; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + { + int v_2 = cursor; + lab0: { + if (!r_verb_exceptions()) + { + break lab0; + } + return false; + } + cursor = v_2; + } + B_is_verb = false; + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + r_emphasis(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_verb(); + cursor = limit - v_4; + int v_5 = limit - cursor; + lab1: { + lab2: { + if (!(B_is_verb)) + { + break lab2; + } + cursor = limit - v_5; + break lab1; + } + r_substantive(); + } + int v_8 = limit - cursor; + r_remove_double_kpt(); + cursor = limit - v_8; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof EstonianStemmer; +} + +@Override +public int hashCode() { + return EstonianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FinnishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FinnishStemmer.java index dea6b315035..039d872425b 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FinnishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FinnishStemmer.java @@ -1,1052 +1,740 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class FinnishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class FinnishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("pa", -1, 1), + new Among("sti", -1, 2), + new Among("kaan", -1, 1), + new Among("han", -1, 1), + new Among("kin", -1, 1), + new Among("h\u00E4n", -1, 1), + new Among("k\u00E4\u00E4n", -1, 1), + new Among("ko", -1, 1), + new Among("p\u00E4", -1, 1), + new Among("k\u00F6", -1, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("lla", -1, -1), + new Among("na", -1, -1), + new Among("ssa", -1, -1), + new Among("ta", -1, -1), + new Among("lta", 3, -1), + new Among("sta", 3, -1) +}; - private final static Among a_0[] = { - new Among ( "pa", -1, 1, "", methodObject ), - new Among ( "sti", -1, 2, "", methodObject ), - new Among ( "kaan", -1, 1, "", methodObject ), - new Among ( "han", -1, 1, "", methodObject ), - new Among ( "kin", -1, 1, "", methodObject ), - new Among ( "h\u00E4n", -1, 1, "", methodObject ), - new Among ( "k\u00E4\u00E4n", -1, 1, "", methodObject ), - new Among ( "ko", -1, 1, "", methodObject ), - new Among ( "p\u00E4", -1, 1, "", methodObject ), - new Among ( "k\u00F6", -1, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ll\u00E4", -1, -1), + new Among("n\u00E4", -1, -1), + new Among("ss\u00E4", -1, -1), + new Among("t\u00E4", -1, -1), + new Among("lt\u00E4", 3, -1), + new Among("st\u00E4", 3, -1) +}; - private final static Among a_1[] = { - new Among ( "lla", -1, -1, "", methodObject ), - new Among ( "na", -1, -1, "", methodObject ), - new Among ( "ssa", -1, -1, "", methodObject ), - new Among ( "ta", -1, -1, "", methodObject ), - new Among ( "lta", 3, -1, "", methodObject ), - new Among ( "sta", 3, -1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("lle", -1, -1), + new Among("ine", -1, -1) +}; - private final static Among a_2[] = { - new Among ( "ll\u00E4", -1, -1, "", methodObject ), - new Among ( "n\u00E4", -1, -1, "", methodObject ), - new Among ( "ss\u00E4", -1, -1, "", methodObject ), - new Among ( "t\u00E4", -1, -1, "", methodObject ), - new Among ( "lt\u00E4", 3, -1, "", methodObject ), - new Among ( "st\u00E4", 3, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("nsa", -1, 3), + new Among("mme", -1, 3), + new Among("nne", -1, 3), + new Among("ni", -1, 2), + new Among("si", -1, 1), + new Among("an", -1, 4), + new Among("en", -1, 6), + new Among("\u00E4n", -1, 5), + new Among("ns\u00E4", -1, 3) +}; - private final static Among a_3[] = { - new Among ( "lle", -1, -1, "", methodObject ), - new Among ( "ine", -1, -1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("aa", -1, -1), + new Among("ee", -1, -1), + new Among("ii", -1, -1), + new Among("oo", -1, -1), + new Among("uu", -1, -1), + new Among("\u00E4\u00E4", -1, -1), + new Among("\u00F6\u00F6", -1, -1) +}; - private final static Among a_4[] = { - new Among ( "nsa", -1, 3, "", methodObject ), - new Among ( "mme", -1, 3, "", methodObject ), - new Among ( "nne", -1, 3, "", methodObject ), - new Among ( "ni", -1, 2, "", methodObject ), - new Among ( "si", -1, 1, "", methodObject ), - new Among ( "an", -1, 4, "", methodObject ), - new Among ( "en", -1, 6, "", methodObject ), - new Among ( "\u00E4n", -1, 5, "", methodObject ), - new Among ( "ns\u00E4", -1, 3, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("a", -1, 8), + new Among("lla", 0, -1), + new Among("na", 0, -1), + new Among("ssa", 0, -1), + new Among("ta", 0, -1), + new Among("lta", 4, -1), + new Among("sta", 4, -1), + new Among("tta", 4, 2), + new Among("lle", -1, -1), + new Among("ine", -1, -1), + new Among("ksi", -1, -1), + new Among("n", -1, 7), + new Among("han", 11, 1), + new Among("den", 11, -1, "r_VI", methodObject), + new Among("seen", 11, -1, "r_LONG", methodObject), + new Among("hen", 11, 2), + new Among("tten", 11, -1, "r_VI", methodObject), + new Among("hin", 11, 3), + new Among("siin", 11, -1, "r_VI", methodObject), + new Among("hon", 11, 4), + new Among("h\u00E4n", 11, 5), + new Among("h\u00F6n", 11, 6), + new Among("\u00E4", -1, 8), + new Among("ll\u00E4", 22, -1), + new Among("n\u00E4", 22, -1), + new Among("ss\u00E4", 22, -1), + new Among("t\u00E4", 22, -1), + new Among("lt\u00E4", 26, -1), + new Among("st\u00E4", 26, -1), + new Among("tt\u00E4", 26, 2) +}; - private final static Among a_5[] = { - new Among ( "aa", -1, -1, "", methodObject ), - new Among ( "ee", -1, -1, "", methodObject ), - new Among ( "ii", -1, -1, "", methodObject ), - new Among ( "oo", -1, -1, "", methodObject ), - new Among ( "uu", -1, -1, "", methodObject ), - new Among ( "\u00E4\u00E4", -1, -1, "", methodObject ), - new Among ( "\u00F6\u00F6", -1, -1, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("eja", -1, -1), + new Among("mma", -1, 1), + new Among("imma", 1, -1), + new Among("mpa", -1, 1), + new Among("impa", 3, -1), + new Among("mmi", -1, 1), + new Among("immi", 5, -1), + new Among("mpi", -1, 1), + new Among("impi", 7, -1), + new Among("ej\u00E4", -1, -1), + new Among("mm\u00E4", -1, 1), + new Among("imm\u00E4", 10, -1), + new Among("mp\u00E4", -1, 1), + new Among("imp\u00E4", 12, -1) +}; - private final static Among a_6[] = { - new Among ( "a", -1, 8, "", methodObject ), - new Among ( "lla", 0, -1, "", methodObject ), - new Among ( "na", 0, -1, "", methodObject ), - new Among ( "ssa", 0, -1, "", methodObject ), - new Among ( "ta", 0, -1, "", methodObject ), - new Among ( "lta", 4, -1, "", methodObject ), - new Among ( "sta", 4, -1, "", methodObject ), - new Among ( "tta", 4, 9, "", methodObject ), - new Among ( "lle", -1, -1, "", methodObject ), - new Among ( "ine", -1, -1, "", methodObject ), - new Among ( "ksi", -1, -1, "", methodObject ), - new Among ( "n", -1, 7, "", methodObject ), - new Among ( "han", 11, 1, "", methodObject ), - new Among ( "den", 11, -1, "r_VI", methodObject ), - new Among ( "seen", 11, -1, "r_LONG", methodObject ), - new Among ( "hen", 11, 2, "", methodObject ), - new Among ( "tten", 11, -1, "r_VI", methodObject ), - new Among ( "hin", 11, 3, "", methodObject ), - new Among ( "siin", 11, -1, "r_VI", methodObject ), - new Among ( "hon", 11, 4, "", methodObject ), - new Among ( "h\u00E4n", 11, 5, "", methodObject ), - new Among ( "h\u00F6n", 11, 6, "", methodObject ), - new Among ( "\u00E4", -1, 8, "", methodObject ), - new Among ( "ll\u00E4", 22, -1, "", methodObject ), - new Among ( "n\u00E4", 22, -1, "", methodObject ), - new Among ( "ss\u00E4", 22, -1, "", methodObject ), - new Among ( "t\u00E4", 22, -1, "", methodObject ), - new Among ( "lt\u00E4", 26, -1, "", methodObject ), - new Among ( "st\u00E4", 26, -1, "", methodObject ), - new Among ( "tt\u00E4", 26, 9, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("i", -1, -1), + new Among("j", -1, -1) +}; - private final static Among a_7[] = { - new Among ( "eja", -1, -1, "", methodObject ), - new Among ( "mma", -1, 1, "", methodObject ), - new Among ( "imma", 1, -1, "", methodObject ), - new Among ( "mpa", -1, 1, "", methodObject ), - new Among ( "impa", 3, -1, "", methodObject ), - new Among ( "mmi", -1, 1, "", methodObject ), - new Among ( "immi", 5, -1, "", methodObject ), - new Among ( "mpi", -1, 1, "", methodObject ), - new Among ( "impi", 7, -1, "", methodObject ), - new Among ( "ej\u00E4", -1, -1, "", methodObject ), - new Among ( "mm\u00E4", -1, 1, "", methodObject ), - new Among ( "imm\u00E4", 10, -1, "", methodObject ), - new Among ( "mp\u00E4", -1, 1, "", methodObject ), - new Among ( "imp\u00E4", 12, -1, "", methodObject ) - }; +private final static Among a_9[] = { + new Among("mma", -1, 1), + new Among("imma", 0, -1) +}; - private final static Among a_8[] = { - new Among ( "i", -1, -1, "", methodObject ), - new Among ( "j", -1, -1, "", methodObject ) - }; +private static final char g_AEI[] = {17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 }; - private final static Among a_9[] = { - new Among ( "mma", -1, 1, "", methodObject ), - new Among ( "imma", 0, -1, "", methodObject ) - }; +private static final char g_C[] = {119, 223, 119, 1 }; - private static final char g_AEI[] = {17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 }; +private static final char g_V1[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; - private static final char g_V1[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; +private static final char g_V2[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; - private static final char g_V2[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; +private static final char g_particle_end[] = {17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; - private static final char g_particle_end[] = {17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; +private boolean B_ending_removed; +private java.lang.StringBuilder S_x = new java.lang.StringBuilder(); +private int I_p2; +private int I_p1; - private boolean B_ending_removed; - private java.lang.StringBuilder S_x = new java.lang.StringBuilder(); - private int I_p2; - private int I_p1; - private void copy_from(FinnishStemmer other) { - B_ending_removed = other.B_ending_removed; - S_x = other.S_x; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + golab0: while(true) + { + int v_1 = cursor; + lab1: { + if (!(in_grouping(g_V1, 97, 246))) + { + break lab1; + } + cursor = v_1; + break golab0; + } + cursor = v_1; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_V1, 97, 246))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + golab4: while(true) + { + int v_3 = cursor; + lab5: { + if (!(in_grouping(g_V1, 97, 246))) + { + break lab5; + } + cursor = v_3; + break golab4; + } + cursor = v_3; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab6: while(true) + { + lab7: { + if (!(out_grouping(g_V1, 97, 246))) + { + break lab7; + } + break golab6; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p2 = cursor; + return true; +} - private boolean r_mark_regions() { - int v_1; - int v_3; - // (, line 41 - I_p1 = limit; - I_p2 = limit; - // goto, line 46 - golab0: while(true) - { - v_1 = cursor; - lab1: do { - if (!(in_grouping(g_V1, 97, 246))) - { - break lab1; - } - cursor = v_1; - break golab0; - } while (false); - cursor = v_1; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 46 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_V1, 97, 246))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 46 - I_p1 = cursor; - // goto, line 47 - golab4: while(true) - { - v_3 = cursor; - lab5: do { - if (!(in_grouping(g_V1, 97, 246))) - { - break lab5; - } - cursor = v_3; - break golab4; - } while (false); - cursor = v_3; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 47 - golab6: while(true) - { - lab7: do { - if (!(out_grouping(g_V1, 97, 246))) - { - break lab7; - } - break golab6; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p2, line 47 - I_p2 = cursor; - return true; - } +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } +private boolean r_particle_etc() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + if (!(in_grouping_b(g_particle_end, 97, 246))) + { + return false; + } + break; + case 2: + if (!r_R2()) + { + return false; + } + break; + } + slice_del(); + return true; +} - private boolean r_particle_etc() { - int among_var; - int v_1; - int v_2; - // (, line 54 - // setlimit, line 55 - v_1 = limit - cursor; - // tomark, line 55 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 55 - // [, line 55 - ket = cursor; - // substring, line 55 - among_var = find_among_b(a_0, 10); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 55 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 62 - if (!(in_grouping_b(g_particle_end, 97, 246))) - { - return false; - } - break; - case 2: - // (, line 64 - // call R2, line 64 - if (!r_R2()) - { - return false; - } - break; - } - // delete, line 66 - slice_del(); - return true; - } - - private boolean r_possessive() { - int among_var; - int v_1; - int v_2; - int v_3; - // (, line 68 - // setlimit, line 69 - v_1 = limit - cursor; - // tomark, line 69 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 69 - // [, line 69 - ket = cursor; - // substring, line 69 - among_var = find_among_b(a_4, 9); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 69 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 72 - // not, line 72 - { - v_3 = limit - cursor; - lab0: do { - // literal, line 72 - if (!(eq_s_b(1, "k"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_3; - } - // delete, line 72 - slice_del(); - break; - case 2: - // (, line 74 - // delete, line 74 - slice_del(); - // [, line 74 - ket = cursor; - // literal, line 74 - if (!(eq_s_b(3, "kse"))) - { - return false; - } - // ], line 74 - bra = cursor; - // <-, line 74 - slice_from("ksi"); - break; - case 3: - // (, line 78 - // delete, line 78 - slice_del(); - break; - case 4: - // (, line 81 - // among, line 81 - if (find_among_b(a_1, 6) == 0) - { - return false; - } - // delete, line 81 - slice_del(); - break; - case 5: - // (, line 83 - // among, line 83 - if (find_among_b(a_2, 6) == 0) - { - return false; - } - // delete, line 84 - slice_del(); - break; - case 6: - // (, line 86 - // among, line 86 - if (find_among_b(a_3, 2) == 0) - { - return false; - } - // delete, line 86 - slice_del(); - break; - } - return true; - } - - private boolean r_LONG() { - // among, line 91 - if (find_among_b(a_5, 7) == 0) - { - return false; - } - return true; - } - - private boolean r_VI() { - // (, line 93 - // literal, line 93 - if (!(eq_s_b(1, "i"))) - { - return false; - } - if (!(in_grouping_b(g_V2, 97, 246))) - { - return false; - } - return true; - } - - private boolean r_case_ending() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 95 - // setlimit, line 96 - v_1 = limit - cursor; - // tomark, line 96 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 96 - // [, line 96 - ket = cursor; - // substring, line 96 - among_var = find_among_b(a_6, 30); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 96 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 98 - // literal, line 98 - if (!(eq_s_b(1, "a"))) - { - return false; - } - break; - case 2: - // (, line 99 - // literal, line 99 - if (!(eq_s_b(1, "e"))) - { - return false; - } - break; - case 3: - // (, line 100 - // literal, line 100 - if (!(eq_s_b(1, "i"))) - { - return false; - } - break; - case 4: - // (, line 101 - // literal, line 101 - if (!(eq_s_b(1, "o"))) - { - return false; - } - break; - case 5: - // (, line 102 - // literal, line 102 - if (!(eq_s_b(1, "\u00E4"))) - { - return false; - } - break; - case 6: - // (, line 103 - // literal, line 103 - if (!(eq_s_b(1, "\u00F6"))) - { - return false; - } - break; - case 7: - // (, line 111 - // try, line 111 - v_3 = limit - cursor; - lab0: do { - // (, line 111 - // and, line 113 - v_4 = limit - cursor; - // or, line 112 - lab1: do { - v_5 = limit - cursor; - lab2: do { - // call LONG, line 111 - if (!r_LONG()) - { - break lab2; - } - break lab1; - } while (false); - cursor = limit - v_5; - // literal, line 112 - if (!(eq_s_b(2, "ie"))) - { - cursor = limit - v_3; - break lab0; - } - } while (false); - cursor = limit - v_4; - // next, line 113 - if (cursor <= limit_backward) - { - cursor = limit - v_3; - break lab0; - } - cursor--; - // ], line 113 - bra = cursor; - } while (false); - break; - case 8: - // (, line 119 - if (!(in_grouping_b(g_V1, 97, 246))) - { - return false; - } - if (!(out_grouping_b(g_V1, 97, 246))) - { - return false; - } - break; - case 9: - // (, line 121 - // literal, line 121 - if (!(eq_s_b(1, "e"))) - { - return false; - } - break; - } - // delete, line 138 - slice_del(); - // set ending_removed, line 139 - B_ending_removed = true; - return true; - } - - private boolean r_other_endings() { - int among_var; - int v_1; - int v_2; - int v_3; - // (, line 141 - // setlimit, line 142 - v_1 = limit - cursor; - // tomark, line 142 - if (cursor < I_p2) - { - return false; - } - cursor = I_p2; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 142 - // [, line 142 - ket = cursor; - // substring, line 142 - among_var = find_among_b(a_7, 14); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 142 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 146 - // not, line 146 - { - v_3 = limit - cursor; - lab0: do { - // literal, line 146 - if (!(eq_s_b(2, "po"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_3; - } - break; - } - // delete, line 151 - slice_del(); - return true; - } - - private boolean r_i_plural() { - int v_1; - int v_2; - // (, line 153 - // setlimit, line 154 - v_1 = limit - cursor; - // tomark, line 154 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 154 - // [, line 154 - ket = cursor; - // substring, line 154 - if (find_among_b(a_8, 2) == 0) - { - limit_backward = v_2; - return false; - } - // ], line 154 - bra = cursor; - limit_backward = v_2; - // delete, line 158 - slice_del(); - return true; - } - - private boolean r_t_plural() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 160 - // setlimit, line 161 - v_1 = limit - cursor; - // tomark, line 161 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 161 - // [, line 162 - ket = cursor; - // literal, line 162 - if (!(eq_s_b(1, "t"))) - { - limit_backward = v_2; - return false; - } - // ], line 162 - bra = cursor; - // test, line 162 - v_3 = limit - cursor; - if (!(in_grouping_b(g_V1, 97, 246))) - { - limit_backward = v_2; - return false; - } - cursor = limit - v_3; - // delete, line 163 - slice_del(); - limit_backward = v_2; - // setlimit, line 165 - v_4 = limit - cursor; - // tomark, line 165 - if (cursor < I_p2) - { - return false; - } - cursor = I_p2; - v_5 = limit_backward; - limit_backward = cursor; - cursor = limit - v_4; - // (, line 165 - // [, line 165 - ket = cursor; - // substring, line 165 - among_var = find_among_b(a_9, 2); - if (among_var == 0) - { - limit_backward = v_5; - return false; - } - // ], line 165 - bra = cursor; - limit_backward = v_5; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 167 - // not, line 167 - { - v_6 = limit - cursor; - lab0: do { - // literal, line 167 - if (!(eq_s_b(2, "po"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_6; - } - break; - } - // delete, line 170 - slice_del(); - return true; - } - - private boolean r_tidy() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - // (, line 172 - // setlimit, line 173 - v_1 = limit - cursor; - // tomark, line 173 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 173 - // do, line 174 - v_3 = limit - cursor; - lab0: do { - // (, line 174 - // and, line 174 - v_4 = limit - cursor; - // call LONG, line 174 - if (!r_LONG()) - { - break lab0; - } - cursor = limit - v_4; - // (, line 174 - // [, line 174 - ket = cursor; - // next, line 174 - if (cursor <= limit_backward) - { - break lab0; - } - cursor--; - // ], line 174 - bra = cursor; - // delete, line 174 - slice_del(); - } while (false); - cursor = limit - v_3; - // do, line 175 - v_5 = limit - cursor; - lab1: do { - // (, line 175 - // [, line 175 - ket = cursor; - if (!(in_grouping_b(g_AEI, 97, 228))) - { - break lab1; - } - // ], line 175 - bra = cursor; - if (!(out_grouping_b(g_V1, 97, 246))) - { - break lab1; - } - // delete, line 175 - slice_del(); - } while (false); - cursor = limit - v_5; - // do, line 176 - v_6 = limit - cursor; - lab2: do { - // (, line 176 - // [, line 176 - ket = cursor; - // literal, line 176 - if (!(eq_s_b(1, "j"))) - { - break lab2; - } - // ], line 176 - bra = cursor; - // or, line 176 - lab3: do { - v_7 = limit - cursor; - lab4: do { - // literal, line 176 - if (!(eq_s_b(1, "o"))) - { - break lab4; - } - break lab3; - } while (false); - cursor = limit - v_7; - // literal, line 176 - if (!(eq_s_b(1, "u"))) - { - break lab2; - } - } while (false); - // delete, line 176 - slice_del(); - } while (false); - cursor = limit - v_6; - // do, line 177 - v_8 = limit - cursor; - lab5: do { - // (, line 177 - // [, line 177 - ket = cursor; - // literal, line 177 - if (!(eq_s_b(1, "o"))) - { - break lab5; - } - // ], line 177 - bra = cursor; - // literal, line 177 - if (!(eq_s_b(1, "j"))) - { - break lab5; - } - // delete, line 177 - slice_del(); - } while (false); - cursor = limit - v_8; - limit_backward = v_2; - // goto, line 179 - golab6: while(true) - { - v_9 = limit - cursor; - lab7: do { - if (!(out_grouping_b(g_V1, 97, 246))) - { - break lab7; - } - cursor = limit - v_9; - break golab6; - } while (false); - cursor = limit - v_9; - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - // [, line 179 - ket = cursor; - // next, line 179 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 179 - bra = cursor; - // -> x, line 179 - S_x = slice_to(S_x); - // name x, line 179 - if (!(eq_v_b(S_x))) - { - return false; - } - // delete, line 179 - slice_del(); - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - // (, line 183 - // do, line 185 - v_1 = cursor; - lab0: do { - // call mark_regions, line 185 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // unset ending_removed, line 186 - B_ending_removed = false; - // backwards, line 187 - limit_backward = cursor; cursor = limit; - // (, line 187 - // do, line 188 - v_2 = limit - cursor; - lab1: do { - // call particle_etc, line 188 - if (!r_particle_etc()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 189 - v_3 = limit - cursor; - lab2: do { - // call possessive, line 189 - if (!r_possessive()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 190 - v_4 = limit - cursor; - lab3: do { - // call case_ending, line 190 - if (!r_case_ending()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 191 - v_5 = limit - cursor; - lab4: do { - // call other_endings, line 191 - if (!r_other_endings()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - // or, line 192 - lab5: do { - v_6 = limit - cursor; - lab6: do { - // (, line 192 - // Boolean test ending_removed, line 192 - if (!(B_ending_removed)) - { - break lab6; - } - // do, line 192 - v_7 = limit - cursor; - lab7: do { - // call i_plural, line 192 - if (!r_i_plural()) - { - break lab7; - } - } while (false); - cursor = limit - v_7; - break lab5; - } while (false); - cursor = limit - v_6; - // do, line 192 - v_8 = limit - cursor; - lab8: do { - // call t_plural, line 192 - if (!r_t_plural()) - { - break lab8; - } - } while (false); - cursor = limit - v_8; - } while (false); - // do, line 193 - v_9 = limit - cursor; - lab9: do { - // call tidy, line 193 - if (!r_tidy()) - { - break lab9; - } - } while (false); - cursor = limit - v_9; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof FinnishStemmer; +private boolean r_possessive() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + { + int v_3 = limit - cursor; + lab0: { + if (!(eq_s_b("k"))) + { + break lab0; + } + return false; } + cursor = limit - v_3; + } + slice_del(); + break; + case 2: + slice_del(); + ket = cursor; + if (!(eq_s_b("kse"))) + { + return false; + } + bra = cursor; + slice_from("ksi"); + break; + case 3: + slice_del(); + break; + case 4: + if (find_among_b(a_1) == 0) + { + return false; + } + slice_del(); + break; + case 5: + if (find_among_b(a_2) == 0) + { + return false; + } + slice_del(); + break; + case 6: + if (find_among_b(a_3) == 0) + { + return false; + } + slice_del(); + break; + } + return true; +} - @Override - public int hashCode() { - return FinnishStemmer.class.getName().hashCode(); +public boolean r_LONG() { + if (find_among_b(a_5) == 0) + { + return false; + } + return true; +} + +public boolean r_VI() { + if (!(eq_s_b("i"))) + { + return false; + } + if (!(in_grouping_b(g_V2, 97, 246))) + { + return false; + } + return true; +} + +private boolean r_case_ending() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + if (!(eq_s_b("a"))) + { + return false; + } + break; + case 2: + if (!(eq_s_b("e"))) + { + return false; + } + break; + case 3: + if (!(eq_s_b("i"))) + { + return false; + } + break; + case 4: + if (!(eq_s_b("o"))) + { + return false; + } + break; + case 5: + if (!(eq_s_b("\u00E4"))) + { + return false; + } + break; + case 6: + if (!(eq_s_b("\u00F6"))) + { + return false; + } + break; + case 7: + int v_3 = limit - cursor; + lab0: { + int v_4 = limit - cursor; + lab1: { + int v_5 = limit - cursor; + lab2: { + if (!r_LONG()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_5; + if (!(eq_s_b("ie"))) + { + cursor = limit - v_3; + break lab0; + } } + cursor = limit - v_4; + if (cursor <= limit_backward) + { + cursor = limit - v_3; + break lab0; + } + cursor--; + bra = cursor; + } + break; + case 8: + if (!(in_grouping_b(g_V1, 97, 246))) + { + return false; + } + if (!(in_grouping_b(g_C, 98, 122))) + { + return false; + } + break; + } + slice_del(); + B_ending_removed = true; + return true; +} + +private boolean r_other_endings() { + int among_var; + if (cursor < I_p2) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p2; + ket = cursor; + among_var = find_among_b(a_7); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + { + int v_3 = limit - cursor; + lab0: { + if (!(eq_s_b("po"))) + { + break lab0; + } + return false; + } + cursor = limit - v_3; + } + break; + } + slice_del(); + return true; +} + +private boolean r_i_plural() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_8) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + slice_del(); + return true; +} + +private boolean r_t_plural() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (!(eq_s_b("t"))) + { + limit_backward = v_2; + return false; + } + bra = cursor; + int v_3 = limit - cursor; + if (!(in_grouping_b(g_V1, 97, 246))) + { + limit_backward = v_2; + return false; + } + cursor = limit - v_3; + slice_del(); + limit_backward = v_2; + if (cursor < I_p2) + { + return false; + } + int v_5 = limit_backward; + limit_backward = I_p2; + ket = cursor; + among_var = find_among_b(a_9); + if (among_var == 0) + { + limit_backward = v_5; + return false; + } + bra = cursor; + limit_backward = v_5; + switch (among_var) { + case 1: + { + int v_6 = limit - cursor; + lab0: { + if (!(eq_s_b("po"))) + { + break lab0; + } + return false; + } + cursor = limit - v_6; + } + break; + } + slice_del(); + return true; +} + +private boolean r_tidy() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + int v_3 = limit - cursor; + lab0: { + int v_4 = limit - cursor; + if (!r_LONG()) + { + break lab0; + } + cursor = limit - v_4; + ket = cursor; + if (cursor <= limit_backward) + { + break lab0; + } + cursor--; + bra = cursor; + slice_del(); + } + cursor = limit - v_3; + int v_5 = limit - cursor; + lab1: { + ket = cursor; + if (!(in_grouping_b(g_AEI, 97, 228))) + { + break lab1; + } + bra = cursor; + if (!(in_grouping_b(g_C, 98, 122))) + { + break lab1; + } + slice_del(); + } + cursor = limit - v_5; + int v_6 = limit - cursor; + lab2: { + ket = cursor; + if (!(eq_s_b("j"))) + { + break lab2; + } + bra = cursor; + lab3: { + int v_7 = limit - cursor; + lab4: { + if (!(eq_s_b("o"))) + { + break lab4; + } + break lab3; + } + cursor = limit - v_7; + if (!(eq_s_b("u"))) + { + break lab2; + } + } + slice_del(); + } + cursor = limit - v_6; + int v_8 = limit - cursor; + lab5: { + ket = cursor; + if (!(eq_s_b("o"))) + { + break lab5; + } + bra = cursor; + if (!(eq_s_b("j"))) + { + break lab5; + } + slice_del(); + } + cursor = limit - v_8; + limit_backward = v_2; + golab6: while(true) + { + int v_9 = limit - cursor; + lab7: { + if (!(out_grouping_b(g_V1, 97, 246))) + { + break lab7; + } + cursor = limit - v_9; + break golab6; + } + cursor = limit - v_9; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + ket = cursor; + if (!(in_grouping_b(g_C, 98, 122))) + { + return false; + } + bra = cursor; + slice_to(S_x); + if (!(eq_s_b(S_x))) + { + return false; + } + slice_del(); + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + B_ending_removed = false; + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_particle_etc(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_possessive(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_case_ending(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_other_endings(); + cursor = limit - v_5; + lab0: { + lab1: { + if (!(B_ending_removed)) + { + break lab1; + } + int v_7 = limit - cursor; + r_i_plural(); + cursor = limit - v_7; + break lab0; + } + int v_8 = limit - cursor; + r_t_plural(); + cursor = limit - v_8; + } + int v_9 = limit - cursor; + r_tidy(); + cursor = limit - v_9; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof FinnishStemmer; +} + +@Override +public int hashCode() { + return FinnishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FrenchStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FrenchStemmer.java index c0f2b3a15b3..69f697f34d0 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FrenchStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/FrenchStemmer.java @@ -1,1519 +1,1158 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class FrenchStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class FrenchStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("col", -1, -1), + new Among("par", -1, -1), + new Among("tap", -1, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 7), + new Among("H", 0, 6), + new Among("He", 1, 4), + new Among("Hi", 1, 5), + new Among("I", 0, 1), + new Among("U", 0, 2), + new Among("Y", 0, 3) +}; - private final static Among a_0[] = { - new Among ( "col", -1, -1, "", methodObject ), - new Among ( "par", -1, -1, "", methodObject ), - new Among ( "tap", -1, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("iqU", -1, 3), + new Among("abl", -1, 3), + new Among("I\u00E8r", -1, 4), + new Among("i\u00E8r", -1, 4), + new Among("eus", -1, 2), + new Among("iv", -1, 1) +}; - private final static Among a_1[] = { - new Among ( "", -1, 4, "", methodObject ), - new Among ( "I", 0, 1, "", methodObject ), - new Among ( "U", 0, 2, "", methodObject ), - new Among ( "Y", 0, 3, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ic", -1, 2), + new Among("abil", -1, 1), + new Among("iv", -1, 3) +}; - private final static Among a_2[] = { - new Among ( "iqU", -1, 3, "", methodObject ), - new Among ( "abl", -1, 3, "", methodObject ), - new Among ( "I\u00E8r", -1, 4, "", methodObject ), - new Among ( "i\u00E8r", -1, 4, "", methodObject ), - new Among ( "eus", -1, 2, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("iqUe", -1, 1), + new Among("atrice", -1, 2), + new Among("ance", -1, 1), + new Among("ence", -1, 5), + new Among("logie", -1, 3), + new Among("able", -1, 1), + new Among("isme", -1, 1), + new Among("euse", -1, 11), + new Among("iste", -1, 1), + new Among("ive", -1, 8), + new Among("if", -1, 8), + new Among("usion", -1, 4), + new Among("ation", -1, 2), + new Among("ution", -1, 4), + new Among("ateur", -1, 2), + new Among("iqUes", -1, 1), + new Among("atrices", -1, 2), + new Among("ances", -1, 1), + new Among("ences", -1, 5), + new Among("logies", -1, 3), + new Among("ables", -1, 1), + new Among("ismes", -1, 1), + new Among("euses", -1, 11), + new Among("istes", -1, 1), + new Among("ives", -1, 8), + new Among("ifs", -1, 8), + new Among("usions", -1, 4), + new Among("ations", -1, 2), + new Among("utions", -1, 4), + new Among("ateurs", -1, 2), + new Among("ments", -1, 15), + new Among("ements", 30, 6), + new Among("issements", 31, 12), + new Among("it\u00E9s", -1, 7), + new Among("ment", -1, 15), + new Among("ement", 34, 6), + new Among("issement", 35, 12), + new Among("amment", 34, 13), + new Among("emment", 34, 14), + new Among("aux", -1, 10), + new Among("eaux", 39, 9), + new Among("eux", -1, 1), + new Among("it\u00E9", -1, 7) +}; - private final static Among a_3[] = { - new Among ( "ic", -1, 2, "", methodObject ), - new Among ( "abil", -1, 1, "", methodObject ), - new Among ( "iv", -1, 3, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ira", -1, 1), + new Among("ie", -1, 1), + new Among("isse", -1, 1), + new Among("issante", -1, 1), + new Among("i", -1, 1), + new Among("irai", 4, 1), + new Among("ir", -1, 1), + new Among("iras", -1, 1), + new Among("ies", -1, 1), + new Among("\u00EEmes", -1, 1), + new Among("isses", -1, 1), + new Among("issantes", -1, 1), + new Among("\u00EEtes", -1, 1), + new Among("is", -1, 1), + new Among("irais", 13, 1), + new Among("issais", 13, 1), + new Among("irions", -1, 1), + new Among("issions", -1, 1), + new Among("irons", -1, 1), + new Among("issons", -1, 1), + new Among("issants", -1, 1), + new Among("it", -1, 1), + new Among("irait", 21, 1), + new Among("issait", 21, 1), + new Among("issant", -1, 1), + new Among("iraIent", -1, 1), + new Among("issaIent", -1, 1), + new Among("irent", -1, 1), + new Among("issent", -1, 1), + new Among("iront", -1, 1), + new Among("\u00EEt", -1, 1), + new Among("iriez", -1, 1), + new Among("issiez", -1, 1), + new Among("irez", -1, 1), + new Among("issez", -1, 1) +}; - private final static Among a_4[] = { - new Among ( "iqUe", -1, 1, "", methodObject ), - new Among ( "atrice", -1, 2, "", methodObject ), - new Among ( "ance", -1, 1, "", methodObject ), - new Among ( "ence", -1, 5, "", methodObject ), - new Among ( "logie", -1, 3, "", methodObject ), - new Among ( "able", -1, 1, "", methodObject ), - new Among ( "isme", -1, 1, "", methodObject ), - new Among ( "euse", -1, 11, "", methodObject ), - new Among ( "iste", -1, 1, "", methodObject ), - new Among ( "ive", -1, 8, "", methodObject ), - new Among ( "if", -1, 8, "", methodObject ), - new Among ( "usion", -1, 4, "", methodObject ), - new Among ( "ation", -1, 2, "", methodObject ), - new Among ( "ution", -1, 4, "", methodObject ), - new Among ( "ateur", -1, 2, "", methodObject ), - new Among ( "iqUes", -1, 1, "", methodObject ), - new Among ( "atrices", -1, 2, "", methodObject ), - new Among ( "ances", -1, 1, "", methodObject ), - new Among ( "ences", -1, 5, "", methodObject ), - new Among ( "logies", -1, 3, "", methodObject ), - new Among ( "ables", -1, 1, "", methodObject ), - new Among ( "ismes", -1, 1, "", methodObject ), - new Among ( "euses", -1, 11, "", methodObject ), - new Among ( "istes", -1, 1, "", methodObject ), - new Among ( "ives", -1, 8, "", methodObject ), - new Among ( "ifs", -1, 8, "", methodObject ), - new Among ( "usions", -1, 4, "", methodObject ), - new Among ( "ations", -1, 2, "", methodObject ), - new Among ( "utions", -1, 4, "", methodObject ), - new Among ( "ateurs", -1, 2, "", methodObject ), - new Among ( "ments", -1, 15, "", methodObject ), - new Among ( "ements", 30, 6, "", methodObject ), - new Among ( "issements", 31, 12, "", methodObject ), - new Among ( "it\u00E9s", -1, 7, "", methodObject ), - new Among ( "ment", -1, 15, "", methodObject ), - new Among ( "ement", 34, 6, "", methodObject ), - new Among ( "issement", 35, 12, "", methodObject ), - new Among ( "amment", 34, 13, "", methodObject ), - new Among ( "emment", 34, 14, "", methodObject ), - new Among ( "aux", -1, 10, "", methodObject ), - new Among ( "eaux", 39, 9, "", methodObject ), - new Among ( "eux", -1, 1, "", methodObject ), - new Among ( "it\u00E9", -1, 7, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("a", -1, 3), + new Among("era", 0, 2), + new Among("asse", -1, 3), + new Among("ante", -1, 3), + new Among("\u00E9e", -1, 2), + new Among("ai", -1, 3), + new Among("erai", 5, 2), + new Among("er", -1, 2), + new Among("as", -1, 3), + new Among("eras", 8, 2), + new Among("\u00E2mes", -1, 3), + new Among("asses", -1, 3), + new Among("antes", -1, 3), + new Among("\u00E2tes", -1, 3), + new Among("\u00E9es", -1, 2), + new Among("ais", -1, 3), + new Among("erais", 15, 2), + new Among("ions", -1, 1), + new Among("erions", 17, 2), + new Among("assions", 17, 3), + new Among("erons", -1, 2), + new Among("ants", -1, 3), + new Among("\u00E9s", -1, 2), + new Among("ait", -1, 3), + new Among("erait", 23, 2), + new Among("ant", -1, 3), + new Among("aIent", -1, 3), + new Among("eraIent", 26, 2), + new Among("\u00E8rent", -1, 2), + new Among("assent", -1, 3), + new Among("eront", -1, 2), + new Among("\u00E2t", -1, 3), + new Among("ez", -1, 2), + new Among("iez", 32, 2), + new Among("eriez", 33, 2), + new Among("assiez", 33, 3), + new Among("erez", 32, 2), + new Among("\u00E9", -1, 2) +}; - private final static Among a_5[] = { - new Among ( "ira", -1, 1, "", methodObject ), - new Among ( "ie", -1, 1, "", methodObject ), - new Among ( "isse", -1, 1, "", methodObject ), - new Among ( "issante", -1, 1, "", methodObject ), - new Among ( "i", -1, 1, "", methodObject ), - new Among ( "irai", 4, 1, "", methodObject ), - new Among ( "ir", -1, 1, "", methodObject ), - new Among ( "iras", -1, 1, "", methodObject ), - new Among ( "ies", -1, 1, "", methodObject ), - new Among ( "\u00EEmes", -1, 1, "", methodObject ), - new Among ( "isses", -1, 1, "", methodObject ), - new Among ( "issantes", -1, 1, "", methodObject ), - new Among ( "\u00EEtes", -1, 1, "", methodObject ), - new Among ( "is", -1, 1, "", methodObject ), - new Among ( "irais", 13, 1, "", methodObject ), - new Among ( "issais", 13, 1, "", methodObject ), - new Among ( "irions", -1, 1, "", methodObject ), - new Among ( "issions", -1, 1, "", methodObject ), - new Among ( "irons", -1, 1, "", methodObject ), - new Among ( "issons", -1, 1, "", methodObject ), - new Among ( "issants", -1, 1, "", methodObject ), - new Among ( "it", -1, 1, "", methodObject ), - new Among ( "irait", 21, 1, "", methodObject ), - new Among ( "issait", 21, 1, "", methodObject ), - new Among ( "issant", -1, 1, "", methodObject ), - new Among ( "iraIent", -1, 1, "", methodObject ), - new Among ( "issaIent", -1, 1, "", methodObject ), - new Among ( "irent", -1, 1, "", methodObject ), - new Among ( "issent", -1, 1, "", methodObject ), - new Among ( "iront", -1, 1, "", methodObject ), - new Among ( "\u00EEt", -1, 1, "", methodObject ), - new Among ( "iriez", -1, 1, "", methodObject ), - new Among ( "issiez", -1, 1, "", methodObject ), - new Among ( "irez", -1, 1, "", methodObject ), - new Among ( "issez", -1, 1, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("e", -1, 3), + new Among("I\u00E8re", 0, 2), + new Among("i\u00E8re", 0, 2), + new Among("ion", -1, 1), + new Among("Ier", -1, 2), + new Among("ier", -1, 2) +}; - private final static Among a_6[] = { - new Among ( "a", -1, 3, "", methodObject ), - new Among ( "era", 0, 2, "", methodObject ), - new Among ( "asse", -1, 3, "", methodObject ), - new Among ( "ante", -1, 3, "", methodObject ), - new Among ( "\u00E9e", -1, 2, "", methodObject ), - new Among ( "ai", -1, 3, "", methodObject ), - new Among ( "erai", 5, 2, "", methodObject ), - new Among ( "er", -1, 2, "", methodObject ), - new Among ( "as", -1, 3, "", methodObject ), - new Among ( "eras", 8, 2, "", methodObject ), - new Among ( "\u00E2mes", -1, 3, "", methodObject ), - new Among ( "asses", -1, 3, "", methodObject ), - new Among ( "antes", -1, 3, "", methodObject ), - new Among ( "\u00E2tes", -1, 3, "", methodObject ), - new Among ( "\u00E9es", -1, 2, "", methodObject ), - new Among ( "ais", -1, 3, "", methodObject ), - new Among ( "erais", 15, 2, "", methodObject ), - new Among ( "ions", -1, 1, "", methodObject ), - new Among ( "erions", 17, 2, "", methodObject ), - new Among ( "assions", 17, 3, "", methodObject ), - new Among ( "erons", -1, 2, "", methodObject ), - new Among ( "ants", -1, 3, "", methodObject ), - new Among ( "\u00E9s", -1, 2, "", methodObject ), - new Among ( "ait", -1, 3, "", methodObject ), - new Among ( "erait", 23, 2, "", methodObject ), - new Among ( "ant", -1, 3, "", methodObject ), - new Among ( "aIent", -1, 3, "", methodObject ), - new Among ( "eraIent", 26, 2, "", methodObject ), - new Among ( "\u00E8rent", -1, 2, "", methodObject ), - new Among ( "assent", -1, 3, "", methodObject ), - new Among ( "eront", -1, 2, "", methodObject ), - new Among ( "\u00E2t", -1, 3, "", methodObject ), - new Among ( "ez", -1, 2, "", methodObject ), - new Among ( "iez", 32, 2, "", methodObject ), - new Among ( "eriez", 33, 2, "", methodObject ), - new Among ( "assiez", 33, 3, "", methodObject ), - new Among ( "erez", 32, 2, "", methodObject ), - new Among ( "\u00E9", -1, 2, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("ell", -1, -1), + new Among("eill", -1, -1), + new Among("enn", -1, -1), + new Among("onn", -1, -1), + new Among("ett", -1, -1) +}; - private final static Among a_7[] = { - new Among ( "e", -1, 3, "", methodObject ), - new Among ( "I\u00E8re", 0, 2, "", methodObject ), - new Among ( "i\u00E8re", 0, 2, "", methodObject ), - new Among ( "ion", -1, 1, "", methodObject ), - new Among ( "Ier", -1, 2, "", methodObject ), - new Among ( "ier", -1, 2, "", methodObject ), - new Among ( "\u00EB", -1, 4, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 }; - private final static Among a_8[] = { - new Among ( "ell", -1, -1, "", methodObject ), - new Among ( "eill", -1, -1, "", methodObject ), - new Among ( "enn", -1, -1, "", methodObject ), - new Among ( "onn", -1, -1, "", methodObject ), - new Among ( "ett", -1, -1, "", methodObject ) - }; +private static final char g_keep_with_s[] = {1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_keep_with_s[] = {1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(FrenchStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); +private boolean r_prelude() { + while(true) + { + int v_1 = cursor; + lab0: { + golab1: while(true) + { + int v_2 = cursor; + lab2: { + lab3: { + int v_3 = cursor; + lab4: { + if (!(in_grouping(g_v, 97, 251))) + { + break lab4; + } + bra = cursor; + lab5: { + int v_4 = cursor; + lab6: { + if (!(eq_s("u"))) + { + break lab6; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab6; + } + slice_from("U"); + break lab5; } - - private boolean r_prelude() { - int v_1; - int v_2; - int v_3; - int v_4; - // repeat, line 38 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // goto, line 38 - golab2: while(true) - { - v_2 = cursor; - lab3: do { - // (, line 38 - // or, line 44 - lab4: do { - v_3 = cursor; - lab5: do { - // (, line 40 - if (!(in_grouping(g_v, 97, 251))) - { - break lab5; - } - // [, line 40 - bra = cursor; - // or, line 40 - lab6: do { - v_4 = cursor; - lab7: do { - // (, line 40 - // literal, line 40 - if (!(eq_s(1, "u"))) - { - break lab7; - } - // ], line 40 - ket = cursor; - if (!(in_grouping(g_v, 97, 251))) - { - break lab7; - } - // <-, line 40 - slice_from("U"); - break lab6; - } while (false); - cursor = v_4; - lab8: do { - // (, line 41 - // literal, line 41 - if (!(eq_s(1, "i"))) - { - break lab8; - } - // ], line 41 - ket = cursor; - if (!(in_grouping(g_v, 97, 251))) - { - break lab8; - } - // <-, line 41 - slice_from("I"); - break lab6; - } while (false); - cursor = v_4; - // (, line 42 - // literal, line 42 - if (!(eq_s(1, "y"))) - { - break lab5; - } - // ], line 42 - ket = cursor; - // <-, line 42 - slice_from("Y"); - } while (false); - break lab4; - } while (false); - cursor = v_3; - lab9: do { - // (, line 45 - // [, line 45 - bra = cursor; - // literal, line 45 - if (!(eq_s(1, "y"))) - { - break lab9; - } - // ], line 45 - ket = cursor; - if (!(in_grouping(g_v, 97, 251))) - { - break lab9; - } - // <-, line 45 - slice_from("Y"); - break lab4; - } while (false); - cursor = v_3; - // (, line 47 - // literal, line 47 - if (!(eq_s(1, "q"))) - { - break lab3; - } - // [, line 47 - bra = cursor; - // literal, line 47 - if (!(eq_s(1, "u"))) - { - break lab3; - } - // ], line 47 - ket = cursor; - // <-, line 47 - slice_from("U"); - } while (false); - cursor = v_2; - break golab2; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; + cursor = v_4; + lab7: { + if (!(eq_s("i"))) + { + break lab7; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab7; + } + slice_from("I"); + break lab5; } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_4; - // (, line 50 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 56 - v_1 = cursor; - lab0: do { - // (, line 56 - // or, line 58 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 57 - if (!(in_grouping(g_v, 97, 251))) - { - break lab2; - } - if (!(in_grouping(g_v, 97, 251))) - { - break lab2; - } - // next, line 57 - if (cursor >= limit) - { - break lab2; - } - cursor++; - break lab1; - } while (false); - cursor = v_2; - lab3: do { - // among, line 59 - if (find_among(a_0, 3) == 0) - { - break lab3; - } - break lab1; - } while (false); - cursor = v_2; - // (, line 66 - // next, line 66 - if (cursor >= limit) - { - break lab0; - } - cursor++; - // gopast, line 66 - golab4: while(true) - { - lab5: do { - if (!(in_grouping(g_v, 97, 251))) - { - break lab5; - } - break golab4; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - } while (false); - // setmark pV, line 67 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 69 - v_4 = cursor; - lab6: do { - // (, line 69 - // gopast, line 70 - golab7: while(true) - { - lab8: do { - if (!(in_grouping(g_v, 97, 251))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // gopast, line 70 - golab9: while(true) - { - lab10: do { - if (!(out_grouping(g_v, 97, 251))) - { - break lab10; - } - break golab9; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // setmark p1, line 70 - I_p1 = cursor; - // gopast, line 71 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 251))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // gopast, line 71 - golab13: while(true) - { - lab14: do { - if (!(out_grouping(g_v, 97, 251))) - { - break lab14; - } - break golab13; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // setmark p2, line 71 - I_p2 = cursor; - } while (false); - cursor = v_4; - return true; + cursor = v_4; + if (!(eq_s("y"))) + { + break lab4; } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 75 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 75 - // [, line 77 - bra = cursor; - // substring, line 77 - among_var = find_among(a_1, 4); - if (among_var == 0) - { - break lab1; - } - // ], line 77 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 78 - // <-, line 78 - slice_from("i"); - break; - case 2: - // (, line 79 - // <-, line 79 - slice_from("u"); - break; - case 3: - // (, line 80 - // <-, line 80 - slice_from("y"); - break; - case 4: - // (, line 81 - // next, line 81 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - // (, line 91 - // [, line 92 - ket = cursor; - // substring, line 92 - among_var = find_among_b(a_4, 43); - if (among_var == 0) - { - return false; - } - // ], line 92 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 96 - // call R2, line 96 - if (!r_R2()) - { - return false; - } - // delete, line 96 - slice_del(); - break; - case 2: - // (, line 99 - // call R2, line 99 - if (!r_R2()) - { - return false; - } - // delete, line 99 - slice_del(); - // try, line 100 - v_1 = limit - cursor; - lab0: do { - // (, line 100 - // [, line 100 - ket = cursor; - // literal, line 100 - if (!(eq_s_b(2, "ic"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 100 - bra = cursor; - // or, line 100 - lab1: do { - v_2 = limit - cursor; - lab2: do { - // (, line 100 - // call R2, line 100 - if (!r_R2()) - { - break lab2; - } - // delete, line 100 - slice_del(); - break lab1; - } while (false); - cursor = limit - v_2; - // <-, line 100 - slice_from("iqU"); - } while (false); - } while (false); - break; - case 3: - // (, line 104 - // call R2, line 104 - if (!r_R2()) - { - return false; - } - // <-, line 104 - slice_from("log"); - break; - case 4: - // (, line 107 - // call R2, line 107 - if (!r_R2()) - { - return false; - } - // <-, line 107 - slice_from("u"); - break; - case 5: - // (, line 110 - // call R2, line 110 - if (!r_R2()) - { - return false; - } - // <-, line 110 - slice_from("ent"); - break; - case 6: - // (, line 113 - // call RV, line 114 - if (!r_RV()) - { - return false; - } - // delete, line 114 - slice_del(); - // try, line 115 - v_3 = limit - cursor; - lab3: do { - // (, line 115 - // [, line 116 - ket = cursor; - // substring, line 116 - among_var = find_among_b(a_2, 6); - if (among_var == 0) - { - cursor = limit - v_3; - break lab3; - } - // ], line 116 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_3; - break lab3; - case 1: - // (, line 117 - // call R2, line 117 - if (!r_R2()) - { - cursor = limit - v_3; - break lab3; - } - // delete, line 117 - slice_del(); - // [, line 117 - ket = cursor; - // literal, line 117 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_3; - break lab3; - } - // ], line 117 - bra = cursor; - // call R2, line 117 - if (!r_R2()) - { - cursor = limit - v_3; - break lab3; - } - // delete, line 117 - slice_del(); - break; - case 2: - // (, line 118 - // or, line 118 - lab4: do { - v_4 = limit - cursor; - lab5: do { - // (, line 118 - // call R2, line 118 - if (!r_R2()) - { - break lab5; - } - // delete, line 118 - slice_del(); - break lab4; - } while (false); - cursor = limit - v_4; - // (, line 118 - // call R1, line 118 - if (!r_R1()) - { - cursor = limit - v_3; - break lab3; - } - // <-, line 118 - slice_from("eux"); - } while (false); - break; - case 3: - // (, line 120 - // call R2, line 120 - if (!r_R2()) - { - cursor = limit - v_3; - break lab3; - } - // delete, line 120 - slice_del(); - break; - case 4: - // (, line 122 - // call RV, line 122 - if (!r_RV()) - { - cursor = limit - v_3; - break lab3; - } - // <-, line 122 - slice_from("i"); - break; - } - } while (false); - break; - case 7: - // (, line 128 - // call R2, line 129 - if (!r_R2()) - { - return false; - } - // delete, line 129 - slice_del(); - // try, line 130 - v_5 = limit - cursor; - lab6: do { - // (, line 130 - // [, line 131 - ket = cursor; - // substring, line 131 - among_var = find_among_b(a_3, 3); - if (among_var == 0) - { - cursor = limit - v_5; - break lab6; - } - // ], line 131 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_5; - break lab6; - case 1: - // (, line 132 - // or, line 132 - lab7: do { - v_6 = limit - cursor; - lab8: do { - // (, line 132 - // call R2, line 132 - if (!r_R2()) - { - break lab8; - } - // delete, line 132 - slice_del(); - break lab7; - } while (false); - cursor = limit - v_6; - // <-, line 132 - slice_from("abl"); - } while (false); - break; - case 2: - // (, line 133 - // or, line 133 - lab9: do { - v_7 = limit - cursor; - lab10: do { - // (, line 133 - // call R2, line 133 - if (!r_R2()) - { - break lab10; - } - // delete, line 133 - slice_del(); - break lab9; - } while (false); - cursor = limit - v_7; - // <-, line 133 - slice_from("iqU"); - } while (false); - break; - case 3: - // (, line 134 - // call R2, line 134 - if (!r_R2()) - { - cursor = limit - v_5; - break lab6; - } - // delete, line 134 - slice_del(); - break; - } - } while (false); - break; - case 8: - // (, line 140 - // call R2, line 141 - if (!r_R2()) - { - return false; - } - // delete, line 141 - slice_del(); - // try, line 142 - v_8 = limit - cursor; - lab11: do { - // (, line 142 - // [, line 142 - ket = cursor; - // literal, line 142 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_8; - break lab11; - } - // ], line 142 - bra = cursor; - // call R2, line 142 - if (!r_R2()) - { - cursor = limit - v_8; - break lab11; - } - // delete, line 142 - slice_del(); - // [, line 142 - ket = cursor; - // literal, line 142 - if (!(eq_s_b(2, "ic"))) - { - cursor = limit - v_8; - break lab11; - } - // ], line 142 - bra = cursor; - // or, line 142 - lab12: do { - v_9 = limit - cursor; - lab13: do { - // (, line 142 - // call R2, line 142 - if (!r_R2()) - { - break lab13; - } - // delete, line 142 - slice_del(); - break lab12; - } while (false); - cursor = limit - v_9; - // <-, line 142 - slice_from("iqU"); - } while (false); - } while (false); - break; - case 9: - // (, line 144 - // <-, line 144 - slice_from("eau"); - break; - case 10: - // (, line 145 - // call R1, line 145 - if (!r_R1()) - { - return false; - } - // <-, line 145 - slice_from("al"); - break; - case 11: - // (, line 147 - // or, line 147 - lab14: do { - v_10 = limit - cursor; - lab15: do { - // (, line 147 - // call R2, line 147 - if (!r_R2()) - { - break lab15; - } - // delete, line 147 - slice_del(); - break lab14; - } while (false); - cursor = limit - v_10; - // (, line 147 - // call R1, line 147 - if (!r_R1()) - { - return false; - } - // <-, line 147 - slice_from("eux"); - } while (false); - break; - case 12: - // (, line 150 - // call R1, line 150 - if (!r_R1()) - { - return false; - } - if (!(out_grouping_b(g_v, 97, 251))) - { - return false; - } - // delete, line 150 - slice_del(); - break; - case 13: - // (, line 155 - // call RV, line 155 - if (!r_RV()) - { - return false; - } - // fail, line 155 - // (, line 155 - // <-, line 155 - slice_from("ant"); - return false; - case 14: - // (, line 156 - // call RV, line 156 - if (!r_RV()) - { - return false; - } - // fail, line 156 - // (, line 156 - // <-, line 156 - slice_from("ent"); - return false; - case 15: - // (, line 158 - // test, line 158 - v_11 = limit - cursor; - // (, line 158 - if (!(in_grouping_b(g_v, 97, 251))) - { - return false; - } - // call RV, line 158 - if (!r_RV()) - { - return false; - } - cursor = limit - v_11; - // fail, line 158 - // (, line 158 - // delete, line 158 - slice_del(); - return false; - } - return true; - } - - private boolean r_i_verb_suffix() { - int among_var; - int v_1; - int v_2; - // setlimit, line 163 - v_1 = limit - cursor; - // tomark, line 163 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 163 - // [, line 164 - ket = cursor; - // substring, line 164 - among_var = find_among_b(a_5, 35); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 164 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 170 - if (!(out_grouping_b(g_v, 97, 251))) - { - limit_backward = v_2; - return false; - } - // delete, line 170 - slice_del(); - break; - } - limit_backward = v_2; - return true; - } - - private boolean r_verb_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - // setlimit, line 174 - v_1 = limit - cursor; - // tomark, line 174 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 174 - // [, line 175 - ket = cursor; - // substring, line 175 - among_var = find_among_b(a_6, 38); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 175 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 177 - // call R2, line 177 - if (!r_R2()) - { - limit_backward = v_2; - return false; - } - // delete, line 177 - slice_del(); - break; - case 2: - // (, line 185 - // delete, line 185 - slice_del(); - break; - case 3: - // (, line 190 - // delete, line 190 - slice_del(); - // try, line 191 - v_3 = limit - cursor; - lab0: do { - // (, line 191 - // [, line 191 - ket = cursor; - // literal, line 191 - if (!(eq_s_b(1, "e"))) - { - cursor = limit - v_3; - break lab0; - } - // ], line 191 - bra = cursor; - // delete, line 191 - slice_del(); - } while (false); - break; - } - limit_backward = v_2; - return true; - } - - private boolean r_residual_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 198 - // try, line 199 - v_1 = limit - cursor; - lab0: do { - // (, line 199 - // [, line 199 - ket = cursor; - // literal, line 199 - if (!(eq_s_b(1, "s"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 199 - bra = cursor; - // test, line 199 - v_2 = limit - cursor; - if (!(out_grouping_b(g_keep_with_s, 97, 232))) - { - cursor = limit - v_1; - break lab0; - } - cursor = limit - v_2; - // delete, line 199 - slice_del(); - } while (false); - // setlimit, line 200 - v_3 = limit - cursor; - // tomark, line 200 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_4 = limit_backward; - limit_backward = cursor; - cursor = limit - v_3; - // (, line 200 - // [, line 201 - ket = cursor; - // substring, line 201 - among_var = find_among_b(a_7, 7); - if (among_var == 0) - { - limit_backward = v_4; - return false; - } - // ], line 201 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_4; - return false; - case 1: - // (, line 202 - // call R2, line 202 - if (!r_R2()) - { - limit_backward = v_4; - return false; - } - // or, line 202 - lab1: do { - v_5 = limit - cursor; - lab2: do { - // literal, line 202 - if (!(eq_s_b(1, "s"))) - { - break lab2; - } - break lab1; - } while (false); - cursor = limit - v_5; - // literal, line 202 - if (!(eq_s_b(1, "t"))) - { - limit_backward = v_4; - return false; - } - } while (false); - // delete, line 202 - slice_del(); - break; - case 2: - // (, line 204 - // <-, line 204 - slice_from("i"); - break; - case 3: - // (, line 205 - // delete, line 205 - slice_del(); - break; - case 4: - // (, line 206 - // literal, line 206 - if (!(eq_s_b(2, "gu"))) - { - limit_backward = v_4; - return false; - } - // delete, line 206 - slice_del(); - break; - } - limit_backward = v_4; - return true; - } - - private boolean r_un_double() { - int v_1; - // (, line 211 - // test, line 212 - v_1 = limit - cursor; - // among, line 212 - if (find_among_b(a_8, 5) == 0) - { - return false; - } - cursor = limit - v_1; - // [, line 212 - ket = cursor; - // next, line 212 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 212 - bra = cursor; - // delete, line 212 - slice_del(); - return true; - } - - private boolean r_un_accent() { - int v_3; - // (, line 215 - // atleast, line 216 - { - int v_1 = 1; - // atleast, line 216 - replab0: while(true) - { - lab1: do { - if (!(out_grouping_b(g_v, 97, 251))) - { - break lab1; - } - v_1--; - continue replab0; - } while (false); - break replab0; - } - if (v_1 > 0) - { - return false; - } - } - // [, line 217 - ket = cursor; - // or, line 217 - lab2: do { - v_3 = limit - cursor; - lab3: do { - // literal, line 217 - if (!(eq_s_b(1, "\u00E9"))) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_3; - // literal, line 217 - if (!(eq_s_b(1, "\u00E8"))) - { - return false; - } - } while (false); - // ], line 217 - bra = cursor; - // <-, line 217 - slice_from("e"); - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - // (, line 221 - // do, line 223 - v_1 = cursor; - lab0: do { - // call prelude, line 223 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 224 - v_2 = cursor; - lab1: do { - // call mark_regions, line 224 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 225 - limit_backward = cursor; cursor = limit; - // (, line 225 - // do, line 227 - v_3 = limit - cursor; - lab2: do { - // (, line 227 - // or, line 237 - lab3: do { - v_4 = limit - cursor; - lab4: do { - // (, line 228 - // and, line 233 - v_5 = limit - cursor; - // (, line 229 - // or, line 229 - lab5: do { - v_6 = limit - cursor; - lab6: do { - // call standard_suffix, line 229 - if (!r_standard_suffix()) - { - break lab6; - } - break lab5; - } while (false); - cursor = limit - v_6; - lab7: do { - // call i_verb_suffix, line 230 - if (!r_i_verb_suffix()) - { - break lab7; - } - break lab5; - } while (false); - cursor = limit - v_6; - // call verb_suffix, line 231 - if (!r_verb_suffix()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - // try, line 234 - v_7 = limit - cursor; - lab8: do { - // (, line 234 - // [, line 234 - ket = cursor; - // or, line 234 - lab9: do { - v_8 = limit - cursor; - lab10: do { - // (, line 234 - // literal, line 234 - if (!(eq_s_b(1, "Y"))) - { - break lab10; - } - // ], line 234 - bra = cursor; - // <-, line 234 - slice_from("i"); - break lab9; - } while (false); - cursor = limit - v_8; - // (, line 235 - // literal, line 235 - if (!(eq_s_b(1, "\u00E7"))) - { - cursor = limit - v_7; - break lab8; - } - // ], line 235 - bra = cursor; - // <-, line 235 - slice_from("c"); - } while (false); - } while (false); - break lab3; - } while (false); - cursor = limit - v_4; - // call residual_suffix, line 238 - if (!r_residual_suffix()) - { - break lab2; - } - } while (false); - } while (false); - cursor = limit - v_3; - // do, line 243 - v_9 = limit - cursor; - lab11: do { - // call un_double, line 243 - if (!r_un_double()) - { - break lab11; - } - } while (false); - cursor = limit - v_9; - // do, line 244 - v_10 = limit - cursor; - lab12: do { - // call un_accent, line 244 - if (!r_un_accent()) - { - break lab12; - } - } while (false); - cursor = limit - v_10; - cursor = limit_backward; // do, line 246 - v_11 = cursor; - lab13: do { - // call postlude, line 246 - if (!r_postlude()) - { - break lab13; - } - } while (false); - cursor = v_11; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof FrenchStemmer; + ket = cursor; + slice_from("Y"); + } + break lab3; + } + cursor = v_3; + lab8: { + bra = cursor; + if (!(eq_s("\u00EB"))) + { + break lab8; + } + ket = cursor; + slice_from("He"); + break lab3; + } + cursor = v_3; + lab9: { + bra = cursor; + if (!(eq_s("\u00EF"))) + { + break lab9; + } + ket = cursor; + slice_from("Hi"); + break lab3; + } + cursor = v_3; + lab10: { + bra = cursor; + if (!(eq_s("y"))) + { + break lab10; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab10; + } + slice_from("Y"); + break lab3; + } + cursor = v_3; + if (!(eq_s("q"))) + { + break lab2; + } + bra = cursor; + if (!(eq_s("u"))) + { + break lab2; + } + ket = cursor; + slice_from("U"); + } + cursor = v_2; + break golab1; } - - @Override - public int hashCode() { - return FrenchStemmer.class.getName().hashCode(); + cursor = v_2; + if (cursor >= limit) + { + break lab0; } + cursor++; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 251))) + { + break lab2; + } + if (!(in_grouping(g_v, 97, 251))) + { + break lab2; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + break lab1; + } + cursor = v_2; + lab3: { + if (find_among(a_0) == 0) + { + break lab3; + } + break lab1; + } + cursor = v_2; + if (cursor >= limit) + { + break lab0; + } + cursor++; + golab4: while(true) + { + lab5: { + if (!(in_grouping(g_v, 97, 251))) + { + break lab5; + } + break golab4; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_4 = cursor; + lab6: { + golab7: while(true) + { + lab8: { + if (!(in_grouping(g_v, 97, 251))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + golab9: while(true) + { + lab10: { + if (!(out_grouping(g_v, 97, 251))) + { + break lab10; + } + break golab9; + } + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + I_p1 = cursor; + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 251))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + golab13: while(true) + { + lab14: { + if (!(out_grouping(g_v, 97, 251))) + { + break lab14; + } + break golab13; + } + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_4; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_1); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("i"); + break; + case 2: + slice_from("u"); + break; + case 3: + slice_from("y"); + break; + case 4: + slice_from("\u00EB"); + break; + case 5: + slice_from("\u00EF"); + break; + case 6: + slice_del(); + break; + case 7: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("ic"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + lab1: { + int v_2 = limit - cursor; + lab2: { + if (!r_R2()) + { + break lab2; + } + slice_del(); + break lab1; + } + cursor = limit - v_2; + slice_from("iqU"); + } + } + break; + case 3: + if (!r_R2()) + { + return false; + } + slice_from("log"); + break; + case 4: + if (!r_R2()) + { + return false; + } + slice_from("u"); + break; + case 5: + if (!r_R2()) + { + return false; + } + slice_from("ent"); + break; + case 6: + if (!r_RV()) + { + return false; + } + slice_del(); + int v_3 = limit - cursor; + lab3: { + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + cursor = limit - v_3; + break lab3; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + slice_del(); + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_3; + break lab3; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + slice_del(); + break; + case 2: + lab4: { + int v_4 = limit - cursor; + lab5: { + if (!r_R2()) + { + break lab5; + } + slice_del(); + break lab4; + } + cursor = limit - v_4; + if (!r_R1()) + { + cursor = limit - v_3; + break lab3; + } + slice_from("eux"); + } + break; + case 3: + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + slice_del(); + break; + case 4: + if (!r_RV()) + { + cursor = limit - v_3; + break lab3; + } + slice_from("i"); + break; + } + } + break; + case 7: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_5 = limit - cursor; + lab6: { + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + cursor = limit - v_5; + break lab6; + } + bra = cursor; + switch (among_var) { + case 1: + lab7: { + int v_6 = limit - cursor; + lab8: { + if (!r_R2()) + { + break lab8; + } + slice_del(); + break lab7; + } + cursor = limit - v_6; + slice_from("abl"); + } + break; + case 2: + lab9: { + int v_7 = limit - cursor; + lab10: { + if (!r_R2()) + { + break lab10; + } + slice_del(); + break lab9; + } + cursor = limit - v_7; + slice_from("iqU"); + } + break; + case 3: + if (!r_R2()) + { + cursor = limit - v_5; + break lab6; + } + slice_del(); + break; + } + } + break; + case 8: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_8 = limit - cursor; + lab11: { + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_8; + break lab11; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_8; + break lab11; + } + slice_del(); + ket = cursor; + if (!(eq_s_b("ic"))) + { + cursor = limit - v_8; + break lab11; + } + bra = cursor; + lab12: { + int v_9 = limit - cursor; + lab13: { + if (!r_R2()) + { + break lab13; + } + slice_del(); + break lab12; + } + cursor = limit - v_9; + slice_from("iqU"); + } + } + break; + case 9: + slice_from("eau"); + break; + case 10: + if (!r_R1()) + { + return false; + } + slice_from("al"); + break; + case 11: + lab14: { + int v_10 = limit - cursor; + lab15: { + if (!r_R2()) + { + break lab15; + } + slice_del(); + break lab14; + } + cursor = limit - v_10; + if (!r_R1()) + { + return false; + } + slice_from("eux"); + } + break; + case 12: + if (!r_R1()) + { + return false; + } + if (!(out_grouping_b(g_v, 97, 251))) + { + return false; + } + slice_del(); + break; + case 13: + if (!r_RV()) + { + return false; + } + slice_from("ant"); + return false; + case 14: + if (!r_RV()) + { + return false; + } + slice_from("ent"); + return false; + case 15: + int v_11 = limit - cursor; + if (!(in_grouping_b(g_v, 97, 251))) + { + return false; + } + if (!r_RV()) + { + return false; + } + cursor = limit - v_11; + slice_del(); + return false; + } + return true; +} + +private boolean r_i_verb_suffix() { + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + if (find_among_b(a_5) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + { + int v_3 = limit - cursor; + lab0: { + if (!(eq_s_b("H"))) + { + break lab0; + } + limit_backward = v_2; + return false; + } + cursor = limit - v_3; + } + if (!(out_grouping_b(g_v, 97, 251))) + { + limit_backward = v_2; + return false; + } + slice_del(); + limit_backward = v_2; + return true; +} + +private boolean r_verb_suffix() { + int among_var; + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + limit_backward = v_2; + return false; + } + slice_del(); + break; + case 2: + slice_del(); + break; + case 3: + slice_del(); + int v_3 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("e"))) + { + cursor = limit - v_3; + break lab0; + } + bra = cursor; + slice_del(); + } + break; + } + limit_backward = v_2; + return true; +} + +private boolean r_residual_suffix() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("s"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + int v_2 = limit - cursor; + lab1: { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("Hi"))) + { + break lab2; + } + break lab1; + } + cursor = limit - v_3; + if (!(out_grouping_b(g_keep_with_s, 97, 232))) + { + cursor = limit - v_1; + break lab0; + } + } + cursor = limit - v_2; + slice_del(); + } + if (cursor < I_pV) + { + return false; + } + int v_5 = limit_backward; + limit_backward = I_pV; + ket = cursor; + among_var = find_among_b(a_7); + if (among_var == 0) + { + limit_backward = v_5; + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + limit_backward = v_5; + return false; + } + lab3: { + int v_6 = limit - cursor; + lab4: { + if (!(eq_s_b("s"))) + { + break lab4; + } + break lab3; + } + cursor = limit - v_6; + if (!(eq_s_b("t"))) + { + limit_backward = v_5; + return false; + } + } + slice_del(); + break; + case 2: + slice_from("i"); + break; + case 3: + slice_del(); + break; + } + limit_backward = v_5; + return true; +} + +private boolean r_un_double() { + int v_1 = limit - cursor; + if (find_among_b(a_8) == 0) + { + return false; + } + cursor = limit - v_1; + ket = cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + return true; +} + +private boolean r_un_accent() { + { + int v_1 = 1; + while(true) + { + lab0: { + if (!(out_grouping_b(g_v, 97, 251))) + { + break lab0; + } + v_1--; + continue; + } + break; + } + if (v_1 > 0) + { + return false; + } + } + ket = cursor; + lab1: { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("\u00E9"))) + { + break lab2; + } + break lab1; + } + cursor = limit - v_3; + if (!(eq_s_b("\u00E8"))) + { + return false; + } + } + bra = cursor; + slice_from("e"); + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + lab0: { + lab1: { + int v_4 = limit - cursor; + lab2: { + int v_5 = limit - cursor; + lab3: { + int v_6 = limit - cursor; + lab4: { + if (!r_standard_suffix()) + { + break lab4; + } + break lab3; + } + cursor = limit - v_6; + lab5: { + if (!r_i_verb_suffix()) + { + break lab5; + } + break lab3; + } + cursor = limit - v_6; + if (!r_verb_suffix()) + { + break lab2; + } + } + cursor = limit - v_5; + int v_7 = limit - cursor; + lab6: { + ket = cursor; + lab7: { + int v_8 = limit - cursor; + lab8: { + if (!(eq_s_b("Y"))) + { + break lab8; + } + bra = cursor; + slice_from("i"); + break lab7; + } + cursor = limit - v_8; + if (!(eq_s_b("\u00E7"))) + { + cursor = limit - v_7; + break lab6; + } + bra = cursor; + slice_from("c"); + } + } + break lab1; + } + cursor = limit - v_4; + if (!r_residual_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_3; + int v_9 = limit - cursor; + r_un_double(); + cursor = limit - v_9; + int v_10 = limit - cursor; + r_un_accent(); + cursor = limit - v_10; + cursor = limit_backward; + int v_11 = cursor; + r_postlude(); + cursor = v_11; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof FrenchStemmer; +} + +@Override +public int hashCode() { + return FrenchStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/German2Stemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/German2Stemmer.java index afce8baf9f7..55f5dd69b96 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/German2Stemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/German2Stemmer.java @@ -1,744 +1,559 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class German2Stemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class German2Stemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 6), + new Among("ae", 0, 2), + new Among("oe", 0, 3), + new Among("qu", 0, 5), + new Among("ue", 0, 4), + new Among("\u00DF", 0, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 5), + new Among("U", 0, 2), + new Among("Y", 0, 1), + new Among("\u00E4", 0, 3), + new Among("\u00F6", 0, 4), + new Among("\u00FC", 0, 2) +}; - private final static Among a_0[] = { - new Among ( "", -1, 6, "", methodObject ), - new Among ( "ae", 0, 2, "", methodObject ), - new Among ( "oe", 0, 3, "", methodObject ), - new Among ( "qu", 0, 5, "", methodObject ), - new Among ( "ue", 0, 4, "", methodObject ), - new Among ( "\u00DF", 0, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("e", -1, 2), + new Among("em", -1, 1), + new Among("en", -1, 2), + new Among("ern", -1, 1), + new Among("er", -1, 1), + new Among("s", -1, 3), + new Among("es", 5, 2) +}; - private final static Among a_1[] = { - new Among ( "", -1, 6, "", methodObject ), - new Among ( "U", 0, 2, "", methodObject ), - new Among ( "Y", 0, 1, "", methodObject ), - new Among ( "\u00E4", 0, 3, "", methodObject ), - new Among ( "\u00F6", 0, 4, "", methodObject ), - new Among ( "\u00FC", 0, 5, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("en", -1, 1), + new Among("er", -1, 1), + new Among("st", -1, 2), + new Among("est", 2, 1) +}; - private final static Among a_2[] = { - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "em", -1, 1, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "ern", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "es", 5, 1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ig", -1, 1), + new Among("lich", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "st", -1, 2, "", methodObject ), - new Among ( "est", 2, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("end", -1, 1), + new Among("ig", -1, 2), + new Among("ung", -1, 1), + new Among("lich", -1, 3), + new Among("isch", -1, 2), + new Among("ik", -1, 2), + new Among("heit", -1, 3), + new Among("keit", -1, 4) +}; - private final static Among a_4[] = { - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "lich", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 }; - private final static Among a_5[] = { - new Among ( "end", -1, 1, "", methodObject ), - new Among ( "ig", -1, 2, "", methodObject ), - new Among ( "ung", -1, 1, "", methodObject ), - new Among ( "lich", -1, 3, "", methodObject ), - new Among ( "isch", -1, 2, "", methodObject ), - new Among ( "ik", -1, 2, "", methodObject ), - new Among ( "heit", -1, 3, "", methodObject ), - new Among ( "keit", -1, 4, "", methodObject ) - }; +private static final char g_s_ending[] = {117, 30, 5 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 }; +private static final char g_st_ending[] = {117, 30, 4 }; - private static final char g_s_ending[] = {117, 30, 5 }; +private int I_x; +private int I_p2; +private int I_p1; - private static final char g_st_ending[] = {117, 30, 4 }; - private int I_x; - private int I_p2; - private int I_p1; - - private void copy_from(German2Stemmer other) { - I_x = other.I_x; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_prelude() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 28 - // test, line 30 - v_1 = cursor; - // repeat, line 30 - replab0: while(true) - { - v_2 = cursor; - lab1: do { - // goto, line 30 - golab2: while(true) - { - v_3 = cursor; - lab3: do { - // (, line 30 - if (!(in_grouping(g_v, 97, 252))) - { - break lab3; - } - // [, line 31 - bra = cursor; - // or, line 31 - lab4: do { - v_4 = cursor; - lab5: do { - // (, line 31 - // literal, line 31 - if (!(eq_s(1, "u"))) - { - break lab5; - } - // ], line 31 - ket = cursor; - if (!(in_grouping(g_v, 97, 252))) - { - break lab5; - } - // <-, line 31 - slice_from("U"); - break lab4; - } while (false); - cursor = v_4; - // (, line 32 - // literal, line 32 - if (!(eq_s(1, "y"))) - { - break lab3; - } - // ], line 32 - ket = cursor; - if (!(in_grouping(g_v, 97, 252))) - { - break lab3; - } - // <-, line 32 - slice_from("Y"); - } while (false); - cursor = v_3; - break golab2; - } while (false); - cursor = v_3; - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - continue replab0; - } while (false); - cursor = v_2; - break replab0; - } - cursor = v_1; - // repeat, line 35 - replab6: while(true) - { - v_5 = cursor; - lab7: do { - // (, line 35 - // [, line 36 - bra = cursor; - // substring, line 36 - among_var = find_among(a_0, 6); - if (among_var == 0) - { - break lab7; - } - // ], line 36 - ket = cursor; - switch(among_var) { - case 0: - break lab7; - case 1: - // (, line 37 - // <-, line 37 - slice_from("ss"); - break; - case 2: - // (, line 38 - // <-, line 38 - slice_from("\u00E4"); - break; - case 3: - // (, line 39 - // <-, line 39 - slice_from("\u00F6"); - break; - case 4: - // (, line 40 - // <-, line 40 - slice_from("\u00FC"); - break; - case 5: - // (, line 41 - // hop, line 41 - { - int c = cursor + 2; - if (0 > c || c > limit) - { - break lab7; - } - cursor = c; - } - break; - case 6: - // (, line 42 - // next, line 42 - if (cursor >= limit) - { - break lab7; - } - cursor++; - break; - } - continue replab6; - } while (false); - cursor = v_5; - break replab6; - } - return true; - } - - private boolean r_mark_regions() { - int v_1; - // (, line 48 - I_p1 = limit; - I_p2 = limit; - // test, line 53 - v_1 = cursor; - // (, line 53 - // hop, line 53 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - // setmark x, line 53 - I_x = cursor; - cursor = v_1; - // gopast, line 55 - golab0: while(true) - { - lab1: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab1; - } - break golab0; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 55 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 55 - I_p1 = cursor; - // try, line 56 - lab4: do { - // (, line 56 - if (!(I_p1 < I_x)) - { - break lab4; - } - I_p1 = I_x; - } while (false); - // gopast, line 57 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 57 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p2, line 57 - I_p2 = cursor; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 61 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 61 - // [, line 63 - bra = cursor; - // substring, line 63 - among_var = find_among(a_1, 6); - if (among_var == 0) - { - break lab1; - } - // ], line 63 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 64 - // <-, line 64 - slice_from("y"); - break; - case 2: - // (, line 65 - // <-, line 65 - slice_from("u"); - break; - case 3: - // (, line 66 - // <-, line 66 - slice_from("a"); - break; - case 4: - // (, line 67 - // <-, line 67 - slice_from("o"); - break; - case 5: - // (, line 68 - // <-, line 68 - slice_from("u"); - break; - case 6: - // (, line 69 - // next, line 69 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - // (, line 79 - // do, line 80 - v_1 = limit - cursor; - lab0: do { - // (, line 80 - // [, line 81 - ket = cursor; - // substring, line 81 - among_var = find_among_b(a_2, 7); - if (among_var == 0) - { - break lab0; - } - // ], line 81 - bra = cursor; - // call R1, line 81 - if (!r_R1()) - { - break lab0; - } - switch(among_var) { - case 0: - break lab0; - case 1: - // (, line 83 - // delete, line 83 - slice_del(); - break; - case 2: - // (, line 86 - if (!(in_grouping_b(g_s_ending, 98, 116))) - { - break lab0; - } - // delete, line 86 - slice_del(); - break; - } - } while (false); - cursor = limit - v_1; - // do, line 90 - v_2 = limit - cursor; - lab1: do { - // (, line 90 - // [, line 91 - ket = cursor; - // substring, line 91 - among_var = find_among_b(a_3, 4); - if (among_var == 0) - { - break lab1; - } - // ], line 91 - bra = cursor; - // call R1, line 91 - if (!r_R1()) - { - break lab1; - } - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 93 - // delete, line 93 - slice_del(); - break; - case 2: - // (, line 96 - if (!(in_grouping_b(g_st_ending, 98, 116))) - { - break lab1; - } - // hop, line 96 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - break lab1; - } - cursor = c; - } - // delete, line 96 - slice_del(); - break; - } - } while (false); - cursor = limit - v_2; - // do, line 100 - v_3 = limit - cursor; - lab2: do { - // (, line 100 - // [, line 101 - ket = cursor; - // substring, line 101 - among_var = find_among_b(a_5, 8); - if (among_var == 0) - { - break lab2; - } - // ], line 101 - bra = cursor; - // call R2, line 101 - if (!r_R2()) - { - break lab2; - } - switch(among_var) { - case 0: - break lab2; - case 1: - // (, line 103 - // delete, line 103 - slice_del(); - // try, line 104 - v_4 = limit - cursor; - lab3: do { - // (, line 104 - // [, line 104 - ket = cursor; - // literal, line 104 - if (!(eq_s_b(2, "ig"))) - { - cursor = limit - v_4; - break lab3; - } - // ], line 104 - bra = cursor; - // not, line 104 - { - v_5 = limit - cursor; - lab4: do { - // literal, line 104 - if (!(eq_s_b(1, "e"))) - { - break lab4; - } - cursor = limit - v_4; - break lab3; - } while (false); - cursor = limit - v_5; - } - // call R2, line 104 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 104 - slice_del(); - } while (false); - break; - case 2: - // (, line 107 - // not, line 107 - { - v_6 = limit - cursor; - lab5: do { - // literal, line 107 - if (!(eq_s_b(1, "e"))) - { - break lab5; - } - break lab2; - } while (false); - cursor = limit - v_6; - } - // delete, line 107 - slice_del(); - break; - case 3: - // (, line 110 - // delete, line 110 - slice_del(); - // try, line 111 - v_7 = limit - cursor; - lab6: do { - // (, line 111 - // [, line 112 - ket = cursor; - // or, line 112 - lab7: do { - v_8 = limit - cursor; - lab8: do { - // literal, line 112 - if (!(eq_s_b(2, "er"))) - { - break lab8; - } - break lab7; - } while (false); - cursor = limit - v_8; - // literal, line 112 - if (!(eq_s_b(2, "en"))) - { - cursor = limit - v_7; - break lab6; - } - } while (false); - // ], line 112 - bra = cursor; - // call R1, line 112 - if (!r_R1()) - { - cursor = limit - v_7; - break lab6; - } - // delete, line 112 - slice_del(); - } while (false); - break; - case 4: - // (, line 116 - // delete, line 116 - slice_del(); - // try, line 117 - v_9 = limit - cursor; - lab9: do { - // (, line 117 - // [, line 118 - ket = cursor; - // substring, line 118 - among_var = find_among_b(a_4, 2); - if (among_var == 0) - { - cursor = limit - v_9; - break lab9; - } - // ], line 118 - bra = cursor; - // call R2, line 118 - if (!r_R2()) - { - cursor = limit - v_9; - break lab9; - } - switch(among_var) { - case 0: - cursor = limit - v_9; - break lab9; - case 1: - // (, line 120 - // delete, line 120 - slice_del(); - break; - } - } while (false); - break; - } - } while (false); - cursor = limit - v_3; - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 130 - // do, line 131 - v_1 = cursor; - lab0: do { - // call prelude, line 131 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 132 - v_2 = cursor; - lab1: do { - // call mark_regions, line 132 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 133 - limit_backward = cursor; cursor = limit; - // do, line 134 - v_3 = limit - cursor; - lab2: do { - // call standard_suffix, line 134 - if (!r_standard_suffix()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - cursor = limit_backward; // do, line 135 - v_4 = cursor; - lab3: do { - // call postlude, line 135 - if (!r_postlude()) - { - break lab3; - } - } while (false); - cursor = v_4; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof German2Stemmer; +private boolean r_prelude() { + int among_var; + int v_1 = cursor; + while(true) + { + int v_2 = cursor; + lab0: { + golab1: while(true) + { + int v_3 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; + } + bra = cursor; + lab3: { + int v_4 = cursor; + lab4: { + if (!(eq_s("u"))) + { + break lab4; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) + { + break lab4; + } + slice_from("U"); + break lab3; + } + cursor = v_4; + if (!(eq_s("y"))) + { + break lab2; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; + } + slice_from("Y"); + } + cursor = v_3; + break golab1; } - - @Override - public int hashCode() { - return German2Stemmer.class.getName().hashCode(); + cursor = v_3; + if (cursor >= limit) + { + break lab0; } + cursor++; + } + continue; + } + cursor = v_2; + break; + } + cursor = v_1; + while(true) + { + int v_5 = cursor; + lab5: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab5; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("ss"); + break; + case 2: + slice_from("\u00E4"); + break; + case 3: + slice_from("\u00F6"); + break; + case 4: + slice_from("\u00FC"); + break; + case 5: + { + int c = cursor + 2; + if (0 > c || c > limit) + { + break lab5; + } + cursor = c; + } + break; + case 6: + if (cursor >= limit) + { + break lab5; + } + cursor++; + break; + } + continue; + } + cursor = v_5; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + I_x = cursor; + cursor = v_1; + golab0: while(true) + { + lab1: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab1; + } + break golab0; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < I_x)) + { + break lab4; + } + I_p1 = I_x; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p2 = cursor; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_1); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("y"); + break; + case 2: + slice_from("u"); + break; + case 3: + slice_from("a"); + break; + case 4: + slice_from("o"); + break; + case 5: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + break lab0; + } + bra = cursor; + if (!r_R1()) + { + break lab0; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_del(); + int v_2 = limit - cursor; + lab1: { + ket = cursor; + if (!(eq_s_b("s"))) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!(eq_s_b("nis"))) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + } + break; + case 3: + if (!(in_grouping_b(g_s_ending, 98, 116))) + { + break lab0; + } + slice_del(); + break; + } + } + cursor = limit - v_1; + int v_3 = limit - cursor; + lab2: { + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + break lab2; + } + bra = cursor; + if (!r_R1()) + { + break lab2; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!(in_grouping_b(g_st_ending, 98, 116))) + { + break lab2; + } + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + break lab2; + } + cursor = c; + } + slice_del(); + break; + } + } + cursor = limit - v_3; + int v_4 = limit - cursor; + lab3: { + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + break lab3; + } + bra = cursor; + if (!r_R2()) + { + break lab3; + } + switch (among_var) { + case 1: + slice_del(); + int v_5 = limit - cursor; + lab4: { + ket = cursor; + if (!(eq_s_b("ig"))) + { + cursor = limit - v_5; + break lab4; + } + bra = cursor; + { + int v_6 = limit - cursor; + lab5: { + if (!(eq_s_b("e"))) + { + break lab5; + } + cursor = limit - v_5; + break lab4; + } + cursor = limit - v_6; + } + if (!r_R2()) + { + cursor = limit - v_5; + break lab4; + } + slice_del(); + } + break; + case 2: + { + int v_7 = limit - cursor; + lab6: { + if (!(eq_s_b("e"))) + { + break lab6; + } + break lab3; + } + cursor = limit - v_7; + } + slice_del(); + break; + case 3: + slice_del(); + int v_8 = limit - cursor; + lab7: { + ket = cursor; + lab8: { + int v_9 = limit - cursor; + lab9: { + if (!(eq_s_b("er"))) + { + break lab9; + } + break lab8; + } + cursor = limit - v_9; + if (!(eq_s_b("en"))) + { + cursor = limit - v_8; + break lab7; + } + } + bra = cursor; + if (!r_R1()) + { + cursor = limit - v_8; + break lab7; + } + slice_del(); + } + break; + case 4: + slice_del(); + int v_10 = limit - cursor; + lab10: { + ket = cursor; + if (find_among_b(a_4) == 0) + { + cursor = limit - v_10; + break lab10; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_10; + break lab10; + } + slice_del(); + } + break; + } + } + cursor = limit - v_4; + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + int v_2 = cursor; + r_mark_regions(); + cursor = v_2; + limit_backward = cursor; + cursor = limit; + r_standard_suffix(); + cursor = limit_backward; + int v_4 = cursor; + r_postlude(); + cursor = v_4; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof German2Stemmer; +} + +@Override +public int hashCode() { + return German2Stemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GermanStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GermanStemmer.java index 758b152ca61..b296733517c 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GermanStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GermanStemmer.java @@ -1,706 +1,530 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class GermanStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class GermanStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 5), + new Among("U", 0, 2), + new Among("Y", 0, 1), + new Among("\u00E4", 0, 3), + new Among("\u00F6", 0, 4), + new Among("\u00FC", 0, 2) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("e", -1, 2), + new Among("em", -1, 1), + new Among("en", -1, 2), + new Among("ern", -1, 1), + new Among("er", -1, 1), + new Among("s", -1, 3), + new Among("es", 5, 2) +}; - private final static Among a_0[] = { - new Among ( "", -1, 6, "", methodObject ), - new Among ( "U", 0, 2, "", methodObject ), - new Among ( "Y", 0, 1, "", methodObject ), - new Among ( "\u00E4", 0, 3, "", methodObject ), - new Among ( "\u00F6", 0, 4, "", methodObject ), - new Among ( "\u00FC", 0, 5, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("en", -1, 1), + new Among("er", -1, 1), + new Among("st", -1, 2), + new Among("est", 2, 1) +}; - private final static Among a_1[] = { - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "em", -1, 1, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "ern", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "es", 5, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ig", -1, 1), + new Among("lich", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "st", -1, 2, "", methodObject ), - new Among ( "est", 2, 1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("end", -1, 1), + new Among("ig", -1, 2), + new Among("ung", -1, 1), + new Among("lich", -1, 3), + new Among("isch", -1, 2), + new Among("ik", -1, 2), + new Among("heit", -1, 3), + new Among("keit", -1, 4) +}; - private final static Among a_3[] = { - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "lich", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 }; - private final static Among a_4[] = { - new Among ( "end", -1, 1, "", methodObject ), - new Among ( "ig", -1, 2, "", methodObject ), - new Among ( "ung", -1, 1, "", methodObject ), - new Among ( "lich", -1, 3, "", methodObject ), - new Among ( "isch", -1, 2, "", methodObject ), - new Among ( "ik", -1, 2, "", methodObject ), - new Among ( "heit", -1, 3, "", methodObject ), - new Among ( "keit", -1, 4, "", methodObject ) - }; +private static final char g_s_ending[] = {117, 30, 5 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 }; +private static final char g_st_ending[] = {117, 30, 4 }; - private static final char g_s_ending[] = {117, 30, 5 }; +private int I_x; +private int I_p2; +private int I_p1; - private static final char g_st_ending[] = {117, 30, 4 }; - private int I_x; - private int I_p2; - private int I_p1; - - private void copy_from(GermanStemmer other) { - I_x = other.I_x; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_prelude() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 28 - // test, line 30 - v_1 = cursor; - // repeat, line 30 - replab0: while(true) - { - v_2 = cursor; - lab1: do { - // (, line 30 - // or, line 33 - lab2: do { - v_3 = cursor; - lab3: do { - // (, line 31 - // [, line 32 - bra = cursor; - // literal, line 32 - if (!(eq_s(1, "\u00DF"))) - { - break lab3; - } - // ], line 32 - ket = cursor; - // <-, line 32 - slice_from("ss"); - break lab2; - } while (false); - cursor = v_3; - // next, line 33 - if (cursor >= limit) - { - break lab1; - } - cursor++; - } while (false); - continue replab0; - } while (false); - cursor = v_2; - break replab0; - } - cursor = v_1; - // repeat, line 36 - replab4: while(true) - { - v_4 = cursor; - lab5: do { - // goto, line 36 - golab6: while(true) - { - v_5 = cursor; - lab7: do { - // (, line 36 - if (!(in_grouping(g_v, 97, 252))) - { - break lab7; - } - // [, line 37 - bra = cursor; - // or, line 37 - lab8: do { - v_6 = cursor; - lab9: do { - // (, line 37 - // literal, line 37 - if (!(eq_s(1, "u"))) - { - break lab9; - } - // ], line 37 - ket = cursor; - if (!(in_grouping(g_v, 97, 252))) - { - break lab9; - } - // <-, line 37 - slice_from("U"); - break lab8; - } while (false); - cursor = v_6; - // (, line 38 - // literal, line 38 - if (!(eq_s(1, "y"))) - { - break lab7; - } - // ], line 38 - ket = cursor; - if (!(in_grouping(g_v, 97, 252))) - { - break lab7; - } - // <-, line 38 - slice_from("Y"); - } while (false); - cursor = v_5; - break golab6; - } while (false); - cursor = v_5; - if (cursor >= limit) - { - break lab5; - } - cursor++; - } - continue replab4; - } while (false); - cursor = v_4; - break replab4; - } - return true; - } - - private boolean r_mark_regions() { - int v_1; - // (, line 42 - I_p1 = limit; - I_p2 = limit; - // test, line 47 - v_1 = cursor; - // (, line 47 - // hop, line 47 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - // setmark x, line 47 - I_x = cursor; - cursor = v_1; - // gopast, line 49 - golab0: while(true) - { - lab1: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab1; - } - break golab0; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 49 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 49 - I_p1 = cursor; - // try, line 50 - lab4: do { - // (, line 50 - if (!(I_p1 < I_x)) - { - break lab4; - } - I_p1 = I_x; - } while (false); - // gopast, line 51 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 51 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p2, line 51 - I_p2 = cursor; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 55 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 55 - // [, line 57 - bra = cursor; - // substring, line 57 - among_var = find_among(a_0, 6); - if (among_var == 0) - { - break lab1; - } - // ], line 57 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 58 - // <-, line 58 - slice_from("y"); - break; - case 2: - // (, line 59 - // <-, line 59 - slice_from("u"); - break; - case 3: - // (, line 60 - // <-, line 60 - slice_from("a"); - break; - case 4: - // (, line 61 - // <-, line 61 - slice_from("o"); - break; - case 5: - // (, line 62 - // <-, line 62 - slice_from("u"); - break; - case 6: - // (, line 63 - // next, line 63 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - // (, line 73 - // do, line 74 - v_1 = limit - cursor; - lab0: do { - // (, line 74 - // [, line 75 - ket = cursor; - // substring, line 75 - among_var = find_among_b(a_1, 7); - if (among_var == 0) - { - break lab0; - } - // ], line 75 - bra = cursor; - // call R1, line 75 - if (!r_R1()) - { - break lab0; - } - switch(among_var) { - case 0: - break lab0; - case 1: - // (, line 77 - // delete, line 77 - slice_del(); - break; - case 2: - // (, line 80 - if (!(in_grouping_b(g_s_ending, 98, 116))) - { - break lab0; - } - // delete, line 80 - slice_del(); - break; - } - } while (false); - cursor = limit - v_1; - // do, line 84 - v_2 = limit - cursor; - lab1: do { - // (, line 84 - // [, line 85 - ket = cursor; - // substring, line 85 - among_var = find_among_b(a_2, 4); - if (among_var == 0) - { - break lab1; - } - // ], line 85 - bra = cursor; - // call R1, line 85 - if (!r_R1()) - { - break lab1; - } - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 87 - // delete, line 87 - slice_del(); - break; - case 2: - // (, line 90 - if (!(in_grouping_b(g_st_ending, 98, 116))) - { - break lab1; - } - // hop, line 90 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - break lab1; - } - cursor = c; - } - // delete, line 90 - slice_del(); - break; - } - } while (false); - cursor = limit - v_2; - // do, line 94 - v_3 = limit - cursor; - lab2: do { - // (, line 94 - // [, line 95 - ket = cursor; - // substring, line 95 - among_var = find_among_b(a_4, 8); - if (among_var == 0) - { - break lab2; - } - // ], line 95 - bra = cursor; - // call R2, line 95 - if (!r_R2()) - { - break lab2; - } - switch(among_var) { - case 0: - break lab2; - case 1: - // (, line 97 - // delete, line 97 - slice_del(); - // try, line 98 - v_4 = limit - cursor; - lab3: do { - // (, line 98 - // [, line 98 - ket = cursor; - // literal, line 98 - if (!(eq_s_b(2, "ig"))) - { - cursor = limit - v_4; - break lab3; - } - // ], line 98 - bra = cursor; - // not, line 98 - { - v_5 = limit - cursor; - lab4: do { - // literal, line 98 - if (!(eq_s_b(1, "e"))) - { - break lab4; - } - cursor = limit - v_4; - break lab3; - } while (false); - cursor = limit - v_5; - } - // call R2, line 98 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 98 - slice_del(); - } while (false); - break; - case 2: - // (, line 101 - // not, line 101 - { - v_6 = limit - cursor; - lab5: do { - // literal, line 101 - if (!(eq_s_b(1, "e"))) - { - break lab5; - } - break lab2; - } while (false); - cursor = limit - v_6; - } - // delete, line 101 - slice_del(); - break; - case 3: - // (, line 104 - // delete, line 104 - slice_del(); - // try, line 105 - v_7 = limit - cursor; - lab6: do { - // (, line 105 - // [, line 106 - ket = cursor; - // or, line 106 - lab7: do { - v_8 = limit - cursor; - lab8: do { - // literal, line 106 - if (!(eq_s_b(2, "er"))) - { - break lab8; - } - break lab7; - } while (false); - cursor = limit - v_8; - // literal, line 106 - if (!(eq_s_b(2, "en"))) - { - cursor = limit - v_7; - break lab6; - } - } while (false); - // ], line 106 - bra = cursor; - // call R1, line 106 - if (!r_R1()) - { - cursor = limit - v_7; - break lab6; - } - // delete, line 106 - slice_del(); - } while (false); - break; - case 4: - // (, line 110 - // delete, line 110 - slice_del(); - // try, line 111 - v_9 = limit - cursor; - lab9: do { - // (, line 111 - // [, line 112 - ket = cursor; - // substring, line 112 - among_var = find_among_b(a_3, 2); - if (among_var == 0) - { - cursor = limit - v_9; - break lab9; - } - // ], line 112 - bra = cursor; - // call R2, line 112 - if (!r_R2()) - { - cursor = limit - v_9; - break lab9; - } - switch(among_var) { - case 0: - cursor = limit - v_9; - break lab9; - case 1: - // (, line 114 - // delete, line 114 - slice_del(); - break; - } - } while (false); - break; - } - } while (false); - cursor = limit - v_3; - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 124 - // do, line 125 - v_1 = cursor; - lab0: do { - // call prelude, line 125 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 126 - v_2 = cursor; - lab1: do { - // call mark_regions, line 126 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 127 - limit_backward = cursor; cursor = limit; - // do, line 128 - v_3 = limit - cursor; - lab2: do { - // call standard_suffix, line 128 - if (!r_standard_suffix()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - cursor = limit_backward; // do, line 129 - v_4 = cursor; - lab3: do { - // call postlude, line 129 - if (!r_postlude()) - { - break lab3; - } - } while (false); - cursor = v_4; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof GermanStemmer; +private boolean r_prelude() { + int v_1 = cursor; + while(true) + { + int v_2 = cursor; + lab0: { + lab1: { + int v_3 = cursor; + lab2: { + bra = cursor; + if (!(eq_s("\u00DF"))) + { + break lab2; + } + ket = cursor; + slice_from("ss"); + break lab1; } - - @Override - public int hashCode() { - return GermanStemmer.class.getName().hashCode(); + cursor = v_3; + if (cursor >= limit) + { + break lab0; } + cursor++; + } + continue; + } + cursor = v_2; + break; + } + cursor = v_1; + while(true) + { + int v_4 = cursor; + lab3: { + golab4: while(true) + { + int v_5 = cursor; + lab5: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab5; + } + bra = cursor; + lab6: { + int v_6 = cursor; + lab7: { + if (!(eq_s("u"))) + { + break lab7; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) + { + break lab7; + } + slice_from("U"); + break lab6; + } + cursor = v_6; + if (!(eq_s("y"))) + { + break lab5; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) + { + break lab5; + } + slice_from("Y"); + } + cursor = v_5; + break golab4; + } + cursor = v_5; + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + continue; + } + cursor = v_4; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + I_x = cursor; + cursor = v_1; + golab0: while(true) + { + lab1: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab1; + } + break golab0; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < I_x)) + { + break lab4; + } + I_p1 = I_x; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p2 = cursor; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("y"); + break; + case 2: + slice_from("u"); + break; + case 3: + slice_from("a"); + break; + case 4: + slice_from("o"); + break; + case 5: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + break lab0; + } + bra = cursor; + if (!r_R1()) + { + break lab0; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_del(); + int v_2 = limit - cursor; + lab1: { + ket = cursor; + if (!(eq_s_b("s"))) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!(eq_s_b("nis"))) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + } + break; + case 3: + if (!(in_grouping_b(g_s_ending, 98, 116))) + { + break lab0; + } + slice_del(); + break; + } + } + cursor = limit - v_1; + int v_3 = limit - cursor; + lab2: { + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + break lab2; + } + bra = cursor; + if (!r_R1()) + { + break lab2; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!(in_grouping_b(g_st_ending, 98, 116))) + { + break lab2; + } + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + break lab2; + } + cursor = c; + } + slice_del(); + break; + } + } + cursor = limit - v_3; + int v_4 = limit - cursor; + lab3: { + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + break lab3; + } + bra = cursor; + if (!r_R2()) + { + break lab3; + } + switch (among_var) { + case 1: + slice_del(); + int v_5 = limit - cursor; + lab4: { + ket = cursor; + if (!(eq_s_b("ig"))) + { + cursor = limit - v_5; + break lab4; + } + bra = cursor; + { + int v_6 = limit - cursor; + lab5: { + if (!(eq_s_b("e"))) + { + break lab5; + } + cursor = limit - v_5; + break lab4; + } + cursor = limit - v_6; + } + if (!r_R2()) + { + cursor = limit - v_5; + break lab4; + } + slice_del(); + } + break; + case 2: + { + int v_7 = limit - cursor; + lab6: { + if (!(eq_s_b("e"))) + { + break lab6; + } + break lab3; + } + cursor = limit - v_7; + } + slice_del(); + break; + case 3: + slice_del(); + int v_8 = limit - cursor; + lab7: { + ket = cursor; + lab8: { + int v_9 = limit - cursor; + lab9: { + if (!(eq_s_b("er"))) + { + break lab9; + } + break lab8; + } + cursor = limit - v_9; + if (!(eq_s_b("en"))) + { + cursor = limit - v_8; + break lab7; + } + } + bra = cursor; + if (!r_R1()) + { + cursor = limit - v_8; + break lab7; + } + slice_del(); + } + break; + case 4: + slice_del(); + int v_10 = limit - cursor; + lab10: { + ket = cursor; + if (find_among_b(a_3) == 0) + { + cursor = limit - v_10; + break lab10; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_10; + break lab10; + } + slice_del(); + } + break; + } + } + cursor = limit - v_4; + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + int v_2 = cursor; + r_mark_regions(); + cursor = v_2; + limit_backward = cursor; + cursor = limit; + r_standard_suffix(); + cursor = limit_backward; + int v_4 = cursor; + r_postlude(); + cursor = v_4; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof GermanStemmer; +} + +@Override +public int hashCode() { + return GermanStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GreekStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GreekStemmer.java new file mode 100644 index 00000000000..1381bbf4bd1 --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GreekStemmer.java @@ -0,0 +1,2539 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class GreekStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("", -1, 25), + new Among("\u0386", 0, 1), + new Among("\u0388", 0, 5), + new Among("\u0389", 0, 7), + new Among("\u038A", 0, 9), + new Among("\u038C", 0, 15), + new Among("\u038E", 0, 20), + new Among("\u038F", 0, 24), + new Among("\u0390", 0, 7), + new Among("\u0391", 0, 1), + new Among("\u0392", 0, 2), + new Among("\u0393", 0, 3), + new Among("\u0394", 0, 4), + new Among("\u0395", 0, 5), + new Among("\u0396", 0, 6), + new Among("\u0397", 0, 7), + new Among("\u0398", 0, 8), + new Among("\u0399", 0, 9), + new Among("\u039A", 0, 10), + new Among("\u039B", 0, 11), + new Among("\u039C", 0, 12), + new Among("\u039D", 0, 13), + new Among("\u039E", 0, 14), + new Among("\u039F", 0, 15), + new Among("\u03A0", 0, 16), + new Among("\u03A1", 0, 17), + new Among("\u03A3", 0, 18), + new Among("\u03A4", 0, 19), + new Among("\u03A5", 0, 20), + new Among("\u03A6", 0, 21), + new Among("\u03A7", 0, 22), + new Among("\u03A8", 0, 23), + new Among("\u03A9", 0, 24), + new Among("\u03AA", 0, 9), + new Among("\u03AB", 0, 20), + new Among("\u03AC", 0, 1), + new Among("\u03AD", 0, 5), + new Among("\u03AE", 0, 7), + new Among("\u03AF", 0, 9), + new Among("\u03B0", 0, 20), + new Among("\u03C2", 0, 18), + new Among("\u03CA", 0, 7), + new Among("\u03CB", 0, 20), + new Among("\u03CC", 0, 15), + new Among("\u03CD", 0, 20), + new Among("\u03CE", 0, 24) +}; + +private final static Among a_1[] = { + new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03B1", -1, 2), + new Among("\u03C6\u03B1\u03B3\u03B9\u03B1", -1, 1), + new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03B1", -1, 3), + new Among("\u03C3\u03BF\u03B3\u03B9\u03B1", -1, 4), + new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03B1", -1, 5), + new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03B1", -1, 6), + new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03B1", -1, 7), + new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03B1", -1, 8), + new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03B1", -1, 11), + new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03B1", -1, 10), + new Among("\u03C6\u03C9\u03C4\u03B1", -1, 9), + new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03B7", -1, 7), + new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03C9\u03BD", -1, 2), + new Among("\u03C6\u03B1\u03B3\u03B9\u03C9\u03BD", -1, 1), + new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 3), + new Among("\u03C3\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 4), + new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 5), + new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03C9\u03BD", -1, 6), + new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03C9\u03BD", -1, 7), + new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03C9\u03BD", -1, 8), + new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03C9\u03BD", -1, 11), + new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03C9\u03BD", -1, 10), + new Among("\u03C6\u03C9\u03C4\u03C9\u03BD", -1, 9), + new Among("\u03BA\u03C1\u03B5\u03B1\u03C3", -1, 6), + new Among("\u03C0\u03B5\u03C1\u03B1\u03C3", -1, 7), + new Among("\u03C4\u03B5\u03C1\u03B1\u03C3", -1, 8), + new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C3", -1, 11), + new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03BF\u03C3", -1, 6), + new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03BF\u03C3", -1, 7), + new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03BF\u03C3", -1, 8), + new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03BF\u03C3", -1, 11), + new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03BF\u03C3", -1, 10), + new Among("\u03C6\u03C9\u03C4\u03BF\u03C3", -1, 9), + new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C3", -1, 10), + new Among("\u03C6\u03C9\u03C3", -1, 9), + new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03BF\u03C5", -1, 2), + new Among("\u03C6\u03B1\u03B3\u03B9\u03BF\u03C5", -1, 1), + new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 3), + new Among("\u03C3\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 4), + new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 5) +}; + +private final static Among a_2[] = { + new Among("\u03C0\u03B1", -1, 1), + new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", 0, 1), + new Among("\u03B5\u03C0\u03B1", 0, 1), + new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", 0, 1), + new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", 0, 1), + new Among("\u03B5\u03BC\u03C0\u03B1", 0, 1), + new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 7, 1) +}; + +private final static Among a_3[] = { + new Among("\u03B2", -1, 1), + new Among("\u03B2\u03B1\u03B8\u03C5\u03C1\u03B9", -1, 1), + new Among("\u03B2\u03B1\u03C1\u03BA", -1, 1), + new Among("\u03BC\u03B1\u03C1\u03BA", -1, 1), + new Among("\u03BB", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03BA\u03BF\u03C1\u03BD", -1, 1), + new Among("\u03C0", -1, 1), + new Among("\u03B9\u03BC\u03C0", 7, 1), + new Among("\u03C1", -1, 1), + new Among("\u03BC\u03B1\u03C1", 9, 1), + new Among("\u03B1\u03BC\u03C0\u03B1\u03C1", 9, 1), + new Among("\u03B3\u03BA\u03C1", 9, 1), + new Among("\u03B2\u03BF\u03BB\u03B2\u03BF\u03C1", 9, 1), + new Among("\u03B3\u03BB\u03C5\u03BA\u03BF\u03C1", 9, 1), + new Among("\u03C0\u03B9\u03C0\u03B5\u03C1\u03BF\u03C1", 9, 1), + new Among("\u03C0\u03C1", 9, 1), + new Among("\u03BC\u03C0\u03C1", 16, 1), + new Among("\u03B1\u03C1\u03C1", 9, 1), + new Among("\u03B3\u03BB\u03C5\u03BA\u03C5\u03C1", 9, 1), + new Among("\u03C0\u03BF\u03BB\u03C5\u03C1", 9, 1), + new Among("\u03BB\u03BF\u03C5", -1, 1) +}; + +private final static Among a_4[] = { + new Among("\u03B9\u03B6\u03B1", -1, 1), + new Among("\u03B9\u03B6\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03BF\u03C5\u03BC\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03BF\u03C5\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03B1\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03B5\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03B6\u03B5\u03B9", -1, 1), + new Among("\u03B9\u03B6\u03B1\u03BD", -1, 1), + new Among("\u03B9\u03B6\u03BF\u03C5\u03BD", -1, 1), + new Among("\u03B9\u03B6\u03B5\u03C3", -1, 1), + new Among("\u03B9\u03B6\u03B5\u03B9\u03C3", -1, 1), + new Among("\u03B9\u03B6\u03C9", -1, 1) +}; + +private final static Among a_5[] = { + new Among("\u03B2\u03B9", -1, 1), + new Among("\u03BB\u03B9", -1, 1), + new Among("\u03B1\u03BB", -1, 1), + new Among("\u03B5\u03BD", -1, 1), + new Among("\u03C3", -1, 1), + new Among("\u03C7", -1, 1), + new Among("\u03C5\u03C8", -1, 1), + new Among("\u03B6\u03C9", -1, 1) +}; + +private final static Among a_6[] = { + new Among("\u03C9\u03B8\u03B7\u03BA\u03B1", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B5", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03C4\u03B5", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BD", -1, 1), + new Among("\u03C9\u03B8\u03B7\u03BA\u03B5\u03C3", -1, 1) +}; + +private final static Among a_7[] = { + new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03C0\u03B1", -1, 1), + new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", -1, 1), + new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03BC\u03C0\u03B1", -1, 1), + new Among("\u03C7\u03B1\u03C1\u03C4\u03BF\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03BE\u03B1\u03C1\u03C7\u03B1", -1, 1), + new Among("\u03BA\u03BB\u03B5", -1, 1), + new Among("\u03B5\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B1\u03C0\u03B5\u03BA\u03BB\u03B5", 8, 1), + new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03C0\u03B5", -1, 1), + new Among("\u03B5\u03C0\u03B5", 13, 1), + new Among("\u03BC\u03B5\u03C4\u03B5\u03C0\u03B5", 14, 1), + new Among("\u03B5\u03C3\u03B5", -1, 1), + new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 17, 1) +}; + +private final static Among a_8[] = { + new Among("\u03B3\u03B5", -1, 1), + new Among("\u03B3\u03BA\u03B5", -1, 1), + new Among("\u03B3\u03BA", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03C0\u03BF\u03C5\u03BA\u03B1\u03BC", 3, 1), + new Among("\u03BA\u03BF\u03BC", 3, 1), + new Among("\u03B1\u03BD", -1, 1), + new Among("\u03BF\u03BB\u03BF", -1, 1), + new Among("\u03C0", -1, 1), + new Among("\u03BB\u03B1\u03C1", -1, 1), + new Among("\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4", -1, 1), + new Among("\u03B1\u03C6", -1, 1), + new Among("\u03B3\u03B9\u03B3\u03B1\u03BD\u03C4\u03BF\u03B1\u03C6", 11, 1) +}; + +private final static Among a_9[] = { + new Among("\u03B9\u03C3\u03B1", -1, 1), + new Among("\u03B9\u03C3\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B1\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B1\u03BD", -1, 1), + new Among("\u03B9\u03C3\u03B5\u03C3", -1, 1) +}; + +private final static Among a_10[] = { + new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03C0\u03B1", -1, 1), + new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", -1, 1), + new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03BC\u03C0\u03B1", -1, 1), + new Among("\u03C7\u03B1\u03C1\u03C4\u03BF\u03C0\u03B1", -1, 1), + new Among("\u03B5\u03BE\u03B1\u03C1\u03C7\u03B1", -1, 1), + new Among("\u03BA\u03BB\u03B5", -1, 1), + new Among("\u03B5\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B1\u03C0\u03B5\u03BA\u03BB\u03B5", 8, 1), + new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 7, 1), + new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03C0\u03B5", -1, 1), + new Among("\u03B5\u03C0\u03B5", 13, 1), + new Among("\u03BC\u03B5\u03C4\u03B5\u03C0\u03B5", 14, 1), + new Among("\u03B5\u03C3\u03B5", -1, 1), + new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 17, 1) +}; + +private final static Among a_11[] = { + new Among("\u03B9\u03C3\u03BF\u03C5\u03BC\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03BF\u03C5\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B5\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03B5\u03B9", -1, 1), + new Among("\u03B9\u03C3\u03BF\u03C5\u03BD", -1, 1), + new Among("\u03B9\u03C3\u03B5\u03B9\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03C9", -1, 1) +}; + +private final static Among a_12[] = { + new Among("\u03BA\u03BB\u03B5", -1, 1), + new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 0, 1), + new Among("\u03C0\u03BB\u03B5", -1, 1), + new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03C3\u03B5", -1, 1), + new Among("\u03B1\u03C3\u03B5", 4, 1), + new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", -1, 1) +}; + +private final static Among a_13[] = { + new Among("\u03B1\u03C4\u03B1", -1, 1), + new Among("\u03C6\u03B1", -1, 1), + new Among("\u03B7\u03C6\u03B1", 1, 1), + new Among("\u03BC\u03B5\u03B3", -1, 1), + new Among("\u03BB\u03C5\u03B3", -1, 1), + new Among("\u03B7\u03B4", -1, 1), + new Among("\u03BA\u03B1\u03B8", -1, 1), + new Among("\u03B5\u03C7\u03B8", -1, 1), + new Among("\u03BA\u03B1\u03BA", -1, 1), + new Among("\u03BC\u03B1\u03BA", -1, 1), + new Among("\u03C3\u03BA", -1, 1), + new Among("\u03C6\u03B9\u03BB", -1, 1), + new Among("\u03BA\u03C5\u03BB", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03B3\u03B5\u03BC", 13, 1), + new Among("\u03B1\u03C7\u03BD", -1, 1), + new Among("\u03C0", -1, 1), + new Among("\u03B1\u03C0", 16, 1), + new Among("\u03B5\u03BC\u03C0", 16, 1), + new Among("\u03B5\u03C5\u03C0", 16, 1), + new Among("\u03B1\u03C1", -1, 1), + new Among("\u03B1\u03BF\u03C1", -1, 1), + new Among("\u03B3\u03C5\u03C1", -1, 1), + new Among("\u03C7\u03C1", -1, 1), + new Among("\u03C7\u03C9\u03C1", -1, 1), + new Among("\u03BA\u03C4", -1, 1), + new Among("\u03B1\u03BA\u03C4", 25, 1), + new Among("\u03C7\u03C4", -1, 1), + new Among("\u03B1\u03C7\u03C4", 27, 1), + new Among("\u03C4\u03B1\u03C7", -1, 1), + new Among("\u03C3\u03C7", -1, 1), + new Among("\u03B1\u03C3\u03C7", 30, 1), + new Among("\u03C5\u03C8", -1, 1) +}; + +private final static Among a_14[] = { + new Among("\u03B9\u03C3\u03C4\u03B1", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03B7", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03BF\u03B9", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03BF", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03B5\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03B7\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03BF\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03BF\u03C5\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03C4\u03BF\u03C5", -1, 1) +}; + +private final static Among a_15[] = { + new Among("\u03B5\u03B3\u03BA\u03BB\u03B5", -1, 1), + new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", -1, 1), + new Among("\u03C3\u03B5", -1, 1), + new Among("\u03BC\u03B5\u03C4\u03B1\u03C3\u03B5", 2, 1), + new Among("\u03BC\u03B9\u03BA\u03C1\u03BF\u03C3\u03B5", 2, 1) +}; + +private final static Among a_16[] = { + new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B1\u03BD\u03C4\u03B9\u03B4\u03B1\u03BD\u03B5", 0, 1) +}; + +private final static Among a_17[] = { + new Among("\u03B1\u03C4\u03BF\u03BC\u03B9\u03BA", -1, 2), + new Among("\u03B5\u03B8\u03BD\u03B9\u03BA", -1, 4), + new Among("\u03C4\u03BF\u03C0\u03B9\u03BA", -1, 7), + new Among("\u03B5\u03BA\u03BB\u03B5\u03BA\u03C4\u03B9\u03BA", -1, 5), + new Among("\u03C3\u03BA\u03B5\u03C0\u03C4\u03B9\u03BA", -1, 6), + new Among("\u03B3\u03BD\u03C9\u03C3\u03C4\u03B9\u03BA", -1, 3), + new Among("\u03B1\u03B3\u03BD\u03C9\u03C3\u03C4\u03B9\u03BA", 5, 1), + new Among("\u03B1\u03BB\u03B5\u03BE\u03B1\u03BD\u03B4\u03C1\u03B9\u03BD", -1, 8), + new Among("\u03B8\u03B5\u03B1\u03C4\u03C1\u03B9\u03BD", -1, 10), + new Among("\u03B2\u03C5\u03B6\u03B1\u03BD\u03C4\u03B9\u03BD", -1, 9) +}; + +private final static Among a_18[] = { + new Among("\u03B9\u03C3\u03BC\u03BF\u03B9", -1, 1), + new Among("\u03B9\u03C3\u03BC\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03C3\u03BC\u03BF", -1, 1), + new Among("\u03B9\u03C3\u03BC\u03BF\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03BC\u03BF\u03C5\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03BC\u03BF\u03C5", -1, 1) +}; + +private final static Among a_19[] = { + new Among("\u03C3", -1, 1), + new Among("\u03C7", -1, 1) +}; + +private final static Among a_20[] = { + new Among("\u03BF\u03C5\u03B4\u03B1\u03BA\u03B9\u03B1", -1, 1), + new Among("\u03B1\u03C1\u03B1\u03BA\u03B9\u03B1", -1, 1), + new Among("\u03BF\u03C5\u03B4\u03B1\u03BA\u03B9", -1, 1), + new Among("\u03B1\u03C1\u03B1\u03BA\u03B9", -1, 1) +}; + +private final static Among a_21[] = { + new Among("\u03B2\u03B1\u03BC\u03B2", -1, 1), + new Among("\u03C3\u03BB\u03BF\u03B2", -1, 1), + new Among("\u03C4\u03C3\u03B5\u03C7\u03BF\u03C3\u03BB\u03BF\u03B2", 1, 1), + new Among("\u03C4\u03B6", -1, 1), + new Among("\u03BA", -1, 1), + new Among("\u03BA\u03B1\u03C0\u03B1\u03BA", 4, 1), + new Among("\u03C3\u03BF\u03BA", 4, 1), + new Among("\u03C3\u03BA", 4, 1), + new Among("\u03BC\u03B1\u03BB", -1, 1), + new Among("\u03C0\u03BB", -1, 1), + new Among("\u03BB\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03C6\u03C5\u03BB", -1, 1), + new Among("\u03BA\u03B1\u03B9\u03BC", -1, 1), + new Among("\u03BA\u03BB\u03B9\u03BC", -1, 1), + new Among("\u03C6\u03B1\u03C1\u03BC", -1, 1), + new Among("\u03C3\u03C0\u03B1\u03BD", -1, 1), + new Among("\u03BA\u03BF\u03BD", -1, 1), + new Among("\u03BA\u03B1\u03C4\u03C1\u03B1\u03C0", -1, 1), + new Among("\u03C1", -1, 1), + new Among("\u03B2\u03C1", 18, 1), + new Among("\u03BB\u03B1\u03B2\u03C1", 19, 1), + new Among("\u03B1\u03BC\u03B2\u03C1", 19, 1), + new Among("\u03BC\u03B5\u03C1", 18, 1), + new Among("\u03B1\u03BD\u03B8\u03C1", 18, 1), + new Among("\u03BA\u03BF\u03C1", 18, 1), + new Among("\u03C3", -1, 1), + new Among("\u03BD\u03B1\u03B3\u03BA\u03B1\u03C3", 25, 1), + new Among("\u03BC\u03BF\u03C5\u03C3\u03C4", -1, 1), + new Among("\u03C1\u03C5", -1, 1), + new Among("\u03C6", -1, 1), + new Among("\u03C3\u03C6", 29, 1), + new Among("\u03B1\u03BB\u03B9\u03C3\u03C6", 30, 1), + new Among("\u03C7", -1, 1) +}; + +private final static Among a_22[] = { + new Among("\u03B2", -1, 1), + new Among("\u03BA\u03B1\u03C1\u03B4", -1, 1), + new Among("\u03B6", -1, 1), + new Among("\u03C3\u03BA", -1, 1), + new Among("\u03B2\u03B1\u03BB", -1, 1), + new Among("\u03B3\u03BB", -1, 1), + new Among("\u03C4\u03C1\u03B9\u03C0\u03BF\u03BB", -1, 1), + new Among("\u03B3\u03B9\u03B1\u03BD", -1, 1), + new Among("\u03B7\u03B3\u03BF\u03C5\u03BC\u03B5\u03BD", -1, 1), + new Among("\u03BA\u03BF\u03BD", -1, 1), + new Among("\u03BC\u03B1\u03BA\u03C1\u03C5\u03BD", -1, 1), + new Among("\u03C0", -1, 1), + new Among("\u03C0\u03B1\u03C4\u03B5\u03C1", -1, 1), + new Among("\u03C4\u03BF\u03C3", -1, 1), + new Among("\u03BD\u03C5\u03C6", -1, 1) +}; + +private final static Among a_23[] = { + new Among("\u03B1\u03BA\u03B9\u03B1", -1, 1), + new Among("\u03B1\u03C1\u03B1\u03BA\u03B9\u03B1", 0, 1), + new Among("\u03B9\u03C4\u03C3\u03B1", -1, 1), + new Among("\u03B1\u03BA\u03B9", -1, 1), + new Among("\u03B1\u03C1\u03B1\u03BA\u03B9", 3, 1), + new Among("\u03B9\u03C4\u03C3\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03C4\u03C3\u03B1\u03C3", -1, 1), + new Among("\u03B9\u03C4\u03C3\u03B5\u03C3", -1, 1) +}; + +private final static Among a_24[] = { + new Among("\u03C8\u03B1\u03BB", -1, 1), + new Among("\u03B1\u03B9\u03C6\u03BD", -1, 1), + new Among("\u03BF\u03BB\u03BF", -1, 1), + new Among("\u03B9\u03C1", -1, 1) +}; + +private final static Among a_25[] = { + new Among("\u03B5", -1, 1), + new Among("\u03C0\u03B1\u03B9\u03C7\u03BD", -1, 1) +}; + +private final static Among a_26[] = { + new Among("\u03B9\u03B4\u03B9\u03B1", -1, 1), + new Among("\u03B9\u03B4\u03B9\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03B4\u03B9\u03BF", -1, 1) +}; + +private final static Among a_27[] = { + new Among("\u03B9\u03B2", -1, 1), + new Among("\u03B4", -1, 1), + new Among("\u03C6\u03C1\u03B1\u03B3\u03BA", -1, 1), + new Among("\u03BB\u03C5\u03BA", -1, 1), + new Among("\u03BF\u03B2\u03B5\u03BB", -1, 1), + new Among("\u03BC\u03B7\u03BD", -1, 1), + new Among("\u03C1", -1, 1) +}; + +private final static Among a_28[] = { + new Among("\u03B9\u03C3\u03BA\u03B5", -1, 1), + new Among("\u03B9\u03C3\u03BA\u03BF", -1, 1), + new Among("\u03B9\u03C3\u03BA\u03BF\u03C3", -1, 1), + new Among("\u03B9\u03C3\u03BA\u03BF\u03C5", -1, 1) +}; + +private final static Among a_29[] = { + new Among("\u03B1\u03B4\u03C9\u03BD", -1, 1), + new Among("\u03B1\u03B4\u03B5\u03C3", -1, 1) +}; + +private final static Among a_30[] = { + new Among("\u03B3\u03B9\u03B1\u03B3\u03B9", -1, -1), + new Among("\u03B8\u03B5\u03B9", -1, -1), + new Among("\u03BF\u03BA", -1, -1), + new Among("\u03BC\u03B1\u03BC", -1, -1), + new Among("\u03BC\u03B1\u03BD", -1, -1), + new Among("\u03BC\u03C0\u03B1\u03BC\u03C0", -1, -1), + new Among("\u03C0\u03B5\u03B8\u03B5\u03C1", -1, -1), + new Among("\u03C0\u03B1\u03C4\u03B5\u03C1", -1, -1), + new Among("\u03BA\u03C5\u03C1", -1, -1), + new Among("\u03BD\u03C4\u03B1\u03BD\u03C4", -1, -1) +}; + +private final static Among a_31[] = { + new Among("\u03B5\u03B4\u03C9\u03BD", -1, 1), + new Among("\u03B5\u03B4\u03B5\u03C3", -1, 1) +}; + +private final static Among a_32[] = { + new Among("\u03BC\u03B9\u03BB", -1, 1), + new Among("\u03B4\u03B1\u03C0", -1, 1), + new Among("\u03B3\u03B7\u03C0", -1, 1), + new Among("\u03B9\u03C0", -1, 1), + new Among("\u03B5\u03BC\u03C0", -1, 1), + new Among("\u03BF\u03C0", -1, 1), + new Among("\u03BA\u03C1\u03B1\u03C3\u03C0", -1, 1), + new Among("\u03C5\u03C0", -1, 1) +}; + +private final static Among a_33[] = { + new Among("\u03BF\u03C5\u03B4\u03C9\u03BD", -1, 1), + new Among("\u03BF\u03C5\u03B4\u03B5\u03C3", -1, 1) +}; + +private final static Among a_34[] = { + new Among("\u03C4\u03C1\u03B1\u03B3", -1, 1), + new Among("\u03C6\u03B5", -1, 1), + new Among("\u03BA\u03B1\u03BB\u03B9\u03B1\u03BA", -1, 1), + new Among("\u03B1\u03C1\u03BA", -1, 1), + new Among("\u03C3\u03BA", -1, 1), + new Among("\u03C0\u03B5\u03C4\u03B1\u03BB", -1, 1), + new Among("\u03B2\u03B5\u03BB", -1, 1), + new Among("\u03BB\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03C6\u03BB", -1, 1), + new Among("\u03C7\u03BD", -1, 1), + new Among("\u03C0\u03BB\u03B5\u03BE", -1, 1), + new Among("\u03C3\u03C0", -1, 1), + new Among("\u03C6\u03C1", -1, 1), + new Among("\u03C3", -1, 1), + new Among("\u03BB\u03B9\u03C7", -1, 1) +}; + +private final static Among a_35[] = { + new Among("\u03B5\u03C9\u03BD", -1, 1), + new Among("\u03B5\u03C9\u03C3", -1, 1) +}; + +private final static Among a_36[] = { + new Among("\u03B4", -1, 1), + new Among("\u03B9\u03B4", 0, 1), + new Among("\u03B8", -1, 1), + new Among("\u03B3\u03B1\u03BB", -1, 1), + new Among("\u03B5\u03BB", -1, 1), + new Among("\u03BD", -1, 1), + new Among("\u03C0", -1, 1), + new Among("\u03C0\u03B1\u03C1", -1, 1) +}; + +private final static Among a_37[] = { + new Among("\u03B9\u03B1", -1, 1), + new Among("\u03B9\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03BF\u03C5", -1, 1) +}; + +private final static Among a_38[] = { + new Among("\u03B9\u03BA\u03B1", -1, 1), + new Among("\u03B9\u03BA\u03C9\u03BD", -1, 1), + new Among("\u03B9\u03BA\u03BF", -1, 1), + new Among("\u03B9\u03BA\u03BF\u03C5", -1, 1) +}; + +private final static Among a_39[] = { + new Among("\u03B1\u03B4", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B1\u03B4", 0, 1), + new Among("\u03BA\u03B1\u03C4\u03B1\u03B4", 0, 1), + new Among("\u03B1\u03BD\u03C4\u03B9\u03B4", -1, 1), + new Among("\u03B5\u03BD\u03B4", -1, 1), + new Among("\u03C6\u03C5\u03BB\u03BF\u03B4", -1, 1), + new Among("\u03C5\u03C0\u03BF\u03B4", -1, 1), + new Among("\u03C0\u03C1\u03C9\u03C4\u03BF\u03B4", -1, 1), + new Among("\u03B5\u03BE\u03C9\u03B4", -1, 1), + new Among("\u03B7\u03B8", -1, 1), + new Among("\u03B1\u03BD\u03B7\u03B8", 9, 1), + new Among("\u03BE\u03B9\u03BA", -1, 1), + new Among("\u03B1\u03BB", -1, 1), + new Among("\u03B1\u03BC\u03BC\u03BF\u03C7\u03B1\u03BB", 12, 1), + new Among("\u03C3\u03C5\u03BD\u03BF\u03BC\u03B7\u03BB", -1, 1), + new Among("\u03BC\u03C0\u03BF\u03BB", -1, 1), + new Among("\u03BC\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03C4\u03C3\u03B1\u03BC", -1, 1), + new Among("\u03B2\u03C1\u03C9\u03BC", -1, 1), + new Among("\u03B1\u03BC\u03B1\u03BD", -1, 1), + new Among("\u03BC\u03C0\u03B1\u03BD", -1, 1), + new Among("\u03BA\u03B1\u03BB\u03BB\u03B9\u03BD", -1, 1), + new Among("\u03C0\u03BF\u03C3\u03C4\u03B5\u03BB\u03BD", -1, 1), + new Among("\u03C6\u03B9\u03BB\u03BF\u03BD", -1, 1), + new Among("\u03BA\u03B1\u03BB\u03C0", -1, 1), + new Among("\u03B3\u03B5\u03C1", -1, 1), + new Among("\u03C7\u03B1\u03C3", -1, 1), + new Among("\u03BC\u03C0\u03BF\u03C3", -1, 1), + new Among("\u03C0\u03BB\u03B9\u03B1\u03C4\u03C3", -1, 1), + new Among("\u03C0\u03B5\u03C4\u03C3", -1, 1), + new Among("\u03C0\u03B9\u03C4\u03C3", -1, 1), + new Among("\u03C6\u03C5\u03C3", -1, 1), + new Among("\u03BC\u03C0\u03B1\u03B3\u03B9\u03B1\u03C4", -1, 1), + new Among("\u03BD\u03B9\u03C4", -1, 1), + new Among("\u03C0\u03B9\u03BA\u03B1\u03BD\u03C4", -1, 1), + new Among("\u03C3\u03B5\u03C1\u03C4", -1, 1) +}; + +private final static Among a_40[] = { + new Among("\u03B1\u03B3\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03B7\u03BA\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BC\u03B5", 1, 1), + new Among("\u03B7\u03C3\u03B1\u03BC\u03B5", -1, 1), + new Among("\u03BF\u03C5\u03C3\u03B1\u03BC\u03B5", -1, 1) +}; + +private final static Among a_41[] = { + new Among("\u03B2\u03BF\u03C5\u03B2", -1, 1), + new Among("\u03BE\u03B5\u03B8", -1, 1), + new Among("\u03C0\u03B5\u03B8", -1, 1), + new Among("\u03B1\u03C0\u03BF\u03B8", -1, 1), + new Among("\u03B1\u03C0\u03BF\u03BA", -1, 1), + new Among("\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03B1\u03BD\u03B1\u03C0", -1, 1), + new Among("\u03C0\u03B9\u03BA\u03C1", -1, 1), + new Among("\u03C0\u03BF\u03C4", -1, 1), + new Among("\u03B1\u03C0\u03BF\u03C3\u03C4", -1, 1), + new Among("\u03C7", -1, 1), + new Among("\u03C3\u03B9\u03C7", 10, 1) +}; + +private final static Among a_42[] = { + new Among("\u03C4\u03C1", -1, 1), + new Among("\u03C4\u03C3", -1, 1) +}; + +private final static Among a_43[] = { + new Among("\u03B1\u03B3\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B7\u03BA\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BD\u03B5", 1, 1), + new Among("\u03B7\u03C3\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03BF\u03C5\u03C3\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03BF\u03BD\u03C4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03BF\u03BD\u03C4\u03B1\u03BD\u03B5", 5, 1), + new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD\u03B5", 7, 1), + new Among("\u03BF\u03C4\u03B1\u03BD\u03B5", -1, 1), + new Among("\u03B9\u03BF\u03C4\u03B1\u03BD\u03B5", 9, 1) +}; + +private final static Among a_44[] = { + new Among("\u03C4\u03B1\u03B2", -1, 1), + new Among("\u03BD\u03C4\u03B1\u03B2", 0, 1), + new Among("\u03C8\u03B7\u03BB\u03BF\u03C4\u03B1\u03B2", 0, 1), + new Among("\u03BB\u03B9\u03B2", -1, 1), + new Among("\u03BA\u03BB\u03B9\u03B2", 3, 1), + new Among("\u03BE\u03B7\u03C1\u03BF\u03BA\u03BB\u03B9\u03B2", 4, 1), + new Among("\u03B3", -1, 1), + new Among("\u03B1\u03B3", 6, 1), + new Among("\u03C4\u03C1\u03B1\u03B3", 7, 1), + new Among("\u03C4\u03C3\u03B1\u03B3", 7, 1), + new Among("\u03B1\u03B8\u03B9\u03B3\u03B3", 6, 1), + new Among("\u03C4\u03C3\u03B9\u03B3\u03B3", 6, 1), + new Among("\u03B1\u03C4\u03C3\u03B9\u03B3\u03B3", 11, 1), + new Among("\u03C3\u03C4\u03B5\u03B3", 6, 1), + new Among("\u03B1\u03C0\u03B7\u03B3", 6, 1), + new Among("\u03C3\u03B9\u03B3", 6, 1), + new Among("\u03B1\u03BD\u03BF\u03C1\u03B3", 6, 1), + new Among("\u03B5\u03BD\u03BF\u03C1\u03B3", 6, 1), + new Among("\u03BA\u03B1\u03BB\u03C0\u03BF\u03C5\u03B6", -1, 1), + new Among("\u03B8", -1, 1), + new Among("\u03BC\u03C9\u03B1\u03BC\u03B5\u03B8", 19, 1), + new Among("\u03C0\u03B9\u03B8", 19, 1), + new Among("\u03B1\u03C0\u03B9\u03B8", 21, 1), + new Among("\u03B4\u03B5\u03BA", -1, 1), + new Among("\u03C0\u03B5\u03BB\u03B5\u03BA", -1, 1), + new Among("\u03B9\u03BA", -1, 1), + new Among("\u03B1\u03BD\u03B9\u03BA", 25, 1), + new Among("\u03B2\u03BF\u03C5\u03BB\u03BA", -1, 1), + new Among("\u03B2\u03B1\u03C3\u03BA", -1, 1), + new Among("\u03B2\u03C1\u03B1\u03C7\u03C5\u03BA", -1, 1), + new Among("\u03B3\u03B1\u03BB", -1, 1), + new Among("\u03BA\u03B1\u03C4\u03B1\u03B3\u03B1\u03BB", 30, 1), + new Among("\u03BF\u03BB\u03BF\u03B3\u03B1\u03BB", 30, 1), + new Among("\u03B2\u03B1\u03B8\u03C5\u03B3\u03B1\u03BB", 30, 1), + new Among("\u03BC\u03B5\u03BB", -1, 1), + new Among("\u03BA\u03B1\u03C3\u03C4\u03B5\u03BB", -1, 1), + new Among("\u03C0\u03BF\u03C1\u03C4\u03BF\u03BB", -1, 1), + new Among("\u03C0\u03BB", -1, 1), + new Among("\u03B4\u03B9\u03C0\u03BB", 37, 1), + new Among("\u03BB\u03B1\u03BF\u03C0\u03BB", 37, 1), + new Among("\u03C8\u03C5\u03C7\u03BF\u03C0\u03BB", 37, 1), + new Among("\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03BF\u03BB\u03B9\u03B3\u03BF\u03B4\u03B1\u03BC", 42, 1), + new Among("\u03BC\u03BF\u03C5\u03C3\u03BF\u03C5\u03BB\u03BC", 42, 1), + new Among("\u03B4\u03C1\u03B1\u03B4\u03BF\u03C5\u03BC", 42, 1), + new Among("\u03B2\u03C1\u03B1\u03C7\u03BC", 42, 1), + new Among("\u03BD", -1, 1), + new Among("\u03B1\u03BC\u03B5\u03C1\u03B9\u03BA\u03B1\u03BD", 47, 1), + new Among("\u03C0", -1, 1), + new Among("\u03B1\u03B4\u03B1\u03C0", 49, 1), + new Among("\u03C7\u03B1\u03BC\u03B7\u03BB\u03BF\u03B4\u03B1\u03C0", 49, 1), + new Among("\u03C0\u03BF\u03BB\u03C5\u03B4\u03B1\u03C0", 49, 1), + new Among("\u03BA\u03BF\u03C0", 49, 1), + new Among("\u03C5\u03C0\u03BF\u03BA\u03BF\u03C0", 53, 1), + new Among("\u03C4\u03C3\u03BF\u03C0", 49, 1), + new Among("\u03C3\u03C0", 49, 1), + new Among("\u03B5\u03C1", -1, 1), + new Among("\u03B3\u03B5\u03C1", 57, 1), + new Among("\u03B2\u03B5\u03C4\u03B5\u03C1", 57, 1), + new Among("\u03BB\u03BF\u03C5\u03B8\u03B7\u03C1", -1, 1), + new Among("\u03BA\u03BF\u03C1\u03BC\u03BF\u03C1", -1, 1), + new Among("\u03C0\u03B5\u03C1\u03B9\u03C4\u03C1", -1, 1), + new Among("\u03BF\u03C5\u03C1", -1, 1), + new Among("\u03C3", -1, 1), + new Among("\u03B2\u03B1\u03C3", 64, 1), + new Among("\u03C0\u03BF\u03BB\u03B9\u03C3", 64, 1), + new Among("\u03C3\u03B1\u03C1\u03B1\u03BA\u03B1\u03C4\u03C3", 64, 1), + new Among("\u03B8\u03C5\u03C3", 64, 1), + new Among("\u03B4\u03B9\u03B1\u03C4", -1, 1), + new Among("\u03C0\u03BB\u03B1\u03C4", -1, 1), + new Among("\u03C4\u03C3\u03B1\u03C1\u03BB\u03B1\u03C4", -1, 1), + new Among("\u03C4\u03B5\u03C4", -1, 1), + new Among("\u03C0\u03BF\u03C5\u03C1\u03B9\u03C4", -1, 1), + new Among("\u03C3\u03BF\u03C5\u03BB\u03C4", -1, 1), + new Among("\u03BC\u03B1\u03B9\u03BD\u03C4", -1, 1), + new Among("\u03B6\u03C9\u03BD\u03C4", -1, 1), + new Among("\u03BA\u03B1\u03C3\u03C4", -1, 1), + new Among("\u03C6", -1, 1), + new Among("\u03B4\u03B9\u03B1\u03C6", 78, 1), + new Among("\u03C3\u03C4\u03B5\u03C6", 78, 1), + new Among("\u03C6\u03C9\u03C4\u03BF\u03C3\u03C4\u03B5\u03C6", 80, 1), + new Among("\u03C0\u03B5\u03C1\u03B7\u03C6", 78, 1), + new Among("\u03C5\u03C0\u03B5\u03C1\u03B7\u03C6", 82, 1), + new Among("\u03BA\u03BF\u03B9\u03BB\u03B1\u03C1\u03C6", 78, 1), + new Among("\u03C0\u03B5\u03BD\u03C4\u03B1\u03C1\u03C6", 78, 1), + new Among("\u03BF\u03C1\u03C6", 78, 1), + new Among("\u03C7", -1, 1), + new Among("\u03B1\u03BC\u03B7\u03C7", 87, 1), + new Among("\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 87, 1), + new Among("\u03BC\u03B5\u03B3\u03BB\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1), + new Among("\u03BA\u03B1\u03C0\u03BD\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1), + new Among("\u03BC\u03B9\u03BA\u03C1\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1), + new Among("\u03C0\u03BF\u03BB\u03C5\u03BC\u03B7\u03C7", 87, 1), + new Among("\u03BB\u03B9\u03C7", 87, 1) +}; + +private final static Among a_45[] = { + new Among("\u03B7\u03C3\u03B5\u03C4\u03B5", -1, 1) +}; + +private final static Among a_46[] = { + new Among("\u03B5\u03BD\u03B4", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B4", -1, 1), + new Among("\u03BF\u03B4", -1, 1), + new Among("\u03B4\u03B9\u03B1\u03B8", -1, 1), + new Among("\u03BA\u03B1\u03B8", -1, 1), + new Among("\u03C1\u03B1\u03B8", -1, 1), + new Among("\u03C4\u03B1\u03B8", -1, 1), + new Among("\u03C4\u03B9\u03B8", -1, 1), + new Among("\u03B5\u03BA\u03B8", -1, 1), + new Among("\u03B5\u03BD\u03B8", -1, 1), + new Among("\u03C3\u03C5\u03BD\u03B8", -1, 1), + new Among("\u03C1\u03BF\u03B8", -1, 1), + new Among("\u03C5\u03C0\u03B5\u03C1\u03B8", -1, 1), + new Among("\u03C3\u03B8", -1, 1), + new Among("\u03B5\u03C5\u03B8", -1, 1), + new Among("\u03B1\u03C1\u03BA", -1, 1), + new Among("\u03C9\u03C6\u03B5\u03BB", -1, 1), + new Among("\u03B2\u03BF\u03BB", -1, 1), + new Among("\u03B1\u03B9\u03BD", -1, 1), + new Among("\u03C0\u03BF\u03BD", -1, 1), + new Among("\u03C1\u03BF\u03BD", -1, 1), + new Among("\u03C3\u03C5\u03BD", -1, 1), + new Among("\u03B2\u03B1\u03C1", -1, 1), + new Among("\u03B2\u03C1", -1, 1), + new Among("\u03B1\u03B9\u03C1", -1, 1), + new Among("\u03C6\u03BF\u03C1", -1, 1), + new Among("\u03B5\u03C5\u03C1", -1, 1), + new Among("\u03C0\u03C5\u03C1", -1, 1), + new Among("\u03C7\u03C9\u03C1", -1, 1), + new Among("\u03BD\u03B5\u03C4", -1, 1), + new Among("\u03C3\u03C7", -1, 1) +}; + +private final static Among a_47[] = { + new Among("\u03C0\u03B1\u03B3", -1, 1), + new Among("\u03B4", -1, 1), + new Among("\u03B1\u03B4", 1, 1), + new Among("\u03B8", -1, 1), + new Among("\u03B1\u03B8", 3, 1), + new Among("\u03C4\u03BF\u03BA", -1, 1), + new Among("\u03C3\u03BA", -1, 1), + new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB", -1, 1), + new Among("\u03C3\u03BA\u03B5\u03BB", -1, 1), + new Among("\u03B1\u03C0\u03BB", -1, 1), + new Among("\u03B5\u03BC", -1, 1), + new Among("\u03B1\u03BD", -1, 1), + new Among("\u03B2\u03B5\u03BD", -1, 1), + new Among("\u03B2\u03B1\u03C1\u03BF\u03BD", -1, 1), + new Among("\u03BA\u03BF\u03C0", -1, 1), + new Among("\u03C3\u03B5\u03C1\u03C0", -1, 1), + new Among("\u03B1\u03B2\u03B1\u03C1", -1, 1), + new Among("\u03B5\u03BD\u03B1\u03C1", -1, 1), + new Among("\u03B1\u03B2\u03C1", -1, 1), + new Among("\u03BC\u03C0\u03BF\u03C1", -1, 1), + new Among("\u03B8\u03B1\u03C1\u03C1", -1, 1), + new Among("\u03BD\u03C4\u03C1", -1, 1), + new Among("\u03C5", -1, 1), + new Among("\u03BD\u03B9\u03C6", -1, 1), + new Among("\u03C3\u03C5\u03C1\u03C6", -1, 1) +}; + +private final static Among a_48[] = { + new Among("\u03BF\u03BD\u03C4\u03B1\u03C3", -1, 1), + new Among("\u03C9\u03BD\u03C4\u03B1\u03C3", -1, 1) +}; + +private final static Among a_49[] = { + new Among("\u03BF\u03BC\u03B1\u03C3\u03C4\u03B5", -1, 1), + new Among("\u03B9\u03BF\u03BC\u03B1\u03C3\u03C4\u03B5", 0, 1) +}; + +private final static Among a_50[] = { + new Among("\u03C0", -1, 1), + new Among("\u03B1\u03C0", 0, 1), + new Among("\u03B1\u03BA\u03B1\u03C4\u03B1\u03C0", 1, 1), + new Among("\u03C3\u03C5\u03BC\u03C0", 0, 1), + new Among("\u03B1\u03C3\u03C5\u03BC\u03C0", 3, 1), + new Among("\u03B1\u03BC\u03B5\u03C4\u03B1\u03BC\u03C6", -1, 1) +}; + +private final static Among a_51[] = { + new Among("\u03B6", -1, 1), + new Among("\u03B1\u03BB", -1, 1), + new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB", 1, 1), + new Among("\u03B5\u03BA\u03C4\u03B5\u03BB", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03BE", -1, 1), + new Among("\u03C0\u03C1\u03BF", -1, 1), + new Among("\u03B1\u03C1", -1, 1), + new Among("\u03BD\u03B9\u03C3", -1, 1) +}; + +private final static Among a_52[] = { + new Among("\u03B7\u03B8\u03B7\u03BA\u03B1", -1, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B5", -1, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B5\u03C3", -1, 1) +}; + +private final static Among a_53[] = { + new Among("\u03C0\u03B9\u03B8", -1, 1), + new Among("\u03BF\u03B8", -1, 1), + new Among("\u03BD\u03B1\u03C1\u03B8", -1, 1), + new Among("\u03C3\u03BA\u03BF\u03C5\u03BB", -1, 1), + new Among("\u03C3\u03BA\u03C9\u03BB", -1, 1), + new Among("\u03C3\u03C6", -1, 1) +}; + +private final static Among a_54[] = { + new Among("\u03B8", -1, 1), + new Among("\u03B4\u03B9\u03B1\u03B8", 0, 1), + new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03C4\u03B1\u03B8", 0, 1), + new Among("\u03C3\u03C5\u03BD\u03B8", 0, 1), + new Among("\u03C0\u03C1\u03BF\u03C3\u03B8", 0, 1) +}; + +private final static Among a_55[] = { + new Among("\u03B7\u03BA\u03B1", -1, 1), + new Among("\u03B7\u03BA\u03B5", -1, 1), + new Among("\u03B7\u03BA\u03B5\u03C3", -1, 1) +}; + +private final static Among a_56[] = { + new Among("\u03C6\u03B1\u03B3", -1, 1), + new Among("\u03BB\u03B7\u03B3", -1, 1), + new Among("\u03C6\u03C1\u03C5\u03B4", -1, 1), + new Among("\u03BC\u03B1\u03BD\u03C4\u03B9\u03BB", -1, 1), + new Among("\u03BC\u03B1\u03BB\u03BB", -1, 1), + new Among("\u03BF\u03BC", -1, 1), + new Among("\u03B2\u03BB\u03B5\u03C0", -1, 1), + new Among("\u03C0\u03BF\u03B4\u03B1\u03C1", -1, 1), + new Among("\u03BA\u03C5\u03BC\u03B1\u03C4", -1, 1), + new Among("\u03C0\u03C1\u03C9\u03C4", -1, 1), + new Among("\u03BB\u03B1\u03C7", -1, 1), + new Among("\u03C0\u03B1\u03BD\u03C4\u03B1\u03C7", -1, 1) +}; + +private final static Among a_57[] = { + new Among("\u03C4\u03C3\u03B1", -1, 1), + new Among("\u03C7\u03B1\u03B4", -1, 1), + new Among("\u03BC\u03B5\u03B4", -1, 1), + new Among("\u03BB\u03B1\u03BC\u03C0\u03B9\u03B4", -1, 1), + new Among("\u03B4\u03B5", -1, 1), + new Among("\u03C0\u03BB\u03B5", -1, 1), + new Among("\u03BC\u03B5\u03C3\u03B1\u03B6", -1, 1), + new Among("\u03B4\u03B5\u03C3\u03C0\u03BF\u03B6", -1, 1), + new Among("\u03B1\u03B9\u03B8", -1, 1), + new Among("\u03C6\u03B1\u03C1\u03BC\u03B1\u03BA", -1, 1), + new Among("\u03B1\u03B3\u03BA", -1, 1), + new Among("\u03B1\u03BD\u03B7\u03BA", -1, 1), + new Among("\u03BB", -1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03B1\u03BC", 13, 1), + new Among("\u03B2\u03C1\u03BF\u03BC", 13, 1), + new Among("\u03C5\u03C0\u03BF\u03C4\u03B5\u03B9\u03BD", -1, 1), + new Among("\u03B5\u03BA\u03BB\u03B9\u03C0", -1, 1), + new Among("\u03C1", -1, 1), + new Among("\u03B5\u03BD\u03B4\u03B9\u03B1\u03C6\u03B5\u03C1", 18, 1), + new Among("\u03B1\u03BD\u03B1\u03C1\u03C1", 18, 1), + new Among("\u03C0\u03B1\u03C4", -1, 1), + new Among("\u03BA\u03B1\u03B8\u03B1\u03C1\u03B5\u03C5", -1, 1), + new Among("\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03B5\u03C5", -1, 1), + new Among("\u03BB\u03B5\u03C7", -1, 1) +}; + +private final static Among a_58[] = { + new Among("\u03BF\u03C5\u03C3\u03B1", -1, 1), + new Among("\u03BF\u03C5\u03C3\u03B5", -1, 1), + new Among("\u03BF\u03C5\u03C3\u03B5\u03C3", -1, 1) +}; + +private final static Among a_59[] = { + new Among("\u03C8\u03BF\u03C6", -1, -1), + new Among("\u03BD\u03B1\u03C5\u03BB\u03BF\u03C7", -1, -1) +}; + +private final static Among a_60[] = { + new Among("\u03C0\u03B5\u03BB", -1, 1), + new Among("\u03BB\u03BB", -1, 1), + new Among("\u03C3\u03BC\u03B7\u03BD", -1, 1), + new Among("\u03C1\u03C0", -1, 1), + new Among("\u03C0\u03C1", -1, 1), + new Among("\u03C6\u03C1", -1, 1), + new Among("\u03C7\u03BF\u03C1\u03C4", -1, 1), + new Among("\u03BF\u03C6", -1, 1), + new Among("\u03C3\u03C6", -1, 1), + new Among("\u03BB\u03BF\u03C7", -1, 1) +}; + +private final static Among a_61[] = { + new Among("\u03B1\u03BC\u03B1\u03BB\u03BB\u03B9", -1, 1), + new Among("\u03BB", -1, 1), + new Among("\u03B1\u03BC\u03B1\u03BB", 1, 1), + new Among("\u03BC", -1, 1), + new Among("\u03BF\u03C5\u03BB\u03B1\u03BC", 3, 1), + new Among("\u03B5\u03BD", -1, 1), + new Among("\u03B4\u03B5\u03C1\u03B2\u03B5\u03BD", 5, 1), + new Among("\u03C0", -1, 1), + new Among("\u03B1\u03B5\u03B9\u03C0", 7, 1), + new Among("\u03B1\u03C1\u03C4\u03B9\u03C0", 7, 1), + new Among("\u03C3\u03C5\u03BC\u03C0", 7, 1), + new Among("\u03BD\u03B5\u03BF\u03C0", 7, 1), + new Among("\u03BA\u03C1\u03BF\u03BA\u03B1\u03BB\u03BF\u03C0", 7, 1), + new Among("\u03BF\u03BB\u03BF\u03C0", 7, 1), + new Among("\u03C0\u03C1\u03BF\u03C3\u03C9\u03C0\u03BF\u03C0", 7, 1), + new Among("\u03C3\u03B9\u03B4\u03B7\u03C1\u03BF\u03C0", 7, 1), + new Among("\u03B4\u03C1\u03BF\u03C3\u03BF\u03C0", 7, 1), + new Among("\u03B1\u03C3\u03C0", 7, 1), + new Among("\u03B1\u03BD\u03C5\u03C0", 7, 1), + new Among("\u03C1", -1, 1), + new Among("\u03B1\u03C3\u03C0\u03B1\u03C1", 19, 1), + new Among("\u03C7\u03B1\u03C1", 19, 1), + new Among("\u03B1\u03C7\u03B1\u03C1", 21, 1), + new Among("\u03B1\u03C0\u03B5\u03C1", 19, 1), + new Among("\u03C4\u03C1", 19, 1), + new Among("\u03BF\u03C5\u03C1", 19, 1), + new Among("\u03C4", -1, 1), + new Among("\u03B4\u03B9\u03B1\u03C4", 26, 1), + new Among("\u03B5\u03C0\u03B9\u03C4", 26, 1), + new Among("\u03C3\u03C5\u03BD\u03C4", 26, 1), + new Among("\u03BF\u03BC\u03BF\u03C4", 26, 1), + new Among("\u03BD\u03BF\u03BC\u03BF\u03C4", 30, 1), + new Among("\u03B1\u03C0\u03BF\u03C4", 26, 1), + new Among("\u03C5\u03C0\u03BF\u03C4", 26, 1), + new Among("\u03B1\u03B2\u03B1\u03C3\u03C4", 26, 1), + new Among("\u03B1\u03B9\u03BC\u03BF\u03C3\u03C4", 26, 1), + new Among("\u03C0\u03C1\u03BF\u03C3\u03C4", 26, 1), + new Among("\u03B1\u03BD\u03C5\u03C3\u03C4", 26, 1), + new Among("\u03BD\u03B1\u03C5", -1, 1), + new Among("\u03B1\u03C6", -1, 1), + new Among("\u03BE\u03B5\u03C6", -1, 1), + new Among("\u03B1\u03B4\u03B7\u03C6", -1, 1), + new Among("\u03C0\u03B1\u03BC\u03C6", -1, 1), + new Among("\u03C0\u03BF\u03BB\u03C5\u03C6", -1, 1) +}; + +private final static Among a_62[] = { + new Among("\u03B1\u03B3\u03B1", -1, 1), + new Among("\u03B1\u03B3\u03B5", -1, 1), + new Among("\u03B1\u03B3\u03B5\u03C3", -1, 1) +}; + +private final static Among a_63[] = { + new Among("\u03B7\u03C3\u03B1", -1, 1), + new Among("\u03B7\u03C3\u03B5", -1, 1), + new Among("\u03B7\u03C3\u03BF\u03C5", -1, 1) +}; + +private final static Among a_64[] = { + new Among("\u03BD", -1, 1), + new Among("\u03B4\u03C9\u03B4\u03B5\u03BA\u03B1\u03BD", 0, 1), + new Among("\u03B5\u03C0\u03C4\u03B1\u03BD", 0, 1), + new Among("\u03BC\u03B5\u03B3\u03B1\u03BB\u03BF\u03BD", 0, 1), + new Among("\u03B5\u03C1\u03B7\u03BC\u03BF\u03BD", 0, 1), + new Among("\u03C7\u03B5\u03C1\u03C3\u03BF\u03BD", 0, 1) +}; + +private final static Among a_65[] = { + new Among("\u03B7\u03C3\u03C4\u03B5", -1, 1) +}; + +private final static Among a_66[] = { + new Among("\u03C3\u03B2", -1, 1), + new Among("\u03B1\u03C3\u03B2", 0, 1), + new Among("\u03B1\u03C0\u03BB", -1, 1), + new Among("\u03B1\u03B5\u03B9\u03BC\u03BD", -1, 1), + new Among("\u03C7\u03C1", -1, 1), + new Among("\u03B1\u03C7\u03C1", 4, 1), + new Among("\u03BA\u03BF\u03B9\u03BD\u03BF\u03C7\u03C1", 4, 1), + new Among("\u03B4\u03C5\u03C3\u03C7\u03C1", 4, 1), + new Among("\u03B5\u03C5\u03C7\u03C1", 4, 1), + new Among("\u03C0\u03B1\u03BB\u03B9\u03BC\u03C8", -1, 1) +}; + +private final static Among a_67[] = { + new Among("\u03BF\u03C5\u03BD\u03B5", -1, 1), + new Among("\u03B7\u03B8\u03BF\u03C5\u03BD\u03B5", 0, 1), + new Among("\u03B7\u03C3\u03BF\u03C5\u03BD\u03B5", 0, 1) +}; + +private final static Among a_68[] = { + new Among("\u03C3\u03C0\u03B9", -1, 1), + new Among("\u03BD", -1, 1), + new Among("\u03B5\u03BE\u03C9\u03BD", 1, 1), + new Among("\u03C1", -1, 1), + new Among("\u03C3\u03C4\u03C1\u03B1\u03B2\u03BF\u03BC\u03BF\u03C5\u03C4\u03C3", -1, 1), + new Among("\u03BA\u03B1\u03BA\u03BF\u03BC\u03BF\u03C5\u03C4\u03C3", -1, 1) +}; + +private final static Among a_69[] = { + new Among("\u03BF\u03C5\u03BC\u03B5", -1, 1), + new Among("\u03B7\u03B8\u03BF\u03C5\u03BC\u03B5", 0, 1), + new Among("\u03B7\u03C3\u03BF\u03C5\u03BC\u03B5", 0, 1) +}; + +private final static Among a_70[] = { + new Among("\u03B1\u03B6", -1, 1), + new Among("\u03C9\u03C1\u03B9\u03BF\u03C0\u03BB", -1, 1), + new Among("\u03B1\u03C3\u03BF\u03C5\u03C3", -1, 1), + new Among("\u03C0\u03B1\u03C1\u03B1\u03C3\u03BF\u03C5\u03C3", 2, 1), + new Among("\u03B1\u03BB\u03BB\u03BF\u03C3\u03BF\u03C5\u03C3", -1, 1), + new Among("\u03C6", -1, 1), + new Among("\u03C7", -1, 1) +}; + +private final static Among a_71[] = { + new Among("\u03BC\u03B1\u03C4\u03B1", -1, 1), + new Among("\u03BC\u03B1\u03C4\u03C9\u03BD", -1, 1), + new Among("\u03BC\u03B1\u03C4\u03BF\u03C3", -1, 1) +}; + +private final static Among a_72[] = { + new Among("\u03B1", -1, 1), + new Among("\u03B9\u03BF\u03C5\u03BC\u03B1", 0, 1), + new Among("\u03BF\u03BC\u03BF\u03C5\u03BD\u03B1", 0, 1), + new Among("\u03B9\u03BF\u03BC\u03BF\u03C5\u03BD\u03B1", 2, 1), + new Among("\u03BF\u03C3\u03BF\u03C5\u03BD\u03B1", 0, 1), + new Among("\u03B9\u03BF\u03C3\u03BF\u03C5\u03BD\u03B1", 4, 1), + new Among("\u03B5", -1, 1), + new Among("\u03B1\u03B3\u03B1\u03C4\u03B5", 6, 1), + new Among("\u03B7\u03BA\u03B1\u03C4\u03B5", 6, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03C4\u03B5", 8, 1), + new Among("\u03B7\u03C3\u03B1\u03C4\u03B5", 6, 1), + new Among("\u03BF\u03C5\u03C3\u03B1\u03C4\u03B5", 6, 1), + new Among("\u03B5\u03B9\u03C4\u03B5", 6, 1), + new Among("\u03B7\u03B8\u03B5\u03B9\u03C4\u03B5", 12, 1), + new Among("\u03B9\u03B5\u03BC\u03B1\u03C3\u03C4\u03B5", 6, 1), + new Among("\u03BF\u03C5\u03BC\u03B1\u03C3\u03C4\u03B5", 6, 1), + new Among("\u03B9\u03BF\u03C5\u03BC\u03B1\u03C3\u03C4\u03B5", 15, 1), + new Among("\u03B9\u03B5\u03C3\u03B1\u03C3\u03C4\u03B5", 6, 1), + new Among("\u03BF\u03C3\u03B1\u03C3\u03C4\u03B5", 6, 1), + new Among("\u03B9\u03BF\u03C3\u03B1\u03C3\u03C4\u03B5", 18, 1), + new Among("\u03B7", -1, 1), + new Among("\u03B9", -1, 1), + new Among("\u03B1\u03BC\u03B1\u03B9", 21, 1), + new Among("\u03B9\u03B5\u03BC\u03B1\u03B9", 21, 1), + new Among("\u03BF\u03BC\u03B1\u03B9", 21, 1), + new Among("\u03BF\u03C5\u03BC\u03B1\u03B9", 21, 1), + new Among("\u03B1\u03C3\u03B1\u03B9", 21, 1), + new Among("\u03B5\u03C3\u03B1\u03B9", 21, 1), + new Among("\u03B9\u03B5\u03C3\u03B1\u03B9", 27, 1), + new Among("\u03B1\u03C4\u03B1\u03B9", 21, 1), + new Among("\u03B5\u03C4\u03B1\u03B9", 21, 1), + new Among("\u03B9\u03B5\u03C4\u03B1\u03B9", 30, 1), + new Among("\u03BF\u03BD\u03C4\u03B1\u03B9", 21, 1), + new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03B9", 21, 1), + new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03B9", 33, 1), + new Among("\u03B5\u03B9", 21, 1), + new Among("\u03B1\u03B5\u03B9", 35, 1), + new Among("\u03B7\u03B8\u03B5\u03B9", 35, 1), + new Among("\u03B7\u03C3\u03B5\u03B9", 35, 1), + new Among("\u03BF\u03B9", 21, 1), + new Among("\u03B1\u03BD", -1, 1), + new Among("\u03B1\u03B3\u03B1\u03BD", 40, 1), + new Among("\u03B7\u03BA\u03B1\u03BD", 40, 1), + new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BD", 42, 1), + new Among("\u03B7\u03C3\u03B1\u03BD", 40, 1), + new Among("\u03BF\u03C5\u03C3\u03B1\u03BD", 40, 1), + new Among("\u03BF\u03BD\u03C4\u03BF\u03C5\u03C3\u03B1\u03BD", 45, 1), + new Among("\u03B9\u03BF\u03BD\u03C4\u03BF\u03C5\u03C3\u03B1\u03BD", 46, 1), + new Among("\u03BF\u03BD\u03C4\u03B1\u03BD", 40, 1), + new Among("\u03B9\u03BF\u03BD\u03C4\u03B1\u03BD", 48, 1), + new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD", 40, 1), + new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD", 50, 1), + new Among("\u03BF\u03C4\u03B1\u03BD", 40, 1), + new Among("\u03B9\u03BF\u03C4\u03B1\u03BD", 52, 1), + new Among("\u03BF\u03BC\u03B1\u03C3\u03C4\u03B1\u03BD", 40, 1), + new Among("\u03B9\u03BF\u03BC\u03B1\u03C3\u03C4\u03B1\u03BD", 54, 1), + new Among("\u03BF\u03C3\u03B1\u03C3\u03C4\u03B1\u03BD", 40, 1), + new Among("\u03B9\u03BF\u03C3\u03B1\u03C3\u03C4\u03B1\u03BD", 56, 1), + new Among("\u03BF\u03C5\u03BD", -1, 1), + new Among("\u03B7\u03B8\u03BF\u03C5\u03BD", 58, 1), + new Among("\u03BF\u03BC\u03BF\u03C5\u03BD", 58, 1), + new Among("\u03B9\u03BF\u03BC\u03BF\u03C5\u03BD", 60, 1), + new Among("\u03B7\u03C3\u03BF\u03C5\u03BD", 58, 1), + new Among("\u03BF\u03C3\u03BF\u03C5\u03BD", 58, 1), + new Among("\u03B9\u03BF\u03C3\u03BF\u03C5\u03BD", 63, 1), + new Among("\u03C9\u03BD", -1, 1), + new Among("\u03B7\u03B4\u03C9\u03BD", 65, 1), + new Among("\u03BF", -1, 1), + new Among("\u03B1\u03C3", -1, 1), + new Among("\u03B5\u03C3", -1, 1), + new Among("\u03B7\u03B4\u03B5\u03C3", 69, 1), + new Among("\u03B7\u03C3\u03B5\u03C3", 69, 1), + new Among("\u03B7\u03C3", -1, 1), + new Among("\u03B5\u03B9\u03C3", -1, 1), + new Among("\u03B7\u03B8\u03B5\u03B9\u03C3", 73, 1), + new Among("\u03BF\u03C3", -1, 1), + new Among("\u03C5\u03C3", -1, 1), + new Among("\u03BF\u03C5\u03C3", 76, 1), + new Among("\u03C5", -1, 1), + new Among("\u03BF\u03C5", 78, 1), + new Among("\u03C9", -1, 1), + new Among("\u03B1\u03C9", 80, 1), + new Among("\u03B7\u03B8\u03C9", 80, 1), + new Among("\u03B7\u03C3\u03C9", 80, 1) +}; + +private final static Among a_73[] = { + new Among("\u03BF\u03C4\u03B5\u03C1", -1, 1), + new Among("\u03B5\u03C3\u03C4\u03B5\u03C1", -1, 1), + new Among("\u03C5\u03C4\u03B5\u03C1", -1, 1), + new Among("\u03C9\u03C4\u03B5\u03C1", -1, 1), + new Among("\u03BF\u03C4\u03B1\u03C4", -1, 1), + new Among("\u03B5\u03C3\u03C4\u03B1\u03C4", -1, 1), + new Among("\u03C5\u03C4\u03B1\u03C4", -1, 1), + new Among("\u03C9\u03C4\u03B1\u03C4", -1, 1) +}; + +private static final char g_v[] = {81, 65, 16, 1 }; + +private static final char g_v2[] = {81, 65, 0, 1 }; + +private boolean B_test1; + + +private boolean r_has_min_length() { + if (!(limit >= 3)) + { + return false; + } + return true; +} + +private boolean r_tolower() { + int among_var; + while(true) + { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + break lab0; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("\u03B1"); + break; + case 2: + slice_from("\u03B2"); + break; + case 3: + slice_from("\u03B3"); + break; + case 4: + slice_from("\u03B4"); + break; + case 5: + slice_from("\u03B5"); + break; + case 6: + slice_from("\u03B6"); + break; + case 7: + slice_from("\u03B7"); + break; + case 8: + slice_from("\u03B8"); + break; + case 9: + slice_from("\u03B9"); + break; + case 10: + slice_from("\u03BA"); + break; + case 11: + slice_from("\u03BB"); + break; + case 12: + slice_from("\u03BC"); + break; + case 13: + slice_from("\u03BD"); + break; + case 14: + slice_from("\u03BE"); + break; + case 15: + slice_from("\u03BF"); + break; + case 16: + slice_from("\u03C0"); + break; + case 17: + slice_from("\u03C1"); + break; + case 18: + slice_from("\u03C3"); + break; + case 19: + slice_from("\u03C4"); + break; + case 20: + slice_from("\u03C5"); + break; + case 21: + slice_from("\u03C6"); + break; + case 22: + slice_from("\u03C7"); + break; + case 23: + slice_from("\u03C8"); + break; + case 24: + slice_from("\u03C9"); + break; + case 25: + if (cursor <= limit_backward) + { + break lab0; + } + cursor--; + break; + } + continue; + } + cursor = limit - v_1; + break; + } + return true; +} + +private boolean r_step1() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("\u03C6\u03B1"); + break; + case 2: + slice_from("\u03C3\u03BA\u03B1"); + break; + case 3: + slice_from("\u03BF\u03BB\u03BF"); + break; + case 4: + slice_from("\u03C3\u03BF"); + break; + case 5: + slice_from("\u03C4\u03B1\u03C4\u03BF"); + break; + case 6: + slice_from("\u03BA\u03C1\u03B5"); + break; + case 7: + slice_from("\u03C0\u03B5\u03C1"); + break; + case 8: + slice_from("\u03C4\u03B5\u03C1"); + break; + case 9: + slice_from("\u03C6\u03C9"); + break; + case 10: + slice_from("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4"); + break; + case 11: + slice_from("\u03B3\u03B5\u03B3\u03BF\u03BD"); + break; + } + B_test1 = false; + return true; +} + +private boolean r_steps1() { + ket = cursor; + if (find_among_b(a_4) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_2) == 0) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B9"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03B6"); + } + return true; +} + +private boolean r_steps2() { + ket = cursor; + if (find_among_b(a_6) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_5) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03C9\u03BD"); + return true; +} + +private boolean r_steps3() { + ket = cursor; + if (find_among_b(a_9) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("\u03B9\u03C3\u03B1"))) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B9\u03C3"); + break lab0; + } + cursor = limit - v_1; + lab2: { + ket = cursor; + bra = cursor; + if (find_among_b(a_7) == 0) + { + break lab2; + } + if (cursor > limit_backward) + { + break lab2; + } + slice_from("\u03B9"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (find_among_b(a_8) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03C3"); + } + return true; +} + +private boolean r_steps4() { + ket = cursor; + if (find_among_b(a_11) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_10) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9"); + return true; +} + +private boolean r_steps5() { + ket = cursor; + if (find_among_b(a_14) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_12) == 0) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B9"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (find_among_b(a_13) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03C3\u03C4"); + } + return true; +} + +private boolean r_steps6() { + int among_var; + ket = cursor; + if (find_among_b(a_18) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_15) == 0) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B9\u03C3\u03BC"); + break lab0; + } + cursor = limit - v_1; + lab2: { + ket = cursor; + bra = cursor; + if (find_among_b(a_16) == 0) + { + break lab2; + } + if (cursor > limit_backward) + { + break lab2; + } + slice_from("\u03B9"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + among_var = find_among_b(a_17); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("\u03B1\u03B3\u03BD\u03C9\u03C3\u03C4"); + break; + case 2: + slice_from("\u03B1\u03C4\u03BF\u03BC"); + break; + case 3: + slice_from("\u03B3\u03BD\u03C9\u03C3\u03C4"); + break; + case 4: + slice_from("\u03B5\u03B8\u03BD"); + break; + case 5: + slice_from("\u03B5\u03BA\u03BB\u03B5\u03BA\u03C4"); + break; + case 6: + slice_from("\u03C3\u03BA\u03B5\u03C0\u03C4"); + break; + case 7: + slice_from("\u03C4\u03BF\u03C0"); + break; + case 8: + slice_from("\u03B1\u03BB\u03B5\u03BE\u03B1\u03BD\u03B4\u03C1"); + break; + case 9: + slice_from("\u03B2\u03C5\u03B6\u03B1\u03BD\u03C4"); + break; + case 10: + slice_from("\u03B8\u03B5\u03B1\u03C4\u03C1"); + break; + } + } + return true; +} + +private boolean r_steps7() { + ket = cursor; + if (find_among_b(a_20) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_19) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B1\u03C1\u03B1\u03BA"); + return true; +} + +private boolean r_steps8() { + ket = cursor; + if (find_among_b(a_23) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_21) == 0) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B1\u03BA"); + break lab0; + } + cursor = limit - v_1; + lab2: { + ket = cursor; + bra = cursor; + if (find_among_b(a_22) == 0) + { + break lab2; + } + if (cursor > limit_backward) + { + break lab2; + } + slice_from("\u03B9\u03C4\u03C3"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (!(eq_s_b("\u03BA\u03BF\u03C1"))) + { + return false; + } + slice_from("\u03B9\u03C4\u03C3"); + } + return true; +} + +private boolean r_steps9() { + ket = cursor; + if (find_among_b(a_26) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_24) == 0) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03B9\u03B4"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (find_among_b(a_25) == 0) + { + return false; + } + slice_from("\u03B9\u03B4"); + } + return true; +} + +private boolean r_steps10() { + ket = cursor; + if (find_among_b(a_28) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_27) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03C3\u03BA"); + return true; +} + +private boolean r_step2a() { + ket = cursor; + if (find_among_b(a_29) == 0) + { + return false; + } + bra = cursor; + slice_del(); + { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_30) == 0) + { + break lab0; + } + bra = cursor; + return false; + } + cursor = limit - v_1; + } + { + int c = cursor; + insert(cursor, cursor, "\u03B1\u03B4"); + cursor = c; + } + return true; +} + +private boolean r_step2b() { + ket = cursor; + if (find_among_b(a_31) == 0) + { + return false; + } + bra = cursor; + slice_del(); + ket = cursor; + bra = cursor; + if (find_among_b(a_32) == 0) + { + return false; + } + slice_from("\u03B5\u03B4"); + return true; +} + +private boolean r_step2c() { + ket = cursor; + if (find_among_b(a_33) == 0) + { + return false; + } + bra = cursor; + slice_del(); + ket = cursor; + bra = cursor; + if (find_among_b(a_34) == 0) + { + return false; + } + slice_from("\u03BF\u03C5\u03B4"); + return true; +} + +private boolean r_step2d() { + ket = cursor; + if (find_among_b(a_35) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_36) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B5"); + return true; +} + +private boolean r_step3() { + ket = cursor; + if (find_among_b(a_37) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (!(in_grouping_b(g_v, 945, 969))) + { + return false; + } + slice_from("\u03B9"); + return true; +} + +private boolean r_step4() { + ket = cursor; + if (find_among_b(a_38) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (!(in_grouping_b(g_v, 945, 969))) + { + break lab1; + } + slice_from("\u03B9\u03BA"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + } + bra = cursor; + if (find_among_b(a_39) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03BA"); + return true; +} + +private boolean r_step5a() { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("\u03B1\u03B3\u03B1\u03BC\u03B5"))) + { + break lab0; + } + if (cursor > limit_backward) + { + break lab0; + } + slice_from("\u03B1\u03B3\u03B1\u03BC"); + } + cursor = limit - v_1; + int v_2 = limit - cursor; + lab1: { + ket = cursor; + if (find_among_b(a_40) == 0) + { + break lab1; + } + bra = cursor; + slice_del(); + B_test1 = false; + } + cursor = limit - v_2; + ket = cursor; + if (!(eq_s_b("\u03B1\u03BC\u03B5"))) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_41) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B1\u03BC"); + return true; +} + +private boolean r_step5b() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_43) == 0) + { + break lab0; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_42) == 0) + { + break lab0; + } + if (cursor > limit_backward) + { + break lab0; + } + slice_from("\u03B1\u03B3\u03B1\u03BD"); + } + cursor = limit - v_1; + ket = cursor; + if (!(eq_s_b("\u03B1\u03BD\u03B5"))) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab1: { + int v_2 = limit - cursor; + lab2: { + ket = cursor; + bra = cursor; + if (!(in_grouping_b(g_v2, 945, 969))) + { + break lab2; + } + slice_from("\u03B1\u03BD"); + break lab1; + } + cursor = limit - v_2; + ket = cursor; + } + bra = cursor; + if (find_among_b(a_44) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B1\u03BD"); + return true; +} + +private boolean r_step5c() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_45) == 0) + { + break lab0; + } + bra = cursor; + slice_del(); + B_test1 = false; + } + cursor = limit - v_1; + ket = cursor; + if (!(eq_s_b("\u03B5\u03C4\u03B5"))) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab1: { + int v_2 = limit - cursor; + lab2: { + ket = cursor; + bra = cursor; + if (!(in_grouping_b(g_v2, 945, 969))) + { + break lab2; + } + slice_from("\u03B5\u03C4"); + break lab1; + } + cursor = limit - v_2; + lab3: { + ket = cursor; + bra = cursor; + if (find_among_b(a_46) == 0) + { + break lab3; + } + slice_from("\u03B5\u03C4"); + break lab1; + } + cursor = limit - v_2; + ket = cursor; + } + bra = cursor; + if (find_among_b(a_47) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B5\u03C4"); + return true; +} + +private boolean r_step5d() { + ket = cursor; + if (find_among_b(a_48) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (!(eq_s_b("\u03B1\u03C1\u03C7"))) + { + break lab1; + } + if (cursor > limit_backward) + { + break lab1; + } + slice_from("\u03BF\u03BD\u03C4"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (!(eq_s_b("\u03BA\u03C1\u03B5"))) + { + return false; + } + slice_from("\u03C9\u03BD\u03C4"); + } + return true; +} + +private boolean r_step5e() { + ket = cursor; + if (find_among_b(a_49) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (!(eq_s_b("\u03BF\u03BD"))) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03BF\u03BC\u03B1\u03C3\u03C4"); + return true; +} + +private boolean r_step5f() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("\u03B9\u03B5\u03C3\u03C4\u03B5"))) + { + break lab0; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_50) == 0) + { + break lab0; + } + if (cursor > limit_backward) + { + break lab0; + } + slice_from("\u03B9\u03B5\u03C3\u03C4"); + } + cursor = limit - v_1; + ket = cursor; + if (!(eq_s_b("\u03B5\u03C3\u03C4\u03B5"))) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_51) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B9\u03B5\u03C3\u03C4"); + return true; +} + +private boolean r_step5g() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_52) == 0) + { + break lab0; + } + bra = cursor; + slice_del(); + B_test1 = false; + } + cursor = limit - v_1; + ket = cursor; + if (find_among_b(a_55) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab1: { + int v_2 = limit - cursor; + lab2: { + ket = cursor; + bra = cursor; + if (find_among_b(a_53) == 0) + { + break lab2; + } + slice_from("\u03B7\u03BA"); + break lab1; + } + cursor = limit - v_2; + ket = cursor; + bra = cursor; + if (find_among_b(a_54) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B7\u03BA"); + } + return true; +} + +private boolean r_step5h() { + ket = cursor; + if (find_among_b(a_58) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (find_among_b(a_56) == 0) + { + break lab1; + } + slice_from("\u03BF\u03C5\u03C3"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + bra = cursor; + if (find_among_b(a_57) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03BF\u03C5\u03C3"); + } + return true; +} + +private boolean r_step5i() { + ket = cursor; + if (find_among_b(a_62) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + bra = cursor; + if (!(eq_s_b("\u03BA\u03BF\u03BB\u03BB"))) + { + break lab1; + } + slice_from("\u03B1\u03B3"); + break lab0; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab2: { + ket = cursor; + if (find_among_b(a_59) == 0) + { + break lab2; + } + bra = cursor; + return false; + } + cursor = limit - v_2; + } + lab3: { + int v_3 = limit - cursor; + lab4: { + ket = cursor; + bra = cursor; + if (find_among_b(a_60) == 0) + { + break lab4; + } + slice_from("\u03B1\u03B3"); + break lab3; + } + cursor = limit - v_3; + ket = cursor; + bra = cursor; + if (find_among_b(a_61) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B1\u03B3"); + } + } + return true; +} + +private boolean r_step5j() { + ket = cursor; + if (find_among_b(a_63) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_64) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B7\u03C3"); + return true; +} + +private boolean r_step5k() { + ket = cursor; + if (find_among_b(a_65) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_66) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03B7\u03C3\u03C4"); + return true; +} + +private boolean r_step5l() { + ket = cursor; + if (find_among_b(a_67) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_68) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03BF\u03C5\u03BD"); + return true; +} + +private boolean r_step5m() { + ket = cursor; + if (find_among_b(a_69) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_test1 = false; + ket = cursor; + bra = cursor; + if (find_among_b(a_70) == 0) + { + return false; + } + if (cursor > limit_backward) + { + return false; + } + slice_from("\u03BF\u03C5\u03BC"); + return true; +} + +private boolean r_step6() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_71) == 0) + { + break lab0; + } + bra = cursor; + slice_from("\u03BC\u03B1"); + } + cursor = limit - v_1; + if (!(B_test1)) + { + return false; + } + ket = cursor; + if (find_among_b(a_72) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_step7() { + ket = cursor; + if (find_among_b(a_73) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +public boolean stem() { + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + r_tolower(); + cursor = limit - v_1; + if (!r_has_min_length()) + { + return false; + } + B_test1 = true; + int v_2 = limit - cursor; + r_step1(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_steps1(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_steps2(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_steps3(); + cursor = limit - v_5; + int v_6 = limit - cursor; + r_steps4(); + cursor = limit - v_6; + int v_7 = limit - cursor; + r_steps5(); + cursor = limit - v_7; + int v_8 = limit - cursor; + r_steps6(); + cursor = limit - v_8; + int v_9 = limit - cursor; + r_steps7(); + cursor = limit - v_9; + int v_10 = limit - cursor; + r_steps8(); + cursor = limit - v_10; + int v_11 = limit - cursor; + r_steps9(); + cursor = limit - v_11; + int v_12 = limit - cursor; + r_steps10(); + cursor = limit - v_12; + int v_13 = limit - cursor; + r_step2a(); + cursor = limit - v_13; + int v_14 = limit - cursor; + r_step2b(); + cursor = limit - v_14; + int v_15 = limit - cursor; + r_step2c(); + cursor = limit - v_15; + int v_16 = limit - cursor; + r_step2d(); + cursor = limit - v_16; + int v_17 = limit - cursor; + r_step3(); + cursor = limit - v_17; + int v_18 = limit - cursor; + r_step4(); + cursor = limit - v_18; + int v_19 = limit - cursor; + r_step5a(); + cursor = limit - v_19; + int v_20 = limit - cursor; + r_step5b(); + cursor = limit - v_20; + int v_21 = limit - cursor; + r_step5c(); + cursor = limit - v_21; + int v_22 = limit - cursor; + r_step5d(); + cursor = limit - v_22; + int v_23 = limit - cursor; + r_step5e(); + cursor = limit - v_23; + int v_24 = limit - cursor; + r_step5f(); + cursor = limit - v_24; + int v_25 = limit - cursor; + r_step5g(); + cursor = limit - v_25; + int v_26 = limit - cursor; + r_step5h(); + cursor = limit - v_26; + int v_27 = limit - cursor; + r_step5j(); + cursor = limit - v_27; + int v_28 = limit - cursor; + r_step5i(); + cursor = limit - v_28; + int v_29 = limit - cursor; + r_step5k(); + cursor = limit - v_29; + int v_30 = limit - cursor; + r_step5l(); + cursor = limit - v_30; + int v_31 = limit - cursor; + r_step5m(); + cursor = limit - v_31; + int v_32 = limit - cursor; + r_step6(); + cursor = limit - v_32; + int v_33 = limit - cursor; + r_step7(); + cursor = limit - v_33; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof GreekStemmer; +} + +@Override +public int hashCode() { + return GreekStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HindiStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HindiStemmer.java new file mode 100644 index 00000000000..943773c55fa --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HindiStemmer.java @@ -0,0 +1,210 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class HindiStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("\u0906\u0901", -1, -1), + new Among("\u093E\u0901", -1, -1), + new Among("\u0907\u092F\u093E\u0901", 1, -1), + new Among("\u0906\u0907\u092F\u093E\u0901", 2, -1), + new Among("\u093E\u0907\u092F\u093E\u0901", 2, -1), + new Among("\u093F\u092F\u093E\u0901", 1, -1), + new Among("\u0906\u0902", -1, -1), + new Among("\u0909\u0906\u0902", 6, -1), + new Among("\u0941\u0906\u0902", 6, -1), + new Among("\u0908\u0902", -1, -1), + new Among("\u0906\u0908\u0902", 9, -1), + new Among("\u093E\u0908\u0902", 9, -1), + new Among("\u090F\u0902", -1, -1), + new Among("\u0906\u090F\u0902", 12, -1), + new Among("\u0909\u090F\u0902", 12, -1), + new Among("\u093E\u090F\u0902", 12, -1), + new Among("\u0924\u093E\u090F\u0902", 15, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u093E\u090F\u0902", 16, -1), + new Among("\u0928\u093E\u090F\u0902", 15, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0928\u093E\u090F\u0902", 18, -1), + new Among("\u0941\u090F\u0902", 12, -1), + new Among("\u0913\u0902", -1, -1), + new Among("\u0906\u0913\u0902", 21, -1), + new Among("\u0909\u0913\u0902", 21, -1), + new Among("\u093E\u0913\u0902", 21, -1), + new Among("\u0924\u093E\u0913\u0902", 24, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u093E\u0913\u0902", 25, -1), + new Among("\u0928\u093E\u0913\u0902", 24, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0928\u093E\u0913\u0902", 27, -1), + new Among("\u0941\u0913\u0902", 21, -1), + new Among("\u093E\u0902", -1, -1), + new Among("\u0907\u092F\u093E\u0902", 30, -1), + new Among("\u0906\u0907\u092F\u093E\u0902", 31, -1), + new Among("\u093E\u0907\u092F\u093E\u0902", 31, -1), + new Among("\u093F\u092F\u093E\u0902", 30, -1), + new Among("\u0940\u0902", -1, -1), + new Among("\u0924\u0940\u0902", 35, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u0940\u0902", 36, -1), + new Among("\u0906\u0924\u0940\u0902", 36, -1), + new Among("\u093E\u0924\u0940\u0902", 36, -1), + new Among("\u0947\u0902", -1, -1), + new Among("\u094B\u0902", -1, -1), + new Among("\u0907\u092F\u094B\u0902", 41, -1), + new Among("\u0906\u0907\u092F\u094B\u0902", 42, -1), + new Among("\u093E\u0907\u092F\u094B\u0902", 42, -1), + new Among("\u093F\u092F\u094B\u0902", 41, -1), + new Among("\u0905", -1, -1), + new Among("\u0906", -1, -1), + new Among("\u0907", -1, -1), + new Among("\u0908", -1, -1), + new Among("\u0906\u0908", 49, -1), + new Among("\u093E\u0908", 49, -1), + new Among("\u0909", -1, -1), + new Among("\u090A", -1, -1), + new Among("\u090F", -1, -1), + new Among("\u0906\u090F", 54, -1), + new Among("\u0907\u090F", 54, -1), + new Among("\u0906\u0907\u090F", 56, -1), + new Among("\u093E\u0907\u090F", 56, -1), + new Among("\u093E\u090F", 54, -1), + new Among("\u093F\u090F", 54, -1), + new Among("\u0913", -1, -1), + new Among("\u0906\u0913", 61, -1), + new Among("\u093E\u0913", 61, -1), + new Among("\u0915\u0930", -1, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0915\u0930", 64, -1), + new Among("\u0906\u0915\u0930", 64, -1), + new Among("\u093E\u0915\u0930", 64, -1), + new Among("\u093E", -1, -1), + new Among("\u090A\u0902\u0917\u093E", 68, -1), + new Among("\u0906\u090A\u0902\u0917\u093E", 69, -1), + new Among("\u093E\u090A\u0902\u0917\u093E", 69, -1), + new Among("\u0942\u0902\u0917\u093E", 68, -1), + new Among("\u090F\u0917\u093E", 68, -1), + new Among("\u0906\u090F\u0917\u093E", 73, -1), + new Among("\u093E\u090F\u0917\u093E", 73, -1), + new Among("\u0947\u0917\u093E", 68, -1), + new Among("\u0924\u093E", 68, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u093E", 77, -1), + new Among("\u0906\u0924\u093E", 77, -1), + new Among("\u093E\u0924\u093E", 77, -1), + new Among("\u0928\u093E", 68, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0928\u093E", 81, -1), + new Among("\u0906\u0928\u093E", 81, -1), + new Among("\u093E\u0928\u093E", 81, -1), + new Among("\u0906\u092F\u093E", 68, -1), + new Among("\u093E\u092F\u093E", 68, -1), + new Among("\u093F", -1, -1), + new Among("\u0940", -1, -1), + new Among("\u090A\u0902\u0917\u0940", 88, -1), + new Among("\u0906\u090A\u0902\u0917\u0940", 89, -1), + new Among("\u093E\u090A\u0902\u0917\u0940", 89, -1), + new Among("\u090F\u0902\u0917\u0940", 88, -1), + new Among("\u0906\u090F\u0902\u0917\u0940", 92, -1), + new Among("\u093E\u090F\u0902\u0917\u0940", 92, -1), + new Among("\u0942\u0902\u0917\u0940", 88, -1), + new Among("\u0947\u0902\u0917\u0940", 88, -1), + new Among("\u090F\u0917\u0940", 88, -1), + new Among("\u0906\u090F\u0917\u0940", 97, -1), + new Among("\u093E\u090F\u0917\u0940", 97, -1), + new Among("\u0913\u0917\u0940", 88, -1), + new Among("\u0906\u0913\u0917\u0940", 100, -1), + new Among("\u093E\u0913\u0917\u0940", 100, -1), + new Among("\u0947\u0917\u0940", 88, -1), + new Among("\u094B\u0917\u0940", 88, -1), + new Among("\u0924\u0940", 88, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u0940", 105, -1), + new Among("\u0906\u0924\u0940", 105, -1), + new Among("\u093E\u0924\u0940", 105, -1), + new Among("\u0928\u0940", 88, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0928\u0940", 109, -1), + new Among("\u0941", -1, -1), + new Among("\u0942", -1, -1), + new Among("\u0947", -1, -1), + new Among("\u090F\u0902\u0917\u0947", 113, -1), + new Among("\u0906\u090F\u0902\u0917\u0947", 114, -1), + new Among("\u093E\u090F\u0902\u0917\u0947", 114, -1), + new Among("\u0947\u0902\u0917\u0947", 113, -1), + new Among("\u0913\u0917\u0947", 113, -1), + new Among("\u0906\u0913\u0917\u0947", 118, -1), + new Among("\u093E\u0913\u0917\u0947", 118, -1), + new Among("\u094B\u0917\u0947", 113, -1), + new Among("\u0924\u0947", 113, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0924\u0947", 122, -1), + new Among("\u0906\u0924\u0947", 122, -1), + new Among("\u093E\u0924\u0947", 122, -1), + new Among("\u0928\u0947", 113, -1, "r_CONSONANT", methodObject), + new Among("\u0905\u0928\u0947", 126, -1), + new Among("\u0906\u0928\u0947", 126, -1), + new Among("\u093E\u0928\u0947", 126, -1), + new Among("\u094B", -1, -1), + new Among("\u094D", -1, -1) +}; + +private static final char g_consonant[] = {255, 255, 255, 255, 159, 0, 0, 0, 248, 7 }; + +private int I_p; + + +public boolean r_CONSONANT() { + if (!(in_grouping_b(g_consonant, 2325, 2399))) + { + return false; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + if (cursor >= limit) + { + return false; + } + cursor++; + I_p = cursor; + cursor = v_1; + limit_backward = cursor; + cursor = limit; + if (cursor < I_p) + { + return false; + } + int v_3 = limit_backward; + limit_backward = I_p; + ket = cursor; + if (find_among_b(a_0) == 0) + { + limit_backward = v_3; + return false; + } + bra = cursor; + limit_backward = v_3; + slice_del(); + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof HindiStemmer; +} + +@Override +public int hashCode() { + return HindiStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HungarianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HungarianStemmer.java index 1117e64dc89..b68abb7e347 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HungarianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HungarianStemmer.java @@ -1,1176 +1,647 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class HungarianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class HungarianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("cs", -1, -1), + new Among("dzs", -1, -1), + new Among("gy", -1, -1), + new Among("ly", -1, -1), + new Among("ny", -1, -1), + new Among("sz", -1, -1), + new Among("ty", -1, -1), + new Among("zs", -1, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("\u00E1", -1, 1), + new Among("\u00E9", -1, 2) +}; - private final static Among a_0[] = { - new Among ( "cs", -1, -1, "", methodObject ), - new Among ( "dzs", -1, -1, "", methodObject ), - new Among ( "gy", -1, -1, "", methodObject ), - new Among ( "ly", -1, -1, "", methodObject ), - new Among ( "ny", -1, -1, "", methodObject ), - new Among ( "sz", -1, -1, "", methodObject ), - new Among ( "ty", -1, -1, "", methodObject ), - new Among ( "zs", -1, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("bb", -1, -1), + new Among("cc", -1, -1), + new Among("dd", -1, -1), + new Among("ff", -1, -1), + new Among("gg", -1, -1), + new Among("jj", -1, -1), + new Among("kk", -1, -1), + new Among("ll", -1, -1), + new Among("mm", -1, -1), + new Among("nn", -1, -1), + new Among("pp", -1, -1), + new Among("rr", -1, -1), + new Among("ccs", -1, -1), + new Among("ss", -1, -1), + new Among("zzs", -1, -1), + new Among("tt", -1, -1), + new Among("vv", -1, -1), + new Among("ggy", -1, -1), + new Among("lly", -1, -1), + new Among("nny", -1, -1), + new Among("tty", -1, -1), + new Among("ssz", -1, -1), + new Among("zz", -1, -1) +}; - private final static Among a_1[] = { - new Among ( "\u00E1", -1, 1, "", methodObject ), - new Among ( "\u00E9", -1, 2, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("al", -1, 1), + new Among("el", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "bb", -1, -1, "", methodObject ), - new Among ( "cc", -1, -1, "", methodObject ), - new Among ( "dd", -1, -1, "", methodObject ), - new Among ( "ff", -1, -1, "", methodObject ), - new Among ( "gg", -1, -1, "", methodObject ), - new Among ( "jj", -1, -1, "", methodObject ), - new Among ( "kk", -1, -1, "", methodObject ), - new Among ( "ll", -1, -1, "", methodObject ), - new Among ( "mm", -1, -1, "", methodObject ), - new Among ( "nn", -1, -1, "", methodObject ), - new Among ( "pp", -1, -1, "", methodObject ), - new Among ( "rr", -1, -1, "", methodObject ), - new Among ( "ccs", -1, -1, "", methodObject ), - new Among ( "ss", -1, -1, "", methodObject ), - new Among ( "zzs", -1, -1, "", methodObject ), - new Among ( "tt", -1, -1, "", methodObject ), - new Among ( "vv", -1, -1, "", methodObject ), - new Among ( "ggy", -1, -1, "", methodObject ), - new Among ( "lly", -1, -1, "", methodObject ), - new Among ( "nny", -1, -1, "", methodObject ), - new Among ( "tty", -1, -1, "", methodObject ), - new Among ( "ssz", -1, -1, "", methodObject ), - new Among ( "zz", -1, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ba", -1, -1), + new Among("ra", -1, -1), + new Among("be", -1, -1), + new Among("re", -1, -1), + new Among("ig", -1, -1), + new Among("nak", -1, -1), + new Among("nek", -1, -1), + new Among("val", -1, -1), + new Among("vel", -1, -1), + new Among("ul", -1, -1), + new Among("n\u00E1l", -1, -1), + new Among("n\u00E9l", -1, -1), + new Among("b\u00F3l", -1, -1), + new Among("r\u00F3l", -1, -1), + new Among("t\u00F3l", -1, -1), + new Among("\u00FCl", -1, -1), + new Among("b\u0151l", -1, -1), + new Among("r\u0151l", -1, -1), + new Among("t\u0151l", -1, -1), + new Among("n", -1, -1), + new Among("an", 19, -1), + new Among("ban", 20, -1), + new Among("en", 19, -1), + new Among("ben", 22, -1), + new Among("k\u00E9ppen", 22, -1), + new Among("on", 19, -1), + new Among("\u00F6n", 19, -1), + new Among("k\u00E9pp", -1, -1), + new Among("kor", -1, -1), + new Among("t", -1, -1), + new Among("at", 29, -1), + new Among("et", 29, -1), + new Among("k\u00E9nt", 29, -1), + new Among("ank\u00E9nt", 32, -1), + new Among("enk\u00E9nt", 32, -1), + new Among("onk\u00E9nt", 32, -1), + new Among("ot", 29, -1), + new Among("\u00E9rt", 29, -1), + new Among("\u00F6t", 29, -1), + new Among("hez", -1, -1), + new Among("hoz", -1, -1), + new Among("h\u00F6z", -1, -1), + new Among("v\u00E1", -1, -1), + new Among("v\u00E9", -1, -1) +}; - private final static Among a_3[] = { - new Among ( "al", -1, 1, "", methodObject ), - new Among ( "el", -1, 2, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("\u00E1n", -1, 2), + new Among("\u00E9n", -1, 1), + new Among("\u00E1nk\u00E9nt", -1, 2) +}; - private final static Among a_4[] = { - new Among ( "ba", -1, -1, "", methodObject ), - new Among ( "ra", -1, -1, "", methodObject ), - new Among ( "be", -1, -1, "", methodObject ), - new Among ( "re", -1, -1, "", methodObject ), - new Among ( "ig", -1, -1, "", methodObject ), - new Among ( "nak", -1, -1, "", methodObject ), - new Among ( "nek", -1, -1, "", methodObject ), - new Among ( "val", -1, -1, "", methodObject ), - new Among ( "vel", -1, -1, "", methodObject ), - new Among ( "ul", -1, -1, "", methodObject ), - new Among ( "n\u00E1l", -1, -1, "", methodObject ), - new Among ( "n\u00E9l", -1, -1, "", methodObject ), - new Among ( "b\u00F3l", -1, -1, "", methodObject ), - new Among ( "r\u00F3l", -1, -1, "", methodObject ), - new Among ( "t\u00F3l", -1, -1, "", methodObject ), - new Among ( "b\u00F5l", -1, -1, "", methodObject ), - new Among ( "r\u00F5l", -1, -1, "", methodObject ), - new Among ( "t\u00F5l", -1, -1, "", methodObject ), - new Among ( "\u00FCl", -1, -1, "", methodObject ), - new Among ( "n", -1, -1, "", methodObject ), - new Among ( "an", 19, -1, "", methodObject ), - new Among ( "ban", 20, -1, "", methodObject ), - new Among ( "en", 19, -1, "", methodObject ), - new Among ( "ben", 22, -1, "", methodObject ), - new Among ( "k\u00E9ppen", 22, -1, "", methodObject ), - new Among ( "on", 19, -1, "", methodObject ), - new Among ( "\u00F6n", 19, -1, "", methodObject ), - new Among ( "k\u00E9pp", -1, -1, "", methodObject ), - new Among ( "kor", -1, -1, "", methodObject ), - new Among ( "t", -1, -1, "", methodObject ), - new Among ( "at", 29, -1, "", methodObject ), - new Among ( "et", 29, -1, "", methodObject ), - new Among ( "k\u00E9nt", 29, -1, "", methodObject ), - new Among ( "ank\u00E9nt", 32, -1, "", methodObject ), - new Among ( "enk\u00E9nt", 32, -1, "", methodObject ), - new Among ( "onk\u00E9nt", 32, -1, "", methodObject ), - new Among ( "ot", 29, -1, "", methodObject ), - new Among ( "\u00E9rt", 29, -1, "", methodObject ), - new Among ( "\u00F6t", 29, -1, "", methodObject ), - new Among ( "hez", -1, -1, "", methodObject ), - new Among ( "hoz", -1, -1, "", methodObject ), - new Among ( "h\u00F6z", -1, -1, "", methodObject ), - new Among ( "v\u00E1", -1, -1, "", methodObject ), - new Among ( "v\u00E9", -1, -1, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("stul", -1, 1), + new Among("astul", 0, 1), + new Among("\u00E1stul", 0, 2), + new Among("st\u00FCl", -1, 1), + new Among("est\u00FCl", 3, 1), + new Among("\u00E9st\u00FCl", 3, 3) +}; - private final static Among a_5[] = { - new Among ( "\u00E1n", -1, 2, "", methodObject ), - new Among ( "\u00E9n", -1, 1, "", methodObject ), - new Among ( "\u00E1nk\u00E9nt", -1, 3, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("\u00E1", -1, 1), + new Among("\u00E9", -1, 1) +}; - private final static Among a_6[] = { - new Among ( "stul", -1, 2, "", methodObject ), - new Among ( "astul", 0, 1, "", methodObject ), - new Among ( "\u00E1stul", 0, 3, "", methodObject ), - new Among ( "st\u00FCl", -1, 2, "", methodObject ), - new Among ( "est\u00FCl", 3, 1, "", methodObject ), - new Among ( "\u00E9st\u00FCl", 3, 4, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("k", -1, 3), + new Among("ak", 0, 3), + new Among("ek", 0, 3), + new Among("ok", 0, 3), + new Among("\u00E1k", 0, 1), + new Among("\u00E9k", 0, 2), + new Among("\u00F6k", 0, 3) +}; - private final static Among a_7[] = { - new Among ( "\u00E1", -1, 1, "", methodObject ), - new Among ( "\u00E9", -1, 2, "", methodObject ) - }; +private final static Among a_9[] = { + new Among("\u00E9i", -1, 1), + new Among("\u00E1\u00E9i", 0, 3), + new Among("\u00E9\u00E9i", 0, 2), + new Among("\u00E9", -1, 1), + new Among("k\u00E9", 3, 1), + new Among("ak\u00E9", 4, 1), + new Among("ek\u00E9", 4, 1), + new Among("ok\u00E9", 4, 1), + new Among("\u00E1k\u00E9", 4, 3), + new Among("\u00E9k\u00E9", 4, 2), + new Among("\u00F6k\u00E9", 4, 1), + new Among("\u00E9\u00E9", 3, 2) +}; - private final static Among a_8[] = { - new Among ( "k", -1, 7, "", methodObject ), - new Among ( "ak", 0, 4, "", methodObject ), - new Among ( "ek", 0, 6, "", methodObject ), - new Among ( "ok", 0, 5, "", methodObject ), - new Among ( "\u00E1k", 0, 1, "", methodObject ), - new Among ( "\u00E9k", 0, 2, "", methodObject ), - new Among ( "\u00F6k", 0, 3, "", methodObject ) - }; +private final static Among a_10[] = { + new Among("a", -1, 1), + new Among("ja", 0, 1), + new Among("d", -1, 1), + new Among("ad", 2, 1), + new Among("ed", 2, 1), + new Among("od", 2, 1), + new Among("\u00E1d", 2, 2), + new Among("\u00E9d", 2, 3), + new Among("\u00F6d", 2, 1), + new Among("e", -1, 1), + new Among("je", 9, 1), + new Among("nk", -1, 1), + new Among("unk", 11, 1), + new Among("\u00E1nk", 11, 2), + new Among("\u00E9nk", 11, 3), + new Among("\u00FCnk", 11, 1), + new Among("uk", -1, 1), + new Among("juk", 16, 1), + new Among("\u00E1juk", 17, 2), + new Among("\u00FCk", -1, 1), + new Among("j\u00FCk", 19, 1), + new Among("\u00E9j\u00FCk", 20, 3), + new Among("m", -1, 1), + new Among("am", 22, 1), + new Among("em", 22, 1), + new Among("om", 22, 1), + new Among("\u00E1m", 22, 2), + new Among("\u00E9m", 22, 3), + new Among("o", -1, 1), + new Among("\u00E1", -1, 2), + new Among("\u00E9", -1, 3) +}; - private final static Among a_9[] = { - new Among ( "\u00E9i", -1, 7, "", methodObject ), - new Among ( "\u00E1\u00E9i", 0, 6, "", methodObject ), - new Among ( "\u00E9\u00E9i", 0, 5, "", methodObject ), - new Among ( "\u00E9", -1, 9, "", methodObject ), - new Among ( "k\u00E9", 3, 4, "", methodObject ), - new Among ( "ak\u00E9", 4, 1, "", methodObject ), - new Among ( "ek\u00E9", 4, 1, "", methodObject ), - new Among ( "ok\u00E9", 4, 1, "", methodObject ), - new Among ( "\u00E1k\u00E9", 4, 3, "", methodObject ), - new Among ( "\u00E9k\u00E9", 4, 2, "", methodObject ), - new Among ( "\u00F6k\u00E9", 4, 1, "", methodObject ), - new Among ( "\u00E9\u00E9", 3, 8, "", methodObject ) - }; +private final static Among a_11[] = { + new Among("id", -1, 1), + new Among("aid", 0, 1), + new Among("jaid", 1, 1), + new Among("eid", 0, 1), + new Among("jeid", 3, 1), + new Among("\u00E1id", 0, 2), + new Among("\u00E9id", 0, 3), + new Among("i", -1, 1), + new Among("ai", 7, 1), + new Among("jai", 8, 1), + new Among("ei", 7, 1), + new Among("jei", 10, 1), + new Among("\u00E1i", 7, 2), + new Among("\u00E9i", 7, 3), + new Among("itek", -1, 1), + new Among("eitek", 14, 1), + new Among("jeitek", 15, 1), + new Among("\u00E9itek", 14, 3), + new Among("ik", -1, 1), + new Among("aik", 18, 1), + new Among("jaik", 19, 1), + new Among("eik", 18, 1), + new Among("jeik", 21, 1), + new Among("\u00E1ik", 18, 2), + new Among("\u00E9ik", 18, 3), + new Among("ink", -1, 1), + new Among("aink", 25, 1), + new Among("jaink", 26, 1), + new Among("eink", 25, 1), + new Among("jeink", 28, 1), + new Among("\u00E1ink", 25, 2), + new Among("\u00E9ink", 25, 3), + new Among("aitok", -1, 1), + new Among("jaitok", 32, 1), + new Among("\u00E1itok", -1, 2), + new Among("im", -1, 1), + new Among("aim", 35, 1), + new Among("jaim", 36, 1), + new Among("eim", 35, 1), + new Among("jeim", 38, 1), + new Among("\u00E1im", 35, 2), + new Among("\u00E9im", 35, 3) +}; - private final static Among a_10[] = { - new Among ( "a", -1, 18, "", methodObject ), - new Among ( "ja", 0, 17, "", methodObject ), - new Among ( "d", -1, 16, "", methodObject ), - new Among ( "ad", 2, 13, "", methodObject ), - new Among ( "ed", 2, 13, "", methodObject ), - new Among ( "od", 2, 13, "", methodObject ), - new Among ( "\u00E1d", 2, 14, "", methodObject ), - new Among ( "\u00E9d", 2, 15, "", methodObject ), - new Among ( "\u00F6d", 2, 13, "", methodObject ), - new Among ( "e", -1, 18, "", methodObject ), - new Among ( "je", 9, 17, "", methodObject ), - new Among ( "nk", -1, 4, "", methodObject ), - new Among ( "unk", 11, 1, "", methodObject ), - new Among ( "\u00E1nk", 11, 2, "", methodObject ), - new Among ( "\u00E9nk", 11, 3, "", methodObject ), - new Among ( "\u00FCnk", 11, 1, "", methodObject ), - new Among ( "uk", -1, 8, "", methodObject ), - new Among ( "juk", 16, 7, "", methodObject ), - new Among ( "\u00E1juk", 17, 5, "", methodObject ), - new Among ( "\u00FCk", -1, 8, "", methodObject ), - new Among ( "j\u00FCk", 19, 7, "", methodObject ), - new Among ( "\u00E9j\u00FCk", 20, 6, "", methodObject ), - new Among ( "m", -1, 12, "", methodObject ), - new Among ( "am", 22, 9, "", methodObject ), - new Among ( "em", 22, 9, "", methodObject ), - new Among ( "om", 22, 9, "", methodObject ), - new Among ( "\u00E1m", 22, 10, "", methodObject ), - new Among ( "\u00E9m", 22, 11, "", methodObject ), - new Among ( "o", -1, 18, "", methodObject ), - new Among ( "\u00E1", -1, 19, "", methodObject ), - new Among ( "\u00E9", -1, 20, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 }; - private final static Among a_11[] = { - new Among ( "id", -1, 10, "", methodObject ), - new Among ( "aid", 0, 9, "", methodObject ), - new Among ( "jaid", 1, 6, "", methodObject ), - new Among ( "eid", 0, 9, "", methodObject ), - new Among ( "jeid", 3, 6, "", methodObject ), - new Among ( "\u00E1id", 0, 7, "", methodObject ), - new Among ( "\u00E9id", 0, 8, "", methodObject ), - new Among ( "i", -1, 15, "", methodObject ), - new Among ( "ai", 7, 14, "", methodObject ), - new Among ( "jai", 8, 11, "", methodObject ), - new Among ( "ei", 7, 14, "", methodObject ), - new Among ( "jei", 10, 11, "", methodObject ), - new Among ( "\u00E1i", 7, 12, "", methodObject ), - new Among ( "\u00E9i", 7, 13, "", methodObject ), - new Among ( "itek", -1, 24, "", methodObject ), - new Among ( "eitek", 14, 21, "", methodObject ), - new Among ( "jeitek", 15, 20, "", methodObject ), - new Among ( "\u00E9itek", 14, 23, "", methodObject ), - new Among ( "ik", -1, 29, "", methodObject ), - new Among ( "aik", 18, 26, "", methodObject ), - new Among ( "jaik", 19, 25, "", methodObject ), - new Among ( "eik", 18, 26, "", methodObject ), - new Among ( "jeik", 21, 25, "", methodObject ), - new Among ( "\u00E1ik", 18, 27, "", methodObject ), - new Among ( "\u00E9ik", 18, 28, "", methodObject ), - new Among ( "ink", -1, 20, "", methodObject ), - new Among ( "aink", 25, 17, "", methodObject ), - new Among ( "jaink", 26, 16, "", methodObject ), - new Among ( "eink", 25, 17, "", methodObject ), - new Among ( "jeink", 28, 16, "", methodObject ), - new Among ( "\u00E1ink", 25, 18, "", methodObject ), - new Among ( "\u00E9ink", 25, 19, "", methodObject ), - new Among ( "aitok", -1, 21, "", methodObject ), - new Among ( "jaitok", 32, 20, "", methodObject ), - new Among ( "\u00E1itok", -1, 22, "", methodObject ), - new Among ( "im", -1, 5, "", methodObject ), - new Among ( "aim", 35, 4, "", methodObject ), - new Among ( "jaim", 36, 1, "", methodObject ), - new Among ( "eim", 35, 4, "", methodObject ), - new Among ( "jeim", 38, 1, "", methodObject ), - new Among ( "\u00E1im", 35, 2, "", methodObject ), - new Among ( "\u00E9im", 35, 3, "", methodObject ) - }; +private int I_p1; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 }; - private int I_p1; - - private void copy_from(HungarianStemmer other) { - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - // (, line 44 - I_p1 = limit; - // or, line 51 - lab0: do { - v_1 = cursor; - lab1: do { - // (, line 48 - if (!(in_grouping(g_v, 97, 252))) - { - break lab1; - } - // goto, line 48 - golab2: while(true) - { - v_2 = cursor; - lab3: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab3; - } - cursor = v_2; - break golab2; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - // or, line 49 - lab4: do { - v_3 = cursor; - lab5: do { - // among, line 49 - if (find_among(a_0, 8) == 0) - { - break lab5; - } - break lab4; - } while (false); - cursor = v_3; - // next, line 49 - if (cursor >= limit) - { - break lab1; - } - cursor++; - } while (false); - // setmark p1, line 50 - I_p1 = cursor; - break lab0; - } while (false); - cursor = v_1; - // (, line 53 - if (!(out_grouping(g_v, 97, 252))) - { - return false; - } - // gopast, line 53 - golab6: while(true) - { - lab7: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab7; - } - break golab6; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 53 - I_p1 = cursor; - } while (false); - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_v_ending() { - int among_var; - // (, line 60 - // [, line 61 - ket = cursor; - // substring, line 61 - among_var = find_among_b(a_1, 2); - if (among_var == 0) - { - return false; - } - // ], line 61 - bra = cursor; - // call R1, line 61 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 62 - // <-, line 62 - slice_from("a"); - break; - case 2: - // (, line 63 - // <-, line 63 - slice_from("e"); - break; - } - return true; - } - - private boolean r_double() { - int v_1; - // (, line 67 - // test, line 68 - v_1 = limit - cursor; - // among, line 68 - if (find_among_b(a_2, 23) == 0) - { - return false; - } - cursor = limit - v_1; - return true; - } - - private boolean r_undouble() { - // (, line 72 - // next, line 73 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // [, line 73 - ket = cursor; - // hop, line 73 - { - int c = cursor - 1; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - // ], line 73 - bra = cursor; - // delete, line 73 - slice_del(); - return true; - } - - private boolean r_instrum() { - int among_var; - // (, line 76 - // [, line 77 - ket = cursor; - // substring, line 77 - among_var = find_among_b(a_3, 2); - if (among_var == 0) - { - return false; - } - // ], line 77 - bra = cursor; - // call R1, line 77 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 78 - // call double, line 78 - if (!r_double()) - { - return false; - } - break; - case 2: - // (, line 79 - // call double, line 79 - if (!r_double()) - { - return false; - } - break; - } - // delete, line 81 - slice_del(); - // call undouble, line 82 - if (!r_undouble()) - { - return false; - } - return true; - } - - private boolean r_case() { - // (, line 86 - // [, line 87 - ket = cursor; - // substring, line 87 - if (find_among_b(a_4, 44) == 0) - { - return false; - } - // ], line 87 - bra = cursor; - // call R1, line 87 - if (!r_R1()) - { - return false; - } - // delete, line 111 - slice_del(); - // call v_ending, line 112 - if (!r_v_ending()) - { - return false; - } - return true; - } - - private boolean r_case_special() { - int among_var; - // (, line 115 - // [, line 116 - ket = cursor; - // substring, line 116 - among_var = find_among_b(a_5, 3); - if (among_var == 0) - { - return false; - } - // ], line 116 - bra = cursor; - // call R1, line 116 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 117 - // <-, line 117 - slice_from("e"); - break; - case 2: - // (, line 118 - // <-, line 118 - slice_from("a"); - break; - case 3: - // (, line 119 - // <-, line 119 - slice_from("a"); - break; - } - return true; - } - - private boolean r_case_other() { - int among_var; - // (, line 123 - // [, line 124 - ket = cursor; - // substring, line 124 - among_var = find_among_b(a_6, 6); - if (among_var == 0) - { - return false; - } - // ], line 124 - bra = cursor; - // call R1, line 124 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 125 - // delete, line 125 - slice_del(); - break; - case 2: - // (, line 126 - // delete, line 126 - slice_del(); - break; - case 3: - // (, line 127 - // <-, line 127 - slice_from("a"); - break; - case 4: - // (, line 128 - // <-, line 128 - slice_from("e"); - break; - } - return true; - } - - private boolean r_factive() { - int among_var; - // (, line 132 - // [, line 133 - ket = cursor; - // substring, line 133 - among_var = find_among_b(a_7, 2); - if (among_var == 0) - { - return false; - } - // ], line 133 - bra = cursor; - // call R1, line 133 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 134 - // call double, line 134 - if (!r_double()) - { - return false; - } - break; - case 2: - // (, line 135 - // call double, line 135 - if (!r_double()) - { - return false; - } - break; - } - // delete, line 137 - slice_del(); - // call undouble, line 138 - if (!r_undouble()) - { - return false; - } - return true; - } - - private boolean r_plural() { - int among_var; - // (, line 141 - // [, line 142 - ket = cursor; - // substring, line 142 - among_var = find_among_b(a_8, 7); - if (among_var == 0) - { - return false; - } - // ], line 142 - bra = cursor; - // call R1, line 142 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 143 - // <-, line 143 - slice_from("a"); - break; - case 2: - // (, line 144 - // <-, line 144 - slice_from("e"); - break; - case 3: - // (, line 145 - // delete, line 145 - slice_del(); - break; - case 4: - // (, line 146 - // delete, line 146 - slice_del(); - break; - case 5: - // (, line 147 - // delete, line 147 - slice_del(); - break; - case 6: - // (, line 148 - // delete, line 148 - slice_del(); - break; - case 7: - // (, line 149 - // delete, line 149 - slice_del(); - break; - } - return true; - } - - private boolean r_owned() { - int among_var; - // (, line 153 - // [, line 154 - ket = cursor; - // substring, line 154 - among_var = find_among_b(a_9, 12); - if (among_var == 0) - { - return false; - } - // ], line 154 - bra = cursor; - // call R1, line 154 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 155 - // delete, line 155 - slice_del(); - break; - case 2: - // (, line 156 - // <-, line 156 - slice_from("e"); - break; - case 3: - // (, line 157 - // <-, line 157 - slice_from("a"); - break; - case 4: - // (, line 158 - // delete, line 158 - slice_del(); - break; - case 5: - // (, line 159 - // <-, line 159 - slice_from("e"); - break; - case 6: - // (, line 160 - // <-, line 160 - slice_from("a"); - break; - case 7: - // (, line 161 - // delete, line 161 - slice_del(); - break; - case 8: - // (, line 162 - // <-, line 162 - slice_from("e"); - break; - case 9: - // (, line 163 - // delete, line 163 - slice_del(); - break; - } - return true; - } - - private boolean r_sing_owner() { - int among_var; - // (, line 167 - // [, line 168 - ket = cursor; - // substring, line 168 - among_var = find_among_b(a_10, 31); - if (among_var == 0) - { - return false; - } - // ], line 168 - bra = cursor; - // call R1, line 168 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 169 - // delete, line 169 - slice_del(); - break; - case 2: - // (, line 170 - // <-, line 170 - slice_from("a"); - break; - case 3: - // (, line 171 - // <-, line 171 - slice_from("e"); - break; - case 4: - // (, line 172 - // delete, line 172 - slice_del(); - break; - case 5: - // (, line 173 - // <-, line 173 - slice_from("a"); - break; - case 6: - // (, line 174 - // <-, line 174 - slice_from("e"); - break; - case 7: - // (, line 175 - // delete, line 175 - slice_del(); - break; - case 8: - // (, line 176 - // delete, line 176 - slice_del(); - break; - case 9: - // (, line 177 - // delete, line 177 - slice_del(); - break; - case 10: - // (, line 178 - // <-, line 178 - slice_from("a"); - break; - case 11: - // (, line 179 - // <-, line 179 - slice_from("e"); - break; - case 12: - // (, line 180 - // delete, line 180 - slice_del(); - break; - case 13: - // (, line 181 - // delete, line 181 - slice_del(); - break; - case 14: - // (, line 182 - // <-, line 182 - slice_from("a"); - break; - case 15: - // (, line 183 - // <-, line 183 - slice_from("e"); - break; - case 16: - // (, line 184 - // delete, line 184 - slice_del(); - break; - case 17: - // (, line 185 - // delete, line 185 - slice_del(); - break; - case 18: - // (, line 186 - // delete, line 186 - slice_del(); - break; - case 19: - // (, line 187 - // <-, line 187 - slice_from("a"); - break; - case 20: - // (, line 188 - // <-, line 188 - slice_from("e"); - break; - } - return true; - } - - private boolean r_plur_owner() { - int among_var; - // (, line 192 - // [, line 193 - ket = cursor; - // substring, line 193 - among_var = find_among_b(a_11, 42); - if (among_var == 0) - { - return false; - } - // ], line 193 - bra = cursor; - // call R1, line 193 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 194 - // delete, line 194 - slice_del(); - break; - case 2: - // (, line 195 - // <-, line 195 - slice_from("a"); - break; - case 3: - // (, line 196 - // <-, line 196 - slice_from("e"); - break; - case 4: - // (, line 197 - // delete, line 197 - slice_del(); - break; - case 5: - // (, line 198 - // delete, line 198 - slice_del(); - break; - case 6: - // (, line 199 - // delete, line 199 - slice_del(); - break; - case 7: - // (, line 200 - // <-, line 200 - slice_from("a"); - break; - case 8: - // (, line 201 - // <-, line 201 - slice_from("e"); - break; - case 9: - // (, line 202 - // delete, line 202 - slice_del(); - break; - case 10: - // (, line 203 - // delete, line 203 - slice_del(); - break; - case 11: - // (, line 204 - // delete, line 204 - slice_del(); - break; - case 12: - // (, line 205 - // <-, line 205 - slice_from("a"); - break; - case 13: - // (, line 206 - // <-, line 206 - slice_from("e"); - break; - case 14: - // (, line 207 - // delete, line 207 - slice_del(); - break; - case 15: - // (, line 208 - // delete, line 208 - slice_del(); - break; - case 16: - // (, line 209 - // delete, line 209 - slice_del(); - break; - case 17: - // (, line 210 - // delete, line 210 - slice_del(); - break; - case 18: - // (, line 211 - // <-, line 211 - slice_from("a"); - break; - case 19: - // (, line 212 - // <-, line 212 - slice_from("e"); - break; - case 20: - // (, line 214 - // delete, line 214 - slice_del(); - break; - case 21: - // (, line 215 - // delete, line 215 - slice_del(); - break; - case 22: - // (, line 216 - // <-, line 216 - slice_from("a"); - break; - case 23: - // (, line 217 - // <-, line 217 - slice_from("e"); - break; - case 24: - // (, line 218 - // delete, line 218 - slice_del(); - break; - case 25: - // (, line 219 - // delete, line 219 - slice_del(); - break; - case 26: - // (, line 220 - // delete, line 220 - slice_del(); - break; - case 27: - // (, line 221 - // <-, line 221 - slice_from("a"); - break; - case 28: - // (, line 222 - // <-, line 222 - slice_from("e"); - break; - case 29: - // (, line 223 - // delete, line 223 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 228 - // do, line 229 - v_1 = cursor; - lab0: do { - // call mark_regions, line 229 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 230 - limit_backward = cursor; cursor = limit; - // (, line 230 - // do, line 231 - v_2 = limit - cursor; - lab1: do { - // call instrum, line 231 - if (!r_instrum()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 232 - v_3 = limit - cursor; - lab2: do { - // call case, line 232 - if (!r_case()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 233 - v_4 = limit - cursor; - lab3: do { - // call case_special, line 233 - if (!r_case_special()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 234 - v_5 = limit - cursor; - lab4: do { - // call case_other, line 234 - if (!r_case_other()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - // do, line 235 - v_6 = limit - cursor; - lab5: do { - // call factive, line 235 - if (!r_factive()) - { - break lab5; - } - } while (false); - cursor = limit - v_6; - // do, line 236 - v_7 = limit - cursor; - lab6: do { - // call owned, line 236 - if (!r_owned()) - { - break lab6; - } - } while (false); - cursor = limit - v_7; - // do, line 237 - v_8 = limit - cursor; - lab7: do { - // call sing_owner, line 237 - if (!r_sing_owner()) - { - break lab7; - } - } while (false); - cursor = limit - v_8; - // do, line 238 - v_9 = limit - cursor; - lab8: do { - // call plur_owner, line 238 - if (!r_plur_owner()) - { - break lab8; - } - } while (false); - cursor = limit - v_9; - // do, line 239 - v_10 = limit - cursor; - lab9: do { - // call plural, line 239 - if (!r_plural()) - { - break lab9; - } - } while (false); - cursor = limit - v_10; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof HungarianStemmer; +private boolean r_mark_regions() { + I_p1 = limit; + lab0: { + int v_1 = cursor; + lab1: { + if (!(in_grouping(g_v, 97, 369))) + { + break lab1; + } + golab2: while(true) + { + int v_2 = cursor; + lab3: { + if (!(out_grouping(g_v, 97, 369))) + { + break lab3; + } + cursor = v_2; + break golab2; } - - @Override - public int hashCode() { - return HungarianStemmer.class.getName().hashCode(); + cursor = v_2; + if (cursor >= limit) + { + break lab1; } + cursor++; + } + lab4: { + int v_3 = cursor; + lab5: { + if (find_among(a_0) == 0) + { + break lab5; + } + break lab4; + } + cursor = v_3; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + I_p1 = cursor; + break lab0; + } + cursor = v_1; + if (!(out_grouping(g_v, 97, 369))) + { + return false; + } + golab6: while(true) + { + lab7: { + if (!(in_grouping(g_v, 97, 369))) + { + break lab7; + } + break golab6; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_v_ending() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("e"); + break; + } + return true; +} + +private boolean r_double() { + int v_1 = limit - cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + cursor = limit - v_1; + return true; +} + +private boolean r_undouble() { + if (cursor <= limit_backward) + { + return false; + } + cursor--; + ket = cursor; + { + int c = cursor - 1; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_instrum() { + ket = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + if (!r_double()) + { + return false; + } + slice_del(); + if (!r_undouble()) + { + return false; + } + return true; +} + +private boolean r_case() { + ket = cursor; + if (find_among_b(a_4) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + slice_del(); + if (!r_v_ending()) + { + return false; + } + return true; +} + +private boolean r_case_special() { + int among_var; + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("e"); + break; + case 2: + slice_from("a"); + break; + } + return true; +} + +private boolean r_case_other() { + int among_var; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("a"); + break; + case 3: + slice_from("e"); + break; + } + return true; +} + +private boolean r_factive() { + ket = cursor; + if (find_among_b(a_7) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + if (!r_double()) + { + return false; + } + slice_del(); + if (!r_undouble()) + { + return false; + } + return true; +} + +private boolean r_plural() { + int among_var; + ket = cursor; + among_var = find_among_b(a_8); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("e"); + break; + case 3: + slice_del(); + break; + } + return true; +} + +private boolean r_owned() { + int among_var; + ket = cursor; + among_var = find_among_b(a_9); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("e"); + break; + case 3: + slice_from("a"); + break; + } + return true; +} + +private boolean r_sing_owner() { + int among_var; + ket = cursor; + among_var = find_among_b(a_10); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("a"); + break; + case 3: + slice_from("e"); + break; + } + return true; +} + +private boolean r_plur_owner() { + int among_var; + ket = cursor; + among_var = find_among_b(a_11); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("a"); + break; + case 3: + slice_from("e"); + break; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_instrum(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_case(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_case_special(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_case_other(); + cursor = limit - v_5; + int v_6 = limit - cursor; + r_factive(); + cursor = limit - v_6; + int v_7 = limit - cursor; + r_owned(); + cursor = limit - v_7; + int v_8 = limit - cursor; + r_sing_owner(); + cursor = limit - v_8; + int v_9 = limit - cursor; + r_plur_owner(); + cursor = limit - v_9; + int v_10 = limit - cursor; + r_plural(); + cursor = limit - v_10; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof HungarianStemmer; +} + +@Override +public int hashCode() { + return HungarianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IndonesianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IndonesianStemmer.java new file mode 100644 index 00000000000..bb9dafa0852 --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IndonesianStemmer.java @@ -0,0 +1,392 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class IndonesianStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("kah", -1, 1), + new Among("lah", -1, 1), + new Among("pun", -1, 1) +}; + +private final static Among a_1[] = { + new Among("nya", -1, 1), + new Among("ku", -1, 1), + new Among("mu", -1, 1) +}; + +private final static Among a_2[] = { + new Among("i", -1, 1, "r_SUFFIX_I_OK", methodObject), + new Among("an", -1, 1, "r_SUFFIX_AN_OK", methodObject), + new Among("kan", 1, 1, "r_SUFFIX_KAN_OK", methodObject) +}; + +private final static Among a_3[] = { + new Among("di", -1, 1), + new Among("ke", -1, 2), + new Among("me", -1, 1), + new Among("mem", 2, 5), + new Among("men", 2, 1), + new Among("meng", 4, 1), + new Among("meny", 4, 3, "r_VOWEL", methodObject), + new Among("pem", -1, 6), + new Among("pen", -1, 2), + new Among("peng", 8, 2), + new Among("peny", 8, 4, "r_VOWEL", methodObject), + new Among("ter", -1, 1) +}; + +private final static Among a_4[] = { + new Among("be", -1, 3, "r_KER", methodObject), + new Among("belajar", 0, 4), + new Among("ber", 0, 3), + new Among("pe", -1, 1), + new Among("pelajar", 3, 2), + new Among("per", 3, 1) +}; + +private static final char g_vowel[] = {17, 65, 16 }; + +private int I_prefix; +private int I_measure; + + +private boolean r_remove_particle() { + ket = cursor; + if (find_among_b(a_0) == 0) + { + return false; + } + bra = cursor; + slice_del(); + I_measure -= 1; + return true; +} + +private boolean r_remove_possessive_pronoun() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + slice_del(); + I_measure -= 1; + return true; +} + +public boolean r_SUFFIX_KAN_OK() { + if (!(I_prefix != 3)) + { + return false; + } + if (!(I_prefix != 2)) + { + return false; + } + return true; +} + +public boolean r_SUFFIX_AN_OK() { + if (!(I_prefix != 1)) + { + return false; + } + return true; +} + +public boolean r_SUFFIX_I_OK() { + if (!(I_prefix <= 2)) + { + return false; + } + { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("s"))) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + return true; +} + +private boolean r_remove_suffix() { + ket = cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + bra = cursor; + slice_del(); + I_measure -= 1; + return true; +} + +public boolean r_VOWEL() { + if (!(in_grouping(g_vowel, 97, 117))) + { + return false; + } + return true; +} + +public boolean r_KER() { + if (!(out_grouping(g_vowel, 97, 117))) + { + return false; + } + if (!(eq_s("er"))) + { + return false; + } + return true; +} + +private boolean r_remove_first_order_prefix() { + int among_var; + bra = cursor; + among_var = find_among(a_3); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + slice_del(); + I_prefix = 1; + I_measure -= 1; + break; + case 2: + slice_del(); + I_prefix = 3; + I_measure -= 1; + break; + case 3: + I_prefix = 1; + slice_from("s"); + I_measure -= 1; + break; + case 4: + I_prefix = 3; + slice_from("s"); + I_measure -= 1; + break; + case 5: + I_prefix = 1; + I_measure -= 1; + lab0: { + int v_1 = cursor; + lab1: { + int v_2 = cursor; + if (!(in_grouping(g_vowel, 97, 117))) + { + break lab1; + } + cursor = v_2; + slice_from("p"); + break lab0; + } + cursor = v_1; + slice_del(); + } + break; + case 6: + I_prefix = 3; + I_measure -= 1; + lab2: { + int v_3 = cursor; + lab3: { + int v_4 = cursor; + if (!(in_grouping(g_vowel, 97, 117))) + { + break lab3; + } + cursor = v_4; + slice_from("p"); + break lab2; + } + cursor = v_3; + slice_del(); + } + break; + } + return true; +} + +private boolean r_remove_second_order_prefix() { + int among_var; + bra = cursor; + among_var = find_among(a_4); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + slice_del(); + I_prefix = 2; + I_measure -= 1; + break; + case 2: + slice_from("ajar"); + I_measure -= 1; + break; + case 3: + slice_del(); + I_prefix = 4; + I_measure -= 1; + break; + case 4: + slice_from("ajar"); + I_prefix = 4; + I_measure -= 1; + break; + } + return true; +} + +public boolean stem() { + I_measure = 0; + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + golab2: while(true) + { + lab3: { + if (!(in_grouping(g_vowel, 97, 117))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + I_measure += 1; + continue; + } + cursor = v_2; + break; + } + } + cursor = v_1; + if (!(I_measure > 2)) + { + return false; + } + I_prefix = 0; + limit_backward = cursor; + cursor = limit; + int v_4 = limit - cursor; + r_remove_particle(); + cursor = limit - v_4; + if (!(I_measure > 2)) + { + return false; + } + int v_5 = limit - cursor; + r_remove_possessive_pronoun(); + cursor = limit - v_5; + cursor = limit_backward; + if (!(I_measure > 2)) + { + return false; + } + lab4: { + int v_6 = cursor; + lab5: { + int v_7 = cursor; + if (!r_remove_first_order_prefix()) + { + break lab5; + } + int v_8 = cursor; + lab6: { + int v_9 = cursor; + if (!(I_measure > 2)) + { + break lab6; + } + limit_backward = cursor; + cursor = limit; + if (!r_remove_suffix()) + { + break lab6; + } + cursor = limit_backward; + cursor = v_9; + if (!(I_measure > 2)) + { + break lab6; + } + if (!r_remove_second_order_prefix()) + { + break lab6; + } + } + cursor = v_8; + cursor = v_7; + break lab4; + } + cursor = v_6; + int v_10 = cursor; + r_remove_second_order_prefix(); + cursor = v_10; + int v_11 = cursor; + lab7: { + if (!(I_measure > 2)) + { + break lab7; + } + limit_backward = cursor; + cursor = limit; + if (!r_remove_suffix()) + { + break lab7; + } + cursor = limit_backward; + } + cursor = v_11; + } + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof IndonesianStemmer; +} + +@Override +public int hashCode() { + return IndonesianStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IrishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IrishStemmer.java index 1fd308ce65c..6aecba594b6 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IrishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/IrishStemmer.java @@ -1,588 +1,399 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class IrishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class IrishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("b'", -1, 1), + new Among("bh", -1, 4), + new Among("bhf", 1, 2), + new Among("bp", -1, 8), + new Among("ch", -1, 5), + new Among("d'", -1, 1), + new Among("d'fh", 5, 2), + new Among("dh", -1, 6), + new Among("dt", -1, 9), + new Among("fh", -1, 2), + new Among("gc", -1, 5), + new Among("gh", -1, 7), + new Among("h-", -1, 1), + new Among("m'", -1, 1), + new Among("mb", -1, 4), + new Among("mh", -1, 10), + new Among("n-", -1, 1), + new Among("nd", -1, 6), + new Among("ng", -1, 7), + new Among("ph", -1, 8), + new Among("sh", -1, 3), + new Among("t-", -1, 1), + new Among("th", -1, 9), + new Among("ts", -1, 3) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("\u00EDochta", -1, 1), + new Among("a\u00EDochta", 0, 1), + new Among("ire", -1, 2), + new Among("aire", 2, 2), + new Among("abh", -1, 1), + new Among("eabh", 4, 1), + new Among("ibh", -1, 1), + new Among("aibh", 6, 1), + new Among("amh", -1, 1), + new Among("eamh", 8, 1), + new Among("imh", -1, 1), + new Among("aimh", 10, 1), + new Among("\u00EDocht", -1, 1), + new Among("a\u00EDocht", 12, 1), + new Among("ir\u00ED", -1, 2), + new Among("air\u00ED", 14, 2) +}; - private final static Among a_0[] = { - new Among ( "b'", -1, 4, "", methodObject ), - new Among ( "bh", -1, 14, "", methodObject ), - new Among ( "bhf", 1, 9, "", methodObject ), - new Among ( "bp", -1, 11, "", methodObject ), - new Among ( "ch", -1, 15, "", methodObject ), - new Among ( "d'", -1, 2, "", methodObject ), - new Among ( "d'fh", 5, 3, "", methodObject ), - new Among ( "dh", -1, 16, "", methodObject ), - new Among ( "dt", -1, 13, "", methodObject ), - new Among ( "fh", -1, 17, "", methodObject ), - new Among ( "gc", -1, 7, "", methodObject ), - new Among ( "gh", -1, 18, "", methodObject ), - new Among ( "h-", -1, 1, "", methodObject ), - new Among ( "m'", -1, 4, "", methodObject ), - new Among ( "mb", -1, 6, "", methodObject ), - new Among ( "mh", -1, 19, "", methodObject ), - new Among ( "n-", -1, 1, "", methodObject ), - new Among ( "nd", -1, 8, "", methodObject ), - new Among ( "ng", -1, 10, "", methodObject ), - new Among ( "ph", -1, 20, "", methodObject ), - new Among ( "sh", -1, 5, "", methodObject ), - new Among ( "t-", -1, 1, "", methodObject ), - new Among ( "th", -1, 21, "", methodObject ), - new Among ( "ts", -1, 12, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("\u00F3ideacha", -1, 6), + new Among("patacha", -1, 5), + new Among("achta", -1, 1), + new Among("arcachta", 2, 2), + new Among("eachta", 2, 1), + new Among("grafa\u00EDochta", -1, 4), + new Among("paite", -1, 5), + new Among("ach", -1, 1), + new Among("each", 7, 1), + new Among("\u00F3ideach", 8, 6), + new Among("gineach", 8, 3), + new Among("patach", 7, 5), + new Among("grafa\u00EDoch", -1, 4), + new Among("pataigh", -1, 5), + new Among("\u00F3idigh", -1, 6), + new Among("acht\u00FAil", -1, 1), + new Among("eacht\u00FAil", 15, 1), + new Among("gineas", -1, 3), + new Among("ginis", -1, 3), + new Among("acht", -1, 1), + new Among("arcacht", 19, 2), + new Among("eacht", 19, 1), + new Among("grafa\u00EDocht", -1, 4), + new Among("arcachta\u00ED", -1, 2), + new Among("grafa\u00EDochta\u00ED", -1, 4) +}; - private final static Among a_1[] = { - new Among ( "\u00EDochta", -1, 1, "", methodObject ), - new Among ( "a\u00EDochta", 0, 1, "", methodObject ), - new Among ( "ire", -1, 2, "", methodObject ), - new Among ( "aire", 2, 2, "", methodObject ), - new Among ( "abh", -1, 1, "", methodObject ), - new Among ( "eabh", 4, 1, "", methodObject ), - new Among ( "ibh", -1, 1, "", methodObject ), - new Among ( "aibh", 6, 1, "", methodObject ), - new Among ( "amh", -1, 1, "", methodObject ), - new Among ( "eamh", 8, 1, "", methodObject ), - new Among ( "imh", -1, 1, "", methodObject ), - new Among ( "aimh", 10, 1, "", methodObject ), - new Among ( "\u00EDocht", -1, 1, "", methodObject ), - new Among ( "a\u00EDocht", 12, 1, "", methodObject ), - new Among ( "ir\u00ED", -1, 2, "", methodObject ), - new Among ( "air\u00ED", 14, 2, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("imid", -1, 1), + new Among("aimid", 0, 1), + new Among("\u00EDmid", -1, 1), + new Among("a\u00EDmid", 2, 1), + new Among("adh", -1, 2), + new Among("eadh", 4, 2), + new Among("faidh", -1, 1), + new Among("fidh", -1, 1), + new Among("\u00E1il", -1, 2), + new Among("ain", -1, 2), + new Among("tear", -1, 2), + new Among("tar", -1, 2) +}; - private final static Among a_2[] = { - new Among ( "\u00F3ideacha", -1, 6, "", methodObject ), - new Among ( "patacha", -1, 5, "", methodObject ), - new Among ( "achta", -1, 1, "", methodObject ), - new Among ( "arcachta", 2, 2, "", methodObject ), - new Among ( "eachta", 2, 1, "", methodObject ), - new Among ( "grafa\u00EDochta", -1, 4, "", methodObject ), - new Among ( "paite", -1, 5, "", methodObject ), - new Among ( "ach", -1, 1, "", methodObject ), - new Among ( "each", 7, 1, "", methodObject ), - new Among ( "\u00F3ideach", 8, 6, "", methodObject ), - new Among ( "gineach", 8, 3, "", methodObject ), - new Among ( "patach", 7, 5, "", methodObject ), - new Among ( "grafa\u00EDoch", -1, 4, "", methodObject ), - new Among ( "pataigh", -1, 5, "", methodObject ), - new Among ( "\u00F3idigh", -1, 6, "", methodObject ), - new Among ( "acht\u00FAil", -1, 1, "", methodObject ), - new Among ( "eacht\u00FAil", 15, 1, "", methodObject ), - new Among ( "gineas", -1, 3, "", methodObject ), - new Among ( "ginis", -1, 3, "", methodObject ), - new Among ( "acht", -1, 1, "", methodObject ), - new Among ( "arcacht", 19, 2, "", methodObject ), - new Among ( "eacht", 19, 1, "", methodObject ), - new Among ( "grafa\u00EDocht", -1, 4, "", methodObject ), - new Among ( "arcachta\u00ED", -1, 2, "", methodObject ), - new Among ( "grafa\u00EDochta\u00ED", -1, 4, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 }; - private final static Among a_3[] = { - new Among ( "imid", -1, 1, "", methodObject ), - new Among ( "aimid", 0, 1, "", methodObject ), - new Among ( "\u00EDmid", -1, 1, "", methodObject ), - new Among ( "a\u00EDmid", 2, 1, "", methodObject ), - new Among ( "adh", -1, 2, "", methodObject ), - new Among ( "eadh", 4, 2, "", methodObject ), - new Among ( "faidh", -1, 1, "", methodObject ), - new Among ( "fidh", -1, 1, "", methodObject ), - new Among ( "\u00E1il", -1, 2, "", methodObject ), - new Among ( "ain", -1, 2, "", methodObject ), - new Among ( "tear", -1, 2, "", methodObject ), - new Among ( "tar", -1, 2, "", methodObject ) - }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 }; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(IrishStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - int v_3; - // (, line 28 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 34 - v_1 = cursor; - lab0: do { - // (, line 34 - // gopast, line 35 - golab1: while(true) - { - lab2: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab2; - } - break golab1; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark pV, line 35 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 37 - v_3 = cursor; - lab3: do { - // (, line 37 - // gopast, line 38 - golab4: while(true) - { - lab5: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab5; - } - break golab4; - } while (false); - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // gopast, line 38 - golab6: while(true) - { - lab7: do { - if (!(out_grouping(g_v, 97, 250))) - { - break lab7; - } - break golab6; - } while (false); - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // setmark p1, line 38 - I_p1 = cursor; - // gopast, line 39 - golab8: while(true) - { - lab9: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab9; - } - break golab8; - } while (false); - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // gopast, line 39 - golab10: while(true) - { - lab11: do { - if (!(out_grouping(g_v, 97, 250))) - { - break lab11; - } - break golab10; - } while (false); - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // setmark p2, line 39 - I_p2 = cursor; - } while (false); - cursor = v_3; - return true; - } - - private boolean r_initial_morph() { - int among_var; - // (, line 43 - // [, line 44 - bra = cursor; - // substring, line 44 - among_var = find_among(a_0, 24); - if (among_var == 0) - { - return false; - } - // ], line 44 - ket = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 46 - // delete, line 46 - slice_del(); - break; - case 2: - // (, line 50 - // delete, line 50 - slice_del(); - break; - case 3: - // (, line 52 - // <-, line 52 - slice_from("f"); - break; - case 4: - // (, line 55 - // delete, line 55 - slice_del(); - break; - case 5: - // (, line 58 - // <-, line 58 - slice_from("s"); - break; - case 6: - // (, line 61 - // <-, line 61 - slice_from("b"); - break; - case 7: - // (, line 63 - // <-, line 63 - slice_from("c"); - break; - case 8: - // (, line 65 - // <-, line 65 - slice_from("d"); - break; - case 9: - // (, line 67 - // <-, line 67 - slice_from("f"); - break; - case 10: - // (, line 69 - // <-, line 69 - slice_from("g"); - break; - case 11: - // (, line 71 - // <-, line 71 - slice_from("p"); - break; - case 12: - // (, line 73 - // <-, line 73 - slice_from("s"); - break; - case 13: - // (, line 75 - // <-, line 75 - slice_from("t"); - break; - case 14: - // (, line 79 - // <-, line 79 - slice_from("b"); - break; - case 15: - // (, line 81 - // <-, line 81 - slice_from("c"); - break; - case 16: - // (, line 83 - // <-, line 83 - slice_from("d"); - break; - case 17: - // (, line 85 - // <-, line 85 - slice_from("f"); - break; - case 18: - // (, line 87 - // <-, line 87 - slice_from("g"); - break; - case 19: - // (, line 89 - // <-, line 89 - slice_from("m"); - break; - case 20: - // (, line 91 - // <-, line 91 - slice_from("p"); - break; - case 21: - // (, line 93 - // <-, line 93 - slice_from("t"); - break; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_noun_sfx() { - int among_var; - // (, line 103 - // [, line 104 - ket = cursor; - // substring, line 104 - among_var = find_among_b(a_1, 16); - if (among_var == 0) - { - return false; - } - // ], line 104 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 108 - // call R1, line 108 - if (!r_R1()) - { - return false; - } - // delete, line 108 - slice_del(); - break; - case 2: - // (, line 110 - // call R2, line 110 - if (!r_R2()) - { - return false; - } - // delete, line 110 - slice_del(); - break; - } - return true; - } - - private boolean r_deriv() { - int among_var; - // (, line 113 - // [, line 114 - ket = cursor; - // substring, line 114 - among_var = find_among_b(a_2, 25); - if (among_var == 0) - { - return false; - } - // ], line 114 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 116 - // call R2, line 116 - if (!r_R2()) - { - return false; - } - // delete, line 116 - slice_del(); - break; - case 2: - // (, line 118 - // <-, line 118 - slice_from("arc"); - break; - case 3: - // (, line 120 - // <-, line 120 - slice_from("gin"); - break; - case 4: - // (, line 122 - // <-, line 122 - slice_from("graf"); - break; - case 5: - // (, line 124 - // <-, line 124 - slice_from("paite"); - break; - case 6: - // (, line 126 - // <-, line 126 - slice_from("\u00F3id"); - break; - } - return true; - } - - private boolean r_verb_sfx() { - int among_var; - // (, line 129 - // [, line 130 - ket = cursor; - // substring, line 130 - among_var = find_among_b(a_3, 12); - if (among_var == 0) - { - return false; - } - // ], line 130 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 133 - // call RV, line 133 - if (!r_RV()) - { - return false; - } - // delete, line 133 - slice_del(); - break; - case 2: - // (, line 138 - // call R1, line 138 - if (!r_R1()) - { - return false; - } - // delete, line 138 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 143 - // do, line 144 - v_1 = cursor; - lab0: do { - // call initial_morph, line 144 - if (!r_initial_morph()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 145 - v_2 = cursor; - lab1: do { - // call mark_regions, line 145 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 146 - limit_backward = cursor; cursor = limit; - // (, line 146 - // do, line 147 - v_3 = limit - cursor; - lab2: do { - // call noun_sfx, line 147 - if (!r_noun_sfx()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 148 - v_4 = limit - cursor; - lab3: do { - // call deriv, line 148 - if (!r_deriv()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 149 - v_5 = limit - cursor; - lab4: do { - // call verb_sfx, line 149 - if (!r_verb_sfx()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof IrishStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab2; } - - @Override - public int hashCode() { - return IrishStemmer.class.getName().hashCode(); + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_pV = cursor; + } + cursor = v_1; + int v_3 = cursor; + lab3: { + golab4: while(true) + { + lab5: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab5; } + break golab4; + } + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + golab6: while(true) + { + lab7: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab7; + } + break golab6; + } + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + I_p1 = cursor; + golab8: while(true) + { + lab9: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab9; + } + break golab8; + } + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + golab10: while(true) + { + lab11: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab11; + } + break golab10; + } + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_3; + return true; +} + +private boolean r_initial_morph() { + int among_var; + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + return false; + } + ket = cursor; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("f"); + break; + case 3: + slice_from("s"); + break; + case 4: + slice_from("b"); + break; + case 5: + slice_from("c"); + break; + case 6: + slice_from("d"); + break; + case 7: + slice_from("g"); + break; + case 8: + slice_from("p"); + break; + case 9: + slice_from("t"); + break; + case 10: + slice_from("m"); + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_noun_sfx() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_deriv() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 2: + slice_from("arc"); + break; + case 3: + slice_from("gin"); + break; + case 4: + slice_from("graf"); + break; + case 5: + slice_from("paite"); + break; + case 6: + slice_from("\u00F3id"); + break; + } + return true; +} + +private boolean r_verb_sfx() { + int among_var; + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_initial_morph(); + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + r_noun_sfx(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_deriv(); + cursor = limit - v_4; + int v_5 = limit - cursor; + r_verb_sfx(); + cursor = limit - v_5; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof IrishStemmer; +} + +@Override +public int hashCode() { + return IrishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ItalianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ItalianStemmer.java index eb70293236e..6157a1f38ee 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ItalianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/ItalianStemmer.java @@ -1,1198 +1,912 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class ItalianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class ItalianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 7), + new Among("qu", 0, 6), + new Among("\u00E1", 0, 1), + new Among("\u00E9", 0, 2), + new Among("\u00ED", 0, 3), + new Among("\u00F3", 0, 4), + new Among("\u00FA", 0, 5) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 3), + new Among("I", 0, 1), + new Among("U", 0, 2) +}; - private final static Among a_0[] = { - new Among ( "", -1, 7, "", methodObject ), - new Among ( "qu", 0, 6, "", methodObject ), - new Among ( "\u00E1", 0, 1, "", methodObject ), - new Among ( "\u00E9", 0, 2, "", methodObject ), - new Among ( "\u00ED", 0, 3, "", methodObject ), - new Among ( "\u00F3", 0, 4, "", methodObject ), - new Among ( "\u00FA", 0, 5, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("la", -1, -1), + new Among("cela", 0, -1), + new Among("gliela", 0, -1), + new Among("mela", 0, -1), + new Among("tela", 0, -1), + new Among("vela", 0, -1), + new Among("le", -1, -1), + new Among("cele", 6, -1), + new Among("gliele", 6, -1), + new Among("mele", 6, -1), + new Among("tele", 6, -1), + new Among("vele", 6, -1), + new Among("ne", -1, -1), + new Among("cene", 12, -1), + new Among("gliene", 12, -1), + new Among("mene", 12, -1), + new Among("sene", 12, -1), + new Among("tene", 12, -1), + new Among("vene", 12, -1), + new Among("ci", -1, -1), + new Among("li", -1, -1), + new Among("celi", 20, -1), + new Among("glieli", 20, -1), + new Among("meli", 20, -1), + new Among("teli", 20, -1), + new Among("veli", 20, -1), + new Among("gli", 20, -1), + new Among("mi", -1, -1), + new Among("si", -1, -1), + new Among("ti", -1, -1), + new Among("vi", -1, -1), + new Among("lo", -1, -1), + new Among("celo", 31, -1), + new Among("glielo", 31, -1), + new Among("melo", 31, -1), + new Among("telo", 31, -1), + new Among("velo", 31, -1) +}; - private final static Among a_1[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "I", 0, 1, "", methodObject ), - new Among ( "U", 0, 2, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ando", -1, 1), + new Among("endo", -1, 1), + new Among("ar", -1, 2), + new Among("er", -1, 2), + new Among("ir", -1, 2) +}; - private final static Among a_2[] = { - new Among ( "la", -1, -1, "", methodObject ), - new Among ( "cela", 0, -1, "", methodObject ), - new Among ( "gliela", 0, -1, "", methodObject ), - new Among ( "mela", 0, -1, "", methodObject ), - new Among ( "tela", 0, -1, "", methodObject ), - new Among ( "vela", 0, -1, "", methodObject ), - new Among ( "le", -1, -1, "", methodObject ), - new Among ( "cele", 6, -1, "", methodObject ), - new Among ( "gliele", 6, -1, "", methodObject ), - new Among ( "mele", 6, -1, "", methodObject ), - new Among ( "tele", 6, -1, "", methodObject ), - new Among ( "vele", 6, -1, "", methodObject ), - new Among ( "ne", -1, -1, "", methodObject ), - new Among ( "cene", 12, -1, "", methodObject ), - new Among ( "gliene", 12, -1, "", methodObject ), - new Among ( "mene", 12, -1, "", methodObject ), - new Among ( "sene", 12, -1, "", methodObject ), - new Among ( "tene", 12, -1, "", methodObject ), - new Among ( "vene", 12, -1, "", methodObject ), - new Among ( "ci", -1, -1, "", methodObject ), - new Among ( "li", -1, -1, "", methodObject ), - new Among ( "celi", 20, -1, "", methodObject ), - new Among ( "glieli", 20, -1, "", methodObject ), - new Among ( "meli", 20, -1, "", methodObject ), - new Among ( "teli", 20, -1, "", methodObject ), - new Among ( "veli", 20, -1, "", methodObject ), - new Among ( "gli", 20, -1, "", methodObject ), - new Among ( "mi", -1, -1, "", methodObject ), - new Among ( "si", -1, -1, "", methodObject ), - new Among ( "ti", -1, -1, "", methodObject ), - new Among ( "vi", -1, -1, "", methodObject ), - new Among ( "lo", -1, -1, "", methodObject ), - new Among ( "celo", 31, -1, "", methodObject ), - new Among ( "glielo", 31, -1, "", methodObject ), - new Among ( "melo", 31, -1, "", methodObject ), - new Among ( "telo", 31, -1, "", methodObject ), - new Among ( "velo", 31, -1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ic", -1, -1), + new Among("abil", -1, -1), + new Among("os", -1, -1), + new Among("iv", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "ando", -1, 1, "", methodObject ), - new Among ( "endo", -1, 1, "", methodObject ), - new Among ( "ar", -1, 2, "", methodObject ), - new Among ( "er", -1, 2, "", methodObject ), - new Among ( "ir", -1, 2, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ic", -1, 1), + new Among("abil", -1, 1), + new Among("iv", -1, 1) +}; - private final static Among a_4[] = { - new Among ( "ic", -1, -1, "", methodObject ), - new Among ( "abil", -1, -1, "", methodObject ), - new Among ( "os", -1, -1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("ica", -1, 1), + new Among("logia", -1, 3), + new Among("osa", -1, 1), + new Among("ista", -1, 1), + new Among("iva", -1, 9), + new Among("anza", -1, 1), + new Among("enza", -1, 5), + new Among("ice", -1, 1), + new Among("atrice", 7, 1), + new Among("iche", -1, 1), + new Among("logie", -1, 3), + new Among("abile", -1, 1), + new Among("ibile", -1, 1), + new Among("usione", -1, 4), + new Among("azione", -1, 2), + new Among("uzione", -1, 4), + new Among("atore", -1, 2), + new Among("ose", -1, 1), + new Among("ante", -1, 1), + new Among("mente", -1, 1), + new Among("amente", 19, 7), + new Among("iste", -1, 1), + new Among("ive", -1, 9), + new Among("anze", -1, 1), + new Among("enze", -1, 5), + new Among("ici", -1, 1), + new Among("atrici", 25, 1), + new Among("ichi", -1, 1), + new Among("abili", -1, 1), + new Among("ibili", -1, 1), + new Among("ismi", -1, 1), + new Among("usioni", -1, 4), + new Among("azioni", -1, 2), + new Among("uzioni", -1, 4), + new Among("atori", -1, 2), + new Among("osi", -1, 1), + new Among("anti", -1, 1), + new Among("amenti", -1, 6), + new Among("imenti", -1, 6), + new Among("isti", -1, 1), + new Among("ivi", -1, 9), + new Among("ico", -1, 1), + new Among("ismo", -1, 1), + new Among("oso", -1, 1), + new Among("amento", -1, 6), + new Among("imento", -1, 6), + new Among("ivo", -1, 9), + new Among("it\u00E0", -1, 8), + new Among("ist\u00E0", -1, 1), + new Among("ist\u00E8", -1, 1), + new Among("ist\u00EC", -1, 1) +}; - private final static Among a_5[] = { - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "abil", -1, 1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("isca", -1, 1), + new Among("enda", -1, 1), + new Among("ata", -1, 1), + new Among("ita", -1, 1), + new Among("uta", -1, 1), + new Among("ava", -1, 1), + new Among("eva", -1, 1), + new Among("iva", -1, 1), + new Among("erebbe", -1, 1), + new Among("irebbe", -1, 1), + new Among("isce", -1, 1), + new Among("ende", -1, 1), + new Among("are", -1, 1), + new Among("ere", -1, 1), + new Among("ire", -1, 1), + new Among("asse", -1, 1), + new Among("ate", -1, 1), + new Among("avate", 16, 1), + new Among("evate", 16, 1), + new Among("ivate", 16, 1), + new Among("ete", -1, 1), + new Among("erete", 20, 1), + new Among("irete", 20, 1), + new Among("ite", -1, 1), + new Among("ereste", -1, 1), + new Among("ireste", -1, 1), + new Among("ute", -1, 1), + new Among("erai", -1, 1), + new Among("irai", -1, 1), + new Among("isci", -1, 1), + new Among("endi", -1, 1), + new Among("erei", -1, 1), + new Among("irei", -1, 1), + new Among("assi", -1, 1), + new Among("ati", -1, 1), + new Among("iti", -1, 1), + new Among("eresti", -1, 1), + new Among("iresti", -1, 1), + new Among("uti", -1, 1), + new Among("avi", -1, 1), + new Among("evi", -1, 1), + new Among("ivi", -1, 1), + new Among("isco", -1, 1), + new Among("ando", -1, 1), + new Among("endo", -1, 1), + new Among("Yamo", -1, 1), + new Among("iamo", -1, 1), + new Among("avamo", -1, 1), + new Among("evamo", -1, 1), + new Among("ivamo", -1, 1), + new Among("eremo", -1, 1), + new Among("iremo", -1, 1), + new Among("assimo", -1, 1), + new Among("ammo", -1, 1), + new Among("emmo", -1, 1), + new Among("eremmo", 54, 1), + new Among("iremmo", 54, 1), + new Among("immo", -1, 1), + new Among("ano", -1, 1), + new Among("iscano", 58, 1), + new Among("avano", 58, 1), + new Among("evano", 58, 1), + new Among("ivano", 58, 1), + new Among("eranno", -1, 1), + new Among("iranno", -1, 1), + new Among("ono", -1, 1), + new Among("iscono", 65, 1), + new Among("arono", 65, 1), + new Among("erono", 65, 1), + new Among("irono", 65, 1), + new Among("erebbero", -1, 1), + new Among("irebbero", -1, 1), + new Among("assero", -1, 1), + new Among("essero", -1, 1), + new Among("issero", -1, 1), + new Among("ato", -1, 1), + new Among("ito", -1, 1), + new Among("uto", -1, 1), + new Among("avo", -1, 1), + new Among("evo", -1, 1), + new Among("ivo", -1, 1), + new Among("ar", -1, 1), + new Among("ir", -1, 1), + new Among("er\u00E0", -1, 1), + new Among("ir\u00E0", -1, 1), + new Among("er\u00F2", -1, 1), + new Among("ir\u00F2", -1, 1) +}; - private final static Among a_6[] = { - new Among ( "ica", -1, 1, "", methodObject ), - new Among ( "logia", -1, 3, "", methodObject ), - new Among ( "osa", -1, 1, "", methodObject ), - new Among ( "ista", -1, 1, "", methodObject ), - new Among ( "iva", -1, 9, "", methodObject ), - new Among ( "anza", -1, 1, "", methodObject ), - new Among ( "enza", -1, 5, "", methodObject ), - new Among ( "ice", -1, 1, "", methodObject ), - new Among ( "atrice", 7, 1, "", methodObject ), - new Among ( "iche", -1, 1, "", methodObject ), - new Among ( "logie", -1, 3, "", methodObject ), - new Among ( "abile", -1, 1, "", methodObject ), - new Among ( "ibile", -1, 1, "", methodObject ), - new Among ( "usione", -1, 4, "", methodObject ), - new Among ( "azione", -1, 2, "", methodObject ), - new Among ( "uzione", -1, 4, "", methodObject ), - new Among ( "atore", -1, 2, "", methodObject ), - new Among ( "ose", -1, 1, "", methodObject ), - new Among ( "ante", -1, 1, "", methodObject ), - new Among ( "mente", -1, 1, "", methodObject ), - new Among ( "amente", 19, 7, "", methodObject ), - new Among ( "iste", -1, 1, "", methodObject ), - new Among ( "ive", -1, 9, "", methodObject ), - new Among ( "anze", -1, 1, "", methodObject ), - new Among ( "enze", -1, 5, "", methodObject ), - new Among ( "ici", -1, 1, "", methodObject ), - new Among ( "atrici", 25, 1, "", methodObject ), - new Among ( "ichi", -1, 1, "", methodObject ), - new Among ( "abili", -1, 1, "", methodObject ), - new Among ( "ibili", -1, 1, "", methodObject ), - new Among ( "ismi", -1, 1, "", methodObject ), - new Among ( "usioni", -1, 4, "", methodObject ), - new Among ( "azioni", -1, 2, "", methodObject ), - new Among ( "uzioni", -1, 4, "", methodObject ), - new Among ( "atori", -1, 2, "", methodObject ), - new Among ( "osi", -1, 1, "", methodObject ), - new Among ( "anti", -1, 1, "", methodObject ), - new Among ( "amenti", -1, 6, "", methodObject ), - new Among ( "imenti", -1, 6, "", methodObject ), - new Among ( "isti", -1, 1, "", methodObject ), - new Among ( "ivi", -1, 9, "", methodObject ), - new Among ( "ico", -1, 1, "", methodObject ), - new Among ( "ismo", -1, 1, "", methodObject ), - new Among ( "oso", -1, 1, "", methodObject ), - new Among ( "amento", -1, 6, "", methodObject ), - new Among ( "imento", -1, 6, "", methodObject ), - new Among ( "ivo", -1, 9, "", methodObject ), - new Among ( "it\u00E0", -1, 8, "", methodObject ), - new Among ( "ist\u00E0", -1, 1, "", methodObject ), - new Among ( "ist\u00E8", -1, 1, "", methodObject ), - new Among ( "ist\u00EC", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 }; - private final static Among a_7[] = { - new Among ( "isca", -1, 1, "", methodObject ), - new Among ( "enda", -1, 1, "", methodObject ), - new Among ( "ata", -1, 1, "", methodObject ), - new Among ( "ita", -1, 1, "", methodObject ), - new Among ( "uta", -1, 1, "", methodObject ), - new Among ( "ava", -1, 1, "", methodObject ), - new Among ( "eva", -1, 1, "", methodObject ), - new Among ( "iva", -1, 1, "", methodObject ), - new Among ( "erebbe", -1, 1, "", methodObject ), - new Among ( "irebbe", -1, 1, "", methodObject ), - new Among ( "isce", -1, 1, "", methodObject ), - new Among ( "ende", -1, 1, "", methodObject ), - new Among ( "are", -1, 1, "", methodObject ), - new Among ( "ere", -1, 1, "", methodObject ), - new Among ( "ire", -1, 1, "", methodObject ), - new Among ( "asse", -1, 1, "", methodObject ), - new Among ( "ate", -1, 1, "", methodObject ), - new Among ( "avate", 16, 1, "", methodObject ), - new Among ( "evate", 16, 1, "", methodObject ), - new Among ( "ivate", 16, 1, "", methodObject ), - new Among ( "ete", -1, 1, "", methodObject ), - new Among ( "erete", 20, 1, "", methodObject ), - new Among ( "irete", 20, 1, "", methodObject ), - new Among ( "ite", -1, 1, "", methodObject ), - new Among ( "ereste", -1, 1, "", methodObject ), - new Among ( "ireste", -1, 1, "", methodObject ), - new Among ( "ute", -1, 1, "", methodObject ), - new Among ( "erai", -1, 1, "", methodObject ), - new Among ( "irai", -1, 1, "", methodObject ), - new Among ( "isci", -1, 1, "", methodObject ), - new Among ( "endi", -1, 1, "", methodObject ), - new Among ( "erei", -1, 1, "", methodObject ), - new Among ( "irei", -1, 1, "", methodObject ), - new Among ( "assi", -1, 1, "", methodObject ), - new Among ( "ati", -1, 1, "", methodObject ), - new Among ( "iti", -1, 1, "", methodObject ), - new Among ( "eresti", -1, 1, "", methodObject ), - new Among ( "iresti", -1, 1, "", methodObject ), - new Among ( "uti", -1, 1, "", methodObject ), - new Among ( "avi", -1, 1, "", methodObject ), - new Among ( "evi", -1, 1, "", methodObject ), - new Among ( "ivi", -1, 1, "", methodObject ), - new Among ( "isco", -1, 1, "", methodObject ), - new Among ( "ando", -1, 1, "", methodObject ), - new Among ( "endo", -1, 1, "", methodObject ), - new Among ( "Yamo", -1, 1, "", methodObject ), - new Among ( "iamo", -1, 1, "", methodObject ), - new Among ( "avamo", -1, 1, "", methodObject ), - new Among ( "evamo", -1, 1, "", methodObject ), - new Among ( "ivamo", -1, 1, "", methodObject ), - new Among ( "eremo", -1, 1, "", methodObject ), - new Among ( "iremo", -1, 1, "", methodObject ), - new Among ( "assimo", -1, 1, "", methodObject ), - new Among ( "ammo", -1, 1, "", methodObject ), - new Among ( "emmo", -1, 1, "", methodObject ), - new Among ( "eremmo", 54, 1, "", methodObject ), - new Among ( "iremmo", 54, 1, "", methodObject ), - new Among ( "immo", -1, 1, "", methodObject ), - new Among ( "ano", -1, 1, "", methodObject ), - new Among ( "iscano", 58, 1, "", methodObject ), - new Among ( "avano", 58, 1, "", methodObject ), - new Among ( "evano", 58, 1, "", methodObject ), - new Among ( "ivano", 58, 1, "", methodObject ), - new Among ( "eranno", -1, 1, "", methodObject ), - new Among ( "iranno", -1, 1, "", methodObject ), - new Among ( "ono", -1, 1, "", methodObject ), - new Among ( "iscono", 65, 1, "", methodObject ), - new Among ( "arono", 65, 1, "", methodObject ), - new Among ( "erono", 65, 1, "", methodObject ), - new Among ( "irono", 65, 1, "", methodObject ), - new Among ( "erebbero", -1, 1, "", methodObject ), - new Among ( "irebbero", -1, 1, "", methodObject ), - new Among ( "assero", -1, 1, "", methodObject ), - new Among ( "essero", -1, 1, "", methodObject ), - new Among ( "issero", -1, 1, "", methodObject ), - new Among ( "ato", -1, 1, "", methodObject ), - new Among ( "ito", -1, 1, "", methodObject ), - new Among ( "uto", -1, 1, "", methodObject ), - new Among ( "avo", -1, 1, "", methodObject ), - new Among ( "evo", -1, 1, "", methodObject ), - new Among ( "ivo", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "ir", -1, 1, "", methodObject ), - new Among ( "er\u00E0", -1, 1, "", methodObject ), - new Among ( "ir\u00E0", -1, 1, "", methodObject ), - new Among ( "er\u00F2", -1, 1, "", methodObject ), - new Among ( "ir\u00F2", -1, 1, "", methodObject ) - }; +private static final char g_AEIO[] = {17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 }; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 }; +private static final char g_CG[] = {17 }; - private static final char g_AEIO[] = {17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_CG[] = {17 }; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(ItalianStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_prelude() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 34 - // test, line 35 - v_1 = cursor; - // repeat, line 35 - replab0: while(true) - { - v_2 = cursor; - lab1: do { - // (, line 35 - // [, line 36 - bra = cursor; - // substring, line 36 - among_var = find_among(a_0, 7); - if (among_var == 0) - { - break lab1; - } - // ], line 36 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 37 - // <-, line 37 - slice_from("\u00E0"); - break; - case 2: - // (, line 38 - // <-, line 38 - slice_from("\u00E8"); - break; - case 3: - // (, line 39 - // <-, line 39 - slice_from("\u00EC"); - break; - case 4: - // (, line 40 - // <-, line 40 - slice_from("\u00F2"); - break; - case 5: - // (, line 41 - // <-, line 41 - slice_from("\u00F9"); - break; - case 6: - // (, line 42 - // <-, line 42 - slice_from("qU"); - break; - case 7: - // (, line 43 - // next, line 43 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_2; - break replab0; - } - cursor = v_1; - // repeat, line 46 - replab2: while(true) - { - v_3 = cursor; - lab3: do { - // goto, line 46 - golab4: while(true) - { - v_4 = cursor; - lab5: do { - // (, line 46 - if (!(in_grouping(g_v, 97, 249))) - { - break lab5; - } - // [, line 47 - bra = cursor; - // or, line 47 - lab6: do { - v_5 = cursor; - lab7: do { - // (, line 47 - // literal, line 47 - if (!(eq_s(1, "u"))) - { - break lab7; - } - // ], line 47 - ket = cursor; - if (!(in_grouping(g_v, 97, 249))) - { - break lab7; - } - // <-, line 47 - slice_from("U"); - break lab6; - } while (false); - cursor = v_5; - // (, line 48 - // literal, line 48 - if (!(eq_s(1, "i"))) - { - break lab5; - } - // ], line 48 - ket = cursor; - if (!(in_grouping(g_v, 97, 249))) - { - break lab5; - } - // <-, line 48 - slice_from("I"); - } while (false); - cursor = v_4; - break golab4; - } while (false); - cursor = v_4; - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - continue replab2; - } while (false); - cursor = v_3; - break replab2; - } - return true; - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - int v_6; - int v_8; - // (, line 52 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 58 - v_1 = cursor; - lab0: do { - // (, line 58 - // or, line 60 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 59 - if (!(in_grouping(g_v, 97, 249))) - { - break lab2; - } - // or, line 59 - lab3: do { - v_3 = cursor; - lab4: do { - // (, line 59 - if (!(out_grouping(g_v, 97, 249))) - { - break lab4; - } - // gopast, line 59 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 249))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - break lab3; - } while (false); - cursor = v_3; - // (, line 59 - if (!(in_grouping(g_v, 97, 249))) - { - break lab2; - } - // gopast, line 59 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 249))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab2; - } - cursor++; - } - } while (false); - break lab1; - } while (false); - cursor = v_2; - // (, line 61 - if (!(out_grouping(g_v, 97, 249))) - { - break lab0; - } - // or, line 61 - lab9: do { - v_6 = cursor; - lab10: do { - // (, line 61 - if (!(out_grouping(g_v, 97, 249))) - { - break lab10; - } - // gopast, line 61 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 249))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab10; - } - cursor++; - } - break lab9; - } while (false); - cursor = v_6; - // (, line 61 - if (!(in_grouping(g_v, 97, 249))) - { - break lab0; - } - // next, line 61 - if (cursor >= limit) - { - break lab0; - } - cursor++; - } while (false); - } while (false); - // setmark pV, line 62 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 64 - v_8 = cursor; - lab13: do { - // (, line 64 - // gopast, line 65 - golab14: while(true) - { - lab15: do { - if (!(in_grouping(g_v, 97, 249))) - { - break lab15; - } - break golab14; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 65 - golab16: while(true) - { - lab17: do { - if (!(out_grouping(g_v, 97, 249))) - { - break lab17; - } - break golab16; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p1, line 65 - I_p1 = cursor; - // gopast, line 66 - golab18: while(true) - { - lab19: do { - if (!(in_grouping(g_v, 97, 249))) - { - break lab19; - } - break golab18; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 66 - golab20: while(true) - { - lab21: do { - if (!(out_grouping(g_v, 97, 249))) - { - break lab21; - } - break golab20; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p2, line 66 - I_p2 = cursor; - } while (false); - cursor = v_8; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 70 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 70 - // [, line 72 - bra = cursor; - // substring, line 72 - among_var = find_among(a_1, 3); - if (among_var == 0) - { - break lab1; - } - // ], line 72 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 73 - // <-, line 73 - slice_from("i"); - break; - case 2: - // (, line 74 - // <-, line 74 - slice_from("u"); - break; - case 3: - // (, line 75 - // next, line 75 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_attached_pronoun() { - int among_var; - // (, line 86 - // [, line 87 - ket = cursor; - // substring, line 87 - if (find_among_b(a_2, 37) == 0) - { - return false; - } - // ], line 87 - bra = cursor; - // among, line 97 - among_var = find_among_b(a_3, 5); - if (among_var == 0) - { - return false; - } - // (, line 97 - // call RV, line 97 - if (!r_RV()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 98 - // delete, line 98 - slice_del(); - break; - case 2: - // (, line 99 - // <-, line 99 - slice_from("e"); - break; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 103 - // [, line 104 - ket = cursor; - // substring, line 104 - among_var = find_among_b(a_6, 51); - if (among_var == 0) - { - return false; - } - // ], line 104 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 111 - // call R2, line 111 - if (!r_R2()) - { - return false; - } - // delete, line 111 - slice_del(); - break; - case 2: - // (, line 113 - // call R2, line 113 - if (!r_R2()) - { - return false; - } - // delete, line 113 - slice_del(); - // try, line 114 - v_1 = limit - cursor; - lab0: do { - // (, line 114 - // [, line 114 - ket = cursor; - // literal, line 114 - if (!(eq_s_b(2, "ic"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 114 - bra = cursor; - // call R2, line 114 - if (!r_R2()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 114 - slice_del(); - } while (false); - break; - case 3: - // (, line 117 - // call R2, line 117 - if (!r_R2()) - { - return false; - } - // <-, line 117 - slice_from("log"); - break; - case 4: - // (, line 119 - // call R2, line 119 - if (!r_R2()) - { - return false; - } - // <-, line 119 - slice_from("u"); - break; - case 5: - // (, line 121 - // call R2, line 121 - if (!r_R2()) - { - return false; - } - // <-, line 121 - slice_from("ente"); - break; - case 6: - // (, line 123 - // call RV, line 123 - if (!r_RV()) - { - return false; - } - // delete, line 123 - slice_del(); - break; - case 7: - // (, line 124 - // call R1, line 125 - if (!r_R1()) - { - return false; - } - // delete, line 125 - slice_del(); - // try, line 126 - v_2 = limit - cursor; - lab1: do { - // (, line 126 - // [, line 127 - ket = cursor; - // substring, line 127 - among_var = find_among_b(a_4, 4); - if (among_var == 0) - { - cursor = limit - v_2; - break lab1; - } - // ], line 127 - bra = cursor; - // call R2, line 127 - if (!r_R2()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 127 - slice_del(); - switch(among_var) { - case 0: - cursor = limit - v_2; - break lab1; - case 1: - // (, line 128 - // [, line 128 - ket = cursor; - // literal, line 128 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_2; - break lab1; - } - // ], line 128 - bra = cursor; - // call R2, line 128 - if (!r_R2()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 128 - slice_del(); - break; - } - } while (false); - break; - case 8: - // (, line 133 - // call R2, line 134 - if (!r_R2()) - { - return false; - } - // delete, line 134 - slice_del(); - // try, line 135 - v_3 = limit - cursor; - lab2: do { - // (, line 135 - // [, line 136 - ket = cursor; - // substring, line 136 - among_var = find_among_b(a_5, 3); - if (among_var == 0) - { - cursor = limit - v_3; - break lab2; - } - // ], line 136 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_3; - break lab2; - case 1: - // (, line 137 - // call R2, line 137 - if (!r_R2()) - { - cursor = limit - v_3; - break lab2; - } - // delete, line 137 - slice_del(); - break; - } - } while (false); - break; - case 9: - // (, line 141 - // call R2, line 142 - if (!r_R2()) - { - return false; - } - // delete, line 142 - slice_del(); - // try, line 143 - v_4 = limit - cursor; - lab3: do { - // (, line 143 - // [, line 143 - ket = cursor; - // literal, line 143 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_4; - break lab3; - } - // ], line 143 - bra = cursor; - // call R2, line 143 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 143 - slice_del(); - // [, line 143 - ket = cursor; - // literal, line 143 - if (!(eq_s_b(2, "ic"))) - { - cursor = limit - v_4; - break lab3; - } - // ], line 143 - bra = cursor; - // call R2, line 143 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 143 - slice_del(); - } while (false); - break; - } - return true; - } - - private boolean r_verb_suffix() { - int among_var; - int v_1; - int v_2; - // setlimit, line 148 - v_1 = limit - cursor; - // tomark, line 148 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 148 - // [, line 149 - ket = cursor; - // substring, line 149 - among_var = find_among_b(a_7, 87); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 149 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 163 - // delete, line 163 - slice_del(); - break; - } - limit_backward = v_2; - return true; - } - - private boolean r_vowel_suffix() { - int v_1; - int v_2; - // (, line 170 - // try, line 171 - v_1 = limit - cursor; - lab0: do { - // (, line 171 - // [, line 172 - ket = cursor; - if (!(in_grouping_b(g_AEIO, 97, 242))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 172 - bra = cursor; - // call RV, line 172 - if (!r_RV()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 172 - slice_del(); - // [, line 173 - ket = cursor; - // literal, line 173 - if (!(eq_s_b(1, "i"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 173 - bra = cursor; - // call RV, line 173 - if (!r_RV()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 173 - slice_del(); - } while (false); - // try, line 175 - v_2 = limit - cursor; - lab1: do { - // (, line 175 - // [, line 176 - ket = cursor; - // literal, line 176 - if (!(eq_s_b(1, "h"))) - { - cursor = limit - v_2; - break lab1; - } - // ], line 176 - bra = cursor; - if (!(in_grouping_b(g_CG, 99, 103))) - { - cursor = limit - v_2; - break lab1; - } - // call RV, line 176 - if (!r_RV()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 176 - slice_del(); - } while (false); - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 181 - // do, line 182 - v_1 = cursor; - lab0: do { - // call prelude, line 182 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 183 - v_2 = cursor; - lab1: do { - // call mark_regions, line 183 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 184 - limit_backward = cursor; cursor = limit; - // (, line 184 - // do, line 185 - v_3 = limit - cursor; - lab2: do { - // call attached_pronoun, line 185 - if (!r_attached_pronoun()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 186 - v_4 = limit - cursor; - lab3: do { - // (, line 186 - // or, line 186 - lab4: do { - v_5 = limit - cursor; - lab5: do { - // call standard_suffix, line 186 - if (!r_standard_suffix()) - { - break lab5; - } - break lab4; - } while (false); - cursor = limit - v_5; - // call verb_suffix, line 186 - if (!r_verb_suffix()) - { - break lab3; - } - } while (false); - } while (false); - cursor = limit - v_4; - // do, line 187 - v_6 = limit - cursor; - lab6: do { - // call vowel_suffix, line 187 - if (!r_vowel_suffix()) - { - break lab6; - } - } while (false); - cursor = limit - v_6; - cursor = limit_backward; // do, line 189 - v_7 = cursor; - lab7: do { - // call postlude, line 189 - if (!r_postlude()) - { - break lab7; - } - } while (false); - cursor = v_7; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof ItalianStemmer; +private boolean r_prelude() { + int among_var; + int v_1 = cursor; + while(true) + { + int v_2 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("\u00E0"); + break; + case 2: + slice_from("\u00E8"); + break; + case 3: + slice_from("\u00EC"); + break; + case 4: + slice_from("\u00F2"); + break; + case 5: + slice_from("\u00F9"); + break; + case 6: + slice_from("qU"); + break; + case 7: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_2; + break; + } + cursor = v_1; + while(true) + { + int v_3 = cursor; + lab1: { + golab2: while(true) + { + int v_4 = cursor; + lab3: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab3; + } + bra = cursor; + lab4: { + int v_5 = cursor; + lab5: { + if (!(eq_s("u"))) + { + break lab5; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 249))) + { + break lab5; + } + slice_from("U"); + break lab4; + } + cursor = v_5; + if (!(eq_s("i"))) + { + break lab3; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 249))) + { + break lab3; + } + slice_from("I"); + } + cursor = v_4; + break golab2; } - - @Override - public int hashCode() { - return ItalianStemmer.class.getName().hashCode(); + cursor = v_4; + if (cursor >= limit) + { + break lab1; } + cursor++; + } + continue; + } + cursor = v_3; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab2; + } + lab3: { + int v_3 = cursor; + lab4: { + if (!(out_grouping(g_v, 97, 249))) + { + break lab4; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } + cursor = v_3; + if (!(in_grouping(g_v, 97, 249))) + { + break lab2; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 249))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } + break lab1; + } + cursor = v_2; + if (!(out_grouping(g_v, 97, 249))) + { + break lab0; + } + lab9: { + int v_6 = cursor; + lab10: { + if (!(out_grouping(g_v, 97, 249))) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_6; + if (!(in_grouping(g_v, 97, 249))) + { + break lab0; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_8 = cursor; + lab13: { + golab14: while(true) + { + lab15: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab15; + } + break golab14; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab16: while(true) + { + lab17: { + if (!(out_grouping(g_v, 97, 249))) + { + break lab17; + } + break golab16; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p1 = cursor; + golab18: while(true) + { + lab19: { + if (!(in_grouping(g_v, 97, 249))) + { + break lab19; + } + break golab18; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab20: while(true) + { + lab21: { + if (!(out_grouping(g_v, 97, 249))) + { + break lab21; + } + break golab20; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_8; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_1); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("i"); + break; + case 2: + slice_from("u"); + break; + case 3: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_attached_pronoun() { + int among_var; + ket = cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + bra = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + if (!r_RV()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("e"); + break; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("ic"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + } + break; + case 3: + if (!r_R2()) + { + return false; + } + slice_from("log"); + break; + case 4: + if (!r_R2()) + { + return false; + } + slice_from("u"); + break; + case 5: + if (!r_R2()) + { + return false; + } + slice_from("ente"); + break; + case 6: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 7: + if (!r_R1()) + { + return false; + } + slice_del(); + int v_2 = limit - cursor; + lab1: { + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + switch (among_var) { + case 1: + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + break; + } + } + break; + case 8: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_3 = limit - cursor; + lab2: { + ket = cursor; + if (find_among_b(a_5) == 0) + { + cursor = limit - v_3; + break lab2; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + slice_del(); + } + break; + case 9: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_4 = limit - cursor; + lab3: { + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_4; + break lab3; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + slice_del(); + ket = cursor; + if (!(eq_s_b("ic"))) + { + cursor = limit - v_4; + break lab3; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + slice_del(); + } + break; + } + return true; +} + +private boolean r_verb_suffix() { + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + if (find_among_b(a_7) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + slice_del(); + limit_backward = v_2; + return true; +} + +private boolean r_vowel_suffix() { + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(in_grouping_b(g_AEIO, 97, 242))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + ket = cursor; + if (!(eq_s_b("i"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + } + int v_2 = limit - cursor; + lab1: { + ket = cursor; + if (!(eq_s_b("h"))) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!(in_grouping_b(g_CG, 99, 103))) + { + cursor = limit - v_2; + break lab1; + } + if (!r_RV()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + r_attached_pronoun(); + cursor = limit - v_3; + int v_4 = limit - cursor; + lab0: { + lab1: { + int v_5 = limit - cursor; + lab2: { + if (!r_standard_suffix()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_5; + if (!r_verb_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_4; + int v_6 = limit - cursor; + r_vowel_suffix(); + cursor = limit - v_6; + cursor = limit_backward; + int v_7 = cursor; + r_postlude(); + cursor = v_7; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof ItalianStemmer; +} + +@Override +public int hashCode() { + return ItalianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/KpStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/KpStemmer.java index 068867aa1f4..003be804a97 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/KpStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/KpStemmer.java @@ -1,2199 +1,1591 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class KpStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class KpStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("nde", -1, 7), + new Among("en", -1, 6), + new Among("s", -1, 2), + new Among("'s", 2, 1), + new Among("es", 2, 4), + new Among("ies", 4, 3), + new Among("aus", 2, 5) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("de", -1, 5), + new Among("ge", -1, 2), + new Among("ische", -1, 4), + new Among("je", -1, 1), + new Among("lijke", -1, 3), + new Among("le", -1, 9), + new Among("ene", -1, 10), + new Among("re", -1, 8), + new Among("se", -1, 7), + new Among("te", -1, 6), + new Among("ieve", -1, 11) +}; - private final static Among a_0[] = { - new Among ( "nde", -1, 7, "", methodObject ), - new Among ( "en", -1, 6, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "'s", 2, 1, "", methodObject ), - new Among ( "es", 2, 4, "", methodObject ), - new Among ( "ies", 4, 3, "", methodObject ), - new Among ( "aus", 2, 5, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("heid", -1, 3), + new Among("fie", -1, 6), + new Among("gie", -1, 7), + new Among("atie", -1, 1), + new Among("isme", -1, 2), + new Among("ing", -1, 2), + new Among("arij", -1, 5), + new Among("erij", -1, 2), + new Among("sel", -1, 3), + new Among("rder", -1, 4), + new Among("ster", -1, 3), + new Among("iteit", -1, 2), + new Among("dst", -1, 9), + new Among("tst", -1, 8) +}; - private final static Among a_1[] = { - new Among ( "de", -1, 5, "", methodObject ), - new Among ( "ge", -1, 2, "", methodObject ), - new Among ( "ische", -1, 4, "", methodObject ), - new Among ( "je", -1, 1, "", methodObject ), - new Among ( "lijke", -1, 3, "", methodObject ), - new Among ( "le", -1, 9, "", methodObject ), - new Among ( "ene", -1, 10, "", methodObject ), - new Among ( "re", -1, 8, "", methodObject ), - new Among ( "se", -1, 7, "", methodObject ), - new Among ( "te", -1, 6, "", methodObject ), - new Among ( "ieve", -1, 11, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("end", -1, 9), + new Among("atief", -1, 2), + new Among("erig", -1, 9), + new Among("achtig", -1, 3), + new Among("ioneel", -1, 1), + new Among("baar", -1, 3), + new Among("laar", -1, 5), + new Among("naar", -1, 4), + new Among("raar", -1, 6), + new Among("eriger", -1, 9), + new Among("achtiger", -1, 3), + new Among("lijker", -1, 8), + new Among("tant", -1, 7), + new Among("erigst", -1, 9), + new Among("achtigst", -1, 3), + new Among("lijkst", -1, 8) +}; - private final static Among a_2[] = { - new Among ( "heid", -1, 3, "", methodObject ), - new Among ( "fie", -1, 7, "", methodObject ), - new Among ( "gie", -1, 8, "", methodObject ), - new Among ( "atie", -1, 1, "", methodObject ), - new Among ( "isme", -1, 5, "", methodObject ), - new Among ( "ing", -1, 5, "", methodObject ), - new Among ( "arij", -1, 6, "", methodObject ), - new Among ( "erij", -1, 5, "", methodObject ), - new Among ( "sel", -1, 3, "", methodObject ), - new Among ( "rder", -1, 4, "", methodObject ), - new Among ( "ster", -1, 3, "", methodObject ), - new Among ( "iteit", -1, 2, "", methodObject ), - new Among ( "dst", -1, 10, "", methodObject ), - new Among ( "tst", -1, 9, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ig", -1, 1), + new Among("iger", -1, 1), + new Among("igst", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "end", -1, 10, "", methodObject ), - new Among ( "atief", -1, 2, "", methodObject ), - new Among ( "erig", -1, 10, "", methodObject ), - new Among ( "achtig", -1, 9, "", methodObject ), - new Among ( "ioneel", -1, 1, "", methodObject ), - new Among ( "baar", -1, 3, "", methodObject ), - new Among ( "laar", -1, 5, "", methodObject ), - new Among ( "naar", -1, 4, "", methodObject ), - new Among ( "raar", -1, 6, "", methodObject ), - new Among ( "eriger", -1, 10, "", methodObject ), - new Among ( "achtiger", -1, 9, "", methodObject ), - new Among ( "lijker", -1, 8, "", methodObject ), - new Among ( "tant", -1, 7, "", methodObject ), - new Among ( "erigst", -1, 10, "", methodObject ), - new Among ( "achtigst", -1, 9, "", methodObject ), - new Among ( "lijkst", -1, 8, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ft", -1, 2), + new Among("kt", -1, 1), + new Among("pt", -1, 3) +}; - private final static Among a_4[] = { - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "iger", -1, 1, "", methodObject ), - new Among ( "igst", -1, 1, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("bb", -1, 1), + new Among("cc", -1, 2), + new Among("dd", -1, 3), + new Among("ff", -1, 4), + new Among("gg", -1, 5), + new Among("hh", -1, 6), + new Among("jj", -1, 7), + new Among("kk", -1, 8), + new Among("ll", -1, 9), + new Among("mm", -1, 10), + new Among("nn", -1, 11), + new Among("pp", -1, 12), + new Among("qq", -1, 13), + new Among("rr", -1, 14), + new Among("ss", -1, 15), + new Among("tt", -1, 16), + new Among("v", -1, 4), + new Among("vv", 16, 17), + new Among("ww", -1, 18), + new Among("xx", -1, 19), + new Among("z", -1, 15), + new Among("zz", 20, 20) +}; - private final static Among a_5[] = { - new Among ( "ft", -1, 2, "", methodObject ), - new Among ( "kt", -1, 1, "", methodObject ), - new Among ( "pt", -1, 3, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("d", -1, 1), + new Among("t", -1, 2) +}; - private final static Among a_6[] = { - new Among ( "bb", -1, 1, "", methodObject ), - new Among ( "cc", -1, 2, "", methodObject ), - new Among ( "dd", -1, 3, "", methodObject ), - new Among ( "ff", -1, 4, "", methodObject ), - new Among ( "gg", -1, 5, "", methodObject ), - new Among ( "hh", -1, 6, "", methodObject ), - new Among ( "jj", -1, 7, "", methodObject ), - new Among ( "kk", -1, 8, "", methodObject ), - new Among ( "ll", -1, 9, "", methodObject ), - new Among ( "mm", -1, 10, "", methodObject ), - new Among ( "nn", -1, 11, "", methodObject ), - new Among ( "pp", -1, 12, "", methodObject ), - new Among ( "qq", -1, 13, "", methodObject ), - new Among ( "rr", -1, 14, "", methodObject ), - new Among ( "ss", -1, 15, "", methodObject ), - new Among ( "tt", -1, 16, "", methodObject ), - new Among ( "v", -1, 21, "", methodObject ), - new Among ( "vv", 16, 17, "", methodObject ), - new Among ( "ww", -1, 18, "", methodObject ), - new Among ( "xx", -1, 19, "", methodObject ), - new Among ( "z", -1, 22, "", methodObject ), - new Among ( "zz", 20, 20, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1 }; - private final static Among a_7[] = { - new Among ( "d", -1, 1, "", methodObject ), - new Among ( "t", -1, 2, "", methodObject ) - }; +private static final char g_v_WX[] = {17, 65, 208, 1 }; - private static final char g_v[] = {17, 65, 16, 1 }; +private static final char g_AOU[] = {1, 64, 16 }; - private static final char g_v_WX[] = {17, 65, 208, 1 }; +private static final char g_AIOU[] = {1, 65, 16 }; - private static final char g_AOU[] = {1, 64, 16 }; +private boolean B_GE_removed; +private boolean B_stemmed; +private boolean B_Y_found; +private int I_p2; +private int I_p1; +private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); - private static final char g_AIOU[] = {1, 65, 16 }; - private boolean B_GE_removed; - private boolean B_stemmed; - private boolean B_Y_found; - private int I_p2; - private int I_p1; - private int I_x; - private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} - private void copy_from(KpStemmer other) { - B_GE_removed = other.B_GE_removed; - B_stemmed = other.B_stemmed; - B_Y_found = other.B_Y_found; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_x = other.I_x; - S_ch = other.S_ch; - super.copy_from(other); - } +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} - private boolean r_R1() { - // (, line 32 - // setmark x, line 32 - I_x = cursor; - if (!(I_x >= I_p1)) - { - return false; - } - return true; - } +private boolean r_V() { + int v_1 = limit - cursor; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("ij"))) + { + return false; + } + } + cursor = limit - v_1; + return true; +} - private boolean r_R2() { - // (, line 33 - // setmark x, line 33 - I_x = cursor; - if (!(I_x >= I_p2)) - { - return false; - } - return true; - } +private boolean r_VX() { + int v_1 = limit - cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("ij"))) + { + return false; + } + } + cursor = limit - v_1; + return true; +} - private boolean r_V() { - int v_1; - int v_2; - // test, line 35 - v_1 = limit - cursor; - // (, line 35 - // or, line 35 - lab0: do { - v_2 = limit - cursor; - lab1: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 35 - if (!(eq_s_b(2, "ij"))) - { - return false; - } - } while (false); - cursor = limit - v_1; - return true; - } +private boolean r_C() { + int v_1 = limit - cursor; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("ij"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + cursor = limit - v_1; + return true; +} - private boolean r_VX() { - int v_1; - int v_2; - // test, line 36 - v_1 = limit - cursor; - // (, line 36 - // next, line 36 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // or, line 36 - lab0: do { - v_2 = limit - cursor; - lab1: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 36 - if (!(eq_s_b(2, "ij"))) - { - return false; - } - } while (false); - cursor = limit - v_1; - return true; - } - - private boolean r_C() { - int v_1; - int v_2; - // test, line 37 - v_1 = limit - cursor; - // (, line 37 - // not, line 37 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 37 - if (!(eq_s_b(2, "ij"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - if (!(out_grouping_b(g_v, 97, 121))) - { - return false; - } - cursor = limit - v_1; - return true; - } - - private boolean r_lengthen_V() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - // do, line 39 - v_1 = limit - cursor; - lab0: do { - // (, line 39 - if (!(out_grouping_b(g_v_WX, 97, 121))) - { - break lab0; - } - // [, line 40 - ket = cursor; - // or, line 40 - lab1: do { - v_2 = limit - cursor; - lab2: do { - // (, line 40 - if (!(in_grouping_b(g_AOU, 97, 117))) - { - break lab2; - } - // ], line 40 - bra = cursor; - // test, line 40 - v_3 = limit - cursor; - // (, line 40 - // or, line 40 - lab3: do { - v_4 = limit - cursor; - lab4: do { - if (!(out_grouping_b(g_v, 97, 121))) - { - break lab4; - } - break lab3; - } while (false); - cursor = limit - v_4; - // atlimit, line 40 - if (cursor > limit_backward) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - break lab1; - } while (false); - cursor = limit - v_2; - // (, line 41 - // literal, line 41 - if (!(eq_s_b(1, "e"))) - { - break lab0; - } - // ], line 41 - bra = cursor; - // test, line 41 - v_5 = limit - cursor; - // (, line 41 - // or, line 41 - lab5: do { - v_6 = limit - cursor; - lab6: do { - if (!(out_grouping_b(g_v, 97, 121))) - { - break lab6; - } - break lab5; - } while (false); - cursor = limit - v_6; - // atlimit, line 41 - if (cursor > limit_backward) - { - break lab0; - } - } while (false); - // not, line 42 - { - v_7 = limit - cursor; - lab7: do { - if (!(in_grouping_b(g_AIOU, 97, 117))) - { - break lab7; - } - break lab0; - } while (false); - cursor = limit - v_7; - } - // not, line 43 - { - v_8 = limit - cursor; - lab8: do { - // (, line 43 - // next, line 43 - if (cursor <= limit_backward) - { - break lab8; - } - cursor--; - if (!(in_grouping_b(g_AIOU, 97, 117))) - { - break lab8; - } - if (!(out_grouping_b(g_v, 97, 121))) - { - break lab8; - } - break lab0; - } while (false); - cursor = limit - v_8; - } - cursor = limit - v_5; - } while (false); - // -> ch, line 44 - S_ch = slice_to(S_ch); - // <+ ch, line 44 - { - int c = cursor; - insert(cursor, cursor, S_ch); - cursor = c; - } - } while (false); - cursor = limit - v_1; - return true; - } - - private boolean r_Step_1() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 48 - // [, line 49 - ket = cursor; - // among, line 49 - among_var = find_among_b(a_0, 7); - if (among_var == 0) - { - return false; - } - // (, line 49 - // ], line 49 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 51 - // delete, line 51 - slice_del(); - break; - case 2: - // (, line 52 - // call R1, line 52 - if (!r_R1()) - { - return false; - } - // not, line 52 - { - v_1 = limit - cursor; - lab0: do { - // (, line 52 - // literal, line 52 - if (!(eq_s_b(1, "t"))) - { - break lab0; - } - // call R1, line 52 - if (!r_R1()) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_1; - } - // call C, line 52 - if (!r_C()) - { - return false; - } - // delete, line 52 - slice_del(); - break; - case 3: - // (, line 53 - // call R1, line 53 - if (!r_R1()) - { - return false; - } - // <-, line 53 - slice_from("ie"); - break; - case 4: - // (, line 55 - // or, line 55 - lab1: do { - v_2 = limit - cursor; - lab2: do { - // (, line 55 - // literal, line 55 - if (!(eq_s_b(2, "ar"))) - { - break lab2; - } - // call R1, line 55 - if (!r_R1()) - { - break lab2; - } - // call C, line 55 - if (!r_C()) - { - break lab2; - } - // ], line 55 - bra = cursor; - // delete, line 55 - slice_del(); - // call lengthen_V, line 55 - if (!r_lengthen_V()) - { - break lab2; - } - break lab1; - } while (false); - cursor = limit - v_2; - lab3: do { - // (, line 56 - // literal, line 56 - if (!(eq_s_b(2, "er"))) - { - break lab3; - } - // call R1, line 56 - if (!r_R1()) - { - break lab3; - } - // call C, line 56 - if (!r_C()) - { - break lab3; - } - // ], line 56 - bra = cursor; - // delete, line 56 - slice_del(); - break lab1; - } while (false); - cursor = limit - v_2; - // (, line 57 - // call R1, line 57 - if (!r_R1()) - { - return false; - } - // call C, line 57 - if (!r_C()) - { - return false; - } - // <-, line 57 - slice_from("e"); - } while (false); - break; - case 5: - // (, line 59 - // call R1, line 59 - if (!r_R1()) - { - return false; - } - // call V, line 59 - if (!r_V()) - { - return false; - } - // <-, line 59 - slice_from("au"); - break; - case 6: - // (, line 60 - // or, line 60 - lab4: do { - v_3 = limit - cursor; - lab5: do { - // (, line 60 - // literal, line 60 - if (!(eq_s_b(3, "hed"))) - { - break lab5; - } - // call R1, line 60 - if (!r_R1()) - { - break lab5; - } - // ], line 60 - bra = cursor; - // <-, line 60 - slice_from("heid"); - break lab4; - } while (false); - cursor = limit - v_3; - lab6: do { - // (, line 61 - // literal, line 61 - if (!(eq_s_b(2, "nd"))) - { - break lab6; - } - // delete, line 61 - slice_del(); - break lab4; - } while (false); - cursor = limit - v_3; - lab7: do { - // (, line 62 - // literal, line 62 - if (!(eq_s_b(1, "d"))) - { - break lab7; - } - // call R1, line 62 - if (!r_R1()) - { - break lab7; - } - // call C, line 62 - if (!r_C()) - { - break lab7; - } - // ], line 62 - bra = cursor; - // delete, line 62 - slice_del(); - break lab4; - } while (false); - cursor = limit - v_3; - lab8: do { - // (, line 63 - // or, line 63 - lab9: do { - v_4 = limit - cursor; - lab10: do { - // literal, line 63 - if (!(eq_s_b(1, "i"))) - { - break lab10; - } - break lab9; - } while (false); - cursor = limit - v_4; - // literal, line 63 - if (!(eq_s_b(1, "j"))) - { - break lab8; - } - } while (false); - // call V, line 63 - if (!r_V()) - { - break lab8; - } - // delete, line 63 - slice_del(); - break lab4; - } while (false); - cursor = limit - v_3; - // (, line 64 - // call R1, line 64 - if (!r_R1()) - { - return false; - } - // call C, line 64 - if (!r_C()) - { - return false; - } - // delete, line 64 - slice_del(); - // call lengthen_V, line 64 - if (!r_lengthen_V()) - { - return false; - } - } while (false); - break; - case 7: - // (, line 65 - // <-, line 65 - slice_from("nd"); - break; - } - return true; - } - - private boolean r_Step_2() { - int among_var; - int v_1; - // (, line 70 - // [, line 71 - ket = cursor; - // among, line 71 - among_var = find_among_b(a_1, 11); - if (among_var == 0) - { - return false; - } - // (, line 71 - // ], line 71 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 72 - // or, line 72 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 72 - // literal, line 72 - if (!(eq_s_b(2, "'t"))) - { - break lab1; - } - // ], line 72 - bra = cursor; - // delete, line 72 - slice_del(); - break lab0; - } while (false); - cursor = limit - v_1; - lab2: do { - // (, line 73 - // literal, line 73 - if (!(eq_s_b(2, "et"))) - { - break lab2; - } - // ], line 73 - bra = cursor; - // call R1, line 73 - if (!r_R1()) - { - break lab2; - } - // call C, line 73 - if (!r_C()) - { - break lab2; - } - // delete, line 73 - slice_del(); - break lab0; - } while (false); - cursor = limit - v_1; - lab3: do { - // (, line 74 - // literal, line 74 - if (!(eq_s_b(3, "rnt"))) - { - break lab3; - } - // ], line 74 - bra = cursor; - // <-, line 74 - slice_from("rn"); - break lab0; - } while (false); - cursor = limit - v_1; - lab4: do { - // (, line 75 - // literal, line 75 - if (!(eq_s_b(1, "t"))) - { - break lab4; - } - // ], line 75 - bra = cursor; - // call R1, line 75 - if (!r_R1()) - { - break lab4; - } - // call VX, line 75 - if (!r_VX()) - { - break lab4; - } - // delete, line 75 - slice_del(); - break lab0; - } while (false); - cursor = limit - v_1; - lab5: do { - // (, line 76 - // literal, line 76 - if (!(eq_s_b(3, "ink"))) - { - break lab5; - } - // ], line 76 - bra = cursor; - // <-, line 76 - slice_from("ing"); - break lab0; - } while (false); - cursor = limit - v_1; - lab6: do { - // (, line 77 - // literal, line 77 - if (!(eq_s_b(2, "mp"))) - { - break lab6; - } - // ], line 77 - bra = cursor; - // <-, line 77 - slice_from("m"); - break lab0; - } while (false); - cursor = limit - v_1; - lab7: do { - // (, line 78 - // literal, line 78 - if (!(eq_s_b(1, "'"))) - { - break lab7; - } - // ], line 78 - bra = cursor; - // call R1, line 78 - if (!r_R1()) - { - break lab7; - } - // delete, line 78 - slice_del(); - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 79 - // ], line 79 - bra = cursor; - // call R1, line 79 - if (!r_R1()) - { - return false; - } - // call C, line 79 - if (!r_C()) - { - return false; - } - // delete, line 79 - slice_del(); - } while (false); - break; - case 2: - // (, line 80 - // call R1, line 80 - if (!r_R1()) - { - return false; - } - // <-, line 80 - slice_from("g"); - break; - case 3: - // (, line 81 - // call R1, line 81 - if (!r_R1()) - { - return false; - } - // <-, line 81 - slice_from("lijk"); - break; - case 4: - // (, line 82 - // call R1, line 82 - if (!r_R1()) - { - return false; - } - // <-, line 82 - slice_from("isch"); - break; - case 5: - // (, line 83 - // call R1, line 83 - if (!r_R1()) - { - return false; - } - // call C, line 83 - if (!r_C()) - { - return false; - } - // delete, line 83 - slice_del(); - break; - case 6: - // (, line 84 - // call R1, line 84 - if (!r_R1()) - { - return false; - } - // <-, line 84 - slice_from("t"); - break; - case 7: - // (, line 85 - // call R1, line 85 - if (!r_R1()) - { - return false; - } - // <-, line 85 - slice_from("s"); - break; - case 8: - // (, line 86 - // call R1, line 86 - if (!r_R1()) - { - return false; - } - // <-, line 86 - slice_from("r"); - break; - case 9: - // (, line 87 - // call R1, line 87 - if (!r_R1()) - { - return false; - } - // delete, line 87 - slice_del(); - // attach, line 87 - insert(cursor, cursor, "l"); - // call lengthen_V, line 87 - if (!r_lengthen_V()) - { - return false; - } - break; - case 10: - // (, line 88 - // call R1, line 88 - if (!r_R1()) - { - return false; - } - // call C, line 88 - if (!r_C()) - { - return false; - } - // delete, line 88 - slice_del(); - // attach, line 88 - insert(cursor, cursor, "en"); - // call lengthen_V, line 88 - if (!r_lengthen_V()) - { - return false; - } - break; - case 11: - // (, line 89 - // call R1, line 89 - if (!r_R1()) - { - return false; - } - // call C, line 89 - if (!r_C()) - { - return false; - } - // <-, line 89 - slice_from("ief"); - break; - } - return true; - } - - private boolean r_Step_3() { - int among_var; - // (, line 94 - // [, line 95 - ket = cursor; - // among, line 95 - among_var = find_among_b(a_2, 14); - if (among_var == 0) - { - return false; - } - // (, line 95 - // ], line 95 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 96 - // call R1, line 96 - if (!r_R1()) - { - return false; - } - // <-, line 96 - slice_from("eer"); - break; - case 2: - // (, line 97 - // call R1, line 97 - if (!r_R1()) - { - return false; - } - // delete, line 97 - slice_del(); - // call lengthen_V, line 97 - if (!r_lengthen_V()) - { - return false; - } - break; - case 3: - // (, line 100 - // call R1, line 100 - if (!r_R1()) - { - return false; - } - // delete, line 100 - slice_del(); - break; - case 4: - // (, line 101 - // <-, line 101 - slice_from("r"); - break; - case 5: - // (, line 104 - // call R1, line 104 - if (!r_R1()) - { - return false; - } - // delete, line 104 - slice_del(); - // call lengthen_V, line 104 - if (!r_lengthen_V()) - { - return false; - } - break; - case 6: - // (, line 105 - // call R1, line 105 - if (!r_R1()) - { - return false; - } - // call C, line 105 - if (!r_C()) - { - return false; - } - // <-, line 105 - slice_from("aar"); - break; - case 7: - // (, line 106 - // call R2, line 106 - if (!r_R2()) - { - return false; - } - // delete, line 106 - slice_del(); - // attach, line 106 - insert(cursor, cursor, "f"); - // call lengthen_V, line 106 - if (!r_lengthen_V()) - { - return false; - } - break; - case 8: - // (, line 107 - // call R2, line 107 - if (!r_R2()) - { - return false; - } - // delete, line 107 - slice_del(); - // attach, line 107 - insert(cursor, cursor, "g"); - // call lengthen_V, line 107 - if (!r_lengthen_V()) - { - return false; - } - break; - case 9: - // (, line 108 - // call R1, line 108 - if (!r_R1()) - { - return false; - } - // call C, line 108 - if (!r_C()) - { - return false; - } - // <-, line 108 - slice_from("t"); - break; - case 10: - // (, line 109 - // call R1, line 109 - if (!r_R1()) - { - return false; - } - // call C, line 109 - if (!r_C()) - { - return false; - } - // <-, line 109 - slice_from("d"); - break; - } - return true; - } - - private boolean r_Step_4() { - int among_var; - int v_1; - // (, line 114 - // or, line 134 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 115 - // [, line 115 - ket = cursor; - // among, line 115 - among_var = find_among_b(a_3, 16); - if (among_var == 0) - { - break lab1; - } - // (, line 115 - // ], line 115 - bra = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 116 - // call R1, line 116 - if (!r_R1()) - { - break lab1; - } - // <-, line 116 - slice_from("ie"); - break; - case 2: - // (, line 117 - // call R1, line 117 - if (!r_R1()) - { - break lab1; - } - // <-, line 117 - slice_from("eer"); - break; - case 3: - // (, line 118 - // call R1, line 118 - if (!r_R1()) - { - break lab1; - } - // delete, line 118 - slice_del(); - break; - case 4: - // (, line 119 - // call R1, line 119 - if (!r_R1()) - { - break lab1; - } - // call V, line 119 - if (!r_V()) - { - break lab1; - } - // <-, line 119 - slice_from("n"); - break; - case 5: - // (, line 120 - // call R1, line 120 - if (!r_R1()) - { - break lab1; - } - // call V, line 120 - if (!r_V()) - { - break lab1; - } - // <-, line 120 - slice_from("l"); - break; - case 6: - // (, line 121 - // call R1, line 121 - if (!r_R1()) - { - break lab1; - } - // call V, line 121 - if (!r_V()) - { - break lab1; - } - // <-, line 121 - slice_from("r"); - break; - case 7: - // (, line 122 - // call R1, line 122 - if (!r_R1()) - { - break lab1; - } - // <-, line 122 - slice_from("teer"); - break; - case 8: - // (, line 124 - // call R1, line 124 - if (!r_R1()) - { - break lab1; - } - // <-, line 124 - slice_from("lijk"); - break; - case 9: - // (, line 127 - // call R1, line 127 - if (!r_R1()) - { - break lab1; - } - // delete, line 127 - slice_del(); - break; - case 10: - // (, line 131 - // call R1, line 131 - if (!r_R1()) - { - break lab1; - } - // call C, line 131 - if (!r_C()) - { - break lab1; - } - // delete, line 131 - slice_del(); - // call lengthen_V, line 131 - if (!r_lengthen_V()) - { - break lab1; - } - break; - } - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 135 - // [, line 135 - ket = cursor; - // among, line 135 - among_var = find_among_b(a_4, 3); - if (among_var == 0) - { - return false; - } - // (, line 135 - // ], line 135 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 138 - // call R1, line 138 - if (!r_R1()) - { - return false; - } - // call C, line 138 - if (!r_C()) - { - return false; - } - // delete, line 138 - slice_del(); - // call lengthen_V, line 138 - if (!r_lengthen_V()) - { - return false; - } - break; - } - } while (false); - return true; - } - - private boolean r_Step_7() { - int among_var; - // (, line 144 - // [, line 145 - ket = cursor; - // among, line 145 - among_var = find_among_b(a_5, 3); - if (among_var == 0) - { - return false; - } - // (, line 145 - // ], line 145 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 146 - // <-, line 146 - slice_from("k"); - break; - case 2: - // (, line 147 - // <-, line 147 - slice_from("f"); - break; - case 3: - // (, line 148 - // <-, line 148 - slice_from("p"); - break; - } - return true; - } - - private boolean r_Step_6() { - int among_var; - // (, line 153 - // [, line 154 - ket = cursor; - // among, line 154 - among_var = find_among_b(a_6, 22); - if (among_var == 0) - { - return false; - } - // (, line 154 - // ], line 154 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 155 - // <-, line 155 - slice_from("b"); - break; - case 2: - // (, line 156 - // <-, line 156 - slice_from("c"); - break; - case 3: - // (, line 157 - // <-, line 157 - slice_from("d"); - break; - case 4: - // (, line 158 - // <-, line 158 - slice_from("f"); - break; - case 5: - // (, line 159 - // <-, line 159 - slice_from("g"); - break; - case 6: - // (, line 160 - // <-, line 160 - slice_from("h"); - break; - case 7: - // (, line 161 - // <-, line 161 - slice_from("j"); - break; - case 8: - // (, line 162 - // <-, line 162 - slice_from("k"); - break; - case 9: - // (, line 163 - // <-, line 163 - slice_from("l"); - break; - case 10: - // (, line 164 - // <-, line 164 - slice_from("m"); - break; - case 11: - // (, line 165 - // <-, line 165 - slice_from("n"); - break; - case 12: - // (, line 166 - // <-, line 166 - slice_from("p"); - break; - case 13: - // (, line 167 - // <-, line 167 - slice_from("q"); - break; - case 14: - // (, line 168 - // <-, line 168 - slice_from("r"); - break; - case 15: - // (, line 169 - // <-, line 169 - slice_from("s"); - break; - case 16: - // (, line 170 - // <-, line 170 - slice_from("t"); - break; - case 17: - // (, line 171 - // <-, line 171 - slice_from("v"); - break; - case 18: - // (, line 172 - // <-, line 172 - slice_from("w"); - break; - case 19: - // (, line 173 - // <-, line 173 - slice_from("x"); - break; - case 20: - // (, line 174 - // <-, line 174 - slice_from("z"); - break; - case 21: - // (, line 175 - // <-, line 175 - slice_from("f"); - break; - case 22: - // (, line 176 - // <-, line 176 - slice_from("s"); - break; - } - return true; - } - - private boolean r_Step_1c() { - int among_var; - int v_1; - int v_2; - // (, line 181 - // [, line 182 - ket = cursor; - // among, line 182 - among_var = find_among_b(a_7, 2); - if (among_var == 0) - { - return false; - } - // (, line 182 - // ], line 182 - bra = cursor; - // call R1, line 182 - if (!r_R1()) - { - return false; - } - // call C, line 182 - if (!r_C()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 183 - // not, line 183 - { - v_1 = limit - cursor; - lab0: do { - // (, line 183 - // literal, line 183 - if (!(eq_s_b(1, "n"))) - { - break lab0; - } - // call R1, line 183 - if (!r_R1()) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_1; - } - // delete, line 183 - slice_del(); - break; - case 2: - // (, line 184 - // not, line 184 - { - v_2 = limit - cursor; - lab1: do { - // (, line 184 - // literal, line 184 - if (!(eq_s_b(1, "h"))) - { - break lab1; - } - // call R1, line 184 - if (!r_R1()) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_2; - } - // delete, line 184 - slice_del(); - break; - } - return true; - } - - private boolean r_Lose_prefix() { - int v_1; - int v_2; - int v_3; - // (, line 189 - // [, line 190 - bra = cursor; - // literal, line 190 - if (!(eq_s(2, "ge"))) - { - return false; - } - // ], line 190 - ket = cursor; - // test, line 190 - v_1 = cursor; - // hop, line 190 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = v_1; - // (, line 190 - // goto, line 190 - golab0: while(true) - { - v_2 = cursor; - lab1: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab1; - } - cursor = v_2; - break golab0; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // goto, line 190 - golab2: while(true) - { - v_3 = cursor; - lab3: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab3; - } - cursor = v_3; - break golab2; - } while (false); - cursor = v_3; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // set GE_removed, line 191 - B_GE_removed = true; - // delete, line 192 - slice_del(); - return true; - } - - private boolean r_Lose_infix() { - int v_2; - int v_3; - int v_4; - // (, line 195 - // next, line 196 - if (cursor >= limit) - { - return false; - } - cursor++; - // gopast, line 197 - golab0: while(true) - { - lab1: do { - // (, line 197 - // [, line 197 - bra = cursor; - // literal, line 197 - if (!(eq_s(2, "ge"))) - { - break lab1; - } - // ], line 197 - ket = cursor; - break golab0; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // test, line 197 - v_2 = cursor; - // hop, line 197 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = v_2; - // (, line 197 - // goto, line 197 - golab2: while(true) - { - v_3 = cursor; - lab3: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab3; - } - cursor = v_3; - break golab2; - } while (false); - cursor = v_3; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // goto, line 197 - golab4: while(true) - { - v_4 = cursor; - lab5: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab5; - } - cursor = v_4; - break golab4; - } while (false); - cursor = v_4; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // set GE_removed, line 198 - B_GE_removed = true; - // delete, line 199 - slice_del(); - return true; - } - - private boolean r_measure() { - int v_1; - int v_2; - int v_5; - int v_6; - int v_9; - int v_10; - // (, line 202 - // do, line 203 - v_1 = cursor; - lab0: do { - // (, line 203 - // tolimit, line 204 - cursor = limit; - // setmark p1, line 205 - I_p1 = cursor; - // setmark p2, line 206 - I_p2 = cursor; - } while (false); - cursor = v_1; - // do, line 208 - v_2 = cursor; - lab1: do { - // (, line 208 - // repeat, line 209 - replab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab3; - } - continue replab2; - } while (false); - break replab2; - } - // atleast, line 209 - { - int v_4 = 1; - // atleast, line 209 - replab4: while(true) - { - v_5 = cursor; - lab5: do { - // (, line 209 - // or, line 209 - lab6: do { - v_6 = cursor; - lab7: do { - // literal, line 209 - if (!(eq_s(2, "ij"))) - { - break lab7; - } - break lab6; - } while (false); - cursor = v_6; - if (!(in_grouping(g_v, 97, 121))) - { - break lab5; - } - } while (false); - v_4--; - continue replab4; - } while (false); - cursor = v_5; - break replab4; - } - if (v_4 > 0) - { - break lab1; - } - } - if (!(out_grouping(g_v, 97, 121))) - { - break lab1; - } - // setmark p1, line 209 - I_p1 = cursor; - // repeat, line 210 - replab8: while(true) - { - lab9: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab9; - } - continue replab8; - } while (false); - break replab8; - } - // atleast, line 210 - { - int v_8 = 1; - // atleast, line 210 - replab10: while(true) - { - v_9 = cursor; - lab11: do { - // (, line 210 - // or, line 210 - lab12: do { - v_10 = cursor; - lab13: do { - // literal, line 210 - if (!(eq_s(2, "ij"))) - { - break lab13; - } - break lab12; - } while (false); - cursor = v_10; - if (!(in_grouping(g_v, 97, 121))) - { - break lab11; - } - } while (false); - v_8--; - continue replab10; - } while (false); - cursor = v_9; - break replab10; - } - if (v_8 > 0) - { - break lab1; - } - } - if (!(out_grouping(g_v, 97, 121))) - { - break lab1; - } - // setmark p2, line 210 - I_p2 = cursor; - } while (false); - cursor = v_2; - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - int v_12; - int v_13; - int v_14; - int v_15; - int v_16; - int v_18; - int v_19; - int v_20; - // (, line 214 - // unset Y_found, line 216 - B_Y_found = false; - // unset stemmed, line 217 - B_stemmed = false; - // do, line 218 - v_1 = cursor; - lab0: do { - // (, line 218 - // [, line 218 - bra = cursor; - // literal, line 218 - if (!(eq_s(1, "y"))) - { - break lab0; - } - // ], line 218 - ket = cursor; - // <-, line 218 - slice_from("Y"); - // set Y_found, line 218 - B_Y_found = true; - } while (false); - cursor = v_1; - // do, line 219 - v_2 = cursor; - lab1: do { - // repeat, line 219 - replab2: while(true) - { - v_3 = cursor; - lab3: do { - // (, line 219 - // goto, line 219 - golab4: while(true) - { - v_4 = cursor; - lab5: do { - // (, line 219 - if (!(in_grouping(g_v, 97, 121))) - { - break lab5; - } - // [, line 219 - bra = cursor; - // literal, line 219 - if (!(eq_s(1, "y"))) - { - break lab5; - } - // ], line 219 - ket = cursor; - cursor = v_4; - break golab4; - } while (false); - cursor = v_4; - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // <-, line 219 - slice_from("Y"); - // set Y_found, line 219 - B_Y_found = true; - continue replab2; - } while (false); - cursor = v_3; - break replab2; - } - } while (false); - cursor = v_2; - // call measure, line 221 - if (!r_measure()) - { - return false; - } - // backwards, line 223 - limit_backward = cursor; cursor = limit; - // (, line 223 - // do, line 224 - v_5 = limit - cursor; - lab6: do { - // (, line 224 - // call Step_1, line 224 - if (!r_Step_1()) - { - break lab6; - } - // set stemmed, line 224 - B_stemmed = true; - } while (false); - cursor = limit - v_5; - // do, line 225 - v_6 = limit - cursor; - lab7: do { - // (, line 225 - // call Step_2, line 225 - if (!r_Step_2()) - { - break lab7; - } - // set stemmed, line 225 - B_stemmed = true; - } while (false); - cursor = limit - v_6; - // do, line 226 - v_7 = limit - cursor; - lab8: do { - // (, line 226 - // call Step_3, line 226 - if (!r_Step_3()) - { - break lab8; - } - // set stemmed, line 226 - B_stemmed = true; - } while (false); - cursor = limit - v_7; - // do, line 227 - v_8 = limit - cursor; - lab9: do { - // (, line 227 - // call Step_4, line 227 - if (!r_Step_4()) - { - break lab9; - } - // set stemmed, line 227 - B_stemmed = true; - } while (false); - cursor = limit - v_8; - cursor = limit_backward; // unset GE_removed, line 229 - B_GE_removed = false; - // do, line 230 - v_9 = cursor; - lab10: do { - // (, line 230 - // and, line 230 - v_10 = cursor; - // call Lose_prefix, line 230 - if (!r_Lose_prefix()) - { - break lab10; - } - cursor = v_10; - // call measure, line 230 - if (!r_measure()) - { - break lab10; - } - } while (false); - cursor = v_9; - // backwards, line 231 - limit_backward = cursor; cursor = limit; - // (, line 231 - // do, line 232 - v_11 = limit - cursor; - lab11: do { - // (, line 232 - // Boolean test GE_removed, line 232 - if (!(B_GE_removed)) - { - break lab11; - } - // call Step_1c, line 232 - if (!r_Step_1c()) - { - break lab11; - } - } while (false); - cursor = limit - v_11; - cursor = limit_backward; // unset GE_removed, line 234 - B_GE_removed = false; - // do, line 235 - v_12 = cursor; - lab12: do { - // (, line 235 - // and, line 235 - v_13 = cursor; - // call Lose_infix, line 235 - if (!r_Lose_infix()) - { - break lab12; - } - cursor = v_13; - // call measure, line 235 - if (!r_measure()) - { - break lab12; - } - } while (false); - cursor = v_12; - // backwards, line 236 - limit_backward = cursor; cursor = limit; - // (, line 236 - // do, line 237 - v_14 = limit - cursor; - lab13: do { - // (, line 237 - // Boolean test GE_removed, line 237 - if (!(B_GE_removed)) - { - break lab13; - } - // call Step_1c, line 237 - if (!r_Step_1c()) - { - break lab13; - } - } while (false); - cursor = limit - v_14; - cursor = limit_backward; // backwards, line 239 - limit_backward = cursor; cursor = limit; - // (, line 239 - // do, line 240 - v_15 = limit - cursor; - lab14: do { - // (, line 240 - // call Step_7, line 240 - if (!r_Step_7()) - { - break lab14; - } - // set stemmed, line 240 - B_stemmed = true; - } while (false); - cursor = limit - v_15; - // do, line 241 - v_16 = limit - cursor; - lab15: do { - // (, line 241 - // or, line 241 - lab16: do { - lab17: do { - // Boolean test stemmed, line 241 - if (!(B_stemmed)) - { - break lab17; - } - break lab16; - } while (false); - // Boolean test GE_removed, line 241 - if (!(B_GE_removed)) - { - break lab15; - } - } while (false); - // call Step_6, line 241 - if (!r_Step_6()) - { - break lab15; - } - } while (false); - cursor = limit - v_16; - cursor = limit_backward; // do, line 243 - v_18 = cursor; - lab18: do { - // (, line 243 - // Boolean test Y_found, line 243 - if (!(B_Y_found)) - { - break lab18; - } - // repeat, line 243 - replab19: while(true) - { - v_19 = cursor; - lab20: do { - // (, line 243 - // goto, line 243 - golab21: while(true) - { - v_20 = cursor; - lab22: do { - // (, line 243 - // [, line 243 - bra = cursor; - // literal, line 243 - if (!(eq_s(1, "Y"))) - { - break lab22; - } - // ], line 243 - ket = cursor; - cursor = v_20; - break golab21; - } while (false); - cursor = v_20; - if (cursor >= limit) - { - break lab20; - } - cursor++; - } - // <-, line 243 - slice_from("y"); - continue replab19; - } while (false); - cursor = v_19; - break replab19; - } - } while (false); - cursor = v_18; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof KpStemmer; +private boolean r_lengthen_V() { + int v_1 = limit - cursor; + lab0: { + if (!(out_grouping_b(g_v_WX, 97, 121))) + { + break lab0; + } + ket = cursor; + lab1: { + int v_2 = limit - cursor; + lab2: { + if (!(in_grouping_b(g_AOU, 97, 117))) + { + break lab2; } - - @Override - public int hashCode() { - return KpStemmer.class.getName().hashCode(); + bra = cursor; + int v_3 = limit - cursor; + lab3: { + int v_4 = limit - cursor; + lab4: { + if (!(out_grouping_b(g_v, 97, 121))) + { + break lab4; + } + break lab3; + } + cursor = limit - v_4; + if (cursor > limit_backward) + { + break lab2; + } } + cursor = limit - v_3; + break lab1; + } + cursor = limit - v_2; + if (!(eq_s_b("e"))) + { + break lab0; + } + bra = cursor; + int v_5 = limit - cursor; + lab5: { + int v_6 = limit - cursor; + lab6: { + if (!(out_grouping_b(g_v, 97, 121))) + { + break lab6; + } + break lab5; + } + cursor = limit - v_6; + if (cursor > limit_backward) + { + break lab0; + } + } + { + int v_7 = limit - cursor; + lab7: { + if (!(in_grouping_b(g_AIOU, 97, 117))) + { + break lab7; + } + break lab0; + } + cursor = limit - v_7; + } + { + int v_8 = limit - cursor; + lab8: { + if (cursor <= limit_backward) + { + break lab8; + } + cursor--; + if (!(in_grouping_b(g_AIOU, 97, 117))) + { + break lab8; + } + if (!(out_grouping_b(g_v, 97, 121))) + { + break lab8; + } + break lab0; + } + cursor = limit - v_8; + } + cursor = limit - v_5; + } + slice_to(S_ch); + { + int c = cursor; + insert(cursor, cursor, S_ch); + cursor = c; + } + } + cursor = limit - v_1; + return true; +} + +private boolean r_Step_1() { + int among_var; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!r_R1()) + { + return false; + } + { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("t"))) + { + break lab0; + } + if (!r_R1()) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + if (!r_C()) + { + return false; + } + slice_del(); + break; + case 3: + if (!r_R1()) + { + return false; + } + slice_from("ie"); + break; + case 4: + lab1: { + int v_2 = limit - cursor; + lab2: { + if (!(eq_s_b("ar"))) + { + break lab2; + } + if (!r_R1()) + { + break lab2; + } + if (!r_C()) + { + break lab2; + } + bra = cursor; + slice_del(); + if (!r_lengthen_V()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_2; + lab3: { + if (!(eq_s_b("er"))) + { + break lab3; + } + if (!r_R1()) + { + break lab3; + } + if (!r_C()) + { + break lab3; + } + bra = cursor; + slice_del(); + break lab1; + } + cursor = limit - v_2; + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_from("e"); + } + break; + case 5: + if (!r_R1()) + { + return false; + } + if (!r_V()) + { + return false; + } + slice_from("au"); + break; + case 6: + lab4: { + int v_3 = limit - cursor; + lab5: { + if (!(eq_s_b("hed"))) + { + break lab5; + } + if (!r_R1()) + { + break lab5; + } + bra = cursor; + slice_from("heid"); + break lab4; + } + cursor = limit - v_3; + lab6: { + if (!(eq_s_b("nd"))) + { + break lab6; + } + slice_del(); + break lab4; + } + cursor = limit - v_3; + lab7: { + if (!(eq_s_b("d"))) + { + break lab7; + } + if (!r_R1()) + { + break lab7; + } + if (!r_C()) + { + break lab7; + } + bra = cursor; + slice_del(); + break lab4; + } + cursor = limit - v_3; + lab8: { + lab9: { + int v_4 = limit - cursor; + lab10: { + if (!(eq_s_b("i"))) + { + break lab10; + } + break lab9; + } + cursor = limit - v_4; + if (!(eq_s_b("j"))) + { + break lab8; + } + } + if (!r_V()) + { + break lab8; + } + slice_del(); + break lab4; + } + cursor = limit - v_3; + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_del(); + if (!r_lengthen_V()) + { + return false; + } + } + break; + case 7: + slice_from("nd"); + break; + } + return true; +} + +private boolean r_Step_2() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("'t"))) + { + break lab1; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab2: { + if (!(eq_s_b("et"))) + { + break lab2; + } + bra = cursor; + if (!r_R1()) + { + break lab2; + } + if (!r_C()) + { + break lab2; + } + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab3: { + if (!(eq_s_b("rnt"))) + { + break lab3; + } + bra = cursor; + slice_from("rn"); + break lab0; + } + cursor = limit - v_1; + lab4: { + if (!(eq_s_b("t"))) + { + break lab4; + } + bra = cursor; + if (!r_R1()) + { + break lab4; + } + if (!r_VX()) + { + break lab4; + } + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab5: { + if (!(eq_s_b("ink"))) + { + break lab5; + } + bra = cursor; + slice_from("ing"); + break lab0; + } + cursor = limit - v_1; + lab6: { + if (!(eq_s_b("mp"))) + { + break lab6; + } + bra = cursor; + slice_from("m"); + break lab0; + } + cursor = limit - v_1; + lab7: { + if (!(eq_s_b("'"))) + { + break lab7; + } + bra = cursor; + if (!r_R1()) + { + break lab7; + } + slice_del(); + break lab0; + } + cursor = limit - v_1; + bra = cursor; + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_del(); + } + break; + case 2: + if (!r_R1()) + { + return false; + } + slice_from("g"); + break; + case 3: + if (!r_R1()) + { + return false; + } + slice_from("lijk"); + break; + case 4: + if (!r_R1()) + { + return false; + } + slice_from("isch"); + break; + case 5: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_del(); + break; + case 6: + if (!r_R1()) + { + return false; + } + slice_from("t"); + break; + case 7: + if (!r_R1()) + { + return false; + } + slice_from("s"); + break; + case 8: + if (!r_R1()) + { + return false; + } + slice_from("r"); + break; + case 9: + if (!r_R1()) + { + return false; + } + slice_del(); + insert(cursor, cursor, "l"); + if (!r_lengthen_V()) + { + return false; + } + break; + case 10: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_del(); + insert(cursor, cursor, "en"); + if (!r_lengthen_V()) + { + return false; + } + break; + case 11: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_from("ief"); + break; + } + return true; +} + +private boolean r_Step_3() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_from("eer"); + break; + case 2: + if (!r_R1()) + { + return false; + } + slice_del(); + if (!r_lengthen_V()) + { + return false; + } + break; + case 3: + if (!r_R1()) + { + return false; + } + slice_del(); + break; + case 4: + slice_from("r"); + break; + case 5: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_from("aar"); + break; + case 6: + if (!r_R2()) + { + return false; + } + slice_del(); + insert(cursor, cursor, "f"); + if (!r_lengthen_V()) + { + return false; + } + break; + case 7: + if (!r_R2()) + { + return false; + } + slice_del(); + insert(cursor, cursor, "g"); + if (!r_lengthen_V()) + { + return false; + } + break; + case 8: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_from("t"); + break; + case 9: + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_from("d"); + break; + } + return true; +} + +private boolean r_Step_4() { + int among_var; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + break lab1; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + break lab1; + } + slice_from("ie"); + break; + case 2: + if (!r_R1()) + { + break lab1; + } + slice_from("eer"); + break; + case 3: + if (!r_R1()) + { + break lab1; + } + slice_del(); + break; + case 4: + if (!r_R1()) + { + break lab1; + } + if (!r_V()) + { + break lab1; + } + slice_from("n"); + break; + case 5: + if (!r_R1()) + { + break lab1; + } + if (!r_V()) + { + break lab1; + } + slice_from("l"); + break; + case 6: + if (!r_R1()) + { + break lab1; + } + if (!r_V()) + { + break lab1; + } + slice_from("r"); + break; + case 7: + if (!r_R1()) + { + break lab1; + } + slice_from("teer"); + break; + case 8: + if (!r_R1()) + { + break lab1; + } + slice_from("lijk"); + break; + case 9: + if (!r_R1()) + { + break lab1; + } + if (!r_C()) + { + break lab1; + } + slice_del(); + if (!r_lengthen_V()) + { + break lab1; + } + break; + } + break lab0; + } + cursor = limit - v_1; + ket = cursor; + if (find_among_b(a_4) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + slice_del(); + if (!r_lengthen_V()) + { + return false; + } + } + return true; +} + +private boolean r_Step_7() { + int among_var; + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("k"); + break; + case 2: + slice_from("f"); + break; + case 3: + slice_from("p"); + break; + } + return true; +} + +private boolean r_Step_6() { + int among_var; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("b"); + break; + case 2: + slice_from("c"); + break; + case 3: + slice_from("d"); + break; + case 4: + slice_from("f"); + break; + case 5: + slice_from("g"); + break; + case 6: + slice_from("h"); + break; + case 7: + slice_from("j"); + break; + case 8: + slice_from("k"); + break; + case 9: + slice_from("l"); + break; + case 10: + slice_from("m"); + break; + case 11: + slice_from("n"); + break; + case 12: + slice_from("p"); + break; + case 13: + slice_from("q"); + break; + case 14: + slice_from("r"); + break; + case 15: + slice_from("s"); + break; + case 16: + slice_from("t"); + break; + case 17: + slice_from("v"); + break; + case 18: + slice_from("w"); + break; + case 19: + slice_from("x"); + break; + case 20: + slice_from("z"); + break; + } + return true; +} + +private boolean r_Step_1c() { + int among_var; + ket = cursor; + among_var = find_among_b(a_7); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + if (!r_C()) + { + return false; + } + switch (among_var) { + case 1: + { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("n"))) + { + break lab0; + } + if (!r_R1()) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + slice_del(); + break; + case 2: + { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("h"))) + { + break lab1; + } + if (!r_R1()) + { + break lab1; + } + return false; + } + cursor = limit - v_2; + } + slice_del(); + break; + } + return true; +} + +private boolean r_Lose_prefix() { + bra = cursor; + if (!(eq_s("ge"))) + { + return false; + } + ket = cursor; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = v_1; + golab0: while(true) + { + int v_2 = cursor; + lab1: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab1; + } + cursor = v_2; + break golab0; + } + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + int v_3 = cursor; + lab3: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab3; + } + cursor = v_3; + break golab2; + } + cursor = v_3; + if (cursor >= limit) + { + return false; + } + cursor++; + } + B_GE_removed = true; + slice_del(); + return true; +} + +private boolean r_Lose_infix() { + if (cursor >= limit) + { + return false; + } + cursor++; + golab0: while(true) + { + lab1: { + bra = cursor; + if (!(eq_s("ge"))) + { + break lab1; + } + ket = cursor; + break golab0; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + int v_2 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = v_2; + golab2: while(true) + { + int v_3 = cursor; + lab3: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab3; + } + cursor = v_3; + break golab2; + } + cursor = v_3; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab4: while(true) + { + int v_4 = cursor; + lab5: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab5; + } + cursor = v_4; + break golab4; + } + cursor = v_4; + if (cursor >= limit) + { + return false; + } + cursor++; + } + B_GE_removed = true; + slice_del(); + return true; +} + +private boolean r_measure() { + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + while(true) + { + lab1: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab1; + } + continue; + } + break; + } + { + int v_3 = 1; + while(true) + { + int v_4 = cursor; + lab2: { + lab3: { + int v_5 = cursor; + lab4: { + if (!(eq_s("ij"))) + { + break lab4; + } + break lab3; + } + cursor = v_5; + if (!(in_grouping(g_v, 97, 121))) + { + break lab2; + } + } + v_3--; + continue; + } + cursor = v_4; + break; + } + if (v_3 > 0) + { + break lab0; + } + } + if (!(out_grouping(g_v, 97, 121))) + { + break lab0; + } + I_p1 = cursor; + while(true) + { + lab5: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab5; + } + continue; + } + break; + } + { + int v_7 = 1; + while(true) + { + int v_8 = cursor; + lab6: { + lab7: { + int v_9 = cursor; + lab8: { + if (!(eq_s("ij"))) + { + break lab8; + } + break lab7; + } + cursor = v_9; + if (!(in_grouping(g_v, 97, 121))) + { + break lab6; + } + } + v_7--; + continue; + } + cursor = v_8; + break; + } + if (v_7 > 0) + { + break lab0; + } + } + if (!(out_grouping(g_v, 97, 121))) + { + break lab0; + } + I_p2 = cursor; + } + cursor = v_1; + return true; +} + +public boolean stem() { + B_Y_found = false; + B_stemmed = false; + int v_1 = cursor; + lab0: { + bra = cursor; + if (!(eq_s("y"))) + { + break lab0; + } + ket = cursor; + slice_from("Y"); + B_Y_found = true; + } + cursor = v_1; + int v_2 = cursor; + lab1: { + while(true) + { + int v_3 = cursor; + lab2: { + golab3: while(true) + { + int v_4 = cursor; + lab4: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab4; + } + bra = cursor; + if (!(eq_s("y"))) + { + break lab4; + } + ket = cursor; + cursor = v_4; + break golab3; + } + cursor = v_4; + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + slice_from("Y"); + B_Y_found = true; + continue; + } + cursor = v_3; + break; + } + } + cursor = v_2; + if (!r_measure()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + int v_5 = limit - cursor; + lab5: { + if (!r_Step_1()) + { + break lab5; + } + B_stemmed = true; + } + cursor = limit - v_5; + int v_6 = limit - cursor; + lab6: { + if (!r_Step_2()) + { + break lab6; + } + B_stemmed = true; + } + cursor = limit - v_6; + int v_7 = limit - cursor; + lab7: { + if (!r_Step_3()) + { + break lab7; + } + B_stemmed = true; + } + cursor = limit - v_7; + int v_8 = limit - cursor; + lab8: { + if (!r_Step_4()) + { + break lab8; + } + B_stemmed = true; + } + cursor = limit - v_8; + cursor = limit_backward; + B_GE_removed = false; + int v_9 = cursor; + lab9: { + int v_10 = cursor; + if (!r_Lose_prefix()) + { + break lab9; + } + cursor = v_10; + if (!r_measure()) + { + break lab9; + } + } + cursor = v_9; + limit_backward = cursor; + cursor = limit; + int v_11 = limit - cursor; + lab10: { + if (!(B_GE_removed)) + { + break lab10; + } + if (!r_Step_1c()) + { + break lab10; + } + } + cursor = limit - v_11; + cursor = limit_backward; + B_GE_removed = false; + int v_12 = cursor; + lab11: { + int v_13 = cursor; + if (!r_Lose_infix()) + { + break lab11; + } + cursor = v_13; + if (!r_measure()) + { + break lab11; + } + } + cursor = v_12; + limit_backward = cursor; + cursor = limit; + int v_14 = limit - cursor; + lab12: { + if (!(B_GE_removed)) + { + break lab12; + } + if (!r_Step_1c()) + { + break lab12; + } + } + cursor = limit - v_14; + cursor = limit_backward; + limit_backward = cursor; + cursor = limit; + int v_15 = limit - cursor; + lab13: { + if (!r_Step_7()) + { + break lab13; + } + B_stemmed = true; + } + cursor = limit - v_15; + int v_16 = limit - cursor; + lab14: { + lab15: { + lab16: { + if (!(B_stemmed)) + { + break lab16; + } + break lab15; + } + if (!(B_GE_removed)) + { + break lab14; + } + } + if (!r_Step_6()) + { + break lab14; + } + } + cursor = limit - v_16; + cursor = limit_backward; + int v_18 = cursor; + lab17: { + if (!(B_Y_found)) + { + break lab17; + } + while(true) + { + int v_19 = cursor; + lab18: { + golab19: while(true) + { + int v_20 = cursor; + lab20: { + bra = cursor; + if (!(eq_s("Y"))) + { + break lab20; + } + ket = cursor; + cursor = v_20; + break golab19; + } + cursor = v_20; + if (cursor >= limit) + { + break lab18; + } + cursor++; + } + slice_from("y"); + continue; + } + cursor = v_19; + break; + } + } + cursor = v_18; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof KpStemmer; +} + +@Override +public int hashCode() { + return KpStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LithuanianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LithuanianStemmer.java index 03774bde5ef..48b5c3aee5a 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LithuanianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LithuanianStemmer.java @@ -1,769 +1,545 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
*/ +@SuppressWarnings("unused") +public class LithuanianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class LithuanianStemmer extends org.tartarus.snowball.SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); - private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("a", -1, -1), + new Among("ia", 0, -1), + new Among("eria", 1, -1), + new Among("osna", 0, -1), + new Among("iosna", 3, -1), + new Among("uosna", 3, -1), + new Among("iuosna", 5, -1), + new Among("ysna", 0, -1), + new Among("\u0117sna", 0, -1), + new Among("e", -1, -1), + new Among("ie", 9, -1), + new Among("enie", 10, -1), + new Among("erie", 10, -1), + new Among("oje", 9, -1), + new Among("ioje", 13, -1), + new Among("uje", 9, -1), + new Among("iuje", 15, -1), + new Among("yje", 9, -1), + new Among("enyje", 17, -1), + new Among("eryje", 17, -1), + new Among("\u0117je", 9, -1), + new Among("ame", 9, -1), + new Among("iame", 21, -1), + new Among("sime", 9, -1), + new Among("ome", 9, -1), + new Among("\u0117me", 9, -1), + new Among("tum\u0117me", 25, -1), + new Among("ose", 9, -1), + new Among("iose", 27, -1), + new Among("uose", 27, -1), + new Among("iuose", 29, -1), + new Among("yse", 9, -1), + new Among("enyse", 31, -1), + new Among("eryse", 31, -1), + new Among("\u0117se", 9, -1), + new Among("ate", 9, -1), + new Among("iate", 35, -1), + new Among("ite", 9, -1), + new Among("kite", 37, -1), + new Among("site", 37, -1), + new Among("ote", 9, -1), + new Among("tute", 9, -1), + new Among("\u0117te", 9, -1), + new Among("tum\u0117te", 42, -1), + new Among("i", -1, -1), + new Among("ai", 44, -1), + new Among("iai", 45, -1), + new Among("eriai", 46, -1), + new Among("ei", 44, -1), + new Among("tumei", 48, -1), + new Among("ki", 44, -1), + new Among("imi", 44, -1), + new Among("erimi", 51, -1), + new Among("umi", 44, -1), + new Among("iumi", 53, -1), + new Among("si", 44, -1), + new Among("asi", 55, -1), + new Among("iasi", 56, -1), + new Among("esi", 55, -1), + new Among("iesi", 58, -1), + new Among("siesi", 59, -1), + new Among("isi", 55, -1), + new Among("aisi", 61, -1), + new Among("eisi", 61, -1), + new Among("tumeisi", 63, -1), + new Among("uisi", 61, -1), + new Among("osi", 55, -1), + new Among("\u0117josi", 66, -1), + new Among("uosi", 66, -1), + new Among("iuosi", 68, -1), + new Among("siuosi", 69, -1), + new Among("usi", 55, -1), + new Among("ausi", 71, -1), + new Among("\u010Diausi", 72, -1), + new Among("\u0105si", 55, -1), + new Among("\u0117si", 55, -1), + new Among("\u0173si", 55, -1), + new Among("t\u0173si", 76, -1), + new Among("ti", 44, -1), + new Among("enti", 78, -1), + new Among("inti", 78, -1), + new Among("oti", 78, -1), + new Among("ioti", 81, -1), + new Among("uoti", 81, -1), + new Among("iuoti", 83, -1), + new Among("auti", 78, -1), + new Among("iauti", 85, -1), + new Among("yti", 78, -1), + new Among("\u0117ti", 78, -1), + new Among("tel\u0117ti", 88, -1), + new Among("in\u0117ti", 88, -1), + new Among("ter\u0117ti", 88, -1), + new Among("ui", 44, -1), + new Among("iui", 92, -1), + new Among("eniui", 93, -1), + new Among("oj", -1, -1), + new Among("\u0117j", -1, -1), + new Among("k", -1, -1), + new Among("am", -1, -1), + new Among("iam", 98, -1), + new Among("iem", -1, -1), + new Among("im", -1, -1), + new Among("sim", 101, -1), + new Among("om", -1, -1), + new Among("tum", -1, -1), + new Among("\u0117m", -1, -1), + new Among("tum\u0117m", 105, -1), + new Among("an", -1, -1), + new Among("on", -1, -1), + new Among("ion", 108, -1), + new Among("un", -1, -1), + new Among("iun", 110, -1), + new Among("\u0117n", -1, -1), + new Among("o", -1, -1), + new Among("io", 113, -1), + new Among("enio", 114, -1), + new Among("\u0117jo", 113, -1), + new Among("uo", 113, -1), + new Among("s", -1, -1), + new Among("as", 118, -1), + new Among("ias", 119, -1), + new Among("es", 118, -1), + new Among("ies", 121, -1), + new Among("is", 118, -1), + new Among("ais", 123, -1), + new Among("iais", 124, -1), + new Among("tumeis", 123, -1), + new Among("imis", 123, -1), + new Among("enimis", 127, -1), + new Among("omis", 123, -1), + new Among("iomis", 129, -1), + new Among("umis", 123, -1), + new Among("\u0117mis", 123, -1), + new Among("enis", 123, -1), + new Among("asis", 123, -1), + new Among("ysis", 123, -1), + new Among("ams", 118, -1), + new Among("iams", 136, -1), + new Among("iems", 118, -1), + new Among("ims", 118, -1), + new Among("enims", 139, -1), + new Among("erims", 139, -1), + new Among("oms", 118, -1), + new Among("ioms", 142, -1), + new Among("ums", 118, -1), + new Among("\u0117ms", 118, -1), + new Among("ens", 118, -1), + new Among("os", 118, -1), + new Among("ios", 147, -1), + new Among("uos", 147, -1), + new Among("iuos", 149, -1), + new Among("ers", 118, -1), + new Among("us", 118, -1), + new Among("aus", 152, -1), + new Among("iaus", 153, -1), + new Among("ius", 152, -1), + new Among("ys", 118, -1), + new Among("enys", 156, -1), + new Among("erys", 156, -1), + new Among("\u0105s", 118, -1), + new Among("i\u0105s", 159, -1), + new Among("\u0117s", 118, -1), + new Among("am\u0117s", 161, -1), + new Among("iam\u0117s", 162, -1), + new Among("im\u0117s", 161, -1), + new Among("kim\u0117s", 164, -1), + new Among("sim\u0117s", 164, -1), + new Among("om\u0117s", 161, -1), + new Among("\u0117m\u0117s", 161, -1), + new Among("tum\u0117m\u0117s", 168, -1), + new Among("at\u0117s", 161, -1), + new Among("iat\u0117s", 170, -1), + new Among("sit\u0117s", 161, -1), + new Among("ot\u0117s", 161, -1), + new Among("\u0117t\u0117s", 161, -1), + new Among("tum\u0117t\u0117s", 174, -1), + new Among("\u012Fs", 118, -1), + new Among("\u016Bs", 118, -1), + new Among("t\u0173s", 118, -1), + new Among("at", -1, -1), + new Among("iat", 179, -1), + new Among("it", -1, -1), + new Among("sit", 181, -1), + new Among("ot", -1, -1), + new Among("\u0117t", -1, -1), + new Among("tum\u0117t", 184, -1), + new Among("u", -1, -1), + new Among("au", 186, -1), + new Among("iau", 187, -1), + new Among("\u010Diau", 188, -1), + new Among("iu", 186, -1), + new Among("eniu", 190, -1), + new Among("siu", 190, -1), + new Among("y", -1, -1), + new Among("\u0105", -1, -1), + new Among("i\u0105", 194, -1), + new Among("\u0117", -1, -1), + new Among("\u0119", -1, -1), + new Among("\u012F", -1, -1), + new Among("en\u012F", 198, -1), + new Among("er\u012F", 198, -1), + new Among("\u0173", -1, -1), + new Among("i\u0173", 201, -1), + new Among("er\u0173", 201, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("ing", -1, -1), + new Among("aj", -1, -1), + new Among("iaj", 1, -1), + new Among("iej", -1, -1), + new Among("oj", -1, -1), + new Among("ioj", 4, -1), + new Among("uoj", 4, -1), + new Among("iuoj", 6, -1), + new Among("auj", -1, -1), + new Among("\u0105j", -1, -1), + new Among("i\u0105j", 9, -1), + new Among("\u0117j", -1, -1), + new Among("\u0173j", -1, -1), + new Among("i\u0173j", 12, -1), + new Among("ok", -1, -1), + new Among("iok", 14, -1), + new Among("iuk", -1, -1), + new Among("uliuk", 16, -1), + new Among("u\u010Diuk", 16, -1), + new Among("i\u0161k", -1, -1), + new Among("iul", -1, -1), + new Among("yl", -1, -1), + new Among("\u0117l", -1, -1), + new Among("am", -1, -1), + new Among("dam", 23, -1), + new Among("jam", 23, -1), + new Among("zgan", -1, -1), + new Among("ain", -1, -1), + new Among("esn", -1, -1), + new Among("op", -1, -1), + new Among("iop", 29, -1), + new Among("ias", -1, -1), + new Among("ies", -1, -1), + new Among("ais", -1, -1), + new Among("iais", 33, -1), + new Among("os", -1, -1), + new Among("ios", 35, -1), + new Among("uos", 35, -1), + new Among("iuos", 37, -1), + new Among("aus", -1, -1), + new Among("iaus", 39, -1), + new Among("\u0105s", -1, -1), + new Among("i\u0105s", 41, -1), + new Among("\u0119s", -1, -1), + new Among("ut\u0117ait", -1, -1), + new Among("ant", -1, -1), + new Among("iant", 45, -1), + new Among("siant", 46, -1), + new Among("int", -1, -1), + new Among("ot", -1, -1), + new Among("uot", 49, -1), + new Among("iuot", 50, -1), + new Among("yt", -1, -1), + new Among("\u0117t", -1, -1), + new Among("yk\u0161t", -1, -1), + new Among("iau", -1, -1), + new Among("dav", -1, -1), + new Among("sv", -1, -1), + new Among("\u0161v", -1, -1), + new Among("yk\u0161\u010D", -1, -1), + new Among("\u0119", -1, -1), + new Among("\u0117j\u0119", 60, -1) +}; - private final static Among a_0[] = { - new Among ( "a", -1, -1, "", methodObject ), - new Among ( "ia", 0, -1, "", methodObject ), - new Among ( "eria", 1, -1, "", methodObject ), - new Among ( "osna", 0, -1, "", methodObject ), - new Among ( "iosna", 3, -1, "", methodObject ), - new Among ( "uosna", 3, -1, "", methodObject ), - new Among ( "iuosna", 5, -1, "", methodObject ), - new Among ( "ysna", 0, -1, "", methodObject ), - new Among ( "\u0117sna", 0, -1, "", methodObject ), - new Among ( "e", -1, -1, "", methodObject ), - new Among ( "ie", 9, -1, "", methodObject ), - new Among ( "enie", 10, -1, "", methodObject ), - new Among ( "erie", 10, -1, "", methodObject ), - new Among ( "oje", 9, -1, "", methodObject ), - new Among ( "ioje", 13, -1, "", methodObject ), - new Among ( "uje", 9, -1, "", methodObject ), - new Among ( "iuje", 15, -1, "", methodObject ), - new Among ( "yje", 9, -1, "", methodObject ), - new Among ( "enyje", 17, -1, "", methodObject ), - new Among ( "eryje", 17, -1, "", methodObject ), - new Among ( "\u0117je", 9, -1, "", methodObject ), - new Among ( "ame", 9, -1, "", methodObject ), - new Among ( "iame", 21, -1, "", methodObject ), - new Among ( "sime", 9, -1, "", methodObject ), - new Among ( "ome", 9, -1, "", methodObject ), - new Among ( "\u0117me", 9, -1, "", methodObject ), - new Among ( "tum\u0117me", 25, -1, "", methodObject ), - new Among ( "ose", 9, -1, "", methodObject ), - new Among ( "iose", 27, -1, "", methodObject ), - new Among ( "uose", 27, -1, "", methodObject ), - new Among ( "iuose", 29, -1, "", methodObject ), - new Among ( "yse", 9, -1, "", methodObject ), - new Among ( "enyse", 31, -1, "", methodObject ), - new Among ( "eryse", 31, -1, "", methodObject ), - new Among ( "\u0117se", 9, -1, "", methodObject ), - new Among ( "ate", 9, -1, "", methodObject ), - new Among ( "iate", 35, -1, "", methodObject ), - new Among ( "ite", 9, -1, "", methodObject ), - new Among ( "kite", 37, -1, "", methodObject ), - new Among ( "site", 37, -1, "", methodObject ), - new Among ( "ote", 9, -1, "", methodObject ), - new Among ( "tute", 9, -1, "", methodObject ), - new Among ( "\u0117te", 9, -1, "", methodObject ), - new Among ( "tum\u0117te", 42, -1, "", methodObject ), - new Among ( "i", -1, -1, "", methodObject ), - new Among ( "ai", 44, -1, "", methodObject ), - new Among ( "iai", 45, -1, "", methodObject ), - new Among ( "eriai", 46, -1, "", methodObject ), - new Among ( "ei", 44, -1, "", methodObject ), - new Among ( "tumei", 48, -1, "", methodObject ), - new Among ( "ki", 44, -1, "", methodObject ), - new Among ( "imi", 44, -1, "", methodObject ), - new Among ( "erimi", 51, -1, "", methodObject ), - new Among ( "umi", 44, -1, "", methodObject ), - new Among ( "iumi", 53, -1, "", methodObject ), - new Among ( "si", 44, -1, "", methodObject ), - new Among ( "asi", 55, -1, "", methodObject ), - new Among ( "iasi", 56, -1, "", methodObject ), - new Among ( "esi", 55, -1, "", methodObject ), - new Among ( "iesi", 58, -1, "", methodObject ), - new Among ( "siesi", 59, -1, "", methodObject ), - new Among ( "isi", 55, -1, "", methodObject ), - new Among ( "aisi", 61, -1, "", methodObject ), - new Among ( "eisi", 61, -1, "", methodObject ), - new Among ( "tumeisi", 63, -1, "", methodObject ), - new Among ( "uisi", 61, -1, "", methodObject ), - new Among ( "osi", 55, -1, "", methodObject ), - new Among ( "\u0117josi", 66, -1, "", methodObject ), - new Among ( "uosi", 66, -1, "", methodObject ), - new Among ( "iuosi", 68, -1, "", methodObject ), - new Among ( "siuosi", 69, -1, "", methodObject ), - new Among ( "usi", 55, -1, "", methodObject ), - new Among ( "ausi", 71, -1, "", methodObject ), - new Among ( "\u010Diausi", 72, -1, "", methodObject ), - new Among ( "\u0105si", 55, -1, "", methodObject ), - new Among ( "\u0117si", 55, -1, "", methodObject ), - new Among ( "\u0173si", 55, -1, "", methodObject ), - new Among ( "t\u0173si", 76, -1, "", methodObject ), - new Among ( "ti", 44, -1, "", methodObject ), - new Among ( "enti", 78, -1, "", methodObject ), - new Among ( "inti", 78, -1, "", methodObject ), - new Among ( "oti", 78, -1, "", methodObject ), - new Among ( "ioti", 81, -1, "", methodObject ), - new Among ( "uoti", 81, -1, "", methodObject ), - new Among ( "iuoti", 83, -1, "", methodObject ), - new Among ( "auti", 78, -1, "", methodObject ), - new Among ( "iauti", 85, -1, "", methodObject ), - new Among ( "yti", 78, -1, "", methodObject ), - new Among ( "\u0117ti", 78, -1, "", methodObject ), - new Among ( "tel\u0117ti", 88, -1, "", methodObject ), - new Among ( "in\u0117ti", 88, -1, "", methodObject ), - new Among ( "ter\u0117ti", 88, -1, "", methodObject ), - new Among ( "ui", 44, -1, "", methodObject ), - new Among ( "iui", 92, -1, "", methodObject ), - new Among ( "eniui", 93, -1, "", methodObject ), - new Among ( "oj", -1, -1, "", methodObject ), - new Among ( "\u0117j", -1, -1, "", methodObject ), - new Among ( "k", -1, -1, "", methodObject ), - new Among ( "am", -1, -1, "", methodObject ), - new Among ( "iam", 98, -1, "", methodObject ), - new Among ( "iem", -1, -1, "", methodObject ), - new Among ( "im", -1, -1, "", methodObject ), - new Among ( "sim", 101, -1, "", methodObject ), - new Among ( "om", -1, -1, "", methodObject ), - new Among ( "tum", -1, -1, "", methodObject ), - new Among ( "\u0117m", -1, -1, "", methodObject ), - new Among ( "tum\u0117m", 105, -1, "", methodObject ), - new Among ( "an", -1, -1, "", methodObject ), - new Among ( "on", -1, -1, "", methodObject ), - new Among ( "ion", 108, -1, "", methodObject ), - new Among ( "un", -1, -1, "", methodObject ), - new Among ( "iun", 110, -1, "", methodObject ), - new Among ( "\u0117n", -1, -1, "", methodObject ), - new Among ( "o", -1, -1, "", methodObject ), - new Among ( "io", 113, -1, "", methodObject ), - new Among ( "enio", 114, -1, "", methodObject ), - new Among ( "\u0117jo", 113, -1, "", methodObject ), - new Among ( "uo", 113, -1, "", methodObject ), - new Among ( "s", -1, -1, "", methodObject ), - new Among ( "as", 118, -1, "", methodObject ), - new Among ( "ias", 119, -1, "", methodObject ), - new Among ( "es", 118, -1, "", methodObject ), - new Among ( "ies", 121, -1, "", methodObject ), - new Among ( "is", 118, -1, "", methodObject ), - new Among ( "ais", 123, -1, "", methodObject ), - new Among ( "iais", 124, -1, "", methodObject ), - new Among ( "tumeis", 123, -1, "", methodObject ), - new Among ( "imis", 123, -1, "", methodObject ), - new Among ( "enimis", 127, -1, "", methodObject ), - new Among ( "omis", 123, -1, "", methodObject ), - new Among ( "iomis", 129, -1, "", methodObject ), - new Among ( "umis", 123, -1, "", methodObject ), - new Among ( "\u0117mis", 123, -1, "", methodObject ), - new Among ( "enis", 123, -1, "", methodObject ), - new Among ( "asis", 123, -1, "", methodObject ), - new Among ( "ysis", 123, -1, "", methodObject ), - new Among ( "ams", 118, -1, "", methodObject ), - new Among ( "iams", 136, -1, "", methodObject ), - new Among ( "iems", 118, -1, "", methodObject ), - new Among ( "ims", 118, -1, "", methodObject ), - new Among ( "enims", 139, -1, "", methodObject ), - new Among ( "erims", 139, -1, "", methodObject ), - new Among ( "oms", 118, -1, "", methodObject ), - new Among ( "ioms", 142, -1, "", methodObject ), - new Among ( "ums", 118, -1, "", methodObject ), - new Among ( "\u0117ms", 118, -1, "", methodObject ), - new Among ( "ens", 118, -1, "", methodObject ), - new Among ( "os", 118, -1, "", methodObject ), - new Among ( "ios", 147, -1, "", methodObject ), - new Among ( "uos", 147, -1, "", methodObject ), - new Among ( "iuos", 149, -1, "", methodObject ), - new Among ( "ers", 118, -1, "", methodObject ), - new Among ( "us", 118, -1, "", methodObject ), - new Among ( "aus", 152, -1, "", methodObject ), - new Among ( "iaus", 153, -1, "", methodObject ), - new Among ( "ius", 152, -1, "", methodObject ), - new Among ( "ys", 118, -1, "", methodObject ), - new Among ( "enys", 156, -1, "", methodObject ), - new Among ( "erys", 156, -1, "", methodObject ), - new Among ( "om\u00C4\u0097s", 118, -1, "", methodObject ), - new Among ( "ot\u00C4\u0097s", 118, -1, "", methodObject ), - new Among ( "\u0105s", 118, -1, "", methodObject ), - new Among ( "i\u0105s", 161, -1, "", methodObject ), - new Among ( "\u0117s", 118, -1, "", methodObject ), - new Among ( "am\u0117s", 163, -1, "", methodObject ), - new Among ( "iam\u0117s", 164, -1, "", methodObject ), - new Among ( "im\u0117s", 163, -1, "", methodObject ), - new Among ( "kim\u0117s", 166, -1, "", methodObject ), - new Among ( "sim\u0117s", 166, -1, "", methodObject ), - new Among ( "om\u0117s", 163, -1, "", methodObject ), - new Among ( "\u0117m\u0117s", 163, -1, "", methodObject ), - new Among ( "tum\u0117m\u0117s", 170, -1, "", methodObject ), - new Among ( "at\u0117s", 163, -1, "", methodObject ), - new Among ( "iat\u0117s", 172, -1, "", methodObject ), - new Among ( "sit\u0117s", 163, -1, "", methodObject ), - new Among ( "ot\u0117s", 163, -1, "", methodObject ), - new Among ( "\u0117t\u0117s", 163, -1, "", methodObject ), - new Among ( "tum\u0117t\u0117s", 176, -1, "", methodObject ), - new Among ( "\u012Fs", 118, -1, "", methodObject ), - new Among ( "\u016Bs", 118, -1, "", methodObject ), - new Among ( "t\u0173s", 118, -1, "", methodObject ), - new Among ( "at", -1, -1, "", methodObject ), - new Among ( "iat", 181, -1, "", methodObject ), - new Among ( "it", -1, -1, "", methodObject ), - new Among ( "sit", 183, -1, "", methodObject ), - new Among ( "ot", -1, -1, "", methodObject ), - new Among ( "\u0117t", -1, -1, "", methodObject ), - new Among ( "tum\u0117t", 186, -1, "", methodObject ), - new Among ( "u", -1, -1, "", methodObject ), - new Among ( "au", 188, -1, "", methodObject ), - new Among ( "iau", 189, -1, "", methodObject ), - new Among ( "\u010Diau", 190, -1, "", methodObject ), - new Among ( "iu", 188, -1, "", methodObject ), - new Among ( "eniu", 192, -1, "", methodObject ), - new Among ( "siu", 192, -1, "", methodObject ), - new Among ( "y", -1, -1, "", methodObject ), - new Among ( "\u0105", -1, -1, "", methodObject ), - new Among ( "i\u0105", 196, -1, "", methodObject ), - new Among ( "\u0117", -1, -1, "", methodObject ), - new Among ( "\u0119", -1, -1, "", methodObject ), - new Among ( "\u012F", -1, -1, "", methodObject ), - new Among ( "en\u012F", 200, -1, "", methodObject ), - new Among ( "er\u012F", 200, -1, "", methodObject ), - new Among ( "\u0173", -1, -1, "", methodObject ), - new Among ( "i\u0173", 203, -1, "", methodObject ), - new Among ( "er\u0173", 203, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ojime", -1, 7), + new Among("\u0117jime", -1, 3), + new Among("avime", -1, 6), + new Among("okate", -1, 8), + new Among("aite", -1, 1), + new Among("uote", -1, 2), + new Among("asius", -1, 5), + new Among("okat\u0117s", -1, 8), + new Among("ait\u0117s", -1, 1), + new Among("uot\u0117s", -1, 2), + new Among("esiu", -1, 4) +}; - private final static Among a_1[] = { - new Among ( "ing", -1, -1, "", methodObject ), - new Among ( "aj", -1, -1, "", methodObject ), - new Among ( "iaj", 1, -1, "", methodObject ), - new Among ( "iej", -1, -1, "", methodObject ), - new Among ( "oj", -1, -1, "", methodObject ), - new Among ( "ioj", 4, -1, "", methodObject ), - new Among ( "uoj", 4, -1, "", methodObject ), - new Among ( "iuoj", 6, -1, "", methodObject ), - new Among ( "auj", -1, -1, "", methodObject ), - new Among ( "\u0105j", -1, -1, "", methodObject ), - new Among ( "i\u0105j", 9, -1, "", methodObject ), - new Among ( "\u0117j", -1, -1, "", methodObject ), - new Among ( "\u0173j", -1, -1, "", methodObject ), - new Among ( "i\u0173j", 12, -1, "", methodObject ), - new Among ( "ok", -1, -1, "", methodObject ), - new Among ( "iok", 14, -1, "", methodObject ), - new Among ( "iuk", -1, -1, "", methodObject ), - new Among ( "uliuk", 16, -1, "", methodObject ), - new Among ( "u\u010Diuk", 16, -1, "", methodObject ), - new Among ( "i\u0161k", -1, -1, "", methodObject ), - new Among ( "iul", -1, -1, "", methodObject ), - new Among ( "yl", -1, -1, "", methodObject ), - new Among ( "\u0117l", -1, -1, "", methodObject ), - new Among ( "am", -1, -1, "", methodObject ), - new Among ( "dam", 23, -1, "", methodObject ), - new Among ( "jam", 23, -1, "", methodObject ), - new Among ( "zgan", -1, -1, "", methodObject ), - new Among ( "ain", -1, -1, "", methodObject ), - new Among ( "esn", -1, -1, "", methodObject ), - new Among ( "op", -1, -1, "", methodObject ), - new Among ( "iop", 29, -1, "", methodObject ), - new Among ( "ias", -1, -1, "", methodObject ), - new Among ( "ies", -1, -1, "", methodObject ), - new Among ( "ais", -1, -1, "", methodObject ), - new Among ( "iais", 33, -1, "", methodObject ), - new Among ( "os", -1, -1, "", methodObject ), - new Among ( "ios", 35, -1, "", methodObject ), - new Among ( "uos", 35, -1, "", methodObject ), - new Among ( "iuos", 37, -1, "", methodObject ), - new Among ( "aus", -1, -1, "", methodObject ), - new Among ( "iaus", 39, -1, "", methodObject ), - new Among ( "\u0105s", -1, -1, "", methodObject ), - new Among ( "i\u0105s", 41, -1, "", methodObject ), - new Among ( "\u0119s", -1, -1, "", methodObject ), - new Among ( "ut\u0117ait", -1, -1, "", methodObject ), - new Among ( "ant", -1, -1, "", methodObject ), - new Among ( "iant", 45, -1, "", methodObject ), - new Among ( "siant", 46, -1, "", methodObject ), - new Among ( "int", -1, -1, "", methodObject ), - new Among ( "ot", -1, -1, "", methodObject ), - new Among ( "uot", 49, -1, "", methodObject ), - new Among ( "iuot", 50, -1, "", methodObject ), - new Among ( "yt", -1, -1, "", methodObject ), - new Among ( "\u0117t", -1, -1, "", methodObject ), - new Among ( "yk\u0161t", -1, -1, "", methodObject ), - new Among ( "iau", -1, -1, "", methodObject ), - new Among ( "dav", -1, -1, "", methodObject ), - new Among ( "sv", -1, -1, "", methodObject ), - new Among ( "\u0161v", -1, -1, "", methodObject ), - new Among ( "yk\u0161\u010D", -1, -1, "", methodObject ), - new Among ( "\u0119", -1, -1, "", methodObject ), - new Among ( "\u0117j\u0119", 60, -1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("\u010D", -1, 1), + new Among("d\u017E", -1, 2) +}; - private final static Among a_2[] = { - new Among ( "ojime", -1, 9, "", methodObject ), - new Among ( "\u0117jime", -1, 5, "", methodObject ), - new Among ( "avime", -1, 8, "", methodObject ), - new Among ( "okate", -1, 11, "", methodObject ), - new Among ( "aite", -1, 1, "", methodObject ), - new Among ( "uote", -1, 4, "", methodObject ), - new Among ( "asius", -1, 7, "", methodObject ), - new Among ( "okat\u0117s", -1, 10, "", methodObject ), - new Among ( "ait\u0117s", -1, 2, "", methodObject ), - new Among ( "uot\u0117s", -1, 3, "", methodObject ), - new Among ( "esiu", -1, 6, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("gd", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "\u010D", -1, 1, "", methodObject ), - new Among ( "d\u017E", -1, 2, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 }; - private final static Among a_4[] = { - new Among ( "gd", -1, 1, "", methodObject ) - }; +private int I_p1; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 }; - private boolean B_CHANGE; - private int I_s; - private int I_p2; - private int I_p1; +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} - private void copy_from(LithuanianStemmer other) { - B_CHANGE = other.B_CHANGE; - I_s = other.I_s; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); +private boolean r_step1() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_0) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + if (!r_R1()) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_step2() { + while(true) + { + int v_1 = limit - cursor; + lab0: { + if (cursor < I_p1) + { + break lab0; + } + int v_3 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_1) == 0) + { + limit_backward = v_3; + break lab0; + } + bra = cursor; + limit_backward = v_3; + slice_del(); + continue; } + cursor = limit - v_1; + break; + } + return true; +} - private boolean r_R1() { - if (!(I_p1 <= cursor)) +private boolean r_fix_conflicts() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("ait\u0117"); + break; + case 2: + slice_from("uot\u0117"); + break; + case 3: + slice_from("\u0117jimas"); + break; + case 4: + slice_from("esys"); + break; + case 5: + slice_from("asys"); + break; + case 6: + slice_from("avimas"); + break; + case 7: + slice_from("ojimas"); + break; + case 8: + slice_from("okat\u0117"); + break; + } + return true; +} + +private boolean r_fix_chdz() { + int among_var; + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("t"); + break; + case 2: + slice_from("d"); + break; + } + return true; +} + +private boolean r_fix_gd() { + ket = cursor; + if (find_among_b(a_4) == 0) + { + return false; + } + bra = cursor; + slice_from("g"); + return true; +} + +public boolean stem() { + I_p1 = limit; + int v_1 = cursor; + lab0: { + int v_2 = cursor; + lab1: { + int v_3 = cursor; + if (!(eq_s("a"))) + { + cursor = v_2; + break lab1; + } + cursor = v_3; + if (!(limit > 6)) + { + cursor = v_2; + break lab1; + } + { + int c = cursor + 1; + if (0 > c || c > limit) { - return false; + cursor = v_2; + break lab1; } - return true; + cursor = c; + } } - - private boolean r_step1() { - int v_1; - int v_2; - // (, line 48 - // setlimit, line 49 - v_1 = limit - cursor; - // tomark, line 49 - if (cursor < I_p1) + golab2: while(true) + { + lab3: { + if (!(in_grouping(g_v, 97, 371))) { - return false; + break lab3; } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 49 - // [, line 49 - ket = cursor; - // substring, line 49 - if (find_among_b(a_0, 206) == 0) + break golab2; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab4: while(true) + { + lab5: { + if (!(out_grouping(g_v, 97, 371))) { - limit_backward = v_2; - return false; + break lab5; } - // ], line 49 - bra = cursor; - limit_backward = v_2; - // call R1, line 49 - if (!r_R1()) - { - return false; - } - // delete, line 235 - slice_del(); - return true; + break golab4; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; } + I_p1 = cursor; + } + cursor = v_1; + limit_backward = cursor; + cursor = limit; + int v_6 = limit - cursor; + r_fix_conflicts(); + cursor = limit - v_6; + int v_7 = limit - cursor; + r_step1(); + cursor = limit - v_7; + int v_8 = limit - cursor; + r_fix_chdz(); + cursor = limit - v_8; + int v_9 = limit - cursor; + r_step2(); + cursor = limit - v_9; + int v_10 = limit - cursor; + r_fix_chdz(); + cursor = limit - v_10; + int v_11 = limit - cursor; + r_fix_gd(); + cursor = limit - v_11; + cursor = limit_backward; + return true; +} - private boolean r_step2() { - int v_1; - int v_2; - int v_3; - // repeat, line 238 - replab0: while(true) - { - v_1 = limit - cursor; - lab1: do { - // (, line 238 - // setlimit, line 239 - v_2 = limit - cursor; - // tomark, line 239 - if (cursor < I_p1) - { - break lab1; - } - cursor = I_p1; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 239 - // [, line 239 - ket = cursor; - // substring, line 239 - if (find_among_b(a_1, 62) == 0) - { - limit_backward = v_3; - break lab1; - } - // ], line 239 - bra = cursor; - limit_backward = v_3; - // delete, line 309 - slice_del(); - continue replab0; - } while (false); - cursor = limit - v_1; - break replab0; - } - return true; - } +@Override +public boolean equals( Object o ) { + return o instanceof LithuanianStemmer; +} - private boolean r_fix_conflicts() { - int among_var; - // (, line 312 - // [, line 313 - ket = cursor; - // substring, line 313 - among_var = find_among_b(a_2, 11); - if (among_var == 0) - { - return false; - } - // ], line 313 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 315 - // <-, line 315 - slice_from("ait\u0117"); - // set CHANGE, line 315 - B_CHANGE = true; - break; - case 2: - // (, line 317 - // <-, line 317 - slice_from("ait\u0117"); - // set CHANGE, line 317 - B_CHANGE = true; - break; - case 3: - // (, line 320 - // <-, line 320 - slice_from("uot\u0117"); - // set CHANGE, line 320 - B_CHANGE = true; - break; - case 4: - // (, line 322 - // <-, line 322 - slice_from("uot\u0117"); - // set CHANGE, line 322 - B_CHANGE = true; - break; - case 5: - // (, line 325 - // <-, line 325 - slice_from("\u0117jimas"); - // set CHANGE, line 325 - B_CHANGE = true; - break; - case 6: - // (, line 328 - // <-, line 328 - slice_from("esys"); - // set CHANGE, line 328 - B_CHANGE = true; - break; - case 7: - // (, line 330 - // <-, line 330 - slice_from("asys"); - // set CHANGE, line 330 - B_CHANGE = true; - break; - case 8: - // (, line 334 - // <-, line 334 - slice_from("avimas"); - // set CHANGE, line 334 - B_CHANGE = true; - break; - case 9: - // (, line 335 - // <-, line 335 - slice_from("ojimas"); - // set CHANGE, line 335 - B_CHANGE = true; - break; - case 10: - // (, line 338 - // <-, line 338 - slice_from("okat\u0117"); - // set CHANGE, line 338 - B_CHANGE = true; - break; - case 11: - // (, line 340 - // <-, line 340 - slice_from("okat\u0117"); - // set CHANGE, line 340 - B_CHANGE = true; - break; - } - return true; - } - - private boolean r_fix_chdz() { - int among_var; - // (, line 346 - // [, line 347 - ket = cursor; - // substring, line 347 - among_var = find_among_b(a_3, 2); - if (among_var == 0) - { - return false; - } - // ], line 347 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 348 - // <-, line 348 - slice_from("t"); - // set CHANGE, line 348 - B_CHANGE = true; - break; - case 2: - // (, line 349 - // <-, line 349 - slice_from("d"); - // set CHANGE, line 349 - B_CHANGE = true; - break; - } - return true; - } - - private boolean r_fix_gd() { - int among_var; - // (, line 353 - // [, line 354 - ket = cursor; - // substring, line 354 - among_var = find_among_b(a_4, 1); - if (among_var == 0) - { - return false; - } - // ], line 354 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 355 - // <-, line 355 - slice_from("g"); - // set CHANGE, line 355 - B_CHANGE = true; - break; - } - return true; - } - - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_8; - int v_9; - int v_10; - int v_11; - int v_12; - int v_13; - // (, line 362 - I_p1 = limit; - I_p2 = limit; - I_s = (getCurrent().length()); - // do, line 368 - v_1 = cursor; - lab0: do { - // (, line 368 - // try, line 370 - v_2 = cursor; - lab1: do { - // (, line 370 - // test, line 370 - v_3 = cursor; - // literal, line 370 - if (!(eq_s(1, "a"))) - { - cursor = v_2; - break lab1; - } - cursor = v_3; - if (!(I_s > 6)) - { - cursor = v_2; - break lab1; - } - // hop, line 370 - { - int c = cursor + 1; - if (0 > c || c > limit) - { - cursor = v_2; - break lab1; - } - cursor = c; - } - } while (false); - // gopast, line 372 - golab2: while(true) - { - lab3: do { - if (!(in_grouping(g_v, 97, 371))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 372 - golab4: while(true) - { - lab5: do { - if (!(out_grouping(g_v, 97, 371))) - { - break lab5; - } - break golab4; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p1, line 372 - I_p1 = cursor; - // gopast, line 373 - golab6: while(true) - { - lab7: do { - if (!(in_grouping(g_v, 97, 371))) - { - break lab7; - } - break golab6; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 373 - golab8: while(true) - { - lab9: do { - if (!(out_grouping(g_v, 97, 371))) - { - break lab9; - } - break golab8; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p2, line 373 - I_p2 = cursor; - } while (false); - cursor = v_1; - // backwards, line 377 - limit_backward = cursor; cursor = limit; - // (, line 377 - // do, line 378 - v_8 = limit - cursor; - lab10: do { - // call fix_conflicts, line 378 - if (!r_fix_conflicts()) - { - break lab10; - } - } while (false); - cursor = limit - v_8; - // do, line 379 - v_9 = limit - cursor; - lab11: do { - // call step1, line 379 - if (!r_step1()) - { - break lab11; - } - } while (false); - cursor = limit - v_9; - // do, line 380 - v_10 = limit - cursor; - lab12: do { - // call fix_chdz, line 380 - if (!r_fix_chdz()) - { - break lab12; - } - } while (false); - cursor = limit - v_10; - // do, line 381 - v_11 = limit - cursor; - lab13: do { - // call step2, line 381 - if (!r_step2()) - { - break lab13; - } - } while (false); - cursor = limit - v_11; - // do, line 382 - v_12 = limit - cursor; - lab14: do { - // call fix_chdz, line 382 - if (!r_fix_chdz()) - { - break lab14; - } - } while (false); - cursor = limit - v_12; - // do, line 383 - v_13 = limit - cursor; - lab15: do { - // call fix_gd, line 383 - if (!r_fix_gd()) - { - break lab15; - } - } while (false); - cursor = limit - v_13; - cursor = limit_backward; return true; - } - - public boolean equals( Object o ) { - return o instanceof LithuanianStemmer; - } - - public int hashCode() { - return LithuanianStemmer.class.getName().hashCode(); - } +@Override +public int hashCode() { + return LithuanianStemmer.class.getName().hashCode(); +} } + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LovinsStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LovinsStemmer.java index d4a6c34e6d9..c8412fe9e91 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LovinsStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/LovinsStemmer.java @@ -1,1926 +1,1533 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class LovinsStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class LovinsStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("d", -1, -1), + new Among("f", -1, -1), + new Among("ph", -1, -1), + new Among("th", -1, -1), + new Among("l", -1, -1), + new Among("er", -1, -1), + new Among("or", -1, -1), + new Among("es", -1, -1), + new Among("t", -1, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("s'", -1, 1, "r_A", methodObject), + new Among("a", -1, 1, "r_A", methodObject), + new Among("ia", 1, 1, "r_A", methodObject), + new Among("ata", 1, 1, "r_A", methodObject), + new Among("ic", -1, 1, "r_A", methodObject), + new Among("aic", 4, 1, "r_A", methodObject), + new Among("allic", 4, 1, "r_BB", methodObject), + new Among("aric", 4, 1, "r_A", methodObject), + new Among("atic", 4, 1, "r_B", methodObject), + new Among("itic", 4, 1, "r_H", methodObject), + new Among("antic", 4, 1, "r_C", methodObject), + new Among("istic", 4, 1, "r_A", methodObject), + new Among("alistic", 11, 1, "r_B", methodObject), + new Among("aristic", 11, 1, "r_A", methodObject), + new Among("ivistic", 11, 1, "r_A", methodObject), + new Among("ed", -1, 1, "r_E", methodObject), + new Among("anced", 15, 1, "r_B", methodObject), + new Among("enced", 15, 1, "r_A", methodObject), + new Among("ished", 15, 1, "r_A", methodObject), + new Among("ied", 15, 1, "r_A", methodObject), + new Among("ened", 15, 1, "r_E", methodObject), + new Among("ioned", 15, 1, "r_A", methodObject), + new Among("ated", 15, 1, "r_I", methodObject), + new Among("ented", 15, 1, "r_C", methodObject), + new Among("ized", 15, 1, "r_F", methodObject), + new Among("arized", 24, 1, "r_A", methodObject), + new Among("oid", -1, 1, "r_A", methodObject), + new Among("aroid", 26, 1, "r_A", methodObject), + new Among("hood", -1, 1, "r_A", methodObject), + new Among("ehood", 28, 1, "r_A", methodObject), + new Among("ihood", 28, 1, "r_A", methodObject), + new Among("elihood", 30, 1, "r_E", methodObject), + new Among("ward", -1, 1, "r_A", methodObject), + new Among("e", -1, 1, "r_A", methodObject), + new Among("ae", 33, 1, "r_A", methodObject), + new Among("ance", 33, 1, "r_B", methodObject), + new Among("icance", 35, 1, "r_A", methodObject), + new Among("ence", 33, 1, "r_A", methodObject), + new Among("ide", 33, 1, "r_L", methodObject), + new Among("icide", 38, 1, "r_A", methodObject), + new Among("otide", 38, 1, "r_A", methodObject), + new Among("age", 33, 1, "r_B", methodObject), + new Among("able", 33, 1, "r_A", methodObject), + new Among("atable", 42, 1, "r_A", methodObject), + new Among("izable", 42, 1, "r_E", methodObject), + new Among("arizable", 44, 1, "r_A", methodObject), + new Among("ible", 33, 1, "r_A", methodObject), + new Among("encible", 46, 1, "r_A", methodObject), + new Among("ene", 33, 1, "r_E", methodObject), + new Among("ine", 33, 1, "r_M", methodObject), + new Among("idine", 49, 1, "r_I", methodObject), + new Among("one", 33, 1, "r_R", methodObject), + new Among("ature", 33, 1, "r_E", methodObject), + new Among("eature", 52, 1, "r_Z", methodObject), + new Among("ese", 33, 1, "r_A", methodObject), + new Among("wise", 33, 1, "r_A", methodObject), + new Among("ate", 33, 1, "r_A", methodObject), + new Among("entiate", 56, 1, "r_A", methodObject), + new Among("inate", 56, 1, "r_A", methodObject), + new Among("ionate", 56, 1, "r_D", methodObject), + new Among("ite", 33, 1, "r_AA", methodObject), + new Among("ive", 33, 1, "r_A", methodObject), + new Among("ative", 61, 1, "r_A", methodObject), + new Among("ize", 33, 1, "r_F", methodObject), + new Among("alize", 63, 1, "r_A", methodObject), + new Among("icalize", 64, 1, "r_A", methodObject), + new Among("ialize", 64, 1, "r_A", methodObject), + new Among("entialize", 66, 1, "r_A", methodObject), + new Among("ionalize", 64, 1, "r_A", methodObject), + new Among("arize", 63, 1, "r_A", methodObject), + new Among("ing", -1, 1, "r_N", methodObject), + new Among("ancing", 70, 1, "r_B", methodObject), + new Among("encing", 70, 1, "r_A", methodObject), + new Among("aging", 70, 1, "r_B", methodObject), + new Among("ening", 70, 1, "r_E", methodObject), + new Among("ioning", 70, 1, "r_A", methodObject), + new Among("ating", 70, 1, "r_I", methodObject), + new Among("enting", 70, 1, "r_C", methodObject), + new Among("ying", 70, 1, "r_B", methodObject), + new Among("izing", 70, 1, "r_F", methodObject), + new Among("arizing", 79, 1, "r_A", methodObject), + new Among("ish", -1, 1, "r_C", methodObject), + new Among("yish", 81, 1, "r_A", methodObject), + new Among("i", -1, 1, "r_A", methodObject), + new Among("al", -1, 1, "r_BB", methodObject), + new Among("ical", 84, 1, "r_A", methodObject), + new Among("aical", 85, 1, "r_A", methodObject), + new Among("istical", 85, 1, "r_A", methodObject), + new Among("oidal", 84, 1, "r_A", methodObject), + new Among("eal", 84, 1, "r_Y", methodObject), + new Among("ial", 84, 1, "r_A", methodObject), + new Among("ancial", 90, 1, "r_A", methodObject), + new Among("arial", 90, 1, "r_A", methodObject), + new Among("ential", 90, 1, "r_A", methodObject), + new Among("ional", 84, 1, "r_A", methodObject), + new Among("ational", 94, 1, "r_B", methodObject), + new Among("izational", 95, 1, "r_A", methodObject), + new Among("ental", 84, 1, "r_A", methodObject), + new Among("ful", -1, 1, "r_A", methodObject), + new Among("eful", 98, 1, "r_A", methodObject), + new Among("iful", 98, 1, "r_A", methodObject), + new Among("yl", -1, 1, "r_R", methodObject), + new Among("ism", -1, 1, "r_B", methodObject), + new Among("icism", 102, 1, "r_A", methodObject), + new Among("oidism", 102, 1, "r_A", methodObject), + new Among("alism", 102, 1, "r_B", methodObject), + new Among("icalism", 105, 1, "r_A", methodObject), + new Among("ionalism", 105, 1, "r_A", methodObject), + new Among("inism", 102, 1, "r_J", methodObject), + new Among("ativism", 102, 1, "r_A", methodObject), + new Among("um", -1, 1, "r_U", methodObject), + new Among("ium", 110, 1, "r_A", methodObject), + new Among("ian", -1, 1, "r_A", methodObject), + new Among("ician", 112, 1, "r_A", methodObject), + new Among("en", -1, 1, "r_F", methodObject), + new Among("ogen", 114, 1, "r_A", methodObject), + new Among("on", -1, 1, "r_S", methodObject), + new Among("ion", 116, 1, "r_Q", methodObject), + new Among("ation", 117, 1, "r_B", methodObject), + new Among("ication", 118, 1, "r_G", methodObject), + new Among("entiation", 118, 1, "r_A", methodObject), + new Among("ination", 118, 1, "r_A", methodObject), + new Among("isation", 118, 1, "r_A", methodObject), + new Among("arisation", 122, 1, "r_A", methodObject), + new Among("entation", 118, 1, "r_A", methodObject), + new Among("ization", 118, 1, "r_F", methodObject), + new Among("arization", 125, 1, "r_A", methodObject), + new Among("action", 117, 1, "r_G", methodObject), + new Among("o", -1, 1, "r_A", methodObject), + new Among("ar", -1, 1, "r_X", methodObject), + new Among("ear", 129, 1, "r_Y", methodObject), + new Among("ier", -1, 1, "r_A", methodObject), + new Among("ariser", -1, 1, "r_A", methodObject), + new Among("izer", -1, 1, "r_F", methodObject), + new Among("arizer", 133, 1, "r_A", methodObject), + new Among("or", -1, 1, "r_T", methodObject), + new Among("ator", 135, 1, "r_A", methodObject), + new Among("s", -1, 1, "r_W", methodObject), + new Among("'s", 137, 1, "r_A", methodObject), + new Among("as", 137, 1, "r_B", methodObject), + new Among("ics", 137, 1, "r_A", methodObject), + new Among("istics", 140, 1, "r_A", methodObject), + new Among("es", 137, 1, "r_E", methodObject), + new Among("ances", 142, 1, "r_B", methodObject), + new Among("ences", 142, 1, "r_A", methodObject), + new Among("ides", 142, 1, "r_L", methodObject), + new Among("oides", 145, 1, "r_A", methodObject), + new Among("ages", 142, 1, "r_B", methodObject), + new Among("ies", 142, 1, "r_P", methodObject), + new Among("acies", 148, 1, "r_A", methodObject), + new Among("ancies", 148, 1, "r_A", methodObject), + new Among("encies", 148, 1, "r_A", methodObject), + new Among("aries", 148, 1, "r_A", methodObject), + new Among("ities", 148, 1, "r_A", methodObject), + new Among("alities", 153, 1, "r_A", methodObject), + new Among("ivities", 153, 1, "r_A", methodObject), + new Among("ines", 142, 1, "r_M", methodObject), + new Among("nesses", 142, 1, "r_A", methodObject), + new Among("ates", 142, 1, "r_A", methodObject), + new Among("atives", 142, 1, "r_A", methodObject), + new Among("ings", 137, 1, "r_N", methodObject), + new Among("is", 137, 1, "r_A", methodObject), + new Among("als", 137, 1, "r_BB", methodObject), + new Among("ials", 162, 1, "r_A", methodObject), + new Among("entials", 163, 1, "r_A", methodObject), + new Among("ionals", 162, 1, "r_A", methodObject), + new Among("isms", 137, 1, "r_B", methodObject), + new Among("ians", 137, 1, "r_A", methodObject), + new Among("icians", 167, 1, "r_A", methodObject), + new Among("ions", 137, 1, "r_B", methodObject), + new Among("ations", 169, 1, "r_B", methodObject), + new Among("arisations", 170, 1, "r_A", methodObject), + new Among("entations", 170, 1, "r_A", methodObject), + new Among("izations", 170, 1, "r_A", methodObject), + new Among("arizations", 173, 1, "r_A", methodObject), + new Among("ars", 137, 1, "r_O", methodObject), + new Among("iers", 137, 1, "r_A", methodObject), + new Among("izers", 137, 1, "r_F", methodObject), + new Among("ators", 137, 1, "r_A", methodObject), + new Among("less", 137, 1, "r_A", methodObject), + new Among("eless", 179, 1, "r_A", methodObject), + new Among("ness", 137, 1, "r_A", methodObject), + new Among("eness", 181, 1, "r_E", methodObject), + new Among("ableness", 182, 1, "r_A", methodObject), + new Among("eableness", 183, 1, "r_E", methodObject), + new Among("ibleness", 182, 1, "r_A", methodObject), + new Among("ateness", 182, 1, "r_A", methodObject), + new Among("iteness", 182, 1, "r_A", methodObject), + new Among("iveness", 182, 1, "r_A", methodObject), + new Among("ativeness", 188, 1, "r_A", methodObject), + new Among("ingness", 181, 1, "r_A", methodObject), + new Among("ishness", 181, 1, "r_A", methodObject), + new Among("iness", 181, 1, "r_A", methodObject), + new Among("ariness", 192, 1, "r_E", methodObject), + new Among("alness", 181, 1, "r_A", methodObject), + new Among("icalness", 194, 1, "r_A", methodObject), + new Among("antialness", 194, 1, "r_A", methodObject), + new Among("entialness", 194, 1, "r_A", methodObject), + new Among("ionalness", 194, 1, "r_A", methodObject), + new Among("fulness", 181, 1, "r_A", methodObject), + new Among("lessness", 181, 1, "r_A", methodObject), + new Among("ousness", 181, 1, "r_A", methodObject), + new Among("eousness", 201, 1, "r_A", methodObject), + new Among("iousness", 201, 1, "r_A", methodObject), + new Among("itousness", 201, 1, "r_A", methodObject), + new Among("entness", 181, 1, "r_A", methodObject), + new Among("ants", 137, 1, "r_B", methodObject), + new Among("ists", 137, 1, "r_A", methodObject), + new Among("icists", 207, 1, "r_A", methodObject), + new Among("us", 137, 1, "r_V", methodObject), + new Among("ous", 209, 1, "r_A", methodObject), + new Among("eous", 210, 1, "r_A", methodObject), + new Among("aceous", 211, 1, "r_A", methodObject), + new Among("antaneous", 211, 1, "r_A", methodObject), + new Among("ious", 210, 1, "r_A", methodObject), + new Among("acious", 214, 1, "r_B", methodObject), + new Among("itous", 210, 1, "r_A", methodObject), + new Among("ant", -1, 1, "r_B", methodObject), + new Among("icant", 217, 1, "r_A", methodObject), + new Among("ent", -1, 1, "r_C", methodObject), + new Among("ement", 219, 1, "r_A", methodObject), + new Among("izement", 220, 1, "r_A", methodObject), + new Among("ist", -1, 1, "r_A", methodObject), + new Among("icist", 222, 1, "r_A", methodObject), + new Among("alist", 222, 1, "r_A", methodObject), + new Among("icalist", 224, 1, "r_A", methodObject), + new Among("ialist", 224, 1, "r_A", methodObject), + new Among("ionist", 222, 1, "r_A", methodObject), + new Among("entist", 222, 1, "r_A", methodObject), + new Among("y", -1, 1, "r_B", methodObject), + new Among("acy", 229, 1, "r_A", methodObject), + new Among("ancy", 229, 1, "r_B", methodObject), + new Among("ency", 229, 1, "r_A", methodObject), + new Among("ly", 229, 1, "r_B", methodObject), + new Among("ealy", 233, 1, "r_Y", methodObject), + new Among("ably", 233, 1, "r_A", methodObject), + new Among("ibly", 233, 1, "r_A", methodObject), + new Among("edly", 233, 1, "r_E", methodObject), + new Among("iedly", 237, 1, "r_A", methodObject), + new Among("ely", 233, 1, "r_E", methodObject), + new Among("ately", 239, 1, "r_A", methodObject), + new Among("ively", 239, 1, "r_A", methodObject), + new Among("atively", 241, 1, "r_A", methodObject), + new Among("ingly", 233, 1, "r_B", methodObject), + new Among("atingly", 243, 1, "r_A", methodObject), + new Among("ily", 233, 1, "r_A", methodObject), + new Among("lily", 245, 1, "r_A", methodObject), + new Among("arily", 245, 1, "r_A", methodObject), + new Among("ally", 233, 1, "r_B", methodObject), + new Among("ically", 248, 1, "r_A", methodObject), + new Among("aically", 249, 1, "r_A", methodObject), + new Among("allically", 249, 1, "r_C", methodObject), + new Among("istically", 249, 1, "r_A", methodObject), + new Among("alistically", 252, 1, "r_B", methodObject), + new Among("oidally", 248, 1, "r_A", methodObject), + new Among("ially", 248, 1, "r_A", methodObject), + new Among("entially", 255, 1, "r_A", methodObject), + new Among("ionally", 248, 1, "r_A", methodObject), + new Among("ationally", 257, 1, "r_B", methodObject), + new Among("izationally", 258, 1, "r_B", methodObject), + new Among("entally", 248, 1, "r_A", methodObject), + new Among("fully", 233, 1, "r_A", methodObject), + new Among("efully", 261, 1, "r_A", methodObject), + new Among("ifully", 261, 1, "r_A", methodObject), + new Among("enly", 233, 1, "r_E", methodObject), + new Among("arly", 233, 1, "r_K", methodObject), + new Among("early", 265, 1, "r_Y", methodObject), + new Among("lessly", 233, 1, "r_A", methodObject), + new Among("ously", 233, 1, "r_A", methodObject), + new Among("eously", 268, 1, "r_A", methodObject), + new Among("iously", 268, 1, "r_A", methodObject), + new Among("ently", 233, 1, "r_A", methodObject), + new Among("ary", 229, 1, "r_F", methodObject), + new Among("ery", 229, 1, "r_E", methodObject), + new Among("icianry", 229, 1, "r_A", methodObject), + new Among("atory", 229, 1, "r_A", methodObject), + new Among("ity", 229, 1, "r_A", methodObject), + new Among("acity", 276, 1, "r_A", methodObject), + new Among("icity", 276, 1, "r_A", methodObject), + new Among("eity", 276, 1, "r_A", methodObject), + new Among("ality", 276, 1, "r_A", methodObject), + new Among("icality", 280, 1, "r_A", methodObject), + new Among("iality", 280, 1, "r_A", methodObject), + new Among("antiality", 282, 1, "r_A", methodObject), + new Among("entiality", 282, 1, "r_A", methodObject), + new Among("ionality", 280, 1, "r_A", methodObject), + new Among("elity", 276, 1, "r_A", methodObject), + new Among("ability", 276, 1, "r_A", methodObject), + new Among("izability", 287, 1, "r_A", methodObject), + new Among("arizability", 288, 1, "r_A", methodObject), + new Among("ibility", 276, 1, "r_A", methodObject), + new Among("inity", 276, 1, "r_CC", methodObject), + new Among("arity", 276, 1, "r_B", methodObject), + new Among("ivity", 276, 1, "r_A", methodObject) +}; - private final static Among a_0[] = { - new Among ( "d", -1, -1, "", methodObject ), - new Among ( "f", -1, -1, "", methodObject ), - new Among ( "ph", -1, -1, "", methodObject ), - new Among ( "th", -1, -1, "", methodObject ), - new Among ( "l", -1, -1, "", methodObject ), - new Among ( "er", -1, -1, "", methodObject ), - new Among ( "or", -1, -1, "", methodObject ), - new Among ( "es", -1, -1, "", methodObject ), - new Among ( "t", -1, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("bb", -1, -1), + new Among("dd", -1, -1), + new Among("gg", -1, -1), + new Among("ll", -1, -1), + new Among("mm", -1, -1), + new Among("nn", -1, -1), + new Among("pp", -1, -1), + new Among("rr", -1, -1), + new Among("ss", -1, -1), + new Among("tt", -1, -1) +}; - private final static Among a_1[] = { - new Among ( "s'", -1, 1, "r_A", methodObject ), - new Among ( "a", -1, 1, "r_A", methodObject ), - new Among ( "ia", 1, 1, "r_A", methodObject ), - new Among ( "ata", 1, 1, "r_A", methodObject ), - new Among ( "ic", -1, 1, "r_A", methodObject ), - new Among ( "aic", 4, 1, "r_A", methodObject ), - new Among ( "allic", 4, 1, "r_BB", methodObject ), - new Among ( "aric", 4, 1, "r_A", methodObject ), - new Among ( "atic", 4, 1, "r_B", methodObject ), - new Among ( "itic", 4, 1, "r_H", methodObject ), - new Among ( "antic", 4, 1, "r_C", methodObject ), - new Among ( "istic", 4, 1, "r_A", methodObject ), - new Among ( "alistic", 11, 1, "r_B", methodObject ), - new Among ( "aristic", 11, 1, "r_A", methodObject ), - new Among ( "ivistic", 11, 1, "r_A", methodObject ), - new Among ( "ed", -1, 1, "r_E", methodObject ), - new Among ( "anced", 15, 1, "r_B", methodObject ), - new Among ( "enced", 15, 1, "r_A", methodObject ), - new Among ( "ished", 15, 1, "r_A", methodObject ), - new Among ( "ied", 15, 1, "r_A", methodObject ), - new Among ( "ened", 15, 1, "r_E", methodObject ), - new Among ( "ioned", 15, 1, "r_A", methodObject ), - new Among ( "ated", 15, 1, "r_I", methodObject ), - new Among ( "ented", 15, 1, "r_C", methodObject ), - new Among ( "ized", 15, 1, "r_F", methodObject ), - new Among ( "arized", 24, 1, "r_A", methodObject ), - new Among ( "oid", -1, 1, "r_A", methodObject ), - new Among ( "aroid", 26, 1, "r_A", methodObject ), - new Among ( "hood", -1, 1, "r_A", methodObject ), - new Among ( "ehood", 28, 1, "r_A", methodObject ), - new Among ( "ihood", 28, 1, "r_A", methodObject ), - new Among ( "elihood", 30, 1, "r_E", methodObject ), - new Among ( "ward", -1, 1, "r_A", methodObject ), - new Among ( "e", -1, 1, "r_A", methodObject ), - new Among ( "ae", 33, 1, "r_A", methodObject ), - new Among ( "ance", 33, 1, "r_B", methodObject ), - new Among ( "icance", 35, 1, "r_A", methodObject ), - new Among ( "ence", 33, 1, "r_A", methodObject ), - new Among ( "ide", 33, 1, "r_L", methodObject ), - new Among ( "icide", 38, 1, "r_A", methodObject ), - new Among ( "otide", 38, 1, "r_A", methodObject ), - new Among ( "age", 33, 1, "r_B", methodObject ), - new Among ( "able", 33, 1, "r_A", methodObject ), - new Among ( "atable", 42, 1, "r_A", methodObject ), - new Among ( "izable", 42, 1, "r_E", methodObject ), - new Among ( "arizable", 44, 1, "r_A", methodObject ), - new Among ( "ible", 33, 1, "r_A", methodObject ), - new Among ( "encible", 46, 1, "r_A", methodObject ), - new Among ( "ene", 33, 1, "r_E", methodObject ), - new Among ( "ine", 33, 1, "r_M", methodObject ), - new Among ( "idine", 49, 1, "r_I", methodObject ), - new Among ( "one", 33, 1, "r_R", methodObject ), - new Among ( "ature", 33, 1, "r_E", methodObject ), - new Among ( "eature", 52, 1, "r_Z", methodObject ), - new Among ( "ese", 33, 1, "r_A", methodObject ), - new Among ( "wise", 33, 1, "r_A", methodObject ), - new Among ( "ate", 33, 1, "r_A", methodObject ), - new Among ( "entiate", 56, 1, "r_A", methodObject ), - new Among ( "inate", 56, 1, "r_A", methodObject ), - new Among ( "ionate", 56, 1, "r_D", methodObject ), - new Among ( "ite", 33, 1, "r_AA", methodObject ), - new Among ( "ive", 33, 1, "r_A", methodObject ), - new Among ( "ative", 61, 1, "r_A", methodObject ), - new Among ( "ize", 33, 1, "r_F", methodObject ), - new Among ( "alize", 63, 1, "r_A", methodObject ), - new Among ( "icalize", 64, 1, "r_A", methodObject ), - new Among ( "ialize", 64, 1, "r_A", methodObject ), - new Among ( "entialize", 66, 1, "r_A", methodObject ), - new Among ( "ionalize", 64, 1, "r_A", methodObject ), - new Among ( "arize", 63, 1, "r_A", methodObject ), - new Among ( "ing", -1, 1, "r_N", methodObject ), - new Among ( "ancing", 70, 1, "r_B", methodObject ), - new Among ( "encing", 70, 1, "r_A", methodObject ), - new Among ( "aging", 70, 1, "r_B", methodObject ), - new Among ( "ening", 70, 1, "r_E", methodObject ), - new Among ( "ioning", 70, 1, "r_A", methodObject ), - new Among ( "ating", 70, 1, "r_I", methodObject ), - new Among ( "enting", 70, 1, "r_C", methodObject ), - new Among ( "ying", 70, 1, "r_B", methodObject ), - new Among ( "izing", 70, 1, "r_F", methodObject ), - new Among ( "arizing", 79, 1, "r_A", methodObject ), - new Among ( "ish", -1, 1, "r_C", methodObject ), - new Among ( "yish", 81, 1, "r_A", methodObject ), - new Among ( "i", -1, 1, "r_A", methodObject ), - new Among ( "al", -1, 1, "r_BB", methodObject ), - new Among ( "ical", 84, 1, "r_A", methodObject ), - new Among ( "aical", 85, 1, "r_A", methodObject ), - new Among ( "istical", 85, 1, "r_A", methodObject ), - new Among ( "oidal", 84, 1, "r_A", methodObject ), - new Among ( "eal", 84, 1, "r_Y", methodObject ), - new Among ( "ial", 84, 1, "r_A", methodObject ), - new Among ( "ancial", 90, 1, "r_A", methodObject ), - new Among ( "arial", 90, 1, "r_A", methodObject ), - new Among ( "ential", 90, 1, "r_A", methodObject ), - new Among ( "ional", 84, 1, "r_A", methodObject ), - new Among ( "ational", 94, 1, "r_B", methodObject ), - new Among ( "izational", 95, 1, "r_A", methodObject ), - new Among ( "ental", 84, 1, "r_A", methodObject ), - new Among ( "ful", -1, 1, "r_A", methodObject ), - new Among ( "eful", 98, 1, "r_A", methodObject ), - new Among ( "iful", 98, 1, "r_A", methodObject ), - new Among ( "yl", -1, 1, "r_R", methodObject ), - new Among ( "ism", -1, 1, "r_B", methodObject ), - new Among ( "icism", 102, 1, "r_A", methodObject ), - new Among ( "oidism", 102, 1, "r_A", methodObject ), - new Among ( "alism", 102, 1, "r_B", methodObject ), - new Among ( "icalism", 105, 1, "r_A", methodObject ), - new Among ( "ionalism", 105, 1, "r_A", methodObject ), - new Among ( "inism", 102, 1, "r_J", methodObject ), - new Among ( "ativism", 102, 1, "r_A", methodObject ), - new Among ( "um", -1, 1, "r_U", methodObject ), - new Among ( "ium", 110, 1, "r_A", methodObject ), - new Among ( "ian", -1, 1, "r_A", methodObject ), - new Among ( "ician", 112, 1, "r_A", methodObject ), - new Among ( "en", -1, 1, "r_F", methodObject ), - new Among ( "ogen", 114, 1, "r_A", methodObject ), - new Among ( "on", -1, 1, "r_S", methodObject ), - new Among ( "ion", 116, 1, "r_Q", methodObject ), - new Among ( "ation", 117, 1, "r_B", methodObject ), - new Among ( "ication", 118, 1, "r_G", methodObject ), - new Among ( "entiation", 118, 1, "r_A", methodObject ), - new Among ( "ination", 118, 1, "r_A", methodObject ), - new Among ( "isation", 118, 1, "r_A", methodObject ), - new Among ( "arisation", 122, 1, "r_A", methodObject ), - new Among ( "entation", 118, 1, "r_A", methodObject ), - new Among ( "ization", 118, 1, "r_F", methodObject ), - new Among ( "arization", 125, 1, "r_A", methodObject ), - new Among ( "action", 117, 1, "r_G", methodObject ), - new Among ( "o", -1, 1, "r_A", methodObject ), - new Among ( "ar", -1, 1, "r_X", methodObject ), - new Among ( "ear", 129, 1, "r_Y", methodObject ), - new Among ( "ier", -1, 1, "r_A", methodObject ), - new Among ( "ariser", -1, 1, "r_A", methodObject ), - new Among ( "izer", -1, 1, "r_F", methodObject ), - new Among ( "arizer", 133, 1, "r_A", methodObject ), - new Among ( "or", -1, 1, "r_T", methodObject ), - new Among ( "ator", 135, 1, "r_A", methodObject ), - new Among ( "s", -1, 1, "r_W", methodObject ), - new Among ( "'s", 137, 1, "r_A", methodObject ), - new Among ( "as", 137, 1, "r_B", methodObject ), - new Among ( "ics", 137, 1, "r_A", methodObject ), - new Among ( "istics", 140, 1, "r_A", methodObject ), - new Among ( "es", 137, 1, "r_E", methodObject ), - new Among ( "ances", 142, 1, "r_B", methodObject ), - new Among ( "ences", 142, 1, "r_A", methodObject ), - new Among ( "ides", 142, 1, "r_L", methodObject ), - new Among ( "oides", 145, 1, "r_A", methodObject ), - new Among ( "ages", 142, 1, "r_B", methodObject ), - new Among ( "ies", 142, 1, "r_P", methodObject ), - new Among ( "acies", 148, 1, "r_A", methodObject ), - new Among ( "ancies", 148, 1, "r_A", methodObject ), - new Among ( "encies", 148, 1, "r_A", methodObject ), - new Among ( "aries", 148, 1, "r_A", methodObject ), - new Among ( "ities", 148, 1, "r_A", methodObject ), - new Among ( "alities", 153, 1, "r_A", methodObject ), - new Among ( "ivities", 153, 1, "r_A", methodObject ), - new Among ( "ines", 142, 1, "r_M", methodObject ), - new Among ( "nesses", 142, 1, "r_A", methodObject ), - new Among ( "ates", 142, 1, "r_A", methodObject ), - new Among ( "atives", 142, 1, "r_A", methodObject ), - new Among ( "ings", 137, 1, "r_N", methodObject ), - new Among ( "is", 137, 1, "r_A", methodObject ), - new Among ( "als", 137, 1, "r_BB", methodObject ), - new Among ( "ials", 162, 1, "r_A", methodObject ), - new Among ( "entials", 163, 1, "r_A", methodObject ), - new Among ( "ionals", 162, 1, "r_A", methodObject ), - new Among ( "isms", 137, 1, "r_B", methodObject ), - new Among ( "ians", 137, 1, "r_A", methodObject ), - new Among ( "icians", 167, 1, "r_A", methodObject ), - new Among ( "ions", 137, 1, "r_B", methodObject ), - new Among ( "ations", 169, 1, "r_B", methodObject ), - new Among ( "arisations", 170, 1, "r_A", methodObject ), - new Among ( "entations", 170, 1, "r_A", methodObject ), - new Among ( "izations", 170, 1, "r_A", methodObject ), - new Among ( "arizations", 173, 1, "r_A", methodObject ), - new Among ( "ars", 137, 1, "r_O", methodObject ), - new Among ( "iers", 137, 1, "r_A", methodObject ), - new Among ( "izers", 137, 1, "r_F", methodObject ), - new Among ( "ators", 137, 1, "r_A", methodObject ), - new Among ( "less", 137, 1, "r_A", methodObject ), - new Among ( "eless", 179, 1, "r_A", methodObject ), - new Among ( "ness", 137, 1, "r_A", methodObject ), - new Among ( "eness", 181, 1, "r_E", methodObject ), - new Among ( "ableness", 182, 1, "r_A", methodObject ), - new Among ( "eableness", 183, 1, "r_E", methodObject ), - new Among ( "ibleness", 182, 1, "r_A", methodObject ), - new Among ( "ateness", 182, 1, "r_A", methodObject ), - new Among ( "iteness", 182, 1, "r_A", methodObject ), - new Among ( "iveness", 182, 1, "r_A", methodObject ), - new Among ( "ativeness", 188, 1, "r_A", methodObject ), - new Among ( "ingness", 181, 1, "r_A", methodObject ), - new Among ( "ishness", 181, 1, "r_A", methodObject ), - new Among ( "iness", 181, 1, "r_A", methodObject ), - new Among ( "ariness", 192, 1, "r_E", methodObject ), - new Among ( "alness", 181, 1, "r_A", methodObject ), - new Among ( "icalness", 194, 1, "r_A", methodObject ), - new Among ( "antialness", 194, 1, "r_A", methodObject ), - new Among ( "entialness", 194, 1, "r_A", methodObject ), - new Among ( "ionalness", 194, 1, "r_A", methodObject ), - new Among ( "fulness", 181, 1, "r_A", methodObject ), - new Among ( "lessness", 181, 1, "r_A", methodObject ), - new Among ( "ousness", 181, 1, "r_A", methodObject ), - new Among ( "eousness", 201, 1, "r_A", methodObject ), - new Among ( "iousness", 201, 1, "r_A", methodObject ), - new Among ( "itousness", 201, 1, "r_A", methodObject ), - new Among ( "entness", 181, 1, "r_A", methodObject ), - new Among ( "ants", 137, 1, "r_B", methodObject ), - new Among ( "ists", 137, 1, "r_A", methodObject ), - new Among ( "icists", 207, 1, "r_A", methodObject ), - new Among ( "us", 137, 1, "r_V", methodObject ), - new Among ( "ous", 209, 1, "r_A", methodObject ), - new Among ( "eous", 210, 1, "r_A", methodObject ), - new Among ( "aceous", 211, 1, "r_A", methodObject ), - new Among ( "antaneous", 211, 1, "r_A", methodObject ), - new Among ( "ious", 210, 1, "r_A", methodObject ), - new Among ( "acious", 214, 1, "r_B", methodObject ), - new Among ( "itous", 210, 1, "r_A", methodObject ), - new Among ( "ant", -1, 1, "r_B", methodObject ), - new Among ( "icant", 217, 1, "r_A", methodObject ), - new Among ( "ent", -1, 1, "r_C", methodObject ), - new Among ( "ement", 219, 1, "r_A", methodObject ), - new Among ( "izement", 220, 1, "r_A", methodObject ), - new Among ( "ist", -1, 1, "r_A", methodObject ), - new Among ( "icist", 222, 1, "r_A", methodObject ), - new Among ( "alist", 222, 1, "r_A", methodObject ), - new Among ( "icalist", 224, 1, "r_A", methodObject ), - new Among ( "ialist", 224, 1, "r_A", methodObject ), - new Among ( "ionist", 222, 1, "r_A", methodObject ), - new Among ( "entist", 222, 1, "r_A", methodObject ), - new Among ( "y", -1, 1, "r_B", methodObject ), - new Among ( "acy", 229, 1, "r_A", methodObject ), - new Among ( "ancy", 229, 1, "r_B", methodObject ), - new Among ( "ency", 229, 1, "r_A", methodObject ), - new Among ( "ly", 229, 1, "r_B", methodObject ), - new Among ( "ealy", 233, 1, "r_Y", methodObject ), - new Among ( "ably", 233, 1, "r_A", methodObject ), - new Among ( "ibly", 233, 1, "r_A", methodObject ), - new Among ( "edly", 233, 1, "r_E", methodObject ), - new Among ( "iedly", 237, 1, "r_A", methodObject ), - new Among ( "ely", 233, 1, "r_E", methodObject ), - new Among ( "ately", 239, 1, "r_A", methodObject ), - new Among ( "ively", 239, 1, "r_A", methodObject ), - new Among ( "atively", 241, 1, "r_A", methodObject ), - new Among ( "ingly", 233, 1, "r_B", methodObject ), - new Among ( "atingly", 243, 1, "r_A", methodObject ), - new Among ( "ily", 233, 1, "r_A", methodObject ), - new Among ( "lily", 245, 1, "r_A", methodObject ), - new Among ( "arily", 245, 1, "r_A", methodObject ), - new Among ( "ally", 233, 1, "r_B", methodObject ), - new Among ( "ically", 248, 1, "r_A", methodObject ), - new Among ( "aically", 249, 1, "r_A", methodObject ), - new Among ( "allically", 249, 1, "r_C", methodObject ), - new Among ( "istically", 249, 1, "r_A", methodObject ), - new Among ( "alistically", 252, 1, "r_B", methodObject ), - new Among ( "oidally", 248, 1, "r_A", methodObject ), - new Among ( "ially", 248, 1, "r_A", methodObject ), - new Among ( "entially", 255, 1, "r_A", methodObject ), - new Among ( "ionally", 248, 1, "r_A", methodObject ), - new Among ( "ationally", 257, 1, "r_B", methodObject ), - new Among ( "izationally", 258, 1, "r_B", methodObject ), - new Among ( "entally", 248, 1, "r_A", methodObject ), - new Among ( "fully", 233, 1, "r_A", methodObject ), - new Among ( "efully", 261, 1, "r_A", methodObject ), - new Among ( "ifully", 261, 1, "r_A", methodObject ), - new Among ( "enly", 233, 1, "r_E", methodObject ), - new Among ( "arly", 233, 1, "r_K", methodObject ), - new Among ( "early", 265, 1, "r_Y", methodObject ), - new Among ( "lessly", 233, 1, "r_A", methodObject ), - new Among ( "ously", 233, 1, "r_A", methodObject ), - new Among ( "eously", 268, 1, "r_A", methodObject ), - new Among ( "iously", 268, 1, "r_A", methodObject ), - new Among ( "ently", 233, 1, "r_A", methodObject ), - new Among ( "ary", 229, 1, "r_F", methodObject ), - new Among ( "ery", 229, 1, "r_E", methodObject ), - new Among ( "icianry", 229, 1, "r_A", methodObject ), - new Among ( "atory", 229, 1, "r_A", methodObject ), - new Among ( "ity", 229, 1, "r_A", methodObject ), - new Among ( "acity", 276, 1, "r_A", methodObject ), - new Among ( "icity", 276, 1, "r_A", methodObject ), - new Among ( "eity", 276, 1, "r_A", methodObject ), - new Among ( "ality", 276, 1, "r_A", methodObject ), - new Among ( "icality", 280, 1, "r_A", methodObject ), - new Among ( "iality", 280, 1, "r_A", methodObject ), - new Among ( "antiality", 282, 1, "r_A", methodObject ), - new Among ( "entiality", 282, 1, "r_A", methodObject ), - new Among ( "ionality", 280, 1, "r_A", methodObject ), - new Among ( "elity", 276, 1, "r_A", methodObject ), - new Among ( "ability", 276, 1, "r_A", methodObject ), - new Among ( "izability", 287, 1, "r_A", methodObject ), - new Among ( "arizability", 288, 1, "r_A", methodObject ), - new Among ( "ibility", 276, 1, "r_A", methodObject ), - new Among ( "inity", 276, 1, "r_CC", methodObject ), - new Among ( "arity", 276, 1, "r_B", methodObject ), - new Among ( "ivity", 276, 1, "r_A", methodObject ) - }; - - private final static Among a_2[] = { - new Among ( "bb", -1, -1, "", methodObject ), - new Among ( "dd", -1, -1, "", methodObject ), - new Among ( "gg", -1, -1, "", methodObject ), - new Among ( "ll", -1, -1, "", methodObject ), - new Among ( "mm", -1, -1, "", methodObject ), - new Among ( "nn", -1, -1, "", methodObject ), - new Among ( "pp", -1, -1, "", methodObject ), - new Among ( "rr", -1, -1, "", methodObject ), - new Among ( "ss", -1, -1, "", methodObject ), - new Among ( "tt", -1, -1, "", methodObject ) - }; - - private final static Among a_3[] = { - new Among ( "uad", -1, 18, "", methodObject ), - new Among ( "vad", -1, 19, "", methodObject ), - new Among ( "cid", -1, 20, "", methodObject ), - new Among ( "lid", -1, 21, "", methodObject ), - new Among ( "erid", -1, 22, "", methodObject ), - new Among ( "pand", -1, 23, "", methodObject ), - new Among ( "end", -1, 24, "", methodObject ), - new Among ( "ond", -1, 25, "", methodObject ), - new Among ( "lud", -1, 26, "", methodObject ), - new Among ( "rud", -1, 27, "", methodObject ), - new Among ( "ul", -1, 9, "", methodObject ), - new Among ( "her", -1, 28, "", methodObject ), - new Among ( "metr", -1, 7, "", methodObject ), - new Among ( "istr", -1, 6, "", methodObject ), - new Among ( "urs", -1, 5, "", methodObject ), - new Among ( "uct", -1, 2, "", methodObject ), - new Among ( "et", -1, 32, "", methodObject ), - new Among ( "mit", -1, 29, "", methodObject ), - new Among ( "ent", -1, 30, "", methodObject ), - new Among ( "umpt", -1, 3, "", methodObject ), - new Among ( "rpt", -1, 4, "", methodObject ), - new Among ( "ert", -1, 31, "", methodObject ), - new Among ( "yt", -1, 33, "", methodObject ), - new Among ( "iev", -1, 1, "", methodObject ), - new Among ( "olv", -1, 8, "", methodObject ), - new Among ( "ax", -1, 14, "", methodObject ), - new Among ( "ex", -1, 15, "", methodObject ), - new Among ( "bex", 26, 10, "", methodObject ), - new Among ( "dex", 26, 11, "", methodObject ), - new Among ( "pex", 26, 12, "", methodObject ), - new Among ( "tex", 26, 13, "", methodObject ), - new Among ( "ix", -1, 16, "", methodObject ), - new Among ( "lux", -1, 17, "", methodObject ), - new Among ( "yz", -1, 34, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("uad", -1, 18), + new Among("vad", -1, 19), + new Among("cid", -1, 20), + new Among("lid", -1, 21), + new Among("erid", -1, 22), + new Among("pand", -1, 23), + new Among("end", -1, 24), + new Among("ond", -1, 25), + new Among("lud", -1, 26), + new Among("rud", -1, 27), + new Among("ul", -1, 9), + new Among("her", -1, 28), + new Among("metr", -1, 7), + new Among("istr", -1, 6), + new Among("urs", -1, 5), + new Among("uct", -1, 2), + new Among("et", -1, 32), + new Among("mit", -1, 29), + new Among("ent", -1, 30), + new Among("umpt", -1, 3), + new Among("rpt", -1, 4), + new Among("ert", -1, 31), + new Among("yt", -1, 33), + new Among("iev", -1, 1), + new Among("olv", -1, 8), + new Among("ax", -1, 14), + new Among("ex", -1, 15), + new Among("bex", 26, 10), + new Among("dex", 26, 11), + new Among("pex", 26, 12), + new Among("tex", 26, 13), + new Among("ix", -1, 16), + new Among("lux", -1, 17), + new Among("yz", -1, 33) +}; - private void copy_from(LovinsStemmer other) { - super.copy_from(other); - } - private boolean r_A() { - // (, line 21 - // hop, line 21 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - return true; - } +public boolean r_A() { + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + return true; +} - private boolean r_B() { - // (, line 22 - // hop, line 22 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - return true; - } +public boolean r_B() { + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + return true; +} - private boolean r_C() { - // (, line 23 - // hop, line 23 - { - int c = cursor - 4; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - return true; - } +public boolean r_C() { + { + int c = cursor - 4; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + return true; +} - private boolean r_D() { - // (, line 24 - // hop, line 24 - { - int c = cursor - 5; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - return true; - } +public boolean r_D() { + { + int c = cursor - 5; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + return true; +} - private boolean r_E() { - int v_1; - int v_2; - // (, line 25 - // test, line 25 - v_1 = limit - cursor; - // hop, line 25 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 25 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 25 - if (!(eq_s_b(1, "e"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - return true; - } +public boolean r_E() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("e"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + return true; +} - private boolean r_F() { - int v_1; - int v_2; - // (, line 26 - // test, line 26 - v_1 = limit - cursor; - // hop, line 26 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 26 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 26 - if (!(eq_s_b(1, "e"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - return true; - } +public boolean r_F() { + int v_1 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("e"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + return true; +} - private boolean r_G() { - int v_1; - // (, line 27 - // test, line 27 - v_1 = limit - cursor; - // hop, line 27 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // literal, line 27 - if (!(eq_s_b(1, "f"))) - { - return false; - } - return true; - } +public boolean r_G() { + int v_1 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + if (!(eq_s_b("f"))) + { + return false; + } + return true; +} - private boolean r_H() { - int v_1; - int v_2; - // (, line 28 - // test, line 28 - v_1 = limit - cursor; - // hop, line 28 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 28 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 28 - if (!(eq_s_b(1, "t"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 28 - if (!(eq_s_b(2, "ll"))) - { - return false; - } - } while (false); - return true; - } +public boolean r_H() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("t"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("ll"))) + { + return false; + } + } + return true; +} - private boolean r_I() { - int v_1; - int v_2; - int v_3; - // (, line 29 - // test, line 29 - v_1 = limit - cursor; - // hop, line 29 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 29 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 29 - if (!(eq_s_b(1, "o"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 29 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 29 - if (!(eq_s_b(1, "e"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - return true; - } +public boolean r_I() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("o"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("e"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + return true; +} - private boolean r_J() { - int v_1; - int v_2; - int v_3; - // (, line 30 - // test, line 30 - v_1 = limit - cursor; - // hop, line 30 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 30 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 30 - if (!(eq_s_b(1, "a"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 30 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 30 - if (!(eq_s_b(1, "e"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - return true; - } +public boolean r_J() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("a"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("e"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + return true; +} - private boolean r_K() { - int v_1; - int v_2; - // (, line 31 - // test, line 31 - v_1 = limit - cursor; - // hop, line 31 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 31 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 31 - if (!(eq_s_b(1, "l"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - lab2: do { - // literal, line 31 - if (!(eq_s_b(1, "i"))) - { - break lab2; - } - break lab0; - } while (false); - cursor = limit - v_2; - // (, line 31 - // literal, line 31 - if (!(eq_s_b(1, "e"))) - { - return false; - } - // next, line 31 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // literal, line 31 - if (!(eq_s_b(1, "u"))) - { - return false; - } - } while (false); - return true; - } +public boolean r_K() { + int v_1 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("l"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + lab2: { + if (!(eq_s_b("i"))) + { + break lab2; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("e"))) + { + return false; + } + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(eq_s_b("u"))) + { + return false; + } + } + return true; +} - private boolean r_L() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 32 - // test, line 32 - v_1 = limit - cursor; - // hop, line 32 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 32 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 32 - if (!(eq_s_b(1, "u"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 32 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 32 - if (!(eq_s_b(1, "x"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - // not, line 32 - { - v_4 = limit - cursor; - lab2: do { - // (, line 32 - // literal, line 32 - if (!(eq_s_b(1, "s"))) - { - break lab2; - } - // not, line 32 - { - v_5 = limit - cursor; - lab3: do { - // literal, line 32 - if (!(eq_s_b(1, "o"))) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_5; - } - return false; - } while (false); - cursor = limit - v_4; - } - return true; - } - - private boolean r_M() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 33 - // test, line 33 - v_1 = limit - cursor; - // hop, line 33 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 33 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 33 - if (!(eq_s_b(1, "a"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 33 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 33 - if (!(eq_s_b(1, "c"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - // not, line 33 - { - v_4 = limit - cursor; - lab2: do { - // literal, line 33 - if (!(eq_s_b(1, "e"))) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_4; - } - // not, line 33 - { - v_5 = limit - cursor; - lab3: do { - // literal, line 33 - if (!(eq_s_b(1, "m"))) - { - break lab3; - } - return false; - } while (false); - cursor = limit - v_5; - } - return true; - } - - private boolean r_N() { - int v_1; - int v_2; - int v_3; - // (, line 34 - // test, line 34 - v_1 = limit - cursor; - // hop, line 34 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // (, line 34 - // hop, line 34 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - // or, line 34 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // not, line 34 - { - v_3 = limit - cursor; - lab2: do { - // literal, line 34 - if (!(eq_s_b(1, "s"))) - { - break lab2; - } - break lab1; - } while (false); - cursor = limit - v_3; - } - break lab0; - } while (false); - cursor = limit - v_2; - // hop, line 34 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - } while (false); - return true; - } - - private boolean r_O() { - int v_1; - int v_2; - // (, line 35 - // test, line 35 - v_1 = limit - cursor; - // hop, line 35 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 35 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 35 - if (!(eq_s_b(1, "l"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 35 - if (!(eq_s_b(1, "i"))) - { - return false; - } - } while (false); - return true; - } - - private boolean r_P() { - int v_1; - int v_2; - // (, line 36 - // test, line 36 - v_1 = limit - cursor; - // hop, line 36 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 36 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 36 - if (!(eq_s_b(1, "c"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - return true; - } - - private boolean r_Q() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 37 - // test, line 37 - v_1 = limit - cursor; - // hop, line 37 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // test, line 37 - v_2 = limit - cursor; - // hop, line 37 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_2; - // not, line 37 - { - v_3 = limit - cursor; - lab0: do { - // literal, line 37 - if (!(eq_s_b(1, "l"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_3; - } - // not, line 37 - { - v_4 = limit - cursor; - lab1: do { - // literal, line 37 - if (!(eq_s_b(1, "n"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_4; - } - return true; - } - - private boolean r_R() { - int v_1; - int v_2; - // (, line 38 - // test, line 38 - v_1 = limit - cursor; - // hop, line 38 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 38 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 38 - if (!(eq_s_b(1, "n"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 38 - if (!(eq_s_b(1, "r"))) - { - return false; - } - } while (false); - return true; - } - - private boolean r_S() { - int v_1; - int v_2; - int v_3; - // (, line 39 - // test, line 39 - v_1 = limit - cursor; - // hop, line 39 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 39 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 39 - if (!(eq_s_b(2, "dr"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // (, line 39 - // literal, line 39 - if (!(eq_s_b(1, "t"))) - { - return false; - } - // not, line 39 - { - v_3 = limit - cursor; - lab2: do { - // literal, line 39 - if (!(eq_s_b(1, "t"))) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_3; - } - } while (false); - return true; - } - - private boolean r_T() { - int v_1; - int v_2; - int v_3; - // (, line 40 - // test, line 40 - v_1 = limit - cursor; - // hop, line 40 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 40 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 40 - if (!(eq_s_b(1, "s"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // (, line 40 - // literal, line 40 - if (!(eq_s_b(1, "t"))) - { - return false; - } - // not, line 40 - { - v_3 = limit - cursor; - lab2: do { - // literal, line 40 - if (!(eq_s_b(1, "o"))) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_3; - } - } while (false); - return true; - } - - private boolean r_U() { - int v_1; - int v_2; - // (, line 41 - // test, line 41 - v_1 = limit - cursor; - // hop, line 41 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 41 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 41 - if (!(eq_s_b(1, "l"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - lab2: do { - // literal, line 41 - if (!(eq_s_b(1, "m"))) - { - break lab2; - } - break lab0; - } while (false); - cursor = limit - v_2; - lab3: do { - // literal, line 41 - if (!(eq_s_b(1, "n"))) - { - break lab3; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 41 - if (!(eq_s_b(1, "r"))) - { - return false; - } - } while (false); - return true; - } - - private boolean r_V() { - int v_1; - // (, line 42 - // test, line 42 - v_1 = limit - cursor; - // hop, line 42 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // literal, line 42 - if (!(eq_s_b(1, "c"))) - { - return false; - } - return true; - } - - private boolean r_W() { - int v_1; - int v_2; - int v_3; - // (, line 43 - // test, line 43 - v_1 = limit - cursor; - // hop, line 43 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 43 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 43 - if (!(eq_s_b(1, "s"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 43 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 43 - if (!(eq_s_b(1, "u"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - return true; - } - - private boolean r_X() { - int v_1; - int v_2; - // (, line 44 - // test, line 44 - v_1 = limit - cursor; - // hop, line 44 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // or, line 44 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 44 - if (!(eq_s_b(1, "l"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - lab2: do { - // literal, line 44 - if (!(eq_s_b(1, "i"))) - { - break lab2; - } - break lab0; - } while (false); - cursor = limit - v_2; - // (, line 44 - // literal, line 44 - if (!(eq_s_b(1, "e"))) - { - return false; - } - // next, line 44 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // literal, line 44 - if (!(eq_s_b(1, "u"))) - { - return false; - } - } while (false); - return true; - } - - private boolean r_Y() { - int v_1; - // (, line 45 - // test, line 45 - v_1 = limit - cursor; - // hop, line 45 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // literal, line 45 - if (!(eq_s_b(2, "in"))) - { - return false; - } - return true; - } - - private boolean r_Z() { - int v_1; - int v_2; - // (, line 46 - // test, line 46 - v_1 = limit - cursor; - // hop, line 46 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 46 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 46 - if (!(eq_s_b(1, "f"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - return true; - } - - private boolean r_AA() { - int v_1; - // (, line 47 - // test, line 47 - v_1 = limit - cursor; - // hop, line 47 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // among, line 47 - if (find_among_b(a_0, 9) == 0) - { - return false; - } - return true; - } - - private boolean r_BB() { - int v_1; - int v_2; - int v_3; - // (, line 49 - // test, line 49 - v_1 = limit - cursor; - // hop, line 49 - { - int c = cursor - 3; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // not, line 49 - { - v_2 = limit - cursor; - lab0: do { - // literal, line 49 - if (!(eq_s_b(3, "met"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 49 - { - v_3 = limit - cursor; - lab1: do { - // literal, line 49 - if (!(eq_s_b(4, "ryst"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_3; - } - return true; - } - - private boolean r_CC() { - int v_1; - // (, line 50 - // test, line 50 - v_1 = limit - cursor; - // hop, line 50 - { - int c = cursor - 2; - if (limit_backward > c || c > limit) - { - return false; - } - cursor = c; - } - cursor = limit - v_1; - // literal, line 50 - if (!(eq_s_b(1, "l"))) - { - return false; - } - return true; - } - - private boolean r_endings() { - int among_var; - // (, line 55 - // [, line 56 - ket = cursor; - // substring, line 56 - among_var = find_among_b(a_1, 294); - if (among_var == 0) - { - return false; - } - // ], line 56 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 145 - // delete, line 145 - slice_del(); - break; - } - return true; - } - - private boolean r_undouble() { - int v_1; - // (, line 151 - // test, line 152 - v_1 = limit - cursor; - // substring, line 152 - if (find_among_b(a_2, 10) == 0) - { - return false; - } - cursor = limit - v_1; - // [, line 154 - ket = cursor; - // next, line 154 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 154 - bra = cursor; - // delete, line 154 - slice_del(); - return true; - } - - private boolean r_respell() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - // (, line 159 - // [, line 160 - ket = cursor; - // substring, line 160 - among_var = find_among_b(a_3, 34); - if (among_var == 0) - { - return false; - } - // ], line 160 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 161 - // <-, line 161 - slice_from("ief"); - break; - case 2: - // (, line 162 - // <-, line 162 - slice_from("uc"); - break; - case 3: - // (, line 163 - // <-, line 163 - slice_from("um"); - break; - case 4: - // (, line 164 - // <-, line 164 - slice_from("rb"); - break; - case 5: - // (, line 165 - // <-, line 165 - slice_from("ur"); - break; - case 6: - // (, line 166 - // <-, line 166 - slice_from("ister"); - break; - case 7: - // (, line 167 - // <-, line 167 - slice_from("meter"); - break; - case 8: - // (, line 168 - // <-, line 168 - slice_from("olut"); - break; - case 9: - // (, line 169 - // not, line 169 - { - v_1 = limit - cursor; - lab0: do { - // literal, line 169 - if (!(eq_s_b(1, "a"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_1; - } - // not, line 169 - { - v_2 = limit - cursor; - lab1: do { - // literal, line 169 - if (!(eq_s_b(1, "i"))) - { - break lab1; - } - return false; - } while (false); - cursor = limit - v_2; - } - // not, line 169 - { - v_3 = limit - cursor; - lab2: do { - // literal, line 169 - if (!(eq_s_b(1, "o"))) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_3; - } - // <-, line 169 - slice_from("l"); - break; - case 10: - // (, line 170 - // <-, line 170 - slice_from("bic"); - break; - case 11: - // (, line 171 - // <-, line 171 - slice_from("dic"); - break; - case 12: - // (, line 172 - // <-, line 172 - slice_from("pic"); - break; - case 13: - // (, line 173 - // <-, line 173 - slice_from("tic"); - break; - case 14: - // (, line 174 - // <-, line 174 - slice_from("ac"); - break; - case 15: - // (, line 175 - // <-, line 175 - slice_from("ec"); - break; - case 16: - // (, line 176 - // <-, line 176 - slice_from("ic"); - break; - case 17: - // (, line 177 - // <-, line 177 - slice_from("luc"); - break; - case 18: - // (, line 178 - // <-, line 178 - slice_from("uas"); - break; - case 19: - // (, line 179 - // <-, line 179 - slice_from("vas"); - break; - case 20: - // (, line 180 - // <-, line 180 - slice_from("cis"); - break; - case 21: - // (, line 181 - // <-, line 181 - slice_from("lis"); - break; - case 22: - // (, line 182 - // <-, line 182 - slice_from("eris"); - break; - case 23: - // (, line 183 - // <-, line 183 - slice_from("pans"); - break; - case 24: - // (, line 184 - // not, line 184 - { - v_4 = limit - cursor; - lab3: do { - // literal, line 184 - if (!(eq_s_b(1, "s"))) - { - break lab3; - } - return false; - } while (false); - cursor = limit - v_4; - } - // <-, line 184 - slice_from("ens"); - break; - case 25: - // (, line 185 - // <-, line 185 - slice_from("ons"); - break; - case 26: - // (, line 186 - // <-, line 186 - slice_from("lus"); - break; - case 27: - // (, line 187 - // <-, line 187 - slice_from("rus"); - break; - case 28: - // (, line 188 - // not, line 188 - { - v_5 = limit - cursor; - lab4: do { - // literal, line 188 - if (!(eq_s_b(1, "p"))) - { - break lab4; - } - return false; - } while (false); - cursor = limit - v_5; - } - // not, line 188 - { - v_6 = limit - cursor; - lab5: do { - // literal, line 188 - if (!(eq_s_b(1, "t"))) - { - break lab5; - } - return false; - } while (false); - cursor = limit - v_6; - } - // <-, line 188 - slice_from("hes"); - break; - case 29: - // (, line 189 - // <-, line 189 - slice_from("mis"); - break; - case 30: - // (, line 190 - // not, line 190 - { - v_7 = limit - cursor; - lab6: do { - // literal, line 190 - if (!(eq_s_b(1, "m"))) - { - break lab6; - } - return false; - } while (false); - cursor = limit - v_7; - } - // <-, line 190 - slice_from("ens"); - break; - case 31: - // (, line 192 - // <-, line 192 - slice_from("ers"); - break; - case 32: - // (, line 193 - // not, line 193 - { - v_8 = limit - cursor; - lab7: do { - // literal, line 193 - if (!(eq_s_b(1, "n"))) - { - break lab7; - } - return false; - } while (false); - cursor = limit - v_8; - } - // <-, line 193 - slice_from("es"); - break; - case 33: - // (, line 194 - // <-, line 194 - slice_from("ys"); - break; - case 34: - // (, line 195 - // <-, line 195 - slice_from("ys"); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - // (, line 200 - // backwards, line 202 - limit_backward = cursor; cursor = limit; - // (, line 202 - // do, line 203 - v_1 = limit - cursor; - lab0: do { - // call endings, line 203 - if (!r_endings()) - { - break lab0; - } - } while (false); - cursor = limit - v_1; - // do, line 204 - v_2 = limit - cursor; - lab1: do { - // call undouble, line 204 - if (!r_undouble()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 205 - v_3 = limit - cursor; - lab2: do { - // call respell, line 205 - if (!r_respell()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof LovinsStemmer; +public boolean r_L() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("u"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("x"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + { + int v_4 = limit - cursor; + lab2: { + if (!(eq_s_b("s"))) + { + break lab2; + } + { + int v_5 = limit - cursor; + lab3: { + if (!(eq_s_b("o"))) + { + break lab3; + } + break lab2; } + cursor = limit - v_5; + } + return false; + } + cursor = limit - v_4; + } + return true; +} - @Override - public int hashCode() { - return LovinsStemmer.class.getName().hashCode(); +public boolean r_M() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("a"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("c"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + { + int v_4 = limit - cursor; + lab2: { + if (!(eq_s_b("e"))) + { + break lab2; + } + return false; + } + cursor = limit - v_4; + } + { + int v_5 = limit - cursor; + lab3: { + if (!(eq_s_b("m"))) + { + break lab3; + } + return false; + } + cursor = limit - v_5; + } + return true; +} + +public boolean r_N() { + int v_1 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + lab0: { + int v_2 = limit - cursor; + lab1: { + { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("s"))) + { + break lab2; + } + break lab1; } + cursor = limit - v_3; + } + break lab0; + } + cursor = limit - v_2; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + } + return true; +} + +public boolean r_O() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("l"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("i"))) + { + return false; + } + } + return true; +} + +public boolean r_P() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("c"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + return true; +} + +public boolean r_Q() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + int v_2 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_2; + { + int v_3 = limit - cursor; + lab0: { + if (!(eq_s_b("l"))) + { + break lab0; + } + return false; + } + cursor = limit - v_3; + } + { + int v_4 = limit - cursor; + lab1: { + if (!(eq_s_b("n"))) + { + break lab1; + } + return false; + } + cursor = limit - v_4; + } + return true; +} + +public boolean r_R() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("n"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("r"))) + { + return false; + } + } + return true; +} + +public boolean r_S() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("dr"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("t"))) + { + return false; + } + { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("t"))) + { + break lab2; + } + return false; + } + cursor = limit - v_3; + } + } + return true; +} + +public boolean r_T() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("s"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("t"))) + { + return false; + } + { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("o"))) + { + break lab2; + } + return false; + } + cursor = limit - v_3; + } + } + return true; +} + +public boolean r_U() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("l"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + lab2: { + if (!(eq_s_b("m"))) + { + break lab2; + } + break lab0; + } + cursor = limit - v_2; + lab3: { + if (!(eq_s_b("n"))) + { + break lab3; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("r"))) + { + return false; + } + } + return true; +} + +public boolean r_V() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + if (!(eq_s_b("c"))) + { + return false; + } + return true; +} + +public boolean r_W() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("s"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("u"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + return true; +} + +public boolean r_X() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("l"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + lab2: { + if (!(eq_s_b("i"))) + { + break lab2; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("e"))) + { + return false; + } + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(eq_s_b("u"))) + { + return false; + } + } + return true; +} + +public boolean r_Y() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + if (!(eq_s_b("in"))) + { + return false; + } + return true; +} + +public boolean r_Z() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("f"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + return true; +} + +public boolean r_AA() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + if (find_among_b(a_0) == 0) + { + return false; + } + return true; +} + +public boolean r_BB() { + int v_1 = limit - cursor; + { + int c = cursor - 3; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + { + int v_2 = limit - cursor; + lab0: { + if (!(eq_s_b("met"))) + { + break lab0; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab1: { + if (!(eq_s_b("ryst"))) + { + break lab1; + } + return false; + } + cursor = limit - v_3; + } + return true; +} + +public boolean r_CC() { + int v_1 = limit - cursor; + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + cursor = limit - v_1; + if (!(eq_s_b("l"))) + { + return false; + } + return true; +} + +private boolean r_endings() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_undouble() { + int v_1 = limit - cursor; + if (find_among_b(a_2) == 0) + { + return false; + } + cursor = limit - v_1; + ket = cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + return true; +} + +private boolean r_respell() { + int among_var; + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("ief"); + break; + case 2: + slice_from("uc"); + break; + case 3: + slice_from("um"); + break; + case 4: + slice_from("rb"); + break; + case 5: + slice_from("ur"); + break; + case 6: + slice_from("ister"); + break; + case 7: + slice_from("meter"); + break; + case 8: + slice_from("olut"); + break; + case 9: + { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("a"))) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("i"))) + { + break lab1; + } + return false; + } + cursor = limit - v_2; + } + { + int v_3 = limit - cursor; + lab2: { + if (!(eq_s_b("o"))) + { + break lab2; + } + return false; + } + cursor = limit - v_3; + } + slice_from("l"); + break; + case 10: + slice_from("bic"); + break; + case 11: + slice_from("dic"); + break; + case 12: + slice_from("pic"); + break; + case 13: + slice_from("tic"); + break; + case 14: + slice_from("ac"); + break; + case 15: + slice_from("ec"); + break; + case 16: + slice_from("ic"); + break; + case 17: + slice_from("luc"); + break; + case 18: + slice_from("uas"); + break; + case 19: + slice_from("vas"); + break; + case 20: + slice_from("cis"); + break; + case 21: + slice_from("lis"); + break; + case 22: + slice_from("eris"); + break; + case 23: + slice_from("pans"); + break; + case 24: + { + int v_4 = limit - cursor; + lab3: { + if (!(eq_s_b("s"))) + { + break lab3; + } + return false; + } + cursor = limit - v_4; + } + slice_from("ens"); + break; + case 25: + slice_from("ons"); + break; + case 26: + slice_from("lus"); + break; + case 27: + slice_from("rus"); + break; + case 28: + { + int v_5 = limit - cursor; + lab4: { + if (!(eq_s_b("p"))) + { + break lab4; + } + return false; + } + cursor = limit - v_5; + } + { + int v_6 = limit - cursor; + lab5: { + if (!(eq_s_b("t"))) + { + break lab5; + } + return false; + } + cursor = limit - v_6; + } + slice_from("hes"); + break; + case 29: + slice_from("mis"); + break; + case 30: + { + int v_7 = limit - cursor; + lab6: { + if (!(eq_s_b("m"))) + { + break lab6; + } + return false; + } + cursor = limit - v_7; + } + slice_from("ens"); + break; + case 31: + slice_from("ers"); + break; + case 32: + { + int v_8 = limit - cursor; + lab7: { + if (!(eq_s_b("n"))) + { + break lab7; + } + return false; + } + cursor = limit - v_8; + } + slice_from("es"); + break; + case 33: + slice_from("ys"); + break; + } + return true; +} + +public boolean stem() { + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + r_endings(); + cursor = limit - v_1; + int v_2 = limit - cursor; + r_undouble(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_respell(); + cursor = limit - v_3; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof LovinsStemmer; +} + +@Override +public int hashCode() { + return LovinsStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NepaliStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NepaliStemmer.java new file mode 100644 index 00000000000..a5baae1e383 --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NepaliStemmer.java @@ -0,0 +1,319 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class NepaliStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("\u0932\u093E\u0907", -1, 1), + new Among("\u0932\u093E\u0908", -1, 1), + new Among("\u0938\u0901\u0917", -1, 1), + new Among("\u0938\u0902\u0917", -1, 1), + new Among("\u092E\u093E\u0930\u094D\u092B\u0924", -1, 1), + new Among("\u0930\u0924", -1, 1), + new Among("\u0915\u093E", -1, 2), + new Among("\u092E\u093E", -1, 1), + new Among("\u0926\u094D\u0935\u093E\u0930\u093E", -1, 1), + new Among("\u0915\u093F", -1, 2), + new Among("\u092A\u091B\u093F", -1, 1), + new Among("\u0915\u0940", -1, 2), + new Among("\u0932\u0947", -1, 1), + new Among("\u0915\u0948", -1, 2), + new Among("\u0938\u0901\u0917\u0948", -1, 1), + new Among("\u092E\u0948", -1, 1), + new Among("\u0915\u094B", -1, 2) +}; + +private final static Among a_1[] = { + new Among("\u0901", -1, -1), + new Among("\u0902", -1, -1), + new Among("\u0948", -1, -1) +}; + +private final static Among a_2[] = { + new Among("\u0901", -1, 1), + new Among("\u0902", -1, 1), + new Among("\u0948", -1, 2) +}; + +private final static Among a_3[] = { + new Among("\u0925\u093F\u090F", -1, 1), + new Among("\u091B", -1, 1), + new Among("\u0907\u091B", 1, 1), + new Among("\u090F\u091B", 1, 1), + new Among("\u093F\u091B", 1, 1), + new Among("\u0947\u091B", 1, 1), + new Among("\u0928\u0947\u091B", 5, 1), + new Among("\u0939\u0941\u0928\u0947\u091B", 6, 1), + new Among("\u0907\u0928\u094D\u091B", 1, 1), + new Among("\u093F\u0928\u094D\u091B", 1, 1), + new Among("\u0939\u0941\u0928\u094D\u091B", 1, 1), + new Among("\u090F\u0915\u093E", -1, 1), + new Among("\u0907\u090F\u0915\u093E", 11, 1), + new Among("\u093F\u090F\u0915\u093E", 11, 1), + new Among("\u0947\u0915\u093E", -1, 1), + new Among("\u0928\u0947\u0915\u093E", 14, 1), + new Among("\u0926\u093E", -1, 1), + new Among("\u0907\u0926\u093E", 16, 1), + new Among("\u093F\u0926\u093E", 16, 1), + new Among("\u0926\u0947\u0916\u093F", -1, 1), + new Among("\u092E\u093E\u0925\u093F", -1, 1), + new Among("\u090F\u0915\u0940", -1, 1), + new Among("\u0907\u090F\u0915\u0940", 21, 1), + new Among("\u093F\u090F\u0915\u0940", 21, 1), + new Among("\u0947\u0915\u0940", -1, 1), + new Among("\u0926\u0947\u0916\u0940", -1, 1), + new Among("\u0925\u0940", -1, 1), + new Among("\u0926\u0940", -1, 1), + new Among("\u091B\u0941", -1, 1), + new Among("\u090F\u091B\u0941", 28, 1), + new Among("\u0947\u091B\u0941", 28, 1), + new Among("\u0928\u0947\u091B\u0941", 30, 1), + new Among("\u0928\u0941", -1, 1), + new Among("\u0939\u0930\u0941", -1, 1), + new Among("\u0939\u0930\u0942", -1, 1), + new Among("\u091B\u0947", -1, 1), + new Among("\u0925\u0947", -1, 1), + new Among("\u0928\u0947", -1, 1), + new Among("\u090F\u0915\u0948", -1, 1), + new Among("\u0947\u0915\u0948", -1, 1), + new Among("\u0928\u0947\u0915\u0948", 39, 1), + new Among("\u0926\u0948", -1, 1), + new Among("\u0907\u0926\u0948", 41, 1), + new Among("\u093F\u0926\u0948", 41, 1), + new Among("\u090F\u0915\u094B", -1, 1), + new Among("\u0907\u090F\u0915\u094B", 44, 1), + new Among("\u093F\u090F\u0915\u094B", 44, 1), + new Among("\u0947\u0915\u094B", -1, 1), + new Among("\u0928\u0947\u0915\u094B", 47, 1), + new Among("\u0926\u094B", -1, 1), + new Among("\u0907\u0926\u094B", 49, 1), + new Among("\u093F\u0926\u094B", 49, 1), + new Among("\u092F\u094B", -1, 1), + new Among("\u0907\u092F\u094B", 52, 1), + new Among("\u092D\u092F\u094B", 52, 1), + new Among("\u093F\u092F\u094B", 52, 1), + new Among("\u0925\u093F\u092F\u094B", 55, 1), + new Among("\u0926\u093F\u092F\u094B", 55, 1), + new Among("\u0925\u094D\u092F\u094B", 52, 1), + new Among("\u091B\u094C", -1, 1), + new Among("\u0907\u091B\u094C", 59, 1), + new Among("\u090F\u091B\u094C", 59, 1), + new Among("\u093F\u091B\u094C", 59, 1), + new Among("\u0947\u091B\u094C", 59, 1), + new Among("\u0928\u0947\u091B\u094C", 63, 1), + new Among("\u092F\u094C", -1, 1), + new Among("\u0925\u093F\u092F\u094C", 65, 1), + new Among("\u091B\u094D\u092F\u094C", 65, 1), + new Among("\u0925\u094D\u092F\u094C", 65, 1), + new Among("\u091B\u0928\u094D", -1, 1), + new Among("\u0907\u091B\u0928\u094D", 69, 1), + new Among("\u090F\u091B\u0928\u094D", 69, 1), + new Among("\u093F\u091B\u0928\u094D", 69, 1), + new Among("\u0947\u091B\u0928\u094D", 69, 1), + new Among("\u0928\u0947\u091B\u0928\u094D", 73, 1), + new Among("\u0932\u093E\u0928\u094D", -1, 1), + new Among("\u091B\u093F\u0928\u094D", -1, 1), + new Among("\u0925\u093F\u0928\u094D", -1, 1), + new Among("\u092A\u0930\u094D", -1, 1), + new Among("\u0907\u0938\u094D", -1, 1), + new Among("\u0925\u093F\u0907\u0938\u094D", 79, 1), + new Among("\u091B\u0938\u094D", -1, 1), + new Among("\u0907\u091B\u0938\u094D", 81, 1), + new Among("\u090F\u091B\u0938\u094D", 81, 1), + new Among("\u093F\u091B\u0938\u094D", 81, 1), + new Among("\u0947\u091B\u0938\u094D", 81, 1), + new Among("\u0928\u0947\u091B\u0938\u094D", 85, 1), + new Among("\u093F\u0938\u094D", -1, 1), + new Among("\u0925\u093F\u0938\u094D", 87, 1), + new Among("\u091B\u0947\u0938\u094D", -1, 1), + new Among("\u0939\u094B\u0938\u094D", -1, 1) +}; + + + +private boolean r_remove_category_1() { + int among_var; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + lab0: { + int v_1 = limit - cursor; + lab1: { + lab2: { + int v_2 = limit - cursor; + lab3: { + if (!(eq_s_b("\u090F"))) + { + break lab3; + } + break lab2; + } + cursor = limit - v_2; + if (!(eq_s_b("\u0947"))) + { + break lab1; + } + } + break lab0; + } + cursor = limit - v_1; + slice_del(); + } + break; + } + return true; +} + +private boolean r_check_category_2() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + return true; +} + +private boolean r_remove_category_2() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("\u092F\u094C"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + lab2: { + if (!(eq_s_b("\u091B\u094C"))) + { + break lab2; + } + break lab0; + } + cursor = limit - v_1; + lab3: { + if (!(eq_s_b("\u0928\u094C"))) + { + break lab3; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("\u0925\u0947"))) + { + return false; + } + } + slice_del(); + break; + case 2: + if (!(eq_s_b("\u0924\u094D\u0930"))) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_remove_category_3() { + ket = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +public boolean stem() { + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + r_remove_category_1(); + cursor = limit - v_1; + int v_2 = limit - cursor; + lab0: { + while(true) + { + int v_3 = limit - cursor; + lab1: { + int v_4 = limit - cursor; + lab2: { + int v_5 = limit - cursor; + if (!r_check_category_2()) + { + break lab2; + } + cursor = limit - v_5; + if (!r_remove_category_2()) + { + break lab2; + } + } + cursor = limit - v_4; + if (!r_remove_category_3()) + { + break lab1; + } + continue; + } + cursor = limit - v_3; + break; + } + } + cursor = limit - v_2; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof NepaliStemmer; +} + +@Override +public int hashCode() { + return NepaliStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java index fb9ba11973e..228b63b4d49 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java @@ -1,376 +1,261 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class NorwegianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class NorwegianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("a", -1, 1), + new Among("e", -1, 1), + new Among("ede", 1, 1), + new Among("ande", 1, 1), + new Among("ende", 1, 1), + new Among("ane", 1, 1), + new Among("ene", 1, 1), + new Among("hetene", 6, 1), + new Among("erte", 1, 3), + new Among("en", -1, 1), + new Among("heten", 9, 1), + new Among("ar", -1, 1), + new Among("er", -1, 1), + new Among("heter", 12, 1), + new Among("s", -1, 2), + new Among("as", 14, 1), + new Among("es", 14, 1), + new Among("edes", 16, 1), + new Among("endes", 16, 1), + new Among("enes", 16, 1), + new Among("hetenes", 19, 1), + new Among("ens", 14, 1), + new Among("hetens", 21, 1), + new Among("ers", 14, 1), + new Among("ets", 14, 1), + new Among("et", -1, 1), + new Among("het", 25, 1), + new Among("ert", -1, 3), + new Among("ast", -1, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("dt", -1, -1), + new Among("vt", -1, -1) +}; - private final static Among a_0[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "ede", 1, 1, "", methodObject ), - new Among ( "ande", 1, 1, "", methodObject ), - new Among ( "ende", 1, 1, "", methodObject ), - new Among ( "ane", 1, 1, "", methodObject ), - new Among ( "ene", 1, 1, "", methodObject ), - new Among ( "hetene", 6, 1, "", methodObject ), - new Among ( "erte", 1, 3, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "heten", 9, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "heter", 12, 1, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "as", 14, 1, "", methodObject ), - new Among ( "es", 14, 1, "", methodObject ), - new Among ( "edes", 16, 1, "", methodObject ), - new Among ( "endes", 16, 1, "", methodObject ), - new Among ( "enes", 16, 1, "", methodObject ), - new Among ( "hetenes", 19, 1, "", methodObject ), - new Among ( "ens", 14, 1, "", methodObject ), - new Among ( "hetens", 21, 1, "", methodObject ), - new Among ( "ers", 14, 1, "", methodObject ), - new Among ( "ets", 14, 1, "", methodObject ), - new Among ( "et", -1, 1, "", methodObject ), - new Among ( "het", 25, 1, "", methodObject ), - new Among ( "ert", -1, 3, "", methodObject ), - new Among ( "ast", -1, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("leg", -1, 1), + new Among("eleg", 0, 1), + new Among("ig", -1, 1), + new Among("eig", 2, 1), + new Among("lig", 2, 1), + new Among("elig", 4, 1), + new Among("els", -1, 1), + new Among("lov", -1, 1), + new Among("elov", 7, 1), + new Among("slov", 7, 1), + new Among("hetslov", 9, 1) +}; - private final static Among a_1[] = { - new Among ( "dt", -1, -1, "", methodObject ), - new Among ( "vt", -1, -1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; - private final static Among a_2[] = { - new Among ( "leg", -1, 1, "", methodObject ), - new Among ( "eleg", 0, 1, "", methodObject ), - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "eig", 2, 1, "", methodObject ), - new Among ( "lig", 2, 1, "", methodObject ), - new Among ( "elig", 4, 1, "", methodObject ), - new Among ( "els", -1, 1, "", methodObject ), - new Among ( "lov", -1, 1, "", methodObject ), - new Among ( "elov", 7, 1, "", methodObject ), - new Among ( "slov", 7, 1, "", methodObject ), - new Among ( "hetslov", 9, 1, "", methodObject ) - }; +private static final char g_s_ending[] = {119, 125, 149, 1 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; +private int I_x; +private int I_p1; - private static final char g_s_ending[] = {119, 125, 149, 1 }; - private int I_x; - private int I_p1; +private boolean r_mark_regions() { + I_p1 = limit; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + I_x = cursor; + cursor = v_1; + golab0: while(true) + { + int v_2 = cursor; + lab1: { + if (!(in_grouping(g_v, 97, 248))) + { + break lab1; + } + cursor = v_2; + break golab0; + } + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 248))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < I_x)) + { + break lab4; + } + I_p1 = I_x; + } + return true; +} - private void copy_from(NorwegianStemmer other) { - I_x = other.I_x; - I_p1 = other.I_p1; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - // (, line 26 - I_p1 = limit; - // test, line 30 - v_1 = cursor; - // (, line 30 - // hop, line 30 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - // setmark x, line 30 - I_x = cursor; - cursor = v_1; - // goto, line 31 - golab0: while(true) - { - v_2 = cursor; - lab1: do { - if (!(in_grouping(g_v, 97, 248))) - { - break lab1; - } - cursor = v_2; - break golab0; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 31 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 248))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 31 - I_p1 = cursor; - // try, line 32 - lab4: do { - // (, line 32 - if (!(I_p1 < I_x)) - { - break lab4; - } - I_p1 = I_x; - } while (false); - return true; - } - - private boolean r_main_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - // (, line 37 - // setlimit, line 38 - v_1 = limit - cursor; - // tomark, line 38 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 38 - // [, line 38 - ket = cursor; - // substring, line 38 - among_var = find_among_b(a_0, 29); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 38 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 44 - // delete, line 44 - slice_del(); - break; - case 2: - // (, line 46 - // or, line 46 - lab0: do { - v_3 = limit - cursor; - lab1: do { - if (!(in_grouping_b(g_s_ending, 98, 122))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_3; - // (, line 46 - // literal, line 46 - if (!(eq_s_b(1, "k"))) - { - return false; - } - if (!(out_grouping_b(g_v, 97, 248))) - { - return false; - } - } while (false); - // delete, line 46 - slice_del(); - break; - case 3: - // (, line 48 - // <-, line 48 - slice_from("er"); - break; - } - return true; - } - - private boolean r_consonant_pair() { - int v_1; - int v_2; - int v_3; - // (, line 52 - // test, line 53 - v_1 = limit - cursor; - // (, line 53 - // setlimit, line 54 - v_2 = limit - cursor; - // tomark, line 54 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 54 - // [, line 54 - ket = cursor; - // substring, line 54 - if (find_among_b(a_1, 2) == 0) - { - limit_backward = v_3; - return false; - } - // ], line 54 - bra = cursor; - limit_backward = v_3; - cursor = limit - v_1; - // next, line 59 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 59 - bra = cursor; - // delete, line 59 - slice_del(); - return true; - } - - private boolean r_other_suffix() { - int among_var; - int v_1; - int v_2; - // (, line 62 - // setlimit, line 63 - v_1 = limit - cursor; - // tomark, line 63 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 63 - // [, line 63 - ket = cursor; - // substring, line 63 - among_var = find_among_b(a_2, 11); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 63 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 67 - // delete, line 67 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 72 - // do, line 74 - v_1 = cursor; - lab0: do { - // call mark_regions, line 74 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 75 - limit_backward = cursor; cursor = limit; - // (, line 75 - // do, line 76 - v_2 = limit - cursor; - lab1: do { - // call main_suffix, line 76 - if (!r_main_suffix()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 77 - v_3 = limit - cursor; - lab2: do { - // call consonant_pair, line 77 - if (!r_consonant_pair()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 78 - v_4 = limit - cursor; - lab3: do { - // call other_suffix, line 78 - if (!r_other_suffix()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof NorwegianStemmer; +private boolean r_main_suffix() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + lab0: { + int v_3 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_s_ending, 98, 122))) + { + break lab1; + } + break lab0; } - - @Override - public int hashCode() { - return NorwegianStemmer.class.getName().hashCode(); + cursor = limit - v_3; + if (!(eq_s_b("k"))) + { + return false; } + if (!(out_grouping_b(g_v, 97, 248))) + { + return false; + } + } + slice_del(); + break; + case 3: + slice_from("er"); + break; + } + return true; +} + +private boolean r_consonant_pair() { + int v_1 = limit - cursor; + if (cursor < I_p1) + { + return false; + } + int v_3 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_1) == 0) + { + limit_backward = v_3; + return false; + } + bra = cursor; + limit_backward = v_3; + cursor = limit - v_1; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + return true; +} + +private boolean r_other_suffix() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + if (find_among_b(a_2) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + slice_del(); + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_main_suffix(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_consonant_pair(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_other_suffix(); + cursor = limit - v_4; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof NorwegianStemmer; +} + +@Override +public int hashCode() { + return NorwegianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java index f7661500dfc..d4e300f784b 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java @@ -1,924 +1,667 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class PorterStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class PorterStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("s", -1, 3), + new Among("ies", 0, 2), + new Among("sses", 0, 1), + new Among("ss", 0, -1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 3), + new Among("bb", 0, 2), + new Among("dd", 0, 2), + new Among("ff", 0, 2), + new Among("gg", 0, 2), + new Among("bl", 0, 1), + new Among("mm", 0, 2), + new Among("nn", 0, 2), + new Among("pp", 0, 2), + new Among("rr", 0, 2), + new Among("at", 0, 1), + new Among("tt", 0, 2), + new Among("iz", 0, 1) +}; - private final static Among a_0[] = { - new Among ( "s", -1, 3, "", methodObject ), - new Among ( "ies", 0, 2, "", methodObject ), - new Among ( "sses", 0, 1, "", methodObject ), - new Among ( "ss", 0, -1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ed", -1, 2), + new Among("eed", 0, 1), + new Among("ing", -1, 2) +}; - private final static Among a_1[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "bb", 0, 2, "", methodObject ), - new Among ( "dd", 0, 2, "", methodObject ), - new Among ( "ff", 0, 2, "", methodObject ), - new Among ( "gg", 0, 2, "", methodObject ), - new Among ( "bl", 0, 1, "", methodObject ), - new Among ( "mm", 0, 2, "", methodObject ), - new Among ( "nn", 0, 2, "", methodObject ), - new Among ( "pp", 0, 2, "", methodObject ), - new Among ( "rr", 0, 2, "", methodObject ), - new Among ( "at", 0, 1, "", methodObject ), - new Among ( "tt", 0, 2, "", methodObject ), - new Among ( "iz", 0, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("anci", -1, 3), + new Among("enci", -1, 2), + new Among("abli", -1, 4), + new Among("eli", -1, 6), + new Among("alli", -1, 9), + new Among("ousli", -1, 11), + new Among("entli", -1, 5), + new Among("aliti", -1, 9), + new Among("biliti", -1, 13), + new Among("iviti", -1, 12), + new Among("tional", -1, 1), + new Among("ational", 10, 8), + new Among("alism", -1, 9), + new Among("ation", -1, 8), + new Among("ization", 13, 7), + new Among("izer", -1, 7), + new Among("ator", -1, 8), + new Among("iveness", -1, 12), + new Among("fulness", -1, 10), + new Among("ousness", -1, 11) +}; - private final static Among a_2[] = { - new Among ( "ed", -1, 2, "", methodObject ), - new Among ( "eed", 0, 1, "", methodObject ), - new Among ( "ing", -1, 2, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("icate", -1, 2), + new Among("ative", -1, 3), + new Among("alize", -1, 1), + new Among("iciti", -1, 2), + new Among("ical", -1, 2), + new Among("ful", -1, 3), + new Among("ness", -1, 3) +}; - private final static Among a_3[] = { - new Among ( "anci", -1, 3, "", methodObject ), - new Among ( "enci", -1, 2, "", methodObject ), - new Among ( "abli", -1, 4, "", methodObject ), - new Among ( "eli", -1, 6, "", methodObject ), - new Among ( "alli", -1, 9, "", methodObject ), - new Among ( "ousli", -1, 12, "", methodObject ), - new Among ( "entli", -1, 5, "", methodObject ), - new Among ( "aliti", -1, 10, "", methodObject ), - new Among ( "biliti", -1, 14, "", methodObject ), - new Among ( "iviti", -1, 13, "", methodObject ), - new Among ( "tional", -1, 1, "", methodObject ), - new Among ( "ational", 10, 8, "", methodObject ), - new Among ( "alism", -1, 10, "", methodObject ), - new Among ( "ation", -1, 8, "", methodObject ), - new Among ( "ization", 13, 7, "", methodObject ), - new Among ( "izer", -1, 7, "", methodObject ), - new Among ( "ator", -1, 8, "", methodObject ), - new Among ( "iveness", -1, 13, "", methodObject ), - new Among ( "fulness", -1, 11, "", methodObject ), - new Among ( "ousness", -1, 12, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ic", -1, 1), + new Among("ance", -1, 1), + new Among("ence", -1, 1), + new Among("able", -1, 1), + new Among("ible", -1, 1), + new Among("ate", -1, 1), + new Among("ive", -1, 1), + new Among("ize", -1, 1), + new Among("iti", -1, 1), + new Among("al", -1, 1), + new Among("ism", -1, 1), + new Among("ion", -1, 2), + new Among("er", -1, 1), + new Among("ous", -1, 1), + new Among("ant", -1, 1), + new Among("ent", -1, 1), + new Among("ment", 15, 1), + new Among("ement", 16, 1), + new Among("ou", -1, 1) +}; - private final static Among a_4[] = { - new Among ( "icate", -1, 2, "", methodObject ), - new Among ( "ative", -1, 3, "", methodObject ), - new Among ( "alize", -1, 1, "", methodObject ), - new Among ( "iciti", -1, 2, "", methodObject ), - new Among ( "ical", -1, 2, "", methodObject ), - new Among ( "ful", -1, 3, "", methodObject ), - new Among ( "ness", -1, 3, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1 }; - private final static Among a_5[] = { - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "ance", -1, 1, "", methodObject ), - new Among ( "ence", -1, 1, "", methodObject ), - new Among ( "able", -1, 1, "", methodObject ), - new Among ( "ible", -1, 1, "", methodObject ), - new Among ( "ate", -1, 1, "", methodObject ), - new Among ( "ive", -1, 1, "", methodObject ), - new Among ( "ize", -1, 1, "", methodObject ), - new Among ( "iti", -1, 1, "", methodObject ), - new Among ( "al", -1, 1, "", methodObject ), - new Among ( "ism", -1, 1, "", methodObject ), - new Among ( "ion", -1, 2, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "ous", -1, 1, "", methodObject ), - new Among ( "ant", -1, 1, "", methodObject ), - new Among ( "ent", -1, 1, "", methodObject ), - new Among ( "ment", 15, 1, "", methodObject ), - new Among ( "ement", 16, 1, "", methodObject ), - new Among ( "ou", -1, 1, "", methodObject ) - }; +private static final char g_v_WXY[] = {1, 17, 65, 208, 1 }; - private static final char g_v[] = {17, 65, 16, 1 }; +private boolean B_Y_found; +private int I_p2; +private int I_p1; - private static final char g_v_WXY[] = {1, 17, 65, 208, 1 }; - private boolean B_Y_found; - private int I_p2; - private int I_p1; +private boolean r_shortv() { + if (!(out_grouping_b(g_v_WXY, 89, 121))) + { + return false; + } + if (!(in_grouping_b(g_v, 97, 121))) + { + return false; + } + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + return true; +} - private void copy_from(PorterStemmer other) { - B_Y_found = other.B_Y_found; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - super.copy_from(other); - } +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} - private boolean r_shortv() { - // (, line 19 - if (!(out_grouping_b(g_v_WXY, 89, 121))) - { - return false; - } - if (!(in_grouping_b(g_v, 97, 121))) - { - return false; - } - if (!(out_grouping_b(g_v, 97, 121))) - { - return false; - } - return true; - } +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } +private boolean r_Step_1a() { + int among_var; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("ss"); + break; + case 2: + slice_from("i"); + break; + case 3: + slice_del(); + break; + } + return true; +} - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_Step_1a() { - int among_var; - // (, line 24 - // [, line 25 - ket = cursor; - // substring, line 25 - among_var = find_among_b(a_0, 4); - if (among_var == 0) - { - return false; - } - // ], line 25 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 26 - // <-, line 26 - slice_from("ss"); - break; - case 2: - // (, line 27 - // <-, line 27 - slice_from("i"); - break; - case 3: - // (, line 29 - // delete, line 29 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_1b() { - int among_var; - int v_1; - int v_3; - int v_4; - // (, line 33 - // [, line 34 - ket = cursor; - // substring, line 34 - among_var = find_among_b(a_2, 3); - if (among_var == 0) - { - return false; - } - // ], line 34 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 35 - // call R1, line 35 - if (!r_R1()) - { - return false; - } - // <-, line 35 - slice_from("ee"); - break; - case 2: - // (, line 37 - // test, line 38 - v_1 = limit - cursor; - // gopast, line 38 - golab0: while(true) - { - lab1: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab1; - } - break golab0; - } while (false); - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - cursor = limit - v_1; - // delete, line 38 - slice_del(); - // test, line 39 - v_3 = limit - cursor; - // substring, line 39 - among_var = find_among_b(a_1, 13); - if (among_var == 0) - { - return false; - } - cursor = limit - v_3; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 41 - // <+, line 41 - { - int c = cursor; - insert(cursor, cursor, "e"); - cursor = c; - } - break; - case 2: - // (, line 44 - // [, line 44 - ket = cursor; - // next, line 44 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // ], line 44 - bra = cursor; - // delete, line 44 - slice_del(); - break; - case 3: - // (, line 45 - // atmark, line 45 - if (cursor != I_p1) - { - return false; - } - // test, line 45 - v_4 = limit - cursor; - // call shortv, line 45 - if (!r_shortv()) - { - return false; - } - cursor = limit - v_4; - // <+, line 45 - { - int c = cursor; - insert(cursor, cursor, "e"); - cursor = c; - } - break; - } - break; - } - return true; - } - - private boolean r_Step_1c() { - int v_1; - // (, line 51 - // [, line 52 - ket = cursor; - // or, line 52 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 52 - if (!(eq_s_b(1, "y"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 52 - if (!(eq_s_b(1, "Y"))) - { - return false; - } - } while (false); - // ], line 52 - bra = cursor; - // gopast, line 53 - golab2: while(true) - { - lab3: do { - if (!(in_grouping_b(g_v, 97, 121))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - // <-, line 54 - slice_from("i"); - return true; - } - - private boolean r_Step_2() { - int among_var; - // (, line 57 - // [, line 58 - ket = cursor; - // substring, line 58 - among_var = find_among_b(a_3, 20); - if (among_var == 0) - { - return false; - } - // ], line 58 - bra = cursor; - // call R1, line 58 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 59 - // <-, line 59 - slice_from("tion"); - break; - case 2: - // (, line 60 - // <-, line 60 - slice_from("ence"); - break; - case 3: - // (, line 61 - // <-, line 61 - slice_from("ance"); - break; - case 4: - // (, line 62 - // <-, line 62 - slice_from("able"); - break; - case 5: - // (, line 63 - // <-, line 63 - slice_from("ent"); - break; - case 6: - // (, line 64 - // <-, line 64 - slice_from("e"); - break; - case 7: - // (, line 66 - // <-, line 66 - slice_from("ize"); - break; - case 8: - // (, line 68 - // <-, line 68 - slice_from("ate"); - break; - case 9: - // (, line 69 - // <-, line 69 - slice_from("al"); - break; - case 10: - // (, line 71 - // <-, line 71 - slice_from("al"); - break; - case 11: - // (, line 72 - // <-, line 72 - slice_from("ful"); - break; - case 12: - // (, line 74 - // <-, line 74 - slice_from("ous"); - break; - case 13: - // (, line 76 - // <-, line 76 - slice_from("ive"); - break; - case 14: - // (, line 77 - // <-, line 77 - slice_from("ble"); - break; - } - return true; - } - - private boolean r_Step_3() { - int among_var; - // (, line 81 - // [, line 82 - ket = cursor; - // substring, line 82 - among_var = find_among_b(a_4, 7); - if (among_var == 0) - { - return false; - } - // ], line 82 - bra = cursor; - // call R1, line 82 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 83 - // <-, line 83 - slice_from("al"); - break; - case 2: - // (, line 85 - // <-, line 85 - slice_from("ic"); - break; - case 3: - // (, line 87 - // delete, line 87 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_4() { - int among_var; - int v_1; - // (, line 91 - // [, line 92 - ket = cursor; - // substring, line 92 - among_var = find_among_b(a_5, 19); - if (among_var == 0) - { - return false; - } - // ], line 92 - bra = cursor; - // call R2, line 92 - if (!r_R2()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 95 - // delete, line 95 - slice_del(); - break; - case 2: - // (, line 96 - // or, line 96 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 96 - if (!(eq_s_b(1, "s"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 96 - if (!(eq_s_b(1, "t"))) - { - return false; - } - } while (false); - // delete, line 96 - slice_del(); - break; - } - return true; - } - - private boolean r_Step_5a() { - int v_1; - int v_2; - // (, line 100 - // [, line 101 - ket = cursor; - // literal, line 101 - if (!(eq_s_b(1, "e"))) - { - return false; - } - // ], line 101 - bra = cursor; - // or, line 102 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // call R2, line 102 - if (!r_R2()) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 102 - // call R1, line 102 - if (!r_R1()) - { - return false; - } - // not, line 102 - { - v_2 = limit - cursor; - lab2: do { - // call shortv, line 102 - if (!r_shortv()) - { - break lab2; - } - return false; - } while (false); - cursor = limit - v_2; - } - } while (false); - // delete, line 103 - slice_del(); - return true; - } - - private boolean r_Step_5b() { - // (, line 106 - // [, line 107 - ket = cursor; - // literal, line 107 - if (!(eq_s_b(1, "l"))) - { - return false; - } - // ], line 107 - bra = cursor; - // call R2, line 108 - if (!r_R2()) - { - return false; - } - // literal, line 108 - if (!(eq_s_b(1, "l"))) - { - return false; - } - // delete, line 109 - slice_del(); - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_10; - int v_11; - int v_12; - int v_13; - int v_14; - int v_15; - int v_16; - int v_17; - int v_18; - int v_19; - int v_20; - // (, line 113 - // unset Y_found, line 115 - B_Y_found = false; - // do, line 116 - v_1 = cursor; - lab0: do { - // (, line 116 - // [, line 116 - bra = cursor; - // literal, line 116 - if (!(eq_s(1, "y"))) - { - break lab0; - } - // ], line 116 - ket = cursor; - // <-, line 116 - slice_from("Y"); - // set Y_found, line 116 - B_Y_found = true; - } while (false); - cursor = v_1; - // do, line 117 - v_2 = cursor; - lab1: do { - // repeat, line 117 - replab2: while(true) - { - v_3 = cursor; - lab3: do { - // (, line 117 - // goto, line 117 - golab4: while(true) - { - v_4 = cursor; - lab5: do { - // (, line 117 - if (!(in_grouping(g_v, 97, 121))) - { - break lab5; - } - // [, line 117 - bra = cursor; - // literal, line 117 - if (!(eq_s(1, "y"))) - { - break lab5; - } - // ], line 117 - ket = cursor; - cursor = v_4; - break golab4; - } while (false); - cursor = v_4; - if (cursor >= limit) - { - break lab3; - } - cursor++; - } - // <-, line 117 - slice_from("Y"); - // set Y_found, line 117 - B_Y_found = true; - continue replab2; - } while (false); - cursor = v_3; - break replab2; - } - } while (false); - cursor = v_2; - I_p1 = limit; - I_p2 = limit; - // do, line 121 - v_5 = cursor; - lab6: do { - // (, line 121 - // gopast, line 122 - golab7: while(true) - { - lab8: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // gopast, line 122 - golab9: while(true) - { - lab10: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab10; - } - break golab9; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // setmark p1, line 122 - I_p1 = cursor; - // gopast, line 123 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 121))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // gopast, line 123 - golab13: while(true) - { - lab14: do { - if (!(out_grouping(g_v, 97, 121))) - { - break lab14; - } - break golab13; - } while (false); - if (cursor >= limit) - { - break lab6; - } - cursor++; - } - // setmark p2, line 123 - I_p2 = cursor; - } while (false); - cursor = v_5; - // backwards, line 126 - limit_backward = cursor; cursor = limit; - // (, line 126 - // do, line 127 - v_10 = limit - cursor; - lab15: do { - // call Step_1a, line 127 - if (!r_Step_1a()) - { - break lab15; - } - } while (false); - cursor = limit - v_10; - // do, line 128 - v_11 = limit - cursor; - lab16: do { - // call Step_1b, line 128 - if (!r_Step_1b()) - { - break lab16; - } - } while (false); - cursor = limit - v_11; - // do, line 129 - v_12 = limit - cursor; - lab17: do { - // call Step_1c, line 129 - if (!r_Step_1c()) - { - break lab17; - } - } while (false); - cursor = limit - v_12; - // do, line 130 - v_13 = limit - cursor; - lab18: do { - // call Step_2, line 130 - if (!r_Step_2()) - { - break lab18; - } - } while (false); - cursor = limit - v_13; - // do, line 131 - v_14 = limit - cursor; - lab19: do { - // call Step_3, line 131 - if (!r_Step_3()) - { - break lab19; - } - } while (false); - cursor = limit - v_14; - // do, line 132 - v_15 = limit - cursor; - lab20: do { - // call Step_4, line 132 - if (!r_Step_4()) - { - break lab20; - } - } while (false); - cursor = limit - v_15; - // do, line 133 - v_16 = limit - cursor; - lab21: do { - // call Step_5a, line 133 - if (!r_Step_5a()) - { - break lab21; - } - } while (false); - cursor = limit - v_16; - // do, line 134 - v_17 = limit - cursor; - lab22: do { - // call Step_5b, line 134 - if (!r_Step_5b()) - { - break lab22; - } - } while (false); - cursor = limit - v_17; - cursor = limit_backward; // do, line 137 - v_18 = cursor; - lab23: do { - // (, line 137 - // Boolean test Y_found, line 137 - if (!(B_Y_found)) - { - break lab23; - } - // repeat, line 137 - replab24: while(true) - { - v_19 = cursor; - lab25: do { - // (, line 137 - // goto, line 137 - golab26: while(true) - { - v_20 = cursor; - lab27: do { - // (, line 137 - // [, line 137 - bra = cursor; - // literal, line 137 - if (!(eq_s(1, "Y"))) - { - break lab27; - } - // ], line 137 - ket = cursor; - cursor = v_20; - break golab26; - } while (false); - cursor = v_20; - if (cursor >= limit) - { - break lab25; - } - cursor++; - } - // <-, line 137 - slice_from("y"); - continue replab24; - } while (false); - cursor = v_19; - break replab24; - } - } while (false); - cursor = v_18; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof PorterStemmer; +private boolean r_Step_1b() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + slice_from("ee"); + break; + case 2: + int v_1 = limit - cursor; + golab0: while(true) + { + lab1: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break golab0; } - - @Override - public int hashCode() { - return PorterStemmer.class.getName().hashCode(); + if (cursor <= limit_backward) + { + return false; } + cursor--; + } + cursor = limit - v_1; + slice_del(); + int v_3 = limit - cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + cursor = limit - v_3; + switch (among_var) { + case 1: + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + case 2: + ket = cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + bra = cursor; + slice_del(); + break; + case 3: + if (cursor != I_p1) + { + return false; + } + int v_4 = limit - cursor; + if (!r_shortv()) + { + return false; + } + cursor = limit - v_4; + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + } + break; + } + return true; +} + +private boolean r_Step_1c() { + ket = cursor; + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("y"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("Y"))) + { + return false; + } + } + bra = cursor; + golab2: while(true) + { + lab3: { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab3; + } + break golab2; + } + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + slice_from("i"); + return true; +} + +private boolean r_Step_2() { + int among_var; + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("tion"); + break; + case 2: + slice_from("ence"); + break; + case 3: + slice_from("ance"); + break; + case 4: + slice_from("able"); + break; + case 5: + slice_from("ent"); + break; + case 6: + slice_from("e"); + break; + case 7: + slice_from("ize"); + break; + case 8: + slice_from("ate"); + break; + case 9: + slice_from("al"); + break; + case 10: + slice_from("ful"); + break; + case 11: + slice_from("ous"); + break; + case 12: + slice_from("ive"); + break; + case 13: + slice_from("ble"); + break; + } + return true; +} + +private boolean r_Step_3() { + int among_var; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("al"); + break; + case 2: + slice_from("ic"); + break; + case 3: + slice_del(); + break; + } + return true; +} + +private boolean r_Step_4() { + int among_var; + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("s"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("t"))) + { + return false; + } + } + slice_del(); + break; + } + return true; +} + +private boolean r_Step_5a() { + ket = cursor; + if (!(eq_s_b("e"))) + { + return false; + } + bra = cursor; + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!r_R2()) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!r_R1()) + { + return false; + } + { + int v_2 = limit - cursor; + lab2: { + if (!r_shortv()) + { + break lab2; + } + return false; + } + cursor = limit - v_2; + } + } + slice_del(); + return true; +} + +private boolean r_Step_5b() { + ket = cursor; + if (!(eq_s_b("l"))) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + if (!(eq_s_b("l"))) + { + return false; + } + slice_del(); + return true; +} + +public boolean stem() { + B_Y_found = false; + int v_1 = cursor; + lab0: { + bra = cursor; + if (!(eq_s("y"))) + { + break lab0; + } + ket = cursor; + slice_from("Y"); + B_Y_found = true; + } + cursor = v_1; + int v_2 = cursor; + lab1: { + while(true) + { + int v_3 = cursor; + lab2: { + golab3: while(true) + { + int v_4 = cursor; + lab4: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab4; + } + bra = cursor; + if (!(eq_s("y"))) + { + break lab4; + } + ket = cursor; + cursor = v_4; + break golab3; + } + cursor = v_4; + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + slice_from("Y"); + B_Y_found = true; + continue; + } + cursor = v_3; + break; + } + } + cursor = v_2; + I_p1 = limit; + I_p2 = limit; + int v_5 = cursor; + lab5: { + golab6: while(true) + { + lab7: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab7; + } + break golab6; + } + if (cursor >= limit) + { + break lab5; + } + cursor++; + } + golab8: while(true) + { + lab9: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab9; + } + break golab8; + } + if (cursor >= limit) + { + break lab5; + } + cursor++; + } + I_p1 = cursor; + golab10: while(true) + { + lab11: { + if (!(in_grouping(g_v, 97, 121))) + { + break lab11; + } + break golab10; + } + if (cursor >= limit) + { + break lab5; + } + cursor++; + } + golab12: while(true) + { + lab13: { + if (!(out_grouping(g_v, 97, 121))) + { + break lab13; + } + break golab12; + } + if (cursor >= limit) + { + break lab5; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_5; + limit_backward = cursor; + cursor = limit; + int v_10 = limit - cursor; + r_Step_1a(); + cursor = limit - v_10; + int v_11 = limit - cursor; + r_Step_1b(); + cursor = limit - v_11; + int v_12 = limit - cursor; + r_Step_1c(); + cursor = limit - v_12; + int v_13 = limit - cursor; + r_Step_2(); + cursor = limit - v_13; + int v_14 = limit - cursor; + r_Step_3(); + cursor = limit - v_14; + int v_15 = limit - cursor; + r_Step_4(); + cursor = limit - v_15; + int v_16 = limit - cursor; + r_Step_5a(); + cursor = limit - v_16; + int v_17 = limit - cursor; + r_Step_5b(); + cursor = limit - v_17; + cursor = limit_backward; + int v_18 = cursor; + lab14: { + if (!(B_Y_found)) + { + break lab14; + } + while(true) + { + int v_19 = cursor; + lab15: { + golab16: while(true) + { + int v_20 = cursor; + lab17: { + bra = cursor; + if (!(eq_s("Y"))) + { + break lab17; + } + ket = cursor; + cursor = v_20; + break golab16; + } + cursor = v_20; + if (cursor >= limit) + { + break lab15; + } + cursor++; + } + slice_from("y"); + continue; + } + cursor = v_19; + break; + } + } + cursor = v_18; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof PorterStemmer; +} + +@Override +public int hashCode() { + return PorterStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PortugueseStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PortugueseStemmer.java index d37c0347ab8..18d02d31212 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PortugueseStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PortugueseStemmer.java @@ -1,1134 +1,851 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class PortugueseStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class PortugueseStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 3), + new Among("\u00E3", 0, 1), + new Among("\u00F5", 0, 2) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("", -1, 3), + new Among("a~", 0, 1), + new Among("o~", 0, 2) +}; - private final static Among a_0[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "\u00E3", 0, 1, "", methodObject ), - new Among ( "\u00F5", 0, 2, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ic", -1, -1), + new Among("ad", -1, -1), + new Among("os", -1, -1), + new Among("iv", -1, 1) +}; - private final static Among a_1[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "a~", 0, 1, "", methodObject ), - new Among ( "o~", 0, 2, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ante", -1, 1), + new Among("avel", -1, 1), + new Among("\u00EDvel", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "ic", -1, -1, "", methodObject ), - new Among ( "ad", -1, -1, "", methodObject ), - new Among ( "os", -1, -1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ic", -1, 1), + new Among("abil", -1, 1), + new Among("iv", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "ante", -1, 1, "", methodObject ), - new Among ( "avel", -1, 1, "", methodObject ), - new Among ( "\u00EDvel", -1, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ica", -1, 1), + new Among("\u00E2ncia", -1, 1), + new Among("\u00EAncia", -1, 4), + new Among("logia", -1, 2), + new Among("ira", -1, 9), + new Among("adora", -1, 1), + new Among("osa", -1, 1), + new Among("ista", -1, 1), + new Among("iva", -1, 8), + new Among("eza", -1, 1), + new Among("idade", -1, 7), + new Among("ante", -1, 1), + new Among("mente", -1, 6), + new Among("amente", 12, 5), + new Among("\u00E1vel", -1, 1), + new Among("\u00EDvel", -1, 1), + new Among("ico", -1, 1), + new Among("ismo", -1, 1), + new Among("oso", -1, 1), + new Among("amento", -1, 1), + new Among("imento", -1, 1), + new Among("ivo", -1, 8), + new Among("a\u00E7a~o", -1, 1), + new Among("u\u00E7a~o", -1, 3), + new Among("ador", -1, 1), + new Among("icas", -1, 1), + new Among("\u00EAncias", -1, 4), + new Among("logias", -1, 2), + new Among("iras", -1, 9), + new Among("adoras", -1, 1), + new Among("osas", -1, 1), + new Among("istas", -1, 1), + new Among("ivas", -1, 8), + new Among("ezas", -1, 1), + new Among("idades", -1, 7), + new Among("adores", -1, 1), + new Among("antes", -1, 1), + new Among("a\u00E7o~es", -1, 1), + new Among("u\u00E7o~es", -1, 3), + new Among("icos", -1, 1), + new Among("ismos", -1, 1), + new Among("osos", -1, 1), + new Among("amentos", -1, 1), + new Among("imentos", -1, 1), + new Among("ivos", -1, 8) +}; - private final static Among a_4[] = { - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "abil", -1, 1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("ada", -1, 1), + new Among("ida", -1, 1), + new Among("ia", -1, 1), + new Among("aria", 2, 1), + new Among("eria", 2, 1), + new Among("iria", 2, 1), + new Among("ara", -1, 1), + new Among("era", -1, 1), + new Among("ira", -1, 1), + new Among("ava", -1, 1), + new Among("asse", -1, 1), + new Among("esse", -1, 1), + new Among("isse", -1, 1), + new Among("aste", -1, 1), + new Among("este", -1, 1), + new Among("iste", -1, 1), + new Among("ei", -1, 1), + new Among("arei", 16, 1), + new Among("erei", 16, 1), + new Among("irei", 16, 1), + new Among("am", -1, 1), + new Among("iam", 20, 1), + new Among("ariam", 21, 1), + new Among("eriam", 21, 1), + new Among("iriam", 21, 1), + new Among("aram", 20, 1), + new Among("eram", 20, 1), + new Among("iram", 20, 1), + new Among("avam", 20, 1), + new Among("em", -1, 1), + new Among("arem", 29, 1), + new Among("erem", 29, 1), + new Among("irem", 29, 1), + new Among("assem", 29, 1), + new Among("essem", 29, 1), + new Among("issem", 29, 1), + new Among("ado", -1, 1), + new Among("ido", -1, 1), + new Among("ando", -1, 1), + new Among("endo", -1, 1), + new Among("indo", -1, 1), + new Among("ara~o", -1, 1), + new Among("era~o", -1, 1), + new Among("ira~o", -1, 1), + new Among("ar", -1, 1), + new Among("er", -1, 1), + new Among("ir", -1, 1), + new Among("as", -1, 1), + new Among("adas", 47, 1), + new Among("idas", 47, 1), + new Among("ias", 47, 1), + new Among("arias", 50, 1), + new Among("erias", 50, 1), + new Among("irias", 50, 1), + new Among("aras", 47, 1), + new Among("eras", 47, 1), + new Among("iras", 47, 1), + new Among("avas", 47, 1), + new Among("es", -1, 1), + new Among("ardes", 58, 1), + new Among("erdes", 58, 1), + new Among("irdes", 58, 1), + new Among("ares", 58, 1), + new Among("eres", 58, 1), + new Among("ires", 58, 1), + new Among("asses", 58, 1), + new Among("esses", 58, 1), + new Among("isses", 58, 1), + new Among("astes", 58, 1), + new Among("estes", 58, 1), + new Among("istes", 58, 1), + new Among("is", -1, 1), + new Among("ais", 71, 1), + new Among("eis", 71, 1), + new Among("areis", 73, 1), + new Among("ereis", 73, 1), + new Among("ireis", 73, 1), + new Among("\u00E1reis", 73, 1), + new Among("\u00E9reis", 73, 1), + new Among("\u00EDreis", 73, 1), + new Among("\u00E1sseis", 73, 1), + new Among("\u00E9sseis", 73, 1), + new Among("\u00EDsseis", 73, 1), + new Among("\u00E1veis", 73, 1), + new Among("\u00EDeis", 73, 1), + new Among("ar\u00EDeis", 84, 1), + new Among("er\u00EDeis", 84, 1), + new Among("ir\u00EDeis", 84, 1), + new Among("ados", -1, 1), + new Among("idos", -1, 1), + new Among("amos", -1, 1), + new Among("\u00E1ramos", 90, 1), + new Among("\u00E9ramos", 90, 1), + new Among("\u00EDramos", 90, 1), + new Among("\u00E1vamos", 90, 1), + new Among("\u00EDamos", 90, 1), + new Among("ar\u00EDamos", 95, 1), + new Among("er\u00EDamos", 95, 1), + new Among("ir\u00EDamos", 95, 1), + new Among("emos", -1, 1), + new Among("aremos", 99, 1), + new Among("eremos", 99, 1), + new Among("iremos", 99, 1), + new Among("\u00E1ssemos", 99, 1), + new Among("\u00EAssemos", 99, 1), + new Among("\u00EDssemos", 99, 1), + new Among("imos", -1, 1), + new Among("armos", -1, 1), + new Among("ermos", -1, 1), + new Among("irmos", -1, 1), + new Among("\u00E1mos", -1, 1), + new Among("ar\u00E1s", -1, 1), + new Among("er\u00E1s", -1, 1), + new Among("ir\u00E1s", -1, 1), + new Among("eu", -1, 1), + new Among("iu", -1, 1), + new Among("ou", -1, 1), + new Among("ar\u00E1", -1, 1), + new Among("er\u00E1", -1, 1), + new Among("ir\u00E1", -1, 1) +}; - private final static Among a_5[] = { - new Among ( "ica", -1, 1, "", methodObject ), - new Among ( "\u00E2ncia", -1, 1, "", methodObject ), - new Among ( "\u00EAncia", -1, 4, "", methodObject ), - new Among ( "ira", -1, 9, "", methodObject ), - new Among ( "adora", -1, 1, "", methodObject ), - new Among ( "osa", -1, 1, "", methodObject ), - new Among ( "ista", -1, 1, "", methodObject ), - new Among ( "iva", -1, 8, "", methodObject ), - new Among ( "eza", -1, 1, "", methodObject ), - new Among ( "log\u00EDa", -1, 2, "", methodObject ), - new Among ( "idade", -1, 7, "", methodObject ), - new Among ( "ante", -1, 1, "", methodObject ), - new Among ( "mente", -1, 6, "", methodObject ), - new Among ( "amente", 12, 5, "", methodObject ), - new Among ( "\u00E1vel", -1, 1, "", methodObject ), - new Among ( "\u00EDvel", -1, 1, "", methodObject ), - new Among ( "uci\u00F3n", -1, 3, "", methodObject ), - new Among ( "ico", -1, 1, "", methodObject ), - new Among ( "ismo", -1, 1, "", methodObject ), - new Among ( "oso", -1, 1, "", methodObject ), - new Among ( "amento", -1, 1, "", methodObject ), - new Among ( "imento", -1, 1, "", methodObject ), - new Among ( "ivo", -1, 8, "", methodObject ), - new Among ( "a\u00E7a~o", -1, 1, "", methodObject ), - new Among ( "ador", -1, 1, "", methodObject ), - new Among ( "icas", -1, 1, "", methodObject ), - new Among ( "\u00EAncias", -1, 4, "", methodObject ), - new Among ( "iras", -1, 9, "", methodObject ), - new Among ( "adoras", -1, 1, "", methodObject ), - new Among ( "osas", -1, 1, "", methodObject ), - new Among ( "istas", -1, 1, "", methodObject ), - new Among ( "ivas", -1, 8, "", methodObject ), - new Among ( "ezas", -1, 1, "", methodObject ), - new Among ( "log\u00EDas", -1, 2, "", methodObject ), - new Among ( "idades", -1, 7, "", methodObject ), - new Among ( "uciones", -1, 3, "", methodObject ), - new Among ( "adores", -1, 1, "", methodObject ), - new Among ( "antes", -1, 1, "", methodObject ), - new Among ( "a\u00E7o~es", -1, 1, "", methodObject ), - new Among ( "icos", -1, 1, "", methodObject ), - new Among ( "ismos", -1, 1, "", methodObject ), - new Among ( "osos", -1, 1, "", methodObject ), - new Among ( "amentos", -1, 1, "", methodObject ), - new Among ( "imentos", -1, 1, "", methodObject ), - new Among ( "ivos", -1, 8, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("a", -1, 1), + new Among("i", -1, 1), + new Among("o", -1, 1), + new Among("os", -1, 1), + new Among("\u00E1", -1, 1), + new Among("\u00ED", -1, 1), + new Among("\u00F3", -1, 1) +}; - private final static Among a_6[] = { - new Among ( "ada", -1, 1, "", methodObject ), - new Among ( "ida", -1, 1, "", methodObject ), - new Among ( "ia", -1, 1, "", methodObject ), - new Among ( "aria", 2, 1, "", methodObject ), - new Among ( "eria", 2, 1, "", methodObject ), - new Among ( "iria", 2, 1, "", methodObject ), - new Among ( "ara", -1, 1, "", methodObject ), - new Among ( "era", -1, 1, "", methodObject ), - new Among ( "ira", -1, 1, "", methodObject ), - new Among ( "ava", -1, 1, "", methodObject ), - new Among ( "asse", -1, 1, "", methodObject ), - new Among ( "esse", -1, 1, "", methodObject ), - new Among ( "isse", -1, 1, "", methodObject ), - new Among ( "aste", -1, 1, "", methodObject ), - new Among ( "este", -1, 1, "", methodObject ), - new Among ( "iste", -1, 1, "", methodObject ), - new Among ( "ei", -1, 1, "", methodObject ), - new Among ( "arei", 16, 1, "", methodObject ), - new Among ( "erei", 16, 1, "", methodObject ), - new Among ( "irei", 16, 1, "", methodObject ), - new Among ( "am", -1, 1, "", methodObject ), - new Among ( "iam", 20, 1, "", methodObject ), - new Among ( "ariam", 21, 1, "", methodObject ), - new Among ( "eriam", 21, 1, "", methodObject ), - new Among ( "iriam", 21, 1, "", methodObject ), - new Among ( "aram", 20, 1, "", methodObject ), - new Among ( "eram", 20, 1, "", methodObject ), - new Among ( "iram", 20, 1, "", methodObject ), - new Among ( "avam", 20, 1, "", methodObject ), - new Among ( "em", -1, 1, "", methodObject ), - new Among ( "arem", 29, 1, "", methodObject ), - new Among ( "erem", 29, 1, "", methodObject ), - new Among ( "irem", 29, 1, "", methodObject ), - new Among ( "assem", 29, 1, "", methodObject ), - new Among ( "essem", 29, 1, "", methodObject ), - new Among ( "issem", 29, 1, "", methodObject ), - new Among ( "ado", -1, 1, "", methodObject ), - new Among ( "ido", -1, 1, "", methodObject ), - new Among ( "ando", -1, 1, "", methodObject ), - new Among ( "endo", -1, 1, "", methodObject ), - new Among ( "indo", -1, 1, "", methodObject ), - new Among ( "ara~o", -1, 1, "", methodObject ), - new Among ( "era~o", -1, 1, "", methodObject ), - new Among ( "ira~o", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "ir", -1, 1, "", methodObject ), - new Among ( "as", -1, 1, "", methodObject ), - new Among ( "adas", 47, 1, "", methodObject ), - new Among ( "idas", 47, 1, "", methodObject ), - new Among ( "ias", 47, 1, "", methodObject ), - new Among ( "arias", 50, 1, "", methodObject ), - new Among ( "erias", 50, 1, "", methodObject ), - new Among ( "irias", 50, 1, "", methodObject ), - new Among ( "aras", 47, 1, "", methodObject ), - new Among ( "eras", 47, 1, "", methodObject ), - new Among ( "iras", 47, 1, "", methodObject ), - new Among ( "avas", 47, 1, "", methodObject ), - new Among ( "es", -1, 1, "", methodObject ), - new Among ( "ardes", 58, 1, "", methodObject ), - new Among ( "erdes", 58, 1, "", methodObject ), - new Among ( "irdes", 58, 1, "", methodObject ), - new Among ( "ares", 58, 1, "", methodObject ), - new Among ( "eres", 58, 1, "", methodObject ), - new Among ( "ires", 58, 1, "", methodObject ), - new Among ( "asses", 58, 1, "", methodObject ), - new Among ( "esses", 58, 1, "", methodObject ), - new Among ( "isses", 58, 1, "", methodObject ), - new Among ( "astes", 58, 1, "", methodObject ), - new Among ( "estes", 58, 1, "", methodObject ), - new Among ( "istes", 58, 1, "", methodObject ), - new Among ( "is", -1, 1, "", methodObject ), - new Among ( "ais", 71, 1, "", methodObject ), - new Among ( "eis", 71, 1, "", methodObject ), - new Among ( "areis", 73, 1, "", methodObject ), - new Among ( "ereis", 73, 1, "", methodObject ), - new Among ( "ireis", 73, 1, "", methodObject ), - new Among ( "\u00E1reis", 73, 1, "", methodObject ), - new Among ( "\u00E9reis", 73, 1, "", methodObject ), - new Among ( "\u00EDreis", 73, 1, "", methodObject ), - new Among ( "\u00E1sseis", 73, 1, "", methodObject ), - new Among ( "\u00E9sseis", 73, 1, "", methodObject ), - new Among ( "\u00EDsseis", 73, 1, "", methodObject ), - new Among ( "\u00E1veis", 73, 1, "", methodObject ), - new Among ( "\u00EDeis", 73, 1, "", methodObject ), - new Among ( "ar\u00EDeis", 84, 1, "", methodObject ), - new Among ( "er\u00EDeis", 84, 1, "", methodObject ), - new Among ( "ir\u00EDeis", 84, 1, "", methodObject ), - new Among ( "ados", -1, 1, "", methodObject ), - new Among ( "idos", -1, 1, "", methodObject ), - new Among ( "amos", -1, 1, "", methodObject ), - new Among ( "\u00E1ramos", 90, 1, "", methodObject ), - new Among ( "\u00E9ramos", 90, 1, "", methodObject ), - new Among ( "\u00EDramos", 90, 1, "", methodObject ), - new Among ( "\u00E1vamos", 90, 1, "", methodObject ), - new Among ( "\u00EDamos", 90, 1, "", methodObject ), - new Among ( "ar\u00EDamos", 95, 1, "", methodObject ), - new Among ( "er\u00EDamos", 95, 1, "", methodObject ), - new Among ( "ir\u00EDamos", 95, 1, "", methodObject ), - new Among ( "emos", -1, 1, "", methodObject ), - new Among ( "aremos", 99, 1, "", methodObject ), - new Among ( "eremos", 99, 1, "", methodObject ), - new Among ( "iremos", 99, 1, "", methodObject ), - new Among ( "\u00E1ssemos", 99, 1, "", methodObject ), - new Among ( "\u00EAssemos", 99, 1, "", methodObject ), - new Among ( "\u00EDssemos", 99, 1, "", methodObject ), - new Among ( "imos", -1, 1, "", methodObject ), - new Among ( "armos", -1, 1, "", methodObject ), - new Among ( "ermos", -1, 1, "", methodObject ), - new Among ( "irmos", -1, 1, "", methodObject ), - new Among ( "\u00E1mos", -1, 1, "", methodObject ), - new Among ( "ar\u00E1s", -1, 1, "", methodObject ), - new Among ( "er\u00E1s", -1, 1, "", methodObject ), - new Among ( "ir\u00E1s", -1, 1, "", methodObject ), - new Among ( "eu", -1, 1, "", methodObject ), - new Among ( "iu", -1, 1, "", methodObject ), - new Among ( "ou", -1, 1, "", methodObject ), - new Among ( "ar\u00E1", -1, 1, "", methodObject ), - new Among ( "er\u00E1", -1, 1, "", methodObject ), - new Among ( "ir\u00E1", -1, 1, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("e", -1, 1), + new Among("\u00E7", -1, 2), + new Among("\u00E9", -1, 1), + new Among("\u00EA", -1, 1) +}; - private final static Among a_7[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "i", -1, 1, "", methodObject ), - new Among ( "o", -1, 1, "", methodObject ), - new Among ( "os", -1, 1, "", methodObject ), - new Among ( "\u00E1", -1, 1, "", methodObject ), - new Among ( "\u00ED", -1, 1, "", methodObject ), - new Among ( "\u00F3", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 }; - private final static Among a_8[] = { - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "\u00E7", -1, 2, "", methodObject ), - new Among ( "\u00E9", -1, 1, "", methodObject ), - new Among ( "\u00EA", -1, 1, "", methodObject ) - }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 }; - private int I_p2; - private int I_p1; - private int I_pV; +private boolean r_prelude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("a~"); + break; + case 2: + slice_from("o~"); + break; + case 3: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} - private void copy_from(PortugueseStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_prelude() { - int among_var; - int v_1; - // repeat, line 36 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 36 - // [, line 37 - bra = cursor; - // substring, line 37 - among_var = find_among(a_0, 3); - if (among_var == 0) - { - break lab1; - } - // ], line 37 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 38 - // <-, line 38 - slice_from("a~"); - break; - case 2: - // (, line 39 - // <-, line 39 - slice_from("o~"); - break; - case 3: - // (, line 40 - // next, line 40 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - int v_6; - int v_8; - // (, line 44 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 50 - v_1 = cursor; - lab0: do { - // (, line 50 - // or, line 52 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 51 - if (!(in_grouping(g_v, 97, 250))) - { - break lab2; - } - // or, line 51 - lab3: do { - v_3 = cursor; - lab4: do { - // (, line 51 - if (!(out_grouping(g_v, 97, 250))) - { - break lab4; - } - // gopast, line 51 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - break lab3; - } while (false); - cursor = v_3; - // (, line 51 - if (!(in_grouping(g_v, 97, 250))) - { - break lab2; - } - // gopast, line 51 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 250))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab2; - } - cursor++; - } - } while (false); - break lab1; - } while (false); - cursor = v_2; - // (, line 53 - if (!(out_grouping(g_v, 97, 250))) - { - break lab0; - } - // or, line 53 - lab9: do { - v_6 = cursor; - lab10: do { - // (, line 53 - if (!(out_grouping(g_v, 97, 250))) - { - break lab10; - } - // gopast, line 53 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab10; - } - cursor++; - } - break lab9; - } while (false); - cursor = v_6; - // (, line 53 - if (!(in_grouping(g_v, 97, 250))) - { - break lab0; - } - // next, line 53 - if (cursor >= limit) - { - break lab0; - } - cursor++; - } while (false); - } while (false); - // setmark pV, line 54 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 56 - v_8 = cursor; - lab13: do { - // (, line 56 - // gopast, line 57 - golab14: while(true) - { - lab15: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab15; - } - break golab14; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 57 - golab16: while(true) - { - lab17: do { - if (!(out_grouping(g_v, 97, 250))) - { - break lab17; - } - break golab16; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p1, line 57 - I_p1 = cursor; - // gopast, line 58 - golab18: while(true) - { - lab19: do { - if (!(in_grouping(g_v, 97, 250))) - { - break lab19; - } - break golab18; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 58 - golab20: while(true) - { - lab21: do { - if (!(out_grouping(g_v, 97, 250))) - { - break lab21; - } - break golab20; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p2, line 58 - I_p2 = cursor; - } while (false); - cursor = v_8; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 62 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 62 - // [, line 63 - bra = cursor; - // substring, line 63 - among_var = find_among(a_1, 3); - if (among_var == 0) - { - break lab1; - } - // ], line 63 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 64 - // <-, line 64 - slice_from("\u00E3"); - break; - case 2: - // (, line 65 - // <-, line 65 - slice_from("\u00F5"); - break; - case 3: - // (, line 66 - // next, line 66 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 76 - // [, line 77 - ket = cursor; - // substring, line 77 - among_var = find_among_b(a_5, 45); - if (among_var == 0) - { - return false; - } - // ], line 77 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 92 - // call R2, line 93 - if (!r_R2()) - { - return false; - } - // delete, line 93 - slice_del(); - break; - case 2: - // (, line 97 - // call R2, line 98 - if (!r_R2()) - { - return false; - } - // <-, line 98 - slice_from("log"); - break; - case 3: - // (, line 101 - // call R2, line 102 - if (!r_R2()) - { - return false; - } - // <-, line 102 - slice_from("u"); - break; - case 4: - // (, line 105 - // call R2, line 106 - if (!r_R2()) - { - return false; - } - // <-, line 106 - slice_from("ente"); - break; - case 5: - // (, line 109 - // call R1, line 110 - if (!r_R1()) - { - return false; - } - // delete, line 110 - slice_del(); - // try, line 111 - v_1 = limit - cursor; - lab0: do { - // (, line 111 - // [, line 112 - ket = cursor; - // substring, line 112 - among_var = find_among_b(a_2, 4); - if (among_var == 0) - { - cursor = limit - v_1; - break lab0; - } - // ], line 112 - bra = cursor; - // call R2, line 112 - if (!r_R2()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 112 - slice_del(); - switch(among_var) { - case 0: - cursor = limit - v_1; - break lab0; - case 1: - // (, line 113 - // [, line 113 - ket = cursor; - // literal, line 113 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 113 - bra = cursor; - // call R2, line 113 - if (!r_R2()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 113 - slice_del(); - break; - } - } while (false); - break; - case 6: - // (, line 121 - // call R2, line 122 - if (!r_R2()) - { - return false; - } - // delete, line 122 - slice_del(); - // try, line 123 - v_2 = limit - cursor; - lab1: do { - // (, line 123 - // [, line 124 - ket = cursor; - // substring, line 124 - among_var = find_among_b(a_3, 3); - if (among_var == 0) - { - cursor = limit - v_2; - break lab1; - } - // ], line 124 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_2; - break lab1; - case 1: - // (, line 127 - // call R2, line 127 - if (!r_R2()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 127 - slice_del(); - break; - } - } while (false); - break; - case 7: - // (, line 133 - // call R2, line 134 - if (!r_R2()) - { - return false; - } - // delete, line 134 - slice_del(); - // try, line 135 - v_3 = limit - cursor; - lab2: do { - // (, line 135 - // [, line 136 - ket = cursor; - // substring, line 136 - among_var = find_among_b(a_4, 3); - if (among_var == 0) - { - cursor = limit - v_3; - break lab2; - } - // ], line 136 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_3; - break lab2; - case 1: - // (, line 139 - // call R2, line 139 - if (!r_R2()) - { - cursor = limit - v_3; - break lab2; - } - // delete, line 139 - slice_del(); - break; - } - } while (false); - break; - case 8: - // (, line 145 - // call R2, line 146 - if (!r_R2()) - { - return false; - } - // delete, line 146 - slice_del(); - // try, line 147 - v_4 = limit - cursor; - lab3: do { - // (, line 147 - // [, line 148 - ket = cursor; - // literal, line 148 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_4; - break lab3; - } - // ], line 148 - bra = cursor; - // call R2, line 148 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 148 - slice_del(); - } while (false); - break; - case 9: - // (, line 152 - // call RV, line 153 - if (!r_RV()) - { - return false; - } - // literal, line 153 - if (!(eq_s_b(1, "e"))) - { - return false; - } - // <-, line 154 - slice_from("ir"); - break; - } - return true; - } - - private boolean r_verb_suffix() { - int among_var; - int v_1; - int v_2; - // setlimit, line 159 - v_1 = limit - cursor; - // tomark, line 159 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 159 - // [, line 160 - ket = cursor; - // substring, line 160 - among_var = find_among_b(a_6, 120); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 160 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 179 - // delete, line 179 - slice_del(); - break; - } - limit_backward = v_2; - return true; - } - - private boolean r_residual_suffix() { - int among_var; - // (, line 183 - // [, line 184 - ket = cursor; - // substring, line 184 - among_var = find_among_b(a_7, 7); - if (among_var == 0) - { - return false; - } - // ], line 184 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 187 - // call RV, line 187 - if (!r_RV()) - { - return false; - } - // delete, line 187 - slice_del(); - break; - } - return true; - } - - private boolean r_residual_form() { - int among_var; - int v_1; - int v_2; - int v_3; - // (, line 191 - // [, line 192 - ket = cursor; - // substring, line 192 - among_var = find_among_b(a_8, 4); - if (among_var == 0) - { - return false; - } - // ], line 192 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 194 - // call RV, line 194 - if (!r_RV()) - { - return false; - } - // delete, line 194 - slice_del(); - // [, line 194 - ket = cursor; - // or, line 194 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 194 - // literal, line 194 - if (!(eq_s_b(1, "u"))) - { - break lab1; - } - // ], line 194 - bra = cursor; - // test, line 194 - v_2 = limit - cursor; - // literal, line 194 - if (!(eq_s_b(1, "g"))) - { - break lab1; - } - cursor = limit - v_2; - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 195 - // literal, line 195 - if (!(eq_s_b(1, "i"))) - { - return false; - } - // ], line 195 - bra = cursor; - // test, line 195 - v_3 = limit - cursor; - // literal, line 195 - if (!(eq_s_b(1, "c"))) - { - return false; - } - cursor = limit - v_3; - } while (false); - // call RV, line 195 - if (!r_RV()) - { - return false; - } - // delete, line 195 - slice_del(); - break; - case 2: - // (, line 196 - // <-, line 196 - slice_from("c"); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 201 - // do, line 202 - v_1 = cursor; - lab0: do { - // call prelude, line 202 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 203 - v_2 = cursor; - lab1: do { - // call mark_regions, line 203 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 204 - limit_backward = cursor; cursor = limit; - // (, line 204 - // do, line 205 - v_3 = limit - cursor; - lab2: do { - // (, line 205 - // or, line 209 - lab3: do { - v_4 = limit - cursor; - lab4: do { - // (, line 206 - // and, line 207 - v_5 = limit - cursor; - // (, line 206 - // or, line 206 - lab5: do { - v_6 = limit - cursor; - lab6: do { - // call standard_suffix, line 206 - if (!r_standard_suffix()) - { - break lab6; - } - break lab5; - } while (false); - cursor = limit - v_6; - // call verb_suffix, line 206 - if (!r_verb_suffix()) - { - break lab4; - } - } while (false); - cursor = limit - v_5; - // do, line 207 - v_7 = limit - cursor; - lab7: do { - // (, line 207 - // [, line 207 - ket = cursor; - // literal, line 207 - if (!(eq_s_b(1, "i"))) - { - break lab7; - } - // ], line 207 - bra = cursor; - // test, line 207 - v_8 = limit - cursor; - // literal, line 207 - if (!(eq_s_b(1, "c"))) - { - break lab7; - } - cursor = limit - v_8; - // call RV, line 207 - if (!r_RV()) - { - break lab7; - } - // delete, line 207 - slice_del(); - } while (false); - cursor = limit - v_7; - break lab3; - } while (false); - cursor = limit - v_4; - // call residual_suffix, line 209 - if (!r_residual_suffix()) - { - break lab2; - } - } while (false); - } while (false); - cursor = limit - v_3; - // do, line 211 - v_9 = limit - cursor; - lab8: do { - // call residual_form, line 211 - if (!r_residual_form()) - { - break lab8; - } - } while (false); - cursor = limit - v_9; - cursor = limit_backward; // do, line 213 - v_10 = cursor; - lab9: do { - // call postlude, line 213 - if (!r_postlude()) - { - break lab9; - } - } while (false); - cursor = v_10; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof PortugueseStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab2; } - - @Override - public int hashCode() { - return PortugueseStemmer.class.getName().hashCode(); + lab3: { + int v_3 = cursor; + lab4: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab4; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } + cursor = v_3; + if (!(in_grouping(g_v, 97, 250))) + { + break lab2; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + } } + break lab1; + } + cursor = v_2; + if (!(out_grouping(g_v, 97, 250))) + { + break lab0; + } + lab9: { + int v_6 = cursor; + lab10: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_6; + if (!(in_grouping(g_v, 97, 250))) + { + break lab0; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_8 = cursor; + lab13: { + golab14: while(true) + { + lab15: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab15; + } + break golab14; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab16: while(true) + { + lab17: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab17; + } + break golab16; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p1 = cursor; + golab18: while(true) + { + lab19: { + if (!(in_grouping(g_v, 97, 250))) + { + break lab19; + } + break golab18; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab20: while(true) + { + lab21: { + if (!(out_grouping(g_v, 97, 250))) + { + break lab21; + } + break golab20; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_8; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_1); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("\u00E3"); + break; + case 2: + slice_from("\u00F5"); + break; + case 3: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_5); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_from("log"); + break; + case 3: + if (!r_R2()) + { + return false; + } + slice_from("u"); + break; + case 4: + if (!r_R2()) + { + return false; + } + slice_from("ente"); + break; + case 5: + if (!r_R1()) + { + return false; + } + slice_del(); + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + switch (among_var) { + case 1: + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + break; + } + } + break; + case 6: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_2 = limit - cursor; + lab1: { + ket = cursor; + if (find_among_b(a_3) == 0) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + } + break; + case 7: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_3 = limit - cursor; + lab2: { + ket = cursor; + if (find_among_b(a_4) == 0) + { + cursor = limit - v_3; + break lab2; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + slice_del(); + } + break; + case 8: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_4 = limit - cursor; + lab3: { + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_4; + break lab3; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + slice_del(); + } + break; + case 9: + if (!r_RV()) + { + return false; + } + if (!(eq_s_b("e"))) + { + return false; + } + slice_from("ir"); + break; + } + return true; +} + +private boolean r_verb_suffix() { + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + if (find_among_b(a_6) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + slice_del(); + limit_backward = v_2; + return true; +} + +private boolean r_residual_suffix() { + ket = cursor; + if (find_among_b(a_7) == 0) + { + return false; + } + bra = cursor; + if (!r_RV()) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_residual_form() { + int among_var; + ket = cursor; + among_var = find_among_b(a_8); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + ket = cursor; + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("u"))) + { + break lab1; + } + bra = cursor; + int v_2 = limit - cursor; + if (!(eq_s_b("g"))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("i"))) + { + return false; + } + bra = cursor; + int v_3 = limit - cursor; + if (!(eq_s_b("c"))) + { + return false; + } + cursor = limit - v_3; + } + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + slice_from("c"); + break; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + lab0: { + lab1: { + int v_4 = limit - cursor; + lab2: { + int v_5 = limit - cursor; + lab3: { + int v_6 = limit - cursor; + lab4: { + if (!r_standard_suffix()) + { + break lab4; + } + break lab3; + } + cursor = limit - v_6; + if (!r_verb_suffix()) + { + break lab2; + } + } + cursor = limit - v_5; + int v_7 = limit - cursor; + lab5: { + ket = cursor; + if (!(eq_s_b("i"))) + { + break lab5; + } + bra = cursor; + int v_8 = limit - cursor; + if (!(eq_s_b("c"))) + { + break lab5; + } + cursor = limit - v_8; + if (!r_RV()) + { + break lab5; + } + slice_del(); + } + cursor = limit - v_7; + break lab1; + } + cursor = limit - v_4; + if (!r_residual_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_3; + int v_9 = limit - cursor; + r_residual_form(); + cursor = limit - v_9; + cursor = limit_backward; + int v_10 = cursor; + r_postlude(); + cursor = v_10; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof PortugueseStemmer; +} + +@Override +public int hashCode() { + return PortugueseStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RomanianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RomanianStemmer.java index 6fe5fb83044..fb2020cba3a 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RomanianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RomanianStemmer.java @@ -1,1042 +1,811 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class RomanianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class RomanianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 3), + new Among("I", 0, 1), + new Among("U", 0, 2) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("ea", -1, 3), + new Among("a\u0163ia", -1, 7), + new Among("aua", -1, 2), + new Among("iua", -1, 4), + new Among("a\u0163ie", -1, 7), + new Among("ele", -1, 3), + new Among("ile", -1, 5), + new Among("iile", 6, 4), + new Among("iei", -1, 4), + new Among("atei", -1, 6), + new Among("ii", -1, 4), + new Among("ului", -1, 1), + new Among("ul", -1, 1), + new Among("elor", -1, 3), + new Among("ilor", -1, 4), + new Among("iilor", 14, 4) +}; - private final static Among a_0[] = { - new Among ( "", -1, 3, "", methodObject ), - new Among ( "I", 0, 1, "", methodObject ), - new Among ( "U", 0, 2, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("icala", -1, 4), + new Among("iciva", -1, 4), + new Among("ativa", -1, 5), + new Among("itiva", -1, 6), + new Among("icale", -1, 4), + new Among("a\u0163iune", -1, 5), + new Among("i\u0163iune", -1, 6), + new Among("atoare", -1, 5), + new Among("itoare", -1, 6), + new Among("\u0103toare", -1, 5), + new Among("icitate", -1, 4), + new Among("abilitate", -1, 1), + new Among("ibilitate", -1, 2), + new Among("ivitate", -1, 3), + new Among("icive", -1, 4), + new Among("ative", -1, 5), + new Among("itive", -1, 6), + new Among("icali", -1, 4), + new Among("atori", -1, 5), + new Among("icatori", 18, 4), + new Among("itori", -1, 6), + new Among("\u0103tori", -1, 5), + new Among("icitati", -1, 4), + new Among("abilitati", -1, 1), + new Among("ivitati", -1, 3), + new Among("icivi", -1, 4), + new Among("ativi", -1, 5), + new Among("itivi", -1, 6), + new Among("icit\u0103i", -1, 4), + new Among("abilit\u0103i", -1, 1), + new Among("ivit\u0103i", -1, 3), + new Among("icit\u0103\u0163i", -1, 4), + new Among("abilit\u0103\u0163i", -1, 1), + new Among("ivit\u0103\u0163i", -1, 3), + new Among("ical", -1, 4), + new Among("ator", -1, 5), + new Among("icator", 35, 4), + new Among("itor", -1, 6), + new Among("\u0103tor", -1, 5), + new Among("iciv", -1, 4), + new Among("ativ", -1, 5), + new Among("itiv", -1, 6), + new Among("ical\u0103", -1, 4), + new Among("iciv\u0103", -1, 4), + new Among("ativ\u0103", -1, 5), + new Among("itiv\u0103", -1, 6) +}; - private final static Among a_1[] = { - new Among ( "ea", -1, 3, "", methodObject ), - new Among ( "a\u0163ia", -1, 7, "", methodObject ), - new Among ( "aua", -1, 2, "", methodObject ), - new Among ( "iua", -1, 4, "", methodObject ), - new Among ( "a\u0163ie", -1, 7, "", methodObject ), - new Among ( "ele", -1, 3, "", methodObject ), - new Among ( "ile", -1, 5, "", methodObject ), - new Among ( "iile", 6, 4, "", methodObject ), - new Among ( "iei", -1, 4, "", methodObject ), - new Among ( "atei", -1, 6, "", methodObject ), - new Among ( "ii", -1, 4, "", methodObject ), - new Among ( "ului", -1, 1, "", methodObject ), - new Among ( "ul", -1, 1, "", methodObject ), - new Among ( "elor", -1, 3, "", methodObject ), - new Among ( "ilor", -1, 4, "", methodObject ), - new Among ( "iilor", 14, 4, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ica", -1, 1), + new Among("abila", -1, 1), + new Among("ibila", -1, 1), + new Among("oasa", -1, 1), + new Among("ata", -1, 1), + new Among("ita", -1, 1), + new Among("anta", -1, 1), + new Among("ista", -1, 3), + new Among("uta", -1, 1), + new Among("iva", -1, 1), + new Among("ic", -1, 1), + new Among("ice", -1, 1), + new Among("abile", -1, 1), + new Among("ibile", -1, 1), + new Among("isme", -1, 3), + new Among("iune", -1, 2), + new Among("oase", -1, 1), + new Among("ate", -1, 1), + new Among("itate", 17, 1), + new Among("ite", -1, 1), + new Among("ante", -1, 1), + new Among("iste", -1, 3), + new Among("ute", -1, 1), + new Among("ive", -1, 1), + new Among("ici", -1, 1), + new Among("abili", -1, 1), + new Among("ibili", -1, 1), + new Among("iuni", -1, 2), + new Among("atori", -1, 1), + new Among("osi", -1, 1), + new Among("ati", -1, 1), + new Among("itati", 30, 1), + new Among("iti", -1, 1), + new Among("anti", -1, 1), + new Among("isti", -1, 3), + new Among("uti", -1, 1), + new Among("i\u015Fti", -1, 3), + new Among("ivi", -1, 1), + new Among("it\u0103i", -1, 1), + new Among("o\u015Fi", -1, 1), + new Among("it\u0103\u0163i", -1, 1), + new Among("abil", -1, 1), + new Among("ibil", -1, 1), + new Among("ism", -1, 3), + new Among("ator", -1, 1), + new Among("os", -1, 1), + new Among("at", -1, 1), + new Among("it", -1, 1), + new Among("ant", -1, 1), + new Among("ist", -1, 3), + new Among("ut", -1, 1), + new Among("iv", -1, 1), + new Among("ic\u0103", -1, 1), + new Among("abil\u0103", -1, 1), + new Among("ibil\u0103", -1, 1), + new Among("oas\u0103", -1, 1), + new Among("at\u0103", -1, 1), + new Among("it\u0103", -1, 1), + new Among("ant\u0103", -1, 1), + new Among("ist\u0103", -1, 3), + new Among("ut\u0103", -1, 1), + new Among("iv\u0103", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "icala", -1, 4, "", methodObject ), - new Among ( "iciva", -1, 4, "", methodObject ), - new Among ( "ativa", -1, 5, "", methodObject ), - new Among ( "itiva", -1, 6, "", methodObject ), - new Among ( "icale", -1, 4, "", methodObject ), - new Among ( "a\u0163iune", -1, 5, "", methodObject ), - new Among ( "i\u0163iune", -1, 6, "", methodObject ), - new Among ( "atoare", -1, 5, "", methodObject ), - new Among ( "itoare", -1, 6, "", methodObject ), - new Among ( "\u0103toare", -1, 5, "", methodObject ), - new Among ( "icitate", -1, 4, "", methodObject ), - new Among ( "abilitate", -1, 1, "", methodObject ), - new Among ( "ibilitate", -1, 2, "", methodObject ), - new Among ( "ivitate", -1, 3, "", methodObject ), - new Among ( "icive", -1, 4, "", methodObject ), - new Among ( "ative", -1, 5, "", methodObject ), - new Among ( "itive", -1, 6, "", methodObject ), - new Among ( "icali", -1, 4, "", methodObject ), - new Among ( "atori", -1, 5, "", methodObject ), - new Among ( "icatori", 18, 4, "", methodObject ), - new Among ( "itori", -1, 6, "", methodObject ), - new Among ( "\u0103tori", -1, 5, "", methodObject ), - new Among ( "icitati", -1, 4, "", methodObject ), - new Among ( "abilitati", -1, 1, "", methodObject ), - new Among ( "ivitati", -1, 3, "", methodObject ), - new Among ( "icivi", -1, 4, "", methodObject ), - new Among ( "ativi", -1, 5, "", methodObject ), - new Among ( "itivi", -1, 6, "", methodObject ), - new Among ( "icit\u0103i", -1, 4, "", methodObject ), - new Among ( "abilit\u0103i", -1, 1, "", methodObject ), - new Among ( "ivit\u0103i", -1, 3, "", methodObject ), - new Among ( "icit\u0103\u0163i", -1, 4, "", methodObject ), - new Among ( "abilit\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "ivit\u0103\u0163i", -1, 3, "", methodObject ), - new Among ( "ical", -1, 4, "", methodObject ), - new Among ( "ator", -1, 5, "", methodObject ), - new Among ( "icator", 35, 4, "", methodObject ), - new Among ( "itor", -1, 6, "", methodObject ), - new Among ( "\u0103tor", -1, 5, "", methodObject ), - new Among ( "iciv", -1, 4, "", methodObject ), - new Among ( "ativ", -1, 5, "", methodObject ), - new Among ( "itiv", -1, 6, "", methodObject ), - new Among ( "ical\u0103", -1, 4, "", methodObject ), - new Among ( "iciv\u0103", -1, 4, "", methodObject ), - new Among ( "ativ\u0103", -1, 5, "", methodObject ), - new Among ( "itiv\u0103", -1, 6, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("ea", -1, 1), + new Among("ia", -1, 1), + new Among("esc", -1, 1), + new Among("\u0103sc", -1, 1), + new Among("ind", -1, 1), + new Among("\u00E2nd", -1, 1), + new Among("are", -1, 1), + new Among("ere", -1, 1), + new Among("ire", -1, 1), + new Among("\u00E2re", -1, 1), + new Among("se", -1, 2), + new Among("ase", 10, 1), + new Among("sese", 10, 2), + new Among("ise", 10, 1), + new Among("use", 10, 1), + new Among("\u00E2se", 10, 1), + new Among("e\u015Fte", -1, 1), + new Among("\u0103\u015Fte", -1, 1), + new Among("eze", -1, 1), + new Among("ai", -1, 1), + new Among("eai", 19, 1), + new Among("iai", 19, 1), + new Among("sei", -1, 2), + new Among("e\u015Fti", -1, 1), + new Among("\u0103\u015Fti", -1, 1), + new Among("ui", -1, 1), + new Among("ezi", -1, 1), + new Among("\u00E2i", -1, 1), + new Among("a\u015Fi", -1, 1), + new Among("se\u015Fi", -1, 2), + new Among("ase\u015Fi", 29, 1), + new Among("sese\u015Fi", 29, 2), + new Among("ise\u015Fi", 29, 1), + new Among("use\u015Fi", 29, 1), + new Among("\u00E2se\u015Fi", 29, 1), + new Among("i\u015Fi", -1, 1), + new Among("u\u015Fi", -1, 1), + new Among("\u00E2\u015Fi", -1, 1), + new Among("a\u0163i", -1, 2), + new Among("ea\u0163i", 38, 1), + new Among("ia\u0163i", 38, 1), + new Among("e\u0163i", -1, 2), + new Among("i\u0163i", -1, 2), + new Among("\u00E2\u0163i", -1, 2), + new Among("ar\u0103\u0163i", -1, 1), + new Among("ser\u0103\u0163i", -1, 2), + new Among("aser\u0103\u0163i", 45, 1), + new Among("seser\u0103\u0163i", 45, 2), + new Among("iser\u0103\u0163i", 45, 1), + new Among("user\u0103\u0163i", 45, 1), + new Among("\u00E2ser\u0103\u0163i", 45, 1), + new Among("ir\u0103\u0163i", -1, 1), + new Among("ur\u0103\u0163i", -1, 1), + new Among("\u00E2r\u0103\u0163i", -1, 1), + new Among("am", -1, 1), + new Among("eam", 54, 1), + new Among("iam", 54, 1), + new Among("em", -1, 2), + new Among("asem", 57, 1), + new Among("sesem", 57, 2), + new Among("isem", 57, 1), + new Among("usem", 57, 1), + new Among("\u00E2sem", 57, 1), + new Among("im", -1, 2), + new Among("\u00E2m", -1, 2), + new Among("\u0103m", -1, 2), + new Among("ar\u0103m", 65, 1), + new Among("ser\u0103m", 65, 2), + new Among("aser\u0103m", 67, 1), + new Among("seser\u0103m", 67, 2), + new Among("iser\u0103m", 67, 1), + new Among("user\u0103m", 67, 1), + new Among("\u00E2ser\u0103m", 67, 1), + new Among("ir\u0103m", 65, 1), + new Among("ur\u0103m", 65, 1), + new Among("\u00E2r\u0103m", 65, 1), + new Among("au", -1, 1), + new Among("eau", 76, 1), + new Among("iau", 76, 1), + new Among("indu", -1, 1), + new Among("\u00E2ndu", -1, 1), + new Among("ez", -1, 1), + new Among("easc\u0103", -1, 1), + new Among("ar\u0103", -1, 1), + new Among("ser\u0103", -1, 2), + new Among("aser\u0103", 84, 1), + new Among("seser\u0103", 84, 2), + new Among("iser\u0103", 84, 1), + new Among("user\u0103", 84, 1), + new Among("\u00E2ser\u0103", 84, 1), + new Among("ir\u0103", -1, 1), + new Among("ur\u0103", -1, 1), + new Among("\u00E2r\u0103", -1, 1), + new Among("eaz\u0103", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "ica", -1, 1, "", methodObject ), - new Among ( "abila", -1, 1, "", methodObject ), - new Among ( "ibila", -1, 1, "", methodObject ), - new Among ( "oasa", -1, 1, "", methodObject ), - new Among ( "ata", -1, 1, "", methodObject ), - new Among ( "ita", -1, 1, "", methodObject ), - new Among ( "anta", -1, 1, "", methodObject ), - new Among ( "ista", -1, 3, "", methodObject ), - new Among ( "uta", -1, 1, "", methodObject ), - new Among ( "iva", -1, 1, "", methodObject ), - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "ice", -1, 1, "", methodObject ), - new Among ( "abile", -1, 1, "", methodObject ), - new Among ( "ibile", -1, 1, "", methodObject ), - new Among ( "isme", -1, 3, "", methodObject ), - new Among ( "iune", -1, 2, "", methodObject ), - new Among ( "oase", -1, 1, "", methodObject ), - new Among ( "ate", -1, 1, "", methodObject ), - new Among ( "itate", 17, 1, "", methodObject ), - new Among ( "ite", -1, 1, "", methodObject ), - new Among ( "ante", -1, 1, "", methodObject ), - new Among ( "iste", -1, 3, "", methodObject ), - new Among ( "ute", -1, 1, "", methodObject ), - new Among ( "ive", -1, 1, "", methodObject ), - new Among ( "ici", -1, 1, "", methodObject ), - new Among ( "abili", -1, 1, "", methodObject ), - new Among ( "ibili", -1, 1, "", methodObject ), - new Among ( "iuni", -1, 2, "", methodObject ), - new Among ( "atori", -1, 1, "", methodObject ), - new Among ( "osi", -1, 1, "", methodObject ), - new Among ( "ati", -1, 1, "", methodObject ), - new Among ( "itati", 30, 1, "", methodObject ), - new Among ( "iti", -1, 1, "", methodObject ), - new Among ( "anti", -1, 1, "", methodObject ), - new Among ( "isti", -1, 3, "", methodObject ), - new Among ( "uti", -1, 1, "", methodObject ), - new Among ( "i\u015Fti", -1, 3, "", methodObject ), - new Among ( "ivi", -1, 1, "", methodObject ), - new Among ( "it\u0103i", -1, 1, "", methodObject ), - new Among ( "o\u015Fi", -1, 1, "", methodObject ), - new Among ( "it\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "abil", -1, 1, "", methodObject ), - new Among ( "ibil", -1, 1, "", methodObject ), - new Among ( "ism", -1, 3, "", methodObject ), - new Among ( "ator", -1, 1, "", methodObject ), - new Among ( "os", -1, 1, "", methodObject ), - new Among ( "at", -1, 1, "", methodObject ), - new Among ( "it", -1, 1, "", methodObject ), - new Among ( "ant", -1, 1, "", methodObject ), - new Among ( "ist", -1, 3, "", methodObject ), - new Among ( "ut", -1, 1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ), - new Among ( "ic\u0103", -1, 1, "", methodObject ), - new Among ( "abil\u0103", -1, 1, "", methodObject ), - new Among ( "ibil\u0103", -1, 1, "", methodObject ), - new Among ( "oas\u0103", -1, 1, "", methodObject ), - new Among ( "at\u0103", -1, 1, "", methodObject ), - new Among ( "it\u0103", -1, 1, "", methodObject ), - new Among ( "ant\u0103", -1, 1, "", methodObject ), - new Among ( "ist\u0103", -1, 3, "", methodObject ), - new Among ( "ut\u0103", -1, 1, "", methodObject ), - new Among ( "iv\u0103", -1, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("a", -1, 1), + new Among("e", -1, 1), + new Among("ie", 1, 1), + new Among("i", -1, 1), + new Among("\u0103", -1, 1) +}; - private final static Among a_4[] = { - new Among ( "ea", -1, 1, "", methodObject ), - new Among ( "ia", -1, 1, "", methodObject ), - new Among ( "esc", -1, 1, "", methodObject ), - new Among ( "\u0103sc", -1, 1, "", methodObject ), - new Among ( "ind", -1, 1, "", methodObject ), - new Among ( "\u00E2nd", -1, 1, "", methodObject ), - new Among ( "are", -1, 1, "", methodObject ), - new Among ( "ere", -1, 1, "", methodObject ), - new Among ( "ire", -1, 1, "", methodObject ), - new Among ( "\u00E2re", -1, 1, "", methodObject ), - new Among ( "se", -1, 2, "", methodObject ), - new Among ( "ase", 10, 1, "", methodObject ), - new Among ( "sese", 10, 2, "", methodObject ), - new Among ( "ise", 10, 1, "", methodObject ), - new Among ( "use", 10, 1, "", methodObject ), - new Among ( "\u00E2se", 10, 1, "", methodObject ), - new Among ( "e\u015Fte", -1, 1, "", methodObject ), - new Among ( "\u0103\u015Fte", -1, 1, "", methodObject ), - new Among ( "eze", -1, 1, "", methodObject ), - new Among ( "ai", -1, 1, "", methodObject ), - new Among ( "eai", 19, 1, "", methodObject ), - new Among ( "iai", 19, 1, "", methodObject ), - new Among ( "sei", -1, 2, "", methodObject ), - new Among ( "e\u015Fti", -1, 1, "", methodObject ), - new Among ( "\u0103\u015Fti", -1, 1, "", methodObject ), - new Among ( "ui", -1, 1, "", methodObject ), - new Among ( "ezi", -1, 1, "", methodObject ), - new Among ( "\u00E2i", -1, 1, "", methodObject ), - new Among ( "a\u015Fi", -1, 1, "", methodObject ), - new Among ( "se\u015Fi", -1, 2, "", methodObject ), - new Among ( "ase\u015Fi", 29, 1, "", methodObject ), - new Among ( "sese\u015Fi", 29, 2, "", methodObject ), - new Among ( "ise\u015Fi", 29, 1, "", methodObject ), - new Among ( "use\u015Fi", 29, 1, "", methodObject ), - new Among ( "\u00E2se\u015Fi", 29, 1, "", methodObject ), - new Among ( "i\u015Fi", -1, 1, "", methodObject ), - new Among ( "u\u015Fi", -1, 1, "", methodObject ), - new Among ( "\u00E2\u015Fi", -1, 1, "", methodObject ), - new Among ( "a\u0163i", -1, 2, "", methodObject ), - new Among ( "ea\u0163i", 38, 1, "", methodObject ), - new Among ( "ia\u0163i", 38, 1, "", methodObject ), - new Among ( "e\u0163i", -1, 2, "", methodObject ), - new Among ( "i\u0163i", -1, 2, "", methodObject ), - new Among ( "\u00E2\u0163i", -1, 2, "", methodObject ), - new Among ( "ar\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "ser\u0103\u0163i", -1, 2, "", methodObject ), - new Among ( "aser\u0103\u0163i", 45, 1, "", methodObject ), - new Among ( "seser\u0103\u0163i", 45, 2, "", methodObject ), - new Among ( "iser\u0103\u0163i", 45, 1, "", methodObject ), - new Among ( "user\u0103\u0163i", 45, 1, "", methodObject ), - new Among ( "\u00E2ser\u0103\u0163i", 45, 1, "", methodObject ), - new Among ( "ir\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "ur\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "\u00E2r\u0103\u0163i", -1, 1, "", methodObject ), - new Among ( "am", -1, 1, "", methodObject ), - new Among ( "eam", 54, 1, "", methodObject ), - new Among ( "iam", 54, 1, "", methodObject ), - new Among ( "em", -1, 2, "", methodObject ), - new Among ( "asem", 57, 1, "", methodObject ), - new Among ( "sesem", 57, 2, "", methodObject ), - new Among ( "isem", 57, 1, "", methodObject ), - new Among ( "usem", 57, 1, "", methodObject ), - new Among ( "\u00E2sem", 57, 1, "", methodObject ), - new Among ( "im", -1, 2, "", methodObject ), - new Among ( "\u00E2m", -1, 2, "", methodObject ), - new Among ( "\u0103m", -1, 2, "", methodObject ), - new Among ( "ar\u0103m", 65, 1, "", methodObject ), - new Among ( "ser\u0103m", 65, 2, "", methodObject ), - new Among ( "aser\u0103m", 67, 1, "", methodObject ), - new Among ( "seser\u0103m", 67, 2, "", methodObject ), - new Among ( "iser\u0103m", 67, 1, "", methodObject ), - new Among ( "user\u0103m", 67, 1, "", methodObject ), - new Among ( "\u00E2ser\u0103m", 67, 1, "", methodObject ), - new Among ( "ir\u0103m", 65, 1, "", methodObject ), - new Among ( "ur\u0103m", 65, 1, "", methodObject ), - new Among ( "\u00E2r\u0103m", 65, 1, "", methodObject ), - new Among ( "au", -1, 1, "", methodObject ), - new Among ( "eau", 76, 1, "", methodObject ), - new Among ( "iau", 76, 1, "", methodObject ), - new Among ( "indu", -1, 1, "", methodObject ), - new Among ( "\u00E2ndu", -1, 1, "", methodObject ), - new Among ( "ez", -1, 1, "", methodObject ), - new Among ( "easc\u0103", -1, 1, "", methodObject ), - new Among ( "ar\u0103", -1, 1, "", methodObject ), - new Among ( "ser\u0103", -1, 2, "", methodObject ), - new Among ( "aser\u0103", 84, 1, "", methodObject ), - new Among ( "seser\u0103", 84, 2, "", methodObject ), - new Among ( "iser\u0103", 84, 1, "", methodObject ), - new Among ( "user\u0103", 84, 1, "", methodObject ), - new Among ( "\u00E2ser\u0103", 84, 1, "", methodObject ), - new Among ( "ir\u0103", -1, 1, "", methodObject ), - new Among ( "ur\u0103", -1, 1, "", methodObject ), - new Among ( "\u00E2r\u0103", -1, 1, "", methodObject ), - new Among ( "eaz\u0103", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 }; - private final static Among a_5[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "ie", 1, 1, "", methodObject ), - new Among ( "i", -1, 1, "", methodObject ), - new Among ( "\u0103", -1, 1, "", methodObject ) - }; +private boolean B_standard_suffix_removed; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 }; - private boolean B_standard_suffix_removed; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(RomanianStemmer other) { - B_standard_suffix_removed = other.B_standard_suffix_removed; - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_prelude() { - int v_1; - int v_2; - int v_3; - // (, line 31 - // repeat, line 32 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // goto, line 32 - golab2: while(true) - { - v_2 = cursor; - lab3: do { - // (, line 32 - if (!(in_grouping(g_v, 97, 259))) - { - break lab3; - } - // [, line 33 - bra = cursor; - // or, line 33 - lab4: do { - v_3 = cursor; - lab5: do { - // (, line 33 - // literal, line 33 - if (!(eq_s(1, "u"))) - { - break lab5; - } - // ], line 33 - ket = cursor; - if (!(in_grouping(g_v, 97, 259))) - { - break lab5; - } - // <-, line 33 - slice_from("U"); - break lab4; - } while (false); - cursor = v_3; - // (, line 34 - // literal, line 34 - if (!(eq_s(1, "i"))) - { - break lab3; - } - // ], line 34 - ket = cursor; - if (!(in_grouping(g_v, 97, 259))) - { - break lab3; - } - // <-, line 34 - slice_from("I"); - } while (false); - cursor = v_2; - break golab2; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - int v_6; - int v_8; - // (, line 38 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 44 - v_1 = cursor; - lab0: do { - // (, line 44 - // or, line 46 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 45 - if (!(in_grouping(g_v, 97, 259))) - { - break lab2; - } - // or, line 45 - lab3: do { - v_3 = cursor; - lab4: do { - // (, line 45 - if (!(out_grouping(g_v, 97, 259))) - { - break lab4; - } - // gopast, line 45 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 259))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - break lab3; - } while (false); - cursor = v_3; - // (, line 45 - if (!(in_grouping(g_v, 97, 259))) - { - break lab2; - } - // gopast, line 45 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 259))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab2; - } - cursor++; - } - } while (false); - break lab1; - } while (false); - cursor = v_2; - // (, line 47 - if (!(out_grouping(g_v, 97, 259))) - { - break lab0; - } - // or, line 47 - lab9: do { - v_6 = cursor; - lab10: do { - // (, line 47 - if (!(out_grouping(g_v, 97, 259))) - { - break lab10; - } - // gopast, line 47 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 259))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab10; - } - cursor++; - } - break lab9; - } while (false); - cursor = v_6; - // (, line 47 - if (!(in_grouping(g_v, 97, 259))) - { - break lab0; - } - // next, line 47 - if (cursor >= limit) - { - break lab0; - } - cursor++; - } while (false); - } while (false); - // setmark pV, line 48 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 50 - v_8 = cursor; - lab13: do { - // (, line 50 - // gopast, line 51 - golab14: while(true) - { - lab15: do { - if (!(in_grouping(g_v, 97, 259))) - { - break lab15; - } - break golab14; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 51 - golab16: while(true) - { - lab17: do { - if (!(out_grouping(g_v, 97, 259))) - { - break lab17; - } - break golab16; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p1, line 51 - I_p1 = cursor; - // gopast, line 52 - golab18: while(true) - { - lab19: do { - if (!(in_grouping(g_v, 97, 259))) - { - break lab19; - } - break golab18; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 52 - golab20: while(true) - { - lab21: do { - if (!(out_grouping(g_v, 97, 259))) - { - break lab21; - } - break golab20; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p2, line 52 - I_p2 = cursor; - } while (false); - cursor = v_8; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 56 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 56 - // [, line 58 - bra = cursor; - // substring, line 58 - among_var = find_among(a_0, 3); - if (among_var == 0) - { - break lab1; - } - // ], line 58 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 59 - // <-, line 59 - slice_from("i"); - break; - case 2: - // (, line 60 - // <-, line 60 - slice_from("u"); - break; - case 3: - // (, line 61 - // next, line 61 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_step_0() { - int among_var; - int v_1; - // (, line 72 - // [, line 73 - ket = cursor; - // substring, line 73 - among_var = find_among_b(a_1, 16); - if (among_var == 0) - { - return false; - } - // ], line 73 - bra = cursor; - // call R1, line 73 - if (!r_R1()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 75 - // delete, line 75 - slice_del(); - break; - case 2: - // (, line 77 - // <-, line 77 - slice_from("a"); - break; - case 3: - // (, line 79 - // <-, line 79 - slice_from("e"); - break; - case 4: - // (, line 81 - // <-, line 81 - slice_from("i"); - break; - case 5: - // (, line 83 - // not, line 83 - { - v_1 = limit - cursor; - lab0: do { - // literal, line 83 - if (!(eq_s_b(2, "ab"))) - { - break lab0; - } - return false; - } while (false); - cursor = limit - v_1; - } - // <-, line 83 - slice_from("i"); - break; - case 6: - // (, line 85 - // <-, line 85 - slice_from("at"); - break; - case 7: - // (, line 87 - // <-, line 87 - slice_from("a\u0163i"); - break; - } - return true; - } - - private boolean r_combo_suffix() { - int among_var; - int v_1; - // test, line 91 - v_1 = limit - cursor; - // (, line 91 - // [, line 92 - ket = cursor; - // substring, line 92 - among_var = find_among_b(a_2, 46); - if (among_var == 0) - { - return false; - } - // ], line 92 - bra = cursor; - // call R1, line 92 - if (!r_R1()) - { - return false; - } - // (, line 92 - switch(among_var) { - case 0: - return false; - case 1: - // (, line 100 - // <-, line 101 - slice_from("abil"); - break; - case 2: - // (, line 103 - // <-, line 104 - slice_from("ibil"); - break; - case 3: - // (, line 106 - // <-, line 107 - slice_from("iv"); - break; - case 4: - // (, line 112 - // <-, line 113 - slice_from("ic"); - break; - case 5: - // (, line 117 - // <-, line 118 - slice_from("at"); - break; - case 6: - // (, line 121 - // <-, line 122 - slice_from("it"); - break; - } - // set standard_suffix_removed, line 125 - B_standard_suffix_removed = true; - cursor = limit - v_1; - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - // (, line 129 - // unset standard_suffix_removed, line 130 - B_standard_suffix_removed = false; - // repeat, line 131 - replab0: while(true) - { - v_1 = limit - cursor; - lab1: do { - // call combo_suffix, line 131 - if (!r_combo_suffix()) - { - break lab1; - } - continue replab0; - } while (false); - cursor = limit - v_1; - break replab0; - } - // [, line 132 - ket = cursor; - // substring, line 132 - among_var = find_among_b(a_3, 62); - if (among_var == 0) - { - return false; - } - // ], line 132 - bra = cursor; - // call R2, line 132 - if (!r_R2()) - { - return false; - } - // (, line 132 - switch(among_var) { - case 0: - return false; - case 1: - // (, line 148 - // delete, line 149 - slice_del(); - break; - case 2: - // (, line 151 - // literal, line 152 - if (!(eq_s_b(1, "\u0163"))) - { - return false; - } - // ], line 152 - bra = cursor; - // <-, line 152 - slice_from("t"); - break; - case 3: - // (, line 155 - // <-, line 156 - slice_from("ist"); - break; - } - // set standard_suffix_removed, line 160 - B_standard_suffix_removed = true; - return true; - } - - private boolean r_verb_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - // setlimit, line 164 - v_1 = limit - cursor; - // tomark, line 164 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 164 - // [, line 165 - ket = cursor; - // substring, line 165 - among_var = find_among_b(a_4, 94); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 165 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 200 - // or, line 200 - lab0: do { - v_3 = limit - cursor; - lab1: do { - if (!(out_grouping_b(g_v, 97, 259))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_3; - // literal, line 200 - if (!(eq_s_b(1, "u"))) - { - limit_backward = v_2; - return false; - } - } while (false); - // delete, line 200 - slice_del(); - break; - case 2: - // (, line 214 - // delete, line 214 - slice_del(); - break; - } - limit_backward = v_2; - return true; - } - - private boolean r_vowel_suffix() { - int among_var; - // (, line 218 - // [, line 219 - ket = cursor; - // substring, line 219 - among_var = find_among_b(a_5, 5); - if (among_var == 0) - { - return false; - } - // ], line 219 - bra = cursor; - // call RV, line 219 - if (!r_RV()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 220 - // delete, line 220 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - // (, line 225 - // do, line 226 - v_1 = cursor; - lab0: do { - // call prelude, line 226 - if (!r_prelude()) - { - break lab0; - } - } while (false); - cursor = v_1; - // do, line 227 - v_2 = cursor; - lab1: do { - // call mark_regions, line 227 - if (!r_mark_regions()) - { - break lab1; - } - } while (false); - cursor = v_2; - // backwards, line 228 - limit_backward = cursor; cursor = limit; - // (, line 228 - // do, line 229 - v_3 = limit - cursor; - lab2: do { - // call step_0, line 229 - if (!r_step_0()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 230 - v_4 = limit - cursor; - lab3: do { - // call standard_suffix, line 230 - if (!r_standard_suffix()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // do, line 231 - v_5 = limit - cursor; - lab4: do { - // (, line 231 - // or, line 231 - lab5: do { - v_6 = limit - cursor; - lab6: do { - // Boolean test standard_suffix_removed, line 231 - if (!(B_standard_suffix_removed)) - { - break lab6; - } - break lab5; - } while (false); - cursor = limit - v_6; - // call verb_suffix, line 231 - if (!r_verb_suffix()) - { - break lab4; - } - } while (false); - } while (false); - cursor = limit - v_5; - // do, line 232 - v_7 = limit - cursor; - lab7: do { - // call vowel_suffix, line 232 - if (!r_vowel_suffix()) - { - break lab7; - } - } while (false); - cursor = limit - v_7; - cursor = limit_backward; // do, line 234 - v_8 = cursor; - lab8: do { - // call postlude, line 234 - if (!r_postlude()) - { - break lab8; - } - } while (false); - cursor = v_8; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof RomanianStemmer; +private boolean r_prelude() { + while(true) + { + int v_1 = cursor; + lab0: { + golab1: while(true) + { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + bra = cursor; + lab3: { + int v_3 = cursor; + lab4: { + if (!(eq_s("u"))) + { + break lab4; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 259))) + { + break lab4; + } + slice_from("U"); + break lab3; + } + cursor = v_3; + if (!(eq_s("i"))) + { + break lab2; + } + ket = cursor; + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + slice_from("I"); + } + cursor = v_2; + break golab1; } - - @Override - public int hashCode() { - return RomanianStemmer.class.getName().hashCode(); + cursor = v_2; + if (cursor >= limit) + { + break lab0; } + cursor++; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + lab3: { + int v_3 = cursor; + lab4: { + if (!(out_grouping(g_v, 97, 259))) + { + break lab4; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } + cursor = v_3; + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 259))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } + break lab1; + } + cursor = v_2; + if (!(out_grouping(g_v, 97, 259))) + { + break lab0; + } + lab9: { + int v_6 = cursor; + lab10: { + if (!(out_grouping(g_v, 97, 259))) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_6; + if (!(in_grouping(g_v, 97, 259))) + { + break lab0; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_8 = cursor; + lab13: { + golab14: while(true) + { + lab15: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab15; + } + break golab14; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab16: while(true) + { + lab17: { + if (!(out_grouping(g_v, 97, 259))) + { + break lab17; + } + break golab16; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p1 = cursor; + golab18: while(true) + { + lab19: { + if (!(in_grouping(g_v, 97, 259))) + { + break lab19; + } + break golab18; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab20: while(true) + { + lab21: { + if (!(out_grouping(g_v, 97, 259))) + { + break lab21; + } + break golab20; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_8; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("i"); + break; + case 2: + slice_from("u"); + break; + case 3: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_step_0() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("a"); + break; + case 3: + slice_from("e"); + break; + case 4: + slice_from("i"); + break; + case 5: + { + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("ab"))) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + slice_from("i"); + break; + case 6: + slice_from("at"); + break; + case 7: + slice_from("a\u0163i"); + break; + } + return true; +} + +private boolean r_combo_suffix() { + int among_var; + int v_1 = limit - cursor; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("abil"); + break; + case 2: + slice_from("ibil"); + break; + case 3: + slice_from("iv"); + break; + case 4: + slice_from("ic"); + break; + case 5: + slice_from("at"); + break; + case 6: + slice_from("it"); + break; + } + B_standard_suffix_removed = true; + cursor = limit - v_1; + return true; +} + +private boolean r_standard_suffix() { + int among_var; + B_standard_suffix_removed = false; + while(true) + { + int v_1 = limit - cursor; + lab0: { + if (!r_combo_suffix()) + { + break lab0; + } + continue; + } + cursor = limit - v_1; + break; + } + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!(eq_s_b("\u0163"))) + { + return false; + } + bra = cursor; + slice_from("t"); + break; + case 3: + slice_from("ist"); + break; + } + B_standard_suffix_removed = true; + return true; +} + +private boolean r_verb_suffix() { + int among_var; + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_3 = limit - cursor; + lab1: { + if (!(out_grouping_b(g_v, 97, 259))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_3; + if (!(eq_s_b("u"))) + { + limit_backward = v_2; + return false; + } + } + slice_del(); + break; + case 2: + slice_del(); + break; + } + limit_backward = v_2; + return true; +} + +private boolean r_vowel_suffix() { + ket = cursor; + if (find_among_b(a_5) == 0) + { + return false; + } + bra = cursor; + if (!r_RV()) + { + return false; + } + slice_del(); + return true; +} + +public boolean stem() { + int v_1 = cursor; + r_prelude(); + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_3 = limit - cursor; + r_step_0(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_standard_suffix(); + cursor = limit - v_4; + int v_5 = limit - cursor; + lab0: { + lab1: { + int v_6 = limit - cursor; + lab2: { + if (!(B_standard_suffix_removed)) + { + break lab2; + } + break lab1; + } + cursor = limit - v_6; + if (!r_verb_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_5; + int v_7 = limit - cursor; + r_vowel_suffix(); + cursor = limit - v_7; + cursor = limit_backward; + int v_8 = cursor; + r_postlude(); + cursor = v_8; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof RomanianStemmer; +} + +@Override +public int hashCode() { + return RomanianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RussianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RussianStemmer.java index 7d25d167b8b..9d42e8e320d 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RussianStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/RussianStemmer.java @@ -1,745 +1,585 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class RussianStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class RussianStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("\u0432", -1, 1), + new Among("\u0438\u0432", 0, 2), + new Among("\u044B\u0432", 0, 2), + new Among("\u0432\u0448\u0438", -1, 1), + new Among("\u0438\u0432\u0448\u0438", 3, 2), + new Among("\u044B\u0432\u0448\u0438", 3, 2), + new Among("\u0432\u0448\u0438\u0441\u044C", -1, 1), + new Among("\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2), + new Among("\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("\u0435\u0435", -1, 1), + new Among("\u0438\u0435", -1, 1), + new Among("\u043E\u0435", -1, 1), + new Among("\u044B\u0435", -1, 1), + new Among("\u0438\u043C\u0438", -1, 1), + new Among("\u044B\u043C\u0438", -1, 1), + new Among("\u0435\u0439", -1, 1), + new Among("\u0438\u0439", -1, 1), + new Among("\u043E\u0439", -1, 1), + new Among("\u044B\u0439", -1, 1), + new Among("\u0435\u043C", -1, 1), + new Among("\u0438\u043C", -1, 1), + new Among("\u043E\u043C", -1, 1), + new Among("\u044B\u043C", -1, 1), + new Among("\u0435\u0433\u043E", -1, 1), + new Among("\u043E\u0433\u043E", -1, 1), + new Among("\u0435\u043C\u0443", -1, 1), + new Among("\u043E\u043C\u0443", -1, 1), + new Among("\u0438\u0445", -1, 1), + new Among("\u044B\u0445", -1, 1), + new Among("\u0435\u044E", -1, 1), + new Among("\u043E\u044E", -1, 1), + new Among("\u0443\u044E", -1, 1), + new Among("\u044E\u044E", -1, 1), + new Among("\u0430\u044F", -1, 1), + new Among("\u044F\u044F", -1, 1) +}; - private final static Among a_0[] = { - new Among ( "\u0432", -1, 1, "", methodObject ), - new Among ( "\u0438\u0432", 0, 2, "", methodObject ), - new Among ( "\u044B\u0432", 0, 2, "", methodObject ), - new Among ( "\u0432\u0448\u0438", -1, 1, "", methodObject ), - new Among ( "\u0438\u0432\u0448\u0438", 3, 2, "", methodObject ), - new Among ( "\u044B\u0432\u0448\u0438", 3, 2, "", methodObject ), - new Among ( "\u0432\u0448\u0438\u0441\u044C", -1, 1, "", methodObject ), - new Among ( "\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2, "", methodObject ), - new Among ( "\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("\u0435\u043C", -1, 1), + new Among("\u043D\u043D", -1, 1), + new Among("\u0432\u0448", -1, 1), + new Among("\u0438\u0432\u0448", 2, 2), + new Among("\u044B\u0432\u0448", 2, 2), + new Among("\u0449", -1, 1), + new Among("\u044E\u0449", 5, 1), + new Among("\u0443\u044E\u0449", 6, 2) +}; - private final static Among a_1[] = { - new Among ( "\u0435\u0435", -1, 1, "", methodObject ), - new Among ( "\u0438\u0435", -1, 1, "", methodObject ), - new Among ( "\u043E\u0435", -1, 1, "", methodObject ), - new Among ( "\u044B\u0435", -1, 1, "", methodObject ), - new Among ( "\u0438\u043C\u0438", -1, 1, "", methodObject ), - new Among ( "\u044B\u043C\u0438", -1, 1, "", methodObject ), - new Among ( "\u0435\u0439", -1, 1, "", methodObject ), - new Among ( "\u0438\u0439", -1, 1, "", methodObject ), - new Among ( "\u043E\u0439", -1, 1, "", methodObject ), - new Among ( "\u044B\u0439", -1, 1, "", methodObject ), - new Among ( "\u0435\u043C", -1, 1, "", methodObject ), - new Among ( "\u0438\u043C", -1, 1, "", methodObject ), - new Among ( "\u043E\u043C", -1, 1, "", methodObject ), - new Among ( "\u044B\u043C", -1, 1, "", methodObject ), - new Among ( "\u0435\u0433\u043E", -1, 1, "", methodObject ), - new Among ( "\u043E\u0433\u043E", -1, 1, "", methodObject ), - new Among ( "\u0435\u043C\u0443", -1, 1, "", methodObject ), - new Among ( "\u043E\u043C\u0443", -1, 1, "", methodObject ), - new Among ( "\u0438\u0445", -1, 1, "", methodObject ), - new Among ( "\u044B\u0445", -1, 1, "", methodObject ), - new Among ( "\u0435\u044E", -1, 1, "", methodObject ), - new Among ( "\u043E\u044E", -1, 1, "", methodObject ), - new Among ( "\u0443\u044E", -1, 1, "", methodObject ), - new Among ( "\u044E\u044E", -1, 1, "", methodObject ), - new Among ( "\u0430\u044F", -1, 1, "", methodObject ), - new Among ( "\u044F\u044F", -1, 1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("\u0441\u044C", -1, 1), + new Among("\u0441\u044F", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "\u0435\u043C", -1, 1, "", methodObject ), - new Among ( "\u043D\u043D", -1, 1, "", methodObject ), - new Among ( "\u0432\u0448", -1, 1, "", methodObject ), - new Among ( "\u0438\u0432\u0448", 2, 2, "", methodObject ), - new Among ( "\u044B\u0432\u0448", 2, 2, "", methodObject ), - new Among ( "\u0449", -1, 1, "", methodObject ), - new Among ( "\u044E\u0449", 5, 1, "", methodObject ), - new Among ( "\u0443\u044E\u0449", 6, 2, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("\u043B\u0430", -1, 1), + new Among("\u0438\u043B\u0430", 0, 2), + new Among("\u044B\u043B\u0430", 0, 2), + new Among("\u043D\u0430", -1, 1), + new Among("\u0435\u043D\u0430", 3, 2), + new Among("\u0435\u0442\u0435", -1, 1), + new Among("\u0438\u0442\u0435", -1, 2), + new Among("\u0439\u0442\u0435", -1, 1), + new Among("\u0435\u0439\u0442\u0435", 7, 2), + new Among("\u0443\u0439\u0442\u0435", 7, 2), + new Among("\u043B\u0438", -1, 1), + new Among("\u0438\u043B\u0438", 10, 2), + new Among("\u044B\u043B\u0438", 10, 2), + new Among("\u0439", -1, 1), + new Among("\u0435\u0439", 13, 2), + new Among("\u0443\u0439", 13, 2), + new Among("\u043B", -1, 1), + new Among("\u0438\u043B", 16, 2), + new Among("\u044B\u043B", 16, 2), + new Among("\u0435\u043C", -1, 1), + new Among("\u0438\u043C", -1, 2), + new Among("\u044B\u043C", -1, 2), + new Among("\u043D", -1, 1), + new Among("\u0435\u043D", 22, 2), + new Among("\u043B\u043E", -1, 1), + new Among("\u0438\u043B\u043E", 24, 2), + new Among("\u044B\u043B\u043E", 24, 2), + new Among("\u043D\u043E", -1, 1), + new Among("\u0435\u043D\u043E", 27, 2), + new Among("\u043D\u043D\u043E", 27, 1), + new Among("\u0435\u0442", -1, 1), + new Among("\u0443\u0435\u0442", 30, 2), + new Among("\u0438\u0442", -1, 2), + new Among("\u044B\u0442", -1, 2), + new Among("\u044E\u0442", -1, 1), + new Among("\u0443\u044E\u0442", 34, 2), + new Among("\u044F\u0442", -1, 2), + new Among("\u043D\u044B", -1, 1), + new Among("\u0435\u043D\u044B", 37, 2), + new Among("\u0442\u044C", -1, 1), + new Among("\u0438\u0442\u044C", 39, 2), + new Among("\u044B\u0442\u044C", 39, 2), + new Among("\u0435\u0448\u044C", -1, 1), + new Among("\u0438\u0448\u044C", -1, 2), + new Among("\u044E", -1, 2), + new Among("\u0443\u044E", 44, 2) +}; - private final static Among a_3[] = { - new Among ( "\u0441\u044C", -1, 1, "", methodObject ), - new Among ( "\u0441\u044F", -1, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("\u0430", -1, 1), + new Among("\u0435\u0432", -1, 1), + new Among("\u043E\u0432", -1, 1), + new Among("\u0435", -1, 1), + new Among("\u0438\u0435", 3, 1), + new Among("\u044C\u0435", 3, 1), + new Among("\u0438", -1, 1), + new Among("\u0435\u0438", 6, 1), + new Among("\u0438\u0438", 6, 1), + new Among("\u0430\u043C\u0438", 6, 1), + new Among("\u044F\u043C\u0438", 6, 1), + new Among("\u0438\u044F\u043C\u0438", 10, 1), + new Among("\u0439", -1, 1), + new Among("\u0435\u0439", 12, 1), + new Among("\u0438\u0435\u0439", 13, 1), + new Among("\u0438\u0439", 12, 1), + new Among("\u043E\u0439", 12, 1), + new Among("\u0430\u043C", -1, 1), + new Among("\u0435\u043C", -1, 1), + new Among("\u0438\u0435\u043C", 18, 1), + new Among("\u043E\u043C", -1, 1), + new Among("\u044F\u043C", -1, 1), + new Among("\u0438\u044F\u043C", 21, 1), + new Among("\u043E", -1, 1), + new Among("\u0443", -1, 1), + new Among("\u0430\u0445", -1, 1), + new Among("\u044F\u0445", -1, 1), + new Among("\u0438\u044F\u0445", 26, 1), + new Among("\u044B", -1, 1), + new Among("\u044C", -1, 1), + new Among("\u044E", -1, 1), + new Among("\u0438\u044E", 30, 1), + new Among("\u044C\u044E", 30, 1), + new Among("\u044F", -1, 1), + new Among("\u0438\u044F", 33, 1), + new Among("\u044C\u044F", 33, 1) +}; - private final static Among a_4[] = { - new Among ( "\u043B\u0430", -1, 1, "", methodObject ), - new Among ( "\u0438\u043B\u0430", 0, 2, "", methodObject ), - new Among ( "\u044B\u043B\u0430", 0, 2, "", methodObject ), - new Among ( "\u043D\u0430", -1, 1, "", methodObject ), - new Among ( "\u0435\u043D\u0430", 3, 2, "", methodObject ), - new Among ( "\u0435\u0442\u0435", -1, 1, "", methodObject ), - new Among ( "\u0438\u0442\u0435", -1, 2, "", methodObject ), - new Among ( "\u0439\u0442\u0435", -1, 1, "", methodObject ), - new Among ( "\u0435\u0439\u0442\u0435", 7, 2, "", methodObject ), - new Among ( "\u0443\u0439\u0442\u0435", 7, 2, "", methodObject ), - new Among ( "\u043B\u0438", -1, 1, "", methodObject ), - new Among ( "\u0438\u043B\u0438", 10, 2, "", methodObject ), - new Among ( "\u044B\u043B\u0438", 10, 2, "", methodObject ), - new Among ( "\u0439", -1, 1, "", methodObject ), - new Among ( "\u0435\u0439", 13, 2, "", methodObject ), - new Among ( "\u0443\u0439", 13, 2, "", methodObject ), - new Among ( "\u043B", -1, 1, "", methodObject ), - new Among ( "\u0438\u043B", 16, 2, "", methodObject ), - new Among ( "\u044B\u043B", 16, 2, "", methodObject ), - new Among ( "\u0435\u043C", -1, 1, "", methodObject ), - new Among ( "\u0438\u043C", -1, 2, "", methodObject ), - new Among ( "\u044B\u043C", -1, 2, "", methodObject ), - new Among ( "\u043D", -1, 1, "", methodObject ), - new Among ( "\u0435\u043D", 22, 2, "", methodObject ), - new Among ( "\u043B\u043E", -1, 1, "", methodObject ), - new Among ( "\u0438\u043B\u043E", 24, 2, "", methodObject ), - new Among ( "\u044B\u043B\u043E", 24, 2, "", methodObject ), - new Among ( "\u043D\u043E", -1, 1, "", methodObject ), - new Among ( "\u0435\u043D\u043E", 27, 2, "", methodObject ), - new Among ( "\u043D\u043D\u043E", 27, 1, "", methodObject ), - new Among ( "\u0435\u0442", -1, 1, "", methodObject ), - new Among ( "\u0443\u0435\u0442", 30, 2, "", methodObject ), - new Among ( "\u0438\u0442", -1, 2, "", methodObject ), - new Among ( "\u044B\u0442", -1, 2, "", methodObject ), - new Among ( "\u044E\u0442", -1, 1, "", methodObject ), - new Among ( "\u0443\u044E\u0442", 34, 2, "", methodObject ), - new Among ( "\u044F\u0442", -1, 2, "", methodObject ), - new Among ( "\u043D\u044B", -1, 1, "", methodObject ), - new Among ( "\u0435\u043D\u044B", 37, 2, "", methodObject ), - new Among ( "\u0442\u044C", -1, 1, "", methodObject ), - new Among ( "\u0438\u0442\u044C", 39, 2, "", methodObject ), - new Among ( "\u044B\u0442\u044C", 39, 2, "", methodObject ), - new Among ( "\u0435\u0448\u044C", -1, 1, "", methodObject ), - new Among ( "\u0438\u0448\u044C", -1, 2, "", methodObject ), - new Among ( "\u044E", -1, 2, "", methodObject ), - new Among ( "\u0443\u044E", 44, 2, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("\u043E\u0441\u0442", -1, 1), + new Among("\u043E\u0441\u0442\u044C", -1, 1) +}; - private final static Among a_5[] = { - new Among ( "\u0430", -1, 1, "", methodObject ), - new Among ( "\u0435\u0432", -1, 1, "", methodObject ), - new Among ( "\u043E\u0432", -1, 1, "", methodObject ), - new Among ( "\u0435", -1, 1, "", methodObject ), - new Among ( "\u0438\u0435", 3, 1, "", methodObject ), - new Among ( "\u044C\u0435", 3, 1, "", methodObject ), - new Among ( "\u0438", -1, 1, "", methodObject ), - new Among ( "\u0435\u0438", 6, 1, "", methodObject ), - new Among ( "\u0438\u0438", 6, 1, "", methodObject ), - new Among ( "\u0430\u043C\u0438", 6, 1, "", methodObject ), - new Among ( "\u044F\u043C\u0438", 6, 1, "", methodObject ), - new Among ( "\u0438\u044F\u043C\u0438", 10, 1, "", methodObject ), - new Among ( "\u0439", -1, 1, "", methodObject ), - new Among ( "\u0435\u0439", 12, 1, "", methodObject ), - new Among ( "\u0438\u0435\u0439", 13, 1, "", methodObject ), - new Among ( "\u0438\u0439", 12, 1, "", methodObject ), - new Among ( "\u043E\u0439", 12, 1, "", methodObject ), - new Among ( "\u0430\u043C", -1, 1, "", methodObject ), - new Among ( "\u0435\u043C", -1, 1, "", methodObject ), - new Among ( "\u0438\u0435\u043C", 18, 1, "", methodObject ), - new Among ( "\u043E\u043C", -1, 1, "", methodObject ), - new Among ( "\u044F\u043C", -1, 1, "", methodObject ), - new Among ( "\u0438\u044F\u043C", 21, 1, "", methodObject ), - new Among ( "\u043E", -1, 1, "", methodObject ), - new Among ( "\u0443", -1, 1, "", methodObject ), - new Among ( "\u0430\u0445", -1, 1, "", methodObject ), - new Among ( "\u044F\u0445", -1, 1, "", methodObject ), - new Among ( "\u0438\u044F\u0445", 26, 1, "", methodObject ), - new Among ( "\u044B", -1, 1, "", methodObject ), - new Among ( "\u044C", -1, 1, "", methodObject ), - new Among ( "\u044E", -1, 1, "", methodObject ), - new Among ( "\u0438\u044E", 30, 1, "", methodObject ), - new Among ( "\u044C\u044E", 30, 1, "", methodObject ), - new Among ( "\u044F", -1, 1, "", methodObject ), - new Among ( "\u0438\u044F", 33, 1, "", methodObject ), - new Among ( "\u044C\u044F", 33, 1, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("\u0435\u0439\u0448\u0435", -1, 1), + new Among("\u043D", -1, 2), + new Among("\u0435\u0439\u0448", -1, 1), + new Among("\u044C", -1, 3) +}; - private final static Among a_6[] = { - new Among ( "\u043E\u0441\u0442", -1, 1, "", methodObject ), - new Among ( "\u043E\u0441\u0442\u044C", -1, 1, "", methodObject ) - }; +private static final char g_v[] = {33, 65, 8, 232 }; - private final static Among a_7[] = { - new Among ( "\u0435\u0439\u0448\u0435", -1, 1, "", methodObject ), - new Among ( "\u043D", -1, 2, "", methodObject ), - new Among ( "\u0435\u0439\u0448", -1, 1, "", methodObject ), - new Among ( "\u044C", -1, 3, "", methodObject ) - }; +private int I_p2; +private int I_pV; - private static final char g_v[] = {33, 65, 8, 232 }; - private int I_p2; - private int I_pV; - - private void copy_from(RussianStemmer other) { - I_p2 = other.I_p2; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - // (, line 57 - I_pV = limit; - I_p2 = limit; - // do, line 61 - v_1 = cursor; - lab0: do { - // (, line 61 - // gopast, line 62 - golab1: while(true) - { - lab2: do { - if (!(in_grouping(g_v, 1072, 1103))) - { - break lab2; - } - break golab1; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark pV, line 62 - I_pV = cursor; - // gopast, line 62 - golab3: while(true) - { - lab4: do { - if (!(out_grouping(g_v, 1072, 1103))) - { - break lab4; - } - break golab3; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 63 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 1072, 1103))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // gopast, line 63 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 1072, 1103))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab0; - } - cursor++; - } - // setmark p2, line 63 - I_p2 = cursor; - } while (false); - cursor = v_1; - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_perfective_gerund() { - int among_var; - int v_1; - // (, line 71 - // [, line 72 - ket = cursor; - // substring, line 72 - among_var = find_among_b(a_0, 9); - if (among_var == 0) - { - return false; - } - // ], line 72 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 76 - // or, line 76 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 76 - if (!(eq_s_b(1, "\u0430"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 76 - if (!(eq_s_b(1, "\u044F"))) - { - return false; - } - } while (false); - // delete, line 76 - slice_del(); - break; - case 2: - // (, line 83 - // delete, line 83 - slice_del(); - break; - } - return true; - } - - private boolean r_adjective() { - int among_var; - // (, line 87 - // [, line 88 - ket = cursor; - // substring, line 88 - among_var = find_among_b(a_1, 26); - if (among_var == 0) - { - return false; - } - // ], line 88 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 97 - // delete, line 97 - slice_del(); - break; - } - return true; - } - - private boolean r_adjectival() { - int among_var; - int v_1; - int v_2; - // (, line 101 - // call adjective, line 102 - if (!r_adjective()) - { - return false; - } - // try, line 109 - v_1 = limit - cursor; - lab0: do { - // (, line 109 - // [, line 110 - ket = cursor; - // substring, line 110 - among_var = find_among_b(a_2, 8); - if (among_var == 0) - { - cursor = limit - v_1; - break lab0; - } - // ], line 110 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_1; - break lab0; - case 1: - // (, line 115 - // or, line 115 - lab1: do { - v_2 = limit - cursor; - lab2: do { - // literal, line 115 - if (!(eq_s_b(1, "\u0430"))) - { - break lab2; - } - break lab1; - } while (false); - cursor = limit - v_2; - // literal, line 115 - if (!(eq_s_b(1, "\u044F"))) - { - cursor = limit - v_1; - break lab0; - } - } while (false); - // delete, line 115 - slice_del(); - break; - case 2: - // (, line 122 - // delete, line 122 - slice_del(); - break; - } - } while (false); - return true; - } - - private boolean r_reflexive() { - int among_var; - // (, line 128 - // [, line 129 - ket = cursor; - // substring, line 129 - among_var = find_among_b(a_3, 2); - if (among_var == 0) - { - return false; - } - // ], line 129 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 132 - // delete, line 132 - slice_del(); - break; - } - return true; - } - - private boolean r_verb() { - int among_var; - int v_1; - // (, line 136 - // [, line 137 - ket = cursor; - // substring, line 137 - among_var = find_among_b(a_4, 46); - if (among_var == 0) - { - return false; - } - // ], line 137 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 143 - // or, line 143 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // literal, line 143 - if (!(eq_s_b(1, "\u0430"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_1; - // literal, line 143 - if (!(eq_s_b(1, "\u044F"))) - { - return false; - } - } while (false); - // delete, line 143 - slice_del(); - break; - case 2: - // (, line 151 - // delete, line 151 - slice_del(); - break; - } - return true; - } - - private boolean r_noun() { - int among_var; - // (, line 159 - // [, line 160 - ket = cursor; - // substring, line 160 - among_var = find_among_b(a_5, 36); - if (among_var == 0) - { - return false; - } - // ], line 160 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 167 - // delete, line 167 - slice_del(); - break; - } - return true; - } - - private boolean r_derivational() { - int among_var; - // (, line 175 - // [, line 176 - ket = cursor; - // substring, line 176 - among_var = find_among_b(a_6, 2); - if (among_var == 0) - { - return false; - } - // ], line 176 - bra = cursor; - // call R2, line 176 - if (!r_R2()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 179 - // delete, line 179 - slice_del(); - break; - } - return true; - } - - private boolean r_tidy_up() { - int among_var; - // (, line 183 - // [, line 184 - ket = cursor; - // substring, line 184 - among_var = find_among_b(a_7, 4); - if (among_var == 0) - { - return false; - } - // ], line 184 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 188 - // delete, line 188 - slice_del(); - // [, line 189 - ket = cursor; - // literal, line 189 - if (!(eq_s_b(1, "\u043D"))) - { - return false; - } - // ], line 189 - bra = cursor; - // literal, line 189 - if (!(eq_s_b(1, "\u043D"))) - { - return false; - } - // delete, line 189 - slice_del(); - break; - case 2: - // (, line 192 - // literal, line 192 - if (!(eq_s_b(1, "\u043D"))) - { - return false; - } - // delete, line 192 - slice_del(); - break; - case 3: - // (, line 194 - // delete, line 194 - slice_del(); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 199 - // do, line 201 - v_1 = cursor; - lab0: do { - // call mark_regions, line 201 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 202 - limit_backward = cursor; cursor = limit; - // setlimit, line 202 - v_2 = limit - cursor; - // tomark, line 202 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_3 = limit_backward; - limit_backward = cursor; - cursor = limit - v_2; - // (, line 202 - // do, line 203 - v_4 = limit - cursor; - lab1: do { - // (, line 203 - // or, line 204 - lab2: do { - v_5 = limit - cursor; - lab3: do { - // call perfective_gerund, line 204 - if (!r_perfective_gerund()) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_5; - // (, line 205 - // try, line 205 - v_6 = limit - cursor; - lab4: do { - // call reflexive, line 205 - if (!r_reflexive()) - { - cursor = limit - v_6; - break lab4; - } - } while (false); - // or, line 206 - lab5: do { - v_7 = limit - cursor; - lab6: do { - // call adjectival, line 206 - if (!r_adjectival()) - { - break lab6; - } - break lab5; - } while (false); - cursor = limit - v_7; - lab7: do { - // call verb, line 206 - if (!r_verb()) - { - break lab7; - } - break lab5; - } while (false); - cursor = limit - v_7; - // call noun, line 206 - if (!r_noun()) - { - break lab1; - } - } while (false); - } while (false); - } while (false); - cursor = limit - v_4; - // try, line 209 - v_8 = limit - cursor; - lab8: do { - // (, line 209 - // [, line 209 - ket = cursor; - // literal, line 209 - if (!(eq_s_b(1, "\u0438"))) - { - cursor = limit - v_8; - break lab8; - } - // ], line 209 - bra = cursor; - // delete, line 209 - slice_del(); - } while (false); - // do, line 212 - v_9 = limit - cursor; - lab9: do { - // call derivational, line 212 - if (!r_derivational()) - { - break lab9; - } - } while (false); - cursor = limit - v_9; - // do, line 213 - v_10 = limit - cursor; - lab10: do { - // call tidy_up, line 213 - if (!r_tidy_up()) - { - break lab10; - } - } while (false); - cursor = limit - v_10; - limit_backward = v_3; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof RussianStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_v, 1072, 1103))) + { + break lab2; } - - @Override - public int hashCode() { - return RussianStemmer.class.getName().hashCode(); + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_pV = cursor; + golab3: while(true) + { + lab4: { + if (!(out_grouping(g_v, 1072, 1103))) + { + break lab4; } + break golab3; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 1072, 1103))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 1072, 1103))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_1; + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_perfective_gerund() { + int among_var; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("\u0430"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("\u044F"))) + { + return false; + } + } + slice_del(); + break; + case 2: + slice_del(); + break; + } + return true; +} + +private boolean r_adjective() { + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_adjectival() { + int among_var; + if (!r_adjective()) + { + return false; + } + int v_1 = limit - cursor; + lab0: { + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + switch (among_var) { + case 1: + lab1: { + int v_2 = limit - cursor; + lab2: { + if (!(eq_s_b("\u0430"))) + { + break lab2; + } + break lab1; + } + cursor = limit - v_2; + if (!(eq_s_b("\u044F"))) + { + cursor = limit - v_1; + break lab0; + } + } + slice_del(); + break; + case 2: + slice_del(); + break; + } + } + return true; +} + +private boolean r_reflexive() { + ket = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_verb() { + int among_var; + ket = cursor; + among_var = find_among_b(a_4); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("\u0430"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_1; + if (!(eq_s_b("\u044F"))) + { + return false; + } + } + slice_del(); + break; + case 2: + slice_del(); + break; + } + return true; +} + +private boolean r_noun() { + ket = cursor; + if (find_among_b(a_5) == 0) + { + return false; + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_derivational() { + ket = cursor; + if (find_among_b(a_6) == 0) + { + return false; + } + bra = cursor; + if (!r_R2()) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_tidy_up() { + int among_var; + ket = cursor; + among_var = find_among_b(a_7); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_del(); + ket = cursor; + if (!(eq_s_b("\u043D"))) + { + return false; + } + bra = cursor; + if (!(eq_s_b("\u043D"))) + { + return false; + } + slice_del(); + break; + case 2: + if (!(eq_s_b("\u043D"))) + { + return false; + } + slice_del(); + break; + case 3: + slice_del(); + break; + } + return true; +} + +public boolean stem() { + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + golab2: while(true) + { + int v_3 = cursor; + lab3: { + bra = cursor; + if (!(eq_s("\u0451"))) + { + break lab3; + } + ket = cursor; + cursor = v_3; + break golab2; + } + cursor = v_3; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + slice_from("\u0435"); + continue; + } + cursor = v_2; + break; + } + } + cursor = v_1; + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + if (cursor < I_pV) + { + return false; + } + int v_6 = limit_backward; + limit_backward = I_pV; + int v_7 = limit - cursor; + lab4: { + lab5: { + int v_8 = limit - cursor; + lab6: { + if (!r_perfective_gerund()) + { + break lab6; + } + break lab5; + } + cursor = limit - v_8; + int v_9 = limit - cursor; + lab7: { + if (!r_reflexive()) + { + cursor = limit - v_9; + break lab7; + } + } + lab8: { + int v_10 = limit - cursor; + lab9: { + if (!r_adjectival()) + { + break lab9; + } + break lab8; + } + cursor = limit - v_10; + lab10: { + if (!r_verb()) + { + break lab10; + } + break lab8; + } + cursor = limit - v_10; + if (!r_noun()) + { + break lab4; + } + } + } + } + cursor = limit - v_7; + int v_11 = limit - cursor; + lab11: { + ket = cursor; + if (!(eq_s_b("\u0438"))) + { + cursor = limit - v_11; + break lab11; + } + bra = cursor; + slice_del(); + } + int v_12 = limit - cursor; + r_derivational(); + cursor = limit - v_12; + int v_13 = limit - cursor; + r_tidy_up(); + cursor = limit - v_13; + limit_backward = v_6; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof RussianStemmer; +} + +@Override +public int hashCode() { + return RussianStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SerbianStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SerbianStemmer.java new file mode 100644 index 00000000000..2902b917290 --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SerbianStemmer.java @@ -0,0 +1,3753 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class SerbianStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("\u0430", -1, 1), + new Among("\u0431", -1, 2), + new Among("\u0432", -1, 3), + new Among("\u0433", -1, 4), + new Among("\u0434", -1, 5), + new Among("\u0435", -1, 7), + new Among("\u0436", -1, 8), + new Among("\u0437", -1, 9), + new Among("\u0438", -1, 10), + new Among("\u043A", -1, 12), + new Among("\u043B", -1, 13), + new Among("\u043C", -1, 15), + new Among("\u043D", -1, 16), + new Among("\u043E", -1, 18), + new Among("\u043F", -1, 19), + new Among("\u0440", -1, 20), + new Among("\u0441", -1, 21), + new Among("\u0442", -1, 22), + new Among("\u0443", -1, 24), + new Among("\u0444", -1, 25), + new Among("\u0445", -1, 26), + new Among("\u0446", -1, 27), + new Among("\u0447", -1, 28), + new Among("\u0448", -1, 30), + new Among("\u0452", -1, 6), + new Among("\u0458", -1, 11), + new Among("\u0459", -1, 14), + new Among("\u045A", -1, 17), + new Among("\u045B", -1, 23), + new Among("\u045F", -1, 29) +}; + +private final static Among a_1[] = { + new Among("daba", -1, 73), + new Among("ajaca", -1, 12), + new Among("ejaca", -1, 14), + new Among("ljaca", -1, 13), + new Among("njaca", -1, 85), + new Among("ojaca", -1, 15), + new Among("alaca", -1, 82), + new Among("elaca", -1, 83), + new Among("olaca", -1, 84), + new Among("maca", -1, 75), + new Among("naca", -1, 76), + new Among("raca", -1, 81), + new Among("saca", -1, 80), + new Among("vaca", -1, 79), + new Among("\u0161aca", -1, 18), + new Among("aoca", -1, 82), + new Among("acaka", -1, 55), + new Among("ajaka", -1, 16), + new Among("ojaka", -1, 17), + new Among("anaka", -1, 78), + new Among("ataka", -1, 58), + new Among("etaka", -1, 59), + new Among("itaka", -1, 60), + new Among("otaka", -1, 61), + new Among("utaka", -1, 62), + new Among("a\u010Daka", -1, 54), + new Among("esama", -1, 67), + new Among("izama", -1, 87), + new Among("jacima", -1, 5), + new Among("nicima", -1, 23), + new Among("ticima", -1, 24), + new Among("teticima", 30, 21), + new Among("zicima", -1, 25), + new Among("atcima", -1, 58), + new Among("utcima", -1, 62), + new Among("\u010Dcima", -1, 74), + new Among("pesima", -1, 2), + new Among("inzima", -1, 19), + new Among("lozima", -1, 1), + new Among("metara", -1, 68), + new Among("centara", -1, 69), + new Among("istara", -1, 70), + new Among("ekata", -1, 86), + new Among("anata", -1, 53), + new Among("nstava", -1, 22), + new Among("kustava", -1, 29), + new Among("ajac", -1, 12), + new Among("ejac", -1, 14), + new Among("ljac", -1, 13), + new Among("njac", -1, 85), + new Among("anjac", 49, 11), + new Among("ojac", -1, 15), + new Among("alac", -1, 82), + new Among("elac", -1, 83), + new Among("olac", -1, 84), + new Among("mac", -1, 75), + new Among("nac", -1, 76), + new Among("rac", -1, 81), + new Among("sac", -1, 80), + new Among("vac", -1, 79), + new Among("\u0161ac", -1, 18), + new Among("jebe", -1, 88), + new Among("olce", -1, 84), + new Among("kuse", -1, 27), + new Among("rave", -1, 42), + new Among("save", -1, 52), + new Among("\u0161ave", -1, 51), + new Among("baci", -1, 89), + new Among("jaci", -1, 5), + new Among("tvenici", -1, 20), + new Among("snici", -1, 26), + new Among("tetici", -1, 21), + new Among("bojci", -1, 4), + new Among("vojci", -1, 3), + new Among("ojsci", -1, 66), + new Among("atci", -1, 58), + new Among("itci", -1, 60), + new Among("utci", -1, 62), + new Among("\u010Dci", -1, 74), + new Among("pesi", -1, 2), + new Among("inzi", -1, 19), + new Among("lozi", -1, 1), + new Among("acak", -1, 55), + new Among("usak", -1, 57), + new Among("atak", -1, 58), + new Among("etak", -1, 59), + new Among("itak", -1, 60), + new Among("otak", -1, 61), + new Among("utak", -1, 62), + new Among("a\u010Dak", -1, 54), + new Among("u\u0161ak", -1, 56), + new Among("izam", -1, 87), + new Among("tican", -1, 65), + new Among("cajan", -1, 7), + new Among("\u010Dajan", -1, 6), + new Among("voljan", -1, 77), + new Among("eskan", -1, 63), + new Among("alan", -1, 40), + new Among("bilan", -1, 33), + new Among("gilan", -1, 37), + new Among("nilan", -1, 39), + new Among("rilan", -1, 38), + new Among("silan", -1, 36), + new Among("tilan", -1, 34), + new Among("avilan", -1, 35), + new Among("laran", -1, 9), + new Among("eran", -1, 8), + new Among("asan", -1, 91), + new Among("esan", -1, 10), + new Among("dusan", -1, 31), + new Among("kusan", -1, 28), + new Among("atan", -1, 47), + new Among("pletan", -1, 50), + new Among("tetan", -1, 49), + new Among("antan", -1, 32), + new Among("pravan", -1, 44), + new Among("stavan", -1, 43), + new Among("sivan", -1, 46), + new Among("tivan", -1, 45), + new Among("ozan", -1, 41), + new Among("ti\u010Dan", -1, 64), + new Among("a\u0161an", -1, 90), + new Among("du\u0161an", -1, 30), + new Among("metar", -1, 68), + new Among("centar", -1, 69), + new Among("istar", -1, 70), + new Among("ekat", -1, 86), + new Among("enat", -1, 48), + new Among("oscu", -1, 72), + new Among("o\u0161\u0107u", -1, 71) +}; + +private final static Among a_2[] = { + new Among("aca", -1, 124), + new Among("eca", -1, 125), + new Among("uca", -1, 126), + new Among("ga", -1, 20), + new Among("acega", 3, 124), + new Among("ecega", 3, 125), + new Among("ucega", 3, 126), + new Among("anjijega", 3, 84), + new Among("enjijega", 3, 85), + new Among("snjijega", 3, 122), + new Among("\u0161njijega", 3, 86), + new Among("kijega", 3, 95), + new Among("skijega", 11, 1), + new Among("\u0161kijega", 11, 2), + new Among("elijega", 3, 83), + new Among("nijega", 3, 13), + new Among("osijega", 3, 123), + new Among("atijega", 3, 120), + new Among("evitijega", 3, 92), + new Among("ovitijega", 3, 93), + new Among("astijega", 3, 94), + new Among("avijega", 3, 77), + new Among("evijega", 3, 78), + new Among("ivijega", 3, 79), + new Among("ovijega", 3, 80), + new Among("o\u0161ijega", 3, 91), + new Among("anjega", 3, 84), + new Among("enjega", 3, 85), + new Among("snjega", 3, 122), + new Among("\u0161njega", 3, 86), + new Among("kega", 3, 95), + new Among("skega", 30, 1), + new Among("\u0161kega", 30, 2), + new Among("elega", 3, 83), + new Among("nega", 3, 13), + new Among("anega", 34, 10), + new Among("enega", 34, 87), + new Among("snega", 34, 159), + new Among("\u0161nega", 34, 88), + new Among("osega", 3, 123), + new Among("atega", 3, 120), + new Among("evitega", 3, 92), + new Among("ovitega", 3, 93), + new Among("astega", 3, 94), + new Among("avega", 3, 77), + new Among("evega", 3, 78), + new Among("ivega", 3, 79), + new Among("ovega", 3, 80), + new Among("a\u0107ega", 3, 14), + new Among("e\u0107ega", 3, 15), + new Among("u\u0107ega", 3, 16), + new Among("o\u0161ega", 3, 91), + new Among("acoga", 3, 124), + new Among("ecoga", 3, 125), + new Among("ucoga", 3, 126), + new Among("anjoga", 3, 84), + new Among("enjoga", 3, 85), + new Among("snjoga", 3, 122), + new Among("\u0161njoga", 3, 86), + new Among("koga", 3, 95), + new Among("skoga", 59, 1), + new Among("\u0161koga", 59, 2), + new Among("loga", 3, 19), + new Among("eloga", 62, 83), + new Among("noga", 3, 13), + new Among("cinoga", 64, 137), + new Among("\u010Dinoga", 64, 89), + new Among("osoga", 3, 123), + new Among("atoga", 3, 120), + new Among("evitoga", 3, 92), + new Among("ovitoga", 3, 93), + new Among("astoga", 3, 94), + new Among("avoga", 3, 77), + new Among("evoga", 3, 78), + new Among("ivoga", 3, 79), + new Among("ovoga", 3, 80), + new Among("a\u0107oga", 3, 14), + new Among("e\u0107oga", 3, 15), + new Among("u\u0107oga", 3, 16), + new Among("o\u0161oga", 3, 91), + new Among("uga", 3, 18), + new Among("aja", -1, 109), + new Among("caja", 81, 26), + new Among("laja", 81, 30), + new Among("raja", 81, 31), + new Among("\u0107aja", 81, 28), + new Among("\u010Daja", 81, 27), + new Among("\u0111aja", 81, 29), + new Among("bija", -1, 32), + new Among("cija", -1, 33), + new Among("dija", -1, 34), + new Among("fija", -1, 40), + new Among("gija", -1, 39), + new Among("anjija", -1, 84), + new Among("enjija", -1, 85), + new Among("snjija", -1, 122), + new Among("\u0161njija", -1, 86), + new Among("kija", -1, 95), + new Among("skija", 97, 1), + new Among("\u0161kija", 97, 2), + new Among("lija", -1, 24), + new Among("elija", 100, 83), + new Among("mija", -1, 37), + new Among("nija", -1, 13), + new Among("ganija", 103, 9), + new Among("manija", 103, 6), + new Among("panija", 103, 7), + new Among("ranija", 103, 8), + new Among("tanija", 103, 5), + new Among("pija", -1, 41), + new Among("rija", -1, 42), + new Among("rarija", 110, 21), + new Among("sija", -1, 23), + new Among("osija", 112, 123), + new Among("tija", -1, 44), + new Among("atija", 114, 120), + new Among("evitija", 114, 92), + new Among("ovitija", 114, 93), + new Among("otija", 114, 22), + new Among("astija", 114, 94), + new Among("avija", -1, 77), + new Among("evija", -1, 78), + new Among("ivija", -1, 79), + new Among("ovija", -1, 80), + new Among("zija", -1, 45), + new Among("o\u0161ija", -1, 91), + new Among("\u017Eija", -1, 38), + new Among("anja", -1, 84), + new Among("enja", -1, 85), + new Among("snja", -1, 122), + new Among("\u0161nja", -1, 86), + new Among("ka", -1, 95), + new Among("ska", 131, 1), + new Among("\u0161ka", 131, 2), + new Among("ala", -1, 104), + new Among("acala", 134, 128), + new Among("astajala", 134, 106), + new Among("istajala", 134, 107), + new Among("ostajala", 134, 108), + new Among("ijala", 134, 47), + new Among("injala", 134, 114), + new Among("nala", 134, 46), + new Among("irala", 134, 100), + new Among("urala", 134, 105), + new Among("tala", 134, 113), + new Among("astala", 144, 110), + new Among("istala", 144, 111), + new Among("ostala", 144, 112), + new Among("avala", 134, 97), + new Among("evala", 134, 96), + new Among("ivala", 134, 98), + new Among("ovala", 134, 76), + new Among("uvala", 134, 99), + new Among("a\u010Dala", 134, 102), + new Among("ela", -1, 83), + new Among("ila", -1, 116), + new Among("acila", 155, 124), + new Among("lucila", 155, 121), + new Among("nila", 155, 103), + new Among("astanila", 158, 110), + new Among("istanila", 158, 111), + new Among("ostanila", 158, 112), + new Among("rosila", 155, 127), + new Among("jetila", 155, 118), + new Among("ozila", 155, 48), + new Among("a\u010Dila", 155, 101), + new Among("lu\u010Dila", 155, 117), + new Among("ro\u0161ila", 155, 90), + new Among("ola", -1, 50), + new Among("asla", -1, 115), + new Among("nula", -1, 13), + new Among("gama", -1, 20), + new Among("logama", 171, 19), + new Among("ugama", 171, 18), + new Among("ajama", -1, 109), + new Among("cajama", 174, 26), + new Among("lajama", 174, 30), + new Among("rajama", 174, 31), + new Among("\u0107ajama", 174, 28), + new Among("\u010Dajama", 174, 27), + new Among("\u0111ajama", 174, 29), + new Among("bijama", -1, 32), + new Among("cijama", -1, 33), + new Among("dijama", -1, 34), + new Among("fijama", -1, 40), + new Among("gijama", -1, 39), + new Among("lijama", -1, 35), + new Among("mijama", -1, 37), + new Among("nijama", -1, 36), + new Among("ganijama", 188, 9), + new Among("manijama", 188, 6), + new Among("panijama", 188, 7), + new Among("ranijama", 188, 8), + new Among("tanijama", 188, 5), + new Among("pijama", -1, 41), + new Among("rijama", -1, 42), + new Among("sijama", -1, 43), + new Among("tijama", -1, 44), + new Among("zijama", -1, 45), + new Among("\u017Eijama", -1, 38), + new Among("alama", -1, 104), + new Among("ijalama", 200, 47), + new Among("nalama", 200, 46), + new Among("elama", -1, 119), + new Among("ilama", -1, 116), + new Among("ramama", -1, 52), + new Among("lemama", -1, 51), + new Among("inama", -1, 11), + new Among("cinama", 207, 137), + new Among("\u010Dinama", 207, 89), + new Among("rama", -1, 52), + new Among("arama", 210, 53), + new Among("drama", 210, 54), + new Among("erama", 210, 55), + new Among("orama", 210, 56), + new Among("basama", -1, 135), + new Among("gasama", -1, 131), + new Among("jasama", -1, 129), + new Among("kasama", -1, 133), + new Among("nasama", -1, 132), + new Among("tasama", -1, 130), + new Among("vasama", -1, 134), + new Among("esama", -1, 152), + new Among("isama", -1, 154), + new Among("etama", -1, 70), + new Among("estama", -1, 71), + new Among("istama", -1, 72), + new Among("kstama", -1, 73), + new Among("ostama", -1, 74), + new Among("avama", -1, 77), + new Among("evama", -1, 78), + new Among("ivama", -1, 79), + new Among("ba\u0161ama", -1, 63), + new Among("ga\u0161ama", -1, 64), + new Among("ja\u0161ama", -1, 61), + new Among("ka\u0161ama", -1, 62), + new Among("na\u0161ama", -1, 60), + new Among("ta\u0161ama", -1, 59), + new Among("va\u0161ama", -1, 65), + new Among("e\u0161ama", -1, 66), + new Among("i\u0161ama", -1, 67), + new Among("lema", -1, 51), + new Among("acima", -1, 124), + new Among("ecima", -1, 125), + new Among("ucima", -1, 126), + new Among("ajima", -1, 109), + new Among("cajima", 245, 26), + new Among("lajima", 245, 30), + new Among("rajima", 245, 31), + new Among("\u0107ajima", 245, 28), + new Among("\u010Dajima", 245, 27), + new Among("\u0111ajima", 245, 29), + new Among("bijima", -1, 32), + new Among("cijima", -1, 33), + new Among("dijima", -1, 34), + new Among("fijima", -1, 40), + new Among("gijima", -1, 39), + new Among("anjijima", -1, 84), + new Among("enjijima", -1, 85), + new Among("snjijima", -1, 122), + new Among("\u0161njijima", -1, 86), + new Among("kijima", -1, 95), + new Among("skijima", 261, 1), + new Among("\u0161kijima", 261, 2), + new Among("lijima", -1, 35), + new Among("elijima", 264, 83), + new Among("mijima", -1, 37), + new Among("nijima", -1, 13), + new Among("ganijima", 267, 9), + new Among("manijima", 267, 6), + new Among("panijima", 267, 7), + new Among("ranijima", 267, 8), + new Among("tanijima", 267, 5), + new Among("pijima", -1, 41), + new Among("rijima", -1, 42), + new Among("sijima", -1, 43), + new Among("osijima", 275, 123), + new Among("tijima", -1, 44), + new Among("atijima", 277, 120), + new Among("evitijima", 277, 92), + new Among("ovitijima", 277, 93), + new Among("astijima", 277, 94), + new Among("avijima", -1, 77), + new Among("evijima", -1, 78), + new Among("ivijima", -1, 79), + new Among("ovijima", -1, 80), + new Among("zijima", -1, 45), + new Among("o\u0161ijima", -1, 91), + new Among("\u017Eijima", -1, 38), + new Among("anjima", -1, 84), + new Among("enjima", -1, 85), + new Among("snjima", -1, 122), + new Among("\u0161njima", -1, 86), + new Among("kima", -1, 95), + new Among("skima", 293, 1), + new Among("\u0161kima", 293, 2), + new Among("alima", -1, 104), + new Among("ijalima", 296, 47), + new Among("nalima", 296, 46), + new Among("elima", -1, 83), + new Among("ilima", -1, 116), + new Among("ozilima", 300, 48), + new Among("olima", -1, 50), + new Among("lemima", -1, 51), + new Among("nima", -1, 13), + new Among("anima", 304, 10), + new Among("inima", 304, 11), + new Among("cinima", 306, 137), + new Among("\u010Dinima", 306, 89), + new Among("onima", 304, 12), + new Among("arima", -1, 53), + new Among("drima", -1, 54), + new Among("erima", -1, 55), + new Among("orima", -1, 56), + new Among("basima", -1, 135), + new Among("gasima", -1, 131), + new Among("jasima", -1, 129), + new Among("kasima", -1, 133), + new Among("nasima", -1, 132), + new Among("tasima", -1, 130), + new Among("vasima", -1, 134), + new Among("esima", -1, 57), + new Among("isima", -1, 58), + new Among("osima", -1, 123), + new Among("atima", -1, 120), + new Among("ikatima", 324, 68), + new Among("latima", 324, 69), + new Among("etima", -1, 70), + new Among("evitima", -1, 92), + new Among("ovitima", -1, 93), + new Among("astima", -1, 94), + new Among("estima", -1, 71), + new Among("istima", -1, 72), + new Among("kstima", -1, 73), + new Among("ostima", -1, 74), + new Among("i\u0161tima", -1, 75), + new Among("avima", -1, 77), + new Among("evima", -1, 78), + new Among("ajevima", 337, 109), + new Among("cajevima", 338, 26), + new Among("lajevima", 338, 30), + new Among("rajevima", 338, 31), + new Among("\u0107ajevima", 338, 28), + new Among("\u010Dajevima", 338, 27), + new Among("\u0111ajevima", 338, 29), + new Among("ivima", -1, 79), + new Among("ovima", -1, 80), + new Among("govima", 346, 20), + new Among("ugovima", 347, 17), + new Among("lovima", 346, 82), + new Among("olovima", 349, 49), + new Among("movima", 346, 81), + new Among("onovima", 346, 12), + new Among("stvima", -1, 3), + new Among("\u0161tvima", -1, 4), + new Among("a\u0107ima", -1, 14), + new Among("e\u0107ima", -1, 15), + new Among("u\u0107ima", -1, 16), + new Among("ba\u0161ima", -1, 63), + new Among("ga\u0161ima", -1, 64), + new Among("ja\u0161ima", -1, 61), + new Among("ka\u0161ima", -1, 62), + new Among("na\u0161ima", -1, 60), + new Among("ta\u0161ima", -1, 59), + new Among("va\u0161ima", -1, 65), + new Among("e\u0161ima", -1, 66), + new Among("i\u0161ima", -1, 67), + new Among("o\u0161ima", -1, 91), + new Among("na", -1, 13), + new Among("ana", 368, 10), + new Among("acana", 369, 128), + new Among("urana", 369, 105), + new Among("tana", 369, 113), + new Among("avana", 369, 97), + new Among("evana", 369, 96), + new Among("ivana", 369, 98), + new Among("uvana", 369, 99), + new Among("a\u010Dana", 369, 102), + new Among("acena", 368, 124), + new Among("lucena", 368, 121), + new Among("a\u010Dena", 368, 101), + new Among("lu\u010Dena", 368, 117), + new Among("ina", 368, 11), + new Among("cina", 382, 137), + new Among("anina", 382, 10), + new Among("\u010Dina", 382, 89), + new Among("ona", 368, 12), + new Among("ara", -1, 53), + new Among("dra", -1, 54), + new Among("era", -1, 55), + new Among("ora", -1, 56), + new Among("basa", -1, 135), + new Among("gasa", -1, 131), + new Among("jasa", -1, 129), + new Among("kasa", -1, 133), + new Among("nasa", -1, 132), + new Among("tasa", -1, 130), + new Among("vasa", -1, 134), + new Among("esa", -1, 57), + new Among("isa", -1, 58), + new Among("osa", -1, 123), + new Among("ata", -1, 120), + new Among("ikata", 401, 68), + new Among("lata", 401, 69), + new Among("eta", -1, 70), + new Among("evita", -1, 92), + new Among("ovita", -1, 93), + new Among("asta", -1, 94), + new Among("esta", -1, 71), + new Among("ista", -1, 72), + new Among("ksta", -1, 73), + new Among("osta", -1, 74), + new Among("nuta", -1, 13), + new Among("i\u0161ta", -1, 75), + new Among("ava", -1, 77), + new Among("eva", -1, 78), + new Among("ajeva", 415, 109), + new Among("cajeva", 416, 26), + new Among("lajeva", 416, 30), + new Among("rajeva", 416, 31), + new Among("\u0107ajeva", 416, 28), + new Among("\u010Dajeva", 416, 27), + new Among("\u0111ajeva", 416, 29), + new Among("iva", -1, 79), + new Among("ova", -1, 80), + new Among("gova", 424, 20), + new Among("ugova", 425, 17), + new Among("lova", 424, 82), + new Among("olova", 427, 49), + new Among("mova", 424, 81), + new Among("onova", 424, 12), + new Among("stva", -1, 3), + new Among("\u0161tva", -1, 4), + new Among("a\u0107a", -1, 14), + new Among("e\u0107a", -1, 15), + new Among("u\u0107a", -1, 16), + new Among("ba\u0161a", -1, 63), + new Among("ga\u0161a", -1, 64), + new Among("ja\u0161a", -1, 61), + new Among("ka\u0161a", -1, 62), + new Among("na\u0161a", -1, 60), + new Among("ta\u0161a", -1, 59), + new Among("va\u0161a", -1, 65), + new Among("e\u0161a", -1, 66), + new Among("i\u0161a", -1, 67), + new Among("o\u0161a", -1, 91), + new Among("ace", -1, 124), + new Among("ece", -1, 125), + new Among("uce", -1, 126), + new Among("luce", 448, 121), + new Among("astade", -1, 110), + new Among("istade", -1, 111), + new Among("ostade", -1, 112), + new Among("ge", -1, 20), + new Among("loge", 453, 19), + new Among("uge", 453, 18), + new Among("aje", -1, 104), + new Among("caje", 456, 26), + new Among("laje", 456, 30), + new Among("raje", 456, 31), + new Among("astaje", 456, 106), + new Among("istaje", 456, 107), + new Among("ostaje", 456, 108), + new Among("\u0107aje", 456, 28), + new Among("\u010Daje", 456, 27), + new Among("\u0111aje", 456, 29), + new Among("ije", -1, 116), + new Among("bije", 466, 32), + new Among("cije", 466, 33), + new Among("dije", 466, 34), + new Among("fije", 466, 40), + new Among("gije", 466, 39), + new Among("anjije", 466, 84), + new Among("enjije", 466, 85), + new Among("snjije", 466, 122), + new Among("\u0161njije", 466, 86), + new Among("kije", 466, 95), + new Among("skije", 476, 1), + new Among("\u0161kije", 476, 2), + new Among("lije", 466, 35), + new Among("elije", 479, 83), + new Among("mije", 466, 37), + new Among("nije", 466, 13), + new Among("ganije", 482, 9), + new Among("manije", 482, 6), + new Among("panije", 482, 7), + new Among("ranije", 482, 8), + new Among("tanije", 482, 5), + new Among("pije", 466, 41), + new Among("rije", 466, 42), + new Among("sije", 466, 43), + new Among("osije", 490, 123), + new Among("tije", 466, 44), + new Among("atije", 492, 120), + new Among("evitije", 492, 92), + new Among("ovitije", 492, 93), + new Among("astije", 492, 94), + new Among("avije", 466, 77), + new Among("evije", 466, 78), + new Among("ivije", 466, 79), + new Among("ovije", 466, 80), + new Among("zije", 466, 45), + new Among("o\u0161ije", 466, 91), + new Among("\u017Eije", 466, 38), + new Among("anje", -1, 84), + new Among("enje", -1, 85), + new Among("snje", -1, 122), + new Among("\u0161nje", -1, 86), + new Among("uje", -1, 25), + new Among("lucuje", 508, 121), + new Among("iruje", 508, 100), + new Among("lu\u010Duje", 508, 117), + new Among("ke", -1, 95), + new Among("ske", 512, 1), + new Among("\u0161ke", 512, 2), + new Among("ale", -1, 104), + new Among("acale", 515, 128), + new Among("astajale", 515, 106), + new Among("istajale", 515, 107), + new Among("ostajale", 515, 108), + new Among("ijale", 515, 47), + new Among("injale", 515, 114), + new Among("nale", 515, 46), + new Among("irale", 515, 100), + new Among("urale", 515, 105), + new Among("tale", 515, 113), + new Among("astale", 525, 110), + new Among("istale", 525, 111), + new Among("ostale", 525, 112), + new Among("avale", 515, 97), + new Among("evale", 515, 96), + new Among("ivale", 515, 98), + new Among("ovale", 515, 76), + new Among("uvale", 515, 99), + new Among("a\u010Dale", 515, 102), + new Among("ele", -1, 83), + new Among("ile", -1, 116), + new Among("acile", 536, 124), + new Among("lucile", 536, 121), + new Among("nile", 536, 103), + new Among("rosile", 536, 127), + new Among("jetile", 536, 118), + new Among("ozile", 536, 48), + new Among("a\u010Dile", 536, 101), + new Among("lu\u010Dile", 536, 117), + new Among("ro\u0161ile", 536, 90), + new Among("ole", -1, 50), + new Among("asle", -1, 115), + new Among("nule", -1, 13), + new Among("rame", -1, 52), + new Among("leme", -1, 51), + new Among("acome", -1, 124), + new Among("ecome", -1, 125), + new Among("ucome", -1, 126), + new Among("anjome", -1, 84), + new Among("enjome", -1, 85), + new Among("snjome", -1, 122), + new Among("\u0161njome", -1, 86), + new Among("kome", -1, 95), + new Among("skome", 558, 1), + new Among("\u0161kome", 558, 2), + new Among("elome", -1, 83), + new Among("nome", -1, 13), + new Among("cinome", 562, 137), + new Among("\u010Dinome", 562, 89), + new Among("osome", -1, 123), + new Among("atome", -1, 120), + new Among("evitome", -1, 92), + new Among("ovitome", -1, 93), + new Among("astome", -1, 94), + new Among("avome", -1, 77), + new Among("evome", -1, 78), + new Among("ivome", -1, 79), + new Among("ovome", -1, 80), + new Among("a\u0107ome", -1, 14), + new Among("e\u0107ome", -1, 15), + new Among("u\u0107ome", -1, 16), + new Among("o\u0161ome", -1, 91), + new Among("ne", -1, 13), + new Among("ane", 578, 10), + new Among("acane", 579, 128), + new Among("urane", 579, 105), + new Among("tane", 579, 113), + new Among("astane", 582, 110), + new Among("istane", 582, 111), + new Among("ostane", 582, 112), + new Among("avane", 579, 97), + new Among("evane", 579, 96), + new Among("ivane", 579, 98), + new Among("uvane", 579, 99), + new Among("a\u010Dane", 579, 102), + new Among("acene", 578, 124), + new Among("lucene", 578, 121), + new Among("a\u010Dene", 578, 101), + new Among("lu\u010Dene", 578, 117), + new Among("ine", 578, 11), + new Among("cine", 595, 137), + new Among("anine", 595, 10), + new Among("\u010Dine", 595, 89), + new Among("one", 578, 12), + new Among("are", -1, 53), + new Among("dre", -1, 54), + new Among("ere", -1, 55), + new Among("ore", -1, 56), + new Among("ase", -1, 161), + new Among("base", 604, 135), + new Among("acase", 604, 128), + new Among("gase", 604, 131), + new Among("jase", 604, 129), + new Among("astajase", 608, 138), + new Among("istajase", 608, 139), + new Among("ostajase", 608, 140), + new Among("injase", 608, 150), + new Among("kase", 604, 133), + new Among("nase", 604, 132), + new Among("irase", 604, 155), + new Among("urase", 604, 156), + new Among("tase", 604, 130), + new Among("vase", 604, 134), + new Among("avase", 618, 144), + new Among("evase", 618, 145), + new Among("ivase", 618, 146), + new Among("ovase", 618, 148), + new Among("uvase", 618, 147), + new Among("ese", -1, 57), + new Among("ise", -1, 58), + new Among("acise", 625, 124), + new Among("lucise", 625, 121), + new Among("rosise", 625, 127), + new Among("jetise", 625, 149), + new Among("ose", -1, 123), + new Among("astadose", 630, 141), + new Among("istadose", 630, 142), + new Among("ostadose", 630, 143), + new Among("ate", -1, 104), + new Among("acate", 634, 128), + new Among("ikate", 634, 68), + new Among("late", 634, 69), + new Among("irate", 634, 100), + new Among("urate", 634, 105), + new Among("tate", 634, 113), + new Among("avate", 634, 97), + new Among("evate", 634, 96), + new Among("ivate", 634, 98), + new Among("uvate", 634, 99), + new Among("a\u010Date", 634, 102), + new Among("ete", -1, 70), + new Among("astadete", 646, 110), + new Among("istadete", 646, 111), + new Among("ostadete", 646, 112), + new Among("astajete", 646, 106), + new Among("istajete", 646, 107), + new Among("ostajete", 646, 108), + new Among("ijete", 646, 116), + new Among("injete", 646, 114), + new Among("ujete", 646, 25), + new Among("lucujete", 655, 121), + new Among("irujete", 655, 100), + new Among("lu\u010Dujete", 655, 117), + new Among("nete", 646, 13), + new Among("astanete", 659, 110), + new Among("istanete", 659, 111), + new Among("ostanete", 659, 112), + new Among("astete", 646, 115), + new Among("ite", -1, 116), + new Among("acite", 664, 124), + new Among("lucite", 664, 121), + new Among("nite", 664, 13), + new Among("astanite", 667, 110), + new Among("istanite", 667, 111), + new Among("ostanite", 667, 112), + new Among("rosite", 664, 127), + new Among("jetite", 664, 118), + new Among("astite", 664, 115), + new Among("evite", 664, 92), + new Among("ovite", 664, 93), + new Among("a\u010Dite", 664, 101), + new Among("lu\u010Dite", 664, 117), + new Among("ro\u0161ite", 664, 90), + new Among("ajte", -1, 104), + new Among("urajte", 679, 105), + new Among("tajte", 679, 113), + new Among("astajte", 681, 106), + new Among("istajte", 681, 107), + new Among("ostajte", 681, 108), + new Among("avajte", 679, 97), + new Among("evajte", 679, 96), + new Among("ivajte", 679, 98), + new Among("uvajte", 679, 99), + new Among("ijte", -1, 116), + new Among("lucujte", -1, 121), + new Among("irujte", -1, 100), + new Among("lu\u010Dujte", -1, 117), + new Among("aste", -1, 94), + new Among("acaste", 693, 128), + new Among("astajaste", 693, 106), + new Among("istajaste", 693, 107), + new Among("ostajaste", 693, 108), + new Among("injaste", 693, 114), + new Among("iraste", 693, 100), + new Among("uraste", 693, 105), + new Among("taste", 693, 113), + new Among("avaste", 693, 97), + new Among("evaste", 693, 96), + new Among("ivaste", 693, 98), + new Among("ovaste", 693, 76), + new Among("uvaste", 693, 99), + new Among("a\u010Daste", 693, 102), + new Among("este", -1, 71), + new Among("iste", -1, 72), + new Among("aciste", 709, 124), + new Among("luciste", 709, 121), + new Among("niste", 709, 103), + new Among("rosiste", 709, 127), + new Among("jetiste", 709, 118), + new Among("a\u010Diste", 709, 101), + new Among("lu\u010Diste", 709, 117), + new Among("ro\u0161iste", 709, 90), + new Among("kste", -1, 73), + new Among("oste", -1, 74), + new Among("astadoste", 719, 110), + new Among("istadoste", 719, 111), + new Among("ostadoste", 719, 112), + new Among("nuste", -1, 13), + new Among("i\u0161te", -1, 75), + new Among("ave", -1, 77), + new Among("eve", -1, 78), + new Among("ajeve", 726, 109), + new Among("cajeve", 727, 26), + new Among("lajeve", 727, 30), + new Among("rajeve", 727, 31), + new Among("\u0107ajeve", 727, 28), + new Among("\u010Dajeve", 727, 27), + new Among("\u0111ajeve", 727, 29), + new Among("ive", -1, 79), + new Among("ove", -1, 80), + new Among("gove", 735, 20), + new Among("ugove", 736, 17), + new Among("love", 735, 82), + new Among("olove", 738, 49), + new Among("move", 735, 81), + new Among("onove", 735, 12), + new Among("a\u0107e", -1, 14), + new Among("e\u0107e", -1, 15), + new Among("u\u0107e", -1, 16), + new Among("a\u010De", -1, 101), + new Among("lu\u010De", -1, 117), + new Among("a\u0161e", -1, 104), + new Among("ba\u0161e", 747, 63), + new Among("ga\u0161e", 747, 64), + new Among("ja\u0161e", 747, 61), + new Among("astaja\u0161e", 750, 106), + new Among("istaja\u0161e", 750, 107), + new Among("ostaja\u0161e", 750, 108), + new Among("inja\u0161e", 750, 114), + new Among("ka\u0161e", 747, 62), + new Among("na\u0161e", 747, 60), + new Among("ira\u0161e", 747, 100), + new Among("ura\u0161e", 747, 105), + new Among("ta\u0161e", 747, 59), + new Among("va\u0161e", 747, 65), + new Among("ava\u0161e", 760, 97), + new Among("eva\u0161e", 760, 96), + new Among("iva\u0161e", 760, 98), + new Among("ova\u0161e", 760, 76), + new Among("uva\u0161e", 760, 99), + new Among("a\u010Da\u0161e", 747, 102), + new Among("e\u0161e", -1, 66), + new Among("i\u0161e", -1, 67), + new Among("jeti\u0161e", 768, 118), + new Among("a\u010Di\u0161e", 768, 101), + new Among("lu\u010Di\u0161e", 768, 117), + new Among("ro\u0161i\u0161e", 768, 90), + new Among("o\u0161e", -1, 91), + new Among("astado\u0161e", 773, 110), + new Among("istado\u0161e", 773, 111), + new Among("ostado\u0161e", 773, 112), + new Among("aceg", -1, 124), + new Among("eceg", -1, 125), + new Among("uceg", -1, 126), + new Among("anjijeg", -1, 84), + new Among("enjijeg", -1, 85), + new Among("snjijeg", -1, 122), + new Among("\u0161njijeg", -1, 86), + new Among("kijeg", -1, 95), + new Among("skijeg", 784, 1), + new Among("\u0161kijeg", 784, 2), + new Among("elijeg", -1, 83), + new Among("nijeg", -1, 13), + new Among("osijeg", -1, 123), + new Among("atijeg", -1, 120), + new Among("evitijeg", -1, 92), + new Among("ovitijeg", -1, 93), + new Among("astijeg", -1, 94), + new Among("avijeg", -1, 77), + new Among("evijeg", -1, 78), + new Among("ivijeg", -1, 79), + new Among("ovijeg", -1, 80), + new Among("o\u0161ijeg", -1, 91), + new Among("anjeg", -1, 84), + new Among("enjeg", -1, 85), + new Among("snjeg", -1, 122), + new Among("\u0161njeg", -1, 86), + new Among("keg", -1, 95), + new Among("eleg", -1, 83), + new Among("neg", -1, 13), + new Among("aneg", 805, 10), + new Among("eneg", 805, 87), + new Among("sneg", 805, 159), + new Among("\u0161neg", 805, 88), + new Among("oseg", -1, 123), + new Among("ateg", -1, 120), + new Among("aveg", -1, 77), + new Among("eveg", -1, 78), + new Among("iveg", -1, 79), + new Among("oveg", -1, 80), + new Among("a\u0107eg", -1, 14), + new Among("e\u0107eg", -1, 15), + new Among("u\u0107eg", -1, 16), + new Among("o\u0161eg", -1, 91), + new Among("acog", -1, 124), + new Among("ecog", -1, 125), + new Among("ucog", -1, 126), + new Among("anjog", -1, 84), + new Among("enjog", -1, 85), + new Among("snjog", -1, 122), + new Among("\u0161njog", -1, 86), + new Among("kog", -1, 95), + new Among("skog", 827, 1), + new Among("\u0161kog", 827, 2), + new Among("elog", -1, 83), + new Among("nog", -1, 13), + new Among("cinog", 831, 137), + new Among("\u010Dinog", 831, 89), + new Among("osog", -1, 123), + new Among("atog", -1, 120), + new Among("evitog", -1, 92), + new Among("ovitog", -1, 93), + new Among("astog", -1, 94), + new Among("avog", -1, 77), + new Among("evog", -1, 78), + new Among("ivog", -1, 79), + new Among("ovog", -1, 80), + new Among("a\u0107og", -1, 14), + new Among("e\u0107og", -1, 15), + new Among("u\u0107og", -1, 16), + new Among("o\u0161og", -1, 91), + new Among("ah", -1, 104), + new Among("acah", 847, 128), + new Among("astajah", 847, 106), + new Among("istajah", 847, 107), + new Among("ostajah", 847, 108), + new Among("injah", 847, 114), + new Among("irah", 847, 100), + new Among("urah", 847, 105), + new Among("tah", 847, 113), + new Among("avah", 847, 97), + new Among("evah", 847, 96), + new Among("ivah", 847, 98), + new Among("ovah", 847, 76), + new Among("uvah", 847, 99), + new Among("a\u010Dah", 847, 102), + new Among("ih", -1, 116), + new Among("acih", 862, 124), + new Among("ecih", 862, 125), + new Among("ucih", 862, 126), + new Among("lucih", 865, 121), + new Among("anjijih", 862, 84), + new Among("enjijih", 862, 85), + new Among("snjijih", 862, 122), + new Among("\u0161njijih", 862, 86), + new Among("kijih", 862, 95), + new Among("skijih", 871, 1), + new Among("\u0161kijih", 871, 2), + new Among("elijih", 862, 83), + new Among("nijih", 862, 13), + new Among("osijih", 862, 123), + new Among("atijih", 862, 120), + new Among("evitijih", 862, 92), + new Among("ovitijih", 862, 93), + new Among("astijih", 862, 94), + new Among("avijih", 862, 77), + new Among("evijih", 862, 78), + new Among("ivijih", 862, 79), + new Among("ovijih", 862, 80), + new Among("o\u0161ijih", 862, 91), + new Among("anjih", 862, 84), + new Among("enjih", 862, 85), + new Among("snjih", 862, 122), + new Among("\u0161njih", 862, 86), + new Among("kih", 862, 95), + new Among("skih", 890, 1), + new Among("\u0161kih", 890, 2), + new Among("elih", 862, 83), + new Among("nih", 862, 13), + new Among("cinih", 894, 137), + new Among("\u010Dinih", 894, 89), + new Among("osih", 862, 123), + new Among("rosih", 897, 127), + new Among("atih", 862, 120), + new Among("jetih", 862, 118), + new Among("evitih", 862, 92), + new Among("ovitih", 862, 93), + new Among("astih", 862, 94), + new Among("avih", 862, 77), + new Among("evih", 862, 78), + new Among("ivih", 862, 79), + new Among("ovih", 862, 80), + new Among("a\u0107ih", 862, 14), + new Among("e\u0107ih", 862, 15), + new Among("u\u0107ih", 862, 16), + new Among("a\u010Dih", 862, 101), + new Among("lu\u010Dih", 862, 117), + new Among("o\u0161ih", 862, 91), + new Among("ro\u0161ih", 913, 90), + new Among("astadoh", -1, 110), + new Among("istadoh", -1, 111), + new Among("ostadoh", -1, 112), + new Among("acuh", -1, 124), + new Among("ecuh", -1, 125), + new Among("ucuh", -1, 126), + new Among("a\u0107uh", -1, 14), + new Among("e\u0107uh", -1, 15), + new Among("u\u0107uh", -1, 16), + new Among("aci", -1, 124), + new Among("aceci", -1, 124), + new Among("ieci", -1, 162), + new Among("ajuci", -1, 161), + new Among("irajuci", 927, 155), + new Among("urajuci", 927, 156), + new Among("astajuci", 927, 138), + new Among("istajuci", 927, 139), + new Among("ostajuci", 927, 140), + new Among("avajuci", 927, 144), + new Among("evajuci", 927, 145), + new Among("ivajuci", 927, 146), + new Among("uvajuci", 927, 147), + new Among("ujuci", -1, 157), + new Among("lucujuci", 937, 121), + new Among("irujuci", 937, 155), + new Among("luci", -1, 121), + new Among("nuci", -1, 164), + new Among("etuci", -1, 153), + new Among("astuci", -1, 136), + new Among("gi", -1, 20), + new Among("ugi", 944, 18), + new Among("aji", -1, 109), + new Among("caji", 946, 26), + new Among("laji", 946, 30), + new Among("raji", 946, 31), + new Among("\u0107aji", 946, 28), + new Among("\u010Daji", 946, 27), + new Among("\u0111aji", 946, 29), + new Among("biji", -1, 32), + new Among("ciji", -1, 33), + new Among("diji", -1, 34), + new Among("fiji", -1, 40), + new Among("giji", -1, 39), + new Among("anjiji", -1, 84), + new Among("enjiji", -1, 85), + new Among("snjiji", -1, 122), + new Among("\u0161njiji", -1, 86), + new Among("kiji", -1, 95), + new Among("skiji", 962, 1), + new Among("\u0161kiji", 962, 2), + new Among("liji", -1, 35), + new Among("eliji", 965, 83), + new Among("miji", -1, 37), + new Among("niji", -1, 13), + new Among("ganiji", 968, 9), + new Among("maniji", 968, 6), + new Among("paniji", 968, 7), + new Among("raniji", 968, 8), + new Among("taniji", 968, 5), + new Among("piji", -1, 41), + new Among("riji", -1, 42), + new Among("siji", -1, 43), + new Among("osiji", 976, 123), + new Among("tiji", -1, 44), + new Among("atiji", 978, 120), + new Among("evitiji", 978, 92), + new Among("ovitiji", 978, 93), + new Among("astiji", 978, 94), + new Among("aviji", -1, 77), + new Among("eviji", -1, 78), + new Among("iviji", -1, 79), + new Among("oviji", -1, 80), + new Among("ziji", -1, 45), + new Among("o\u0161iji", -1, 91), + new Among("\u017Eiji", -1, 38), + new Among("anji", -1, 84), + new Among("enji", -1, 85), + new Among("snji", -1, 122), + new Among("\u0161nji", -1, 86), + new Among("ki", -1, 95), + new Among("ski", 994, 1), + new Among("\u0161ki", 994, 2), + new Among("ali", -1, 104), + new Among("acali", 997, 128), + new Among("astajali", 997, 106), + new Among("istajali", 997, 107), + new Among("ostajali", 997, 108), + new Among("ijali", 997, 47), + new Among("injali", 997, 114), + new Among("nali", 997, 46), + new Among("irali", 997, 100), + new Among("urali", 997, 105), + new Among("tali", 997, 113), + new Among("astali", 1007, 110), + new Among("istali", 1007, 111), + new Among("ostali", 1007, 112), + new Among("avali", 997, 97), + new Among("evali", 997, 96), + new Among("ivali", 997, 98), + new Among("ovali", 997, 76), + new Among("uvali", 997, 99), + new Among("a\u010Dali", 997, 102), + new Among("eli", -1, 83), + new Among("ili", -1, 116), + new Among("acili", 1018, 124), + new Among("lucili", 1018, 121), + new Among("nili", 1018, 103), + new Among("rosili", 1018, 127), + new Among("jetili", 1018, 118), + new Among("ozili", 1018, 48), + new Among("a\u010Dili", 1018, 101), + new Among("lu\u010Dili", 1018, 117), + new Among("ro\u0161ili", 1018, 90), + new Among("oli", -1, 50), + new Among("asli", -1, 115), + new Among("nuli", -1, 13), + new Among("rami", -1, 52), + new Among("lemi", -1, 51), + new Among("ni", -1, 13), + new Among("ani", 1033, 10), + new Among("acani", 1034, 128), + new Among("urani", 1034, 105), + new Among("tani", 1034, 113), + new Among("avani", 1034, 97), + new Among("evani", 1034, 96), + new Among("ivani", 1034, 98), + new Among("uvani", 1034, 99), + new Among("a\u010Dani", 1034, 102), + new Among("aceni", 1033, 124), + new Among("luceni", 1033, 121), + new Among("a\u010Deni", 1033, 101), + new Among("lu\u010Deni", 1033, 117), + new Among("ini", 1033, 11), + new Among("cini", 1047, 137), + new Among("\u010Dini", 1047, 89), + new Among("oni", 1033, 12), + new Among("ari", -1, 53), + new Among("dri", -1, 54), + new Among("eri", -1, 55), + new Among("ori", -1, 56), + new Among("basi", -1, 135), + new Among("gasi", -1, 131), + new Among("jasi", -1, 129), + new Among("kasi", -1, 133), + new Among("nasi", -1, 132), + new Among("tasi", -1, 130), + new Among("vasi", -1, 134), + new Among("esi", -1, 152), + new Among("isi", -1, 154), + new Among("osi", -1, 123), + new Among("avsi", -1, 161), + new Among("acavsi", 1065, 128), + new Among("iravsi", 1065, 155), + new Among("tavsi", 1065, 160), + new Among("etavsi", 1068, 153), + new Among("astavsi", 1068, 141), + new Among("istavsi", 1068, 142), + new Among("ostavsi", 1068, 143), + new Among("ivsi", -1, 162), + new Among("nivsi", 1073, 158), + new Among("rosivsi", 1073, 127), + new Among("nuvsi", -1, 164), + new Among("ati", -1, 104), + new Among("acati", 1077, 128), + new Among("astajati", 1077, 106), + new Among("istajati", 1077, 107), + new Among("ostajati", 1077, 108), + new Among("injati", 1077, 114), + new Among("ikati", 1077, 68), + new Among("lati", 1077, 69), + new Among("irati", 1077, 100), + new Among("urati", 1077, 105), + new Among("tati", 1077, 113), + new Among("astati", 1087, 110), + new Among("istati", 1087, 111), + new Among("ostati", 1087, 112), + new Among("avati", 1077, 97), + new Among("evati", 1077, 96), + new Among("ivati", 1077, 98), + new Among("ovati", 1077, 76), + new Among("uvati", 1077, 99), + new Among("a\u010Dati", 1077, 102), + new Among("eti", -1, 70), + new Among("iti", -1, 116), + new Among("aciti", 1098, 124), + new Among("luciti", 1098, 121), + new Among("niti", 1098, 103), + new Among("rositi", 1098, 127), + new Among("jetiti", 1098, 118), + new Among("eviti", 1098, 92), + new Among("oviti", 1098, 93), + new Among("a\u010Diti", 1098, 101), + new Among("lu\u010Diti", 1098, 117), + new Among("ro\u0161iti", 1098, 90), + new Among("asti", -1, 94), + new Among("esti", -1, 71), + new Among("isti", -1, 72), + new Among("ksti", -1, 73), + new Among("osti", -1, 74), + new Among("nuti", -1, 13), + new Among("avi", -1, 77), + new Among("evi", -1, 78), + new Among("ajevi", 1116, 109), + new Among("cajevi", 1117, 26), + new Among("lajevi", 1117, 30), + new Among("rajevi", 1117, 31), + new Among("\u0107ajevi", 1117, 28), + new Among("\u010Dajevi", 1117, 27), + new Among("\u0111ajevi", 1117, 29), + new Among("ivi", -1, 79), + new Among("ovi", -1, 80), + new Among("govi", 1125, 20), + new Among("ugovi", 1126, 17), + new Among("lovi", 1125, 82), + new Among("olovi", 1128, 49), + new Among("movi", 1125, 81), + new Among("onovi", 1125, 12), + new Among("ie\u0107i", -1, 116), + new Among("a\u010De\u0107i", -1, 101), + new Among("aju\u0107i", -1, 104), + new Among("iraju\u0107i", 1134, 100), + new Among("uraju\u0107i", 1134, 105), + new Among("astaju\u0107i", 1134, 106), + new Among("istaju\u0107i", 1134, 107), + new Among("ostaju\u0107i", 1134, 108), + new Among("avaju\u0107i", 1134, 97), + new Among("evaju\u0107i", 1134, 96), + new Among("ivaju\u0107i", 1134, 98), + new Among("uvaju\u0107i", 1134, 99), + new Among("uju\u0107i", -1, 25), + new Among("iruju\u0107i", 1144, 100), + new Among("lu\u010Duju\u0107i", 1144, 117), + new Among("nu\u0107i", -1, 13), + new Among("etu\u0107i", -1, 70), + new Among("astu\u0107i", -1, 115), + new Among("a\u010Di", -1, 101), + new Among("lu\u010Di", -1, 117), + new Among("ba\u0161i", -1, 63), + new Among("ga\u0161i", -1, 64), + new Among("ja\u0161i", -1, 61), + new Among("ka\u0161i", -1, 62), + new Among("na\u0161i", -1, 60), + new Among("ta\u0161i", -1, 59), + new Among("va\u0161i", -1, 65), + new Among("e\u0161i", -1, 66), + new Among("i\u0161i", -1, 67), + new Among("o\u0161i", -1, 91), + new Among("av\u0161i", -1, 104), + new Among("irav\u0161i", 1162, 100), + new Among("tav\u0161i", 1162, 113), + new Among("etav\u0161i", 1164, 70), + new Among("astav\u0161i", 1164, 110), + new Among("istav\u0161i", 1164, 111), + new Among("ostav\u0161i", 1164, 112), + new Among("a\u010Dav\u0161i", 1162, 102), + new Among("iv\u0161i", -1, 116), + new Among("niv\u0161i", 1170, 103), + new Among("ro\u0161iv\u0161i", 1170, 90), + new Among("nuv\u0161i", -1, 13), + new Among("aj", -1, 104), + new Among("uraj", 1174, 105), + new Among("taj", 1174, 113), + new Among("avaj", 1174, 97), + new Among("evaj", 1174, 96), + new Among("ivaj", 1174, 98), + new Among("uvaj", 1174, 99), + new Among("ij", -1, 116), + new Among("acoj", -1, 124), + new Among("ecoj", -1, 125), + new Among("ucoj", -1, 126), + new Among("anjijoj", -1, 84), + new Among("enjijoj", -1, 85), + new Among("snjijoj", -1, 122), + new Among("\u0161njijoj", -1, 86), + new Among("kijoj", -1, 95), + new Among("skijoj", 1189, 1), + new Among("\u0161kijoj", 1189, 2), + new Among("elijoj", -1, 83), + new Among("nijoj", -1, 13), + new Among("osijoj", -1, 123), + new Among("evitijoj", -1, 92), + new Among("ovitijoj", -1, 93), + new Among("astijoj", -1, 94), + new Among("avijoj", -1, 77), + new Among("evijoj", -1, 78), + new Among("ivijoj", -1, 79), + new Among("ovijoj", -1, 80), + new Among("o\u0161ijoj", -1, 91), + new Among("anjoj", -1, 84), + new Among("enjoj", -1, 85), + new Among("snjoj", -1, 122), + new Among("\u0161njoj", -1, 86), + new Among("koj", -1, 95), + new Among("skoj", 1207, 1), + new Among("\u0161koj", 1207, 2), + new Among("aloj", -1, 104), + new Among("eloj", -1, 83), + new Among("noj", -1, 13), + new Among("cinoj", 1212, 137), + new Among("\u010Dinoj", 1212, 89), + new Among("osoj", -1, 123), + new Among("atoj", -1, 120), + new Among("evitoj", -1, 92), + new Among("ovitoj", -1, 93), + new Among("astoj", -1, 94), + new Among("avoj", -1, 77), + new Among("evoj", -1, 78), + new Among("ivoj", -1, 79), + new Among("ovoj", -1, 80), + new Among("a\u0107oj", -1, 14), + new Among("e\u0107oj", -1, 15), + new Among("u\u0107oj", -1, 16), + new Among("o\u0161oj", -1, 91), + new Among("lucuj", -1, 121), + new Among("iruj", -1, 100), + new Among("lu\u010Duj", -1, 117), + new Among("al", -1, 104), + new Among("iral", 1231, 100), + new Among("ural", 1231, 105), + new Among("el", -1, 119), + new Among("il", -1, 116), + new Among("am", -1, 104), + new Among("acam", 1236, 128), + new Among("iram", 1236, 100), + new Among("uram", 1236, 105), + new Among("tam", 1236, 113), + new Among("avam", 1236, 97), + new Among("evam", 1236, 96), + new Among("ivam", 1236, 98), + new Among("uvam", 1236, 99), + new Among("a\u010Dam", 1236, 102), + new Among("em", -1, 119), + new Among("acem", 1246, 124), + new Among("ecem", 1246, 125), + new Among("ucem", 1246, 126), + new Among("astadem", 1246, 110), + new Among("istadem", 1246, 111), + new Among("ostadem", 1246, 112), + new Among("ajem", 1246, 104), + new Among("cajem", 1253, 26), + new Among("lajem", 1253, 30), + new Among("rajem", 1253, 31), + new Among("astajem", 1253, 106), + new Among("istajem", 1253, 107), + new Among("ostajem", 1253, 108), + new Among("\u0107ajem", 1253, 28), + new Among("\u010Dajem", 1253, 27), + new Among("\u0111ajem", 1253, 29), + new Among("ijem", 1246, 116), + new Among("anjijem", 1263, 84), + new Among("enjijem", 1263, 85), + new Among("snjijem", 1263, 123), + new Among("\u0161njijem", 1263, 86), + new Among("kijem", 1263, 95), + new Among("skijem", 1268, 1), + new Among("\u0161kijem", 1268, 2), + new Among("lijem", 1263, 24), + new Among("elijem", 1271, 83), + new Among("nijem", 1263, 13), + new Among("rarijem", 1263, 21), + new Among("sijem", 1263, 23), + new Among("osijem", 1275, 123), + new Among("atijem", 1263, 120), + new Among("evitijem", 1263, 92), + new Among("ovitijem", 1263, 93), + new Among("otijem", 1263, 22), + new Among("astijem", 1263, 94), + new Among("avijem", 1263, 77), + new Among("evijem", 1263, 78), + new Among("ivijem", 1263, 79), + new Among("ovijem", 1263, 80), + new Among("o\u0161ijem", 1263, 91), + new Among("anjem", 1246, 84), + new Among("enjem", 1246, 85), + new Among("injem", 1246, 114), + new Among("snjem", 1246, 122), + new Among("\u0161njem", 1246, 86), + new Among("ujem", 1246, 25), + new Among("lucujem", 1292, 121), + new Among("irujem", 1292, 100), + new Among("lu\u010Dujem", 1292, 117), + new Among("kem", 1246, 95), + new Among("skem", 1296, 1), + new Among("\u0161kem", 1296, 2), + new Among("elem", 1246, 83), + new Among("nem", 1246, 13), + new Among("anem", 1300, 10), + new Among("astanem", 1301, 110), + new Among("istanem", 1301, 111), + new Among("ostanem", 1301, 112), + new Among("enem", 1300, 87), + new Among("snem", 1300, 159), + new Among("\u0161nem", 1300, 88), + new Among("basem", 1246, 135), + new Among("gasem", 1246, 131), + new Among("jasem", 1246, 129), + new Among("kasem", 1246, 133), + new Among("nasem", 1246, 132), + new Among("tasem", 1246, 130), + new Among("vasem", 1246, 134), + new Among("esem", 1246, 152), + new Among("isem", 1246, 154), + new Among("osem", 1246, 123), + new Among("atem", 1246, 120), + new Among("etem", 1246, 70), + new Among("evitem", 1246, 92), + new Among("ovitem", 1246, 93), + new Among("astem", 1246, 94), + new Among("istem", 1246, 151), + new Among("i\u0161tem", 1246, 75), + new Among("avem", 1246, 77), + new Among("evem", 1246, 78), + new Among("ivem", 1246, 79), + new Among("a\u0107em", 1246, 14), + new Among("e\u0107em", 1246, 15), + new Among("u\u0107em", 1246, 16), + new Among("ba\u0161em", 1246, 63), + new Among("ga\u0161em", 1246, 64), + new Among("ja\u0161em", 1246, 61), + new Among("ka\u0161em", 1246, 62), + new Among("na\u0161em", 1246, 60), + new Among("ta\u0161em", 1246, 59), + new Among("va\u0161em", 1246, 65), + new Among("e\u0161em", 1246, 66), + new Among("i\u0161em", 1246, 67), + new Among("o\u0161em", 1246, 91), + new Among("im", -1, 116), + new Among("acim", 1341, 124), + new Among("ecim", 1341, 125), + new Among("ucim", 1341, 126), + new Among("lucim", 1344, 121), + new Among("anjijim", 1341, 84), + new Among("enjijim", 1341, 85), + new Among("snjijim", 1341, 122), + new Among("\u0161njijim", 1341, 86), + new Among("kijim", 1341, 95), + new Among("skijim", 1350, 1), + new Among("\u0161kijim", 1350, 2), + new Among("elijim", 1341, 83), + new Among("nijim", 1341, 13), + new Among("osijim", 1341, 123), + new Among("atijim", 1341, 120), + new Among("evitijim", 1341, 92), + new Among("ovitijim", 1341, 93), + new Among("astijim", 1341, 94), + new Among("avijim", 1341, 77), + new Among("evijim", 1341, 78), + new Among("ivijim", 1341, 79), + new Among("ovijim", 1341, 80), + new Among("o\u0161ijim", 1341, 91), + new Among("anjim", 1341, 84), + new Among("enjim", 1341, 85), + new Among("snjim", 1341, 122), + new Among("\u0161njim", 1341, 86), + new Among("kim", 1341, 95), + new Among("skim", 1369, 1), + new Among("\u0161kim", 1369, 2), + new Among("elim", 1341, 83), + new Among("nim", 1341, 13), + new Among("cinim", 1373, 137), + new Among("\u010Dinim", 1373, 89), + new Among("osim", 1341, 123), + new Among("rosim", 1376, 127), + new Among("atim", 1341, 120), + new Among("jetim", 1341, 118), + new Among("evitim", 1341, 92), + new Among("ovitim", 1341, 93), + new Among("astim", 1341, 94), + new Among("avim", 1341, 77), + new Among("evim", 1341, 78), + new Among("ivim", 1341, 79), + new Among("ovim", 1341, 80), + new Among("a\u0107im", 1341, 14), + new Among("e\u0107im", 1341, 15), + new Among("u\u0107im", 1341, 16), + new Among("a\u010Dim", 1341, 101), + new Among("lu\u010Dim", 1341, 117), + new Among("o\u0161im", 1341, 91), + new Among("ro\u0161im", 1392, 90), + new Among("acom", -1, 124), + new Among("ecom", -1, 125), + new Among("ucom", -1, 126), + new Among("gom", -1, 20), + new Among("logom", 1397, 19), + new Among("ugom", 1397, 18), + new Among("bijom", -1, 32), + new Among("cijom", -1, 33), + new Among("dijom", -1, 34), + new Among("fijom", -1, 40), + new Among("gijom", -1, 39), + new Among("lijom", -1, 35), + new Among("mijom", -1, 37), + new Among("nijom", -1, 36), + new Among("ganijom", 1407, 9), + new Among("manijom", 1407, 6), + new Among("panijom", 1407, 7), + new Among("ranijom", 1407, 8), + new Among("tanijom", 1407, 5), + new Among("pijom", -1, 41), + new Among("rijom", -1, 42), + new Among("sijom", -1, 43), + new Among("tijom", -1, 44), + new Among("zijom", -1, 45), + new Among("\u017Eijom", -1, 38), + new Among("anjom", -1, 84), + new Among("enjom", -1, 85), + new Among("snjom", -1, 122), + new Among("\u0161njom", -1, 86), + new Among("kom", -1, 95), + new Among("skom", 1423, 1), + new Among("\u0161kom", 1423, 2), + new Among("alom", -1, 104), + new Among("ijalom", 1426, 47), + new Among("nalom", 1426, 46), + new Among("elom", -1, 83), + new Among("ilom", -1, 116), + new Among("ozilom", 1430, 48), + new Among("olom", -1, 50), + new Among("ramom", -1, 52), + new Among("lemom", -1, 51), + new Among("nom", -1, 13), + new Among("anom", 1435, 10), + new Among("inom", 1435, 11), + new Among("cinom", 1437, 137), + new Among("aninom", 1437, 10), + new Among("\u010Dinom", 1437, 89), + new Among("onom", 1435, 12), + new Among("arom", -1, 53), + new Among("drom", -1, 54), + new Among("erom", -1, 55), + new Among("orom", -1, 56), + new Among("basom", -1, 135), + new Among("gasom", -1, 131), + new Among("jasom", -1, 129), + new Among("kasom", -1, 133), + new Among("nasom", -1, 132), + new Among("tasom", -1, 130), + new Among("vasom", -1, 134), + new Among("esom", -1, 57), + new Among("isom", -1, 58), + new Among("osom", -1, 123), + new Among("atom", -1, 120), + new Among("ikatom", 1456, 68), + new Among("latom", 1456, 69), + new Among("etom", -1, 70), + new Among("evitom", -1, 92), + new Among("ovitom", -1, 93), + new Among("astom", -1, 94), + new Among("estom", -1, 71), + new Among("istom", -1, 72), + new Among("kstom", -1, 73), + new Among("ostom", -1, 74), + new Among("avom", -1, 77), + new Among("evom", -1, 78), + new Among("ivom", -1, 79), + new Among("ovom", -1, 80), + new Among("lovom", 1470, 82), + new Among("movom", 1470, 81), + new Among("stvom", -1, 3), + new Among("\u0161tvom", -1, 4), + new Among("a\u0107om", -1, 14), + new Among("e\u0107om", -1, 15), + new Among("u\u0107om", -1, 16), + new Among("ba\u0161om", -1, 63), + new Among("ga\u0161om", -1, 64), + new Among("ja\u0161om", -1, 61), + new Among("ka\u0161om", -1, 62), + new Among("na\u0161om", -1, 60), + new Among("ta\u0161om", -1, 59), + new Among("va\u0161om", -1, 65), + new Among("e\u0161om", -1, 66), + new Among("i\u0161om", -1, 67), + new Among("o\u0161om", -1, 91), + new Among("an", -1, 104), + new Among("acan", 1488, 128), + new Among("iran", 1488, 100), + new Among("uran", 1488, 105), + new Among("tan", 1488, 113), + new Among("avan", 1488, 97), + new Among("evan", 1488, 96), + new Among("ivan", 1488, 98), + new Among("uvan", 1488, 99), + new Among("a\u010Dan", 1488, 102), + new Among("acen", -1, 124), + new Among("lucen", -1, 121), + new Among("a\u010Den", -1, 101), + new Among("lu\u010Den", -1, 117), + new Among("anin", -1, 10), + new Among("ao", -1, 104), + new Among("acao", 1503, 128), + new Among("astajao", 1503, 106), + new Among("istajao", 1503, 107), + new Among("ostajao", 1503, 108), + new Among("injao", 1503, 114), + new Among("irao", 1503, 100), + new Among("urao", 1503, 105), + new Among("tao", 1503, 113), + new Among("astao", 1511, 110), + new Among("istao", 1511, 111), + new Among("ostao", 1511, 112), + new Among("avao", 1503, 97), + new Among("evao", 1503, 96), + new Among("ivao", 1503, 98), + new Among("ovao", 1503, 76), + new Among("uvao", 1503, 99), + new Among("a\u010Dao", 1503, 102), + new Among("go", -1, 20), + new Among("ugo", 1521, 18), + new Among("io", -1, 116), + new Among("acio", 1523, 124), + new Among("lucio", 1523, 121), + new Among("lio", 1523, 24), + new Among("nio", 1523, 103), + new Among("rario", 1523, 21), + new Among("sio", 1523, 23), + new Among("rosio", 1529, 127), + new Among("jetio", 1523, 118), + new Among("otio", 1523, 22), + new Among("a\u010Dio", 1523, 101), + new Among("lu\u010Dio", 1523, 117), + new Among("ro\u0161io", 1523, 90), + new Among("bijo", -1, 32), + new Among("cijo", -1, 33), + new Among("dijo", -1, 34), + new Among("fijo", -1, 40), + new Among("gijo", -1, 39), + new Among("lijo", -1, 35), + new Among("mijo", -1, 37), + new Among("nijo", -1, 36), + new Among("pijo", -1, 41), + new Among("rijo", -1, 42), + new Among("sijo", -1, 43), + new Among("tijo", -1, 44), + new Among("zijo", -1, 45), + new Among("\u017Eijo", -1, 38), + new Among("anjo", -1, 84), + new Among("enjo", -1, 85), + new Among("snjo", -1, 122), + new Among("\u0161njo", -1, 86), + new Among("ko", -1, 95), + new Among("sko", 1554, 1), + new Among("\u0161ko", 1554, 2), + new Among("alo", -1, 104), + new Among("acalo", 1557, 128), + new Among("astajalo", 1557, 106), + new Among("istajalo", 1557, 107), + new Among("ostajalo", 1557, 108), + new Among("ijalo", 1557, 47), + new Among("injalo", 1557, 114), + new Among("nalo", 1557, 46), + new Among("iralo", 1557, 100), + new Among("uralo", 1557, 105), + new Among("talo", 1557, 113), + new Among("astalo", 1567, 110), + new Among("istalo", 1567, 111), + new Among("ostalo", 1567, 112), + new Among("avalo", 1557, 97), + new Among("evalo", 1557, 96), + new Among("ivalo", 1557, 98), + new Among("ovalo", 1557, 76), + new Among("uvalo", 1557, 99), + new Among("a\u010Dalo", 1557, 102), + new Among("elo", -1, 83), + new Among("ilo", -1, 116), + new Among("acilo", 1578, 124), + new Among("lucilo", 1578, 121), + new Among("nilo", 1578, 103), + new Among("rosilo", 1578, 127), + new Among("jetilo", 1578, 118), + new Among("a\u010Dilo", 1578, 101), + new Among("lu\u010Dilo", 1578, 117), + new Among("ro\u0161ilo", 1578, 90), + new Among("aslo", -1, 115), + new Among("nulo", -1, 13), + new Among("amo", -1, 104), + new Among("acamo", 1589, 128), + new Among("ramo", 1589, 52), + new Among("iramo", 1591, 100), + new Among("uramo", 1591, 105), + new Among("tamo", 1589, 113), + new Among("avamo", 1589, 97), + new Among("evamo", 1589, 96), + new Among("ivamo", 1589, 98), + new Among("uvamo", 1589, 99), + new Among("a\u010Damo", 1589, 102), + new Among("emo", -1, 119), + new Among("astademo", 1600, 110), + new Among("istademo", 1600, 111), + new Among("ostademo", 1600, 112), + new Among("astajemo", 1600, 106), + new Among("istajemo", 1600, 107), + new Among("ostajemo", 1600, 108), + new Among("ijemo", 1600, 116), + new Among("injemo", 1600, 114), + new Among("ujemo", 1600, 25), + new Among("lucujemo", 1609, 121), + new Among("irujemo", 1609, 100), + new Among("lu\u010Dujemo", 1609, 117), + new Among("lemo", 1600, 51), + new Among("nemo", 1600, 13), + new Among("astanemo", 1614, 110), + new Among("istanemo", 1614, 111), + new Among("ostanemo", 1614, 112), + new Among("etemo", 1600, 70), + new Among("astemo", 1600, 115), + new Among("imo", -1, 116), + new Among("acimo", 1620, 124), + new Among("lucimo", 1620, 121), + new Among("nimo", 1620, 13), + new Among("astanimo", 1623, 110), + new Among("istanimo", 1623, 111), + new Among("ostanimo", 1623, 112), + new Among("rosimo", 1620, 127), + new Among("etimo", 1620, 70), + new Among("jetimo", 1628, 118), + new Among("astimo", 1620, 115), + new Among("a\u010Dimo", 1620, 101), + new Among("lu\u010Dimo", 1620, 117), + new Among("ro\u0161imo", 1620, 90), + new Among("ajmo", -1, 104), + new Among("urajmo", 1634, 105), + new Among("tajmo", 1634, 113), + new Among("astajmo", 1636, 106), + new Among("istajmo", 1636, 107), + new Among("ostajmo", 1636, 108), + new Among("avajmo", 1634, 97), + new Among("evajmo", 1634, 96), + new Among("ivajmo", 1634, 98), + new Among("uvajmo", 1634, 99), + new Among("ijmo", -1, 116), + new Among("ujmo", -1, 25), + new Among("lucujmo", 1645, 121), + new Among("irujmo", 1645, 100), + new Among("lu\u010Dujmo", 1645, 117), + new Among("asmo", -1, 104), + new Among("acasmo", 1649, 128), + new Among("astajasmo", 1649, 106), + new Among("istajasmo", 1649, 107), + new Among("ostajasmo", 1649, 108), + new Among("injasmo", 1649, 114), + new Among("irasmo", 1649, 100), + new Among("urasmo", 1649, 105), + new Among("tasmo", 1649, 113), + new Among("avasmo", 1649, 97), + new Among("evasmo", 1649, 96), + new Among("ivasmo", 1649, 98), + new Among("ovasmo", 1649, 76), + new Among("uvasmo", 1649, 99), + new Among("a\u010Dasmo", 1649, 102), + new Among("ismo", -1, 116), + new Among("acismo", 1664, 124), + new Among("lucismo", 1664, 121), + new Among("nismo", 1664, 103), + new Among("rosismo", 1664, 127), + new Among("jetismo", 1664, 118), + new Among("a\u010Dismo", 1664, 101), + new Among("lu\u010Dismo", 1664, 117), + new Among("ro\u0161ismo", 1664, 90), + new Among("astadosmo", -1, 110), + new Among("istadosmo", -1, 111), + new Among("ostadosmo", -1, 112), + new Among("nusmo", -1, 13), + new Among("no", -1, 13), + new Among("ano", 1677, 104), + new Among("acano", 1678, 128), + new Among("urano", 1678, 105), + new Among("tano", 1678, 113), + new Among("avano", 1678, 97), + new Among("evano", 1678, 96), + new Among("ivano", 1678, 98), + new Among("uvano", 1678, 99), + new Among("a\u010Dano", 1678, 102), + new Among("aceno", 1677, 124), + new Among("luceno", 1677, 121), + new Among("a\u010Deno", 1677, 101), + new Among("lu\u010Deno", 1677, 117), + new Among("ino", 1677, 11), + new Among("cino", 1691, 137), + new Among("\u010Dino", 1691, 89), + new Among("ato", -1, 120), + new Among("ikato", 1694, 68), + new Among("lato", 1694, 69), + new Among("eto", -1, 70), + new Among("evito", -1, 92), + new Among("ovito", -1, 93), + new Among("asto", -1, 94), + new Among("esto", -1, 71), + new Among("isto", -1, 72), + new Among("ksto", -1, 73), + new Among("osto", -1, 74), + new Among("nuto", -1, 13), + new Among("nuo", -1, 13), + new Among("avo", -1, 77), + new Among("evo", -1, 78), + new Among("ivo", -1, 79), + new Among("ovo", -1, 80), + new Among("stvo", -1, 3), + new Among("\u0161tvo", -1, 4), + new Among("as", -1, 161), + new Among("acas", 1713, 128), + new Among("iras", 1713, 155), + new Among("uras", 1713, 156), + new Among("tas", 1713, 160), + new Among("avas", 1713, 144), + new Among("evas", 1713, 145), + new Among("ivas", 1713, 146), + new Among("uvas", 1713, 147), + new Among("es", -1, 163), + new Among("astades", 1722, 141), + new Among("istades", 1722, 142), + new Among("ostades", 1722, 143), + new Among("astajes", 1722, 138), + new Among("istajes", 1722, 139), + new Among("ostajes", 1722, 140), + new Among("ijes", 1722, 162), + new Among("injes", 1722, 150), + new Among("ujes", 1722, 157), + new Among("lucujes", 1731, 121), + new Among("irujes", 1731, 155), + new Among("nes", 1722, 164), + new Among("astanes", 1734, 141), + new Among("istanes", 1734, 142), + new Among("ostanes", 1734, 143), + new Among("etes", 1722, 153), + new Among("astes", 1722, 136), + new Among("is", -1, 162), + new Among("acis", 1740, 124), + new Among("lucis", 1740, 121), + new Among("nis", 1740, 158), + new Among("rosis", 1740, 127), + new Among("jetis", 1740, 149), + new Among("at", -1, 104), + new Among("acat", 1746, 128), + new Among("astajat", 1746, 106), + new Among("istajat", 1746, 107), + new Among("ostajat", 1746, 108), + new Among("injat", 1746, 114), + new Among("irat", 1746, 100), + new Among("urat", 1746, 105), + new Among("tat", 1746, 113), + new Among("astat", 1754, 110), + new Among("istat", 1754, 111), + new Among("ostat", 1754, 112), + new Among("avat", 1746, 97), + new Among("evat", 1746, 96), + new Among("ivat", 1746, 98), + new Among("irivat", 1760, 100), + new Among("ovat", 1746, 76), + new Among("uvat", 1746, 99), + new Among("a\u010Dat", 1746, 102), + new Among("it", -1, 116), + new Among("acit", 1765, 124), + new Among("lucit", 1765, 121), + new Among("rosit", 1765, 127), + new Among("jetit", 1765, 118), + new Among("a\u010Dit", 1765, 101), + new Among("lu\u010Dit", 1765, 117), + new Among("ro\u0161it", 1765, 90), + new Among("nut", -1, 13), + new Among("astadu", -1, 110), + new Among("istadu", -1, 111), + new Among("ostadu", -1, 112), + new Among("gu", -1, 20), + new Among("logu", 1777, 19), + new Among("ugu", 1777, 18), + new Among("ahu", -1, 104), + new Among("acahu", 1780, 128), + new Among("astajahu", 1780, 106), + new Among("istajahu", 1780, 107), + new Among("ostajahu", 1780, 108), + new Among("injahu", 1780, 114), + new Among("irahu", 1780, 100), + new Among("urahu", 1780, 105), + new Among("avahu", 1780, 97), + new Among("evahu", 1780, 96), + new Among("ivahu", 1780, 98), + new Among("ovahu", 1780, 76), + new Among("uvahu", 1780, 99), + new Among("a\u010Dahu", 1780, 102), + new Among("aju", -1, 104), + new Among("caju", 1794, 26), + new Among("acaju", 1795, 128), + new Among("laju", 1794, 30), + new Among("raju", 1794, 31), + new Among("iraju", 1798, 100), + new Among("uraju", 1798, 105), + new Among("taju", 1794, 113), + new Among("astaju", 1801, 106), + new Among("istaju", 1801, 107), + new Among("ostaju", 1801, 108), + new Among("avaju", 1794, 97), + new Among("evaju", 1794, 96), + new Among("ivaju", 1794, 98), + new Among("uvaju", 1794, 99), + new Among("\u0107aju", 1794, 28), + new Among("\u010Daju", 1794, 27), + new Among("a\u010Daju", 1810, 102), + new Among("\u0111aju", 1794, 29), + new Among("iju", -1, 116), + new Among("biju", 1813, 32), + new Among("ciju", 1813, 33), + new Among("diju", 1813, 34), + new Among("fiju", 1813, 40), + new Among("giju", 1813, 39), + new Among("anjiju", 1813, 84), + new Among("enjiju", 1813, 85), + new Among("snjiju", 1813, 122), + new Among("\u0161njiju", 1813, 86), + new Among("kiju", 1813, 95), + new Among("liju", 1813, 24), + new Among("eliju", 1824, 83), + new Among("miju", 1813, 37), + new Among("niju", 1813, 13), + new Among("ganiju", 1827, 9), + new Among("maniju", 1827, 6), + new Among("paniju", 1827, 7), + new Among("raniju", 1827, 8), + new Among("taniju", 1827, 5), + new Among("piju", 1813, 41), + new Among("riju", 1813, 42), + new Among("rariju", 1834, 21), + new Among("siju", 1813, 23), + new Among("osiju", 1836, 123), + new Among("tiju", 1813, 44), + new Among("atiju", 1838, 120), + new Among("otiju", 1838, 22), + new Among("aviju", 1813, 77), + new Among("eviju", 1813, 78), + new Among("iviju", 1813, 79), + new Among("oviju", 1813, 80), + new Among("ziju", 1813, 45), + new Among("o\u0161iju", 1813, 91), + new Among("\u017Eiju", 1813, 38), + new Among("anju", -1, 84), + new Among("enju", -1, 85), + new Among("snju", -1, 122), + new Among("\u0161nju", -1, 86), + new Among("uju", -1, 25), + new Among("lucuju", 1852, 121), + new Among("iruju", 1852, 100), + new Among("lu\u010Duju", 1852, 117), + new Among("ku", -1, 95), + new Among("sku", 1856, 1), + new Among("\u0161ku", 1856, 2), + new Among("alu", -1, 104), + new Among("ijalu", 1859, 47), + new Among("nalu", 1859, 46), + new Among("elu", -1, 83), + new Among("ilu", -1, 116), + new Among("ozilu", 1863, 48), + new Among("olu", -1, 50), + new Among("ramu", -1, 52), + new Among("acemu", -1, 124), + new Among("ecemu", -1, 125), + new Among("ucemu", -1, 126), + new Among("anjijemu", -1, 84), + new Among("enjijemu", -1, 85), + new Among("snjijemu", -1, 122), + new Among("\u0161njijemu", -1, 86), + new Among("kijemu", -1, 95), + new Among("skijemu", 1874, 1), + new Among("\u0161kijemu", 1874, 2), + new Among("elijemu", -1, 83), + new Among("nijemu", -1, 13), + new Among("osijemu", -1, 123), + new Among("atijemu", -1, 120), + new Among("evitijemu", -1, 92), + new Among("ovitijemu", -1, 93), + new Among("astijemu", -1, 94), + new Among("avijemu", -1, 77), + new Among("evijemu", -1, 78), + new Among("ivijemu", -1, 79), + new Among("ovijemu", -1, 80), + new Among("o\u0161ijemu", -1, 91), + new Among("anjemu", -1, 84), + new Among("enjemu", -1, 85), + new Among("snjemu", -1, 122), + new Among("\u0161njemu", -1, 86), + new Among("kemu", -1, 95), + new Among("skemu", 1893, 1), + new Among("\u0161kemu", 1893, 2), + new Among("lemu", -1, 51), + new Among("elemu", 1896, 83), + new Among("nemu", -1, 13), + new Among("anemu", 1898, 10), + new Among("enemu", 1898, 87), + new Among("snemu", 1898, 159), + new Among("\u0161nemu", 1898, 88), + new Among("osemu", -1, 123), + new Among("atemu", -1, 120), + new Among("evitemu", -1, 92), + new Among("ovitemu", -1, 93), + new Among("astemu", -1, 94), + new Among("avemu", -1, 77), + new Among("evemu", -1, 78), + new Among("ivemu", -1, 79), + new Among("ovemu", -1, 80), + new Among("a\u0107emu", -1, 14), + new Among("e\u0107emu", -1, 15), + new Among("u\u0107emu", -1, 16), + new Among("o\u0161emu", -1, 91), + new Among("acomu", -1, 124), + new Among("ecomu", -1, 125), + new Among("ucomu", -1, 126), + new Among("anjomu", -1, 84), + new Among("enjomu", -1, 85), + new Among("snjomu", -1, 122), + new Among("\u0161njomu", -1, 86), + new Among("komu", -1, 95), + new Among("skomu", 1923, 1), + new Among("\u0161komu", 1923, 2), + new Among("elomu", -1, 83), + new Among("nomu", -1, 13), + new Among("cinomu", 1927, 137), + new Among("\u010Dinomu", 1927, 89), + new Among("osomu", -1, 123), + new Among("atomu", -1, 120), + new Among("evitomu", -1, 92), + new Among("ovitomu", -1, 93), + new Among("astomu", -1, 94), + new Among("avomu", -1, 77), + new Among("evomu", -1, 78), + new Among("ivomu", -1, 79), + new Among("ovomu", -1, 80), + new Among("a\u0107omu", -1, 14), + new Among("e\u0107omu", -1, 15), + new Among("u\u0107omu", -1, 16), + new Among("o\u0161omu", -1, 91), + new Among("nu", -1, 13), + new Among("anu", 1943, 10), + new Among("astanu", 1944, 110), + new Among("istanu", 1944, 111), + new Among("ostanu", 1944, 112), + new Among("inu", 1943, 11), + new Among("cinu", 1948, 137), + new Among("aninu", 1948, 10), + new Among("\u010Dinu", 1948, 89), + new Among("onu", 1943, 12), + new Among("aru", -1, 53), + new Among("dru", -1, 54), + new Among("eru", -1, 55), + new Among("oru", -1, 56), + new Among("basu", -1, 135), + new Among("gasu", -1, 131), + new Among("jasu", -1, 129), + new Among("kasu", -1, 133), + new Among("nasu", -1, 132), + new Among("tasu", -1, 130), + new Among("vasu", -1, 134), + new Among("esu", -1, 57), + new Among("isu", -1, 58), + new Among("osu", -1, 123), + new Among("atu", -1, 120), + new Among("ikatu", 1967, 68), + new Among("latu", 1967, 69), + new Among("etu", -1, 70), + new Among("evitu", -1, 92), + new Among("ovitu", -1, 93), + new Among("astu", -1, 94), + new Among("estu", -1, 71), + new Among("istu", -1, 72), + new Among("kstu", -1, 73), + new Among("ostu", -1, 74), + new Among("i\u0161tu", -1, 75), + new Among("avu", -1, 77), + new Among("evu", -1, 78), + new Among("ivu", -1, 79), + new Among("ovu", -1, 80), + new Among("lovu", 1982, 82), + new Among("movu", 1982, 81), + new Among("stvu", -1, 3), + new Among("\u0161tvu", -1, 4), + new Among("ba\u0161u", -1, 63), + new Among("ga\u0161u", -1, 64), + new Among("ja\u0161u", -1, 61), + new Among("ka\u0161u", -1, 62), + new Among("na\u0161u", -1, 60), + new Among("ta\u0161u", -1, 59), + new Among("va\u0161u", -1, 65), + new Among("e\u0161u", -1, 66), + new Among("i\u0161u", -1, 67), + new Among("o\u0161u", -1, 91), + new Among("avav", -1, 97), + new Among("evav", -1, 96), + new Among("ivav", -1, 98), + new Among("uvav", -1, 99), + new Among("kov", -1, 95), + new Among("a\u0161", -1, 104), + new Among("ira\u0161", 2002, 100), + new Among("ura\u0161", 2002, 105), + new Among("ta\u0161", 2002, 113), + new Among("ava\u0161", 2002, 97), + new Among("eva\u0161", 2002, 96), + new Among("iva\u0161", 2002, 98), + new Among("uva\u0161", 2002, 99), + new Among("a\u010Da\u0161", 2002, 102), + new Among("e\u0161", -1, 119), + new Among("astade\u0161", 2011, 110), + new Among("istade\u0161", 2011, 111), + new Among("ostade\u0161", 2011, 112), + new Among("astaje\u0161", 2011, 106), + new Among("istaje\u0161", 2011, 107), + new Among("ostaje\u0161", 2011, 108), + new Among("ije\u0161", 2011, 116), + new Among("inje\u0161", 2011, 114), + new Among("uje\u0161", 2011, 25), + new Among("iruje\u0161", 2020, 100), + new Among("lu\u010Duje\u0161", 2020, 117), + new Among("ne\u0161", 2011, 13), + new Among("astane\u0161", 2023, 110), + new Among("istane\u0161", 2023, 111), + new Among("ostane\u0161", 2023, 112), + new Among("ete\u0161", 2011, 70), + new Among("aste\u0161", 2011, 115), + new Among("i\u0161", -1, 116), + new Among("ni\u0161", 2029, 103), + new Among("jeti\u0161", 2029, 118), + new Among("a\u010Di\u0161", 2029, 101), + new Among("lu\u010Di\u0161", 2029, 117), + new Among("ro\u0161i\u0161", 2029, 90) +}; + +private final static Among a_3[] = { + new Among("a", -1, 1), + new Among("oga", 0, 1), + new Among("ama", 0, 1), + new Among("ima", 0, 1), + new Among("ena", 0, 1), + new Among("e", -1, 1), + new Among("og", -1, 1), + new Among("anog", 6, 1), + new Among("enog", 6, 1), + new Among("anih", -1, 1), + new Among("enih", -1, 1), + new Among("i", -1, 1), + new Among("ani", 11, 1), + new Among("eni", 11, 1), + new Among("anoj", -1, 1), + new Among("enoj", -1, 1), + new Among("anim", -1, 1), + new Among("enim", -1, 1), + new Among("om", -1, 1), + new Among("enom", 18, 1), + new Among("o", -1, 1), + new Among("ano", 20, 1), + new Among("eno", 20, 1), + new Among("ost", -1, 1), + new Among("u", -1, 1), + new Among("enu", 24, 1) +}; + +private static final char g_v[] = {17, 65, 16 }; + +private static final char g_sa[] = {65, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 128 }; + +private static final char g_ca[] = {119, 95, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 }; + +private static final char g_rg[] = {1 }; + +private int I_p3; +private int I_p2; +private int I_p1; + + +private boolean r_cyr_to_lat() { + int among_var; + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + golab2: while(true) + { + int v_3 = cursor; + lab3: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab3; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("b"); + break; + case 3: + slice_from("v"); + break; + case 4: + slice_from("g"); + break; + case 5: + slice_from("d"); + break; + case 6: + slice_from("\u0111"); + break; + case 7: + slice_from("e"); + break; + case 8: + slice_from("\u017E"); + break; + case 9: + slice_from("z"); + break; + case 10: + slice_from("i"); + break; + case 11: + slice_from("j"); + break; + case 12: + slice_from("k"); + break; + case 13: + slice_from("l"); + break; + case 14: + slice_from("lj"); + break; + case 15: + slice_from("m"); + break; + case 16: + slice_from("n"); + break; + case 17: + slice_from("nj"); + break; + case 18: + slice_from("o"); + break; + case 19: + slice_from("p"); + break; + case 20: + slice_from("r"); + break; + case 21: + slice_from("s"); + break; + case 22: + slice_from("t"); + break; + case 23: + slice_from("\u0107"); + break; + case 24: + slice_from("u"); + break; + case 25: + slice_from("f"); + break; + case 26: + slice_from("h"); + break; + case 27: + slice_from("c"); + break; + case 28: + slice_from("\u010D"); + break; + case 29: + slice_from("d\u017E"); + break; + case 30: + slice_from("\u0161"); + break; + } + cursor = v_3; + break golab2; + } + cursor = v_3; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + continue; + } + cursor = v_2; + break; + } + } + cursor = v_1; + return true; +} + +private boolean r_prelude() { + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + golab2: while(true) + { + int v_3 = cursor; + lab3: { + if (!(in_grouping(g_ca, 98, 382))) + { + break lab3; + } + bra = cursor; + if (!(eq_s("ije"))) + { + break lab3; + } + ket = cursor; + if (!(in_grouping(g_ca, 98, 382))) + { + break lab3; + } + slice_from("e"); + cursor = v_3; + break golab2; + } + cursor = v_3; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + continue; + } + cursor = v_2; + break; + } + } + cursor = v_1; + int v_4 = cursor; + lab4: { + while(true) + { + int v_5 = cursor; + lab5: { + golab6: while(true) + { + int v_6 = cursor; + lab7: { + if (!(in_grouping(g_ca, 98, 382))) + { + break lab7; + } + bra = cursor; + if (!(eq_s("je"))) + { + break lab7; + } + ket = cursor; + if (!(in_grouping(g_ca, 98, 382))) + { + break lab7; + } + slice_from("e"); + cursor = v_6; + break golab6; + } + cursor = v_6; + if (cursor >= limit) + { + break lab5; + } + cursor++; + } + continue; + } + cursor = v_5; + break; + } + } + cursor = v_4; + int v_7 = cursor; + lab8: { + while(true) + { + int v_8 = cursor; + lab9: { + golab10: while(true) + { + int v_9 = cursor; + lab11: { + bra = cursor; + if (!(eq_s("dj"))) + { + break lab11; + } + ket = cursor; + slice_from("\u0111"); + cursor = v_9; + break golab10; + } + cursor = v_9; + if (cursor >= limit) + { + break lab9; + } + cursor++; + } + continue; + } + cursor = v_8; + break; + } + } + cursor = v_7; + return true; +} + +private boolean r_mark_regions() { + I_p3 = 0; + int v_1 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_sa, 263, 382))) + { + break lab2; + } + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + I_p3 = cursor; + } + cursor = v_1; + I_p1 = limit; + I_p2 = 0; + int v_3 = cursor; + lab3: { + golab4: while(true) + { + lab5: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab5; + } + break golab4; + } + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + I_p1 = cursor; + } + cursor = v_3; + int v_5 = cursor; + lab6: { + golab7: while(true) + { + lab8: { + if (!(eq_s("r"))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + I_p2 = cursor; + if (!((I_p1 - I_p2) > 1)) + { + break lab6; + } + I_p1 = I_p2; + } + cursor = v_5; + if (!(I_p1 < 2)) + { + return false; + } + lab9: { + int v_7 = cursor; + lab10: { + if (!(I_p1 == I_p2)) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(eq_s("r"))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + golab13: while(true) + { + lab14: { + if (!(out_grouping(g_rg, 114, 114))) + { + break lab14; + } + break golab13; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_7; + if (!(I_p1 != I_p2)) + { + return false; + } + golab15: while(true) + { + lab16: { + if (!(in_grouping(g_v, 97, 117))) + { + break lab16; + } + break golab15; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab17: while(true) + { + lab18: { + if (!(out_grouping(g_v, 97, 117))) + { + break lab18; + } + break golab17; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + } + I_p1 = cursor; + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p3 == 0)) + { + return false; + } + return true; +} + +private boolean r_Step_1() { + int among_var; + ket = cursor; + among_var = find_among_b(a_1); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("loga"); + break; + case 2: + slice_from("peh"); + break; + case 3: + slice_from("vojka"); + break; + case 4: + slice_from("bojka"); + break; + case 5: + slice_from("jak"); + break; + case 6: + slice_from("\u010Dajni"); + break; + case 7: + if (!r_R2()) + { + return false; + } + slice_from("cajni"); + break; + case 8: + slice_from("erni"); + break; + case 9: + slice_from("larni"); + break; + case 10: + slice_from("esni"); + break; + case 11: + slice_from("anjca"); + break; + case 12: + slice_from("ajca"); + break; + case 13: + slice_from("ljca"); + break; + case 14: + slice_from("ejca"); + break; + case 15: + slice_from("ojca"); + break; + case 16: + slice_from("ajka"); + break; + case 17: + slice_from("ojka"); + break; + case 18: + slice_from("\u0161ca"); + break; + case 19: + slice_from("ing"); + break; + case 20: + slice_from("tvenik"); + break; + case 21: + slice_from("tetika"); + break; + case 22: + slice_from("nstva"); + break; + case 23: + slice_from("nik"); + break; + case 24: + slice_from("tik"); + break; + case 25: + slice_from("zik"); + break; + case 26: + slice_from("snik"); + break; + case 27: + slice_from("kusi"); + break; + case 28: + slice_from("kusni"); + break; + case 29: + slice_from("kustva"); + break; + case 30: + slice_from("du\u0161ni"); + break; + case 31: + if (!r_R2()) + { + return false; + } + slice_from("dusni"); + break; + case 32: + slice_from("antni"); + break; + case 33: + slice_from("bilni"); + break; + case 34: + slice_from("tilni"); + break; + case 35: + slice_from("avilni"); + break; + case 36: + slice_from("silni"); + break; + case 37: + slice_from("gilni"); + break; + case 38: + slice_from("rilni"); + break; + case 39: + slice_from("nilni"); + break; + case 40: + slice_from("alni"); + break; + case 41: + slice_from("ozni"); + break; + case 42: + slice_from("ravi"); + break; + case 43: + slice_from("stavni"); + break; + case 44: + slice_from("pravni"); + break; + case 45: + slice_from("tivni"); + break; + case 46: + slice_from("sivni"); + break; + case 47: + slice_from("atni"); + break; + case 48: + slice_from("enta"); + break; + case 49: + slice_from("tetni"); + break; + case 50: + slice_from("pletni"); + break; + case 51: + slice_from("\u0161avi"); + break; + case 52: + if (!r_R2()) + { + return false; + } + slice_from("savi"); + break; + case 53: + slice_from("anta"); + break; + case 54: + slice_from("a\u010Dka"); + break; + case 55: + if (!r_R2()) + { + return false; + } + slice_from("acka"); + break; + case 56: + slice_from("u\u0161ka"); + break; + case 57: + if (!r_R2()) + { + return false; + } + slice_from("uska"); + break; + case 58: + slice_from("atka"); + break; + case 59: + slice_from("etka"); + break; + case 60: + slice_from("itka"); + break; + case 61: + slice_from("otka"); + break; + case 62: + slice_from("utka"); + break; + case 63: + slice_from("eskna"); + break; + case 64: + slice_from("ti\u010Dni"); + break; + case 65: + if (!r_R2()) + { + return false; + } + slice_from("ticni"); + break; + case 66: + slice_from("ojska"); + break; + case 67: + slice_from("esma"); + break; + case 68: + slice_from("metra"); + break; + case 69: + slice_from("centra"); + break; + case 70: + slice_from("istra"); + break; + case 71: + slice_from("osti"); + break; + case 72: + if (!r_R2()) + { + return false; + } + slice_from("osti"); + break; + case 73: + slice_from("dba"); + break; + case 74: + slice_from("\u010Dka"); + break; + case 75: + slice_from("mca"); + break; + case 76: + slice_from("nca"); + break; + case 77: + slice_from("voljni"); + break; + case 78: + slice_from("anki"); + break; + case 79: + slice_from("vca"); + break; + case 80: + slice_from("sca"); + break; + case 81: + slice_from("rca"); + break; + case 82: + slice_from("alca"); + break; + case 83: + slice_from("elca"); + break; + case 84: + slice_from("olca"); + break; + case 85: + slice_from("njca"); + break; + case 86: + slice_from("ekta"); + break; + case 87: + slice_from("izma"); + break; + case 88: + slice_from("jebi"); + break; + case 89: + slice_from("baci"); + break; + case 90: + slice_from("a\u0161ni"); + break; + case 91: + if (!r_R2()) + { + return false; + } + slice_from("asni"); + break; + } + return true; +} + +private boolean r_Step_2() { + int among_var; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + slice_from("sk"); + break; + case 2: + slice_from("\u0161k"); + break; + case 3: + slice_from("stv"); + break; + case 4: + slice_from("\u0161tv"); + break; + case 5: + slice_from("tanij"); + break; + case 6: + slice_from("manij"); + break; + case 7: + slice_from("panij"); + break; + case 8: + slice_from("ranij"); + break; + case 9: + slice_from("ganij"); + break; + case 10: + slice_from("an"); + break; + case 11: + slice_from("in"); + break; + case 12: + slice_from("on"); + break; + case 13: + slice_from("n"); + break; + case 14: + slice_from("a\u0107"); + break; + case 15: + slice_from("e\u0107"); + break; + case 16: + slice_from("u\u0107"); + break; + case 17: + slice_from("ugov"); + break; + case 18: + slice_from("ug"); + break; + case 19: + slice_from("log"); + break; + case 20: + slice_from("g"); + break; + case 21: + slice_from("rari"); + break; + case 22: + slice_from("oti"); + break; + case 23: + slice_from("si"); + break; + case 24: + slice_from("li"); + break; + case 25: + slice_from("uj"); + break; + case 26: + slice_from("caj"); + break; + case 27: + slice_from("\u010Daj"); + break; + case 28: + slice_from("\u0107aj"); + break; + case 29: + slice_from("\u0111aj"); + break; + case 30: + slice_from("laj"); + break; + case 31: + slice_from("raj"); + break; + case 32: + slice_from("bij"); + break; + case 33: + slice_from("cij"); + break; + case 34: + slice_from("dij"); + break; + case 35: + slice_from("lij"); + break; + case 36: + slice_from("nij"); + break; + case 37: + slice_from("mij"); + break; + case 38: + slice_from("\u017Eij"); + break; + case 39: + slice_from("gij"); + break; + case 40: + slice_from("fij"); + break; + case 41: + slice_from("pij"); + break; + case 42: + slice_from("rij"); + break; + case 43: + slice_from("sij"); + break; + case 44: + slice_from("tij"); + break; + case 45: + slice_from("zij"); + break; + case 46: + slice_from("nal"); + break; + case 47: + slice_from("ijal"); + break; + case 48: + slice_from("ozil"); + break; + case 49: + slice_from("olov"); + break; + case 50: + slice_from("ol"); + break; + case 51: + slice_from("lem"); + break; + case 52: + slice_from("ram"); + break; + case 53: + slice_from("ar"); + break; + case 54: + slice_from("dr"); + break; + case 55: + slice_from("er"); + break; + case 56: + slice_from("or"); + break; + case 57: + slice_from("es"); + break; + case 58: + slice_from("is"); + break; + case 59: + slice_from("ta\u0161"); + break; + case 60: + slice_from("na\u0161"); + break; + case 61: + slice_from("ja\u0161"); + break; + case 62: + slice_from("ka\u0161"); + break; + case 63: + slice_from("ba\u0161"); + break; + case 64: + slice_from("ga\u0161"); + break; + case 65: + slice_from("va\u0161"); + break; + case 66: + slice_from("e\u0161"); + break; + case 67: + slice_from("i\u0161"); + break; + case 68: + slice_from("ikat"); + break; + case 69: + slice_from("lat"); + break; + case 70: + slice_from("et"); + break; + case 71: + slice_from("est"); + break; + case 72: + slice_from("ist"); + break; + case 73: + slice_from("kst"); + break; + case 74: + slice_from("ost"); + break; + case 75: + slice_from("i\u0161t"); + break; + case 76: + slice_from("ova"); + break; + case 77: + slice_from("av"); + break; + case 78: + slice_from("ev"); + break; + case 79: + slice_from("iv"); + break; + case 80: + slice_from("ov"); + break; + case 81: + slice_from("mov"); + break; + case 82: + slice_from("lov"); + break; + case 83: + slice_from("el"); + break; + case 84: + slice_from("anj"); + break; + case 85: + slice_from("enj"); + break; + case 86: + slice_from("\u0161nj"); + break; + case 87: + slice_from("en"); + break; + case 88: + slice_from("\u0161n"); + break; + case 89: + slice_from("\u010Din"); + break; + case 90: + slice_from("ro\u0161i"); + break; + case 91: + slice_from("o\u0161"); + break; + case 92: + slice_from("evit"); + break; + case 93: + slice_from("ovit"); + break; + case 94: + slice_from("ast"); + break; + case 95: + slice_from("k"); + break; + case 96: + slice_from("eva"); + break; + case 97: + slice_from("ava"); + break; + case 98: + slice_from("iva"); + break; + case 99: + slice_from("uva"); + break; + case 100: + slice_from("ir"); + break; + case 101: + slice_from("a\u010D"); + break; + case 102: + slice_from("a\u010Da"); + break; + case 103: + slice_from("ni"); + break; + case 104: + slice_from("a"); + break; + case 105: + slice_from("ur"); + break; + case 106: + slice_from("astaj"); + break; + case 107: + slice_from("istaj"); + break; + case 108: + slice_from("ostaj"); + break; + case 109: + slice_from("aj"); + break; + case 110: + slice_from("asta"); + break; + case 111: + slice_from("ista"); + break; + case 112: + slice_from("osta"); + break; + case 113: + slice_from("ta"); + break; + case 114: + slice_from("inj"); + break; + case 115: + slice_from("as"); + break; + case 116: + slice_from("i"); + break; + case 117: + slice_from("lu\u010D"); + break; + case 118: + slice_from("jeti"); + break; + case 119: + slice_from("e"); + break; + case 120: + slice_from("at"); + break; + case 121: + if (!r_R2()) + { + return false; + } + slice_from("luc"); + break; + case 122: + if (!r_R2()) + { + return false; + } + slice_from("snj"); + break; + case 123: + if (!r_R2()) + { + return false; + } + slice_from("os"); + break; + case 124: + if (!r_R2()) + { + return false; + } + slice_from("ac"); + break; + case 125: + if (!r_R2()) + { + return false; + } + slice_from("ec"); + break; + case 126: + if (!r_R2()) + { + return false; + } + slice_from("uc"); + break; + case 127: + if (!r_R2()) + { + return false; + } + slice_from("rosi"); + break; + case 128: + if (!r_R2()) + { + return false; + } + slice_from("aca"); + break; + case 129: + if (!r_R2()) + { + return false; + } + slice_from("jas"); + break; + case 130: + if (!r_R2()) + { + return false; + } + slice_from("tas"); + break; + case 131: + if (!r_R2()) + { + return false; + } + slice_from("gas"); + break; + case 132: + if (!r_R2()) + { + return false; + } + slice_from("nas"); + break; + case 133: + if (!r_R2()) + { + return false; + } + slice_from("kas"); + break; + case 134: + if (!r_R2()) + { + return false; + } + slice_from("vas"); + break; + case 135: + if (!r_R2()) + { + return false; + } + slice_from("bas"); + break; + case 136: + if (!r_R2()) + { + return false; + } + slice_from("as"); + break; + case 137: + if (!r_R2()) + { + return false; + } + slice_from("cin"); + break; + case 138: + if (!r_R2()) + { + return false; + } + slice_from("astaj"); + break; + case 139: + if (!r_R2()) + { + return false; + } + slice_from("istaj"); + break; + case 140: + if (!r_R2()) + { + return false; + } + slice_from("ostaj"); + break; + case 141: + if (!r_R2()) + { + return false; + } + slice_from("asta"); + break; + case 142: + if (!r_R2()) + { + return false; + } + slice_from("ista"); + break; + case 143: + if (!r_R2()) + { + return false; + } + slice_from("osta"); + break; + case 144: + if (!r_R2()) + { + return false; + } + slice_from("ava"); + break; + case 145: + if (!r_R2()) + { + return false; + } + slice_from("eva"); + break; + case 146: + if (!r_R2()) + { + return false; + } + slice_from("iva"); + break; + case 147: + if (!r_R2()) + { + return false; + } + slice_from("uva"); + break; + case 148: + if (!r_R2()) + { + return false; + } + slice_from("ova"); + break; + case 149: + if (!r_R2()) + { + return false; + } + slice_from("jeti"); + break; + case 150: + if (!r_R2()) + { + return false; + } + slice_from("inj"); + break; + case 151: + if (!r_R2()) + { + return false; + } + slice_from("ist"); + break; + case 152: + if (!r_R2()) + { + return false; + } + slice_from("es"); + break; + case 153: + if (!r_R2()) + { + return false; + } + slice_from("et"); + break; + case 154: + if (!r_R2()) + { + return false; + } + slice_from("is"); + break; + case 155: + if (!r_R2()) + { + return false; + } + slice_from("ir"); + break; + case 156: + if (!r_R2()) + { + return false; + } + slice_from("ur"); + break; + case 157: + if (!r_R2()) + { + return false; + } + slice_from("uj"); + break; + case 158: + if (!r_R2()) + { + return false; + } + slice_from("ni"); + break; + case 159: + if (!r_R2()) + { + return false; + } + slice_from("sn"); + break; + case 160: + if (!r_R2()) + { + return false; + } + slice_from("ta"); + break; + case 161: + if (!r_R2()) + { + return false; + } + slice_from("a"); + break; + case 162: + if (!r_R2()) + { + return false; + } + slice_from("i"); + break; + case 163: + if (!r_R2()) + { + return false; + } + slice_from("e"); + break; + case 164: + if (!r_R2()) + { + return false; + } + slice_from("n"); + break; + } + return true; +} + +private boolean r_Step_3() { + ket = cursor; + if (find_among_b(a_3) == 0) + { + return false; + } + bra = cursor; + if (!r_R1()) + { + return false; + } + slice_from(""); + return true; +} + +public boolean stem() { + r_cyr_to_lat(); + r_prelude(); + int v_3 = cursor; + r_mark_regions(); + cursor = v_3; + limit_backward = cursor; + cursor = limit; + int v_4 = limit - cursor; + r_Step_1(); + cursor = limit - v_4; + int v_5 = limit - cursor; + lab0: { + lab1: { + int v_6 = limit - cursor; + lab2: { + if (!r_Step_2()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_6; + if (!r_Step_3()) + { + break lab0; + } + } + } + cursor = limit - v_5; + cursor = limit_backward; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof SerbianStemmer; +} + +@Override +public int hashCode() { + return SerbianStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SpanishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SpanishStemmer.java index 707f070b932..36635fa4c24 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SpanishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SpanishStemmer.java @@ -1,1200 +1,900 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class SpanishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class SpanishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("", -1, 6), + new Among("\u00E1", 0, 1), + new Among("\u00E9", 0, 2), + new Among("\u00ED", 0, 3), + new Among("\u00F3", 0, 4), + new Among("\u00FA", 0, 5) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("la", -1, -1), + new Among("sela", 0, -1), + new Among("le", -1, -1), + new Among("me", -1, -1), + new Among("se", -1, -1), + new Among("lo", -1, -1), + new Among("selo", 5, -1), + new Among("las", -1, -1), + new Among("selas", 7, -1), + new Among("les", -1, -1), + new Among("los", -1, -1), + new Among("selos", 10, -1), + new Among("nos", -1, -1) +}; - private final static Among a_0[] = { - new Among ( "", -1, 6, "", methodObject ), - new Among ( "\u00E1", 0, 1, "", methodObject ), - new Among ( "\u00E9", 0, 2, "", methodObject ), - new Among ( "\u00ED", 0, 3, "", methodObject ), - new Among ( "\u00F3", 0, 4, "", methodObject ), - new Among ( "\u00FA", 0, 5, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ando", -1, 6), + new Among("iendo", -1, 6), + new Among("yendo", -1, 7), + new Among("\u00E1ndo", -1, 2), + new Among("i\u00E9ndo", -1, 1), + new Among("ar", -1, 6), + new Among("er", -1, 6), + new Among("ir", -1, 6), + new Among("\u00E1r", -1, 3), + new Among("\u00E9r", -1, 4), + new Among("\u00EDr", -1, 5) +}; - private final static Among a_1[] = { - new Among ( "la", -1, -1, "", methodObject ), - new Among ( "sela", 0, -1, "", methodObject ), - new Among ( "le", -1, -1, "", methodObject ), - new Among ( "me", -1, -1, "", methodObject ), - new Among ( "se", -1, -1, "", methodObject ), - new Among ( "lo", -1, -1, "", methodObject ), - new Among ( "selo", 5, -1, "", methodObject ), - new Among ( "las", -1, -1, "", methodObject ), - new Among ( "selas", 7, -1, "", methodObject ), - new Among ( "les", -1, -1, "", methodObject ), - new Among ( "los", -1, -1, "", methodObject ), - new Among ( "selos", 10, -1, "", methodObject ), - new Among ( "nos", -1, -1, "", methodObject ) - }; +private final static Among a_3[] = { + new Among("ic", -1, -1), + new Among("ad", -1, -1), + new Among("os", -1, -1), + new Among("iv", -1, 1) +}; - private final static Among a_2[] = { - new Among ( "ando", -1, 6, "", methodObject ), - new Among ( "iendo", -1, 6, "", methodObject ), - new Among ( "yendo", -1, 7, "", methodObject ), - new Among ( "\u00E1ndo", -1, 2, "", methodObject ), - new Among ( "i\u00E9ndo", -1, 1, "", methodObject ), - new Among ( "ar", -1, 6, "", methodObject ), - new Among ( "er", -1, 6, "", methodObject ), - new Among ( "ir", -1, 6, "", methodObject ), - new Among ( "\u00E1r", -1, 3, "", methodObject ), - new Among ( "\u00E9r", -1, 4, "", methodObject ), - new Among ( "\u00EDr", -1, 5, "", methodObject ) - }; +private final static Among a_4[] = { + new Among("able", -1, 1), + new Among("ible", -1, 1), + new Among("ante", -1, 1) +}; - private final static Among a_3[] = { - new Among ( "ic", -1, -1, "", methodObject ), - new Among ( "ad", -1, -1, "", methodObject ), - new Among ( "os", -1, -1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_5[] = { + new Among("ic", -1, 1), + new Among("abil", -1, 1), + new Among("iv", -1, 1) +}; - private final static Among a_4[] = { - new Among ( "able", -1, 1, "", methodObject ), - new Among ( "ible", -1, 1, "", methodObject ), - new Among ( "ante", -1, 1, "", methodObject ) - }; +private final static Among a_6[] = { + new Among("ica", -1, 1), + new Among("ancia", -1, 2), + new Among("encia", -1, 5), + new Among("adora", -1, 2), + new Among("osa", -1, 1), + new Among("ista", -1, 1), + new Among("iva", -1, 9), + new Among("anza", -1, 1), + new Among("log\u00EDa", -1, 3), + new Among("idad", -1, 8), + new Among("able", -1, 1), + new Among("ible", -1, 1), + new Among("ante", -1, 2), + new Among("mente", -1, 7), + new Among("amente", 13, 6), + new Among("aci\u00F3n", -1, 2), + new Among("uci\u00F3n", -1, 4), + new Among("ico", -1, 1), + new Among("ismo", -1, 1), + new Among("oso", -1, 1), + new Among("amiento", -1, 1), + new Among("imiento", -1, 1), + new Among("ivo", -1, 9), + new Among("ador", -1, 2), + new Among("icas", -1, 1), + new Among("ancias", -1, 2), + new Among("encias", -1, 5), + new Among("adoras", -1, 2), + new Among("osas", -1, 1), + new Among("istas", -1, 1), + new Among("ivas", -1, 9), + new Among("anzas", -1, 1), + new Among("log\u00EDas", -1, 3), + new Among("idades", -1, 8), + new Among("ables", -1, 1), + new Among("ibles", -1, 1), + new Among("aciones", -1, 2), + new Among("uciones", -1, 4), + new Among("adores", -1, 2), + new Among("antes", -1, 2), + new Among("icos", -1, 1), + new Among("ismos", -1, 1), + new Among("osos", -1, 1), + new Among("amientos", -1, 1), + new Among("imientos", -1, 1), + new Among("ivos", -1, 9) +}; - private final static Among a_5[] = { - new Among ( "ic", -1, 1, "", methodObject ), - new Among ( "abil", -1, 1, "", methodObject ), - new Among ( "iv", -1, 1, "", methodObject ) - }; +private final static Among a_7[] = { + new Among("ya", -1, 1), + new Among("ye", -1, 1), + new Among("yan", -1, 1), + new Among("yen", -1, 1), + new Among("yeron", -1, 1), + new Among("yendo", -1, 1), + new Among("yo", -1, 1), + new Among("yas", -1, 1), + new Among("yes", -1, 1), + new Among("yais", -1, 1), + new Among("yamos", -1, 1), + new Among("y\u00F3", -1, 1) +}; - private final static Among a_6[] = { - new Among ( "ica", -1, 1, "", methodObject ), - new Among ( "ancia", -1, 2, "", methodObject ), - new Among ( "encia", -1, 5, "", methodObject ), - new Among ( "adora", -1, 2, "", methodObject ), - new Among ( "osa", -1, 1, "", methodObject ), - new Among ( "ista", -1, 1, "", methodObject ), - new Among ( "iva", -1, 9, "", methodObject ), - new Among ( "anza", -1, 1, "", methodObject ), - new Among ( "log\u00EDa", -1, 3, "", methodObject ), - new Among ( "idad", -1, 8, "", methodObject ), - new Among ( "able", -1, 1, "", methodObject ), - new Among ( "ible", -1, 1, "", methodObject ), - new Among ( "ante", -1, 2, "", methodObject ), - new Among ( "mente", -1, 7, "", methodObject ), - new Among ( "amente", 13, 6, "", methodObject ), - new Among ( "aci\u00F3n", -1, 2, "", methodObject ), - new Among ( "uci\u00F3n", -1, 4, "", methodObject ), - new Among ( "ico", -1, 1, "", methodObject ), - new Among ( "ismo", -1, 1, "", methodObject ), - new Among ( "oso", -1, 1, "", methodObject ), - new Among ( "amiento", -1, 1, "", methodObject ), - new Among ( "imiento", -1, 1, "", methodObject ), - new Among ( "ivo", -1, 9, "", methodObject ), - new Among ( "ador", -1, 2, "", methodObject ), - new Among ( "icas", -1, 1, "", methodObject ), - new Among ( "ancias", -1, 2, "", methodObject ), - new Among ( "encias", -1, 5, "", methodObject ), - new Among ( "adoras", -1, 2, "", methodObject ), - new Among ( "osas", -1, 1, "", methodObject ), - new Among ( "istas", -1, 1, "", methodObject ), - new Among ( "ivas", -1, 9, "", methodObject ), - new Among ( "anzas", -1, 1, "", methodObject ), - new Among ( "log\u00EDas", -1, 3, "", methodObject ), - new Among ( "idades", -1, 8, "", methodObject ), - new Among ( "ables", -1, 1, "", methodObject ), - new Among ( "ibles", -1, 1, "", methodObject ), - new Among ( "aciones", -1, 2, "", methodObject ), - new Among ( "uciones", -1, 4, "", methodObject ), - new Among ( "adores", -1, 2, "", methodObject ), - new Among ( "antes", -1, 2, "", methodObject ), - new Among ( "icos", -1, 1, "", methodObject ), - new Among ( "ismos", -1, 1, "", methodObject ), - new Among ( "osos", -1, 1, "", methodObject ), - new Among ( "amientos", -1, 1, "", methodObject ), - new Among ( "imientos", -1, 1, "", methodObject ), - new Among ( "ivos", -1, 9, "", methodObject ) - }; +private final static Among a_8[] = { + new Among("aba", -1, 2), + new Among("ada", -1, 2), + new Among("ida", -1, 2), + new Among("ara", -1, 2), + new Among("iera", -1, 2), + new Among("\u00EDa", -1, 2), + new Among("ar\u00EDa", 5, 2), + new Among("er\u00EDa", 5, 2), + new Among("ir\u00EDa", 5, 2), + new Among("ad", -1, 2), + new Among("ed", -1, 2), + new Among("id", -1, 2), + new Among("ase", -1, 2), + new Among("iese", -1, 2), + new Among("aste", -1, 2), + new Among("iste", -1, 2), + new Among("an", -1, 2), + new Among("aban", 16, 2), + new Among("aran", 16, 2), + new Among("ieran", 16, 2), + new Among("\u00EDan", 16, 2), + new Among("ar\u00EDan", 20, 2), + new Among("er\u00EDan", 20, 2), + new Among("ir\u00EDan", 20, 2), + new Among("en", -1, 1), + new Among("asen", 24, 2), + new Among("iesen", 24, 2), + new Among("aron", -1, 2), + new Among("ieron", -1, 2), + new Among("ar\u00E1n", -1, 2), + new Among("er\u00E1n", -1, 2), + new Among("ir\u00E1n", -1, 2), + new Among("ado", -1, 2), + new Among("ido", -1, 2), + new Among("ando", -1, 2), + new Among("iendo", -1, 2), + new Among("ar", -1, 2), + new Among("er", -1, 2), + new Among("ir", -1, 2), + new Among("as", -1, 2), + new Among("abas", 39, 2), + new Among("adas", 39, 2), + new Among("idas", 39, 2), + new Among("aras", 39, 2), + new Among("ieras", 39, 2), + new Among("\u00EDas", 39, 2), + new Among("ar\u00EDas", 45, 2), + new Among("er\u00EDas", 45, 2), + new Among("ir\u00EDas", 45, 2), + new Among("es", -1, 1), + new Among("ases", 49, 2), + new Among("ieses", 49, 2), + new Among("abais", -1, 2), + new Among("arais", -1, 2), + new Among("ierais", -1, 2), + new Among("\u00EDais", -1, 2), + new Among("ar\u00EDais", 55, 2), + new Among("er\u00EDais", 55, 2), + new Among("ir\u00EDais", 55, 2), + new Among("aseis", -1, 2), + new Among("ieseis", -1, 2), + new Among("asteis", -1, 2), + new Among("isteis", -1, 2), + new Among("\u00E1is", -1, 2), + new Among("\u00E9is", -1, 1), + new Among("ar\u00E9is", 64, 2), + new Among("er\u00E9is", 64, 2), + new Among("ir\u00E9is", 64, 2), + new Among("ados", -1, 2), + new Among("idos", -1, 2), + new Among("amos", -1, 2), + new Among("\u00E1bamos", 70, 2), + new Among("\u00E1ramos", 70, 2), + new Among("i\u00E9ramos", 70, 2), + new Among("\u00EDamos", 70, 2), + new Among("ar\u00EDamos", 74, 2), + new Among("er\u00EDamos", 74, 2), + new Among("ir\u00EDamos", 74, 2), + new Among("emos", -1, 1), + new Among("aremos", 78, 2), + new Among("eremos", 78, 2), + new Among("iremos", 78, 2), + new Among("\u00E1semos", 78, 2), + new Among("i\u00E9semos", 78, 2), + new Among("imos", -1, 2), + new Among("ar\u00E1s", -1, 2), + new Among("er\u00E1s", -1, 2), + new Among("ir\u00E1s", -1, 2), + new Among("\u00EDs", -1, 2), + new Among("ar\u00E1", -1, 2), + new Among("er\u00E1", -1, 2), + new Among("ir\u00E1", -1, 2), + new Among("ar\u00E9", -1, 2), + new Among("er\u00E9", -1, 2), + new Among("ir\u00E9", -1, 2), + new Among("i\u00F3", -1, 2) +}; - private final static Among a_7[] = { - new Among ( "ya", -1, 1, "", methodObject ), - new Among ( "ye", -1, 1, "", methodObject ), - new Among ( "yan", -1, 1, "", methodObject ), - new Among ( "yen", -1, 1, "", methodObject ), - new Among ( "yeron", -1, 1, "", methodObject ), - new Among ( "yendo", -1, 1, "", methodObject ), - new Among ( "yo", -1, 1, "", methodObject ), - new Among ( "yas", -1, 1, "", methodObject ), - new Among ( "yes", -1, 1, "", methodObject ), - new Among ( "yais", -1, 1, "", methodObject ), - new Among ( "yamos", -1, 1, "", methodObject ), - new Among ( "y\u00F3", -1, 1, "", methodObject ) - }; +private final static Among a_9[] = { + new Among("a", -1, 1), + new Among("e", -1, 2), + new Among("o", -1, 1), + new Among("os", -1, 1), + new Among("\u00E1", -1, 1), + new Among("\u00E9", -1, 2), + new Among("\u00ED", -1, 1), + new Among("\u00F3", -1, 1) +}; - private final static Among a_8[] = { - new Among ( "aba", -1, 2, "", methodObject ), - new Among ( "ada", -1, 2, "", methodObject ), - new Among ( "ida", -1, 2, "", methodObject ), - new Among ( "ara", -1, 2, "", methodObject ), - new Among ( "iera", -1, 2, "", methodObject ), - new Among ( "\u00EDa", -1, 2, "", methodObject ), - new Among ( "ar\u00EDa", 5, 2, "", methodObject ), - new Among ( "er\u00EDa", 5, 2, "", methodObject ), - new Among ( "ir\u00EDa", 5, 2, "", methodObject ), - new Among ( "ad", -1, 2, "", methodObject ), - new Among ( "ed", -1, 2, "", methodObject ), - new Among ( "id", -1, 2, "", methodObject ), - new Among ( "ase", -1, 2, "", methodObject ), - new Among ( "iese", -1, 2, "", methodObject ), - new Among ( "aste", -1, 2, "", methodObject ), - new Among ( "iste", -1, 2, "", methodObject ), - new Among ( "an", -1, 2, "", methodObject ), - new Among ( "aban", 16, 2, "", methodObject ), - new Among ( "aran", 16, 2, "", methodObject ), - new Among ( "ieran", 16, 2, "", methodObject ), - new Among ( "\u00EDan", 16, 2, "", methodObject ), - new Among ( "ar\u00EDan", 20, 2, "", methodObject ), - new Among ( "er\u00EDan", 20, 2, "", methodObject ), - new Among ( "ir\u00EDan", 20, 2, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "asen", 24, 2, "", methodObject ), - new Among ( "iesen", 24, 2, "", methodObject ), - new Among ( "aron", -1, 2, "", methodObject ), - new Among ( "ieron", -1, 2, "", methodObject ), - new Among ( "ar\u00E1n", -1, 2, "", methodObject ), - new Among ( "er\u00E1n", -1, 2, "", methodObject ), - new Among ( "ir\u00E1n", -1, 2, "", methodObject ), - new Among ( "ado", -1, 2, "", methodObject ), - new Among ( "ido", -1, 2, "", methodObject ), - new Among ( "ando", -1, 2, "", methodObject ), - new Among ( "iendo", -1, 2, "", methodObject ), - new Among ( "ar", -1, 2, "", methodObject ), - new Among ( "er", -1, 2, "", methodObject ), - new Among ( "ir", -1, 2, "", methodObject ), - new Among ( "as", -1, 2, "", methodObject ), - new Among ( "abas", 39, 2, "", methodObject ), - new Among ( "adas", 39, 2, "", methodObject ), - new Among ( "idas", 39, 2, "", methodObject ), - new Among ( "aras", 39, 2, "", methodObject ), - new Among ( "ieras", 39, 2, "", methodObject ), - new Among ( "\u00EDas", 39, 2, "", methodObject ), - new Among ( "ar\u00EDas", 45, 2, "", methodObject ), - new Among ( "er\u00EDas", 45, 2, "", methodObject ), - new Among ( "ir\u00EDas", 45, 2, "", methodObject ), - new Among ( "es", -1, 1, "", methodObject ), - new Among ( "ases", 49, 2, "", methodObject ), - new Among ( "ieses", 49, 2, "", methodObject ), - new Among ( "abais", -1, 2, "", methodObject ), - new Among ( "arais", -1, 2, "", methodObject ), - new Among ( "ierais", -1, 2, "", methodObject ), - new Among ( "\u00EDais", -1, 2, "", methodObject ), - new Among ( "ar\u00EDais", 55, 2, "", methodObject ), - new Among ( "er\u00EDais", 55, 2, "", methodObject ), - new Among ( "ir\u00EDais", 55, 2, "", methodObject ), - new Among ( "aseis", -1, 2, "", methodObject ), - new Among ( "ieseis", -1, 2, "", methodObject ), - new Among ( "asteis", -1, 2, "", methodObject ), - new Among ( "isteis", -1, 2, "", methodObject ), - new Among ( "\u00E1is", -1, 2, "", methodObject ), - new Among ( "\u00E9is", -1, 1, "", methodObject ), - new Among ( "ar\u00E9is", 64, 2, "", methodObject ), - new Among ( "er\u00E9is", 64, 2, "", methodObject ), - new Among ( "ir\u00E9is", 64, 2, "", methodObject ), - new Among ( "ados", -1, 2, "", methodObject ), - new Among ( "idos", -1, 2, "", methodObject ), - new Among ( "amos", -1, 2, "", methodObject ), - new Among ( "\u00E1bamos", 70, 2, "", methodObject ), - new Among ( "\u00E1ramos", 70, 2, "", methodObject ), - new Among ( "i\u00E9ramos", 70, 2, "", methodObject ), - new Among ( "\u00EDamos", 70, 2, "", methodObject ), - new Among ( "ar\u00EDamos", 74, 2, "", methodObject ), - new Among ( "er\u00EDamos", 74, 2, "", methodObject ), - new Among ( "ir\u00EDamos", 74, 2, "", methodObject ), - new Among ( "emos", -1, 1, "", methodObject ), - new Among ( "aremos", 78, 2, "", methodObject ), - new Among ( "eremos", 78, 2, "", methodObject ), - new Among ( "iremos", 78, 2, "", methodObject ), - new Among ( "\u00E1semos", 78, 2, "", methodObject ), - new Among ( "i\u00E9semos", 78, 2, "", methodObject ), - new Among ( "imos", -1, 2, "", methodObject ), - new Among ( "ar\u00E1s", -1, 2, "", methodObject ), - new Among ( "er\u00E1s", -1, 2, "", methodObject ), - new Among ( "ir\u00E1s", -1, 2, "", methodObject ), - new Among ( "\u00EDs", -1, 2, "", methodObject ), - new Among ( "ar\u00E1", -1, 2, "", methodObject ), - new Among ( "er\u00E1", -1, 2, "", methodObject ), - new Among ( "ir\u00E1", -1, 2, "", methodObject ), - new Among ( "ar\u00E9", -1, 2, "", methodObject ), - new Among ( "er\u00E9", -1, 2, "", methodObject ), - new Among ( "ir\u00E9", -1, 2, "", methodObject ), - new Among ( "i\u00F3", -1, 2, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 }; - private final static Among a_9[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "e", -1, 2, "", methodObject ), - new Among ( "o", -1, 1, "", methodObject ), - new Among ( "os", -1, 1, "", methodObject ), - new Among ( "\u00E1", -1, 1, "", methodObject ), - new Among ( "\u00E9", -1, 2, "", methodObject ), - new Among ( "\u00ED", -1, 1, "", methodObject ), - new Among ( "\u00F3", -1, 1, "", methodObject ) - }; +private int I_p2; +private int I_p1; +private int I_pV; - private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 }; - private int I_p2; - private int I_p1; - private int I_pV; - - private void copy_from(SpanishStemmer other) { - I_p2 = other.I_p2; - I_p1 = other.I_p1; - I_pV = other.I_pV; - super.copy_from(other); - } - - private boolean r_mark_regions() { - int v_1; - int v_2; - int v_3; - int v_6; - int v_8; - // (, line 31 - I_pV = limit; - I_p1 = limit; - I_p2 = limit; - // do, line 37 - v_1 = cursor; - lab0: do { - // (, line 37 - // or, line 39 - lab1: do { - v_2 = cursor; - lab2: do { - // (, line 38 - if (!(in_grouping(g_v, 97, 252))) - { - break lab2; - } - // or, line 38 - lab3: do { - v_3 = cursor; - lab4: do { - // (, line 38 - if (!(out_grouping(g_v, 97, 252))) - { - break lab4; - } - // gopast, line 38 - golab5: while(true) - { - lab6: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab6; - } - break golab5; - } while (false); - if (cursor >= limit) - { - break lab4; - } - cursor++; - } - break lab3; - } while (false); - cursor = v_3; - // (, line 38 - if (!(in_grouping(g_v, 97, 252))) - { - break lab2; - } - // gopast, line 38 - golab7: while(true) - { - lab8: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab8; - } - break golab7; - } while (false); - if (cursor >= limit) - { - break lab2; - } - cursor++; - } - } while (false); - break lab1; - } while (false); - cursor = v_2; - // (, line 40 - if (!(out_grouping(g_v, 97, 252))) - { - break lab0; - } - // or, line 40 - lab9: do { - v_6 = cursor; - lab10: do { - // (, line 40 - if (!(out_grouping(g_v, 97, 252))) - { - break lab10; - } - // gopast, line 40 - golab11: while(true) - { - lab12: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab12; - } - break golab11; - } while (false); - if (cursor >= limit) - { - break lab10; - } - cursor++; - } - break lab9; - } while (false); - cursor = v_6; - // (, line 40 - if (!(in_grouping(g_v, 97, 252))) - { - break lab0; - } - // next, line 40 - if (cursor >= limit) - { - break lab0; - } - cursor++; - } while (false); - } while (false); - // setmark pV, line 41 - I_pV = cursor; - } while (false); - cursor = v_1; - // do, line 43 - v_8 = cursor; - lab13: do { - // (, line 43 - // gopast, line 44 - golab14: while(true) - { - lab15: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab15; - } - break golab14; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 44 - golab16: while(true) - { - lab17: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab17; - } - break golab16; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p1, line 44 - I_p1 = cursor; - // gopast, line 45 - golab18: while(true) - { - lab19: do { - if (!(in_grouping(g_v, 97, 252))) - { - break lab19; - } - break golab18; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // gopast, line 45 - golab20: while(true) - { - lab21: do { - if (!(out_grouping(g_v, 97, 252))) - { - break lab21; - } - break golab20; - } while (false); - if (cursor >= limit) - { - break lab13; - } - cursor++; - } - // setmark p2, line 45 - I_p2 = cursor; - } while (false); - cursor = v_8; - return true; - } - - private boolean r_postlude() { - int among_var; - int v_1; - // repeat, line 49 - replab0: while(true) - { - v_1 = cursor; - lab1: do { - // (, line 49 - // [, line 50 - bra = cursor; - // substring, line 50 - among_var = find_among(a_0, 6); - if (among_var == 0) - { - break lab1; - } - // ], line 50 - ket = cursor; - switch(among_var) { - case 0: - break lab1; - case 1: - // (, line 51 - // <-, line 51 - slice_from("a"); - break; - case 2: - // (, line 52 - // <-, line 52 - slice_from("e"); - break; - case 3: - // (, line 53 - // <-, line 53 - slice_from("i"); - break; - case 4: - // (, line 54 - // <-, line 54 - slice_from("o"); - break; - case 5: - // (, line 55 - // <-, line 55 - slice_from("u"); - break; - case 6: - // (, line 57 - // next, line 57 - if (cursor >= limit) - { - break lab1; - } - cursor++; - break; - } - continue replab0; - } while (false); - cursor = v_1; - break replab0; - } - return true; - } - - private boolean r_RV() { - if (!(I_pV <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R1() { - if (!(I_p1 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_R2() { - if (!(I_p2 <= cursor)) - { - return false; - } - return true; - } - - private boolean r_attached_pronoun() { - int among_var; - // (, line 67 - // [, line 68 - ket = cursor; - // substring, line 68 - if (find_among_b(a_1, 13) == 0) - { - return false; - } - // ], line 68 - bra = cursor; - // substring, line 72 - among_var = find_among_b(a_2, 11); - if (among_var == 0) - { - return false; - } - // call RV, line 72 - if (!r_RV()) - { - return false; - } - switch(among_var) { - case 0: - return false; - case 1: - // (, line 73 - // ], line 73 - bra = cursor; - // <-, line 73 - slice_from("iendo"); - break; - case 2: - // (, line 74 - // ], line 74 - bra = cursor; - // <-, line 74 - slice_from("ando"); - break; - case 3: - // (, line 75 - // ], line 75 - bra = cursor; - // <-, line 75 - slice_from("ar"); - break; - case 4: - // (, line 76 - // ], line 76 - bra = cursor; - // <-, line 76 - slice_from("er"); - break; - case 5: - // (, line 77 - // ], line 77 - bra = cursor; - // <-, line 77 - slice_from("ir"); - break; - case 6: - // (, line 81 - // delete, line 81 - slice_del(); - break; - case 7: - // (, line 82 - // literal, line 82 - if (!(eq_s_b(1, "u"))) - { - return false; - } - // delete, line 82 - slice_del(); - break; - } - return true; - } - - private boolean r_standard_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - // (, line 86 - // [, line 87 - ket = cursor; - // substring, line 87 - among_var = find_among_b(a_6, 46); - if (among_var == 0) - { - return false; - } - // ], line 87 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 98 - // call R2, line 99 - if (!r_R2()) - { - return false; - } - // delete, line 99 - slice_del(); - break; - case 2: - // (, line 104 - // call R2, line 105 - if (!r_R2()) - { - return false; - } - // delete, line 105 - slice_del(); - // try, line 106 - v_1 = limit - cursor; - lab0: do { - // (, line 106 - // [, line 106 - ket = cursor; - // literal, line 106 - if (!(eq_s_b(2, "ic"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 106 - bra = cursor; - // call R2, line 106 - if (!r_R2()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 106 - slice_del(); - } while (false); - break; - case 3: - // (, line 110 - // call R2, line 111 - if (!r_R2()) - { - return false; - } - // <-, line 111 - slice_from("log"); - break; - case 4: - // (, line 114 - // call R2, line 115 - if (!r_R2()) - { - return false; - } - // <-, line 115 - slice_from("u"); - break; - case 5: - // (, line 118 - // call R2, line 119 - if (!r_R2()) - { - return false; - } - // <-, line 119 - slice_from("ente"); - break; - case 6: - // (, line 122 - // call R1, line 123 - if (!r_R1()) - { - return false; - } - // delete, line 123 - slice_del(); - // try, line 124 - v_2 = limit - cursor; - lab1: do { - // (, line 124 - // [, line 125 - ket = cursor; - // substring, line 125 - among_var = find_among_b(a_3, 4); - if (among_var == 0) - { - cursor = limit - v_2; - break lab1; - } - // ], line 125 - bra = cursor; - // call R2, line 125 - if (!r_R2()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 125 - slice_del(); - switch(among_var) { - case 0: - cursor = limit - v_2; - break lab1; - case 1: - // (, line 126 - // [, line 126 - ket = cursor; - // literal, line 126 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_2; - break lab1; - } - // ], line 126 - bra = cursor; - // call R2, line 126 - if (!r_R2()) - { - cursor = limit - v_2; - break lab1; - } - // delete, line 126 - slice_del(); - break; - } - } while (false); - break; - case 7: - // (, line 134 - // call R2, line 135 - if (!r_R2()) - { - return false; - } - // delete, line 135 - slice_del(); - // try, line 136 - v_3 = limit - cursor; - lab2: do { - // (, line 136 - // [, line 137 - ket = cursor; - // substring, line 137 - among_var = find_among_b(a_4, 3); - if (among_var == 0) - { - cursor = limit - v_3; - break lab2; - } - // ], line 137 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_3; - break lab2; - case 1: - // (, line 140 - // call R2, line 140 - if (!r_R2()) - { - cursor = limit - v_3; - break lab2; - } - // delete, line 140 - slice_del(); - break; - } - } while (false); - break; - case 8: - // (, line 146 - // call R2, line 147 - if (!r_R2()) - { - return false; - } - // delete, line 147 - slice_del(); - // try, line 148 - v_4 = limit - cursor; - lab3: do { - // (, line 148 - // [, line 149 - ket = cursor; - // substring, line 149 - among_var = find_among_b(a_5, 3); - if (among_var == 0) - { - cursor = limit - v_4; - break lab3; - } - // ], line 149 - bra = cursor; - switch(among_var) { - case 0: - cursor = limit - v_4; - break lab3; - case 1: - // (, line 152 - // call R2, line 152 - if (!r_R2()) - { - cursor = limit - v_4; - break lab3; - } - // delete, line 152 - slice_del(); - break; - } - } while (false); - break; - case 9: - // (, line 158 - // call R2, line 159 - if (!r_R2()) - { - return false; - } - // delete, line 159 - slice_del(); - // try, line 160 - v_5 = limit - cursor; - lab4: do { - // (, line 160 - // [, line 161 - ket = cursor; - // literal, line 161 - if (!(eq_s_b(2, "at"))) - { - cursor = limit - v_5; - break lab4; - } - // ], line 161 - bra = cursor; - // call R2, line 161 - if (!r_R2()) - { - cursor = limit - v_5; - break lab4; - } - // delete, line 161 - slice_del(); - } while (false); - break; - } - return true; - } - - private boolean r_y_verb_suffix() { - int among_var; - int v_1; - int v_2; - // (, line 167 - // setlimit, line 168 - v_1 = limit - cursor; - // tomark, line 168 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 168 - // [, line 168 - ket = cursor; - // substring, line 168 - among_var = find_among_b(a_7, 12); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 168 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 171 - // literal, line 171 - if (!(eq_s_b(1, "u"))) - { - return false; - } - // delete, line 171 - slice_del(); - break; - } - return true; - } - - private boolean r_verb_suffix() { - int among_var; - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 175 - // setlimit, line 176 - v_1 = limit - cursor; - // tomark, line 176 - if (cursor < I_pV) - { - return false; - } - cursor = I_pV; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 176 - // [, line 176 - ket = cursor; - // substring, line 176 - among_var = find_among_b(a_8, 96); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 176 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 179 - // try, line 179 - v_3 = limit - cursor; - lab0: do { - // (, line 179 - // literal, line 179 - if (!(eq_s_b(1, "u"))) - { - cursor = limit - v_3; - break lab0; - } - // test, line 179 - v_4 = limit - cursor; - // literal, line 179 - if (!(eq_s_b(1, "g"))) - { - cursor = limit - v_3; - break lab0; - } - cursor = limit - v_4; - } while (false); - // ], line 179 - bra = cursor; - // delete, line 179 - slice_del(); - break; - case 2: - // (, line 200 - // delete, line 200 - slice_del(); - break; - } - return true; - } - - private boolean r_residual_suffix() { - int among_var; - int v_1; - int v_2; - // (, line 204 - // [, line 205 - ket = cursor; - // substring, line 205 - among_var = find_among_b(a_9, 8); - if (among_var == 0) - { - return false; - } - // ], line 205 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 208 - // call RV, line 208 - if (!r_RV()) - { - return false; - } - // delete, line 208 - slice_del(); - break; - case 2: - // (, line 210 - // call RV, line 210 - if (!r_RV()) - { - return false; - } - // delete, line 210 - slice_del(); - // try, line 210 - v_1 = limit - cursor; - lab0: do { - // (, line 210 - // [, line 210 - ket = cursor; - // literal, line 210 - if (!(eq_s_b(1, "u"))) - { - cursor = limit - v_1; - break lab0; - } - // ], line 210 - bra = cursor; - // test, line 210 - v_2 = limit - cursor; - // literal, line 210 - if (!(eq_s_b(1, "g"))) - { - cursor = limit - v_1; - break lab0; - } - cursor = limit - v_2; - // call RV, line 210 - if (!r_RV()) - { - cursor = limit - v_1; - break lab0; - } - // delete, line 210 - slice_del(); - } while (false); - break; - } - return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - // (, line 215 - // do, line 216 - v_1 = cursor; - lab0: do { - // call mark_regions, line 216 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 217 - limit_backward = cursor; cursor = limit; - // (, line 217 - // do, line 218 - v_2 = limit - cursor; - lab1: do { - // call attached_pronoun, line 218 - if (!r_attached_pronoun()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 219 - v_3 = limit - cursor; - lab2: do { - // (, line 219 - // or, line 219 - lab3: do { - v_4 = limit - cursor; - lab4: do { - // call standard_suffix, line 219 - if (!r_standard_suffix()) - { - break lab4; - } - break lab3; - } while (false); - cursor = limit - v_4; - lab5: do { - // call y_verb_suffix, line 220 - if (!r_y_verb_suffix()) - { - break lab5; - } - break lab3; - } while (false); - cursor = limit - v_4; - // call verb_suffix, line 221 - if (!r_verb_suffix()) - { - break lab2; - } - } while (false); - } while (false); - cursor = limit - v_3; - // do, line 223 - v_5 = limit - cursor; - lab6: do { - // call residual_suffix, line 223 - if (!r_residual_suffix()) - { - break lab6; - } - } while (false); - cursor = limit - v_5; - cursor = limit_backward; // do, line 225 - v_6 = cursor; - lab7: do { - // call postlude, line 225 - if (!r_postlude()) - { - break lab7; - } - } while (false); - cursor = v_6; - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof SpanishStemmer; +private boolean r_mark_regions() { + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + int v_1 = cursor; + lab0: { + lab1: { + int v_2 = cursor; + lab2: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; } - - @Override - public int hashCode() { - return SpanishStemmer.class.getName().hashCode(); + lab3: { + int v_3 = cursor; + lab4: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab4; + } + golab5: while(true) + { + lab6: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab6; + } + break golab5; + } + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } + cursor = v_3; + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; + } + golab7: while(true) + { + lab8: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab8; + } + break golab7; + } + if (cursor >= limit) + { + break lab2; + } + cursor++; + } } + break lab1; + } + cursor = v_2; + if (!(out_grouping(g_v, 97, 252))) + { + break lab0; + } + lab9: { + int v_6 = cursor; + lab10: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab10; + } + golab11: while(true) + { + lab12: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab12; + } + break golab11; + } + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } + cursor = v_6; + if (!(in_grouping(g_v, 97, 252))) + { + break lab0; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } + I_pV = cursor; + } + cursor = v_1; + int v_8 = cursor; + lab13: { + golab14: while(true) + { + lab15: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab15; + } + break golab14; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab16: while(true) + { + lab17: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab17; + } + break golab16; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p1 = cursor; + golab18: while(true) + { + lab19: { + if (!(in_grouping(g_v, 97, 252))) + { + break lab19; + } + break golab18; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + golab20: while(true) + { + lab21: { + if (!(out_grouping(g_v, 97, 252))) + { + break lab21; + } + break golab20; + } + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + I_p2 = cursor; + } + cursor = v_8; + return true; +} + +private boolean r_postlude() { + int among_var; + while(true) + { + int v_1 = cursor; + lab0: { + bra = cursor; + among_var = find_among(a_0); + if (among_var == 0) + { + break lab0; + } + ket = cursor; + switch (among_var) { + case 1: + slice_from("a"); + break; + case 2: + slice_from("e"); + break; + case 3: + slice_from("i"); + break; + case 4: + slice_from("o"); + break; + case 5: + slice_from("u"); + break; + case 6: + if (cursor >= limit) + { + break lab0; + } + cursor++; + break; + } + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_RV() { + if (!(I_pV <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; +} + +private boolean r_attached_pronoun() { + int among_var; + ket = cursor; + if (find_among_b(a_1) == 0) + { + return false; + } + bra = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + return false; + } + if (!r_RV()) + { + return false; + } + switch (among_var) { + case 1: + bra = cursor; + slice_from("iendo"); + break; + case 2: + bra = cursor; + slice_from("ando"); + break; + case 3: + bra = cursor; + slice_from("ar"); + break; + case 4: + bra = cursor; + slice_from("er"); + break; + case 5: + bra = cursor; + slice_from("ir"); + break; + case 6: + slice_del(); + break; + case 7: + if (!(eq_s_b("u"))) + { + return false; + } + slice_del(); + break; + } + return true; +} + +private boolean r_standard_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_6); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_R2()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("ic"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + } + break; + case 3: + if (!r_R2()) + { + return false; + } + slice_from("log"); + break; + case 4: + if (!r_R2()) + { + return false; + } + slice_from("u"); + break; + case 5: + if (!r_R2()) + { + return false; + } + slice_from("ente"); + break; + case 6: + if (!r_R1()) + { + return false; + } + slice_del(); + int v_2 = limit - cursor; + lab1: { + ket = cursor; + among_var = find_among_b(a_3); + if (among_var == 0) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + switch (among_var) { + case 1: + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_2; + break lab1; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + slice_del(); + break; + } + } + break; + case 7: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_3 = limit - cursor; + lab2: { + ket = cursor; + if (find_among_b(a_4) == 0) + { + cursor = limit - v_3; + break lab2; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + slice_del(); + } + break; + case 8: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_4 = limit - cursor; + lab3: { + ket = cursor; + if (find_among_b(a_5) == 0) + { + cursor = limit - v_4; + break lab3; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + slice_del(); + } + break; + case 9: + if (!r_R2()) + { + return false; + } + slice_del(); + int v_5 = limit - cursor; + lab4: { + ket = cursor; + if (!(eq_s_b("at"))) + { + cursor = limit - v_5; + break lab4; + } + bra = cursor; + if (!r_R2()) + { + cursor = limit - v_5; + break lab4; + } + slice_del(); + } + break; + } + return true; +} + +private boolean r_y_verb_suffix() { + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + if (find_among_b(a_7) == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + if (!(eq_s_b("u"))) + { + return false; + } + slice_del(); + return true; +} + +private boolean r_verb_suffix() { + int among_var; + if (cursor < I_pV) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_pV; + ket = cursor; + among_var = find_among_b(a_8); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + int v_3 = limit - cursor; + lab0: { + if (!(eq_s_b("u"))) + { + cursor = limit - v_3; + break lab0; + } + int v_4 = limit - cursor; + if (!(eq_s_b("g"))) + { + cursor = limit - v_3; + break lab0; + } + cursor = limit - v_4; + } + bra = cursor; + slice_del(); + break; + case 2: + slice_del(); + break; + } + return true; +} + +private boolean r_residual_suffix() { + int among_var; + ket = cursor; + among_var = find_among_b(a_9); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + if (!r_RV()) + { + return false; + } + slice_del(); + break; + case 2: + if (!r_RV()) + { + return false; + } + slice_del(); + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (!(eq_s_b("u"))) + { + cursor = limit - v_1; + break lab0; + } + bra = cursor; + int v_2 = limit - cursor; + if (!(eq_s_b("g"))) + { + cursor = limit - v_1; + break lab0; + } + cursor = limit - v_2; + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + slice_del(); + } + break; + } + return true; +} + +public boolean stem() { + r_mark_regions(); + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_attached_pronoun(); + cursor = limit - v_2; + int v_3 = limit - cursor; + lab0: { + lab1: { + int v_4 = limit - cursor; + lab2: { + if (!r_standard_suffix()) + { + break lab2; + } + break lab1; + } + cursor = limit - v_4; + lab3: { + if (!r_y_verb_suffix()) + { + break lab3; + } + break lab1; + } + cursor = limit - v_4; + if (!r_verb_suffix()) + { + break lab0; + } + } + } + cursor = limit - v_3; + int v_5 = limit - cursor; + r_residual_suffix(); + cursor = limit - v_5; + cursor = limit_backward; + int v_6 = cursor; + r_postlude(); + cursor = v_6; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof SpanishStemmer; +} + +@Override +public int hashCode() { + return SpanishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SwedishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SwedishStemmer.java index da190559d14..9d5cce5d16c 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SwedishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/SwedishStemmer.java @@ -1,367 +1,262 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class SwedishStemmer extends org.tartarus.snowball.SnowballStemmer { -@SuppressWarnings("unused") public class SwedishStemmer extends SnowballProgram { + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); -private static final long serialVersionUID = 1L; +private final static Among a_0[] = { + new Among("a", -1, 1), + new Among("arna", 0, 1), + new Among("erna", 0, 1), + new Among("heterna", 2, 1), + new Among("orna", 0, 1), + new Among("ad", -1, 1), + new Among("e", -1, 1), + new Among("ade", 6, 1), + new Among("ande", 6, 1), + new Among("arne", 6, 1), + new Among("are", 6, 1), + new Among("aste", 6, 1), + new Among("en", -1, 1), + new Among("anden", 12, 1), + new Among("aren", 12, 1), + new Among("heten", 12, 1), + new Among("ern", -1, 1), + new Among("ar", -1, 1), + new Among("er", -1, 1), + new Among("heter", 18, 1), + new Among("or", -1, 1), + new Among("s", -1, 2), + new Among("as", 21, 1), + new Among("arnas", 22, 1), + new Among("ernas", 22, 1), + new Among("ornas", 22, 1), + new Among("es", 21, 1), + new Among("ades", 26, 1), + new Among("andes", 26, 1), + new Among("ens", 21, 1), + new Among("arens", 29, 1), + new Among("hetens", 29, 1), + new Among("erns", 21, 1), + new Among("at", -1, 1), + new Among("andet", -1, 1), + new Among("het", -1, 1), + new Among("ast", -1, 1) +}; - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); +private final static Among a_1[] = { + new Among("dd", -1, -1), + new Among("gd", -1, -1), + new Among("nn", -1, -1), + new Among("dt", -1, -1), + new Among("gt", -1, -1), + new Among("kt", -1, -1), + new Among("tt", -1, -1) +}; - private final static Among a_0[] = { - new Among ( "a", -1, 1, "", methodObject ), - new Among ( "arna", 0, 1, "", methodObject ), - new Among ( "erna", 0, 1, "", methodObject ), - new Among ( "heterna", 2, 1, "", methodObject ), - new Among ( "orna", 0, 1, "", methodObject ), - new Among ( "ad", -1, 1, "", methodObject ), - new Among ( "e", -1, 1, "", methodObject ), - new Among ( "ade", 6, 1, "", methodObject ), - new Among ( "ande", 6, 1, "", methodObject ), - new Among ( "arne", 6, 1, "", methodObject ), - new Among ( "are", 6, 1, "", methodObject ), - new Among ( "aste", 6, 1, "", methodObject ), - new Among ( "en", -1, 1, "", methodObject ), - new Among ( "anden", 12, 1, "", methodObject ), - new Among ( "aren", 12, 1, "", methodObject ), - new Among ( "heten", 12, 1, "", methodObject ), - new Among ( "ern", -1, 1, "", methodObject ), - new Among ( "ar", -1, 1, "", methodObject ), - new Among ( "er", -1, 1, "", methodObject ), - new Among ( "heter", 18, 1, "", methodObject ), - new Among ( "or", -1, 1, "", methodObject ), - new Among ( "s", -1, 2, "", methodObject ), - new Among ( "as", 21, 1, "", methodObject ), - new Among ( "arnas", 22, 1, "", methodObject ), - new Among ( "ernas", 22, 1, "", methodObject ), - new Among ( "ornas", 22, 1, "", methodObject ), - new Among ( "es", 21, 1, "", methodObject ), - new Among ( "ades", 26, 1, "", methodObject ), - new Among ( "andes", 26, 1, "", methodObject ), - new Among ( "ens", 21, 1, "", methodObject ), - new Among ( "arens", 29, 1, "", methodObject ), - new Among ( "hetens", 29, 1, "", methodObject ), - new Among ( "erns", 21, 1, "", methodObject ), - new Among ( "at", -1, 1, "", methodObject ), - new Among ( "andet", -1, 1, "", methodObject ), - new Among ( "het", -1, 1, "", methodObject ), - new Among ( "ast", -1, 1, "", methodObject ) - }; +private final static Among a_2[] = { + new Among("ig", -1, 1), + new Among("lig", 0, 1), + new Among("els", -1, 1), + new Among("fullt", -1, 3), + new Among("l\u00F6st", -1, 2) +}; - private final static Among a_1[] = { - new Among ( "dd", -1, -1, "", methodObject ), - new Among ( "gd", -1, -1, "", methodObject ), - new Among ( "nn", -1, -1, "", methodObject ), - new Among ( "dt", -1, -1, "", methodObject ), - new Among ( "gt", -1, -1, "", methodObject ), - new Among ( "kt", -1, -1, "", methodObject ), - new Among ( "tt", -1, -1, "", methodObject ) - }; +private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 }; - private final static Among a_2[] = { - new Among ( "ig", -1, 1, "", methodObject ), - new Among ( "lig", 0, 1, "", methodObject ), - new Among ( "els", -1, 1, "", methodObject ), - new Among ( "fullt", -1, 3, "", methodObject ), - new Among ( "l\u00F6st", -1, 2, "", methodObject ) - }; +private static final char g_s_ending[] = {119, 127, 149 }; - private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 }; +private int I_x; +private int I_p1; - private static final char g_s_ending[] = {119, 127, 149 }; - private int I_x; - private int I_p1; +private boolean r_mark_regions() { + I_p1 = limit; + int v_1 = cursor; + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + I_x = cursor; + cursor = v_1; + golab0: while(true) + { + int v_2 = cursor; + lab1: { + if (!(in_grouping(g_v, 97, 246))) + { + break lab1; + } + cursor = v_2; + break golab0; + } + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + golab2: while(true) + { + lab3: { + if (!(out_grouping(g_v, 97, 246))) + { + break lab3; + } + break golab2; + } + if (cursor >= limit) + { + return false; + } + cursor++; + } + I_p1 = cursor; + lab4: { + if (!(I_p1 < I_x)) + { + break lab4; + } + I_p1 = I_x; + } + return true; +} - private void copy_from(SwedishStemmer other) { - I_x = other.I_x; - I_p1 = other.I_p1; - super.copy_from(other); - } +private boolean r_main_suffix() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_0); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + limit_backward = v_2; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + if (!(in_grouping_b(g_s_ending, 98, 121))) + { + return false; + } + slice_del(); + break; + } + return true; +} - private boolean r_mark_regions() { - int v_1; - int v_2; - // (, line 26 - I_p1 = limit; - // test, line 29 - v_1 = cursor; - // (, line 29 - // hop, line 29 - { - int c = cursor + 3; - if (0 > c || c > limit) - { - return false; - } - cursor = c; - } - // setmark x, line 29 - I_x = cursor; - cursor = v_1; - // goto, line 30 - golab0: while(true) - { - v_2 = cursor; - lab1: do { - if (!(in_grouping(g_v, 97, 246))) - { - break lab1; - } - cursor = v_2; - break golab0; - } while (false); - cursor = v_2; - if (cursor >= limit) - { - return false; - } - cursor++; - } - // gopast, line 30 - golab2: while(true) - { - lab3: do { - if (!(out_grouping(g_v, 97, 246))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // setmark p1, line 30 - I_p1 = cursor; - // try, line 31 - lab4: do { - // (, line 31 - if (!(I_p1 < I_x)) - { - break lab4; - } - I_p1 = I_x; - } while (false); - return true; - } +private boolean r_consonant_pair() { + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + int v_3 = limit - cursor; + if (find_among_b(a_1) == 0) + { + limit_backward = v_2; + return false; + } + cursor = limit - v_3; + ket = cursor; + if (cursor <= limit_backward) + { + limit_backward = v_2; + return false; + } + cursor--; + bra = cursor; + slice_del(); + limit_backward = v_2; + return true; +} - private boolean r_main_suffix() { - int among_var; - int v_1; - int v_2; - // (, line 36 - // setlimit, line 37 - v_1 = limit - cursor; - // tomark, line 37 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 37 - // [, line 37 - ket = cursor; - // substring, line 37 - among_var = find_among_b(a_0, 37); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 37 - bra = cursor; - limit_backward = v_2; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 44 - // delete, line 44 - slice_del(); - break; - case 2: - // (, line 46 - if (!(in_grouping_b(g_s_ending, 98, 121))) - { - return false; - } - // delete, line 46 - slice_del(); - break; - } - return true; - } +private boolean r_other_suffix() { + int among_var; + if (cursor < I_p1) + { + return false; + } + int v_2 = limit_backward; + limit_backward = I_p1; + ket = cursor; + among_var = find_among_b(a_2); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_del(); + break; + case 2: + slice_from("l\u00F6s"); + break; + case 3: + slice_from("full"); + break; + } + limit_backward = v_2; + return true; +} - private boolean r_consonant_pair() { - int v_1; - int v_2; - int v_3; - // setlimit, line 50 - v_1 = limit - cursor; - // tomark, line 50 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 50 - // and, line 52 - v_3 = limit - cursor; - // among, line 51 - if (find_among_b(a_1, 7) == 0) - { - limit_backward = v_2; - return false; - } - cursor = limit - v_3; - // (, line 52 - // [, line 52 - ket = cursor; - // next, line 52 - if (cursor <= limit_backward) - { - limit_backward = v_2; - return false; - } - cursor--; - // ], line 52 - bra = cursor; - // delete, line 52 - slice_del(); - limit_backward = v_2; - return true; - } +public boolean stem() { + int v_1 = cursor; + r_mark_regions(); + cursor = v_1; + limit_backward = cursor; + cursor = limit; + int v_2 = limit - cursor; + r_main_suffix(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_consonant_pair(); + cursor = limit - v_3; + int v_4 = limit - cursor; + r_other_suffix(); + cursor = limit - v_4; + cursor = limit_backward; + return true; +} - private boolean r_other_suffix() { - int among_var; - int v_1; - int v_2; - // setlimit, line 55 - v_1 = limit - cursor; - // tomark, line 55 - if (cursor < I_p1) - { - return false; - } - cursor = I_p1; - v_2 = limit_backward; - limit_backward = cursor; - cursor = limit - v_1; - // (, line 55 - // [, line 56 - ket = cursor; - // substring, line 56 - among_var = find_among_b(a_2, 5); - if (among_var == 0) - { - limit_backward = v_2; - return false; - } - // ], line 56 - bra = cursor; - switch(among_var) { - case 0: - limit_backward = v_2; - return false; - case 1: - // (, line 57 - // delete, line 57 - slice_del(); - break; - case 2: - // (, line 58 - // <-, line 58 - slice_from("l\u00F6s"); - break; - case 3: - // (, line 59 - // <-, line 59 - slice_from("full"); - break; - } - limit_backward = v_2; - return true; - } +@Override +public boolean equals( Object o ) { + return o instanceof SwedishStemmer; +} - @Override - public boolean stem() { - int v_1; - int v_2; - int v_3; - int v_4; - // (, line 64 - // do, line 66 - v_1 = cursor; - lab0: do { - // call mark_regions, line 66 - if (!r_mark_regions()) - { - break lab0; - } - } while (false); - cursor = v_1; - // backwards, line 67 - limit_backward = cursor; cursor = limit; - // (, line 67 - // do, line 68 - v_2 = limit - cursor; - lab1: do { - // call main_suffix, line 68 - if (!r_main_suffix()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 69 - v_3 = limit - cursor; - lab2: do { - // call consonant_pair, line 69 - if (!r_consonant_pair()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - // do, line 70 - v_4 = limit - cursor; - lab3: do { - // call other_suffix, line 70 - if (!r_other_suffix()) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - cursor = limit_backward; return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof SwedishStemmer; - } - - @Override - public int hashCode() { - return SwedishStemmer.class.getName().hashCode(); - } +@Override +public int hashCode() { + return SwedishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TamilStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TamilStemmer.java new file mode 100644 index 00000000000..13fbb6c8cfa --- /dev/null +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TamilStemmer.java @@ -0,0 +1,1959 @@ +// Generated by Snowball 2.0.0 - https://snowballstem.org/ + +package org.tartarus.snowball.ext; + +import org.tartarus.snowball.Among; + +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class TamilStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B99", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9E", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BA8", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BAE", -1, -1), + new Among("\u0BAF", -1, -1), + new Among("\u0BB5", -1, -1) +}; + +private final static Among a_1[] = { + new Among("\u0BA8\u0BCD\u0BA4", -1, -1), + new Among("\u0BA8\u0BCD\u0BA4\u0BCD", -1, -1), + new Among("\u0BA8\u0BCD", -1, -1) +}; + +private final static Among a_2[] = { + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_3[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_4[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_5[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_6[] = { + new Among("\u0BAF", -1, -1), + new Among("\u0BB0", -1, -1), + new Among("\u0BB2", -1, -1), + new Among("\u0BB3", -1, -1), + new Among("\u0BB4", -1, -1), + new Among("\u0BB5", -1, -1) +}; + +private final static Among a_7[] = { + new Among("\u0B99", -1, -1), + new Among("\u0B9E", -1, -1), + new Among("\u0BA3", -1, -1), + new Among("\u0BA8", -1, -1), + new Among("\u0BA9", -1, -1), + new Among("\u0BAE", -1, -1) +}; + +private final static Among a_8[] = { + new Among("\u0BAF", -1, -1), + new Among("\u0BB5", -1, -1), + new Among("\u0BB5\u0BCD", -1, -1) +}; + +private final static Among a_9[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_10[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_11[] = { + new Among("\u0B85", -1, -1), + new Among("\u0B87", -1, -1), + new Among("\u0B89", -1, -1) +}; + +private final static Among a_12[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B99", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9E", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BA8", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BAE", -1, -1), + new Among("\u0BAF", -1, -1), + new Among("\u0BB5", -1, -1) +}; + +private final static Among a_13[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_14[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BCB", -1, -1) +}; + +private final static Among a_15[] = { + new Among("\u0BAA\u0BBF", -1, -1), + new Among("\u0BB5\u0BBF", -1, -1) +}; + +private final static Among a_16[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_17[] = { + new Among("\u0BAA\u0B9F\u0BCD\u0B9F", -1, -1), + new Among("\u0BAA\u0B9F\u0BCD\u0B9F\u0BA3", -1, -1), + new Among("\u0BA4\u0BBE\u0BA9", -1, -1), + new Among("\u0BAA\u0B9F\u0BBF\u0BA4\u0BBE\u0BA9", 2, -1), + new Among("\u0B95\u0BC1\u0BB0\u0BBF\u0BAF", -1, -1), + new Among("\u0BAA\u0B9F\u0BBF", -1, -1), + new Among("\u0BAA\u0BB1\u0BCD\u0BB1\u0BBF", -1, -1), + new Among("\u0BAA\u0B9F\u0BC1", -1, -1), + new Among("\u0BB5\u0BBF\u0B9F\u0BC1", -1, -1), + new Among("\u0BAA\u0B9F\u0BCD\u0B9F\u0BC1", -1, -1), + new Among("\u0BB5\u0BBF\u0B9F\u0BCD\u0B9F\u0BC1", -1, -1), + new Among("\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1", -1, -1), + new Among("\u0BC6\u0BB2\u0BCD\u0BB2\u0BBE\u0BAE\u0BCD", -1, -1) +}; + +private final static Among a_18[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_19[] = { + new Among("\u0B95", -1, -1), + new Among("\u0B9A", -1, -1), + new Among("\u0B9F", -1, -1), + new Among("\u0BA4", -1, -1), + new Among("\u0BAA", -1, -1), + new Among("\u0BB1", -1, -1) +}; + +private final static Among a_20[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_21[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_22[] = { + new Among("\u0BAA\u0B9F\u0BC1", -1, -1), + new Among("\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BCD", -1, -1) +}; + +private final static Among a_23[] = { + new Among("\u0B85", -1, -1), + new Among("\u0B86", -1, -1), + new Among("\u0B87", -1, -1), + new Among("\u0B88", -1, -1), + new Among("\u0B89", -1, -1), + new Among("\u0B8A", -1, -1), + new Among("\u0B8E", -1, -1), + new Among("\u0B8F", -1, -1), + new Among("\u0B90", -1, -1), + new Among("\u0B92", -1, -1), + new Among("\u0B93", -1, -1), + new Among("\u0B94", -1, -1) +}; + +private final static Among a_24[] = { + new Among("\u0BBE", -1, -1), + new Among("\u0BBF", -1, -1), + new Among("\u0BC0", -1, -1), + new Among("\u0BC1", -1, -1), + new Among("\u0BC2", -1, -1), + new Among("\u0BC6", -1, -1), + new Among("\u0BC7", -1, -1), + new Among("\u0BC8", -1, -1) +}; + +private final static Among a_25[] = { + new Among("\u0B95\u0BBF\u0BB1", -1, -1), + new Among("\u0B95\u0BBF\u0BA9\u0BCD\u0BB1", -1, -1), + new Among("\u0BBE\u0BA8\u0BBF\u0BA9\u0BCD\u0BB1", -1, -1), + new Among("\u0B95\u0BBF\u0BB1\u0BCD", -1, -1), + new Among("\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BCD", -1, -1), + new Among("\u0BBE\u0BA8\u0BBF\u0BA9\u0BCD\u0BB1\u0BCD", -1, -1) +}; + +private boolean B_found_vetrumai_urupu; +private boolean B_found_a_match; + + +private boolean r_has_min_length() { + if (!(limit > 4)) + { + return false; + } + return true; +} + +private boolean r_fix_va_start() { + lab0: { + int v_1 = cursor; + lab1: { + int v_2 = cursor; + int v_3 = cursor; + lab2: { + if (!(eq_s("\u0BB5\u0BCB"))) + { + cursor = v_3; + break lab2; + } + } + cursor = v_2; + bra = cursor; + if (!(eq_s("\u0BB5\u0BCB"))) + { + break lab1; + } + ket = cursor; + slice_from("\u0B93"); + break lab0; + } + cursor = v_1; + lab3: { + int v_4 = cursor; + int v_5 = cursor; + lab4: { + if (!(eq_s("\u0BB5\u0BCA"))) + { + cursor = v_5; + break lab4; + } + } + cursor = v_4; + bra = cursor; + if (!(eq_s("\u0BB5\u0BCA"))) + { + break lab3; + } + ket = cursor; + slice_from("\u0B92"); + break lab0; + } + cursor = v_1; + lab5: { + int v_6 = cursor; + int v_7 = cursor; + lab6: { + if (!(eq_s("\u0BB5\u0BC1"))) + { + cursor = v_7; + break lab6; + } + } + cursor = v_6; + bra = cursor; + if (!(eq_s("\u0BB5\u0BC1"))) + { + break lab5; + } + ket = cursor; + slice_from("\u0B89"); + break lab0; + } + cursor = v_1; + int v_8 = cursor; + int v_9 = cursor; + lab7: { + if (!(eq_s("\u0BB5\u0BC2"))) + { + cursor = v_9; + break lab7; + } + } + cursor = v_8; + bra = cursor; + if (!(eq_s("\u0BB5\u0BC2"))) + { + return false; + } + ket = cursor; + slice_from("\u0B8A"); + } + return true; +} + +private boolean r_fix_endings() { + int v_1 = cursor; + lab0: { + while(true) + { + int v_2 = cursor; + lab1: { + if (!r_fix_ending()) + { + break lab1; + } + continue; + } + cursor = v_2; + break; + } + } + cursor = v_1; + return true; +} + +private boolean r_remove_question_prefixes() { + bra = cursor; + if (!(eq_s("\u0B8E"))) + { + return false; + } + if (find_among(a_0) == 0) + { + return false; + } + if (!(eq_s("\u0BCD"))) + { + return false; + } + ket = cursor; + slice_del(); + int v_1 = cursor; + r_fix_va_start(); + cursor = v_1; + return true; +} + +private boolean r_fix_ending() { + if (!(limit > 3)) + { + return false; + } + limit_backward = cursor; + cursor = limit; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + if (find_among_b(a_1) == 0) + { + break lab1; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab2: { + ket = cursor; + if (!(eq_s_b("\u0BAF\u0BCD"))) + { + break lab2; + } + int v_2 = limit - cursor; + if (find_among_b(a_2) == 0) + { + break lab2; + } + cursor = limit - v_2; + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab3: { + ket = cursor; + lab4: { + int v_3 = limit - cursor; + lab5: { + if (!(eq_s_b("\u0B9F\u0BCD\u0BAA\u0BCD"))) + { + break lab5; + } + break lab4; + } + cursor = limit - v_3; + if (!(eq_s_b("\u0B9F\u0BCD\u0B95\u0BCD"))) + { + break lab3; + } + } + bra = cursor; + slice_from("\u0BB3\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab6: { + ket = cursor; + if (!(eq_s_b("\u0BA9\u0BCD\u0BB1\u0BCD"))) + { + break lab6; + } + bra = cursor; + slice_from("\u0BB2\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab7: { + ket = cursor; + if (!(eq_s_b("\u0BB1\u0BCD\u0B95\u0BCD"))) + { + break lab7; + } + bra = cursor; + slice_from("\u0BB2\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab8: { + ket = cursor; + if (!(eq_s_b("\u0B9F\u0BCD\u0B9F\u0BCD"))) + { + break lab8; + } + bra = cursor; + slice_from("\u0B9F\u0BC1"); + break lab0; + } + cursor = limit - v_1; + lab9: { + if (!(B_found_vetrumai_urupu)) + { + break lab9; + } + ket = cursor; + if (!(eq_s_b("\u0BA4\u0BCD\u0BA4\u0BCD"))) + { + break lab9; + } + int v_4 = limit - cursor; + { + int v_5 = limit - cursor; + lab10: { + if (!(eq_s_b("\u0BC8"))) + { + break lab10; + } + break lab9; + } + cursor = limit - v_5; + } + cursor = limit - v_4; + bra = cursor; + slice_from("\u0BAE\u0BCD"); + bra = cursor; + break lab0; + } + cursor = limit - v_1; + lab11: { + ket = cursor; + lab12: { + int v_6 = limit - cursor; + lab13: { + if (!(eq_s_b("\u0BC1\u0B95\u0BCD"))) + { + break lab13; + } + break lab12; + } + cursor = limit - v_6; + if (!(eq_s_b("\u0BC1\u0B95\u0BCD\u0B95\u0BCD"))) + { + break lab11; + } + } + bra = cursor; + slice_from("\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab14: { + ket = cursor; + if (!(eq_s_b("\u0BCD"))) + { + break lab14; + } + if (find_among_b(a_3) == 0) + { + break lab14; + } + if (!(eq_s_b("\u0BCD"))) + { + break lab14; + } + if (find_among_b(a_4) == 0) + { + break lab14; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab15: { + ket = cursor; + if (!(eq_s_b("\u0BC1\u0B95\u0BCD"))) + { + break lab15; + } + bra = cursor; + slice_from("\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab16: { + ket = cursor; + if (!(eq_s_b("\u0BCD"))) + { + break lab16; + } + if (find_among_b(a_5) == 0) + { + break lab16; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab17: { + ket = cursor; + if (!(eq_s_b("\u0BCD"))) + { + break lab17; + } + lab18: { + int v_7 = limit - cursor; + lab19: { + if (find_among_b(a_6) == 0) + { + break lab19; + } + break lab18; + } + cursor = limit - v_7; + if (find_among_b(a_7) == 0) + { + break lab17; + } + } + if (!(eq_s_b("\u0BCD"))) + { + break lab17; + } + bra = cursor; + slice_from("\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab20: { + ket = cursor; + if (find_among_b(a_8) == 0) + { + break lab20; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab21: { + ket = cursor; + if (!(eq_s_b("\u0BA9\u0BC1"))) + { + break lab21; + } + int v_8 = limit - cursor; + { + int v_9 = limit - cursor; + lab22: { + if (find_among_b(a_9) == 0) + { + break lab22; + } + break lab21; + } + cursor = limit - v_9; + } + cursor = limit - v_8; + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab23: { + ket = cursor; + if (!(eq_s_b("\u0B99\u0BCD"))) + { + break lab23; + } + int v_10 = limit - cursor; + { + int v_11 = limit - cursor; + lab24: { + if (!(eq_s_b("\u0BC8"))) + { + break lab24; + } + break lab23; + } + cursor = limit - v_11; + } + cursor = limit - v_10; + bra = cursor; + slice_from("\u0BAE\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab25: { + ket = cursor; + if (!(eq_s_b("\u0B99\u0BCD"))) + { + break lab25; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + if (!(eq_s_b("\u0BCD"))) + { + return false; + } + int v_12 = limit - cursor; + lab26: { + int v_13 = limit - cursor; + lab27: { + if (find_among_b(a_10) == 0) + { + break lab27; + } + break lab26; + } + cursor = limit - v_13; + if (!(eq_s_b("\u0BCD"))) + { + return false; + } + } + cursor = limit - v_12; + bra = cursor; + slice_del(); + } + cursor = limit_backward; + return true; +} + +private boolean r_remove_pronoun_prefixes() { + B_found_a_match = false; + bra = cursor; + if (find_among(a_11) == 0) + { + return false; + } + if (find_among(a_12) == 0) + { + return false; + } + if (!(eq_s("\u0BCD"))) + { + return false; + } + ket = cursor; + slice_del(); + B_found_a_match = true; + int v_1 = cursor; + r_fix_va_start(); + cursor = v_1; + return true; +} + +private boolean r_remove_plural_suffix() { + B_found_a_match = false; + limit_backward = cursor; + cursor = limit; + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + if (!(eq_s_b("\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"))) + { + break lab1; + } + int v_2 = limit - cursor; + { + int v_3 = limit - cursor; + lab2: { + if (find_among_b(a_13) == 0) + { + break lab2; + } + break lab1; + } + cursor = limit - v_3; + } + cursor = limit - v_2; + bra = cursor; + slice_from("\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab3: { + ket = cursor; + if (!(eq_s_b("\u0BB1\u0BCD\u0B95\u0BB3\u0BCD"))) + { + break lab3; + } + bra = cursor; + slice_from("\u0BB2\u0BCD"); + break lab0; + } + cursor = limit - v_1; + lab4: { + ket = cursor; + if (!(eq_s_b("\u0B9F\u0BCD\u0B95\u0BB3\u0BCD"))) + { + break lab4; + } + bra = cursor; + slice_from("\u0BB3\u0BCD"); + break lab0; + } + cursor = limit - v_1; + ket = cursor; + if (!(eq_s_b("\u0B95\u0BB3\u0BCD"))) + { + return false; + } + bra = cursor; + slice_del(); + } + B_found_a_match = true; + cursor = limit_backward; + return true; +} + +private boolean r_remove_question_suffixes() { + if (!r_has_min_length()) + { + return false; + } + B_found_a_match = false; + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + lab0: { + ket = cursor; + if (find_among_b(a_14) == 0) + { + break lab0; + } + bra = cursor; + slice_from("\u0BCD"); + B_found_a_match = true; + } + cursor = limit - v_1; + cursor = limit_backward; + r_fix_endings(); + return true; +} + +private boolean r_remove_command_suffixes() { + if (!r_has_min_length()) + { + return false; + } + B_found_a_match = false; + limit_backward = cursor; + cursor = limit; + ket = cursor; + if (find_among_b(a_15) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_found_a_match = true; + cursor = limit_backward; + return true; +} + +private boolean r_remove_um() { + B_found_a_match = false; + if (!r_has_min_length()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + ket = cursor; + if (!(eq_s_b("\u0BC1\u0BAE\u0BCD"))) + { + return false; + } + bra = cursor; + slice_from("\u0BCD"); + B_found_a_match = true; + cursor = limit_backward; + int v_1 = cursor; + r_fix_ending(); + cursor = v_1; + return true; +} + +private boolean r_remove_common_word_endings() { + B_found_a_match = false; + if (!r_has_min_length()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + lab0: { + int v_1 = limit - cursor; + lab1: { + int v_2 = limit - cursor; + ket = cursor; + lab2: { + int v_3 = limit - cursor; + lab3: { + if (!(eq_s_b("\u0BC1\u0B9F\u0BA9\u0BCD"))) + { + break lab3; + } + break lab2; + } + cursor = limit - v_3; + lab4: { + if (!(eq_s_b("\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8"))) + { + break lab4; + } + break lab2; + } + cursor = limit - v_3; + lab5: { + if (!(eq_s_b("\u0BBF\u0B9F\u0BAE\u0BCD"))) + { + break lab5; + } + break lab2; + } + cursor = limit - v_3; + lab6: { + if (!(eq_s_b("\u0BBF\u0BA9\u0BCD\u0BB1\u0BBF"))) + { + break lab6; + } + break lab2; + } + cursor = limit - v_3; + lab7: { + if (!(eq_s_b("\u0BBE\u0B95\u0BBF"))) + { + break lab7; + } + break lab2; + } + cursor = limit - v_3; + lab8: { + if (!(eq_s_b("\u0BBE\u0B95\u0BBF\u0BAF"))) + { + break lab8; + } + break lab2; + } + cursor = limit - v_3; + lab9: { + if (!(eq_s_b("\u0BC6\u0BA9\u0BCD\u0BB1\u0BC1"))) + { + break lab9; + } + break lab2; + } + cursor = limit - v_3; + lab10: { + if (!(eq_s_b("\u0BC1\u0BB3\u0BCD\u0BB3"))) + { + break lab10; + } + break lab2; + } + cursor = limit - v_3; + lab11: { + if (!(eq_s_b("\u0BC1\u0B9F\u0BC8\u0BAF"))) + { + break lab11; + } + break lab2; + } + cursor = limit - v_3; + lab12: { + if (!(eq_s_b("\u0BC1\u0B9F\u0BC8"))) + { + break lab12; + } + break lab2; + } + cursor = limit - v_3; + lab13: { + if (!(eq_s_b("\u0BC6\u0BA9\u0BC1\u0BAE\u0BCD"))) + { + break lab13; + } + break lab2; + } + cursor = limit - v_3; + lab14: { + if (!(eq_s_b("\u0BB2\u0BCD\u0BB2"))) + { + break lab14; + } + int v_4 = limit - cursor; + { + int v_5 = limit - cursor; + lab15: { + if (find_among_b(a_16) == 0) + { + break lab15; + } + break lab14; + } + cursor = limit - v_5; + } + cursor = limit - v_4; + break lab2; + } + cursor = limit - v_3; + lab16: { + if (!(eq_s_b("\u0BC6\u0BA9"))) + { + break lab16; + } + break lab2; + } + cursor = limit - v_3; + if (!(eq_s_b("\u0BBE\u0B95\u0BBF"))) + { + break lab1; + } + } + bra = cursor; + slice_from("\u0BCD"); + B_found_a_match = true; + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + int v_6 = limit - cursor; + ket = cursor; + if (find_among_b(a_17) == 0) + { + return false; + } + bra = cursor; + slice_del(); + B_found_a_match = true; + cursor = limit - v_6; + } + cursor = limit_backward; + r_fix_endings(); + return true; +} + +private boolean r_remove_vetrumai_urupukal() { + B_found_a_match = false; + B_found_vetrumai_urupu = false; + if (!r_has_min_length()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + lab0: { + int v_1 = limit - cursor; + lab1: { + int v_2 = limit - cursor; + ket = cursor; + if (!(eq_s_b("\u0BA9\u0BC8"))) + { + break lab1; + } + bra = cursor; + slice_del(); + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + lab2: { + int v_3 = limit - cursor; + ket = cursor; + lab3: { + int v_4 = limit - cursor; + lab4: { + lab5: { + int v_5 = limit - cursor; + lab6: { + if (!(eq_s_b("\u0BBF\u0BA9\u0BC8"))) + { + break lab6; + } + break lab5; + } + cursor = limit - v_5; + if (!(eq_s_b("\u0BC8"))) + { + break lab4; + } + } + int v_6 = limit - cursor; + { + int v_7 = limit - cursor; + lab7: { + if (find_among_b(a_18) == 0) + { + break lab7; + } + break lab4; + } + cursor = limit - v_7; + } + cursor = limit - v_6; + break lab3; + } + cursor = limit - v_4; + if (!(eq_s_b("\u0BC8"))) + { + break lab2; + } + int v_8 = limit - cursor; + if (find_among_b(a_19) == 0) + { + break lab2; + } + if (!(eq_s_b("\u0BCD"))) + { + break lab2; + } + cursor = limit - v_8; + } + bra = cursor; + slice_from("\u0BCD"); + cursor = limit - v_3; + break lab0; + } + cursor = limit - v_1; + lab8: { + int v_9 = limit - cursor; + ket = cursor; + lab9: { + int v_10 = limit - cursor; + lab10: { + if (!(eq_s_b("\u0BCA\u0B9F\u0BC1"))) + { + break lab10; + } + break lab9; + } + cursor = limit - v_10; + lab11: { + if (!(eq_s_b("\u0BCB\u0B9F\u0BC1"))) + { + break lab11; + } + break lab9; + } + cursor = limit - v_10; + lab12: { + if (!(eq_s_b("\u0BBF\u0BB2\u0BCD"))) + { + break lab12; + } + break lab9; + } + cursor = limit - v_10; + lab13: { + if (!(eq_s_b("\u0BBF\u0BB1\u0BCD"))) + { + break lab13; + } + break lab9; + } + cursor = limit - v_10; + lab14: { + if (!(eq_s_b("\u0BBF\u0BA9\u0BCD"))) + { + break lab14; + } + int v_11 = limit - cursor; + { + int v_12 = limit - cursor; + lab15: { + if (!(eq_s_b("\u0BAE"))) + { + break lab15; + } + break lab14; + } + cursor = limit - v_12; + } + cursor = limit - v_11; + break lab9; + } + cursor = limit - v_10; + lab16: { + if (!(eq_s_b("\u0BBF\u0BA9\u0BCD\u0BB1\u0BC1"))) + { + break lab16; + } + break lab9; + } + cursor = limit - v_10; + lab17: { + if (!(eq_s_b("\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1"))) + { + break lab17; + } + break lab9; + } + cursor = limit - v_10; + lab18: { + if (!(eq_s_b("\u0BB5\u0BBF\u0B9F"))) + { + break lab18; + } + break lab9; + } + cursor = limit - v_10; + lab19: { + if (!(limit >= 7)) + { + break lab19; + } + if (!(eq_s_b("\u0BBF\u0B9F\u0BAE\u0BCD"))) + { + break lab19; + } + break lab9; + } + cursor = limit - v_10; + lab20: { + if (!(eq_s_b("\u0BBE\u0BB2\u0BCD"))) + { + break lab20; + } + break lab9; + } + cursor = limit - v_10; + lab21: { + if (!(eq_s_b("\u0BC1\u0B9F\u0BC8"))) + { + break lab21; + } + break lab9; + } + cursor = limit - v_10; + lab22: { + if (!(eq_s_b("\u0BBE\u0BAE\u0BB2\u0BCD"))) + { + break lab22; + } + break lab9; + } + cursor = limit - v_10; + lab23: { + if (!(eq_s_b("\u0BB2\u0BCD"))) + { + break lab23; + } + int v_13 = limit - cursor; + { + int v_14 = limit - cursor; + lab24: { + if (find_among_b(a_20) == 0) + { + break lab24; + } + break lab23; + } + cursor = limit - v_14; + } + cursor = limit - v_13; + break lab9; + } + cursor = limit - v_10; + if (!(eq_s_b("\u0BC1\u0BB3\u0BCD"))) + { + break lab8; + } + } + bra = cursor; + slice_from("\u0BCD"); + cursor = limit - v_9; + break lab0; + } + cursor = limit - v_1; + lab25: { + int v_15 = limit - cursor; + ket = cursor; + lab26: { + int v_16 = limit - cursor; + lab27: { + if (!(eq_s_b("\u0B95\u0BA3\u0BCD"))) + { + break lab27; + } + break lab26; + } + cursor = limit - v_16; + lab28: { + if (!(eq_s_b("\u0BAE\u0BC1\u0BA9\u0BCD"))) + { + break lab28; + } + break lab26; + } + cursor = limit - v_16; + lab29: { + if (!(eq_s_b("\u0BAE\u0BC7\u0BB2\u0BCD"))) + { + break lab29; + } + break lab26; + } + cursor = limit - v_16; + lab30: { + if (!(eq_s_b("\u0BAE\u0BC7\u0BB1\u0BCD"))) + { + break lab30; + } + break lab26; + } + cursor = limit - v_16; + lab31: { + if (!(eq_s_b("\u0B95\u0BC0\u0BB4\u0BCD"))) + { + break lab31; + } + break lab26; + } + cursor = limit - v_16; + lab32: { + if (!(eq_s_b("\u0BAA\u0BBF\u0BA9\u0BCD"))) + { + break lab32; + } + break lab26; + } + cursor = limit - v_16; + if (!(eq_s_b("\u0BA4\u0BC1"))) + { + break lab25; + } + int v_17 = limit - cursor; + { + int v_18 = limit - cursor; + lab33: { + if (find_among_b(a_21) == 0) + { + break lab33; + } + break lab25; + } + cursor = limit - v_18; + } + cursor = limit - v_17; + } + bra = cursor; + slice_del(); + cursor = limit - v_15; + break lab0; + } + cursor = limit - v_1; + int v_19 = limit - cursor; + ket = cursor; + if (!(eq_s_b("\u0BC0"))) + { + return false; + } + bra = cursor; + slice_from("\u0BBF"); + cursor = limit - v_19; + } + B_found_a_match = true; + B_found_vetrumai_urupu = true; + int v_20 = limit - cursor; + lab34: { + ket = cursor; + if (!(eq_s_b("\u0BBF\u0BA9\u0BCD"))) + { + break lab34; + } + bra = cursor; + slice_from("\u0BCD"); + } + cursor = limit - v_20; + cursor = limit_backward; + r_fix_endings(); + return true; +} + +private boolean r_remove_tense_suffixes() { + B_found_a_match = true; + while(true) + { + int v_1 = cursor; + lab0: { + if (!(B_found_a_match)) + { + break lab0; + } + int v_2 = cursor; + r_remove_tense_suffix(); + cursor = v_2; + continue; + } + cursor = v_1; + break; + } + return true; +} + +private boolean r_remove_tense_suffix() { + B_found_a_match = false; + if (!r_has_min_length()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + lab0: { + lab1: { + int v_2 = limit - cursor; + lab2: { + int v_3 = limit - cursor; + ket = cursor; + if (find_among_b(a_22) == 0) + { + break lab2; + } + bra = cursor; + slice_del(); + B_found_a_match = true; + cursor = limit - v_3; + break lab1; + } + cursor = limit - v_2; + lab3: { + int v_4 = limit - cursor; + ket = cursor; + lab4: { + int v_5 = limit - cursor; + lab5: { + if (!(eq_s_b("\u0BAE\u0BBE\u0BB0\u0BCD"))) + { + break lab5; + } + break lab4; + } + cursor = limit - v_5; + lab6: { + if (!(eq_s_b("\u0BAE\u0BBF\u0BA9\u0BCD"))) + { + break lab6; + } + break lab4; + } + cursor = limit - v_5; + lab7: { + if (!(eq_s_b("\u0BA9\u0BA9\u0BCD"))) + { + break lab7; + } + break lab4; + } + cursor = limit - v_5; + lab8: { + if (!(eq_s_b("\u0BA9\u0BBE\u0BA9\u0BCD"))) + { + break lab8; + } + break lab4; + } + cursor = limit - v_5; + lab9: { + if (!(eq_s_b("\u0BA9\u0BBE\u0BB3\u0BCD"))) + { + break lab9; + } + break lab4; + } + cursor = limit - v_5; + lab10: { + if (!(eq_s_b("\u0BA9\u0BBE\u0BB0\u0BCD"))) + { + break lab10; + } + break lab4; + } + cursor = limit - v_5; + lab11: { + if (!(eq_s_b("\u0BB5\u0BA9\u0BCD"))) + { + break lab11; + } + int v_6 = limit - cursor; + { + int v_7 = limit - cursor; + lab12: { + if (find_among_b(a_23) == 0) + { + break lab12; + } + break lab11; + } + cursor = limit - v_7; + } + cursor = limit - v_6; + break lab4; + } + cursor = limit - v_5; + lab13: { + if (!(eq_s_b("\u0BA9\u0BB3\u0BCD"))) + { + break lab13; + } + break lab4; + } + cursor = limit - v_5; + lab14: { + if (!(eq_s_b("\u0BB5\u0BB3\u0BCD"))) + { + break lab14; + } + break lab4; + } + cursor = limit - v_5; + lab15: { + if (!(eq_s_b("\u0BA9\u0BB0\u0BCD"))) + { + break lab15; + } + break lab4; + } + cursor = limit - v_5; + lab16: { + if (!(eq_s_b("\u0BB5\u0BB0\u0BCD"))) + { + break lab16; + } + break lab4; + } + cursor = limit - v_5; + lab17: { + if (!(eq_s_b("\u0BA9"))) + { + break lab17; + } + break lab4; + } + cursor = limit - v_5; + lab18: { + if (!(eq_s_b("\u0BAA"))) + { + break lab18; + } + break lab4; + } + cursor = limit - v_5; + lab19: { + if (!(eq_s_b("\u0B95"))) + { + break lab19; + } + break lab4; + } + cursor = limit - v_5; + lab20: { + if (!(eq_s_b("\u0BA4"))) + { + break lab20; + } + break lab4; + } + cursor = limit - v_5; + lab21: { + if (!(eq_s_b("\u0BAF"))) + { + break lab21; + } + break lab4; + } + cursor = limit - v_5; + lab22: { + if (!(eq_s_b("\u0BAA\u0BA9\u0BCD"))) + { + break lab22; + } + break lab4; + } + cursor = limit - v_5; + lab23: { + if (!(eq_s_b("\u0BAA\u0BB3\u0BCD"))) + { + break lab23; + } + break lab4; + } + cursor = limit - v_5; + lab24: { + if (!(eq_s_b("\u0BAA\u0BB0\u0BCD"))) + { + break lab24; + } + break lab4; + } + cursor = limit - v_5; + lab25: { + if (!(eq_s_b("\u0BA4\u0BC1"))) + { + break lab25; + } + int v_8 = limit - cursor; + { + int v_9 = limit - cursor; + lab26: { + if (find_among_b(a_24) == 0) + { + break lab26; + } + break lab25; + } + cursor = limit - v_9; + } + cursor = limit - v_8; + break lab4; + } + cursor = limit - v_5; + lab27: { + if (!(eq_s_b("\u0BBF\u0BB1\u0BCD\u0BB1\u0BC1"))) + { + break lab27; + } + break lab4; + } + cursor = limit - v_5; + lab28: { + if (!(eq_s_b("\u0BAA\u0BAE\u0BCD"))) + { + break lab28; + } + break lab4; + } + cursor = limit - v_5; + lab29: { + if (!(eq_s_b("\u0BA9\u0BAE\u0BCD"))) + { + break lab29; + } + break lab4; + } + cursor = limit - v_5; + lab30: { + if (!(eq_s_b("\u0BA4\u0BC1\u0BAE\u0BCD"))) + { + break lab30; + } + break lab4; + } + cursor = limit - v_5; + lab31: { + if (!(eq_s_b("\u0BB1\u0BC1\u0BAE\u0BCD"))) + { + break lab31; + } + break lab4; + } + cursor = limit - v_5; + lab32: { + if (!(eq_s_b("\u0B95\u0BC1\u0BAE\u0BCD"))) + { + break lab32; + } + break lab4; + } + cursor = limit - v_5; + lab33: { + if (!(eq_s_b("\u0BA9\u0BC6\u0BA9\u0BCD"))) + { + break lab33; + } + break lab4; + } + cursor = limit - v_5; + lab34: { + if (!(eq_s_b("\u0BA9\u0BC8"))) + { + break lab34; + } + break lab4; + } + cursor = limit - v_5; + if (!(eq_s_b("\u0BB5\u0BC8"))) + { + break lab3; + } + } + bra = cursor; + slice_del(); + B_found_a_match = true; + cursor = limit - v_4; + break lab1; + } + cursor = limit - v_2; + lab35: { + int v_10 = limit - cursor; + ket = cursor; + lab36: { + int v_11 = limit - cursor; + lab37: { + if (!(eq_s_b("\u0BBE\u0BA9\u0BCD"))) + { + break lab37; + } + int v_12 = limit - cursor; + { + int v_13 = limit - cursor; + lab38: { + if (!(eq_s_b("\u0B9A"))) + { + break lab38; + } + break lab37; + } + cursor = limit - v_13; + } + cursor = limit - v_12; + break lab36; + } + cursor = limit - v_11; + lab39: { + if (!(eq_s_b("\u0BBE\u0BB3\u0BCD"))) + { + break lab39; + } + break lab36; + } + cursor = limit - v_11; + lab40: { + if (!(eq_s_b("\u0BBE\u0BB0\u0BCD"))) + { + break lab40; + } + break lab36; + } + cursor = limit - v_11; + lab41: { + if (!(eq_s_b("\u0BC7\u0BA9\u0BCD"))) + { + break lab41; + } + break lab36; + } + cursor = limit - v_11; + lab42: { + if (!(eq_s_b("\u0BBE"))) + { + break lab42; + } + break lab36; + } + cursor = limit - v_11; + lab43: { + if (!(eq_s_b("\u0BBE\u0BAE\u0BCD"))) + { + break lab43; + } + break lab36; + } + cursor = limit - v_11; + lab44: { + if (!(eq_s_b("\u0BC6\u0BAE\u0BCD"))) + { + break lab44; + } + break lab36; + } + cursor = limit - v_11; + lab45: { + if (!(eq_s_b("\u0BC7\u0BAE\u0BCD"))) + { + break lab45; + } + break lab36; + } + cursor = limit - v_11; + lab46: { + if (!(eq_s_b("\u0BCB\u0BAE\u0BCD"))) + { + break lab46; + } + break lab36; + } + cursor = limit - v_11; + lab47: { + if (!(eq_s_b("\u0B95\u0BC1\u0BAE\u0BCD"))) + { + break lab47; + } + break lab36; + } + cursor = limit - v_11; + lab48: { + if (!(eq_s_b("\u0BA4\u0BC1\u0BAE\u0BCD"))) + { + break lab48; + } + break lab36; + } + cursor = limit - v_11; + lab49: { + if (!(eq_s_b("\u0B9F\u0BC1\u0BAE\u0BCD"))) + { + break lab49; + } + break lab36; + } + cursor = limit - v_11; + lab50: { + if (!(eq_s_b("\u0BB1\u0BC1\u0BAE\u0BCD"))) + { + break lab50; + } + break lab36; + } + cursor = limit - v_11; + lab51: { + if (!(eq_s_b("\u0BBE\u0BAF\u0BCD"))) + { + break lab51; + } + break lab36; + } + cursor = limit - v_11; + lab52: { + if (!(eq_s_b("\u0BA9\u0BC6\u0BA9\u0BCD"))) + { + break lab52; + } + break lab36; + } + cursor = limit - v_11; + lab53: { + if (!(eq_s_b("\u0BA9\u0BBF\u0BB0\u0BCD"))) + { + break lab53; + } + break lab36; + } + cursor = limit - v_11; + lab54: { + if (!(eq_s_b("\u0BC0\u0BB0\u0BCD"))) + { + break lab54; + } + break lab36; + } + cursor = limit - v_11; + if (!(eq_s_b("\u0BC0\u0BAF\u0BB0\u0BCD"))) + { + break lab35; + } + } + bra = cursor; + slice_from("\u0BCD"); + B_found_a_match = true; + cursor = limit - v_10; + break lab1; + } + cursor = limit - v_2; + int v_14 = limit - cursor; + ket = cursor; + lab55: { + int v_15 = limit - cursor; + lab56: { + if (!(eq_s_b("\u0B95\u0BC1"))) + { + break lab56; + } + break lab55; + } + cursor = limit - v_15; + if (!(eq_s_b("\u0BA4\u0BC1"))) + { + break lab0; + } + } + int v_16 = limit - cursor; + if (!(eq_s_b("\u0BCD"))) + { + break lab0; + } + cursor = limit - v_16; + bra = cursor; + slice_del(); + B_found_a_match = true; + cursor = limit - v_14; + } + } + cursor = limit - v_1; + int v_17 = limit - cursor; + lab57: { + ket = cursor; + if (find_among_b(a_25) == 0) + { + break lab57; + } + bra = cursor; + slice_del(); + B_found_a_match = true; + } + cursor = limit - v_17; + cursor = limit_backward; + r_fix_endings(); + return true; +} + +public boolean stem() { + B_found_vetrumai_urupu = false; + int v_1 = cursor; + r_fix_ending(); + cursor = v_1; + if (!r_has_min_length()) + { + return false; + } + int v_2 = cursor; + r_remove_question_prefixes(); + cursor = v_2; + int v_3 = cursor; + r_remove_pronoun_prefixes(); + cursor = v_3; + int v_4 = cursor; + r_remove_question_suffixes(); + cursor = v_4; + int v_5 = cursor; + r_remove_um(); + cursor = v_5; + int v_6 = cursor; + r_remove_common_word_endings(); + cursor = v_6; + int v_7 = cursor; + r_remove_vetrumai_urupukal(); + cursor = v_7; + int v_8 = cursor; + r_remove_plural_suffix(); + cursor = v_8; + int v_9 = cursor; + r_remove_command_suffixes(); + cursor = v_9; + int v_10 = cursor; + r_remove_tense_suffixes(); + cursor = v_10; + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof TamilStemmer; +} + +@Override +public int hashCode() { + return TamilStemmer.class.getName().hashCode(); +} + + + +} + diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TurkishStemmer.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TurkishStemmer.java index 91906e042f2..1ab45bb30d9 100644 --- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TurkishStemmer.java +++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/TurkishStemmer.java @@ -1,3148 +1,2287 @@ -// This file was generated automatically by the Snowball to Java compiler +// Generated by Snowball 2.0.0 - https://snowballstem.org/ package org.tartarus.snowball.ext; import org.tartarus.snowball.Among; -import org.tartarus.snowball.SnowballProgram; - /** - * This class was automatically generated by a Snowball to Java compiler - * It implements the stemming algorithm defined by a snowball script. - */ - -@SuppressWarnings("unused") public class TurkishStemmer extends SnowballProgram { - -private static final long serialVersionUID = 1L; - - /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); - - private final static Among a_0[] = { - new Among ( "m", -1, -1, "", methodObject ), - new Among ( "n", -1, -1, "", methodObject ), - new Among ( "miz", -1, -1, "", methodObject ), - new Among ( "niz", -1, -1, "", methodObject ), - new Among ( "muz", -1, -1, "", methodObject ), - new Among ( "nuz", -1, -1, "", methodObject ), - new Among ( "m\u00FCz", -1, -1, "", methodObject ), - new Among ( "n\u00FCz", -1, -1, "", methodObject ), - new Among ( "m\u0131z", -1, -1, "", methodObject ), - new Among ( "n\u0131z", -1, -1, "", methodObject ) - }; - - private final static Among a_1[] = { - new Among ( "leri", -1, -1, "", methodObject ), - new Among ( "lar\u0131", -1, -1, "", methodObject ) - }; - - private final static Among a_2[] = { - new Among ( "ni", -1, -1, "", methodObject ), - new Among ( "nu", -1, -1, "", methodObject ), - new Among ( "n\u00FC", -1, -1, "", methodObject ), - new Among ( "n\u0131", -1, -1, "", methodObject ) - }; - - private final static Among a_3[] = { - new Among ( "in", -1, -1, "", methodObject ), - new Among ( "un", -1, -1, "", methodObject ), - new Among ( "\u00FCn", -1, -1, "", methodObject ), - new Among ( "\u0131n", -1, -1, "", methodObject ) - }; - - private final static Among a_4[] = { - new Among ( "a", -1, -1, "", methodObject ), - new Among ( "e", -1, -1, "", methodObject ) - }; - - private final static Among a_5[] = { - new Among ( "na", -1, -1, "", methodObject ), - new Among ( "ne", -1, -1, "", methodObject ) - }; - - private final static Among a_6[] = { - new Among ( "da", -1, -1, "", methodObject ), - new Among ( "ta", -1, -1, "", methodObject ), - new Among ( "de", -1, -1, "", methodObject ), - new Among ( "te", -1, -1, "", methodObject ) - }; - - private final static Among a_7[] = { - new Among ( "nda", -1, -1, "", methodObject ), - new Among ( "nde", -1, -1, "", methodObject ) - }; - - private final static Among a_8[] = { - new Among ( "dan", -1, -1, "", methodObject ), - new Among ( "tan", -1, -1, "", methodObject ), - new Among ( "den", -1, -1, "", methodObject ), - new Among ( "ten", -1, -1, "", methodObject ) - }; - - private final static Among a_9[] = { - new Among ( "ndan", -1, -1, "", methodObject ), - new Among ( "nden", -1, -1, "", methodObject ) - }; - - private final static Among a_10[] = { - new Among ( "la", -1, -1, "", methodObject ), - new Among ( "le", -1, -1, "", methodObject ) - }; - - private final static Among a_11[] = { - new Among ( "ca", -1, -1, "", methodObject ), - new Among ( "ce", -1, -1, "", methodObject ) - }; - - private final static Among a_12[] = { - new Among ( "im", -1, -1, "", methodObject ), - new Among ( "um", -1, -1, "", methodObject ), - new Among ( "\u00FCm", -1, -1, "", methodObject ), - new Among ( "\u0131m", -1, -1, "", methodObject ) - }; - - private final static Among a_13[] = { - new Among ( "sin", -1, -1, "", methodObject ), - new Among ( "sun", -1, -1, "", methodObject ), - new Among ( "s\u00FCn", -1, -1, "", methodObject ), - new Among ( "s\u0131n", -1, -1, "", methodObject ) - }; - - private final static Among a_14[] = { - new Among ( "iz", -1, -1, "", methodObject ), - new Among ( "uz", -1, -1, "", methodObject ), - new Among ( "\u00FCz", -1, -1, "", methodObject ), - new Among ( "\u0131z", -1, -1, "", methodObject ) - }; - - private final static Among a_15[] = { - new Among ( "siniz", -1, -1, "", methodObject ), - new Among ( "sunuz", -1, -1, "", methodObject ), - new Among ( "s\u00FCn\u00FCz", -1, -1, "", methodObject ), - new Among ( "s\u0131n\u0131z", -1, -1, "", methodObject ) - }; - - private final static Among a_16[] = { - new Among ( "lar", -1, -1, "", methodObject ), - new Among ( "ler", -1, -1, "", methodObject ) - }; - - private final static Among a_17[] = { - new Among ( "niz", -1, -1, "", methodObject ), - new Among ( "nuz", -1, -1, "", methodObject ), - new Among ( "n\u00FCz", -1, -1, "", methodObject ), - new Among ( "n\u0131z", -1, -1, "", methodObject ) - }; - - private final static Among a_18[] = { - new Among ( "dir", -1, -1, "", methodObject ), - new Among ( "tir", -1, -1, "", methodObject ), - new Among ( "dur", -1, -1, "", methodObject ), - new Among ( "tur", -1, -1, "", methodObject ), - new Among ( "d\u00FCr", -1, -1, "", methodObject ), - new Among ( "t\u00FCr", -1, -1, "", methodObject ), - new Among ( "d\u0131r", -1, -1, "", methodObject ), - new Among ( "t\u0131r", -1, -1, "", methodObject ) - }; - - private final static Among a_19[] = { - new Among ( "cas\u0131na", -1, -1, "", methodObject ), - new Among ( "cesine", -1, -1, "", methodObject ) - }; - - private final static Among a_20[] = { - new Among ( "di", -1, -1, "", methodObject ), - new Among ( "ti", -1, -1, "", methodObject ), - new Among ( "dik", -1, -1, "", methodObject ), - new Among ( "tik", -1, -1, "", methodObject ), - new Among ( "duk", -1, -1, "", methodObject ), - new Among ( "tuk", -1, -1, "", methodObject ), - new Among ( "d\u00FCk", -1, -1, "", methodObject ), - new Among ( "t\u00FCk", -1, -1, "", methodObject ), - new Among ( "d\u0131k", -1, -1, "", methodObject ), - new Among ( "t\u0131k", -1, -1, "", methodObject ), - new Among ( "dim", -1, -1, "", methodObject ), - new Among ( "tim", -1, -1, "", methodObject ), - new Among ( "dum", -1, -1, "", methodObject ), - new Among ( "tum", -1, -1, "", methodObject ), - new Among ( "d\u00FCm", -1, -1, "", methodObject ), - new Among ( "t\u00FCm", -1, -1, "", methodObject ), - new Among ( "d\u0131m", -1, -1, "", methodObject ), - new Among ( "t\u0131m", -1, -1, "", methodObject ), - new Among ( "din", -1, -1, "", methodObject ), - new Among ( "tin", -1, -1, "", methodObject ), - new Among ( "dun", -1, -1, "", methodObject ), - new Among ( "tun", -1, -1, "", methodObject ), - new Among ( "d\u00FCn", -1, -1, "", methodObject ), - new Among ( "t\u00FCn", -1, -1, "", methodObject ), - new Among ( "d\u0131n", -1, -1, "", methodObject ), - new Among ( "t\u0131n", -1, -1, "", methodObject ), - new Among ( "du", -1, -1, "", methodObject ), - new Among ( "tu", -1, -1, "", methodObject ), - new Among ( "d\u00FC", -1, -1, "", methodObject ), - new Among ( "t\u00FC", -1, -1, "", methodObject ), - new Among ( "d\u0131", -1, -1, "", methodObject ), - new Among ( "t\u0131", -1, -1, "", methodObject ) - }; - - private final static Among a_21[] = { - new Among ( "sa", -1, -1, "", methodObject ), - new Among ( "se", -1, -1, "", methodObject ), - new Among ( "sak", -1, -1, "", methodObject ), - new Among ( "sek", -1, -1, "", methodObject ), - new Among ( "sam", -1, -1, "", methodObject ), - new Among ( "sem", -1, -1, "", methodObject ), - new Among ( "san", -1, -1, "", methodObject ), - new Among ( "sen", -1, -1, "", methodObject ) - }; - - private final static Among a_22[] = { - new Among ( "mi\u015F", -1, -1, "", methodObject ), - new Among ( "mu\u015F", -1, -1, "", methodObject ), - new Among ( "m\u00FC\u015F", -1, -1, "", methodObject ), - new Among ( "m\u0131\u015F", -1, -1, "", methodObject ) - }; - - private final static Among a_23[] = { - new Among ( "b", -1, 1, "", methodObject ), - new Among ( "c", -1, 2, "", methodObject ), - new Among ( "d", -1, 3, "", methodObject ), - new Among ( "\u011F", -1, 4, "", methodObject ) - }; - - private static final char g_vowel[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 }; - - private static final char g_U[] = {1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 }; - - private static final char g_vowel1[] = {1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; - - private static final char g_vowel2[] = {17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 }; - - private static final char g_vowel3[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; - - private static final char g_vowel4[] = {17 }; - - private static final char g_vowel5[] = {65 }; - - private static final char g_vowel6[] = {65 }; - - private boolean B_continue_stemming_noun_suffixes; - private int I_strlen; - - private void copy_from(TurkishStemmer other) { - B_continue_stemming_noun_suffixes = other.B_continue_stemming_noun_suffixes; - I_strlen = other.I_strlen; - super.copy_from(other); - } - - private boolean r_check_vowel_harmony() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - // (, line 111 - // test, line 112 - v_1 = limit - cursor; - // (, line 113 - // (, line 114 - // goto, line 114 - golab0: while(true) - { - v_2 = limit - cursor; - lab1: do { - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab1; - } - cursor = limit - v_2; - break golab0; - } while (false); - cursor = limit - v_2; - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - // (, line 115 - // or, line 116 - lab2: do { - v_3 = limit - cursor; - lab3: do { - // (, line 116 - // literal, line 116 - if (!(eq_s_b(1, "a"))) - { - break lab3; - } - // goto, line 116 - golab4: while(true) - { - v_4 = limit - cursor; - lab5: do { - if (!(in_grouping_b(g_vowel1, 97, 305))) - { - break lab5; - } - cursor = limit - v_4; - break golab4; - } while (false); - cursor = limit - v_4; - if (cursor <= limit_backward) - { - break lab3; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab6: do { - // (, line 117 - // literal, line 117 - if (!(eq_s_b(1, "e"))) - { - break lab6; - } - // goto, line 117 - golab7: while(true) - { - v_5 = limit - cursor; - lab8: do { - if (!(in_grouping_b(g_vowel2, 101, 252))) - { - break lab8; - } - cursor = limit - v_5; - break golab7; - } while (false); - cursor = limit - v_5; - if (cursor <= limit_backward) - { - break lab6; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab9: do { - // (, line 118 - // literal, line 118 - if (!(eq_s_b(1, "\u0131"))) - { - break lab9; - } - // goto, line 118 - golab10: while(true) - { - v_6 = limit - cursor; - lab11: do { - if (!(in_grouping_b(g_vowel3, 97, 305))) - { - break lab11; - } - cursor = limit - v_6; - break golab10; - } while (false); - cursor = limit - v_6; - if (cursor <= limit_backward) - { - break lab9; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab12: do { - // (, line 119 - // literal, line 119 - if (!(eq_s_b(1, "i"))) - { - break lab12; - } - // goto, line 119 - golab13: while(true) - { - v_7 = limit - cursor; - lab14: do { - if (!(in_grouping_b(g_vowel4, 101, 105))) - { - break lab14; - } - cursor = limit - v_7; - break golab13; - } while (false); - cursor = limit - v_7; - if (cursor <= limit_backward) - { - break lab12; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab15: do { - // (, line 120 - // literal, line 120 - if (!(eq_s_b(1, "o"))) - { - break lab15; - } - // goto, line 120 - golab16: while(true) - { - v_8 = limit - cursor; - lab17: do { - if (!(in_grouping_b(g_vowel5, 111, 117))) - { - break lab17; - } - cursor = limit - v_8; - break golab16; - } while (false); - cursor = limit - v_8; - if (cursor <= limit_backward) - { - break lab15; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab18: do { - // (, line 121 - // literal, line 121 - if (!(eq_s_b(1, "\u00F6"))) - { - break lab18; - } - // goto, line 121 - golab19: while(true) - { - v_9 = limit - cursor; - lab20: do { - if (!(in_grouping_b(g_vowel6, 246, 252))) - { - break lab20; - } - cursor = limit - v_9; - break golab19; - } while (false); - cursor = limit - v_9; - if (cursor <= limit_backward) - { - break lab18; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab21: do { - // (, line 122 - // literal, line 122 - if (!(eq_s_b(1, "u"))) - { - break lab21; - } - // goto, line 122 - golab22: while(true) - { - v_10 = limit - cursor; - lab23: do { - if (!(in_grouping_b(g_vowel5, 111, 117))) - { - break lab23; - } - cursor = limit - v_10; - break golab22; - } while (false); - cursor = limit - v_10; - if (cursor <= limit_backward) - { - break lab21; - } - cursor--; - } - break lab2; - } while (false); - cursor = limit - v_3; - // (, line 123 - // literal, line 123 - if (!(eq_s_b(1, "\u00FC"))) - { - return false; - } - // goto, line 123 - golab24: while(true) - { - v_11 = limit - cursor; - lab25: do { - if (!(in_grouping_b(g_vowel6, 246, 252))) - { - break lab25; - } - cursor = limit - v_11; - break golab24; - } while (false); - cursor = limit - v_11; - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - } while (false); - cursor = limit - v_1; - return true; - } - - private boolean r_mark_suffix_with_optional_n_consonant() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 132 - // or, line 134 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 133 - // (, line 133 - // test, line 133 - v_2 = limit - cursor; - // literal, line 133 - if (!(eq_s_b(1, "n"))) - { - break lab1; - } - cursor = limit - v_2; - // next, line 133 - if (cursor <= limit_backward) - { - break lab1; - } - cursor--; - // (, line 133 - // test, line 133 - v_3 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab1; - } - cursor = limit - v_3; - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 135 - // (, line 135 - // not, line 135 - { - v_4 = limit - cursor; - lab2: do { - // (, line 135 - // test, line 135 - v_5 = limit - cursor; - // literal, line 135 - if (!(eq_s_b(1, "n"))) - { - break lab2; - } - cursor = limit - v_5; - return false; - } while (false); - cursor = limit - v_4; - } - // test, line 135 - v_6 = limit - cursor; - // (, line 135 - // next, line 135 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // (, line 135 - // test, line 135 - v_7 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - return false; - } - cursor = limit - v_7; - cursor = limit - v_6; - } while (false); - return true; - } - - private boolean r_mark_suffix_with_optional_s_consonant() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 143 - // or, line 145 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 144 - // (, line 144 - // test, line 144 - v_2 = limit - cursor; - // literal, line 144 - if (!(eq_s_b(1, "s"))) - { - break lab1; - } - cursor = limit - v_2; - // next, line 144 - if (cursor <= limit_backward) - { - break lab1; - } - cursor--; - // (, line 144 - // test, line 144 - v_3 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab1; - } - cursor = limit - v_3; - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 146 - // (, line 146 - // not, line 146 - { - v_4 = limit - cursor; - lab2: do { - // (, line 146 - // test, line 146 - v_5 = limit - cursor; - // literal, line 146 - if (!(eq_s_b(1, "s"))) - { - break lab2; - } - cursor = limit - v_5; - return false; - } while (false); - cursor = limit - v_4; - } - // test, line 146 - v_6 = limit - cursor; - // (, line 146 - // next, line 146 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // (, line 146 - // test, line 146 - v_7 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - return false; - } - cursor = limit - v_7; - cursor = limit - v_6; - } while (false); - return true; - } - - private boolean r_mark_suffix_with_optional_y_consonant() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 153 - // or, line 155 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 154 - // (, line 154 - // test, line 154 - v_2 = limit - cursor; - // literal, line 154 - if (!(eq_s_b(1, "y"))) - { - break lab1; - } - cursor = limit - v_2; - // next, line 154 - if (cursor <= limit_backward) - { - break lab1; - } - cursor--; - // (, line 154 - // test, line 154 - v_3 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab1; - } - cursor = limit - v_3; - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 156 - // (, line 156 - // not, line 156 - { - v_4 = limit - cursor; - lab2: do { - // (, line 156 - // test, line 156 - v_5 = limit - cursor; - // literal, line 156 - if (!(eq_s_b(1, "y"))) - { - break lab2; - } - cursor = limit - v_5; - return false; - } while (false); - cursor = limit - v_4; - } - // test, line 156 - v_6 = limit - cursor; - // (, line 156 - // next, line 156 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // (, line 156 - // test, line 156 - v_7 = limit - cursor; - if (!(in_grouping_b(g_vowel, 97, 305))) - { - return false; - } - cursor = limit - v_7; - cursor = limit - v_6; - } while (false); - return true; - } - - private boolean r_mark_suffix_with_optional_U_vowel() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - // (, line 159 - // or, line 161 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 160 - // (, line 160 - // test, line 160 - v_2 = limit - cursor; - if (!(in_grouping_b(g_U, 105, 305))) - { - break lab1; - } - cursor = limit - v_2; - // next, line 160 - if (cursor <= limit_backward) - { - break lab1; - } - cursor--; - // (, line 160 - // test, line 160 - v_3 = limit - cursor; - if (!(out_grouping_b(g_vowel, 97, 305))) - { - break lab1; - } - cursor = limit - v_3; - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 162 - // (, line 162 - // not, line 162 - { - v_4 = limit - cursor; - lab2: do { - // (, line 162 - // test, line 162 - v_5 = limit - cursor; - if (!(in_grouping_b(g_U, 105, 305))) - { - break lab2; - } - cursor = limit - v_5; - return false; - } while (false); - cursor = limit - v_4; - } - // test, line 162 - v_6 = limit - cursor; - // (, line 162 - // next, line 162 - if (cursor <= limit_backward) - { - return false; - } - cursor--; - // (, line 162 - // test, line 162 - v_7 = limit - cursor; - if (!(out_grouping_b(g_vowel, 97, 305))) - { - return false; - } - cursor = limit - v_7; - cursor = limit - v_6; - } while (false); - return true; - } - - private boolean r_mark_possessives() { - // (, line 166 - // among, line 167 - if (find_among_b(a_0, 10) == 0) - { - return false; - } - // (, line 169 - // call mark_suffix_with_optional_U_vowel, line 169 - if (!r_mark_suffix_with_optional_U_vowel()) - { - return false; - } - return true; - } - - private boolean r_mark_sU() { - // (, line 172 - // call check_vowel_harmony, line 173 - if (!r_check_vowel_harmony()) - { - return false; - } - if (!(in_grouping_b(g_U, 105, 305))) - { - return false; - } - // (, line 175 - // call mark_suffix_with_optional_s_consonant, line 175 - if (!r_mark_suffix_with_optional_s_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_lArI() { - // (, line 178 - // among, line 179 - if (find_among_b(a_1, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_yU() { - // (, line 182 - // call check_vowel_harmony, line 183 - if (!r_check_vowel_harmony()) - { - return false; - } - if (!(in_grouping_b(g_U, 105, 305))) - { - return false; - } - // (, line 185 - // call mark_suffix_with_optional_y_consonant, line 185 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_nU() { - // (, line 188 - // call check_vowel_harmony, line 189 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 190 - if (find_among_b(a_2, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_nUn() { - // (, line 193 - // call check_vowel_harmony, line 194 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 195 - if (find_among_b(a_3, 4) == 0) - { - return false; - } - // (, line 196 - // call mark_suffix_with_optional_n_consonant, line 196 - if (!r_mark_suffix_with_optional_n_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_yA() { - // (, line 199 - // call check_vowel_harmony, line 200 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 201 - if (find_among_b(a_4, 2) == 0) - { - return false; - } - // (, line 202 - // call mark_suffix_with_optional_y_consonant, line 202 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_nA() { - // (, line 205 - // call check_vowel_harmony, line 206 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 207 - if (find_among_b(a_5, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_DA() { - // (, line 210 - // call check_vowel_harmony, line 211 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 212 - if (find_among_b(a_6, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_ndA() { - // (, line 215 - // call check_vowel_harmony, line 216 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 217 - if (find_among_b(a_7, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_DAn() { - // (, line 220 - // call check_vowel_harmony, line 221 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 222 - if (find_among_b(a_8, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_ndAn() { - // (, line 225 - // call check_vowel_harmony, line 226 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 227 - if (find_among_b(a_9, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_ylA() { - // (, line 230 - // call check_vowel_harmony, line 231 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 232 - if (find_among_b(a_10, 2) == 0) - { - return false; - } - // (, line 233 - // call mark_suffix_with_optional_y_consonant, line 233 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_ki() { - // (, line 236 - // literal, line 237 - if (!(eq_s_b(2, "ki"))) - { - return false; - } - return true; - } - - private boolean r_mark_ncA() { - // (, line 240 - // call check_vowel_harmony, line 241 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 242 - if (find_among_b(a_11, 2) == 0) - { - return false; - } - // (, line 243 - // call mark_suffix_with_optional_n_consonant, line 243 - if (!r_mark_suffix_with_optional_n_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_yUm() { - // (, line 246 - // call check_vowel_harmony, line 247 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 248 - if (find_among_b(a_12, 4) == 0) - { - return false; - } - // (, line 249 - // call mark_suffix_with_optional_y_consonant, line 249 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_sUn() { - // (, line 252 - // call check_vowel_harmony, line 253 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 254 - if (find_among_b(a_13, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_yUz() { - // (, line 257 - // call check_vowel_harmony, line 258 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 259 - if (find_among_b(a_14, 4) == 0) - { - return false; - } - // (, line 260 - // call mark_suffix_with_optional_y_consonant, line 260 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_sUnUz() { - // (, line 263 - // among, line 264 - if (find_among_b(a_15, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_lAr() { - // (, line 267 - // call check_vowel_harmony, line 268 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 269 - if (find_among_b(a_16, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_nUz() { - // (, line 272 - // call check_vowel_harmony, line 273 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 274 - if (find_among_b(a_17, 4) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_DUr() { - // (, line 277 - // call check_vowel_harmony, line 278 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 279 - if (find_among_b(a_18, 8) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_cAsInA() { - // (, line 282 - // among, line 283 - if (find_among_b(a_19, 2) == 0) - { - return false; - } - return true; - } - - private boolean r_mark_yDU() { - // (, line 286 - // call check_vowel_harmony, line 287 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 288 - if (find_among_b(a_20, 32) == 0) - { - return false; - } - // (, line 292 - // call mark_suffix_with_optional_y_consonant, line 292 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_ysA() { - // (, line 296 - // among, line 297 - if (find_among_b(a_21, 8) == 0) - { - return false; - } - // (, line 298 - // call mark_suffix_with_optional_y_consonant, line 298 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_ymUs_() { - // (, line 301 - // call check_vowel_harmony, line 302 - if (!r_check_vowel_harmony()) - { - return false; - } - // among, line 303 - if (find_among_b(a_22, 4) == 0) - { - return false; - } - // (, line 304 - // call mark_suffix_with_optional_y_consonant, line 304 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_mark_yken() { - // (, line 307 - // literal, line 308 - if (!(eq_s_b(3, "ken"))) - { - return false; - } - // (, line 308 - // call mark_suffix_with_optional_y_consonant, line 308 - if (!r_mark_suffix_with_optional_y_consonant()) - { - return false; - } - return true; - } - - private boolean r_stem_nominal_verb_suffixes() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - // (, line 311 - // [, line 312 - ket = cursor; - // set continue_stemming_noun_suffixes, line 313 - B_continue_stemming_noun_suffixes = true; - // or, line 315 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 314 - // or, line 314 - lab2: do { - v_2 = limit - cursor; - lab3: do { - // call mark_ymUs_, line 314 - if (!r_mark_ymUs_()) - { - break lab3; - } - break lab2; - } while (false); - cursor = limit - v_2; - lab4: do { - // call mark_yDU, line 314 - if (!r_mark_yDU()) - { - break lab4; - } - break lab2; - } while (false); - cursor = limit - v_2; - lab5: do { - // call mark_ysA, line 314 - if (!r_mark_ysA()) - { - break lab5; - } - break lab2; - } while (false); - cursor = limit - v_2; - // call mark_yken, line 314 - if (!r_mark_yken()) - { - break lab1; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab6: do { - // (, line 316 - // call mark_cAsInA, line 316 - if (!r_mark_cAsInA()) - { - break lab6; - } - // (, line 316 - // or, line 316 - lab7: do { - v_3 = limit - cursor; - lab8: do { - // call mark_sUnUz, line 316 - if (!r_mark_sUnUz()) - { - break lab8; - } - break lab7; - } while (false); - cursor = limit - v_3; - lab9: do { - // call mark_lAr, line 316 - if (!r_mark_lAr()) - { - break lab9; - } - break lab7; - } while (false); - cursor = limit - v_3; - lab10: do { - // call mark_yUm, line 316 - if (!r_mark_yUm()) - { - break lab10; - } - break lab7; - } while (false); - cursor = limit - v_3; - lab11: do { - // call mark_sUn, line 316 - if (!r_mark_sUn()) - { - break lab11; - } - break lab7; - } while (false); - cursor = limit - v_3; - lab12: do { - // call mark_yUz, line 316 - if (!r_mark_yUz()) - { - break lab12; - } - break lab7; - } while (false); - cursor = limit - v_3; - } while (false); - // call mark_ymUs_, line 316 - if (!r_mark_ymUs_()) - { - break lab6; - } - break lab0; - } while (false); - cursor = limit - v_1; - lab13: do { - // (, line 318 - // call mark_lAr, line 319 - if (!r_mark_lAr()) - { - break lab13; - } - // ], line 319 - bra = cursor; - // delete, line 319 - slice_del(); - // try, line 319 - v_4 = limit - cursor; - lab14: do { - // (, line 319 - // [, line 319 - ket = cursor; - // (, line 319 - // or, line 319 - lab15: do { - v_5 = limit - cursor; - lab16: do { - // call mark_DUr, line 319 - if (!r_mark_DUr()) - { - break lab16; - } - break lab15; - } while (false); - cursor = limit - v_5; - lab17: do { - // call mark_yDU, line 319 - if (!r_mark_yDU()) - { - break lab17; - } - break lab15; - } while (false); - cursor = limit - v_5; - lab18: do { - // call mark_ysA, line 319 - if (!r_mark_ysA()) - { - break lab18; - } - break lab15; - } while (false); - cursor = limit - v_5; - // call mark_ymUs_, line 319 - if (!r_mark_ymUs_()) - { - cursor = limit - v_4; - break lab14; - } - } while (false); - } while (false); - // unset continue_stemming_noun_suffixes, line 320 - B_continue_stemming_noun_suffixes = false; - break lab0; - } while (false); - cursor = limit - v_1; - lab19: do { - // (, line 323 - // call mark_nUz, line 323 - if (!r_mark_nUz()) - { - break lab19; - } - // (, line 323 - // or, line 323 - lab20: do { - v_6 = limit - cursor; - lab21: do { - // call mark_yDU, line 323 - if (!r_mark_yDU()) - { - break lab21; - } - break lab20; - } while (false); - cursor = limit - v_6; - // call mark_ysA, line 323 - if (!r_mark_ysA()) - { - break lab19; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab22: do { - // (, line 325 - // (, line 325 - // or, line 325 - lab23: do { - v_7 = limit - cursor; - lab24: do { - // call mark_sUnUz, line 325 - if (!r_mark_sUnUz()) - { - break lab24; - } - break lab23; - } while (false); - cursor = limit - v_7; - lab25: do { - // call mark_yUz, line 325 - if (!r_mark_yUz()) - { - break lab25; - } - break lab23; - } while (false); - cursor = limit - v_7; - lab26: do { - // call mark_sUn, line 325 - if (!r_mark_sUn()) - { - break lab26; - } - break lab23; - } while (false); - cursor = limit - v_7; - // call mark_yUm, line 325 - if (!r_mark_yUm()) - { - break lab22; - } - } while (false); - // ], line 325 - bra = cursor; - // delete, line 325 - slice_del(); - // try, line 325 - v_8 = limit - cursor; - lab27: do { - // (, line 325 - // [, line 325 - ket = cursor; - // call mark_ymUs_, line 325 - if (!r_mark_ymUs_()) - { - cursor = limit - v_8; - break lab27; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 327 - // call mark_DUr, line 327 - if (!r_mark_DUr()) - { - return false; - } - // ], line 327 - bra = cursor; - // delete, line 327 - slice_del(); - // try, line 327 - v_9 = limit - cursor; - lab28: do { - // (, line 327 - // [, line 327 - ket = cursor; - // (, line 327 - // or, line 327 - lab29: do { - v_10 = limit - cursor; - lab30: do { - // call mark_sUnUz, line 327 - if (!r_mark_sUnUz()) - { - break lab30; - } - break lab29; - } while (false); - cursor = limit - v_10; - lab31: do { - // call mark_lAr, line 327 - if (!r_mark_lAr()) - { - break lab31; - } - break lab29; - } while (false); - cursor = limit - v_10; - lab32: do { - // call mark_yUm, line 327 - if (!r_mark_yUm()) - { - break lab32; - } - break lab29; - } while (false); - cursor = limit - v_10; - lab33: do { - // call mark_sUn, line 327 - if (!r_mark_sUn()) - { - break lab33; - } - break lab29; - } while (false); - cursor = limit - v_10; - lab34: do { - // call mark_yUz, line 327 - if (!r_mark_yUz()) - { - break lab34; - } - break lab29; - } while (false); - cursor = limit - v_10; - } while (false); - // call mark_ymUs_, line 327 - if (!r_mark_ymUs_()) - { - cursor = limit - v_9; - break lab28; - } - } while (false); - } while (false); - // ], line 328 - bra = cursor; - // delete, line 328 - slice_del(); - return true; - } - - private boolean r_stem_suffix_chain_before_ki() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - // (, line 332 - // [, line 333 - ket = cursor; - // call mark_ki, line 334 - if (!r_mark_ki()) - { - return false; - } - // (, line 335 - // or, line 342 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 336 - // call mark_DA, line 336 - if (!r_mark_DA()) - { - break lab1; - } - // ], line 336 - bra = cursor; - // delete, line 336 - slice_del(); - // try, line 336 - v_2 = limit - cursor; - lab2: do { - // (, line 336 - // [, line 336 - ket = cursor; - // or, line 338 - lab3: do { - v_3 = limit - cursor; - lab4: do { - // (, line 337 - // call mark_lAr, line 337 - if (!r_mark_lAr()) - { - break lab4; - } - // ], line 337 - bra = cursor; - // delete, line 337 - slice_del(); - // try, line 337 - v_4 = limit - cursor; - lab5: do { - // (, line 337 - // call stem_suffix_chain_before_ki, line 337 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_4; - break lab5; - } - } while (false); - break lab3; - } while (false); - cursor = limit - v_3; - // (, line 339 - // call mark_possessives, line 339 - if (!r_mark_possessives()) - { - cursor = limit - v_2; - break lab2; - } - // ], line 339 - bra = cursor; - // delete, line 339 - slice_del(); - // try, line 339 - v_5 = limit - cursor; - lab6: do { - // (, line 339 - // [, line 339 - ket = cursor; - // call mark_lAr, line 339 - if (!r_mark_lAr()) - { - cursor = limit - v_5; - break lab6; - } - // ], line 339 - bra = cursor; - // delete, line 339 - slice_del(); - // call stem_suffix_chain_before_ki, line 339 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_5; - break lab6; - } - } while (false); - } while (false); - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab7: do { - // (, line 343 - // call mark_nUn, line 343 - if (!r_mark_nUn()) - { - break lab7; - } - // ], line 343 - bra = cursor; - // delete, line 343 - slice_del(); - // try, line 343 - v_6 = limit - cursor; - lab8: do { - // (, line 343 - // [, line 343 - ket = cursor; - // or, line 345 - lab9: do { - v_7 = limit - cursor; - lab10: do { - // (, line 344 - // call mark_lArI, line 344 - if (!r_mark_lArI()) - { - break lab10; - } - // ], line 344 - bra = cursor; - // delete, line 344 - slice_del(); - break lab9; - } while (false); - cursor = limit - v_7; - lab11: do { - // (, line 346 - // [, line 346 - ket = cursor; - // or, line 346 - lab12: do { - v_8 = limit - cursor; - lab13: do { - // call mark_possessives, line 346 - if (!r_mark_possessives()) - { - break lab13; - } - break lab12; - } while (false); - cursor = limit - v_8; - // call mark_sU, line 346 - if (!r_mark_sU()) - { - break lab11; - } - } while (false); - // ], line 346 - bra = cursor; - // delete, line 346 - slice_del(); - // try, line 346 - v_9 = limit - cursor; - lab14: do { - // (, line 346 - // [, line 346 - ket = cursor; - // call mark_lAr, line 346 - if (!r_mark_lAr()) - { - cursor = limit - v_9; - break lab14; - } - // ], line 346 - bra = cursor; - // delete, line 346 - slice_del(); - // call stem_suffix_chain_before_ki, line 346 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_9; - break lab14; - } - } while (false); - break lab9; - } while (false); - cursor = limit - v_7; - // (, line 348 - // call stem_suffix_chain_before_ki, line 348 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_6; - break lab8; - } - } while (false); - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 351 - // call mark_ndA, line 351 - if (!r_mark_ndA()) - { - return false; - } - // (, line 351 - // or, line 353 - lab15: do { - v_10 = limit - cursor; - lab16: do { - // (, line 352 - // call mark_lArI, line 352 - if (!r_mark_lArI()) - { - break lab16; - } - // ], line 352 - bra = cursor; - // delete, line 352 - slice_del(); - break lab15; - } while (false); - cursor = limit - v_10; - lab17: do { - // (, line 354 - // (, line 354 - // call mark_sU, line 354 - if (!r_mark_sU()) - { - break lab17; - } - // ], line 354 - bra = cursor; - // delete, line 354 - slice_del(); - // try, line 354 - v_11 = limit - cursor; - lab18: do { - // (, line 354 - // [, line 354 - ket = cursor; - // call mark_lAr, line 354 - if (!r_mark_lAr()) - { - cursor = limit - v_11; - break lab18; - } - // ], line 354 - bra = cursor; - // delete, line 354 - slice_del(); - // call stem_suffix_chain_before_ki, line 354 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_11; - break lab18; - } - } while (false); - break lab15; - } while (false); - cursor = limit - v_10; - // (, line 356 - // call stem_suffix_chain_before_ki, line 356 - if (!r_stem_suffix_chain_before_ki()) - { - return false; - } - } while (false); - } while (false); - return true; - } - - private boolean r_stem_noun_suffixes() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - int v_12; - int v_13; - int v_14; - int v_15; - int v_16; - int v_17; - int v_18; - int v_19; - int v_20; - int v_21; - int v_22; - int v_23; - int v_24; - int v_25; - int v_26; - int v_27; - // (, line 361 - // or, line 363 - lab0: do { - v_1 = limit - cursor; - lab1: do { - // (, line 362 - // [, line 362 - ket = cursor; - // call mark_lAr, line 362 - if (!r_mark_lAr()) - { - break lab1; - } - // ], line 362 - bra = cursor; - // delete, line 362 - slice_del(); - // try, line 362 - v_2 = limit - cursor; - lab2: do { - // (, line 362 - // call stem_suffix_chain_before_ki, line 362 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_2; - break lab2; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab3: do { - // (, line 364 - // [, line 364 - ket = cursor; - // call mark_ncA, line 364 - if (!r_mark_ncA()) - { - break lab3; - } - // ], line 364 - bra = cursor; - // delete, line 364 - slice_del(); - // try, line 365 - v_3 = limit - cursor; - lab4: do { - // (, line 365 - // or, line 367 - lab5: do { - v_4 = limit - cursor; - lab6: do { - // (, line 366 - // [, line 366 - ket = cursor; - // call mark_lArI, line 366 - if (!r_mark_lArI()) - { - break lab6; - } - // ], line 366 - bra = cursor; - // delete, line 366 - slice_del(); - break lab5; - } while (false); - cursor = limit - v_4; - lab7: do { - // (, line 368 - // [, line 368 - ket = cursor; - // or, line 368 - lab8: do { - v_5 = limit - cursor; - lab9: do { - // call mark_possessives, line 368 - if (!r_mark_possessives()) - { - break lab9; - } - break lab8; - } while (false); - cursor = limit - v_5; - // call mark_sU, line 368 - if (!r_mark_sU()) - { - break lab7; - } - } while (false); - // ], line 368 - bra = cursor; - // delete, line 368 - slice_del(); - // try, line 368 - v_6 = limit - cursor; - lab10: do { - // (, line 368 - // [, line 368 - ket = cursor; - // call mark_lAr, line 368 - if (!r_mark_lAr()) - { - cursor = limit - v_6; - break lab10; - } - // ], line 368 - bra = cursor; - // delete, line 368 - slice_del(); - // call stem_suffix_chain_before_ki, line 368 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_6; - break lab10; - } - } while (false); - break lab5; - } while (false); - cursor = limit - v_4; - // (, line 370 - // [, line 370 - ket = cursor; - // call mark_lAr, line 370 - if (!r_mark_lAr()) - { - cursor = limit - v_3; - break lab4; - } - // ], line 370 - bra = cursor; - // delete, line 370 - slice_del(); - // call stem_suffix_chain_before_ki, line 370 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_3; - break lab4; - } - } while (false); - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab11: do { - // (, line 374 - // [, line 374 - ket = cursor; - // (, line 374 - // or, line 374 - lab12: do { - v_7 = limit - cursor; - lab13: do { - // call mark_ndA, line 374 - if (!r_mark_ndA()) - { - break lab13; - } - break lab12; - } while (false); - cursor = limit - v_7; - // call mark_nA, line 374 - if (!r_mark_nA()) - { - break lab11; - } - } while (false); - // (, line 375 - // or, line 377 - lab14: do { - v_8 = limit - cursor; - lab15: do { - // (, line 376 - // call mark_lArI, line 376 - if (!r_mark_lArI()) - { - break lab15; - } - // ], line 376 - bra = cursor; - // delete, line 376 - slice_del(); - break lab14; - } while (false); - cursor = limit - v_8; - lab16: do { - // (, line 378 - // call mark_sU, line 378 - if (!r_mark_sU()) - { - break lab16; - } - // ], line 378 - bra = cursor; - // delete, line 378 - slice_del(); - // try, line 378 - v_9 = limit - cursor; - lab17: do { - // (, line 378 - // [, line 378 - ket = cursor; - // call mark_lAr, line 378 - if (!r_mark_lAr()) - { - cursor = limit - v_9; - break lab17; - } - // ], line 378 - bra = cursor; - // delete, line 378 - slice_del(); - // call stem_suffix_chain_before_ki, line 378 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_9; - break lab17; - } - } while (false); - break lab14; - } while (false); - cursor = limit - v_8; - // (, line 380 - // call stem_suffix_chain_before_ki, line 380 - if (!r_stem_suffix_chain_before_ki()) - { - break lab11; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab18: do { - // (, line 384 - // [, line 384 - ket = cursor; - // (, line 384 - // or, line 384 - lab19: do { - v_10 = limit - cursor; - lab20: do { - // call mark_ndAn, line 384 - if (!r_mark_ndAn()) - { - break lab20; - } - break lab19; - } while (false); - cursor = limit - v_10; - // call mark_nU, line 384 - if (!r_mark_nU()) - { - break lab18; - } - } while (false); - // (, line 384 - // or, line 384 - lab21: do { - v_11 = limit - cursor; - lab22: do { - // (, line 384 - // call mark_sU, line 384 - if (!r_mark_sU()) - { - break lab22; - } - // ], line 384 - bra = cursor; - // delete, line 384 - slice_del(); - // try, line 384 - v_12 = limit - cursor; - lab23: do { - // (, line 384 - // [, line 384 - ket = cursor; - // call mark_lAr, line 384 - if (!r_mark_lAr()) - { - cursor = limit - v_12; - break lab23; - } - // ], line 384 - bra = cursor; - // delete, line 384 - slice_del(); - // call stem_suffix_chain_before_ki, line 384 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_12; - break lab23; - } - } while (false); - break lab21; - } while (false); - cursor = limit - v_11; - // (, line 384 - // call mark_lArI, line 384 - if (!r_mark_lArI()) - { - break lab18; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab24: do { - // (, line 386 - // [, line 386 - ket = cursor; - // call mark_DAn, line 386 - if (!r_mark_DAn()) - { - break lab24; - } - // ], line 386 - bra = cursor; - // delete, line 386 - slice_del(); - // try, line 386 - v_13 = limit - cursor; - lab25: do { - // (, line 386 - // [, line 386 - ket = cursor; - // (, line 387 - // or, line 389 - lab26: do { - v_14 = limit - cursor; - lab27: do { - // (, line 388 - // call mark_possessives, line 388 - if (!r_mark_possessives()) - { - break lab27; - } - // ], line 388 - bra = cursor; - // delete, line 388 - slice_del(); - // try, line 388 - v_15 = limit - cursor; - lab28: do { - // (, line 388 - // [, line 388 - ket = cursor; - // call mark_lAr, line 388 - if (!r_mark_lAr()) - { - cursor = limit - v_15; - break lab28; - } - // ], line 388 - bra = cursor; - // delete, line 388 - slice_del(); - // call stem_suffix_chain_before_ki, line 388 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_15; - break lab28; - } - } while (false); - break lab26; - } while (false); - cursor = limit - v_14; - lab29: do { - // (, line 390 - // call mark_lAr, line 390 - if (!r_mark_lAr()) - { - break lab29; - } - // ], line 390 - bra = cursor; - // delete, line 390 - slice_del(); - // try, line 390 - v_16 = limit - cursor; - lab30: do { - // (, line 390 - // call stem_suffix_chain_before_ki, line 390 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_16; - break lab30; - } - } while (false); - break lab26; - } while (false); - cursor = limit - v_14; - // (, line 392 - // call stem_suffix_chain_before_ki, line 392 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_13; - break lab25; - } - } while (false); - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab31: do { - // (, line 396 - // [, line 396 - ket = cursor; - // or, line 396 - lab32: do { - v_17 = limit - cursor; - lab33: do { - // call mark_nUn, line 396 - if (!r_mark_nUn()) - { - break lab33; - } - break lab32; - } while (false); - cursor = limit - v_17; - // call mark_ylA, line 396 - if (!r_mark_ylA()) - { - break lab31; - } - } while (false); - // ], line 396 - bra = cursor; - // delete, line 396 - slice_del(); - // try, line 397 - v_18 = limit - cursor; - lab34: do { - // (, line 397 - // or, line 399 - lab35: do { - v_19 = limit - cursor; - lab36: do { - // (, line 398 - // [, line 398 - ket = cursor; - // call mark_lAr, line 398 - if (!r_mark_lAr()) - { - break lab36; - } - // ], line 398 - bra = cursor; - // delete, line 398 - slice_del(); - // call stem_suffix_chain_before_ki, line 398 - if (!r_stem_suffix_chain_before_ki()) - { - break lab36; - } - break lab35; - } while (false); - cursor = limit - v_19; - lab37: do { - // (, line 400 - // [, line 400 - ket = cursor; - // or, line 400 - lab38: do { - v_20 = limit - cursor; - lab39: do { - // call mark_possessives, line 400 - if (!r_mark_possessives()) - { - break lab39; - } - break lab38; - } while (false); - cursor = limit - v_20; - // call mark_sU, line 400 - if (!r_mark_sU()) - { - break lab37; - } - } while (false); - // ], line 400 - bra = cursor; - // delete, line 400 - slice_del(); - // try, line 400 - v_21 = limit - cursor; - lab40: do { - // (, line 400 - // [, line 400 - ket = cursor; - // call mark_lAr, line 400 - if (!r_mark_lAr()) - { - cursor = limit - v_21; - break lab40; - } - // ], line 400 - bra = cursor; - // delete, line 400 - slice_del(); - // call stem_suffix_chain_before_ki, line 400 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_21; - break lab40; - } - } while (false); - break lab35; - } while (false); - cursor = limit - v_19; - // call stem_suffix_chain_before_ki, line 402 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_18; - break lab34; - } - } while (false); - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - lab41: do { - // (, line 406 - // [, line 406 - ket = cursor; - // call mark_lArI, line 406 - if (!r_mark_lArI()) - { - break lab41; - } - // ], line 406 - bra = cursor; - // delete, line 406 - slice_del(); - break lab0; - } while (false); - cursor = limit - v_1; - lab42: do { - // (, line 408 - // call stem_suffix_chain_before_ki, line 408 - if (!r_stem_suffix_chain_before_ki()) - { - break lab42; - } - break lab0; - } while (false); - cursor = limit - v_1; - lab43: do { - // (, line 410 - // [, line 410 - ket = cursor; - // or, line 410 - lab44: do { - v_22 = limit - cursor; - lab45: do { - // call mark_DA, line 410 - if (!r_mark_DA()) - { - break lab45; - } - break lab44; - } while (false); - cursor = limit - v_22; - lab46: do { - // call mark_yU, line 410 - if (!r_mark_yU()) - { - break lab46; - } - break lab44; - } while (false); - cursor = limit - v_22; - // call mark_yA, line 410 - if (!r_mark_yA()) - { - break lab43; - } - } while (false); - // ], line 410 - bra = cursor; - // delete, line 410 - slice_del(); - // try, line 410 - v_23 = limit - cursor; - lab47: do { - // (, line 410 - // [, line 410 - ket = cursor; - // (, line 410 - // or, line 410 - lab48: do { - v_24 = limit - cursor; - lab49: do { - // (, line 410 - // call mark_possessives, line 410 - if (!r_mark_possessives()) - { - break lab49; - } - // ], line 410 - bra = cursor; - // delete, line 410 - slice_del(); - // try, line 410 - v_25 = limit - cursor; - lab50: do { - // (, line 410 - // [, line 410 - ket = cursor; - // call mark_lAr, line 410 - if (!r_mark_lAr()) - { - cursor = limit - v_25; - break lab50; - } - } while (false); - break lab48; - } while (false); - cursor = limit - v_24; - // call mark_lAr, line 410 - if (!r_mark_lAr()) - { - cursor = limit - v_23; - break lab47; - } - } while (false); - // ], line 410 - bra = cursor; - // delete, line 410 - slice_del(); - // [, line 410 - ket = cursor; - // call stem_suffix_chain_before_ki, line 410 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_23; - break lab47; - } - } while (false); - break lab0; - } while (false); - cursor = limit - v_1; - // (, line 412 - // [, line 412 - ket = cursor; - // or, line 412 - lab51: do { - v_26 = limit - cursor; - lab52: do { - // call mark_possessives, line 412 - if (!r_mark_possessives()) - { - break lab52; - } - break lab51; - } while (false); - cursor = limit - v_26; - // call mark_sU, line 412 - if (!r_mark_sU()) - { - return false; - } - } while (false); - // ], line 412 - bra = cursor; - // delete, line 412 - slice_del(); - // try, line 412 - v_27 = limit - cursor; - lab53: do { - // (, line 412 - // [, line 412 - ket = cursor; - // call mark_lAr, line 412 - if (!r_mark_lAr()) - { - cursor = limit - v_27; - break lab53; - } - // ], line 412 - bra = cursor; - // delete, line 412 - slice_del(); - // call stem_suffix_chain_before_ki, line 412 - if (!r_stem_suffix_chain_before_ki()) - { - cursor = limit - v_27; - break lab53; - } - } while (false); - } while (false); - return true; - } - - private boolean r_post_process_last_consonants() { - int among_var; - // (, line 415 - // [, line 416 - ket = cursor; - // substring, line 416 - among_var = find_among_b(a_23, 4); - if (among_var == 0) - { - return false; - } - // ], line 416 - bra = cursor; - switch(among_var) { - case 0: - return false; - case 1: - // (, line 417 - // <-, line 417 - slice_from("p"); - break; - case 2: - // (, line 418 - // <-, line 418 - slice_from("\u00E7"); - break; - case 3: - // (, line 419 - // <-, line 419 - slice_from("t"); - break; - case 4: - // (, line 420 - // <-, line 420 - slice_from("k"); - break; - } - return true; - } - - private boolean r_append_U_to_stems_ending_with_d_or_g() { - int v_1; - int v_2; - int v_3; - int v_4; - int v_5; - int v_6; - int v_7; - int v_8; - int v_9; - int v_10; - int v_11; - int v_12; - int v_13; - int v_14; - int v_15; - // (, line 430 - // test, line 431 - v_1 = limit - cursor; - // (, line 431 - // or, line 431 - lab0: do { - v_2 = limit - cursor; - lab1: do { - // literal, line 431 - if (!(eq_s_b(1, "d"))) - { - break lab1; - } - break lab0; - } while (false); - cursor = limit - v_2; - // literal, line 431 - if (!(eq_s_b(1, "g"))) - { - return false; - } - } while (false); - cursor = limit - v_1; - // or, line 433 - lab2: do { - v_3 = limit - cursor; - lab3: do { - // (, line 432 - // test, line 432 - v_4 = limit - cursor; - // (, line 432 - // (, line 432 - // goto, line 432 - golab4: while(true) - { - v_5 = limit - cursor; - lab5: do { - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab5; - } - cursor = limit - v_5; - break golab4; - } while (false); - cursor = limit - v_5; - if (cursor <= limit_backward) - { - break lab3; - } - cursor--; - } - // or, line 432 - lab6: do { - v_6 = limit - cursor; - lab7: do { - // literal, line 432 - if (!(eq_s_b(1, "a"))) - { - break lab7; - } - break lab6; - } while (false); - cursor = limit - v_6; - // literal, line 432 - if (!(eq_s_b(1, "\u0131"))) - { - break lab3; - } - } while (false); - cursor = limit - v_4; - // <+, line 432 - { - int c = cursor; - insert(cursor, cursor, "\u0131"); - cursor = c; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab8: do { - // (, line 434 - // test, line 434 - v_7 = limit - cursor; - // (, line 434 - // (, line 434 - // goto, line 434 - golab9: while(true) - { - v_8 = limit - cursor; - lab10: do { - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab10; - } - cursor = limit - v_8; - break golab9; - } while (false); - cursor = limit - v_8; - if (cursor <= limit_backward) - { - break lab8; - } - cursor--; - } - // or, line 434 - lab11: do { - v_9 = limit - cursor; - lab12: do { - // literal, line 434 - if (!(eq_s_b(1, "e"))) - { - break lab12; - } - break lab11; - } while (false); - cursor = limit - v_9; - // literal, line 434 - if (!(eq_s_b(1, "i"))) - { - break lab8; - } - } while (false); - cursor = limit - v_7; - // <+, line 434 - { - int c = cursor; - insert(cursor, cursor, "i"); - cursor = c; - } - break lab2; - } while (false); - cursor = limit - v_3; - lab13: do { - // (, line 436 - // test, line 436 - v_10 = limit - cursor; - // (, line 436 - // (, line 436 - // goto, line 436 - golab14: while(true) - { - v_11 = limit - cursor; - lab15: do { - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab15; - } - cursor = limit - v_11; - break golab14; - } while (false); - cursor = limit - v_11; - if (cursor <= limit_backward) - { - break lab13; - } - cursor--; - } - // or, line 436 - lab16: do { - v_12 = limit - cursor; - lab17: do { - // literal, line 436 - if (!(eq_s_b(1, "o"))) - { - break lab17; - } - break lab16; - } while (false); - cursor = limit - v_12; - // literal, line 436 - if (!(eq_s_b(1, "u"))) - { - break lab13; - } - } while (false); - cursor = limit - v_10; - // <+, line 436 - { - int c = cursor; - insert(cursor, cursor, "u"); - cursor = c; - } - break lab2; - } while (false); - cursor = limit - v_3; - // (, line 438 - // test, line 438 - v_13 = limit - cursor; - // (, line 438 - // (, line 438 - // goto, line 438 - golab18: while(true) - { - v_14 = limit - cursor; - lab19: do { - if (!(in_grouping_b(g_vowel, 97, 305))) - { - break lab19; - } - cursor = limit - v_14; - break golab18; - } while (false); - cursor = limit - v_14; - if (cursor <= limit_backward) - { - return false; - } - cursor--; - } - // or, line 438 - lab20: do { - v_15 = limit - cursor; - lab21: do { - // literal, line 438 - if (!(eq_s_b(1, "\u00F6"))) - { - break lab21; - } - break lab20; - } while (false); - cursor = limit - v_15; - // literal, line 438 - if (!(eq_s_b(1, "\u00FC"))) - { - return false; - } - } while (false); - cursor = limit - v_13; - // <+, line 438 - { - int c = cursor; - insert(cursor, cursor, "\u00FC"); - cursor = c; - } - } while (false); - return true; - } - - private boolean r_more_than_one_syllable_word() { - int v_1; - int v_3; - // (, line 445 - // test, line 446 - v_1 = cursor; - // (, line 446 - // atleast, line 446 - { - int v_2 = 2; - // atleast, line 446 - replab0: while(true) - { - v_3 = cursor; - lab1: do { - // (, line 446 - // gopast, line 446 - golab2: while(true) - { - lab3: do { - if (!(in_grouping(g_vowel, 97, 305))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - v_2--; - continue replab0; - } while (false); - cursor = v_3; - break replab0; - } - if (v_2 > 0) - { - return false; - } - } - cursor = v_1; - return true; - } - - private boolean r_is_reserved_word() { - int v_1; - int v_2; - int v_4; - // (, line 449 - // or, line 451 - lab0: do { - v_1 = cursor; - lab1: do { - // test, line 450 - v_2 = cursor; - // (, line 450 - // gopast, line 450 - golab2: while(true) - { - lab3: do { - // literal, line 450 - if (!(eq_s(2, "ad"))) - { - break lab3; - } - break golab2; - } while (false); - if (cursor >= limit) - { - break lab1; - } - cursor++; - } - // (, line 450 - I_strlen = 2; - // (, line 450 - if (!(I_strlen == limit)) - { - break lab1; - } - cursor = v_2; - break lab0; - } while (false); - cursor = v_1; - // test, line 452 - v_4 = cursor; - // (, line 452 - // gopast, line 452 - golab4: while(true) - { - lab5: do { - // literal, line 452 - if (!(eq_s(5, "soyad"))) - { - break lab5; - } - break golab4; - } while (false); - if (cursor >= limit) - { - return false; - } - cursor++; - } - // (, line 452 - I_strlen = 5; - // (, line 452 - if (!(I_strlen == limit)) - { - return false; - } - cursor = v_4; - } while (false); - return true; - } - - private boolean r_postlude() { - int v_1; - int v_2; - int v_3; - // (, line 455 - // not, line 456 - { - v_1 = cursor; - lab0: do { - // (, line 456 - // call is_reserved_word, line 456 - if (!r_is_reserved_word()) - { - break lab0; - } - return false; - } while (false); - cursor = v_1; - } - // backwards, line 457 - limit_backward = cursor; cursor = limit; - // (, line 457 - // do, line 458 - v_2 = limit - cursor; - lab1: do { - // call append_U_to_stems_ending_with_d_or_g, line 458 - if (!r_append_U_to_stems_ending_with_d_or_g()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - // do, line 459 - v_3 = limit - cursor; - lab2: do { - // call post_process_last_consonants, line 459 - if (!r_post_process_last_consonants()) - { - break lab2; - } - } while (false); - cursor = limit - v_3; - cursor = limit_backward; return true; - } - - @Override - public boolean stem() { - int v_1; - int v_2; - // (, line 464 - // (, line 465 - // call more_than_one_syllable_word, line 465 - if (!r_more_than_one_syllable_word()) - { - return false; - } - // (, line 466 - // backwards, line 467 - limit_backward = cursor; cursor = limit; - // (, line 467 - // do, line 468 - v_1 = limit - cursor; - lab0: do { - // call stem_nominal_verb_suffixes, line 468 - if (!r_stem_nominal_verb_suffixes()) - { - break lab0; - } - } while (false); - cursor = limit - v_1; - // Boolean test continue_stemming_noun_suffixes, line 469 - if (!(B_continue_stemming_noun_suffixes)) - { - return false; - } - // do, line 470 - v_2 = limit - cursor; - lab1: do { - // call stem_noun_suffixes, line 470 - if (!r_stem_noun_suffixes()) - { - break lab1; - } - } while (false); - cursor = limit - v_2; - cursor = limit_backward; // call postlude, line 473 - if (!r_postlude()) - { - return false; - } - return true; - } - - @Override - public boolean equals( Object o ) { - return o instanceof TurkishStemmer; +/** + * This class implements the stemming algorithm defined by a snowball script. + *+ * Generated by Snowball 2.0.0 - https://snowballstem.org/ + *
+ */ +@SuppressWarnings("unused") +public class TurkishStemmer extends org.tartarus.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); + +private final static Among a_0[] = { + new Among("m", -1, -1), + new Among("n", -1, -1), + new Among("miz", -1, -1), + new Among("niz", -1, -1), + new Among("muz", -1, -1), + new Among("nuz", -1, -1), + new Among("m\u00FCz", -1, -1), + new Among("n\u00FCz", -1, -1), + new Among("m\u0131z", -1, -1), + new Among("n\u0131z", -1, -1) +}; + +private final static Among a_1[] = { + new Among("leri", -1, -1), + new Among("lar\u0131", -1, -1) +}; + +private final static Among a_2[] = { + new Among("ni", -1, -1), + new Among("nu", -1, -1), + new Among("n\u00FC", -1, -1), + new Among("n\u0131", -1, -1) +}; + +private final static Among a_3[] = { + new Among("in", -1, -1), + new Among("un", -1, -1), + new Among("\u00FCn", -1, -1), + new Among("\u0131n", -1, -1) +}; + +private final static Among a_4[] = { + new Among("a", -1, -1), + new Among("e", -1, -1) +}; + +private final static Among a_5[] = { + new Among("na", -1, -1), + new Among("ne", -1, -1) +}; + +private final static Among a_6[] = { + new Among("da", -1, -1), + new Among("ta", -1, -1), + new Among("de", -1, -1), + new Among("te", -1, -1) +}; + +private final static Among a_7[] = { + new Among("nda", -1, -1), + new Among("nde", -1, -1) +}; + +private final static Among a_8[] = { + new Among("dan", -1, -1), + new Among("tan", -1, -1), + new Among("den", -1, -1), + new Among("ten", -1, -1) +}; + +private final static Among a_9[] = { + new Among("ndan", -1, -1), + new Among("nden", -1, -1) +}; + +private final static Among a_10[] = { + new Among("la", -1, -1), + new Among("le", -1, -1) +}; + +private final static Among a_11[] = { + new Among("ca", -1, -1), + new Among("ce", -1, -1) +}; + +private final static Among a_12[] = { + new Among("im", -1, -1), + new Among("um", -1, -1), + new Among("\u00FCm", -1, -1), + new Among("\u0131m", -1, -1) +}; + +private final static Among a_13[] = { + new Among("sin", -1, -1), + new Among("sun", -1, -1), + new Among("s\u00FCn", -1, -1), + new Among("s\u0131n", -1, -1) +}; + +private final static Among a_14[] = { + new Among("iz", -1, -1), + new Among("uz", -1, -1), + new Among("\u00FCz", -1, -1), + new Among("\u0131z", -1, -1) +}; + +private final static Among a_15[] = { + new Among("siniz", -1, -1), + new Among("sunuz", -1, -1), + new Among("s\u00FCn\u00FCz", -1, -1), + new Among("s\u0131n\u0131z", -1, -1) +}; + +private final static Among a_16[] = { + new Among("lar", -1, -1), + new Among("ler", -1, -1) +}; + +private final static Among a_17[] = { + new Among("niz", -1, -1), + new Among("nuz", -1, -1), + new Among("n\u00FCz", -1, -1), + new Among("n\u0131z", -1, -1) +}; + +private final static Among a_18[] = { + new Among("dir", -1, -1), + new Among("tir", -1, -1), + new Among("dur", -1, -1), + new Among("tur", -1, -1), + new Among("d\u00FCr", -1, -1), + new Among("t\u00FCr", -1, -1), + new Among("d\u0131r", -1, -1), + new Among("t\u0131r", -1, -1) +}; + +private final static Among a_19[] = { + new Among("cas\u0131na", -1, -1), + new Among("cesine", -1, -1) +}; + +private final static Among a_20[] = { + new Among("di", -1, -1), + new Among("ti", -1, -1), + new Among("dik", -1, -1), + new Among("tik", -1, -1), + new Among("duk", -1, -1), + new Among("tuk", -1, -1), + new Among("d\u00FCk", -1, -1), + new Among("t\u00FCk", -1, -1), + new Among("d\u0131k", -1, -1), + new Among("t\u0131k", -1, -1), + new Among("dim", -1, -1), + new Among("tim", -1, -1), + new Among("dum", -1, -1), + new Among("tum", -1, -1), + new Among("d\u00FCm", -1, -1), + new Among("t\u00FCm", -1, -1), + new Among("d\u0131m", -1, -1), + new Among("t\u0131m", -1, -1), + new Among("din", -1, -1), + new Among("tin", -1, -1), + new Among("dun", -1, -1), + new Among("tun", -1, -1), + new Among("d\u00FCn", -1, -1), + new Among("t\u00FCn", -1, -1), + new Among("d\u0131n", -1, -1), + new Among("t\u0131n", -1, -1), + new Among("du", -1, -1), + new Among("tu", -1, -1), + new Among("d\u00FC", -1, -1), + new Among("t\u00FC", -1, -1), + new Among("d\u0131", -1, -1), + new Among("t\u0131", -1, -1) +}; + +private final static Among a_21[] = { + new Among("sa", -1, -1), + new Among("se", -1, -1), + new Among("sak", -1, -1), + new Among("sek", -1, -1), + new Among("sam", -1, -1), + new Among("sem", -1, -1), + new Among("san", -1, -1), + new Among("sen", -1, -1) +}; + +private final static Among a_22[] = { + new Among("mi\u015F", -1, -1), + new Among("mu\u015F", -1, -1), + new Among("m\u00FC\u015F", -1, -1), + new Among("m\u0131\u015F", -1, -1) +}; + +private final static Among a_23[] = { + new Among("b", -1, 1), + new Among("c", -1, 2), + new Among("d", -1, 3), + new Among("\u011F", -1, 4) +}; + +private static final char g_vowel[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 }; + +private static final char g_U[] = {1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 }; + +private static final char g_vowel1[] = {1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + +private static final char g_vowel2[] = {17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 }; + +private static final char g_vowel3[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + +private static final char g_vowel4[] = {17 }; + +private static final char g_vowel5[] = {65 }; + +private static final char g_vowel6[] = {65 }; + +private boolean B_continue_stemming_noun_suffixes; + + +private boolean r_check_vowel_harmony() { + int v_1 = limit - cursor; + golab0: while(true) + { + int v_2 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break golab0; + } + cursor = limit - v_2; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + lab2: { + int v_3 = limit - cursor; + lab3: { + if (!(eq_s_b("a"))) + { + break lab3; + } + golab4: while(true) + { + int v_4 = limit - cursor; + lab5: { + if (!(in_grouping_b(g_vowel1, 97, 305))) + { + break lab5; + } + cursor = limit - v_4; + break golab4; } - - @Override - public int hashCode() { - return TurkishStemmer.class.getName().hashCode(); + cursor = limit - v_4; + if (cursor <= limit_backward) + { + break lab3; } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab6: { + if (!(eq_s_b("e"))) + { + break lab6; + } + golab7: while(true) + { + int v_5 = limit - cursor; + lab8: { + if (!(in_grouping_b(g_vowel2, 101, 252))) + { + break lab8; + } + cursor = limit - v_5; + break golab7; + } + cursor = limit - v_5; + if (cursor <= limit_backward) + { + break lab6; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab9: { + if (!(eq_s_b("\u0131"))) + { + break lab9; + } + golab10: while(true) + { + int v_6 = limit - cursor; + lab11: { + if (!(in_grouping_b(g_vowel3, 97, 305))) + { + break lab11; + } + cursor = limit - v_6; + break golab10; + } + cursor = limit - v_6; + if (cursor <= limit_backward) + { + break lab9; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab12: { + if (!(eq_s_b("i"))) + { + break lab12; + } + golab13: while(true) + { + int v_7 = limit - cursor; + lab14: { + if (!(in_grouping_b(g_vowel4, 101, 105))) + { + break lab14; + } + cursor = limit - v_7; + break golab13; + } + cursor = limit - v_7; + if (cursor <= limit_backward) + { + break lab12; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab15: { + if (!(eq_s_b("o"))) + { + break lab15; + } + golab16: while(true) + { + int v_8 = limit - cursor; + lab17: { + if (!(in_grouping_b(g_vowel5, 111, 117))) + { + break lab17; + } + cursor = limit - v_8; + break golab16; + } + cursor = limit - v_8; + if (cursor <= limit_backward) + { + break lab15; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab18: { + if (!(eq_s_b("\u00F6"))) + { + break lab18; + } + golab19: while(true) + { + int v_9 = limit - cursor; + lab20: { + if (!(in_grouping_b(g_vowel6, 246, 252))) + { + break lab20; + } + cursor = limit - v_9; + break golab19; + } + cursor = limit - v_9; + if (cursor <= limit_backward) + { + break lab18; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + lab21: { + if (!(eq_s_b("u"))) + { + break lab21; + } + golab22: while(true) + { + int v_10 = limit - cursor; + lab23: { + if (!(in_grouping_b(g_vowel5, 111, 117))) + { + break lab23; + } + cursor = limit - v_10; + break golab22; + } + cursor = limit - v_10; + if (cursor <= limit_backward) + { + break lab21; + } + cursor--; + } + break lab2; + } + cursor = limit - v_3; + if (!(eq_s_b("\u00FC"))) + { + return false; + } + golab24: while(true) + { + int v_11 = limit - cursor; + lab25: { + if (!(in_grouping_b(g_vowel6, 246, 252))) + { + break lab25; + } + cursor = limit - v_11; + break golab24; + } + cursor = limit - v_11; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + } + cursor = limit - v_1; + return true; +} + +private boolean r_mark_suffix_with_optional_n_consonant() { + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("n"))) + { + break lab1; + } + int v_2 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + { + int v_3 = limit - cursor; + lab2: { + int v_4 = limit - cursor; + if (!(eq_s_b("n"))) + { + break lab2; + } + cursor = limit - v_4; + return false; + } + cursor = limit - v_3; + } + int v_5 = limit - cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_5; + } + return true; +} + +private boolean r_mark_suffix_with_optional_s_consonant() { + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("s"))) + { + break lab1; + } + int v_2 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + { + int v_3 = limit - cursor; + lab2: { + int v_4 = limit - cursor; + if (!(eq_s_b("s"))) + { + break lab2; + } + cursor = limit - v_4; + return false; + } + cursor = limit - v_3; + } + int v_5 = limit - cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_5; + } + return true; +} + +private boolean r_mark_suffix_with_optional_y_consonant() { + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(eq_s_b("y"))) + { + break lab1; + } + int v_2 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + { + int v_3 = limit - cursor; + lab2: { + int v_4 = limit - cursor; + if (!(eq_s_b("y"))) + { + break lab2; + } + cursor = limit - v_4; + return false; + } + cursor = limit - v_3; + } + int v_5 = limit - cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_5; + } + return true; +} + +private boolean r_mark_suffix_with_optional_U_vowel() { + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!(in_grouping_b(g_U, 105, 305))) + { + break lab1; + } + int v_2 = limit - cursor; + if (!(out_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } + cursor = limit - v_1; + { + int v_3 = limit - cursor; + lab2: { + int v_4 = limit - cursor; + if (!(in_grouping_b(g_U, 105, 305))) + { + break lab2; + } + cursor = limit - v_4; + return false; + } + cursor = limit - v_3; + } + int v_5 = limit - cursor; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + if (!(out_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_5; + } + return true; +} + +private boolean r_mark_possessives() { + if (find_among_b(a_0) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_U_vowel()) + { + return false; + } + return true; +} + +private boolean r_mark_sU() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (!(in_grouping_b(g_U, 105, 305))) + { + return false; + } + if (!r_mark_suffix_with_optional_s_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_lArI() { + if (find_among_b(a_1) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_yU() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (!(in_grouping_b(g_U, 105, 305))) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_nU() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_2) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_nUn() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_3) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_n_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_yA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_4) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_nA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_5) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_DA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_6) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_ndA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_7) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_DAn() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_8) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_ndAn() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_9) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_ylA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_10) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_ki() { + if (!(eq_s_b("ki"))) + { + return false; + } + return true; +} + +private boolean r_mark_ncA() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_11) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_n_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_yUm() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_12) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_sUn() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_13) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_yUz() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_14) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_sUnUz() { + if (find_among_b(a_15) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_lAr() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_16) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_nUz() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_17) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_DUr() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_18) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_cAsInA() { + if (find_among_b(a_19) == 0) + { + return false; + } + return true; +} + +private boolean r_mark_yDU() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_20) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_ysA() { + if (find_among_b(a_21) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_ymUs_() { + if (!r_check_vowel_harmony()) + { + return false; + } + if (find_among_b(a_22) == 0) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_mark_yken() { + if (!(eq_s_b("ken"))) + { + return false; + } + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; +} + +private boolean r_stem_nominal_verb_suffixes() { + ket = cursor; + B_continue_stemming_noun_suffixes = true; + lab0: { + int v_1 = limit - cursor; + lab1: { + lab2: { + int v_2 = limit - cursor; + lab3: { + if (!r_mark_ymUs_()) + { + break lab3; + } + break lab2; + } + cursor = limit - v_2; + lab4: { + if (!r_mark_yDU()) + { + break lab4; + } + break lab2; + } + cursor = limit - v_2; + lab5: { + if (!r_mark_ysA()) + { + break lab5; + } + break lab2; + } + cursor = limit - v_2; + if (!r_mark_yken()) + { + break lab1; + } + } + break lab0; + } + cursor = limit - v_1; + lab6: { + if (!r_mark_cAsInA()) + { + break lab6; + } + lab7: { + int v_3 = limit - cursor; + lab8: { + if (!r_mark_sUnUz()) + { + break lab8; + } + break lab7; + } + cursor = limit - v_3; + lab9: { + if (!r_mark_lAr()) + { + break lab9; + } + break lab7; + } + cursor = limit - v_3; + lab10: { + if (!r_mark_yUm()) + { + break lab10; + } + break lab7; + } + cursor = limit - v_3; + lab11: { + if (!r_mark_sUn()) + { + break lab11; + } + break lab7; + } + cursor = limit - v_3; + lab12: { + if (!r_mark_yUz()) + { + break lab12; + } + break lab7; + } + cursor = limit - v_3; + } + if (!r_mark_ymUs_()) + { + break lab6; + } + break lab0; + } + cursor = limit - v_1; + lab13: { + if (!r_mark_lAr()) + { + break lab13; + } + bra = cursor; + slice_del(); + int v_4 = limit - cursor; + lab14: { + ket = cursor; + lab15: { + int v_5 = limit - cursor; + lab16: { + if (!r_mark_DUr()) + { + break lab16; + } + break lab15; + } + cursor = limit - v_5; + lab17: { + if (!r_mark_yDU()) + { + break lab17; + } + break lab15; + } + cursor = limit - v_5; + lab18: { + if (!r_mark_ysA()) + { + break lab18; + } + break lab15; + } + cursor = limit - v_5; + if (!r_mark_ymUs_()) + { + cursor = limit - v_4; + break lab14; + } + } + } + B_continue_stemming_noun_suffixes = false; + break lab0; + } + cursor = limit - v_1; + lab19: { + if (!r_mark_nUz()) + { + break lab19; + } + lab20: { + int v_6 = limit - cursor; + lab21: { + if (!r_mark_yDU()) + { + break lab21; + } + break lab20; + } + cursor = limit - v_6; + if (!r_mark_ysA()) + { + break lab19; + } + } + break lab0; + } + cursor = limit - v_1; + lab22: { + lab23: { + int v_7 = limit - cursor; + lab24: { + if (!r_mark_sUnUz()) + { + break lab24; + } + break lab23; + } + cursor = limit - v_7; + lab25: { + if (!r_mark_yUz()) + { + break lab25; + } + break lab23; + } + cursor = limit - v_7; + lab26: { + if (!r_mark_sUn()) + { + break lab26; + } + break lab23; + } + cursor = limit - v_7; + if (!r_mark_yUm()) + { + break lab22; + } + } + bra = cursor; + slice_del(); + int v_8 = limit - cursor; + lab27: { + ket = cursor; + if (!r_mark_ymUs_()) + { + cursor = limit - v_8; + break lab27; + } + } + break lab0; + } + cursor = limit - v_1; + if (!r_mark_DUr()) + { + return false; + } + bra = cursor; + slice_del(); + int v_9 = limit - cursor; + lab28: { + ket = cursor; + lab29: { + int v_10 = limit - cursor; + lab30: { + if (!r_mark_sUnUz()) + { + break lab30; + } + break lab29; + } + cursor = limit - v_10; + lab31: { + if (!r_mark_lAr()) + { + break lab31; + } + break lab29; + } + cursor = limit - v_10; + lab32: { + if (!r_mark_yUm()) + { + break lab32; + } + break lab29; + } + cursor = limit - v_10; + lab33: { + if (!r_mark_sUn()) + { + break lab33; + } + break lab29; + } + cursor = limit - v_10; + lab34: { + if (!r_mark_yUz()) + { + break lab34; + } + break lab29; + } + cursor = limit - v_10; + } + if (!r_mark_ymUs_()) + { + cursor = limit - v_9; + break lab28; + } + } + } + bra = cursor; + slice_del(); + return true; +} + +private boolean r_stem_suffix_chain_before_ki() { + ket = cursor; + if (!r_mark_ki()) + { + return false; + } + lab0: { + int v_1 = limit - cursor; + lab1: { + if (!r_mark_DA()) + { + break lab1; + } + bra = cursor; + slice_del(); + int v_2 = limit - cursor; + lab2: { + ket = cursor; + lab3: { + int v_3 = limit - cursor; + lab4: { + if (!r_mark_lAr()) + { + break lab4; + } + bra = cursor; + slice_del(); + int v_4 = limit - cursor; + lab5: { + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_4; + break lab5; + } + } + break lab3; + } + cursor = limit - v_3; + if (!r_mark_possessives()) + { + cursor = limit - v_2; + break lab2; + } + bra = cursor; + slice_del(); + int v_5 = limit - cursor; + lab6: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_5; + break lab6; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_5; + break lab6; + } + } + } + } + break lab0; + } + cursor = limit - v_1; + lab7: { + if (!r_mark_nUn()) + { + break lab7; + } + bra = cursor; + slice_del(); + int v_6 = limit - cursor; + lab8: { + ket = cursor; + lab9: { + int v_7 = limit - cursor; + lab10: { + if (!r_mark_lArI()) + { + break lab10; + } + bra = cursor; + slice_del(); + break lab9; + } + cursor = limit - v_7; + lab11: { + ket = cursor; + lab12: { + int v_8 = limit - cursor; + lab13: { + if (!r_mark_possessives()) + { + break lab13; + } + break lab12; + } + cursor = limit - v_8; + if (!r_mark_sU()) + { + break lab11; + } + } + bra = cursor; + slice_del(); + int v_9 = limit - cursor; + lab14: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_9; + break lab14; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_9; + break lab14; + } + } + break lab9; + } + cursor = limit - v_7; + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_6; + break lab8; + } + } + } + break lab0; + } + cursor = limit - v_1; + if (!r_mark_ndA()) + { + return false; + } + lab15: { + int v_10 = limit - cursor; + lab16: { + if (!r_mark_lArI()) + { + break lab16; + } + bra = cursor; + slice_del(); + break lab15; + } + cursor = limit - v_10; + lab17: { + if (!r_mark_sU()) + { + break lab17; + } + bra = cursor; + slice_del(); + int v_11 = limit - cursor; + lab18: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_11; + break lab18; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_11; + break lab18; + } + } + break lab15; + } + cursor = limit - v_10; + if (!r_stem_suffix_chain_before_ki()) + { + return false; + } + } + } + return true; +} + +private boolean r_stem_noun_suffixes() { + lab0: { + int v_1 = limit - cursor; + lab1: { + ket = cursor; + if (!r_mark_lAr()) + { + break lab1; + } + bra = cursor; + slice_del(); + int v_2 = limit - cursor; + lab2: { + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_2; + break lab2; + } + } + break lab0; + } + cursor = limit - v_1; + lab3: { + ket = cursor; + if (!r_mark_ncA()) + { + break lab3; + } + bra = cursor; + slice_del(); + int v_3 = limit - cursor; + lab4: { + lab5: { + int v_4 = limit - cursor; + lab6: { + ket = cursor; + if (!r_mark_lArI()) + { + break lab6; + } + bra = cursor; + slice_del(); + break lab5; + } + cursor = limit - v_4; + lab7: { + ket = cursor; + lab8: { + int v_5 = limit - cursor; + lab9: { + if (!r_mark_possessives()) + { + break lab9; + } + break lab8; + } + cursor = limit - v_5; + if (!r_mark_sU()) + { + break lab7; + } + } + bra = cursor; + slice_del(); + int v_6 = limit - cursor; + lab10: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_6; + break lab10; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_6; + break lab10; + } + } + break lab5; + } + cursor = limit - v_4; + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_3; + break lab4; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_3; + break lab4; + } + } + } + break lab0; + } + cursor = limit - v_1; + lab11: { + ket = cursor; + lab12: { + int v_7 = limit - cursor; + lab13: { + if (!r_mark_ndA()) + { + break lab13; + } + break lab12; + } + cursor = limit - v_7; + if (!r_mark_nA()) + { + break lab11; + } + } + lab14: { + int v_8 = limit - cursor; + lab15: { + if (!r_mark_lArI()) + { + break lab15; + } + bra = cursor; + slice_del(); + break lab14; + } + cursor = limit - v_8; + lab16: { + if (!r_mark_sU()) + { + break lab16; + } + bra = cursor; + slice_del(); + int v_9 = limit - cursor; + lab17: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_9; + break lab17; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_9; + break lab17; + } + } + break lab14; + } + cursor = limit - v_8; + if (!r_stem_suffix_chain_before_ki()) + { + break lab11; + } + } + break lab0; + } + cursor = limit - v_1; + lab18: { + ket = cursor; + lab19: { + int v_10 = limit - cursor; + lab20: { + if (!r_mark_ndAn()) + { + break lab20; + } + break lab19; + } + cursor = limit - v_10; + if (!r_mark_nU()) + { + break lab18; + } + } + lab21: { + int v_11 = limit - cursor; + lab22: { + if (!r_mark_sU()) + { + break lab22; + } + bra = cursor; + slice_del(); + int v_12 = limit - cursor; + lab23: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_12; + break lab23; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_12; + break lab23; + } + } + break lab21; + } + cursor = limit - v_11; + if (!r_mark_lArI()) + { + break lab18; + } + } + break lab0; + } + cursor = limit - v_1; + lab24: { + ket = cursor; + if (!r_mark_DAn()) + { + break lab24; + } + bra = cursor; + slice_del(); + int v_13 = limit - cursor; + lab25: { + ket = cursor; + lab26: { + int v_14 = limit - cursor; + lab27: { + if (!r_mark_possessives()) + { + break lab27; + } + bra = cursor; + slice_del(); + int v_15 = limit - cursor; + lab28: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_15; + break lab28; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_15; + break lab28; + } + } + break lab26; + } + cursor = limit - v_14; + lab29: { + if (!r_mark_lAr()) + { + break lab29; + } + bra = cursor; + slice_del(); + int v_16 = limit - cursor; + lab30: { + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_16; + break lab30; + } + } + break lab26; + } + cursor = limit - v_14; + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_13; + break lab25; + } + } + } + break lab0; + } + cursor = limit - v_1; + lab31: { + ket = cursor; + lab32: { + int v_17 = limit - cursor; + lab33: { + if (!r_mark_nUn()) + { + break lab33; + } + break lab32; + } + cursor = limit - v_17; + if (!r_mark_ylA()) + { + break lab31; + } + } + bra = cursor; + slice_del(); + int v_18 = limit - cursor; + lab34: { + lab35: { + int v_19 = limit - cursor; + lab36: { + ket = cursor; + if (!r_mark_lAr()) + { + break lab36; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + break lab36; + } + break lab35; + } + cursor = limit - v_19; + lab37: { + ket = cursor; + lab38: { + int v_20 = limit - cursor; + lab39: { + if (!r_mark_possessives()) + { + break lab39; + } + break lab38; + } + cursor = limit - v_20; + if (!r_mark_sU()) + { + break lab37; + } + } + bra = cursor; + slice_del(); + int v_21 = limit - cursor; + lab40: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_21; + break lab40; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_21; + break lab40; + } + } + break lab35; + } + cursor = limit - v_19; + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_18; + break lab34; + } + } + } + break lab0; + } + cursor = limit - v_1; + lab41: { + ket = cursor; + if (!r_mark_lArI()) + { + break lab41; + } + bra = cursor; + slice_del(); + break lab0; + } + cursor = limit - v_1; + lab42: { + if (!r_stem_suffix_chain_before_ki()) + { + break lab42; + } + break lab0; + } + cursor = limit - v_1; + lab43: { + ket = cursor; + lab44: { + int v_22 = limit - cursor; + lab45: { + if (!r_mark_DA()) + { + break lab45; + } + break lab44; + } + cursor = limit - v_22; + lab46: { + if (!r_mark_yU()) + { + break lab46; + } + break lab44; + } + cursor = limit - v_22; + if (!r_mark_yA()) + { + break lab43; + } + } + bra = cursor; + slice_del(); + int v_23 = limit - cursor; + lab47: { + ket = cursor; + lab48: { + int v_24 = limit - cursor; + lab49: { + if (!r_mark_possessives()) + { + break lab49; + } + bra = cursor; + slice_del(); + int v_25 = limit - cursor; + lab50: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_25; + break lab50; + } + } + break lab48; + } + cursor = limit - v_24; + if (!r_mark_lAr()) + { + cursor = limit - v_23; + break lab47; + } + } + bra = cursor; + slice_del(); + ket = cursor; + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_23; + break lab47; + } + } + break lab0; + } + cursor = limit - v_1; + ket = cursor; + lab51: { + int v_26 = limit - cursor; + lab52: { + if (!r_mark_possessives()) + { + break lab52; + } + break lab51; + } + cursor = limit - v_26; + if (!r_mark_sU()) + { + return false; + } + } + bra = cursor; + slice_del(); + int v_27 = limit - cursor; + lab53: { + ket = cursor; + if (!r_mark_lAr()) + { + cursor = limit - v_27; + break lab53; + } + bra = cursor; + slice_del(); + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_27; + break lab53; + } + } + } + return true; +} + +private boolean r_post_process_last_consonants() { + int among_var; + ket = cursor; + among_var = find_among_b(a_23); + if (among_var == 0) + { + return false; + } + bra = cursor; + switch (among_var) { + case 1: + slice_from("p"); + break; + case 2: + slice_from("\u00E7"); + break; + case 3: + slice_from("t"); + break; + case 4: + slice_from("k"); + break; + } + return true; +} + +private boolean r_append_U_to_stems_ending_with_d_or_g() { + int v_1 = limit - cursor; + lab0: { + int v_2 = limit - cursor; + lab1: { + if (!(eq_s_b("d"))) + { + break lab1; + } + break lab0; + } + cursor = limit - v_2; + if (!(eq_s_b("g"))) + { + return false; + } + } + cursor = limit - v_1; + lab2: { + int v_3 = limit - cursor; + lab3: { + int v_4 = limit - cursor; + golab4: while(true) + { + int v_5 = limit - cursor; + lab5: { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab5; + } + cursor = limit - v_5; + break golab4; + } + cursor = limit - v_5; + if (cursor <= limit_backward) + { + break lab3; + } + cursor--; + } + lab6: { + int v_6 = limit - cursor; + lab7: { + if (!(eq_s_b("a"))) + { + break lab7; + } + break lab6; + } + cursor = limit - v_6; + if (!(eq_s_b("\u0131"))) + { + break lab3; + } + } + cursor = limit - v_4; + { + int c = cursor; + insert(cursor, cursor, "\u0131"); + cursor = c; + } + break lab2; + } + cursor = limit - v_3; + lab8: { + int v_7 = limit - cursor; + golab9: while(true) + { + int v_8 = limit - cursor; + lab10: { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab10; + } + cursor = limit - v_8; + break golab9; + } + cursor = limit - v_8; + if (cursor <= limit_backward) + { + break lab8; + } + cursor--; + } + lab11: { + int v_9 = limit - cursor; + lab12: { + if (!(eq_s_b("e"))) + { + break lab12; + } + break lab11; + } + cursor = limit - v_9; + if (!(eq_s_b("i"))) + { + break lab8; + } + } + cursor = limit - v_7; + { + int c = cursor; + insert(cursor, cursor, "i"); + cursor = c; + } + break lab2; + } + cursor = limit - v_3; + lab13: { + int v_10 = limit - cursor; + golab14: while(true) + { + int v_11 = limit - cursor; + lab15: { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab15; + } + cursor = limit - v_11; + break golab14; + } + cursor = limit - v_11; + if (cursor <= limit_backward) + { + break lab13; + } + cursor--; + } + lab16: { + int v_12 = limit - cursor; + lab17: { + if (!(eq_s_b("o"))) + { + break lab17; + } + break lab16; + } + cursor = limit - v_12; + if (!(eq_s_b("u"))) + { + break lab13; + } + } + cursor = limit - v_10; + { + int c = cursor; + insert(cursor, cursor, "u"); + cursor = c; + } + break lab2; + } + cursor = limit - v_3; + int v_13 = limit - cursor; + golab18: while(true) + { + int v_14 = limit - cursor; + lab19: { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab19; + } + cursor = limit - v_14; + break golab18; + } + cursor = limit - v_14; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + lab20: { + int v_15 = limit - cursor; + lab21: { + if (!(eq_s_b("\u00F6"))) + { + break lab21; + } + break lab20; + } + cursor = limit - v_15; + if (!(eq_s_b("\u00FC"))) + { + return false; + } + } + cursor = limit - v_13; + { + int c = cursor; + insert(cursor, cursor, "\u00FC"); + cursor = c; + } + } + return true; +} + +private boolean r_is_reserved_word() { + if (!(eq_s_b("ad"))) + { + return false; + } + int v_1 = limit - cursor; + lab0: { + if (!(eq_s_b("soy"))) + { + cursor = limit - v_1; + break lab0; + } + } + if (cursor > limit_backward) + { + return false; + } + return true; +} + +private boolean r_more_than_one_syllable_word() { + int v_1 = cursor; + { + int v_2 = 2; + while(true) + { + int v_3 = cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(in_grouping(g_vowel, 97, 305))) + { + break lab2; + } + break golab1; + } + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + v_2--; + continue; + } + cursor = v_3; + break; + } + if (v_2 > 0) + { + return false; + } + } + cursor = v_1; + return true; +} + +private boolean r_postlude() { + limit_backward = cursor; + cursor = limit; + { + int v_1 = limit - cursor; + lab0: { + if (!r_is_reserved_word()) + { + break lab0; + } + return false; + } + cursor = limit - v_1; + } + int v_2 = limit - cursor; + r_append_U_to_stems_ending_with_d_or_g(); + cursor = limit - v_2; + int v_3 = limit - cursor; + r_post_process_last_consonants(); + cursor = limit - v_3; + cursor = limit_backward; + return true; +} + +public boolean stem() { + if (!r_more_than_one_syllable_word()) + { + return false; + } + limit_backward = cursor; + cursor = limit; + int v_1 = limit - cursor; + r_stem_nominal_verb_suffixes(); + cursor = limit - v_1; + if (!(B_continue_stemming_noun_suffixes)) + { + return false; + } + int v_2 = limit - cursor; + r_stem_noun_suffixes(); + cursor = limit - v_2; + cursor = limit_backward; + if (!r_postlude()) + { + return false; + } + return true; +} + +@Override +public boolean equals( Object o ) { + return o instanceof TurkishStemmer; +} + +@Override +public int hashCode() { + return TurkishStemmer.class.getName().hashCode(); +} diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/danish_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/danish_stop.txt index 42e6145b98e..6e90e8f1aae 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/danish_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/danish_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/danish/stop.txt + | From https://snowballstem.org/algorithms/danish/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | @@ -60,7 +60,7 @@ hvor | where eller | or hvad | what skal | must/shall etc. -selv | myself/youself/herself/ourselves etc., even +selv | myself/yourself/herself/ourselves etc., even her | here alle | all/everyone/everybody etc. vil | will (verb) diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/dutch_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/dutch_stop.txt index 47a2aeacf6f..48c5515123a 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/dutch_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/dutch_stop.txt @@ -1,12 +1,13 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/dutch/stop.txt + | From https://snowballstem.org/algorithms/dutch/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" + | A Dutch stop word list. Comments begin with vertical bar. Each stop | word is at the start of a line. @@ -117,3 +118,4 @@ uw | your iemand | somebody geweest | been; past participle of 'be' andere | other + diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/english_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/english_stop.txt index 0385841d77b..00902dce6d7 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/english_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/english_stop.txt @@ -1,12 +1,12 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/english/stop.txt + | From https://snowballstem.org/algorithms/english/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - + | An English stop word list. Comments begin with vertical bar. Each stop | word is at the start of a line. @@ -317,3 +317,4 @@ very | old | high | long + diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/finnish_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/finnish_stop.txt index 4372c9a055b..c9ee2f16dc5 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/finnish_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/finnish_stop.txt @@ -1,12 +1,12 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/finnish/stop.txt + | From https://snowballstem.org/algorithms/finnish/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - + | forms of BE olla @@ -48,8 +48,8 @@ me meidän meidät meitä meissä meistä meihin meillä meiltä meille te teidän teidät teitä teissä teistä teihin teillä teiltä teille | you he heidän heidät heitä heissä heistä heihin heillä heiltä heille | they -tämä tämän tätä tässä tästä tähän tallä tältä tälle tänä täksi | this -tuo tuon tuotä tuossa tuosta tuohon tuolla tuolta tuolle tuona tuoksi | that +tämä tämän tätä tässä tästä tähän tällä tältä tälle tänä täksi | this +tuo tuon tuota tuossa tuosta tuohon tuolla tuolta tuolle tuona tuoksi | that se sen sitä siinä siitä siihen sillä siltä sille sinä siksi | it nämä näiden näitä näissä näistä näihin näillä näiltä näille näinä näiksi | these nuo noiden noita noissa noista noihin noilla noilta noille noina noiksi | those @@ -91,7 +91,6 @@ yli | over, across | other kun | when -niin | so nyt | now itse | self diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/french_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/french_stop.txt index 749abae6846..8fec2c9b08b 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/french_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/french_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/french/stop.txt + | From https://snowballstem.org/algorithms/french/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | @@ -169,8 +169,8 @@ eussent | Later additions (from Jean-Christophe Deschamps) ceci | this -cela | that -celà | that +cela | that (added 11 Apr 2012. Omission reported by Adrien Grand) +celà | that (incorrect, though common) cet | this cette | this ici | here diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/german_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/german_stop.txt index 86525e7ae08..804bbbdb010 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/german_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/german_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/german/stop.txt + | From https://snowballstem.org/algorithms/german/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/hungarian_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/hungarian_stop.txt index 37526da8aa9..3fa279eac91 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/hungarian_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/hungarian_stop.txt @@ -1,12 +1,12 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/hungarian/stop.txt + | From https://snowballstem.org/algorithms/hungarian/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - + | Hungarian stop word list | prepared by Anna Tordai diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/indonesian_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/indonesian_stop.txt new file mode 100644 index 00000000000..225560bd833 --- /dev/null +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/indonesian_stop.txt @@ -0,0 +1,99 @@ + | From https://snowballstem.org/algorithms/indonesian/stop.txt + | This file is distributed under the BSD License. + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html + | - Encoding was converted to UTF-8. + | - This notice was added. + | + | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" +yang | that +dan | and +di | in +dari | from +ini | this +pada kepada | at, to [person] +ada adalah | there is, is +dengan | with +untuk | for +dalam | in the +oleh | by +sebagai | as +juga | also, too +ke | to +atau | or +tidak | not +itu | that +sebuah | a +tersebut | the +dapat | can, may +ia | he/she, yes +telah | already +satu | one +memiliki | have +mereka | they +bahwa | that +lebih | more, more than +karena | because, since +seorang | one person, same +akan | will, about to +seperti | as, like +secara | on +kemudian | later, then +beberapa | some +banyak | many +antara | between +setelah | after +yaitu | that is +hanya | only +hingga | to +serta | along with +sama | same, and +dia | he/she/it (informal) +tetapi | but +namun | however +melalui | through +bisa | can +sehingga | so +ketika | when +suatu | a +sendiri | own (adverb) +bagi | for +semua | all +harus | must +setiap | each, every +maka | then +maupun | as well +tanpa | without +saja | only +jika | if +bukan | not +belum | not yet +sedangkan | while +yakni | i.e. +meskipun | although +hampir | almost +kita | we/us (inclusive) +demikian | thereby +daripada | from/than/instead of +apa | what/which/or/eh +ialah | is +sana | there +begitu | so +seseorang | someone +selain | besides +terlalu | too +ataupun | or +saya | me/I (formal) +bila | if/when +bagaimana | how +tapi | but +apabila | when/if +kalau | if +kami | we/us (exclusive) +melainkan | but (rather) +boleh | may,can +aku | I/me (informal) +anda | you (formal) +kamu | you (informal) +beliau | he/she/it (formal) +kalian | you (plural) diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/italian_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/italian_stop.txt index 1219cc773ab..c74160e28ca 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/italian_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/italian_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/italian/stop.txt + | From https://snowballstem.org/algorithms/italian/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/norwegian_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/norwegian_stop.txt index a7a2c28ba54..f427609484f 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/norwegian_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/norwegian_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/norwegian/stop.txt + | From https://snowballstem.org/algorithms/norwegian/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | @@ -25,7 +25,7 @@ et | a/an den | it/this/that til | to er | is/am/are -som | who/that +som | who/which/that på | on de | they / you(formal) med | with @@ -84,7 +84,6 @@ noen | some noe | some ville | would dere | you -som | who/which/that deres | their/theirs kun | only/just ja | yes @@ -129,7 +128,6 @@ mange | many også | also slik | just vært | been -være | to be båe | both * begge | both siden | since @@ -155,7 +153,6 @@ hennar | her/hers hennes | hers hoss | how * hossen | how * -ikkje | not * ingi | noone * inkje | noone * korleis | how * @@ -177,7 +174,6 @@ noka | some (fem.) * nokor | some * noko | some * nokre | some * -si | his/hers * sia | since * sidan | since * so | so * diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/portuguese_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/portuguese_stop.txt index acfeb01af6b..d03d7f234d5 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/portuguese_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/portuguese_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/portuguese/stop.txt + | From https://snowballstem.org/algorithms/portuguese/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/russian_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/russian_stop.txt index 55271400c64..65512d49dbd 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/russian_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/russian_stop.txt @@ -1,12 +1,13 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/russian/stop.txt + | From https://snowballstem.org/algorithms/russian/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" + | a russian stop word list. comments begin with vertical bar. each stop | word is at the start of a line. diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/spanish_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/spanish_stop.txt index 487d78c8d56..48bd65ef867 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/spanish_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/spanish_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/spanish/stop.txt + | From https://snowballstem.org/algorithms/spanish/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | diff --git a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/swedish_stop.txt b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/swedish_stop.txt index 096f87f6766..a5f056b0351 100644 --- a/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/swedish_stop.txt +++ b/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball/swedish_stop.txt @@ -1,7 +1,7 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/swedish/stop.txt + | From https://snowballstem.org/algorithms/swedish/stop.txt | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html + | See https://snowballstem.org/license.html + | Also see https://opensource.org/licenses/bsd-license.html | - Encoding was converted to UTF-8. | - This notice was added. | diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java index 10358c752c8..be81c0acab2 100644 --- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java +++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java @@ -108,7 +108,7 @@ import org.apache.lucene.util.automaton.Operations; import org.apache.lucene.util.automaton.RegExp; import org.junit.AfterClass; import org.junit.BeforeClass; -import org.tartarus.snowball.SnowballProgram; +import org.tartarus.snowball.SnowballStemmer; import org.xml.sax.InputSource; /** tests random analysis chains */ @@ -404,10 +404,10 @@ public class TestRandomChains extends BaseTokenStreamTestCase { return null; // unreachable code } }); - put(SnowballProgram.class, random -> { + put(SnowballStemmer.class, random -> { try { - String lang = TestSnowball.SNOWBALL_LANGS[random.nextInt(TestSnowball.SNOWBALL_LANGS.length)]; - Class extends SnowballProgram> clazz = Class.forName("org.tartarus.snowball.ext." + lang + "Stemmer").asSubclass(SnowballProgram.class); + String lang = TestSnowball.SNOWBALL_LANGS.get(random.nextInt(TestSnowball.SNOWBALL_LANGS.size())); + Class extends SnowballStemmer> clazz = Class.forName("org.tartarus.snowball.ext." + lang + "Stemmer").asSubclass(SnowballStemmer.class); return clazz.getConstructor().newInstance(); } catch (Exception ex) { Rethrow.rethrow(ex); diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java index 332d26089b8..0cfa773c5cf 100644 --- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java +++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java @@ -18,11 +18,16 @@ package org.apache.lucene.analysis.snowball; import java.io.IOException; +import java.io.InputStream; +import java.io.UncheckedIOException; +import java.nio.charset.StandardCharsets; +import java.util.List; import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.MockTokenizer; import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.WordlistLoader; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.KeywordTokenizer; @@ -97,12 +102,14 @@ public class TestSnowball extends BaseTokenStreamTestCase { } /** for testing purposes ONLY */ - public static String SNOWBALL_LANGS[] = { - "Armenian", "Basque", "Catalan", "Danish", "Dutch", "English", - "Finnish", "French", "German2", "German", "Hungarian", "Irish", - "Italian", "Kp", "Lovins", "Norwegian", "Porter", "Portuguese", - "Romanian", "Russian", "Spanish", "Swedish", "Turkish" - }; + public static final List