From 1f37173b019941788e5603446756c1628970c40f Mon Sep 17 00:00:00 2001 From: Packit Date: Sep 15 2020 13:53:12 +0000 Subject: malaga-suomi-voikko-1.19 base --- diff --git a/CONTRIBUTORS b/CONTRIBUTORS new file mode 100644 index 0000000..51d52a5 --- /dev/null +++ b/CONTRIBUTORS @@ -0,0 +1,40 @@ +The following people have directly contributed material to the vocabulary: + +- Harri Järvi +- Tero Kuparinen +- Kalle Lampila +- Teemu Likonen +- Jouni Pirttimäki +- Harri Pitkänen +- Ville Talikka +- Reijo Tomperi +- Tiina Vartio +- Hannu Väisänen +- Jouni Väliaho + +Additionally, the following sources have been used during the development +of the vocabulary: + +- Hunspell-fi vocabulary + Authors: Jarno Kiuttu, Reijo Tomperi, Harri Pitkänen + License: GPL + Year of publication: 2005 + +- Finnish ispell vocabulary + Authors: Martin Vermeer, Pauli Virtanen + License: GPL + Year of publication: 2000 + URL: http://ispell-fi.sourceforge.net/index.html + +- Finnish myspell vocabulary + Authors: Jukka Nikulainen + License: GPL + Year of publication: 2005 + URL: http://www.mv.helsinki.fi/home/jnikulai/projects/index.html + +- The list of words in modern Finnish, version 1 + Authors: Research Institute for the Languages of Finland + License: LGPL + Year of publication: 2006 + URL: http://kaino.kotus.fi/sanat/nykysuomi/ + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..00ed6a5 --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..66569e6 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,139 @@ +This changelog is unmaintained. Please see the Git changelog at +https://github.com/voikko/corevoikko/commits/master/suomimalaga +to see all changes since 2006-06-20. + +2006-10-01 Harri Pitkänen + * suomi.sym: Lisätty lippu ei_vertm sellaisia laatusanoja varten, jotka + eivät taivu vertailumuodoissa (esim. ekstra, *ekstrampi, *ekstrain). + +2006-06-20 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Versio 0.7. + +2006-06-13 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Lisätty tiedosto suomi-voikko.pro Harri Pitkäsen ohjeen mukaan. + * Päivitetty tiedostot LUE.MINUT ja Makefile. + * Versio 0.7-beta10. + +2006-06-07 Harri Pitkänen + * Parannettu isojen kirjainten käsittelyä ja korjattu + tavutusongelmia Voikkoa varten. + +2006-06-06 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Muutettu š ja ž sanoihin, joihin ne kuuluvat. + Nämä sanat tunnistetaan myös, jos š:n ja ž:n asemesta + käytetään s:ää, sh:ta, z:aa tai zh:ta. Siis tunnistetaan + esim. šaali, saali ja shaali. + * Versio 0.7-beta9. + +2006-06-01 Hannu Väisänen + * combi_rule yhdyssana_oikein: hyväksytään erisnimi + viivan kanssa yhdyssanoissa ("Anna-niminen"). + * Versio 0.7-beta8. + +2006-05-29 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * combi_rule sijapääte: korjattu sti-loppuisten laatusanojen + (esim. kaunii+sti) ja johdosten (puhuva+sti) tunnistusta. + * combi_rule sijapääte: hyväksytään omistusliite sijapäätteen + jälkeen myös lyhenteissä (esim. USA:ssa+ni). + * Versio 0.7-beta7. + +2006-05-24 Hannu Väisänen + * Sanoja lisätty. + * Korjattu minun ja Harri Pitkäsen huomaamia virheitä. + * -inen-loppuiset johdokset (valo+inen) hyväksytään vain + yhdyssanojen jälkiosana paitsi jos ne on merkitty sanastoon + erillisiksi sanoiksi. (Toivottavasti tämä toimii nyt :-). + * Versio 0.7-beta6. + +2006-05-23 Harri Pitkänen + * subrule yhdyssana_oikein: voikko-versiossa hyväksytään viiva + yhdyssanoissa vain oikeinkirjoitussääntöjen mukaan. Siis + hyväksytään esim. linja-auto, mutta ei paketti-autoa. + +2006-05-22 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Sanastoon merkitty sanat, joita ei käännetä voikko-versiossa + (tiedot: ) tai sukija-versiossa (tiedot: ) + Harri Pitkäsen korjauksen mukaan. + * Korjattu Harri Pitkäsen huomaamat kirjoitusvirheet. + * Tavuviiva voi olla myös sanan alussa tai lopussa. + * Hyväksytään liitesana sijapäätteen jälkeen myös + lyhenteissä (esim. USA:ssa+kin). + * Versio 0.7-beta5. + +2006-05-16 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Johdetaan -inen-loppuiset laatusanat nimisanosta (esim. valo+inen). + Ne hyväksytään vain yhdyssanojen jälkiosana paitsi jos ne on + merkitty sanastoon erillisiksi sanoiksi. + * Tarpeettomia lyhenteitä poistettu (eli siirretty tiedostoon omat.lex :-). + * Pisteitä lisätty niihin lyhenteisiin, joihin ne kuuluvat. + * Versio 0.7-beta4. + +2006-05-12 Harri Pitkänen + * Isojen kirjainten tuki oikolukua varten. + * Lyhenteiden erottaminen tavutusta varten. + +2006-05-12 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Antautua-tyyppiset sanat taivutetaan sukija-versiossa Nykysuomen + sanakirjan ja voikko-versiossa Suomen kielen perussanakirjan mukaan. + * Tunnistetaan entistä vähemmän sanoja virheellisesti yhdyssanoiksi. + * Versio 0.7-beta3. + +2006-05-10 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Erisnimet muutettu alkaamaan isolla kirjaimella. + * Tiedoston atk.lex sanat merkitty atk-alan erikoissanoiksi. + * Monikon omanto voi olla yhdyssanan alkuosana (esim äitienpäivä). + * Yhdyssanojen tunnistusta parannettu. + * Versio 0.7-beta2. + +2006-05-05 Harri Pitkänen + * Ääntiösoinnun tarkistus lyhenteiden taivutuksessa. + * combi_rule teonsana: poistettu ylimääräisiä sääntöjä result-lauseesta. + +2006-05-05 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Sanastoon voidaan merkitä sanoja, joita ei käännetä voikko-versioon. + * Versio 0.7-beta1. + +2006-04-29 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Ei enää hyväksytä talonas-tyyppisiä sanoja (talona+s). + * Sanastoon voi merkitä sanat, jotka voivat olla vain + yhdyssanojen jälkiosana, esim. (kaunis)silmäinen. + * Versio 0.6. + +2006-04-24 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Siirrytty käyttämään UTF-8 -merkistöä. + * Versio 0.5. + +2006-03-24 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Tietojenkäsittelysanasto siirretty tiedostoon sanat/atk.lex. + * Versio 0.4. + +2006-03-02 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Ei enää hyväksytä automaagisesti ohjelmalistata-tyyppisiä teonsanoja. + * Versio 0.3. + +2006-03-06 Hannu Väisänen + * Sanoja lisätty ja sanaston virheitä korjattu. + * Lisätty liput malli ja tulostus. Katso tiedosto suomi.pro. + * Versio 0.4. + +2006-02-27 Hannu Väisänen + * Sanoja lisätty ja virheellisiä taivutuksia korjattu. + * Versio 0.2. + +2006-02-20 Hannu Väisänen + * Versio 0.1. + + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..61a8112 --- /dev/null +++ b/Makefile @@ -0,0 +1,312 @@ + +# Build configuration. See README for more information. +PYTHON=python +VOIKKO_BUILDDIR=voikko +VVFST_BUILDDIR=vvfst +DESTDIR=/usr/lib/voikko +GENLEX_OPTS= +EXTRA_LEX= +VOIKKO_VARIANT=standard +VOIKKO_DESCRIPTION=suomi (perussanasto) +SM_PATCHINFO= +VANHAHKOT_MUODOT=yes +VANHAT_MUODOT=no +SUKIJAN_MUODOT=no +VOIKKO_DEBUG=no + +# Include user's configuration +-include config.mak + +# Suomi-malaga version +SM_VERSION=1.19 +SM_BUILDDATE=$(shell date -R -u) + +# Optional vocabulary files (needed in the source package) +OPTIONAL_LEX=atk-lyhenteet po-oikoluku linux-distributions + +# Source files for Sukija version. +SUKIJA_SRC=sukija/generate_lex.py sukija/generoi.sh sukija/LUE.MINUT \ + sukija/Makefile sukija/malaga1.png sukija/malaga2.png \ + sukija/malaga3.png sukija/README sukija/sanat/11-19.lex \ + sukija/sanat/jokinen.lex sukija/sanat/jokinen.sh sukija/ei-sukija.txt \ + sukija/sanat/latex.lex sukija/sanat/olla-ei.lex sukija/sanat/omat.lex \ + sukija/sanat/etuliitteet.lex sukija/sanat/lyhenteet.lex sukija/sanat/atk-lyhenteet.lex \ + sukija/sukija.py sukija/suomi.all sukija/suomi.sym sukija/suomi.tex \ + sukija/suomi.inc sukija/suomi.lex sukija/suomi.mor sukija/suomi.pro + +VVFST_LEXC=vvfst/suomi.lexc vvfst/olla-ei.lexc vvfst/poikkeavat.lexc vvfst/lukusanat.lexc \ + vvfst/asemosanat.lexc vvfst/seikkasanat.lexc vvfst/suhdesanat.lexc + +# Files to ship only in the full source package +SRC_ONLY=ChangeLog CONTRIBUTORS README.fi Makefile README COPYING \ + voikko/voikko-fi_FI.pro.in common/voikkoutils.py \ + vocabulary/autocorrect/autocorrect.dtd vocabulary/autocorrect/fi.xml \ + vocabulary/joukahainen.xml vocabulary/flags.txt voikko/generate_lex.py \ + common/hfconv.py common/generate_lex_common.py \ + $(SUKIJA_SRC) $(patsubst %,vocabulary/erikoisalat/%.lex,$(OPTIONAL_LEX)) \ + vvfst/generate_lex.py vvfst/generate_taivutuskaavat.py vvfst/root.lexc \ + vvfst/taivutuskaavat.lexc.in vvfst/index.txt.in vvfst/filter_lexc.py \ + vvfst/autocorrect_to_lexc.py vvfst/autocorrect.foma.in \ + vvfst/main.foma.in $(VVFST_LEXC) vvfst/generate_sukija.py vvfst/poikkeavat-sukija.lexc + +VOIKKO_BINDIST=$(VOIKKO_BUILDDIR)/voikko-fi_FI.pro $(VOIKKO_BUILDDIR)/voikko-fi_FI.lex_? \ + $(VOIKKO_BUILDDIR)/voikko-fi_FI.mor_? $(VOIKKO_BUILDDIR)/voikko-fi_FI.sym_? + +VVFST_BINDIST=$(VVFST_BUILDDIR)/index.txt $(VVFST_BUILDDIR)/mor.vfst $(VVFST_BUILDDIR)/autocorr.vfst + +VVFST_GENERATED_LEXC_SUFFIXES=ee em ep es h l n nl t p a s c +VVFST_GENERATED_LEXC=$(patsubst %,$(VVFST_BUILDDIR)/joukahainen-%.lexc,$(VVFST_GENERATED_LEXC_SUFFIXES)) + +VVFST_TAIVUTUSKAAVAT_OPTS= +ifeq "$(VANHAT_MUODOT)" "yes" + VVFST_TAIVUTUSKAAVAT_OPTS=--vanhat +endif + +# Shared files needed in Voikko +VOIKKO_COPY_FROM_COMMON=mor.inc subrule.inc +VOIKKO_COPY_FROM_VOCABULARY=erikoissanat.lex seikkasanat.lex \ + suhdesanat.lex lukusanat.lex lyhenteet.lex yhdyssanat.lex erikoiset.lex \ + poikkeavat.lex lainen.lex taivutustaydennykset.lex +VOIKKO_COPY_FROM_VOIKKO=voikko-fi_FI.all voikko-fi_FI.sym voikko-fi_FI.mor \ + olla-ei.lex suomi.lex suomi.inc voikko-fi_FI.lex + +SUKIJA_LEX_FROM_XML=joukahainen atk laaketiede matluonnontiede kasvatustiede + +# Files to ship in the source package (duplicates are allowed) +SRCDIST=$(SRC_ONLY) $(patsubst %,common/%,$(VOIKKO_COPY_FROM_COMMON)) \ + $(patsubst %,vocabulary/%,$(VOIKKO_COPY_FROM_VOCABULARY)) \ + $(patsubst %,voikko/%,$(VOIKKO_COPY_FROM_VOIKKO)) + +VOIKKO_ACTUALLY_COPY_FROM_VOIKKO= +ifneq "$(VOIKKO_BUILDDIR)" "voikko" + VOIKKO_ACTUALLY_COPY_FROM_VOIKKO=$(VOIKKO_COPY_FROM_VOIKKO) +endif + +.PHONY: all clean update-vocabulary voikko voikko-install dist-gzip vvfst vvfst-install vvfst-sukija vvfst-sukija-install + +all: voikko + +voikko: $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_VOCABULARY)) $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_COMMON)) \ + $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_ACTUALLY_COPY_FROM_VOIKKO)) \ + $(VOIKKO_BUILDDIR)/main.lex $(VOIKKO_BUILDDIR)/voikko-fi_FI.pro $(VOIKKO_BUILDDIR)/config.inc + @malmake $(VOIKKO_BUILDDIR)/voikko-fi_FI.pro 2>&1 | grep -v "Warning: No allomorphs generated." + +$(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_VOCABULARY)): $(VOIKKO_BUILDDIR)/%: vocabulary/% + @mkdir -p $(VOIKKO_BUILDDIR) + cp $^ $@ + +$(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_COMMON)): $(VOIKKO_BUILDDIR)/%: common/% + @mkdir -p $(VOIKKO_BUILDDIR) + cp $^ $@ + +$(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_ACTUALLY_COPY_FROM_VOIKKO)): $(VOIKKO_BUILDDIR)/%: voikko/% + @mkdir -p $(VOIKKO_BUILDDIR) + cp $^ $@ + +$(VOIKKO_BUILDDIR)/joukahainen.lex: vocabulary/joukahainen.xml vocabulary/flags.txt voikko/generate_lex.py \ + common/voikkoutils.py common/hfconv.py common/generate_lex_common.py + @grep -B1 "ERROR: base form missing" vocabulary/joukahainen.xml | \ + sed -ne "s|^.*\"w\([^\"]*\)\".*|Base form missing: http://joukahainen.puimula.org/word/edit?wid=\1|p" + $(PYTHON) voikko/generate_lex.py $(GENLEX_OPTS) --destdir=$(VOIKKO_BUILDDIR) + +$(VOIKKO_BUILDDIR)/main.lex: $(VOIKKO_BUILDDIR)/joukahainen.lex $(EXTRA_LEX) + cat $^ > $@ + + +# Rule to generate voikko-fi_FI.pro + +VOIKKO_MURRE=no +ifeq "$(findstring dialect,$(GENLEX_OPTS))" "dialect" + VOIKKO_MURRE=yes +endif + +VOIKKO_PRO_SEDSCRIPT="s/VANHAHKOT_MUODOT/$(VANHAHKOT_MUODOT)/; \ + s/VANHAT_MUODOT/$(VANHAT_MUODOT)/; \ + s/VOIKKO_MURRE/$(VOIKKO_MURRE)/; \ + s/SUKIJAN_MUODOT/$(SUKIJAN_MUODOT)/; \ + s/SM_VOIKKO_VARIANT/$(VOIKKO_VARIANT)/; \ + s/SM_VOIKKO_DESCRIPTION/$(VOIKKO_DESCRIPTION)/; \ + s/SM_VERSION/$(SM_VERSION)/; \ + s/SM_PATCHINFO/$(SM_PATCHINFO)/; \ + s/SM_BUILDCONFIG/$(subst /,\\/,GENLEX_OPTS=$(GENLEX_OPTS) EXTRA_LEX=$(EXTRA_LEX))/; \ + s/SM_BUILDDATE/$(SM_BUILDDATE)/" + +$(VOIKKO_BUILDDIR)/voikko-fi_FI.pro: voikko/voikko-fi_FI.pro.in + sed -e $(VOIKKO_PRO_SEDSCRIPT) < $^ > $@ + +$(VOIKKO_BUILDDIR)/config.inc: + echo "define @voikko_debug := $(VOIKKO_DEBUG);" > $@ + +clean: + rm -f $(VOIKKO_BUILDDIR)/*_l common/voikkoutils.pyc common/hfconv.pyc + rm -f $(VOIKKO_BUILDDIR)/config.inc + rm -f common/generate_lex_common.pyc + rm -f "suomi-malaga-$(SM_VERSION).tar.gz" + rm -rf "suomi-malaga-$(SM_VERSION)" "voikko-fi-$(SM_VERSION)" + rm -f $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_VOCABULARY)) + rm -f $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_COPY_FROM_COMMON)) + rm -f $(patsubst %,$(VOIKKO_BUILDDIR)/%,$(VOIKKO_ACTUALLY_COPY_FROM_VOIKKO)) + rm -f $(VOIKKO_BUILDDIR)/joukahainen.lex $(VOIKKO_BUILDDIR)/main.lex $(VOIKKO_BUILDDIR)/voikko-fi_FI.pro + rm -rf sukija/*_l sukija/transmit sukija/sukija.pyc sukija/voikonsanat + rm -f sukija/k1 sukija/k2 sukija/foo sukija/bar + rm -f $(VVFST_BUILDDIR)/all.att $(VVFST_BUILDDIR)/all.lexc $(VVFST_BUILDDIR)/main.foma $(VVFST_BUILDDIR)/mor.vfst + rm -f $(VVFST_BUILDDIR)/autocorrect.att $(VVFST_BUILDDIR)/autocorrect.foma $(VVFST_BUILDDIR)/autocorrect.lexc + rm -f $(VVFST_BUILDDIR)/autocorr.vfst $(VVFST_BUILDDIR)/taivutuskaavat.lexc $(VVFST_BUILDDIR)/index.txt + rm -f $(VVFST_GENERATED_LEXC) $(VVFST_BUILDDIR)/joukahainen.lexc.stamp + rm -f TAGS + rm -f $(VVFST_BUILDDIR)/all-sukija.att $(VVFST_BUILDDIR)/all-sukija.lexc $(VVFST_BUILDDIR)/main-sukija.foma* + rm -f $(VVFST_BUILDDIR)/generate_sukija.py.stamp $(VVFST_BUILDDIR)/sukija.fst $(VVFST_BUILDDIR)/test.out + rm -f $(VVFST_BUILDDIR)/mor-sukija.vfst + +# Rules for creating the source distribution + +dist-gzip: suomi-malaga-$(SM_VERSION).tar.gz + +suomi-malaga-$(SM_VERSION).tar.gz: $(patsubst %,suomi-malaga-$(SM_VERSION)/%, $(sort $(SRCDIST))) + tar c --group 0 --owner 0 suomi-malaga-$(SM_VERSION) | gzip -9 > $@ + +dist-bzip2: suomi-malaga-$(SM_VERSION).tar.bz2 + +suomi-malaga-$(SM_VERSION).tar.bz2: $(patsubst %,suomi-malaga-$(SM_VERSION)/%, $(sort $(SRCDIST))) + tar c --group 0 --owner 0 suomi-malaga-$(SM_VERSION) | bzip2 -9 > $@ + +$(patsubst %,suomi-malaga-$(SM_VERSION)/%, $(sort $(SRCDIST))): suomi-malaga-$(SM_VERSION)/%: % + install -m 644 -D $^ $@ + +voikko-install: voikko + install -m 755 -d $(DESTDIR)/2/mor-$(VOIKKO_VARIANT) + install -m 644 $(VOIKKO_BINDIST) $(DESTDIR)/2/mor-$(VOIKKO_VARIANT) + +# Vocabulary update +update-vocabulary: + wget http://joukahainen.puimula.org/sanastot/joukahainen.xml.gz -O - \ + | gunzip > vocabulary/joukahainen.xml + + +SUKIJA_COPY_FROM_VOCABULARY=\ +erikoisalat/linux-distributions.lex \ +erikoiset.lex \ +erikoissanat.lex \ +lainen.lex \ +lukusanat.lex \ +poikkeavat.lex \ +seikkasanat.lex \ +suhdesanat.lex \ +taivutustaydennykset.lex \ +yhdyssanat.lex + +sukija: $(patsubst %,sukija/voikonsanat/%,$(SUKIJA_COPY_FROM_VOCABULARY)) \ + $(patsubst %,sukija/voikonsanat/%.lex,$(SUKIJA_LEX_FROM_XML)) + @malmake sukija/suomi.pro 2>&1 | grep -v "Warning: No allomorphs generated." + +$(patsubst %,sukija/voikonsanat/%,$(SUKIJA_COPY_FROM_VOCABULARY)): sukija/voikonsanat/%: vocabulary/% + @mkdir -p sukija/voikonsanat/erikoisalat + cp $^ $@ + +$(patsubst %,sukija/voikonsanat/%.lex,$(SUKIJA_LEX_FROM_XML)): vocabulary/joukahainen.xml vocabulary/flags.txt \ + common/voikkoutils.py common/hfconv.py common/generate_lex_common.py $(SUKIJA_SRC) + @grep -B1 "ERROR: base form missing" vocabulary/joukahainen.xml | \ + sed -ne "s|^.*\"w\([^\"]*\)\".*|Base form missing: http://joukahainen.puimula.org/word/edit?wid=\1|p" + $(PYTHON) sukija/generate_lex.py + -@grep "Malaga class not found" sukija/voikonsanat/joukahainen.lex + + + +vvfst: $(VVFST_BUILDDIR)/mor.vfst $(VVFST_BUILDDIR)/autocorr.vfst $(VVFST_BUILDDIR)/index.txt + +$(VVFST_BUILDDIR)/joukahainen.lexc.stamp: vocabulary/joukahainen.xml vocabulary/flags.txt vvfst/generate_lex.py \ + common/voikkoutils.py common/hfconv.py common/generate_lex_common.py + @grep -B1 "ERROR: base form missing" vocabulary/joukahainen.xml | \ + sed -ne "s|^.*\"w\([^\"]*\)\".*|Base form missing: http://joukahainen.puimula.org/word/edit?wid=\1|p" + $(PYTHON) vvfst/generate_lex.py $(GENLEX_OPTS) --destdir=$(VVFST_BUILDDIR) + touch $@ + +$(VVFST_BUILDDIR)/taivutuskaavat.lexc: vvfst/taivutuskaavat.lexc.in vvfst/generate_taivutuskaavat.py + $(PYTHON) vvfst/generate_taivutuskaavat.py $(GENLEX_OPTS) $(VVFST_TAIVUTUSKAAVAT_OPTS) --destdir=$(VVFST_BUILDDIR) + +$(VVFST_BUILDDIR)/all.lexc: vvfst/filter_lexc.py vvfst/root.lexc $(VVFST_BUILDDIR)/taivutuskaavat.lexc $(VVFST_BUILDDIR)/joukahainen.lexc.stamp $(VVFST_LEXC) + $(PYTHON) vvfst/filter_lexc.py $(GENLEX_OPTS) $(VVFST_TAIVUTUSKAAVAT_OPTS) vvfst/root.lexc $(VVFST_BUILDDIR)/taivutuskaavat.lexc $(VVFST_GENERATED_LEXC) $(VVFST_LEXC) > $@ + +$(VVFST_BUILDDIR)/autocorrect.lexc: vocabulary/autocorrect/fi.xml vvfst/autocorrect_to_lexc.py + $(PYTHON) vvfst/autocorrect_to_lexc.py vocabulary/autocorrect/fi.xml $@ + +$(VVFST_BUILDDIR)/main.foma: vvfst/main.foma.in + sed -e "s,VVFST_BUILDDIR,$(VVFST_BUILDDIR)," < $^ > $@ + +$(VVFST_BUILDDIR)/autocorrect.foma: vvfst/autocorrect.foma.in + sed -e "s,VVFST_BUILDDIR,$(VVFST_BUILDDIR)," < $^ > $@ + +$(VVFST_BUILDDIR)/all.att: $(VVFST_BUILDDIR)/all.lexc $(VVFST_BUILDDIR)/main.foma + foma -f $(VVFST_BUILDDIR)/main.foma | grep -v "defined but not used" 2>&1 + +$(VVFST_BUILDDIR)/autocorrect.att: $(VVFST_BUILDDIR)/autocorrect.lexc $(VVFST_BUILDDIR)/autocorrect.foma + foma -f $(VVFST_BUILDDIR)/autocorrect.foma | grep -v "defined but not used" 2>&1 + +$(VVFST_BUILDDIR)/mor.vfst: $(VVFST_BUILDDIR)/all.att + cat $^ | sort -n | voikkovfstc -o $@ + +$(VVFST_BUILDDIR)/autocorr.vfst: $(VVFST_BUILDDIR)/autocorrect.att + cat $^ | sort -n | voikkovfstc -o $@ + +VVFST_PRO_SEDSCRIPT="s/SM_VOIKKO_VARIANT/$(VOIKKO_VARIANT)/; \ + s/SM_VOIKKO_DESCRIPTION/$(VOIKKO_DESCRIPTION)/; \ + s/SM_VERSION/$(SM_VERSION)/; \ + s/SM_PATCHINFO/$(SM_PATCHINFO)/; \ + s/SM_BUILDCONFIG/$(subst /,\\/,GENLEX_OPTS=$(GENLEX_OPTS) EXTRA_LEX=$(EXTRA_LEX))/; \ + s/SM_BUILDDATE/$(SM_BUILDDATE)/" + +$(VVFST_BUILDDIR)/index.txt: vvfst/index.txt.in + sed -e $(VVFST_PRO_SEDSCRIPT) < $^ > $@ + + +vvfst-install: vvfst + install -m 755 -d $(DESTDIR)/5/mor-$(VOIKKO_VARIANT) + install -m 644 $(VVFST_BINDIST) $(DESTDIR)/5/mor-$(VOIKKO_VARIANT) + + +TAGS: $(patsubst %,vocabulary/%,$(VOIKKO_COPY_FROM_VOCABULARY)) \ + $(patsubst %,vocabulary/erikoisalat/%.lex,$(OPTIONAL_LEX)) + etags --lang=none --output=$@ \ + --regex='/[ \t]*\[.*\&1 + +$(VVFST_BUILDDIR)/main-sukija.foma: $(VVFST_BUILDDIR)/main.foma + sed -e 's,/all,/all-sukija,' < $^ > $@ + +$(VVFST_BUILDDIR)/mor-sukija.vfst: $(VVFST_BUILDDIR)/all-sukija.att + cat $^ | sort -n | voikkovfstc -o $@ + cp $@ $(VVFST_BUILDDIR)/mor.vfst + +$(VVFST_BUILDDIR)/generate_sukija.py.stamp: $(VVFST_BUILDDIR)/generate_sukija.py + touch $@ + +vvfst-sukija-install: vvfst-sukija + install -m 755 -d $(DESTDIR)/5/mor-$(VOIKKO_VARIANT) + install -m 644 $(VVFST_BINDIST) $(DESTDIR)/5/mor-$(VOIKKO_VARIANT) diff --git a/README b/README new file mode 100644 index 0000000..794b2ab --- /dev/null +++ b/README @@ -0,0 +1,128 @@ +Suomi-malaga - Voikko edition +============================= + +General information +------------------- + +Suomi-malaga is a description of Finnish morphology written in Malaga +(http://home.arcor.de/bjoern-beutel/malaga/). You should use malaga +version 7.8 or later. + +Currently Suomi-malaga is used in two different applications: text +indexer Sukija and spellchecker/hyphenator Voikko. Version 1.0 and +later will work with both applications. This release creates +Voikko morphology with version 2 dictionary format. + +All of the documentation about Finnish morphology is in Finnish (see +README.fi and subdirectory doc). This README contains only build +and usage instructions for distribution packagers. + + +Build and installation +---------------------- + +Building Suomi-malaga for from this package requires malaga, python +and make. No configuration is required: to build the code for Voikko, +you only need to run + make voikko +Installation can be done by running + make voikko-install DESTDIR=/usr/lib/voikko +(Replace /usr/lib/voikko with the directory you want to install the +files to. Installing to ~/.voikko will cause libvoikko to use this +version of Suomi-malaga only for the user who does the installation.) +Building the code for Sukija can be done by running + make sukija + +Supported Make targets +---------------------- + +- sukija + Builds the binary files needed by text indexer Sukija. +- voikko + Builds the binary files needed by libvoikko. +- voikko-sukija + Builds the binary files needed by libvoikko with a big + dictionary that can be used by Sukija. +- voikko-install DESTDIR=/usr/lib/voikko + Installs the binary files needed by libvoikko to the directory + specified by DESTDIR. DESTDIR is optional and defaults to + /usr/lib/voikko +- dist-gzip + Builds the full source package. +- clean + Removes all files generated by other targets. +- update-vocabulary + Updates the XML vocabulary from the nightly snapshot at + joukahainen.puimula.org. This target requires wget to + be available. +- TAGS + Builds an Emacs tag table file from the vocabulary database. + + +Variables for tuning the build process +-------------------------------------- + +- make voikko: + * VOIKKO_BUILDDIR=path/to/directory + Specifies the directory where build files are written to while building + for Voikko. + Default: voikko (build within source directory) + * GENLEX_OPTS="--option1=xxx --option2=yyy ..." + Sets options string for generate_lex.py. + Available options for generate_lex.py are + + --min-frequency=n + Limits the words to be included in the .lex files to the + specified or higher frequency class. Default is 9. + + --extra-usage=usage1,usage2,... + If a word has usage flags (it belongs to a special vocabulary), it is + included in the vocabulary only if at least one of the usage flags is + listed here. Available usage flags are listed in file + vocabulary/flags.txt. + Listing "sukija" here causes application specific exclusions to be ignored + (words marked with not_voikko will also be included). + By default, no special vocabularies are included. + + --style=style1,style2,... + If a word has style flags (such as old, foreign or dialect), it is + included in the vocabulary only if all of the style flags are listed + here. Available style flags are listed in file vocabulary/flags.txt. + Default: old,international,inappropriate + + --sourceid + Insert word identifiers from Joukahainen to lexicon and return them + during morphological analysis. This option has no effect unless + VOIKKO_DEBUG=yes is set. By default source ids are not preserved. + * EXTRA_LEX="path/to/file1.lex path/to/file2.lex ..." + Adds extra malaga lexicon files to the vocabulary. By default, no extra + lexicons are added. + * VANHAHKOT_MUODOT=yes|no + See voikko/doc/liput.txt. Default: yes + * VANHAT_MUODOT=yes|no + See voikko/doc/liput.txt. Default: no + * SUKIJAN_MUODOT=yes|no + Include words that exist just for Sukija. Default: no + * VOIKKO_DEBUG=yes|no + Include information that is not needed by libvoikko but may be needed + for debugging or by external applications (full morphological analysis). + Default: no + * VOIKKO_VARIANT=variant + Set the short name for the language variant of this vocabulary. The + name should match the regular expression [a-z][a-z0-9_]* + Default: standard + * VOIKKO_DESCRIPTION="Description of the vocabulary" + Set the long description for the language variant of this vocabulary. + * SM_PATCHINFO="Information about applied patches" + If you have modified the source code or are distributing prerelease + versions, describe any modifications made to the released version here. + It may be best to change this directly in the Makefile. + + +Copyright and license information +--------------------------------- + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. See file COPYING for details. + +Copyright (©) 2006 - 2015 Hannu Väisänen (Email: Hannu.Vaisanen@uef.fi) +and 2006 - 2015 Harri Pitkänen (hatapitk@iki.fi). Contributors listed +in file CONTRIBUTORS hold copyrights to the vocabulary data. diff --git a/README.fi b/README.fi new file mode 100644 index 0000000..a01400e --- /dev/null +++ b/README.fi @@ -0,0 +1,65 @@ +Suomi-malaga on malagalla (http://home.arcor.de/bjoern-beutel/malaga/) +tehty suomen kielen muoto-opin kuvaus. Tarvitset malagasta vähintään +version 7.8. + +Ohjelman merkistökoodaus on UTF-8 eli myös lokaalin pitää tukea +UTF-8:aa. Fedora Coressa käy fi_FI.utf8 + +Tämä versio toimii sekä Sukija-indeksointiohjelmassa että +Voikko-oikolukijassa. + + +KÄÄNTÄMINEN + +Sukija-versio tiedostojen indeksointiin + +$ make sukija + +Voikko-versio oikolukuun + +$ make voikko + + +ANALYYSI + +$ echo alusta | malaga -m sukija/suomi.pro +1: "alusta": "alusta" +1: "alusta": "alustaa" +1: "alusta": "alku" +1: "alusta": "alunen" +1: "alusta": "alus" +Analysed wordforms: 1 +Recognised: 1 (100.00%) +Recognised by combi rules: 1 (100.00%) +Results per wordform: 5 + + +LISENSSI + +Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää edelleen ja +muuttaa GNU yleisen lisenssin (GPL lisenssin) ehtojen mukaan +sellaisina kuin Free Software Foundation on ne julkaissut; joko +Lisenssin version 2, tai (valinnan mukaan) minkä tahansa myöhemmän +version mukaisesti. Tarkat lisenssiehdot löytyvät tiedostosta +COPYING. + +Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen, +mutta ilman mitään takuuta; ilman edes hiljaista takuuta kaupallisesti +hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen. +Katso GPL lisenssistä lisää yksityiskohtia. + +Tämän ohjelman mukana pitäisi tulla kopio GPL lisenssistä; jos näin ei +ole, kirjoita osoitteeseen Free Software Foundation Inc., 51 Franklin Street, +Fifth Floor, Boston, MA 02110-1301, USA. + +Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +muihin moduuleihin on ohjelmaan perustuvan teoksen +tekemistä, joka on siis GPL lisenssin ehtojen alainen. + +GPL-lisenssin epävirallinen suomennos löytyy osoitteesta +http://www.turre.com/licenses/gpl-2.0_fi.html, mutta vain alkuperäinen +englanninkielinen versio on oikeudellisesti sitova. + +Tekijänoikeus © 2006 - 2015 Hannu Väisänen (Hannu.Vaisanen@uef.fi) ja +2006 - 2015 Harri Pitkänen (hatapitk@iki.fi). Sanastoon +tekijänoikeuksia on tiedostossa CONTRIBUTORS mainituilla henkilöillä. diff --git a/common/generate_lex_common.py b/common/generate_lex_common.py new file mode 100644 index 0000000..a6a9533 --- /dev/null +++ b/common/generate_lex_common.py @@ -0,0 +1,265 @@ +# -*- coding: utf-8 -*- + +# Copyright 2007 - 2011 Harri Pitkänen (hatapitk@iki.fi) +# 2007 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Functions and variables that are common to Sukija and Voikko versions. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import hfconv +import voikkoutils +import codecs +import getopt +import sys +from xml.dom import Node + +# Path to source data directory +VOCABULARY_DATA = u"vocabulary" + +# Vocabulary entries that should be saved to different files +# (group, name, file) +SPECIAL_VOCABULARY = [ + ('usage', 'it', 'atk.lex'), + ('usage', 'medicine', 'laaketiede.lex'), + ('usage', 'science', 'matluonnontiede.lex'), + ('usage', 'education', 'kasvatustiede.lex'), + ('style', 'foreign', 'vieraskieliset.lex')] + +def open_lex(path, filename): + file = codecs.open(path + u"/" + filename, 'w', 'UTF-8') + file.write(u"# This is automatically generated intermediate lexicon file for\n") + file.write(u"# Suomi-malaga Voikko edition. The original source data is\n") + file.write(u"# distributed under the GNU General Public License, version 2 or\n") + file.write(u"# later, as published by the Free Software Foundation. You should\n") + file.write(u"# have received the original data, tools and instructions to\n") + file.write(u"# generate this file (or instructions to obtain them) wherever\n") + file.write(u"# you got this file from.\n\n") + return file + +def tValue(element): + return element.firstChild.wholeText + +# Returns a list of text values with given element name under DOM element "group" +def tValues(group, element_name): + values = [] + for element in group.getElementsByTagName(element_name): + values.append(tValue(element)) + return values + +# Returns malaga word class for given word in Joukahainen +def get_malaga_word_class(j_wordclasses): + if "pnoun_place" in j_wordclasses: return u"paikannimi" + if "pnoun_firstname" in j_wordclasses: return u"etunimi" + if "pnoun_lastname" in j_wordclasses: return u"sukunimi" + if "pnoun_misc" in j_wordclasses: return u"nimi" + if "verb" in j_wordclasses: return u"teonsana" + if "adjective" in j_wordclasses and "noun" in j_wordclasses: return u"nimi_laatusana" + if "adjective" in j_wordclasses: return u"laatusana" + if "noun" in j_wordclasses: return u"nimisana" + if "interjection" in j_wordclasses: return u"huudahdussana" + if "prefix" in j_wordclasses: return u"etuliite" + if "abbreviation" in j_wordclasses: return u"lyhenne" + if "adverb" in j_wordclasses: return "seikkasana" + if "conjunction" in j_wordclasses: return "sidesana" + return None + +# Returns flag names from given group for word in Joukahainen +def get_flags_from_group(word, groupName): + flags = [] + for group in word.childNodes: + if group.nodeType != Node.ELEMENT_NODE or group.tagName != groupName: + continue + for flag in group.childNodes: + if flag.nodeType != Node.ELEMENT_NODE: + continue + if flag.tagName != "flag": + continue + flags.append(flag.firstChild.wholeText) + return flags + +# Returns malaga flags for given word in Joukahainen +def get_malaga_flags(word): + global flag_attributes + malagaFlags = [] + for group in word.childNodes: + if group.nodeType != Node.ELEMENT_NODE: + continue + for flag in group.childNodes: + if flag.nodeType != Node.ELEMENT_NODE: + continue + if flag.tagName != "flag": + continue + flagAttribute = flag_attributes[group.tagName + u"/" + tValue(flag)] + if flagAttribute.malagaFlag != None: + malagaFlags.append(flagAttribute.malagaFlag) + if len(malagaFlags) == 0: return u"" + flag_string = u", tiedot: <" + for flag in malagaFlags: + flag_string = flag_string + flag + u"," + flag_string = flag_string[:-1] + u">" + return flag_string + +flag_attributes = voikkoutils.readFlagAttributes(VOCABULARY_DATA + u"/flags.txt") + +def vowel_type(group): + vtypes = group.getElementsByTagName("vtype") + if len(vtypes) != 1: return voikkoutils.VOWEL_DEFAULT + else: + vtypes = tValue(vtypes[0]) + if vtypes == u'a': return voikkoutils.VOWEL_BACK + elif vtypes == u'ä': return voikkoutils.VOWEL_FRONT + else: return voikkoutils.VOWEL_BOTH + +def has_flag(word, flag): + if flag in tValues(word, "flag"): return True + return False + +# Returns tuple (alku, jatko) for given word in Joukahainen +def get_malaga_inflection_class(wordform, j_infclass, j_wordclasses, j_classmap): + if j_infclass is None: + return (wordform, u"loppu") + (infclass, gradclass) = (list(j_infclass.split(u'-')) + [None])[:2] + + if gradclass == None: gradtypes = [None] + else: gradtypes = [grad[1] for grad in hfconv.grads if grad[2] == gradclass] + + # Determine the word class for the given word + if "adjective" in j_wordclasses: wclass = hfconv.ADJ + elif "noun" in j_wordclasses or "pnoun_firstname" in j_wordclasses or \ + "pnoun_lastname" in j_wordclasses or "pnoun_place" in j_wordclasses or \ + "pnoun_misc" in j_wordclasses: wclass = hfconv.SUBST + elif "verb" in j_wordclasses: wclass = hfconv.VERB + else: return (None, None) + + for (m_infclass, m_infclass_gradation, m_smclasses) in j_classmap: + if m_infclass != infclass: continue + for m_smclass in m_smclasses: + (m_gradtype, pattern, jatko, wclasses) = (list(m_smclass) + [None])[:4] + if wclasses != None and not wclass in wclasses: continue + if not m_gradtype in gradtypes: continue + alku = hfconv.match_re(wordform, pattern) + if alku != None: return (alku, jatko) + + return (None, None) + + +# Returns a string describing the structure of a word, if necessary for the spellchecker +# or hyphenator +def get_structure(wordform, malaga_word_class): + needstructure = False + if malaga_word_class in [u'nimi', u'etunimi', u'sukunimi', 'paikannimi']: ispropernoun = True + else: ispropernoun = False + if malaga_word_class == u'lyhenne': + i = u"j" + p = u"q" + else: + i = u"i" + p = u"p" + structstr = u', rakenne: "=' + for idx in range(len(wordform)): + c = wordform[idx] + if c == u'-': + structstr = structstr + u"-=" + needstructure = True + elif c == u'|': structstr = structstr + elif c == u'=': + structstr = structstr + u"=" + needstructure = True + elif c == u':': + structstr = structstr + u":" + needstructure = True + elif c.isupper(): + structstr = structstr + i + if not (ispropernoun and idx == 0): + needstructure = True + else: + structstr = structstr + p + if ispropernoun and idx == 0: + needstructure = True + if needstructure: return structstr + u'"' + else: return u"" + +# Writes the vocabulary entry to a suitable file +def write_entry(main_vocabulary,vocabulary_files,word, entry): + special = False + for voc in SPECIAL_VOCABULARY: + group = word.getElementsByTagName(voc[0]) + if len(group) == 0: continue + if has_flag(group[0], voc[1]): + vocabulary_files[voc[2]].write(entry + u"\n") + special = True + if not special: + main_vocabulary.write(entry + u"\n") + +# Parse command line options and return them in a dictionary +def get_options(): + try: + optlist = ["min-frequency=", "extra-usage=", "style=", "destdir=", "sourceid", "vanhat", "sukija", "sukija-ys"] + (opts, args) = getopt.getopt(sys.argv[1:], "", optlist) + except getopt.GetoptError: + sys.stderr.write("Invalid option list for %s\n" % sys.argv[0]) + sys.exit(1) + options = {"frequency": 9, + "extra-usage": [], + "style": ["old", "international", "inappropriate"], + "sourceid": False, + "vanhat": False, + "destdir": None, + "sukija": False, + "sukija-ys": False} + for (name, value) in opts: + if name == "--min-frequency": + options["frequency"] = int(value) + elif name == "--extra-usage": + options["extra-usage"] = value.split(",") + elif name == "--style": + options["style"] = value.split(",") + elif name == "--destdir": + options["destdir"] = value + elif name == "--sourceid": + options["sourceid"] = True + elif name == "--vanhat": + options["vanhat"] = True + elif name == "--sukija": + options["sukija"] = True + elif name == "--sukija-ys": + options["sukija-ys"] = True + return options + +# Strip whitespace and comments from LEXC input file +def stripWhitespaceAndComments(line): + if u"!" in line: + line = line[0:line.find(u"!")] + return line.strip() + +# Filter LEXC input according to options +def filterVfstInput(line_orig, OPTIONS): + if line_orig.startswith(u'?Sukija'): + if OPTIONS["sukija"]: + line_orig = line_orig[7:] + else: + return None + if line_orig.startswith(u'?Murre'): + if "dialect" in OPTIONS["style"] or OPTIONS["sukija"]: + line_orig = line_orig[6:] + else: + return None + if line_orig.startswith(u'?Vanha'): + if OPTIONS["vanhat"] or OPTIONS["sukija"]: + line_orig = line_orig[6:] + else: + return None + return stripWhitespaceAndComments(line_orig) diff --git a/common/hfconv.py b/common/hfconv.py new file mode 100644 index 0000000..de25e2c --- /dev/null +++ b/common/hfconv.py @@ -0,0 +1,516 @@ +# -*- coding: utf-8 -*- + +# Copyright 2005 - 2007 Harri Pitkänen (hatapitk@iki.fi) +# Functions and data for Joukahainen -> Suomi-malaga converter + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +# Hannu Väisänen has added some inflection types. + +import re + +grads = [ (u'sw', u'tt', u'av1'), + (u'sw', u'pp', u'av1'), + (u'sw', u'kk', u'av1'), + (u'sw', u'mp', u'av1'), + (u'sw', u'p', u'av1'), + (u'sw', u'nt', u'av1'), + (u'sw', u'lt', u'av1'), + (u'sw', u'rt', u'av1'), + (u'sw', u't', u'av1'), + (u'sw', u'nk', u'av1'), + (u'sw', u'uku', u'av1'), + (u'sw', u'yky', u'av1'), + (u'ws', u'b', u'av2'), + (u'ws', u'g', u'av2'), + (u'ws', u't', u'av2'), + (u'ws', u'p', u'av2'), + (u'ws', u'k', u'av2'), + (u'ws', u'mm', u'av2'), + (u'ws', u'v', u'av2'), + (u'ws', u'nn', u'av2'), + (u'ws', u'll', u'av2'), + (u'ws', u'rr', u'av2'), + (u'ws', u'd', u'av2'), + (u'ws', u'ng', u'av2'), + (u'sw', u'k>j', u'av3'), + (u'ws', u'j>k', u'av4'), + (u'sw', u'k>', u'av5'), + (u'ws', u'>k', u'av6') ] + +# Joukahainen word classes +SUBST = 1 +ADJ = 2 +VERB = 3 + +modern_classmap = [(u'valo', u'sw', [(None,u'(.*)',u'valo'), + (u'k>',u'(ko)ko',u'koko'), + (u'k>',u'(.*uo)ko',u'ruoko'), + (u'kk',u'(.*k)kU',u'alku'), + (u'uku',u'(.*U)kU',u'luku'), + (u'k>',u'(..U)kU',u'tiuku'), + (u'k>',u'(.*)kU',u'alku'), + (u'lt',u'(.*l)tO',u'aalto'), + (u'nt',u'(.*n)tO',u'anto'), + (u'nt',u'(.*n)tU',u'lintu'), + (u'nk',u'(.*n)kO',u'hanko'), + (u'tt',u'(.*t)tU',u'hattu'), + (u'tt',u'(.*t)tO',u'liitto'), + (u'nk',u'(.*n)kU',u'hinku'), + (u'pp',u'(.*p)pU',u'hoppu'), + (u'rt',u'(.*r)tO',u'kaarto'), + (u'pp',u'(.*p)pO',u'kippo'), + (u'mp',u'(.*m)pO',u'sampo'), + (u'mp',u'(.*m)pU',u'kumpu'), + (u't',u'(.*)tU',u'laatu'), + (u'p',u'(.*)pU',u'apu'), + (u'p',u'(.*)pO',u'lepo'), + (u't',u'(.*)tO',u'leuto'), + (u'kk',u'(.*k)kO',u'verkko'), + (u'k>',u'(.*h)kO',u'vihko'), + (u'k>',u'(.*)kO',u'verkko') ]), + (u'arvelu', u'sw', [(None,u'(.*Ce[lr])O',u'hontelo',[ADJ]), + (None,u'(.*)',u'arvelu'), + (u'nk',u'(.*n)kO',u'alanko'), + (u'nt',u'(.*n)tO',u'avanto'), + (u'kk',u'(.*k)kO',u'laatikko'), + (u'tt',u'(.*t)tO',u'pihatto'), + (u'tt',u'(.*t)tU',u'raamattu') ]), + (u'autio', u'-', [(None,u'(.*)',u'autio')]), + (u'kiiski', u'-', [(None,u'(.*)i',u'kiiski')]), + (u'siisti', u'-', [(None,u'(.*)i',u'siisti')]), + (u'risti', u'sw', [(None,u'(.*)i',u'risti'), + (u'pp',u'(pop)pi',u'pop'), + (u'pp',u'(.*p)pi',u'keppi'), + (u'lt',u'(.*l)ti',u'pelti'), + (u'nk',u'(.*n)ki',u'renki'), + (u'kk',u'(punk)ki',u'punk'), + (u'kk',u'(.*k)ki',u'takki'), + (u'tt',u'(.*t)ti',u'tatti'), + (u'nt',u'(.*n)ti',u'tunti'), + (u'p',u'(.*)pi',u'hupi'), + (u't',u'(.*)ti',u'vati'), + (u'k>',u'(.*)ki',u'takki')]), + (u'paperi', u'sw', [(None,u'(.*)i',u'paperi'), + (u'nt',u'(.*n)ti',u'hollanti'), + (u'nk',u'(.*n)ki',u'killinki'), + (u'kk',u'(.*k)ki',u'kajakki'), + (u'tt',u'(.*t)ti',u'salaatti'), + (u'pp',u'(.*p)pi',u'sinappi'), + (u't',u'(.*)ti',u'konvehti') ]), + (u'edam', u'-', [(None,u'(.*C)',u'edam')]), + (u'kalsium', u'-', [(None,u'(.*)i',u'fan'), + (None,u'(.*)',u'kalsium')]), + (u'lovi', u'sw', [(None,u'(.*)i',u'lovi'), + (u'nk',u'(.*n)ki',u'hanki'), + (u'pp',u'(.*p)pi',u'happi'), + (u'mp',u'(.*lam)pi',u'lampi'), + (u'mp',u'(.*m)pi',u'sampi'), + (u'kk',u'(.*k)ki',u'kaikki'), + (u'k>j',u'(.*)ki',u'kylki'), + (u't',u'(.*lah)ti',u'lahti'), + (u't',u'(.*h)ti',u'lehti'), + (u'p',u'(.*)pi',u'siipi'), + (u'k>',u'(.*i)ki',u'piki'), + (u'k>',u'(.*)ki',u'kaikki')]), + (u'toholampi', u'-', [(None,u'(.*lam)pi',u'toholampi')]), + (u'suksi', u'-', [(None,u'(.*u)ksi',u'suksi')]), + (u'veli', u'-', [(None,u'(.*el)i',u'veli')]), + (u'nalle', u'sw', [(None,u'(.*Ce)',u'nalle'), + (None,u'(.*Cé)',u'nalle'), + (None,u'(.*[iu]e)',u'nalle'), + (u'tt',u'(.*t)te',u'atte'), + (u'kk',u'(.*k)ke',u'nukke')]), + (u'kala', u'sw', [(None,u'(.*)A',u'kala'), + (u'tt',u'(.*t)tA',u'aitta'), + (u'nk',u'(.*n)kA',u'hanka'), + (u'mp',u'(.*m)pA',u'kampa'), + (u'nt',u'(.*n)tA',u'kanta'), + (u'pp',u'(.*p)pA',u'kappa'), + (u'rt',u'(.*r)tA',u'parta'), + (u'lt',u'(.*l)tA',u'valta'), + (u'kk',u'(.*k)kA',u'haka'), + (u'p',u'(.*)pA',u'napa'), + (u't',u'(.*)tA',u'pata'), + (u'k>j',u'(.*A)ikA',u'aika'), + (u'k>',u'(.*AA)kA',u'raaka'), + (u'k>',u'(.*V)kA',u'liika'), + (u'k>',u'(.*C)kA',u'haka')]), + (u'nahka', u'-', [(None,u'(.*)kA',u'nahka')]), + (u'jumala', u'-', [(None,u'(.*l)A',u'jumala')]), + (u'koira', u'sw', [(None,u'(.*)A',u'koira'), + (u'tt',u'(.*t)tA',u'kenttä'), + (u'nk',u'(.*n)kA',u'honka'), + (u'mp',u'(.*m)pA',u'kompa'), + (u'nt',u'(.*n)tA',u'suunta'), + (u'pp',u'(.*p)pA',u'tolppa'), + (u'rt',u'(.*r)tA',u'turta'), + (u'lt',u'(.*l)tA',u'kulta'), + (u'kk',u'(.*k)kA',u'hoikka'), + (u'p',u'(.*)pA',u'huopa'), + (u't',u'(.*)tA',u'juhta'), + (u'k>',u'(.*i)kA',u'ikä'), + (u'k>',u'(.*)kA',u'hoikka')]), + (u'ylkä', u'-', [(None,u'(.*l)kA',u'ylkä')]), + (u'pitkä', u'-', [(None,u'(.*pi)tkA',u'pitkä')]), + (u'ruoka', u'-', [(None,u'(.*ru)oka',u'ruoka')]), + (u'poika', u'-', [(None,u'(.*po)ikA',u'poika')]), + (u'matala', u'-', [(None,u'(.*C)A',u'matala')]), + (u'asema', u'sw', [(None,u'(.*)A',u'asema'), + (u'tt',u'(.*t)tA',u'opotta'), + (u'nt',u'(.*n)tA',u'emäntä')]), + (u'kulkija', u'-', [(None,u'(.*i)jA',u'kulkija'), + (None,u'(.*)A',u'apila')]), + (u'video', u'-', [(None,u'(.*deO)',u'video')]), + (u'karahka', u'sw', [(None,u'(.*)A',u'karahka'), + (u'tt',u'(.*t)tA',u'savotta'), + (u'pp',u'(.*p)pA',u'ulappa'), + (u'kk',u'(.*k)kA',u'solakka'), + (u'nt',u'(.*n)tA',u'veranta')]), + (u'apaja', u'-', [(None,u'(.*C)A',u'apaja')]), + (u'peruna', u'-', [(None,u'(.*C)A',u'peruna')]), + (u'korkea', u'-', [(None,u'(.*C)eA',u'korkea'), + (None,u'(.*O)A',u'ainoa')]), + (u'suurempi', u'sw', [(u'mp',u'(.*V)mpi',u'suurempi')]), + (u'vapaa', u'-', [(None,u'(.*CA)A',u'vapaa'), + (None,u'(.*CO)O',u'tienoo'), + (None,u'(.*CU)U',u'leikkuu')]), + (u'kamee', u'-', [(None,u'(.*Ce)e',u'kamee'), + (None,u'(.*CA)A',u'nugaa'), + (None,u'(.*CO)O',u'trikoo'), + (None,u'(.*CU)U',u'revyy')]), + (u'pii', u'-', [(None,u'(.*V)i',u'pii'), + (None,u'(.*A)A',u'maa'), + (None,u'(.*Ce)e',u'tee'), + (None,u'(.*U)U',u'puu')]), + (u'suo', u'-', [(None,u'(.*C)UO',u'suo')]), + (u'askel', u'ws', [(None,u'(.*VC)',u'askel'), + (u'nn',u'(.*n)nel',u'kannel'), + (u'nn',u'(.*n)ner',u'kinner'), + (u'nn',u'(.*n)nAr',u'piennar'), + (u'mm',u'(.*m)mel',u'ommel'), + (u'ng',u'(.*n)ger',u'penger'), + (u'd',u'(.*)dAr',u'udar'), + (u'v',u'(.*)vAl',u'taival'), + (u'>k',u'(.*)en',u'säen')]), + (u'rosé', u'-', [(None,u'(.*V)',u'rosé')]), + (u'spray', u'-', [(None,u'(.*[ao]y)',u'spray')]), + (u'parfait', u'-', [(None,u'(.*)',u'parfait')]), + (u'huuli', u'-', [(None,u'(.*C)i',u'tuohi')]), + (u'meri', u'-', [(None,u'(.*er)i',u'meri')]), + (u'tuohi', u'-', [(None,u'(.*C)i',u'lohi')]), + (u'niemi', u'-', [(None,u'(.*V)mi',u'niemi')]), + (u'pieni', u'-', [(None,u'(.*n)i',u'pieni')]), + (u'lumi', u'-', [(None,u'(.*V)mi',u'lumi')]), + (u'susi', u'-', [(None,u'(.*V)si',u'susi')]), + (u'tosi', u'-', [(None,u'(.*V)si',u'tosi')]), + (u'kansi', u'-', [(None,u'(.*n)si',u'kansi'), + (None,u'(.*r)si',u'hirsi'), + (None,u'(.*l)si',u'jälsi')]), + (u'sisar', u'ws', [(None,u'(.*CVC)',u'sisar'), + (u't',u'(.*t)Ar',u'tytär'), + (u'>k',u'(.*i)en',u'ien')]), + (u'hapan', u'-', [(None,u'(.*p)An',u'hapan')]), + (u'uistin', u'ws', [(None,u'(.*[iaä])n',u'uistin'), + (u'nn',u'(.*n)nin',u'vaimennin'), + (u'll',u'(.*l)lin',u'sivellin'), + (u'rr',u'(.*r)rin',u'kiharrin'), + (u'rr',u'(.*r)rOin',u'kerroin'), + (u'd',u'(.*)din',u'kaadin'), + (u'v',u'(.*)vin',u'kaavin'), + (u't',u'(.*t)in',u'suodatin'), + (u'k',u'(.*k)in',u'puin'), + (u'j>k',u'(.*l)jin',u'poljin'), + (u'>k',u'(.*)in',u'puin')]), + (u'laidun', u'-', [(None,u'(.*)dUn',u'laidun')]), + (u'onneton', u'ws', [(None,u'(.*t)On',u'alaston'), + (u't',u'(.*t)On',u'onneton')]), + (u'lämmin', u'-', [(None,u'(.*m)min',u'lämmin')]), + (u'vasen', u'-', [(None,u'(.*e)n',u'vasen')]), + (u'sisin', u'', [(None,u'(.*)in',u'pahin')]), + (u'nainen', u'-', [(None,u'(.*)nen',u'nainen')]), + (u'vastaus', u'-', [(None,u'(.*V)s',u'vastaus')]), + (u'kalleus', u'-', [(None,u'(.*VU)s',u'kalleus'), + (None,u'(.*vU)s',u'kalleus')]), + (u'kaunis', u'-', [(None,u'(.*C)is',u'kaunis')]), + (u'autuas', u'-', [(None,u'(.*U)As',u'autuas')]), + (u'laupias', u'-', [(None,u'(.*p)iAs',u'laupias')]), + (u'vieras', u'ws', [(None,u'(.*[lmr]i[aä])s',u'antelias'), + (None,u'(.*il[aä])s',u'antelias'), + (None,u'(.*A)s',u'vieras'), + (None,u'(.*)is',u'kauris'), + (None,u'(.*e)s',u'kirves'), + (u'nn',u'(.*n)nAs',u'kinnas'), + (u'll',u'(.*l)lAs',u'allas'), + (u'rr',u'(.*r)rAs',u'harras'), + (u'mm',u'(.*m)mAs',u'hammas'), + (u'ng',u'(.*n)gAs',u'kangas'), + (u'k',u'(.*k)As',u'avokas',[SUBST]), + (u'k',u'(.*k)As',u'vilkas',[ADJ]), + (u'p',u'(.*p)As',u'saapas'), + (u'd',u'(.*)dAs',u'ahdas'), + (u'v',u'(.*)vAs',u'varvas'), + (u't',u'(.*t)As',u'ratas'), + (u't',u'(.*t)is',u'altis'), + (u'>k',u'(.*)As',u'varas'), + (u'>k',u'(.*)is',u'ruis'), + (u'>k',u'(.*)es',u'ies')]), + (u'iäkäs', u'ws', [(u'k',u'(.*k)As',u'iäkäs',[ADJ]), + (u'k',u'(.*k)As',u'asiakas',[SUBST])]), + (u'ohut', u'-', [(None,u'(.*CU)t',u'airut')]), + (u'kevät', u'-', [(None,u'(.*A)t',u'kevät')]), + (u'mies', u'-', [(None,u'(.*mie)s',u'mies')]), + (u'kuollut', u'-', [(None,u'(.*C)Ut',u'kuollut')]), + (u'hame', u'ws', [(None,u'(.*e)',u'hame'), + (u'nn',u'(.*n)ne',u'enne'), + (u'll',u'(.*l)le',u'helle'), + (u'rr',u'(.*r)re',u'kierre'), + (u'mm',u'(.*m)me',u'lumme'), + (u'j>k',u'(.*C)je',u'lahje'), + (u'p',u'(.*p)e',u'lape'), + (u'd',u'(.*)de',u'sade'), + (u'v',u'(.*)ve',u'taive'), + (u'k',u'(.*k)e',u'tarvike'), + (u'>k',u'(.*V)e',u'tarvike'), + (u'>k',u'(.*h)e',u'tarvike'), + (u't',u'(.*Vt)e',u'vaate'), + (u't',u'(.*lt)e',u'vaate'), + (u't',u'(.*rt)e',u'vaate')]), + (u'alkeet', u'-', [(None,u'(.*ke)et',u'alkeet')]), + (u'tie', u'-', [(None,u'(.*t)ie',u'tie')]), + (u'lapsi', u'-', [(None,u'(.*)psi',u'lapsi')]), + (u'hapsi', u'-', [(None,u'(.*)psi',u'hapsi')]), + (u'loppu', u'-', [(None,u'(.*)',u'loppu')]), + (u'veitsi', u'-', [(None,u'(.*)tsi',u'veitsi')]), + # Verbs + (u'punoa', u'sw', [(None,u'(.*)A',u'punoa'), + (u'mp',u'(.*m)pUA',u'ampua'), + (u'mp',u'(.*m)pOA',u'tempoa'), + (u'tt',u'(.*t)tUA',u'asettua'), + (u'tt',u'(.*t)tOA',u'viittoa'), + (u'kk',u'(.*k)kOA',u'aikoa'), + (u'kk',u'(.*k)kUA',u'kiekua'), + (u'pp',u'(.*p)pOA',u'harppoa'), + (u'pp',u'(.*p)pUA',u'kieppua'), + (u'nt',u'(.*n)tUA',u'jakaantua'), + (u'rt',u'(.*r)tOA',u'kertoa'), + (u'rt',u'(.*r)tUA',u'kumartua'), + (u'nk',u'(.*n)kUA',u'mankua'), + (u'nk',u'(.*n)kOA',u'penkoa'), + (u'lt',u'(.*l)tUA',u'paleltua'), + (u't',u'(.*)tUA',u'kaatua'), + (u't',u'(.*)tOA',u'tahtoa'), + (u'p',u'(.*)pOA',u'leipoa'), + (u'p',u'(.*)pUA',u'saapua'), + (u'k>',u'(.*U)kUA',u'liukua'), + (u'k>',u'(.*)kOA',u'aikoa'), + (u'k>',u'(.*)kUA',u'kiekua')]), + (u'aavistaa', u'sw', [(None,u'(.*t)AA',u'aavistaa'), + (u'rt',u'(.*r)tAA',u'longertaa'), + (u'tt',u'(.*t)tAA',u'alittaa'), + (u't',u'(.*h)tAA',u'astahtaa')]), + (u'hidastaa', u'-', [(None,u'(.*t)AA',u'hidastaa')]), + (u'heittää', u'sw', [(u'tt',u'(.*t)tAA',u'heittää')]), + (u'muistaa', u'-', [(None,u'(.*C)AA',u'muistaa')]), + (u'inttää', u'sw', [(u'tt',u'(.*t)tAA',u'inttää'), + (u't',u'(.*)tAA',u'itää')]), + (u'sulaa', u'sw', [(None,u'(.*C)AA',u'sulaa'), + (u'nt',u'(.*n)tAA',u'kyntää'), + (u'tt',u'(.*t)tAA',u'autioittaa'), + (u't',u'(.*h)tAA',u'kulahtaa'), + (u'k>',u'(.*C)kAA',u'purkaa')]), + (u'hohtaa', u'sw', [(u'tt',u'(.*t)tAA',u'jättää'), + (u't',u'(.*)tAA',u'hohtaa')]), + (u'hujahtaa', u'sw', [(u't',u'(.*V)htAA',u'hujahtaa')]), + (u'kirjoittaa', u'sw', [(u'tt',u'(.*V)ittAA',u'kirjoittaa'), + (u'tt',u'(.*V)ttAA',u'ammottaa')]), + (u'loistaa', u'-', [(None,u'(.*C)AA',u'loistaa')]), + (u'vuotaa', u'sw', [(u'lt',u'(.*Vl)tAA',u'puoltaa'), + (u'rt',u'(.*Vr)tAA',u'juurtaa'), + (u'nt',u'(.*Vn)tAA',u'saksantaa'), + (u't',u'(.*V)tAA',u'vuotaa')]), + (u'huutaa', u'sw', [(u'nt',u'(.*Vn)tAA',u'alentaa'), + (u't',u'(.*V)tAA',u'huutaa')]), + (u'sukeltaa', u'sw', [(u'lt',u'(.*Vl)tAA',u'sukeltaa'), + (u'rt',u'(.*Vr)tAA',u'musertaa'), + (u'nt',u'(.*Vn)tAA',u'jäykentää')]), + (u'paleltaa', u'sw', [(u'lt',u'(.*Vl)tAA',u'paleltaa'), + (u'nt',u'(.*Vn)tAA',u'nuotintaa')]), + (u'murtaa', u'sw', [(u'rt',u'(.*Vr)tAA',u'murtaa')]), + (u'juontaa', u'sw', [(u'nt',u'(.*Vn)tAA',u'juontaa'), + (u'rt',u'(.*Vr)tAA',u'pyörtää')]), + (u'pahentaa', u'sw', [(u'nt',u'(.*Vn)tAA',u'pahentaa')]), + (u'kaivaa', u'sw', [(None,u'(.*C)AA',u'kaivaa'), + (u'nt',u'(.*n)tAA',u'antaa'), + (u'pp',u'(.*p)pAA',u'lappaa'), + (u'tt',u'(.*t)tAA',u'saattaa'), + (u'kk',u'(.*k)kAA',u'jakaa'), + (u'k>',u'(.*)kAA',u'jakaa'), + (u't',u'(.*)tAA',u'raataa')]), + (u'kaikaa', u'-', [(None,u'(.*C)AA',u'kapsaa')]), + (u'soutaa', u'sw', [(u't',u'(.*)tAA',u'soutaa')]), + (u'saartaa', u'-', [(None,u'(.*r)tAA',u'saartaa')]), + (u'laskea', u'sw', [(None,u'(.*C)eA',u'laskea'), + (u'nk',u'(.*n)keA',u'tunkea'), + (u't',u'(.*)teA',u'kutea'), + (u'kk',u'(.*k)keA',u'hakea'), + (u'p',u'(.*)peA',u'rypeä'), + (u'k>j',u'(.*)keA',u'polkea'), + (u'k>',u'(.*)keA',u'hakea')]), + (u'tuntea', u'sw', [(u'nt',u'(.*tUn)teA',u'tuntea')]), + (u'lähteä', u'sw', [(u't',u'(.*lA)hteA',u'lähteä')]), + (u'sallia', u'sw', [(None,u'(.*C)iA',u'sallia'), + (u'nk',u'(.*n)kiA',u'onkia'), + (u'mp',u'(.*m)piA',u'empiä'), + (u'nt',u'(.*n)tiA',u'kontia'), + (u'pp',u'(.*p)piA',u'oppia'), + (u'kk',u'(.*k)kiA',u'loikkia'), + (u'tt',u'(.*t)tiA',u'sättiä'), + (u't',u'(.*)tiA',u'laatia'), + (u'p',u'(.*)piA',u'kaapia'), + (u'k>j',u'(.*)kiA',u'hylkiä'), + (u'k>',u'(.*i)kiA',u'poikia'), + (u'k>',u'(.*)kiA',u'loikkia')]), + (u'voida', u'ws', [(u't',u'(.*)idA',u'voida')]), + (u'käydä', None, [(None,u'(.*)UdA',u'käydä')]), + (u'kanavoida', u'ws', [(u't',u'(.*O)idA',u'kanavoida')]), + (u'saada', u'-', [(None,u'(.*CA)AdA',u'saada'), + (None,u'(.*CU)UdA',u'myydä')]), + (u'juoda', u'-', [(None,u'(.*C)UOdA',u'juoda'), + (None,u'(.*C)iedA',u'viedä')]), + (u'nuolaista', u'ws', [(None,u'(CAis)tA',u'nousta'), + (None,u'(.*CA)istA',u'nuolaista'), + (None,u'(.*C)istA',u'kalista'), + (None,u'(.*s)tA',u'nousta'), + (u'v',u'(.*)vistA',u'vavista'), + (u'ng',u'(.*n)gAistA',u'rangaista')]), + (u'mennä', u'-', [(None,u'(.*n)nA',u'mennä')]), + (u'purra', u'-', [(None,u'(.*r)rA',u'purra')]), + (u'katsella', u'ws', [(None,u'(.*Ael)lA',u'arvailla'), + (None,u'(.*el)lA',u'katsella'), + (None,u'(.*eil)lA',u'katsella'), + (None,u'(.*Vil)lA',u'arvailla'), + (None,u'(.*il)lA',u'katsella'), + (None,u'(.*Ol)lA',u'tulla'), + (None,u'(.*Ul)lA',u'tulla'), + (u'mm',u'(.*m)mellA',u'ommella'), + (u'rr',u'(.*r)rellA',u'askarrella'), + (u'nn',u'(.*n)nellA',u'pienennellä'), + (u'll',u'(.*l)lellA',u'takellella'), + (u'k',u'(.*k)ellA',u'nakella'), + (u't',u'(.*t)ellA',u'aatella'), + (u'p',u'(.*p)ellA',u'tapella'), + (u'd',u'(.*)dellA',u'kohdella'), + (u'>k',u'(.*)ellA',u'nakella')]), + (u'haravoida', u'ws', [(u't',u'(.*O)idA',u'haravoida')]), + (u'valita', u'-', [(None,u'(.*i)tA',u'valita')]), + (u'saneerata', u'-', [(None,u'(.*C)AtA',u'saneerata')]), + (u'aleta', u'ws', [(None,u'(.*CV)tA',u'aleta'), + (u'mm',u'(.*m)metA',u'lämmetä'), + (u't',u'(.*t)OtA',u'loitota'), + (u'p',u'(.*p)AtA',u'hapata'), + (u'p',u'(.*p)etA',u'suipeta'), + (u'k',u'(.*k)etA',u'vaieta'), + (u'd',u'(.*)detA',u'edetä'), + (u'd',u'(.*)dOtA',u'leudota'), + (u'd',u'(.*)dAtA',u'mädätä'), + (u'v',u'(.*)vetA',u'kaveta'), + (u'j>k',u'(.*)jetA',u'tarjeta'), + (u'>k',u'(.*)OtA',u'ulota'), + (u'>k',u'(.*)AtA',u'erata'), + (u'>k',u'(.*)etA',u'vaieta')]), + (u'haluta', u'ws', [(None,u'(.*C)itA',u'selvitä'), + (None,u'(.*gO)tA',u'bingota'), + (None,u'(.*U)tA',u'haluta'), + (u'll',u'(.*l)litA',u'hellitä'), + (u'mm',u'(.*m)mitA',u'lämmitä'), + (u'p',u'(.*p)UtA',u'silputa'), + (u'v',u'(.*)vUtA',u'vivuta'), + (u'>k',u'(.*)itA',u'keritä')]), + (u'juoruta', u'ws', [(None,u'(.*U)tA',u'juoruta'), + (u'mm',u'(.*m)mUtA',u'kummuta'), + (u't',u'(.*t)UtA',u'luututa'), + (u'p',u'(.*p)UtA',u'ryöpytä'), + (u'k',u'(.*k)UtA',u'takuta'), + (u'v',u'(.*)vUtA',u'kavuta')]), + (u'salata', u'ws', [(None,u'(.*)AtA',u'salata'), + (u'ng',u'(.*n)gAtA',u'hangata'), + (u'mm',u'(.*m)mAtA',u'kammata'), + (u'rr',u'(.*r)rAtA',u'kerrata'), + (u'nn',u'(.*n)nAtA',u'suunnata'), + (u'll',u'(.*l)lAtA',u'vallata'), + (u'b',u'(.*b)AtA',u'lobata'), + (u'g',u'(.*g)AtA',u'digata'), + (u'v',u'(.*)vAtA',u'kelvata'), + (u't',u'(.*t)AtA',u'kuitata'), + (u'd',u'(.*)dAtA',u'ladata'), + (u'j>k',u'(.*)jAtA',u'peljätä'), + (u'k',u'(.*k)AtA',u'pakata'), + (u'p',u'(.*p)AtA',u'pompata'), + (u'>k',u'(.*)AtA',u'taata')]), + (u'katketa', u'ws', [(None,u'(.*[oe])tA',u'katketa'), + (u'mm',u'(.*m)metA',u'kammeta'), + (u'ng',u'(.*n)getA',u'langeta'), + (u't',u'(.*t)OtA',u'lotota'), + (u'k',u'(.*k)etA',u'poiketa'), + (u'v',u'(.*)vetA',u'ruveta'), + (u'd',u'(.*)detA',u'todeta'), + (u'j>k',u'(.*)jetA',u'lohjeta'), + (u'>k',u'(.*)OtA',u'saota'), + (u'>k',u'(.*)etA',u'poiketa')]), + (u'kohota', u'ws', [(None,u'(.*O)tA',u'kohota'), + (u'rr',u'(.*r)rOtA',u'irrota'), + (u'mm',u'(.*m)mOtA',u'kimmota'), + (u'ng',u'(.*n)gOtA',u'lingota'), + (u't',u'(.*t)OtA',u'netota'), + (u'p',u'(.*p)OtA',u'upota'), + (u'v',u'(.*r)vOtA',u'turvota'), + (u'k',u'(.*Vk)OtA',u'laota'), + (u'd',u'(.*)dOtA',u'kadota'), + (u'>k',u'(.*)OtA',u'laota')]), + (u'kihistä', u'-', [(None,u'(.*C)istA',u'kihistä')]), + (u'kitistä', u'-', [(None,u'(.*C)istA',u'kitistä')]), + (u'taitaa', u'-', [(None,u'(.*)tAA',u'taitaa')]), + (u'juosta', u'-', [(None,u'(.*V)stA',u'juosta')]), + (u'nähdä', u'-', [(None,u'(.*)hdA',u'nähdä')]), + (u'kevetä', u'-', [(None,u'(.*)vetA',u'kevetä')]) + ] + +def compileClassmapREs(inputClassmap): + """Converts a classmap to a form where regular expressions have been + compiled to regular expression objects""" + outputClassmap = [] + for joClass in inputClassmap: + ruleList = [] + for inputRule in joClass[2]: + pattern = inputRule[1] + pattern = pattern.replace(u'V', u'(?:a|á|e|i|o|u|y|ä|ö|é)') + pattern = pattern.replace(u'C', u'(?:b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z|š|ž)') + pattern = pattern.replace(u'A', u'(?:a|ä)') + pattern = pattern.replace(u'O', u'(?:o|ö)') + pattern = pattern.replace(u'U', u'(?:u|y)') + regExp = re.compile(u'^' + pattern + u'$', re.IGNORECASE) + outputRule = (inputRule[0], regExp, inputRule[2]) + if len(inputRule) == 4: + outputRule = (inputRule[0], regExp, inputRule[2], inputRule[3]) + ruleList.append(outputRule) + outputClassmap.append((joClass[0], joClass[1], ruleList)) + return outputClassmap + +def match_re(string, regExp): + match = regExp.match(string) + if match == None: return None + else: return match.group(1) diff --git a/common/mor.inc b/common/mor.inc new file mode 100644 index 0000000..2fd2e26 --- /dev/null +++ b/common/mor.inc @@ -0,0 +1,37 @@ +# This file is part of Suomi-malaga, description of Finnish morphology +# written in malaga. +# Copyright 2006 Harri Pitänen +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +include "subrule.inc"; + +# Merkkijonon ensimmäinen merkki +# Tekijä: Björn Beutel. +subrule first ($string): + ! $string matches ".": $first, ".*"; + return $first; +end; + + +# Palauttaa yes, jos annettu merkki on vokaali, muutoin palauttaa no +subrule vokaali($merkki): + if $merkki in <"a", "e", "i", "o", "u", "y", "ä", "ö", "é"> then + return yes; + else + return no; + end; +end; diff --git a/common/subrule.inc b/common/subrule.inc new file mode 100644 index 0000000..01753b6 --- /dev/null +++ b/common/subrule.inc @@ -0,0 +1,27 @@ +# This file is part of Suomi-malaga, description of Finnish morphology +# written in malaga. +# Copyright 2006 Harri Pitänen +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + + +# Merkkijonon viimeinen merkki +# Tekijä: Björn Beutel. +subrule last($string): + ! $string matches ".*", ".": $last; + return $last; +end; + diff --git a/common/voikkoutils.py b/common/voikkoutils.py new file mode 100644 index 0000000..f6b1d4e --- /dev/null +++ b/common/voikkoutils.py @@ -0,0 +1,230 @@ +# -*- coding: utf-8 -*- + +# Copyright 2007 Harri Pitkänen (hatapitk@iki.fi) + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# This module contains general helper functions and classes for use +# with Python and Voikko. + +import codecs +import os +import locale +import sys +import xml.dom.minidom +import gzip + +# Word classes +NOUN=1 +ADJECTIVE=2 +VERB=3 + +# Vowel types +VOWEL_DEFAULT=0 +VOWEL_FRONT=1 +VOWEL_BACK=2 +VOWEL_BOTH=3 + +# Gradation types +GRAD_NONE = 0 +GRAD_SW = 1 +GRAD_WS = 2 + +GRAD_WEAK = 3 +GRAD_STRONG = 4 + +class FlagAttribute: + "Vocabulary flag attribute" + joukahainen = 0 + xmlGroup = None + xmlFlag = None + malagaFlag = None + description = None + +## Remove comments from a given line of text. +def removeComments(line): + comment_start = line.find(u'#') + if comment_start == -1: + return line + if comment_start == 0: + return u'' + return line[:comment_start] + +def readFlagAttributes(filename): + """Returns a map of flag attributes from given file. The keys in the + map are in form xmlGroup/xmlFlag, such as 'compounding/ei_ys'.""" + inputfile = codecs.open(filename, 'r', 'UTF-8') + flags = {} + fileCont = True + while fileCont: + line = inputfile.readline() + fileCont = line.endswith('\n') + line = removeComments(line).strip() + if len(line) > 0: + f = FlagAttribute() + endind = line.find(u' ') + f.joukahainen = int(line[:endind]) + line = line[endind:].strip() + endind = line.find(u'/') + f.xmlGroup = line[:endind] + line = line[endind + 1:] + endind = line.find(u' ') + f.xmlFlag = line[:endind] + line = line[endind:].strip() + endind = line.find(u' ') + if line[:endind] != u'-': f.malagaFlag = line[:endind] + line = line[endind:].strip() + if len(line) > 0: f.description = line + flags[f.xmlGroup + u'/' + f.xmlFlag] = f + inputfile.close() + return flags + +## Function that returns the type of vowels that are allowed in the suffixes for +# given simple word. +# The possible values are VOWEL_FRONT, VOWEL_BACK and VOWEL_BOTH. +def _simple_vowel_type(word): + word = word.lower() + last_back = max(word.rfind(u'a'), word.rfind(u'o'), word.rfind(u'å'), word.rfind(u'u')) + last_ord_front = max(word.rfind(u'ä'), word.rfind(u'ö')) + last_y = word.rfind(u'y') + if last_back > -1 and max(last_ord_front, last_y) == -1: + return VOWEL_BACK + if last_back == -1 and max(last_ord_front, last_y) > -1: + return VOWEL_FRONT + if max(last_back, last_ord_front, last_y) == -1: + return VOWEL_FRONT + if last_y < max(last_back, last_ord_front): + if last_back > last_ord_front: return VOWEL_BACK + else: return VOWEL_FRONT + else: + return VOWEL_BOTH + +## Returns autodetected vowel type of infection suffixes for a word. +# If word contains character '=', automatic detection is only performed on the +# trailing part. If word contains character '|', automatic detection is performed +# on the trailing part and the whole word, and the union of accepted vowel types is returned. +def get_wordform_infl_vowel_type(wordform): + # Search for last '=' or '-', check the trailing part using recursion + startind = max(wordform.rfind(u'='), wordform.rfind(u'-')) + if startind == len(wordform) - 1: return VOWEL_BOTH # Not allowed + if startind != -1: return get_wordform_infl_vowel_type(wordform[startind+1:]) + + # Search for first '|', check the trailing part using recursion + startind = wordform.find(u'|') + if startind == len(wordform) - 1: return VOWEL_BOTH # Not allowed + vtype_whole = _simple_vowel_type(wordform) + if startind == -1: return vtype_whole + vtype_part = get_wordform_infl_vowel_type(wordform[startind+1:]) + if vtype_whole == vtype_part: return vtype_whole + else: return VOWEL_BOTH + +def get_preference(prefname): + u'Returns the value of given preference' + try: + import voikko_dev_prefs + if prefname == 'svnroot' and hasattr(voikko_dev_prefs, 'svnroot'): + return voikko_dev_prefs.svnroot + if prefname == 'voikkotest_dir' and hasattr(voikko_dev_prefs, 'voikkotest_dir'): + return voikko_dev_prefs.voikkotest_dir + if prefname == 'voikkotest_build_options' and hasattr(voikko_dev_prefs, 'voikkotest_build_options'): + return voikko_dev_prefs.voikkotest_build_options + if prefname == 'voikko_data_dir' and hasattr(voikko_dev_prefs, 'voikko_data_dir'): + return voikko_dev_prefs.voikko_data_dir + if prefname == 'encoding' and hasattr(voikko_dev_prefs, 'encoding'): + return voikko_dev_prefs.encoding + if prefname == 'libvoikko_bin' and hasattr(voikko_dev_prefs, 'libvoikko_bin'): + return voikko_dev_prefs.libvoikko_bin + if prefname == 'diffviewcmd' and hasattr(voikko_dev_prefs, 'diffviewcmd'): + return voikko_dev_prefs.diffviewcmd + except ImportError: + pass + if prefname == 'svnroot': return os.environ['HOME'] + '/svn/voikko' + if prefname == 'voikkotest_dir': return os.environ['HOME'] + '/tmp/voikkotest' + if prefname == 'voikkotest_build_options': return '' + if prefname == 'voikko_data_dir': return os.environ['HOME'] + '/svn/voikko/trunk/data' + if prefname == 'encoding': return locale.getpreferredencoding() + if prefname == 'libvoikko_bin': return '/usr/bin' + if prefname == 'diffviewcmd': return 'diff -U 0 "%s" "%s" | grep ^.C: 2>/dev/null | less' + return None + +## Returns True, if given character is a consonant, otherwise retuns False. +def is_consonant(letter): + if letter.lower() in u'qwrtpsdfghjklzxcvbnm': + return True + else: + return False + +## Function that returns the type of vowels that are allowed in the affixes for given word. +# The possible values are VOWEL_FRONT, VOWEL_BACK and VOWEL_BOTH. +def vowel_type(word): + word = word.lower() + last_back = max(word.rfind(u'a'), word.rfind(u'o'), word.rfind(u'å'), word.rfind(u'u')) + last_ord_front = max(word.rfind(u'ä'), word.rfind(u'ö')) + last_y = word.rfind(u'y') + if last_back > -1 and max(last_ord_front, last_y) == -1: + return VOWEL_BACK + if last_back == -1 and max(last_ord_front, last_y) > -1: + return VOWEL_FRONT + if max(last_back, last_ord_front, last_y) == -1: + return VOWEL_FRONT + if last_y < max(last_back, last_ord_front): + if last_back > last_ord_front: return VOWEL_BACK + else: return VOWEL_FRONT + else: + return VOWEL_BOTH + + +## Expands capital letters to useful character classes for regular expressions +def capital_char_regexp(pattern): + pattern = pattern.replace('V', u'(?:a|e|i|o|u|y|ä|ö|é|è|á|ó|â)') + pattern = pattern.replace('C', u'(?:b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|z|š|ž)') + pattern = pattern.replace('A', u'(?:a|ä)') + pattern = pattern.replace('O', u'(?:o|ö)') + pattern = pattern.replace('U', u'(?:u|y)') + return pattern + +## Reads the word list in XML format specified by filename. If the name ends +# with .gz, the file is assumed to be gzip compressed. Calls function word_handler +# for each word, passing a XML Document object representing the word as a parameter. +# If show_progress == True, prints progess information to stdout +def process_wordlist(filename, word_handler, show_progress = False): + if filename.endswith(".gz"): + listfile = gzip.GzipFile(filename, 'r') + else: + listfile = open(filename, 'r') + line = "" + while line != '\n': + line = listfile.readline() + if line == '': + sys.stderr.write("Malformed file " + filename + "\n") + return + + wcount = 0 + while True: + wordstr = "" + line = listfile.readline() + if line == "\n": break + while line != '\n': + wordstr = wordstr + line + line = listfile.readline() + word = xml.dom.minidom.parseString(wordstr + line) + word_handler(word.documentElement) + wcount = wcount + 1 + if show_progress and wcount % 1000 == 0: + sys.stdout.write("#") + sys.stdout.flush() + + if show_progress: sys.stdout.write("\n") + listfile.close() diff --git a/sukija/LUE.MINUT b/sukija/LUE.MINUT new file mode 100644 index 0000000..c25d796 --- /dev/null +++ b/sukija/LUE.MINUT @@ -0,0 +1,2 @@ +Suomi-malagan Sukija-versio muuttaa sanat perusmuotoon, ja se on +tarkoitettu tiedostojen indeksointiin. diff --git a/sukija/Makefile b/sukija/Makefile new file mode 100644 index 0000000..b9cb823 --- /dev/null +++ b/sukija/Makefile @@ -0,0 +1,81 @@ +LEXICON = \ +sanat/atk-lyhenteet.lex \ +sanat/11-19.lex \ +sanat/latex.lex \ +sanat/jokinen.lex \ +sanat/olla-ei.lex \ +sanat/etuliitteet.lex \ +sanat/lyhenteet.lex \ +sanat/omat.lex \ +sanat/seikkasanat.lex \ +sanat/sidesanat.lex \ +voikonsanat/atk.lex \ +voikonsanat/erikoiset.lex \ +voikonsanat/erikoissanat.lex \ +voikonsanat/joukahainen.lex \ +voikonsanat/kasvatustiede.lex \ +voikonsanat/laaketiede.lex \ +voikonsanat/lainen.lex \ +voikonsanat/lukusanat.lex \ +voikonsanat/matluonnontiede.lex \ +voikonsanat/poikkeavat.lex \ +voikonsanat/suhdesanat.lex \ +voikonsanat/taivutustaydennykset.lex \ +voikonsanat/yhdyssanat.lex \ +voikonsanat/erikoisalat/linux-distributions.lex + +all: suomi.pro $(LEXICON) + @malmake suomi.pro 2>&1 | grep -v "Warning: No allomorphs generated." + +run: suomi.pro + @malaga suomi.pro + +kehitys: transmit suomi.pro + @malmake suomi.pro 2>&1 | grep -v "Warning: No allomorphs generated." + +generoi: + ./generoi.sh + @malmake suomi.pro 2>&1 | grep -v "Warning: No allomorphs generated." + +clean: + /bin/rm -f *_l core.* transmit voikonsanat/*.lex \ + voikonsanat/erikoisalat/*.lex k1 k2 foo bar + +transmit: ../common/transmit.cc + g++ -g ../common/transmit.cc -o transmit + + +SM=suomimalaga + +tar: + rm -f ${SM}.tar ${SM}.tar.bz2 + tar cf ${SM}.tar ${SM} + bzip2 ${SM}.tar + +mcopy: + mdel a:${SM}.tar.bz2; mcopy ${SM}.tar.bz2 a:; mdir + +bcopy: + cp *_l *.pro ~/.sukija + +vcopy: + cp ../voikko/*_l ../voikko/*.pro ~/.voikko + +k1: suomi.all_l suomi.lex_l suomi.mor_l suomi.sym_l + cat ../../../koesanat1.txt | malaga -m suomi.pro >k1 + +k2: suomi.all_l suomi.lex_l suomi.mor_l suomi.sym_l + cat ../../../koesanat2.txt | malaga -m suomi.pro >k2 + + +diff: + (diff ../../../koesanat1.out k1; diff ../../../koesanat2.out k2) >foo + +cp1: + cp k1 ../../../koesanat1.out; cp k2 ../../../koesanat2.out + +kdiff: + gawk -F'"' '{print $2, $3}' ~/koe*1.out >k1a + gawk -F'"' '{print $2, $3}' ~/koe*2.out >k2a + gawk -F'"' '{print $2, $3}' k1 >k1b + gawk -F'"' '{print $2, $3}' k2 >k2b diff --git a/sukija/README b/sukija/README new file mode 100644 index 0000000..e5a5974 --- /dev/null +++ b/sukija/README @@ -0,0 +1 @@ +This version of Suomi-malaga is used for file indexing. diff --git a/sukija/ei-sukija.txt b/sukija/ei-sukija.txt new file mode 100644 index 0000000..0753329 --- /dev/null +++ b/sukija/ei-sukija.txt @@ -0,0 +1,1273 @@ +# Nämä pitäisi merkitä Joukahaiseen lipulla "ei kuulu ideksointisanastoon", +# mutta tähän tiedostoon laittaminen on kätevämpää, jos Internet-yhteys +# on liian hidas. (-: +aasiannorsu +aasiori +afrikannorsu +Aholainen +alamainen +Alppi +Aalto +Aaltonen +Aamu +Aarni +aarnialue +Aarnio +Aatami +Aatos +agroekologi +agroekologia +Aho +ahtaanpaikankammo +ahtautuma +ahtojää +aidaskääpä +AIDS +aikalainen +aineellistuma +aitosyöpä +ajettuma +ajoneuvo +ajuruoho +alaisuus +Alajärvi +Alanko +Alankomaa +alastulo +Albania +alenema +Alitalo +alkalimetalli +Alkio +alkiolainen +alkuperäisteksti +allekirjoittaa +alleviivata +ambrosialainen +amerikanjuutalainen +amerikansuomalainen +ammattilainen +antikolinerginen +antitromboottinen +apulainen +Arabia +arastella +armeijalainen +Armenia +Aro +arpeutuma +arvioitsija +aspartaattiaminotransferaasi +astuma +astumajalka +Astuvansalmi +Asukas +aukeama +Aura +Aurajoki +Aurinko +Autio +autoimmuuni +autoimmuunihepatiitti +autoimmuunisairaus +autoimmuunitauti +autoimmuunityreoidiitti +avauma +avautuma +beetahemolyyttinen +biodiversiteetti +brittiläinen +Bulgaria +Burma +calmetterokote +calmetterokotus +edellisvuotinen +Eesti +eetillinen +ehtoollinen +eksymä +ekvivalenttiannos +elinajanodote +eliniänodote +Elo +elohopea +elokuva +eläkeläinen +elämä +elämänsanalainen +Englanti +ennätys +Eno +ensikertalainen +entisenlainen +erisuuruus +eritasoliittymä +erittyä +eritys +esiinmarssi +esiinnousu +esiintulo +esiinhuutaa +esiinluiskahdus +esiintuonti +esiintuominen +esiintymä +esi-isä +esikasvattaa +esilletuominen +esilletuonti +esimerkki +esitelmöitsijä +esitystekninen +Espanja +Esteri +estymä +etelävaltalainen +etruskilainen +fenyyliketonuria +Fidži +freudilainen +fryygialainen +gammaglobuliini +Georgia +globaalikasvatus +Guinea +Haapajärvi +Haapakoski +Haapaniemi +haarautuma +haaroittua +haaroitus +Haavikko +Hakaniemi +halkeama +Halme +halpalento +halpamainen +halpamyymälä +halpatyö +halutunlainen +Hamina +hankautuma +Hanko +hapatus +hapettuma +hapetus +Harju +harrastua +Harri +harventuma +Haukipudas +haurastua +Hautamäki +hautaus +havainnoitsija +HDL-kolesteroli +hehkutus +heijastuma +heikentymä +Heimo +heimolainen +heitellä +Heitto +Helo +heloitus +henkilöitymä +henkilökohtainen +hermo-lihasliitos +herraskartano +herrasmainen +herrasmies +herraspoika +herrasväki +herätys +hienorakenteinen +hieroutuma +hiertymä +Hilkka +hindulainen +hinta-laatusuhde +Hirvensalmi +hittolainen +hoito +hokema +Hollanti +hollitupa +Honkajoki +Hovi +Huhta +huhuilla +huipentuma +huiskauttaa +Hukka +Hurme +huuto +huutolainen +hydronefroosi +hyvinvointi +hyvinvoiva +hypertensio +hyväksikäyttäjä +hyvänsuopuus +hyväntahdonlähettiläs +hyväntekijä +Hyväntoivonniemi +Hyyryläinen +hyytymä +häipymä +Härmä +hölmöläinen +höpötys +höyhensarjalainen +ihmisläheinen +Iiris +illallinen +Ilma +Ilmajoki +ilmentymä +Ilta +IMAP +imeväinen +imeväisikä +immuunipuolustus +immuunipuutos +immuunireaktio +Indonesia +infantiilispasmi +inkeriläinen +innoittua +institutionalisoitua +Internet +interstitiaalipneumonia +intiimihygienia +irtauma +islamilainen +Islanti +Isojoki +ISO-standardi +isoäiti +itkettynyt +itkettyä +itserakas +itsesäätyvä +itsetutkiskelu +itsevarma +itäsaksalainen +Itämeri +Itävalta +itävaltalainen +Jaala +jakauma +Jalasjärvi +Jalo +jalokivi +jalopähkinä +Jami +jaotus +Japani +japaninmispeli +jatkuvalämmitteinen +jengiläinen +johtajaori +Jokelainen +joukkoitsemurha +jousitus +Jukka +julkisasiamies +julkishallinto +julkisrauha +julkissektori +julkistalous +Jumala +jumalaistaru +jumalaistarusto +juoksijaori +juoma +Jylhä +Jylhänperä +jähmettymä +jälkeenjäänyt +jälkeläinen +jälkisointi +järveläinen +Järvenpää +Järvi +Järviluoma +jättiläinen +jäykentää +jäykistymä +jäämä +Jääskeläinen +jäätymä +kaartilainen +kaato +kaavoitus +kahdentuma +Kainulainen +Kaitajärvi +kaitanokkalokki +Kalajoki +kalkkeuma +kalkkeutuma +kalkkiutuma +Kallio +kallistuma +Kangas +Kankkunen +Kannus +kansalainen +kansallismielinen +kantama +kantaori +kanttori-urkuri +Kanttura +Kari +Karjala +Karjalainen +karsima +karsimakirves +Kartano +Kartio +kartoitus +karvasaine +karvasmanteli +karvasputki +karvassuola +kasaantuma +kasautuma +Kaste +kasvattaa +katkeama +katsojainen +katsomapaikka +Kauhajoki +kauhistuttaa +Kautsu +kaventuma +kehittymä +keitto +kepulainen +Kerberos +kerholainen +kerrostuma +kerrotunlainen +kertoma +Kerttu +Kerttuli +Kerttunen +kertymä +keräymä +keräytymä +keskinäisinduktanssi +keskittymä +kestitys +kesyhanhi +kesyhevonen +kesykissa +kesykyyhky +kesyrotta +Keto +kevyenliikenteenväylä +kevytjukurtti +kevytmakkara +kevytmetalli +kevyttuote +Kielo +kierosilmä +kieroutuma +kierros +kiertolainen +kiertuelainen +kiertymä +kietoutuma +kiihdytys +Kiina +Kilpeläinen +Kilpi +kiltalainen +kirjaviisas +kirjoittua +Kirkkonummi +Kisko +kiteymä +kiteytymä +Kitunen +kivettymä +Kiviharju +Kivijärvi +Kivinen +Kiviniemi +klooripromatsiini +Knuutinpoika +koaksiaalijohto +koaksiaalikaapeli +kohoama +kohtalainen +Koitto +Koivisto +Koivu +Kokkari +Kokoomus +kokoontuma +kokoutuma +Kolari +Koli +kolhiutuma +Kone +Kontio +Kontulainen +Koppelo +koroitus +korotus +Korpelainen +kosimakirje +Koskelainen +Koski +Kotiranta +Kotka +koululainen +koulutus +kovettuma +Kreikka +kreikkalaiskatolilainen +Kroatia +kronologinen +Kruunuhaka +kryptoanalyysi +Kuha +Kuikka +kuiskutus +kuivamuona +Kukka +Kulho +kulkeuma +kuluma +kumous +kuntalainen +Kuokka +kuolema +kuolleisuus +kuolleenkoura +kuolleenmiehenkytkin +kuollut +kuormittua +kuormitus +kuorolainen +Kurki +Kurkilahti +kurouma +Kurppa +kurssilainen +Kuru +Kurvinen +kutistuma +kuulustella +Kuusisto +Kuutti +Kuvaaja +kuvaama +kuvaamataide +kuvaamataito +kyberavaruus +kyllästyttää +Kylmäkoski +kyläläinen +kylänvanhin +kylvö +kymmenvuotinen +Kytö +kyyditys +kyyhkyläinen +Kähäräinen +Kärkistensalmi +kärpässarjalainen +kärsivällinen +Kärsämäki +käsinkohonta +käsinkylvö +käsinkäynti +käsinladonta +käsinlajittelu +käsinlatoja +käsinlypsy +käsinohjaus +käsinpesu +käsinseisonta +käskyläinen +kävijä +käynti +käytävä +käännös +kääpiösarjalainen +laajakaista +laajakangas +laajakulma +laajakuva +Laajasalo +laajenema +laajentuma +laakafilmi +laakalyönti +laakamato +laakanauha +laakaovi +laakapaino +laakapallo +laakapihti +laakatuli +Laakso +Lahja +lahkolainen +Lahnajärvi +lahopuu +lahtelainen +Lahti +Laihajärvi +Laina +Laine +laiskanpulskea +Lakomäki +Lakovaara +langoitus +Lapinjärvi +lapinharakka +lapinkirvinen +lapinuunilintu +Lappeenranta +Lappi +lasittua +laskeutuma +latauma +latinalainen +latinalaisamerikkalainen +latoma +latomahaka +latomakone +Latvajärvi +Latvia +Lauha +laulattaa +lausuma +Lavia +LDL-kolesteroli +LDL-reseptori +Lehtimäki +Lehtinen +Lehto +Lehtovaara +leikkaus +Leini +leipomo-kahvila +Lemu +leniniläinen +Leppävaara +lesbolainen +leveäpyrstökihu +levytys +liikutus +liittolainen +liittoutuma +liittymä +Lilja +linkittyä +Linnamäki +linnoitus +Linnunrata +Lintunen +Liperi +litistymä +liukuma +lohkeama +loisto +loittorengas +lojaalisuus +lomalainen +Lotta +Louhi +luikerrella +lukema +Lumijoki +lumoojatar +luokitus +luokkalainen +luoma +Luoma +Luomajoki +luomakunta +Luomanmäki +luomapuu +luomatauti +luontoistalous +Luoto +lupaus +Luumäki +lyhennys +lyhentymä +lyhentää +lyhytaalto +lyhytelokuva +lyhytfilmi +lyhytiskusylinteri +lyhytnokkahanhi +lyhytnumero +lyhytohjelma +lyhytproosa +lyhytrakennesylinteri +lyhytsulku +lyhyttavara +lyhytterapia +lyhytvalintakoodi +lyhytvalintanumero +lyhytvarvaskiuru +Lyyli +lyönti +lämmitys +länsisaksalainen +Länsi-Turunmaa +Lääkelaitos +Maa +maahanmuutto +maahantuoja +maahantuonti +maakostea +maalainen +maailmanympärimatka +maallistua +maattojohdin +maattojohto +madeirankeiju +madeiraviini +Maila +majoitus +malaijilainen +Malmi +maolainen +Marja +marksismi-leninismi +Martta +marxilainen +marxismi-leninismi +mattaväri +Matti +mediaseksikäs +Mela +meltorauta +Merijärvi +Merikanto +Merituuli +Metso +Metsäliitto +metsäläinen +mielipide +mierolainen +Miina +mikkelinpäivä +miljardibisnes +miljardiluokka +miljarditappio +miljoonabisnes +miljoonaluokka +miljoonaperijä +miljoonaperintö +miljoonatappio +Minttu +Missi +mittatarkka +Moisio +mongolilainen +MS-tauti +Muikku +muistuma +mulperipuu +multippeliskleroosi +muodostuma +muovautuma +Murto +murtua +murtuma +mustuma +muutto +myrkytys +myynti +myöntyä +Mäkeläinen +Mäki +Mäkinen +mäkitupalainen +mökkiläinen +naarmuttua +Neuvostoliitto +Newton +Niemi +niitto +nimismies +niukentaa +Niva +Norja +Noronen +nousema +nuoruus +Nurmi +Nurmijärvi +Nurminen +näkymä +näppäillä +näytellä +näyttämä +näyttö +ohentuma +ohutkalvo +ohutkerroskromatografia +ohutneulabiopsia +ohutneulanäyte +ohutsuoli +oikeanlainen +oikeistolainen +oikeus +Oiva +oivallinen +olympialainen +omaisuus +omanlainen +ominaissointi +onnistua +opettajainen +opetus +opistolainen +Orpana +Orvokki +otella +Otso +otto +Otto +pahalainen +painattaa +painatus +painautuma +painuma +paisuma +paisuvaiskudos +Pajari +pakolainen +paleltuma +paljastajainen +palkkalainen +Palmu +pannukarkea +partiolainen +patoutuma +Paula +PDF-tiedosto +pehmytkudos +peilikirkas +peilityyni +peitto +pensastua +Perho +perimä +permikausi +Persia +Peräseinäjoki +peräänajo +philadelphialainen +pidentymä +pidättyä +pidättää +pidätys +Pihtipudas +piirros +Pinja +pinttymä +Pirkkalainen +Pirttimäki +pirulainen +pito +pitoisuus +pk-yritys +PK-yritys +Pohja +Pohjoismaa +pohjoisvaltalainen +poikima +poikimahalvaus +poikkeama +poimutus +poissulkea +poisto +poistuma +Pokka +poltto +polymyalgia +polysorbaatti +pommitus +populaarikulttuuri +Portugali +Posti +pre-eklampsia +preliminäärikoe +primaarikasvain +primaaripreventio +pseudokysta +Pudasjärvi +puhkeama +puhuma +puhuma-alue +puikulaperuna +puksipuu +pullistuma +punavihoittuma +Puola +puolipäivä +puolittua +puoluelainen +purema +puristuma +putoama +puuvillajersey +Pyhäjoki +Pyhäjärvi +Pyry +pystytys +pysyttäytyä +pysähdys +päivittäistavara +Päivä +päällekirjoitus +päästö +pöhöttymä +pölyttyä +pölytys +raakalainen +Raitio +rajoittua +rajuilma +Ranta +Rantasalmi +raottua +raottuma +rapauma +rappeutuma +rappeuma +rasitus +raskassarjalainen +raskasvety +raskaus +ratkeama +Rauha +rauhansanalainen +Rautio +Rautu +ravuriori +Reima +repeytymä +repeämä +repolainen +retkeläinen +retrovirus +Riihimäki +rikkakasvi +rikkiviisas +rikollinen +Riski +risteytymä +Ritva +rivittyä +roiskevesitiivis +rohtuma +romahdusmainen +roomalaiskatolilainen +rossipohja +Ruanda +ruhjoutuma +ruiskutus +Ruotsi +rupeama +ruskettua +rusketus +Rusko +Ruukki +ruumiillistuma +Ruusu +ryhmittymä +ryhmittyä +rytmittyä +ryvettyä +räpytellä +Rönkkö +Saarelainen +Saarenmaa +Saari +Saarijärvi +saaristolainen +sairastuttaa +sairaus +Saku +salakähmäinen +Salmelainen +Salo +Sampo +sanoitus +sanoma +Santahamina +saostuma +Sari +sattuma +Satu +Savikko +Savolainen +Savo +savo +Seinäjoki +sekasortoinen +sekundaarisosialisaatio +selittyä +seminaarilainen +sentraalinen +Seppä +Siikajoki +Siikalatva +Siilinjärvi +Siimes +siirros +siirtolainen +siirtymä +siirtyä +siivous +Sikiö +sileälihas +Sini +Sirkka +Sirkku +sirkuslainen +Sisko +sisäpiiriläinen +sisäänajo +sisäänmeno +sisääntulo +skitsoaffektiivinen +soistuma +soitto +Somero +Sorsa +sortuma +sosialidemokraatti +sovitus +strippaus +subduraalihematooma +subduraalivuoto +suitsutus +sulautuma +sulkeutuma +Sulo +suoja +suomalais-permiläinen +Suomi +Suomussalmi +Suonenjoki +supistuma +supraventrikulaarinen +surkastuma +suuntavakaa +Suutari +Suvi +syntymä +syöpymä +syöttö +Säde +säilytys +säteisliike +Säteri +sätkytellä +säästö +säätyläinen +säätö +taajuus +taantuma +Taimi +taipuma +Taisto +taittuma +Taivalkoski +takaisinkytkentä +takaisinpano +Takamäki +takautuma +takomakone +takomataito +takomatyö +takuuvarma +Talasjärvi +Talaslahti +Talasniemi +Talasranta +Talasrinne +Talassaari +Talasterä +Tallus +Tamminen +Tanska +tapahtuma +Tapani +tarkennus +tarkentaa +Tarkka +Tarmo +Taru +tasavalta +tasavaltalainen +tataarilainen +teatterilainen +tehtaalainen +tekohurskas +tekohurskaus +tekopyhä +tekosiveys +tekosiveä +teloitus +teollinen +teollisuus +terajoule +teratavu +Terho +Terttu +teräväpiirtokanava +teräväpiirtolähetys +teräväpiirtotelevisio +tieteiselokuva +tieteisfilmi +tieteiskirja +tieteisromaani +tietoviisas +tietynlainen +Tiibet +tiiliskivi +tiivistymä +Tikka +tilaaja-tuottajamalli +tilapäinen +Timpuri +tiukentaa +toimenpide +Toivo +tolstoilainen +toteuma +toteutuma +toteutus +trotskilainen +Trulli +Tsekki +Tšekki +tuhattaituri +tuhkatiheä +tuholainen +Tuisku +tukkeutuma +tukkilainen +tulitus +tunnusomainen +tuonti +tuoreravinto +tuoretavara +tupalainen +turhautuma +Turkki +turpoama +turvamerkitä +Tuuli +Tytti +tyynenmerensilli +tyynenmerenlohi +tyynenmerenmonarkki +tyynenmerenrotta +työläinen +työläisyys +työntyä +täydellinen +täydellistymä +täysihoito +täysihoitola +täysisukulainen +täysiverihevonen +täyttö +törähtää +uhkarohkea +uitto +Ukko +Ukraina +uloskäytävä +uloslasku +ulosotto +ulottua +ulottuma +umpeenkasvu +umpeenmeno +Unelma +uniikkikappale +Unkari +uppoama +Urho +URL-osoite +Utra +Uuno +uurteisvalas +Uusikylä +uusiseelantilainen +Uusitalo +Uusitupa +uzbekistanilainen +Vaajakoski +vaaleakultarinta +vaatetus +vahvuus +vaikutus +Vainio +vainolainen +vaivaisenluu +vajaamielinen +vajoama +vakaus +valikoima +valinnaisaine +valinnaiskurssi +valinnaistunti +valinnaisvaruste +Valkeakoski +valmisateria +valmisbetoni +valmismatka +valmisosa +valmispakkaus +valmisruoka +valmistalo +valmistujainen +valmistuote +valmistuttaa +valmisvaate +Valta +Valtimo +valtioviisas +Valtti +valuma +Valuri +vammainen +vapaaehtoinen +vapaalippulainen +varallisuus +Vares +Varis +Varkaus +Varma +Varsinais-Suomi +Vartio +Vasara +vasemmistolainen +Vasemmistoliitto +vastaanotto +vastaavanlainen +Vehmas +velallinen +velvoitus +Vento +venymä +venytys +Venäjä +Venäläinen +Vepsä +veri-aivoeste +veri-kiveseste +Vesa +veto +viehätys +Vieno +vietellä +Vietnam +viha-rakkaussuhde +viipymä +Viita +Viitasaari +viittoma +vinokaitale +vinokatto +vinoköysisilta +vinonauha +vinoneliö +vinoristi +vinoruutu +vinotuki +vioittuma +viritys +Viro +Virolainen +Virta +virtaama +Visa +vitaalikapasiteetti +Vittujärvi +Vittulampi +voidella +Voikko +voima +wrightiläinen +Vuokko +vuokralainen +Vuoksi +Vuolle +vuoristolainen +vuorolainen +vyörymä +vyörytys +vähittäishinta +vähittäiskauppa +vähittäiskauppias +vähittäismaksu +vähittäismyymälä +vähittäismyynti +väittämä +Väistö +väitellä +Välimeri +väritys +vääntymä +väärinkäsitys +vääristymä +ydinaseistaa +yhdistymä +yhteenajo +yhteenkuuluva +yhteenkuuluvaisuus +yhteenlaskettava +yhteenlaskettu +yhteenlasku +yhteenliittyminen +yhteenliittymä +yhteenotto +yhteensattuma +yhteensopimaton +yhteensopiva +yhteensovittaminen +yhteensovitus +yhteensulautuminen +yhteentörmäys +yhteenveto +yhteissointi +yhtenäiskoulu +yhtenäiskulttuuri +yhtenäisteoria +yhtymä +Yleisradio +ylempiarvoinen +ylenkatsoa +Ylinen +yliopistolainen +yltiöpää +Ylämaa +ylösnoussut +ymmärrys +yritellä +ystävällismielinen +ärtymä +äänitys +äännellä +päivänen +punanen +kultanen diff --git a/sukija/generate_lex.py b/sukija/generate_lex.py new file mode 100644 index 0000000..66cfdbd --- /dev/null +++ b/sukija/generate_lex.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- + +# Copyright 2007 Harri Pitkänen (hatapitk@iki.fi) +# 2013 Hannu Väisänen (Hannu.Vaisanen@uef.fi) +# +# Program to generate lexicon files for Suomi-malaga + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# Path to target directory +SUKIJA_LEX = u"sukija/voikonsanat" + +import sys +sys.path.append("common") +sys.path.append("sukija") +import generate_lex_common +import voikkoutils +import sukija +import hfconv +import xml.dom.minidom +import codecs +import getopt + +import locale +#print locale.getlocale(locale.LC_ALL) +locale.setlocale(locale.LC_ALL, '') + + +path = SUKIJA_LEX + +flag_attributes = voikkoutils.readFlagAttributes(generate_lex_common.VOCABULARY_DATA + u"/flags.txt") + +main_vocabulary = generate_lex_common.open_lex(path,"joukahainen.lex") +vocabulary_files = {} +for voc in generate_lex_common.SPECIAL_VOCABULARY: + vocabulary_files[voc[2]] = generate_lex_common.open_lex(path,voc[2]) + + +listfile = open(generate_lex_common.VOCABULARY_DATA + u'/joukahainen.xml', 'r') + +line = "" +while line != '\n': + line = listfile.readline() + if line == '': + sys.stderr.write("Malformed file " + generate_lex_common.VOCABULARY_DATA + \ + "/joukahainen.xml\n") + sys.exit(1) + +wcount = 0 +while True: + wordstr = "" + line = listfile.readline() + if line == "\n": break + while line != '\n': + wordstr = wordstr + line + line = listfile.readline() + word = xml.dom.minidom.parseString(wordstr + line) + sukija.handle_word(main_vocabulary, vocabulary_files, word.documentElement) + wcount = wcount + 1 + if wcount % 1000 == 0: + sys.stdout.write("#") + sys.stdout.flush() + +sys.stdout.write("\n") +listfile.close() +main_vocabulary.close() +for (name, file) in vocabulary_files.iteritems(): + file.close() + diff --git a/sukija/generoi.sh b/sukija/generoi.sh new file mode 100644 index 0000000..8e6d793 --- /dev/null +++ b/sukija/generoi.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006-2007 Hannu Väisänen +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +# Generoi taivutuskaavoista Malaga-koodia. + +cat ../inflection/ALKU.TXT >suomi.all + +../inflection/ast.pl ../inflection/nimisanat/*.ast ../inflection/teonsanat/*.ast >>suomi.all + +tail --lines=+47 ../inflection/KESKIOSA.TXT >>suomi.all + +../inflection/txt.pl ../inflection/nimisanat/*.txt ../inflection/teonsanat/*.txt >>suomi.all + +tail --lines=+47 ../inflection/LOPPU.TXT >>suomi.all diff --git a/sukija/malaga1.png b/sukija/malaga1.png new file mode 100644 index 0000000..ebd9a95 Binary files /dev/null and b/sukija/malaga1.png differ diff --git a/sukija/malaga2.png b/sukija/malaga2.png new file mode 100644 index 0000000..b66e563 Binary files /dev/null and b/sukija/malaga2.png differ diff --git a/sukija/malaga3.png b/sukija/malaga3.png new file mode 100644 index 0000000..52ccb62 Binary files /dev/null and b/sukija/malaga3.png differ diff --git a/sukija/sanat/11-19.lex b/sukija/sanat/11-19.lex new file mode 100644 index 0000000..8eab2d3 --- /dev/null +++ b/sukija/sanat/11-19.lex @@ -0,0 +1,540 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +[perusmuoto: "yksitoista", alku: "yksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhtätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhtenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdeksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdeltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yhdettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yksitoista", alku: "yksintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahtatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahtenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdeksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdeltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kahdettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kaksitoista", alku: "kaksintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmeatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmeksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmeentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmeltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmeintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolminatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolminetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmetoista", alku: "kolmintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljäntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljäätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljänätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljäksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljässätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljästätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljääntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljältätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljällätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljälletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljättoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljäintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljätoista", alku: "neljintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viitenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viideksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viiteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viideltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viidettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viittentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viisitoista", alku: "viisintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuuttatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuutenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudeksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuuteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudeltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuudettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuuttentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuusitoista", alku: "kuusintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemäntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemäntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemäätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsentätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemätätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemänätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsennätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemäksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemässätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemästätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemääntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemältätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemällätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemälletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemättoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemäintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsententoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitseminätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitseminetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemäntoista", alku: "seitsemintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksantoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksantoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksaatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksatatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksanatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksaksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksassatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksastatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksaantoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksaltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksallatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksalletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksattatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksattoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoidentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoittentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksaintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksojentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoitatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksojatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoihintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksoinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksantoista", alku: "kahdeksointoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksäntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksäntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksäätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksätätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksänätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksäksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksässätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksästätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksääntoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksältätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksällätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksälletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksättoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöidentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöittentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksäintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöjentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöitätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöjätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöihintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksäntoista", alku: "yhdeksöintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdestoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdentenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdenneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdenteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdenneltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdennettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdestoista", alku: "yhdensintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdestoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdentenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdenneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdenteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdenneltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdennettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdestoista", alku: "kahdensintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmastoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmattatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmantenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmanneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmanteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmanneltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmannettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kolmastoista", alku: "kolmansintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljästoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljäntenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänneltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljännettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "neljästoista", alku: "neljänsintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidestoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidentenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidenneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidenteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidenneltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidennettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "viidestoista", alku: "viidensintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudestoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudentenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudenneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudenteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudenneltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudennettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kuudestoista", alku: "kuudensintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemästoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemäntenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänneltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemännettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "seitsemästoista", alku: "seitsemänsintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksastoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksattatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksantenatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksanneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannessatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannestatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksanteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksanneltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannellatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannettatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksannettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansiatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansinatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansissatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansistatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansiltatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansillatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansittatoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "kahdeksastoista", alku: "kahdeksansintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksästoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksättätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksäntenätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänneksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännessätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännestätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänteentoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänneltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännellätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännelletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännettätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksännettoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsientoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsiätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsinätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsiksitoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsissätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsistätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsiintoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsiltätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsillätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsilletoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsittätoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsinetoista", luokka: lukusana, jatko: , äs: a]; +[perusmuoto: "yhdeksästoista", alku: "yhdeksänsintoista", luokka: lukusana, jatko: , äs: a]; diff --git a/sukija/sanat/atk-lyhenteet.lex b/sukija/sanat/atk-lyhenteet.lex new file mode 100644 index 0000000..446b22b --- /dev/null +++ b/sukija/sanat/atk-lyhenteet.lex @@ -0,0 +1,112 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006, 2009, 2013 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. +# +# This file has been modified by the contributors of Voikko project. +# Last change was on $Date: 2006-11-13 13:44:31 +0200 (ma, 13 marras 2006) $ by $Author: tlikonen $. + +# Lyhenteitä. (Lyhennesanat [esimerkiksi "Nato"] käsitellään Joukahaisessa) + +[alku: "alt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "ASCII", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjjj"]; +[alku: "ctrl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "CUPS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjjj"]; +[alku: "CVS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "eps", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # Encapsulated PostScript +[alku: "ftp", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # file transfer protocol +[alku: "FTP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # file transfer protocol +[alku: "fvwm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "gcc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "glibc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "GPL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "Gt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jq"]; +[alku: "icewm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "IDE", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "IMAP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjjj"]; +[alku: "IP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # Internet Protocol +[alku: "IRC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "jpg", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "KDE", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "kt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=qq"]; +[alku: "LGPL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "libstdc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "MS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; +[alku: "MS-DOS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj-=jjj"]; +[alku: "Mt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jq"]; +[alku: "NNTP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "NTFS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "NTP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "OpenBSD", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, tiedot: ]; +[alku: "opengl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "PCI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "PDF", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "RAID", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj"]; +[alku: "RAM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "RFC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "ROM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; +[alku: "RPM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "SCSI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "SFST", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj"]; # Stuttgart Finite State Transducer Tools +[alku: "SGML", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj"]; +[alku: "SPSS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj"]; # SPSS-ohjelma +[alku: "SQL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "SSH", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "ssh", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "tcl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "URI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, tiedot: , rakenne: "=jjj"]; +[alku: "URL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: , rakenne: "=jjj"]; +[alku: "UTF", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "vis5d", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "VRML", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj", tiedot: ]; +[alku: "vrml", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "wlan", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "wxgtk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "wxx11", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "XML", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj", tiedot: ]; +[alku: "xml", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "xmms", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; + + +#[alku: "", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; diff --git a/sukija/sanat/etuliitteet.lex b/sukija/sanat/etuliitteet.lex new file mode 100644 index 0000000..41751c1 --- /dev/null +++ b/sukija/sanat/etuliitteet.lex @@ -0,0 +1,316 @@ +# This data is based on Suomi-malaga 0.7 by Hannu Väisänen, and includes +# modifications from Harri Pitkänen, Teemu Likonen and others. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +# Etuliitteitä. Lisätessäsi etuliitteitä +# mieti, minkä sanaluokan sanoille kyseistä etuliitettä todella +# tarvitaan. Tämä parantaa oikoluvun laatua, varsinkin lyhyiden etuliitteiden +# kanssa. + +# Kaikissa etuliitteissä perusmuoto ja alku ovat samat, luokka = etuliite ja +# äs = aä. + +# == Näitä voi käyttää jatko-kentissä == +# @eln: etuliite (nimisanat) +# @ell: etuliite (laatusanat) +# @elt: etuliite (teonsanat) +# @eltj: etuliite (teonsanojen nimi- ja laatusanajohdokset) +# Huom! Jatkoa @eltj EI SAA käyttää yhdessä jatkon @eln tai @ell kanssa. +# FIXME: Nimisanojen etuliite kelpaa myös partisiipeille ja laatusanojen +# etuliite verbien -minen-substantiivijohdoksille. + +# tiedot-listassa voi käyttää symbolia ei_ysj estämään etuliitteen käyttö +# muualla kuin sanan alussa. + +# Etuliitteille, joissa on yhdysviiva lopussa ja jotka ovat sanastossa myös +# omina nimi- tai laatusanoina tai etuliitteinä (esim. "jazz-", "online-") +# kannatta laittaa tiedot-kenttään symboli ei_sukija, koska Sukija-versiossa +# yhdysviiva kelpaa minkä tahansa etuliitteen jälkeen. + +[perusmuoto: "aero", alku: "aero", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "agro", alku: "agro", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "aikakaus", alku: "aikakaus", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pppp=pppp"]; +[perusmuoto: "ainais", alku: "ainais", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "ajantasa", alku: "ajantasa", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pppp=pppp"]; +[perusmuoto: "alas", alku: "alas", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "ali", alku: "ali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "alkeis", alku: "alkeis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "alkuperäis", alku: "alkuperäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: , rakenne: "=pppp=pppppp"]; +[perusmuoto: "alkuun", alku: "alkuun", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; # Alkuunpanija jne. +[perusmuoto: "alle", alku: "alle", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "amfibio", alku: "amfibio", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; # On sana: "amfibio lentokone". +[perusmuoto: "ampuma", alku: "ampuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "anarko", alku: "anarko", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; # -kapitalismi, -kommunismi. +[perusmuoto: "anglo", alku: "anglo", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; # On sana: "anglo saksi". +[perusmuoto: "anti", alku: "anti", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "astraali", alku: "astraali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "astro", alku: "astro", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "asuin", alku: "asuin", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "auki", alku: "auki", luokka: etuliite, jatko: @eltj, äs: aä, tiedot: ]; +[perusmuoto: "avo", alku: "avo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "bi-", alku: "bi-", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pp-"]; +[perusmuoto: "bio", alku: "bio", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "digi", alku: "digi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "digitaali", alku: "digitaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "edestakais", alku: "edestakais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: , rakenne: "=pppp=pppppp"]; +[perusmuoto: "ei-", alku: "ei-", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pp-"]; +[perusmuoto: "eko", alku: "eko", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "elektro", alku: "elektro", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "enimmäis", alku: "enimmäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "enkel", alku: "enkel", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ennen", alku: "ennen", luokka: etuliite, jatko: @eln + @ell + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ensi", alku: "ensi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ensiö", alku: "ensiö", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "epä", alku: "epä", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä]; +[perusmuoto: "eri", alku: "eri", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä]; +[perusmuoto: "erikois", alku: "erikois", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "erillis", alku: "erillis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "erityis", alku: "erityis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "esi", alku: "esi", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä]; +[perusmuoto: "esiin", alku: "esiin", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "etno", alku: "etno", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "etä", alku: "etä", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä]; +[perusmuoto: "Euro-", alku: "Euro-", luokka: etuliite, jatko: @eln, äs: aä, tiedot: , rakenne: "=ippp-"]; +[perusmuoto: "fenno", alku: "fenno", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "feodaali", alku: "feodaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ferro", alku: "ferro", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "finanssi", alku: "finanssi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "finn", alku: "finn", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "geo", alku: "geo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; # Aiheuttaa joidenkin väärien sanojen tunnistumisen, mm. *geograafia. +[perusmuoto: "haja-", alku: "haja-", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, rakenne: "=pppp-", tiedot: ]; +[perusmuoto: "haja", alku: "haja", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "haukkuma", alku: "haukkuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "hautoma", alku: "hautoma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "herras", alku: "herras", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "hieroma", alku: "hieroma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "hioma", alku: "hioma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "huippu", alku: "huippu", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "hydro", alku: "hydro", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "hyper", alku: "hyper", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "iki", alku: "iki", luokka: etuliite, jatko: @eln + @ell, äs: ä]; +[perusmuoto: "imaginaari", alku: "imaginaari", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "immateriaali", alku: "immateriaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "indo", alku: "indo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "infra", alku: "infra", luokka: etuliite, jatko: @eln + @ell, äs: aä]; # Lähes turha. +[perusmuoto: "inva", alku: "inva", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "irti", alku: "irti", luokka: etuliite, jatko: @eln + @ell + @elt, äs: ä, tiedot: ]; +[perusmuoto: "irto", alku: "irto", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "irvi", alku: "irvi", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "islami", alku: "islami", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "istuma", alku: "istuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "itseis", alku: "itseis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "jouto", alku: "jouto", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "julki", alku: "julki", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "jumal", alku: "jumal", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "jälleen", alku: "jälleen", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "jälleen", alku: "jälleen", luokka: etuliite, jatko: @eltj, äs: aä, tiedot: ]; +[perusmuoto: "kaakkois", alku: "kaakkois", luokka: etuliite, aluetta_tarkentava_etuliite: yes, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "kaatuma", alku: "kaatuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kaiken", alku: "kaiken", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kaksin", alku: "kaksin", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kaksin", alku: "kaksin", luokka: etuliite, jatko: @elt + @eln, äs: aä, tiedot: ]; # -kamppailla, -kamppailu, -peli +[perusmuoto: "kaksois", alku: "kaksois", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kanssa", alku: "kanssa", luokka: etuliite, jatko: @eln + @ell, äs: aä]; # Mahdollisesti vain verbin subst.- ja adj.johdoksiin +[perusmuoto: "karjo", alku: "karjo", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kauko", alku: "kauko", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kausaali", alku: "kausaali", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "kautta", alku: "kautta", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "kesken", alku: "kesken", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä]; +[perusmuoto: "keski", alku: "keski", luokka: etuliite, aluetta_tarkentava_etuliite: yes, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kierteis", alku: "kierteis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kiinni", alku: "kiinni", luokka: etuliite, jatko: @eltj, äs: aä]; +[perusmuoto: "kiinto", alku: "kiinto", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "koe", alku: "koe", luokka: etuliite, jatko: @elt, äs: aä]; +[perusmuoto: "koillis", alku: "koillis", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "kollegiaali", alku: "kollegiaali", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "kolmi", alku: "kolmi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kolmois", alku: "kolmois", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kontra", alku: "kontra", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kosio", alku: "kosio", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kotiin", alku: "kotiin", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "kukkais", alku: "kukkais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kuolin", alku: "kuolin", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kuorima", alku: "kuorima", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kutoma", alku: "kutoma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kutsuma", alku: "kutsuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "kvasi", alku: "kvasi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kyber", alku: "kyber", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "kyynär", alku: "kyynär", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "käsin", alku: "käsin", luokka: etuliite, jatko: @eltj, äs: aä]; +[perusmuoto: "käänteis", alku: "käänteis", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "kääntymä", alku: "kääntymä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "lehmi", alku: "lehmi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "leivin", alku: "leivin", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "liehu", alku: "liehu", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "liikkuma", alku: "liikkuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "live-", alku: "live-", luokka: etuliite, jatko: @eln, äs: aä, rakenne: "=pppp-", tiedot: ]; +[perusmuoto: "lounais", alku: "lounais", luokka: etuliite, aluetta_tarkentava_etuliite: yes, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "luontais", alku: "luontais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "luoteis", alku: "luoteis", luokka: etuliite, aluetta_tarkentava_etuliite: yes, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "lyömä", alku: "lyömä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "lähi", alku: "lähi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "läsnä", alku: "läsnä", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "maalis", alku: "maalis", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "mentaali", alku: "mentaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "mestaris", alku: "mestaris", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "meta", alku: "meta", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "militaari", alku: "militaari", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "morsius", alku: "morsius", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "muinais", alku: "muinais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "multi", alku: "multi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "myöhäis", alku: "myöhäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "myötä", alku: "myötä", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "naima", alku: "naima", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "nano", alku: "nano", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "nukkuma", alku: "nukkuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "nyky", alku: "nyky", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "näennäis", alku: "näennäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ohi", alku: "ohi", luokka: etuliite, jatko: @eltj, äs: a]; +[perusmuoto: "oikein", alku: "oikein", luokka: etuliite, jatko: @eltj, äs: a]; +[perusmuoto: "oiko", alku: "oiko", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "olympia", alku: "olympia", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ominais", alku: "ominais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "online", alku: "online", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pp=pppp"]; +[perusmuoto: "online-", alku: "online-", luokka: etuliite, jatko: @eln + @ell, äs: aä, rakenne: "=pp=pppp-", tiedot: ]; +[perusmuoto: "osittais", alku: "osittais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "osuma", alku: "osuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "pappis", alku: "pappis", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "peri", alku: "peri", luokka: etuliite, jatko: @ell + @eln, äs: aä]; +[perusmuoto: "perille", alku: "perille", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "perään", alku: "perään", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "pesimä", alku: "pesimä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "pienois", alku: "pienois", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "pika", alku: "pika", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "pikku", alku: "pikku", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "pitkittäis", alku: "pitkittäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "poikittais", alku: "poikittais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "poikki", alku: "poikki", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "pois", alku: "pois", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "pois", alku: "pois", luokka: etuliite, jatko: @eltj, äs: aä, tiedot: ]; +[perusmuoto: "poissa-", alku: "poissa-", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, rakenne: "=pppppp-", tiedot: ]; +[perusmuoto: "poly", alku: "poly", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "pop-", alku: "pop-", luokka: etuliite, jatko: @eln, äs: aä, rakenne: "=ppp-", tiedot: ]; +[perusmuoto: "porvaris", alku: "porvaris", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "post-", alku: "post-", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, rakenne: "=pppp-", tiedot: ]; +[perusmuoto: "pre-", alku: "pre-", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, rakenne: "=ppp-", tiedot: ]; +[perusmuoto: "pseudo", alku: "pseudo", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "puima", alku: "puima", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "puoli", alku: "puoli", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "puolittais", alku: "puolittais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "pysyväis", alku: "pysyväis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "päälle", alku: "päälle", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "raitio", alku: "raitio", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "rationaali", alku: "rationaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "refleksiivi", alku: "refleksiivi", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "riippu", alku: "riippu", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "rinnakkais", alku: "rinnakkais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ristimä", alku: "ristimä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "rouvas", alku: "rouvas", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "sala", alku: "sala", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "sala", alku: "sala", luokka: etuliite, jatko: @elt, äs: aä, tiedot: ]; +[perusmuoto: "satunnais", alku: "satunnais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "seisoma", alku: "seisoma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "seitsen", alku: "seitsen", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "seka", alku: "seka", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "seksuaali", alku: "seksuaali", luokka: etuliite, jatko: @eln + @ell, äs: a]; +[perusmuoto: "sijais", alku: "sijais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "sisällis", alku: "sisällis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "sisään", alku: "sisään", luokka: etuliite, jatko: @eltj, äs: aä]; +[perusmuoto: "sivuttais", alku: "sivuttais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "sosiaali", alku: "sosiaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "sosio", alku: "sosio", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "sovinnais", alku: "sovinnais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "suhu", alku: "suhu", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "super", alku: "super", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "supra", alku: "supra", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "suur", alku: "suur", luokka: etuliite, aluetta_tarkentava_etuliite: yes, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "synnyin", alku: "synnyin", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "syys", alku: "syys", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "syömä", alku: "syömä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "taka", alku: "taka", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "takaisin", alku: "takaisin", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tasa", alku: "tasa", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tarttuma", alku: "tarttuma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tekno", alku: "tekno", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "termo", alku: "termo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "tieteis", alku: "tieteis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tois", alku: "tois", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "toivio", alku: "toivio", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "totaali", alku: "totaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "tummanpuna", alku: "tummanpuna", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tummanpurppura", alku: "tummanpurppura", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tummansini", alku: "tummansini", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "tämän-", alku: "tämän-", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: , rakenne: "=ppppp-"]; +[perusmuoto: "täsmä", alku: "täsmä", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "täys", alku: "täys", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "uima", alku: "uima", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ulko", alku: "ulko", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ulos", alku: "ulos", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "ulos", alku: "ulos", luokka: etuliite, jatko: @eltj, äs: aä, tiedot: ]; +[perusmuoto: "ultra", alku: "ultra", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "umpi", alku: "umpi", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "uppo", alku: "uppo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "uudelleen", alku: "uudelleen", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "uudelleen", alku: "uudelleen", luokka: etuliite, jatko: @eltj, äs: aä, tiedot: ]; +[perusmuoto: "uudis", alku: "uudis", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "uus", alku: "uus", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "uusio", alku: "uusio", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vaivais", alku: "vaivais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vaaleanpuna", alku: "vaaleanpuna", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vaaleanpurppura", alku: "vaaleanpurppura", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vaaleansini", alku: "vaaleansini", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "valko", alku: "valko", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "vammais", alku: "vammais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vapaa", alku: "vapaa", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "varhais", alku: "varhais", luokka: etuliite, jatko: @eln, äs: aä, tiedot: ]; +[perusmuoto: "varo", alku: "varo", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "vastaan", alku: "vastaan", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "vastakkais", alku: "vastakkais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "veneeri", alku: "veneeri", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "vertais", alku: "vertais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "vierekkäis", alku: "vierekkäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "viher", alku: "viher", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "vihki", alku: "vihki", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "vihkimä", alku: "vihkimä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "viitois", alku: "viitois", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "virpoma", alku: "virpoma", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "virtuaali", alku: "virtuaali", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "vuos", alku: "vuos", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "vähimmäis", alku: "vähimmäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "väliaikais", alku: "väliaikais", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: , rakenne: "=pppp=pppppp"]; +[perusmuoto: "väärin", alku: "väärin", luokka: etuliite, jatko: @eltj, äs: aä]; +[perusmuoto: "yhdys", alku: "yhdys", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "yhteen", alku: "yhteen", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "yhteis", alku: "yhteis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "yhtä", alku: "yhtä", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "yksin", alku: "yksin", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "yksittäis", alku: "yksittäis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "yksityis", alku: "yksityis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "yksöis", alku: "yksöis", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "yleis", alku: "yleis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ylen", alku: "ylen", luokka: etuliite, jatko: @eln + @ell + @elt, äs: ä, tiedot: ]; +[perusmuoto: "yli", alku: "yli", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ylitse", alku: "ylitse", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "yltiö", alku: "yltiö", luokka: etuliite, jatko: @ell, äs: aä, tiedot: ]; +[perusmuoto: "ylä", alku: "ylä", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "ylön", alku: "ylön", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "ylös", alku: "ylös", luokka: etuliite, jatko: @eln + @ell + @elt, äs: aä, tiedot: ]; +[perusmuoto: "ympäri", alku: "ympäri", luokka: etuliite, jatko: @eltj, äs: aä]; +[perusmuoto: "äkki", alku: "äkki", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "äsken", alku: "äsken", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "ääreis", alku: "ääreis", luokka: etuliite, jatko: @eln + @ell, äs: aä, tiedot: ]; +[perusmuoto: "öky", alku: "öky", luokka: etuliite, jatko: @eln + @ell, äs: aä]; diff --git a/sukija/sanat/jokinen.lex b/sukija/sanat/jokinen.lex new file mode 100644 index 0000000..d1944fe --- /dev/null +++ b/sukija/sanat/jokinen.lex @@ -0,0 +1,69 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +[perusmuoto: "heinjokelainen", alku: "heinjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppp=pppppppppp"]; +[perusmuoto: "heinjokinen", alku: "heinjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppp=ppppppp"]; +[perusmuoto: "jongunjokelainen", alku: "jongunjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=pppppppppp"]; +[perusmuoto: "jongunjokinen", alku: "jongunjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=ppppppp"]; +[perusmuoto: "padasjokelainen", alku: "padasjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=pppppppppp"]; +[perusmuoto: "padasjokinen", alku: "padasjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppp"]; +[perusmuoto: "pisinjokelainen", alku: "pisinjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=pppppppppp"]; +[perusmuoto: "pisinjokinen", alku: "pisinjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppp"]; +[perusmuoto: "siestarjokelainen", alku: "siestarjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppppp=pppppppppp"]; +[perusmuoto: "siestarjokinen", alku: "siestarjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppppp=ppppppp"]; +[perusmuoto: "terijokelainen", alku: "terijokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppp=pppppppppp"]; +[perusmuoto: "terijokinen", alku: "terijoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppp=ppppppp"]; +[perusmuoto: "tohmajokelainen", alku: "tohmajokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=pppppppppp"]; +[perusmuoto: "tohmajokinen", alku: "tohmajoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppp"]; +[perusmuoto: "tuulosjokelainen", alku: "tuulosjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=pppppppppp"]; +[perusmuoto: "tuulosjokinen", alku: "tuulosjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=ppppppp"]; +[perusmuoto: "utsjokelainen", alku: "utsjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppp=pppppppppp"]; +[perusmuoto: "utsjokinen", alku: "utsjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppp=ppppppp"]; +[perusmuoto: "vaaherjokelainen", alku: "vaaherjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=pppppppppp"]; +[perusmuoto: "vaaherjokinen", alku: "vaaherjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=pppppp=ppppppp"]; +[perusmuoto: "väinäjokelainen", alku: "väinäjokelai", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=pppppppppp"]; +[perusmuoto: "väinäjokinen", alku: "väinäjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppp"]; diff --git a/sukija/sanat/jokinen.sh b/sukija/sanat/jokinen.sh new file mode 100644 index 0000000..2707644 --- /dev/null +++ b/sukija/sanat/jokinen.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Tehdään joki-sanaan päättyvistä paikannimistä +# -kelainen ja -kinen -loppuiset nimi-laatusanat. +# Esim. Utsjoki -> utsjokelainen, utsjokinen. + +grep 'joki",' paikannimet.lex \ +| gawk '{ + print "[perusmuoto:", substr($4,1,length($4)-2) "kelainen\", alku:", + substr($4,1,length($4)-2) \ + "kelai\", luokka: nimi_laatusana, jatko: , äs: a];" + print "[perusmuoto:", substr($4,1,length($4)-2) "kinen\", alku:", + substr($4,1,length($4)-2) \ + "ki\", luokka: nimi_laatusana, jatko: , äs: a];" +}' >jokinen.lex + diff --git a/sukija/sanat/latex.lex b/sukija/sanat/latex.lex new file mode 100644 index 0000000..a322eba --- /dev/null +++ b/sukija/sanat/latex.lex @@ -0,0 +1,212 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006, 2009 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +# LaTeX-komentoja ja -makroja. +# +# +[perusmuoto: "address", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "addtocounter", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "anchor", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "appendix", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "article", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "author", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "backsheet", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "begin", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "bf", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "bibliography", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "bibliographystyle", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "big", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "bigskip", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "bookletsheet", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "caption", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "centerline", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "center", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "cite", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "clearpage", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "cline", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "closing", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "copyright", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "date", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "deg", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "del", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "documentclass", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "document", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "dotfill", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "dots", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "edk", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "em", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "emph", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "endfirsthead", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "endfoot", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "endhead", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "endlastfoot", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "end", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "epsfbox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "epsffile", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "fbox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "fill", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "footnote", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "footnotemark", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "footnotesize", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "footnotetext", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "frac", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "framebox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "frenchspacing", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "headings", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "hfill", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "hline", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "hspace", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "huge", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "iflabeldefined", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "include", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "input", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "item", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "it", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ixn", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ixp", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ixx", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kill", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kkv", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kv", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kvv", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "label", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "large", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "leftmargin", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "leftskip", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "linewidth", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "listoffigures", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "listoftables", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "longtable", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ltcapwidth", luokka: nimisana, jatko: , äs: a, tiedot: ]; +# [perusmuoto: "", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "macros", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "maketitle", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ma", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "margin", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "marginpar", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "markright", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mathit", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "math", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mathrm", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mb", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mbox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mc", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "md", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "medskip", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "me", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "minipage", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mm", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "multicols", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "multicolumn", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "mysection", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "names", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "needstexformat", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "newcommand", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "newpage", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "newsavebox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "nopagebreak", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "null", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "opening", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "own", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pageref", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pagestyle", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "parbox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "parindent", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "parskip", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "picture", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pkta", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "places", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "poptabs", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pp", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "printindex", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "protect", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pushtabs", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pvm", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "qq", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "quote", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "raggedright", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "raisebox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ref", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "renewcommand", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "rightthreetimes", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "rm", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "savebox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "scriptsize", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "section", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "setlength", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "setlongtables", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "signature", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "sl", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "small", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "smallskip", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "source", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "space", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "subfigure", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "subsection", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tabbing", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tableofcontents", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tabular", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "textwidth", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "times", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tiny", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "title", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "titlepage", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "today", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tolerance", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tt", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "twoside", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ty", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "tyy", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "underbar", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "underline", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "usebox", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "usename", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "usepackage", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "value", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "verbatim", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "vspace", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "words", luokka: nimisana, jatko: , äs: a, tiedot: ]; diff --git a/sukija/sanat/lyhenteet.lex b/sukija/sanat/lyhenteet.lex new file mode 100644 index 0000000..91127fb --- /dev/null +++ b/sukija/sanat/lyhenteet.lex @@ -0,0 +1,422 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006-2007 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. +# +# This file has been modified by the contributors of Voikko project. +# Last change was on $Date$ by $Author$. + +# Lyhenteitä. (Lyhennesanat [esimerkiksi "Nato"] käsitellään Joukahaisessa) +# +# Muista, että lyhenteen voi joskus lukea sekä lyhentämättömässä muodossaan +# (esim. "aktiebolag") että kirjain kerrallaan ("aa-bee"). Tämä saattaa +# tarkoittaa, että etu- ja takavokaalitaivutukset täytyy molemmat hyväksyä. + +define @lyhenteen_jatko := ; + +[alku: "1:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # 1° +[alku: "2:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # 2° jne +[alku: "3:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "4:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "5:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "6:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "7:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "8:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "9:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; + +[alku: "A4", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; +[alku: "ab", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # aktiebolag, osakeyhtiö +[alku: "ADD", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Attention Deficit Disorder +[alku: "ADHD", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; # Attention Deficit (and) Hyperactivity Disorder +[alku: "adj.", luokka: lyhenne, jatko: , äs: aä]; # adjektiivi +[alku: "ADSL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "AIDS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj", tiedot: ]; # Acquired Immune Deficiency Syndrome +[alku: "alk.", luokka: lyhenne, jatko: , äs: aä]; # alkuaan, alkaen +[alku: "ALV", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # arvonlisävero +[alku: "ao.", luokka: lyhenne, jatko: , äs: aä]; # asianomainen +[alku: "a.p.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "apulaisj.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "apul.joht.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "arv.", luokka: lyhenne, jatko: , äs: aä]; # arvoisa +[alku: "ASO", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj", tiedot: ]; +[alku: "atk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # automaattinen tietojen käsittely +[alku: "ATK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # automaattinen tietojen käsittely +[alku: "ay", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # avoin yhtiö; ammattiyhdistys +[alku: "bar", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "BBC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # British Broadcasting Corporation +[alku: "BKT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # bruttokansantuote +[alku: "cd", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # cd-levy; kandela +[alku: "CD", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # cd-levy +[alku: "cd-rom", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "CD-ROM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj-=jjj", tiedot: ]; +[alku: "CIA", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Central Intelligence Agency +[alku: "cm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # senttimetri(ä) +[alku: "CNN", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Cable News Network +[alku: "COSS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj", tiedot: ]; +[alku: "c.s.i.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "csi", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "dem.", luokka: lyhenne, jatko: , äs: aä]; # demokraattinen +[alku: "dlf", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "dl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # desilitra(a) +[alku: "DNA", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # deoksiribonukleiinihappo +[alku: "dvd", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # digital versatile disk +[alku: "DVD", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj", tiedot: ]; # digital versatile disk +[alku: "dvi", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "eaa.", luokka: lyhenne, jatko: , äs: aä]; # ennen ajanlaskun alkua +[alku: "EAN", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # European Article Number, EAN-koodi +[alku: "ed.", luokka: lyhenne, jatko: , äs: aä]; # edellinen; edellä; edustaja +[alku: "EEC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "EEST", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; # Eastern European Summer Time +[alku: "EET", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Eastern European Time +[alku: "EKG", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "EK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; # eduskunta +[alku: "eKr.", luokka: lyhenne, jatko: , äs: aä, rakenne: "=qjqq"]; # ennen Kristuksen syntymää +[alku: "elok.", luokka: lyhenne, jatko: , äs: a]; # elokuu +[alku: "em.", luokka: lyhenne, jatko: , äs: aä]; # edellä mainittu +[alku: "EM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # euroopanmestaruus, Euroopan-mestaruus... +[alku: "emt.", luokka: lyhenne, jatko: , äs: aä]; # edellä mainittu teos +[alku: "ent.", luokka: lyhenne, jatko: , äs: aä]; # entinen +[alku: "esim", luokka: lyhenne, jatko: , äs: ä, tiedot: ]; +[alku: "esim.", luokka: lyhenne, jatko: , äs: aä]; # esimerkki +[alku: "esp", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "EU", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; # Euroopan unioni +[alku: "EUR", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # euro(a) +[alku: "ev.", luokka: lyhenne, jatko: , äs: aä]; # eversti +[alku: "FAQ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # Frequently Asked Questions +[alku: "FBI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Federal Bureau of Investigation +[alku: "fft", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "fia", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "FI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # Suomen maatunnus +[alku: "fi", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # suomen kielitunnus +[alku: "FL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # filosofian lisensiaatti +[alku: "FM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # filosofian maisteri +[alku: "FT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # filosofian tohtori +[alku: "GMT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Greenwich Mean Time +[alku: "GPS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "gsl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "GSM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Global System for Mobile Communication +[alku: "ha", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; # hehtaari +[alku: "harv.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "heinäk.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "helmik.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "HIV", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # human immunodeficiency virus +[alku: "hra", luokka: lyhenne, jatko: , äs: aä]; +[alku: "HS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj", tiedot: ]; # Helsingin Sanomat +[alku: "hth", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "HTML", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "http", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "HTTP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "huhtik.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "huom.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "Hz", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jq"]; # hertsi(ä) +[alku: "iag", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "IKL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj", tiedot: ]; # Isänmaallinen kansanliike +[alku: "ilm.", luokka: lyhenne, jatko: , äs: aä]; # ilmestynyt; ilmoitus +[alku: "IMF", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # International Monetary Fund +[alku: "ISBN", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; # International Standard Book Number +[alku: "it", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # information technology; ilmatorjunta +[alku: "IT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # information technology; ilmatorjunta +[alku: "jaa.", luokka: lyhenne, jatko: , äs: aä]; # jälkeen ajanlaskun alun +[alku: "j.e.p.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Ja niin edespäin. +[alku: "Jk.", luokka: lyhenne, jatko: , äs: aä, rakenne: "=jqq"]; # jälkikirjoitus +[alku: "jKr.", luokka: lyhenne, jatko: , äs: aä, rakenne: "=qjqq"]; # jälkeen Kristuksen syntymän +[alku: "jne.", luokka: lyhenne, jatko: , äs: aä]; # ja niin edelleen +[alku: "j.n.e.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "jnep", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Ja niin edespäin. +[alku: "jouluk.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kd", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; # Kansandemokraatti. +[alku: "kesäk.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kg", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # kilogramma(a) +[alku: "kh.", luokka: lyhenne, jatko: , äs: aä]; # koehenkilö; kylpyhuone; kertausharjoitus +[alku: "KH", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj", tiedot: ]; +[alku: "khra", luokka: lyhenne, jatko: , äs: aä]; # kirkkoherra +[alku: "kHz", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=qjq"]; # kilohertsi +[alku: "kirj.", luokka: lyhenne, jatko: , äs: aä]; # kirjoittanut; kirjataan +[alku: "kJ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=qj"]; # kilojoule +[alku: "kk.", luokka: lyhenne, jatko: , äs: a]; # kirkonkylä; keittokomero +[alku: "kk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; # kuukausi +[alku: "k:llo", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "klo", luokka: lyhenne, jatko: , äs: aä]; # kello (sisälyhenne, ei taivuteta kaksoispisteen avulla) +[alku: "km", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # kilometri +[alku: "ko.", luokka: lyhenne, jatko: , äs: aä]; # kyseessä oleva +[alku: "kok.", luokka: lyhenne, jatko: , äs: aä]; # Kokoomus; kokelas +[alku: "kom.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Kommunisti(t). +[alku: "kpl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # kappale(tta) +[alku: "kr", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # kruunu(a) +[alku: "krs", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # kerros +[alku: "ks.", luokka: lyhenne, jatko: , äs: aä]; # katso +[alku: "kts", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "ldl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "LED", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "lis.", luokka: lyhenne, jatko: , äs: aä]; # lisensiaatti +[alku: "lkm.", luokka: lyhenne, jatko: , äs: aä]; # lukumäärä +[alku: "LKP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Liberaalinen kansanpuolue. +[alku: "lokak.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "LP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # LP-levy +[alku: "lut.", luokka: lyhenne, jatko: , äs: aä]; # luterilainen +[alku: "LVI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # lämmitys-, vesijohto- ja ilmanvaihtotekniikka +[alku: "maalisk.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "maanvilj.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "maanv.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "maist.", luokka: lyhenne, jatko: , äs: aä]; # maisteri +[alku: "marrask.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "MHz", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjq"]; # megahertsi(ä) +[alku: "MikroPC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "milj.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "mg", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; # milligramma +[alku: "mk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, tiedot: ]; # markka(a), ei Voikossa koska ei juurikaan esiinny uusissa teksteissä +[alku: "ml", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # millilitra(a) +[alku: "mma", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "mm.", luokka: lyhenne, jatko: , äs: aä]; # muun muassa +[alku: "MM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # maailmanmestaruus +[alku: "mm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # millimetri(ä) +[alku: "mp3", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "MP3", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; +[alku: "mrd.", luokka: lyhenne, jatko: , äs: aä]; # miljardia +[alku: "mrk", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Markkaa. +[alku: "MTK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; +[alku: "MTV3", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjjj", tiedot: ]; +[alku: "MTV", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "mv", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; # Maanviljelijä. +[alku: "n.", luokka: lyhenne, jatko: , äs: aä]; # noin +[alku: "nimim.", luokka: lyhenne, jatko: , äs: aä]; # nimimerkki +[alku: "nk.", luokka: lyhenne, jatko: , äs: aä]; # niin kutsuttu +[alku: "n.k.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Niin kutsuttu. +[alku: "NHL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # National Hockey League +[alku: "NKP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Neuvostoliiton kommunistinen puolue. +[alku: "n:o.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Numero. +[alku: "ns.", luokka: lyhenne, jatko: , äs: aä]; # niin sanottu +[alku: "n.s.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # Niin sanottu. +[alku: "nuor.", luokka: lyhenne, jatko: , äs: aä]; # Nuorsuomalainen. +[alku: "OK", luokka: lyhenne, jatko: , äs: a, rakenne: "=jj"]; +[alku: "op.", luokka: lyhenne, jatko: , äs: aä]; # opettaja +[alku: "o.s.", luokka: lyhenne, jatko: , äs: aä]; # omaa sukua +[alku: "os.", luokka: lyhenne, jatko: , äs: aä]; # osoite; osasto +[alku: "OTK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Osuustukkukauppa. +[alku: "oyj", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # julkinen osakeyhtiö +[alku: "oy", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # osakeyhtiö +[alku: "pc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # parsek(ia); pesonal computer +[alku: "PC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # personal computer +[alku: "pH", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=qj"]; +[alku: "pj", luokka: lyhenne, jatko: , äs: aä]; # puheenjohtaja +[alku: "pj.", luokka: lyhenne, jatko: , äs: aä]; # puheenjohtaja +[alku: "varapj", luokka: lyhenne, jatko: , äs: aä, rakenne: "=qqqqqq"]; # varapuheenjohtaja +[alku: "varapj.", luokka: lyhenne, jatko: , äs: aä, rakenne: "=qqqqqq"]; # varapuheenjohtaja +[alku: "pl.", luokka: lyhenne, jatko: , äs: aä]; # pois lukien +[alku: "pnä", luokka: lyhenne, jatko: , äs: aä]; # päivänä +[alku: "po.", luokka: lyhenne, jatko: , äs: aä]; # pitää olla; puheena oleva +[alku: "POP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "porv.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "PR", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # public relations +[alku: "prof.", luokka: lyhenne, jatko: , äs: aä]; # professori +[alku: "ps", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # pussi(a) +[alku: "PS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # jälkikirjoitus; Perussuomalaiset (puolue) +[alku: "puh.joht.", luokka: lyhenne, jatko: , äs: aä]; # puheenjohtaja +[alku: "puh.", luokka: lyhenne, jatko: , äs: aä]; # puhelin +[alku: "pvä", luokka: lyhenne, jatko: , äs: aä]; # päivä +[alku: "qt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "rad", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # radiaani(a) +[alku: "rkl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; # ruokalusikallinen, -sta +[alku: "RKP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Ruotsalainen Kansanpuolue +[alku: "r.l.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "rn:o", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; # (Maatilan) rekisterinumero. +[alku: "rva", luokka: lyhenne, jatko: , äs: aä]; # rouva +[alku: "r.y.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "ry", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # rekisteröity yhdistys +[alku: "s.", luokka: lyhenne, jatko: , äs: aä]; # sivu +[alku: "SAJ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Suomen Ammattijärjestöjen Keskusjärjestö. +[alku: "SAK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Suomen Ammattiliittojen Keskusjärjestö +[alku: "SA", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; # Suomen Akatemia; Suomen armeija +[alku: "sd.", luokka: lyhenne, jatko: , äs: aä]; # sosiaalidemokraatti +[alku: "SDP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Suomen Sosialidemokraattinen Puolue +[alku: "sf", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "SI", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # kansainvälinen mittayksikköjärjestelmä +[alku: "SKDL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj"]; # Suomen Kansan Demokraattinen Liitto +[alku: "s.k.d.l", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "SKL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Suomen Kristillinen Liitto; Suomen kuntaliitto +[alku: "SK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; # Suomen Kuvalehti +[alku: "SKOP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "SKP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Suomen Kommunistinen Puolue +[alku: "SKS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Suomalaisen Kirjallisuuden Seura +[alku: "Smk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jqq", tiedot: ]; # Suomen markka +[alku: "SM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # suomenmestaruus, Suomen-mestaruus, Suomen mestaruus +[alku: "SMP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Suomen Maaseudun Puolue +[alku: "SNDL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj", tiedot: ]; +[alku: "SNTL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj", tiedot: ]; # Sosialististen neuvostotasavaltojen liitto +[alku: "snt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # sentti(ä) +[alku: "so.", luokka: lyhenne, jatko: , äs: aä]; # se on +[alku: "soqt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "sos.dem.", luokka: lyhenne, jatko: , äs: aä]; # sosiaalidemokraatti(nen) +[alku: "sos.", luokka: lyhenne, jatko: , äs: aä]; # sosiaalinen; sosialisti(nen) +[alku: "SOS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Save Our Souls +[alku: "SPR", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "ST1", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "STL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Suomen Teollisuustoimihenkilöiden Liitto +[alku: "STT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Suomen Tietotoimisto +[alku: "suom.", luokka: lyhenne, jatko: , äs: aä]; # suomentanut, suomennos +[alku: "synt.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "SYP", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "syysk.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "tammik.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "TEL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "TKK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; +[alku: "tlk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # tölkki(ä) +[alku: "tl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # teelusikallinen, -sta +[alku: "tmi", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # toiminimi +[alku: "tm.", luokka: lyhenne, jatko: , äs: aä]; # tai muu(ta) +[alku: "tms.", luokka: lyhenne, jatko: , äs: aä]; # tai muuta sellaista +[alku: "toim.", luokka: lyhenne, jatko: , äs: aä]; # toimittanut, toimittaja +[alku: "toukok.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "tov.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "TPSL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjjj", tiedot: ]; +[alku: "tri", luokka: lyhenne, jatko: , äs: aä]; # tohtori +[alku: "tsfs", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "tsl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "ts.", luokka: lyhenne, jatko: , äs: aä]; # toisin sanoen +[alku: "tst", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "TUL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; # Työväen Urheiluliitto +[alku: "TVL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "TV", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # televisio, teevee +[alku: "tv", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, tiedot: ]; # televisio, teevee +[alku: "ty", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +[alku: "UKK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Usein kysyttyjä kysymyksiä; Urho Kaleva Kekkonen +[alku: "UMTS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; # Universal Mobile Telecommunication System +[alku: "umts", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # Universal Mobile Telecommunication System +[alku: "USA", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # United States of America +[alku: "USB", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; +[alku: "UTC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # Universal Coordinated Time +[alku: "v3", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, tiedot: ]; +#alku: "vanh.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "virall.", luokka: lyhenne, jatko: , äs: aä, tiedot: ]; +[alku: "VRK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # Väestörekisterikeskus +[alku: "vrk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; # vuorokausi +[alku: "VR", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # VR-konserni +[alku: "vrt.", luokka: lyhenne, jatko: , äs: aä]; # vertaa +[alku: "vs.", luokka: lyhenne, jatko: , äs: aä]; # viransijainen, vastaan +[alku: "vt.", luokka: lyhenne, jatko: , äs: aä]; # virkaa toimittava +[alku: "VTT", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # Valtion teknillinen tutkimuskeskus; valtiotieteiden tohtori +[alku: "wc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "WC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; +[alku: "WHO", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # World Health Organization +[alku: "WSOY", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[alku: "WTO", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jjj"]; # World Trade Organisation +[alku: "WWW", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjj"]; # World Wide Web +[alku: "www", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; # World Wide Web +[alku: "yht.", luokka: lyhenne, jatko: , äs: aä]; # yhteensä +[alku: "YK", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; +[alku: "ym.", luokka: lyhenne, jatko: , äs: aä]; # ynnä muuta +[alku: "YM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jj"]; # Ympäristöministeriö +[alku: "yms.", luokka: lyhenne, jatko: , äs: aä]; # ynnä muuta sellaista +[alku: "YTL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj", tiedot: ]; +[alku: "YYA", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jjj"]; # ystävyys-, yhteistyö- ja avunantosopimus +[alku: "ÄO", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä, rakenne: "=jj"]; # Älykkyysosamäärä + +[alku: "a", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "á", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "à", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "â", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ã", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "b", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "c", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ç", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "d", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ð", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "e", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "é", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "è", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ê", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ë", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "f", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "g", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "h", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "i", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "í", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ì", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "î", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ï", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "j", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "k", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "l", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "m", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "n", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ñ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "o", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ó", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ò", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ô", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "p", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "q", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "r", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "s", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "š", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ß", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "þ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "t", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "u", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ú", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ù", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "û", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "v", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "w", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "x", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "y", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ý", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ÿ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ü", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "z", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ž", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "å", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ä", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "æ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ö", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "õ", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ø", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; + +[alku: "°C", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; +[alku: "°F", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; +[alku: "°K", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a, rakenne: "=jj"]; +[alku: "°", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "€", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; + +#[alku: "", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; diff --git a/sukija/sanat/olla-ei.lex b/sukija/sanat/olla-ei.lex new file mode 100644 index 0000000..27ec589 --- /dev/null +++ b/sukija/sanat/olla-ei.lex @@ -0,0 +1,290 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006-2007 Hannu Väisänen (Etunimi.Sukunimi@joensuu.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +# Olla-teonsanan epäsäännölliset muodot ja kieltosana. + + +[alku: "liene", luokka: teonsana, jatko: , perusmuoto: "olla", äs: ä, + tapaluokka: ehtotapa]; +[alku: "lie", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: ä, tapaluokka: ehtotapa, tiedot: ]; +[alku: "liene", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: ä, tapaluokka: ehtotapa]; + +[alku: "o", luokka: teonsana, jatko: , perusmuoto: "olla", äs: a]; + + +[alku: "ol", luokka: teonsana, jatko: , perusmuoto: "olla", # Oli. + äs: a, tapaluokka: tositapa, aikamuoto: kertoma, + luku: yksikkö, tekijä: 3, tiedot: ]; + +# Olla-sanan ehtotavan kestämä on myös tällainen. +# +[alku: "oisin", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: yksikkö, tekijä: 1, tiedot: ]; +[alku: "oisit", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: yksikkö, tekijä: 2, tiedot: ]; +[alku: "oisi", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: yksikkö, tekijä: 3, tiedot: ]; +[alku: "ois", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: yksikkö, tekijä: 3, tiedot: ]; + +[alku: "oisimme", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: monikko, tekijä: 1, tiedot: ]; +[alku: "oisitte", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: monikko, tekijä: 2, tiedot: ]; +[alku: "oisivat", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: ehtotapa, aikamuoto: kestämä, + luku: monikko, tekijä: 3, tiedot: ]; + +[perusmuoto: "olla", alku: "olen", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 1, + jatko: , äs: a]; +[perusmuoto: "olla", alku: "oon", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 1, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "oom", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 1, + jatko: , äs: a, tiedot: ]; # Oompahan. +[perusmuoto: "olla", alku: "olet", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 2, + jatko: , äs: a]; +[perusmuoto: "olla", alku: "oot", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 2, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "on", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 3, + jatko: , äs: a]; +[perusmuoto: "olla", alku: "om", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 3, + jatko: , äs: a, tiedot: ]; # Ompahan. +[perusmuoto: "olla", alku: "ompi", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 3, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "onpi", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: yksikkö, tekijä: 3, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "olemme", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: monikko, tekijä: 1, + jatko: , äs: a]; +[perusmuoto: "olla", alku: "oomme", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: monikko, tekijä: 1, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "olette", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: monikko, tekijä: 2, + jatko: , äs: a]; +[perusmuoto: "olla", alku: "ootte", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: monikko, tekijä: 2, + jatko: , äs: a, tiedot: ]; +[perusmuoto: "olla", alku: "ovat", luokka: teonsana, tapaluokka: tositapa, + aikamuoto: kestämä, luku: monikko, tekijä: 3, + jatko: , äs: a]; + +[alku: "oo", luokka: teonsana, jatko: , perusmuoto: "olla", # Ei oo. + äs: a, tapaluokka: tositapa, aikamuoto: kestämä, + luku: yksikkö, tekijä: 3, tiedot: ]; + + +# "Ollos huoleton, poikas valveil' on..." +# +[alku: "ollos", luokka: teonsana, jatko: , perusmuoto: "olla", + äs: a, tapaluokka: käskytapa, tekijä: 2, luku: yksikkö, tiedot: ]; + + +# Kieltosana. +# +[alku: "en", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 1, luku: yksikkö]; +[alku: "et", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: yksikkö]; +[alku: "ei", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: yksikkö]; +[alku: "emme", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 1, luku: monikko]; +[alku: "ette", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko]; +[alku: "eivät", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: monikko]; + + +[alku: "ehk", luokka: etuliite, jatko: , perusmuoto: "ehk", äs: ä, tiedot: ]; +[alku: "ell", luokka: etuliite, jatko: , perusmuoto: "ell", äs: ä, tiedot: ]; +[alku: "ett", luokka: etuliite, jatko: , perusmuoto: "ett", äs: ä, tiedot: ]; +[alku: "ehk'", luokka: etuliite, jatko: , perusmuoto: "ehk'", äs: ä, tiedot: ]; +[alku: "ell'", luokka: etuliite, jatko: , perusmuoto: "ell'", äs: ä, tiedot: ]; +[alku: "ett'", luokka: etuliite, jatko: , perusmuoto: "ett'", äs: ä, tiedot: ]; + +[alku: "joll", luokka: etuliite, jatko: , perusmuoto: "joll", äs: ä, tiedot: ]; +[alku: "jott", luokka: etuliite, jatko: , perusmuoto: "jott", äs: ä, tiedot: ]; +[alku: "joll'", luokka: etuliite, jatko: , perusmuoto: "joll'", äs: ä, tiedot: ]; +[alku: "jott'", luokka: etuliite, jatko: , perusmuoto: "jott'", äs: ä, tiedot: ]; + +[alku: "miks", luokka: etuliite, jatko: , perusmuoto: "miks", äs: ä, tiedot: ]; +[alku: "miks'", luokka: etuliite, jatko: , perusmuoto: "miks'", äs: ä, tiedot: ]; + +[alku: "vaikk", luokka: etuliite, jatko: , perusmuoto: "vaikk", äs: ä, tiedot: ]; +[alku: "vaikk'", luokka: etuliite, jatko: , perusmuoto: "vaikk'", äs: ä, tiedot: ]; + +[alku: "kosk'", luokka: etuliite, jatko: , perusmuoto: "kosk'", äs: ä, tiedot: ]; +[alku: "kosk", luokka: etuliite, jatko: , perusmuoto: "kosk", äs: ä, tiedot: ]; + +[alku: "mutt'", luokka: etuliite, jatko: , perusmuoto: "mutt'", äs: ä, tiedot: ]; +[alku: "mutt", luokka: etuliite, jatko: , perusmuoto: "mutt", äs: ä, tiedot: ]; + + +[alku: "älä", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: yksikkö]; +[alku: "älköön", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: yksikkö]; +[alku: "älköhön", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: yksikkö, tiedot: ]; +[alku: "älkäämme", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 1, luku: monikko]; +[alku: "älkää", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko]; +[alku: "älkään", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "älkääs", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "älkäät", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "älkäätte", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "älkööt", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: monikko]; +[alku: "älköhöt", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: monikko, tiedot: ]; + +[alku: "elä", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: yksikkö, tiedot: ]; +[alku: "elköön", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: yksikkö, tiedot: ]; +[alku: "elköhön", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: yksikkö, tiedot: ]; +[alku: "elkäämme", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 1, luku: monikko, tiedot: ]; +[alku: "elkää", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkä", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkään", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkääs", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkäät", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkäätte", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkätte", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkäte", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; +[alku: "elkööt", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: monikko, tiedot: ]; +[alku: "elköhöt", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 3, luku: monikko, tiedot: ]; + + +# »Älkäästä vielä puhuko, minun täytyy mennä katsomaan, seisooko hevoseni, +# se on hyvin irstainen.» +# --- Theodolinda Hahnsson: KOTIKUUSEN KUISKEHIA (Otava 1920; www.lönnrot.net). +# +[alku: "älkäästä", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; + + +# Suku Suomen! Sa maan pyhän, vapaan sait, +# sitä älkösi ahtaaksi aitaa, +# -- Eino Leino: KOOTUT TEOKSET III (Otava, Helsinki, 1926; www.lönnrot.net). + +[alku: "älkösi", luokka: kieltosana, jatko: , + perusmuoto: "ei", äs: ä, tapaluokka: käskytapa, + aikamuoto: kestämä, tekijä: 2, luku: monikko, tiedot: ]; + + +# "Ällös itke, oma kulta..." +# +[alku: "ällös", luokka: kieltosana, jatko: , + äs: ä, tapaluokka: käskytapa, tekijä: 2, luku: yksikkö, tiedot: ]; diff --git a/sukija/sanat/omat.lex b/sukija/sanat/omat.lex new file mode 100644 index 0000000..debe77f --- /dev/null +++ b/sukija/sanat/omat.lex @@ -0,0 +1,1552 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006-2014 Hannu Väisänen (Etunimi.Sukunimi@uef.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +# Omat lisäykset sanastoon. + +[perusmuoto: "agranoomi", alku: "agranoom", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "aijemmin", alku: "aijemmin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "aikaansaannos", alku: "aikaansaanno", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "aikasemmin", alku: "aikasemmin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "asestautua", alku: "asestau", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "asija", alku: "asij", luokka: nimisana, jatko: , äs: a]; # Asia. +[perusmuoto: "babtisti", alku: "babtist", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "bresidentti", alku: "bresident", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "bresitentti", alku: "bresitent", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "diamantti", alku: "diamant", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "diissel", alku: "diissel", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "edistää", alku: "eist", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "feotaali", alku: "feotaali", luokka: etuliite, jatko: @sana1, äs: aä]; +[perusmuoto: "funteerata", alku: "funteer", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "hauvis", alku: "hauvi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hegemoonia", alku: "hegemooni", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "henkari", alku: "henkar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hetimiten", alku: "hetimiten", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "hienonen", alku: "hieno", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hihhuuli", alku: "hihhuul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hihuli", alku: "hihul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hiljempaa", alku: "hiljempaa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "hopeariksi", alku: "hopiariks", luokka: nimisana, jatko: , äs: ä, rakenne: "ppppp=ppppp"]; +[perusmuoto: "hulikaani", alku: "hulikaan", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hulikanismi", alku: "hulikanism", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "humpuukki", alku: "humpuuk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "inteksi", alku: "inteks", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "invaliiti", alku: "invaliit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jakaranta", alku: "jakarant", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jukurtti", alku: "jukurt", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kadastroofi", alku: "kadastroof", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaliiberi", alku: "kaliiber", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaliiperi", alku: "kaliiper", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kamppanja", alku: "kamppanj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kasetta", alku: "kaset", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvaksi", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvan", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvas", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvemmaksi", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvemmas", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvemmin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvempaa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvas", alku: "kauvempana", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kauvaskantoinen", alku: "kauvaskantoi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kolhoossi", alku: "kolhooss", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "komari", alku: "komar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "komkansa", alku: "komkans", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kommunaarti", alku: "kommunaart", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kookkos", alku: "kookko", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "krahista", alku: "krah", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "kängi", alku: "käng", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "kättentaputus", alku: "kättentaputu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lekio", alku: "lekio", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "loottus", alku: "loottu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "manoveeri", alku: "manoveer", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "missäpäin", alku: "missäpäin", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "mitalli", alku: "mitall", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "monellainen", alku: "monellai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "monumenttaalinen", alku: "monumenttaali", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "mopilisoida", alku: "mopiliso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "niin", alku: "niimpä", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "niinkauan", alku: "niinkauan", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "niinkauvan", alku: "niinkauvan", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "niinkuin", alku: "niinkuin", luokka: sidesana, jatko: , äs: a]; +[perusmuoto: "niinmuodoin", alku: "niinmuodoin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "niinsanottu", alku: "niinsanot", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "normienmukainen", alku: "normienmukai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "nurinkurin", alku: "nurinkurin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "nurinperin", alku: "nurinperin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "paratiissi", alku: "paratiiss", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pentsiini", alku: "pentsiin", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "pitali", alku: "pital", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pohjalaanen", alku: "pohjalaa", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "presitenti", alku: "presitent", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "rebublikaani", alku: "rebublikaan", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "reklementti", alku: "reklement", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "revy", alku: "revy", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "sapotaashi", alku: "sapotaash", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "siinämäärin", alku: "siinämäärin", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "sitte", alku: "sitte", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "sittekun", alku: "sittekun", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "sivili", alku: "sivil", luokka: nimi_laatusana, jatko: , äs: ä]; +[perusmuoto: "skuugilainen", alku: "skuugilai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "skuukkilainen", alku: "skuukkilai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sossi", alku: "soss", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sossikka", alku: "sossik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "subventtio", alku: "subventtio", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "summamutikassa", alku: "summamutikassa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "tanttieemi", alku: "tanttieem", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "tanttiemi", alku: "tanttiem", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "telekkari", alku: "telekkar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "tälläkertaa", alku: "tälläkertaa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "ultimaattumi", alku: "ultimaattum", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vankita", alku: "vanki", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "ynnikki", alku: "ynnik", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "zoitto", alku: "zoit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "äksiissi", alku: "äksiiss", luokka: nimisana, jatko: , äs: ä]; + +[perusmuoto: "takas", alku: "takas", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "vinni", alku: "vinn", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "viimenen", alku: "viime", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "ees", alku: "ees", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "ressi", alku: "ress", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tommoinen", alku: "tommoi", luokka: laatusana, jatko: , äs: a]; +####[perusmuoto: "oplikaatio", alku: "oplikaatio", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "saada", alku: "saaha", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "olumppialainen", alku: "olumppialai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "ruuppo", alku: "ruup", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lasanje", alku: "lasanje", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kolitsi", alku: "kolits", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "poonus", alku: "poonu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kanttarelli", alku: "kanttarell", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "raktori", alku: "raktor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "tiiotus", alku: "tiiotu", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "kaistanen", alku: "kaista", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "sillon", alku: "sillon", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "promed", alku: "promed", luokka: nimi, jatko: , äs: aä]; +[perusmuoto: "rosentti", alku: "rosent", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "rojekti", alku: "rojekt", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ugri", alku: "ugr", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "canadasue", alku: "canadasue", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "irkki", alku: "irk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tyrkky", alku: "tyrk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "esmes", alku: "esmes", luokka: nimisana, jatko: , äs: a]; # Esimerkiksi. +[perusmuoto: "abaria", alku: "abari", luokka: paikannimi, jatko: , äs: a]; # Keksitty paikannimi. +[perusmuoto: "löhö", alku: "löhö", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "puota", alku: "pu", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tapanen", alku: "tapa", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "särmänen", alku: "särmä", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "puottaa", alku: "puot", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "rosenttinen", alku: "rosentti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "mooa", alku: "moo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jäädä", alku: "jäähä", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "rotesti", alku: "rotest", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "rotestoida", alku: "rotesto", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "anex", alku: "anex", luokka: etunimi, jatko: , äs: a]; # Keksitty etunimi. +[perusmuoto: "samppoo", alku: "samppo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "akitatoorinen", alku: "akitatoori", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "millon", alku: "millon", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "tällön", alku: "tällön", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "kukeloinen", alku: "kukeloi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "mussukka", alku: "mussuk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "austraalia", alku: "austraali", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "photo", alku: "photo", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "pääty", alku: "päädytse", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jollon", alku: "jollon", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "oottaa", alku: "oot", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "filee", alku: "filettä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "curevents", alku: "curevents", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "resitentti", alku: "resitent", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "hki", alku: "hk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "k:ja", alku: "k:", luokka: nimisana, jatko: , äs: a]; # Kantaja. +[perusmuoto: "kja", alku: "k", luokka: nimisana, jatko: , äs: a, tiedot: ]; # Kantaja. +[perusmuoto: "ko:us", alku: "ko:u", luokka: nimisana, jatko: , äs: a]; # Kihlakunnanoikeus. +[perusmuoto: "m:liitto", alku: "m:liit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "m.liitto", alku: "m.liit", luokka: nimisana, jatko: , äs: a]; # Maalaisliitto. +[perusmuoto: "n:ro", alku: "n:ro", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "o:us", alku: "o:u", luokka: nimisana, jatko: , äs: a]; # Oikeus +[perusmuoto: "oko", alku: "oko", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "p:kirja", alku: "p:kirj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "p:nä", alku: "p", luokka: lyhenne, jatko: , äs: aä]; +[perusmuoto: "s:jä", alku: "s:j", luokka: nimisana, jatko: , äs: ä]; # Syyttäjä. +[perusmuoto: "s:jä", alku: "st:j", luokka: nimisana, jatko: , äs: ä]; # Syyttäjä. +[perusmuoto: "stt:jä", alku: "stt:j", luokka: nimisana, jatko: , äs: ä]; # Syyttäjä. +[perusmuoto: "t:ja", alku: "t:j", luokka: nimisana, jatko: , äs: a]; # Todistaja. +[perusmuoto: "tja", alku: "t", luokka: nimisana, jatko: , äs: a, tiedot: ]; # Todistaja. +[perusmuoto: "tod:ja", alku: "tod:", luokka: nimisana, jatko: , äs: a]; # Todistaja. +[perusmuoto: "v:ja", alku: "v:", luokka: nimisana, jatko: , äs: a]; # Vastaaja. +[perusmuoto: "v:mies", alku: "v:mie", luokka: nimisana, jatko: , äs: ä]; # Vierasmies. +[perusmuoto: "vja", alku: "vj", luokka: nimisana, jatko: , äs: a]; # Vastaaja. +[perusmuoto: "Mr.", alku: "Mr.", luokka: lyhenne, jatko: , äs: aä]; # Mister. +[perusmuoto: "Mrs.", alku: "Mrs.", luokka: lyhenne, jatko: , äs: aä]; +[perusmuoto: "tri", alku: "t:ri", luokka: lyhenne, jatko: , äs: aä]; # Tohtori. + + +[perusmuoto: "Arabwel", alku: "Arabwel", luokka: nimi, jatko: , äs: aä]; +[perusmuoto: "Ugudibuu", alku: "Ugudibu", luokka: nimi, jatko: , äs: a]; +[alku: "Timebomb2000", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "THL", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ECDC", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "pm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "dm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "nm", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ns", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[perusmuoto: "Shimo", alku: "Shimo", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "XMOR", alku: "XMOR", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "Birdy", alku: "Birdy", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Finnfor", alku: "Finnfor", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Recombinomics", alku: "Recombinomics", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "aluettainen", alku: "aluettai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kapero", alku: "kapero", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "raukuttaa", alku: "raukut", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Cell", alku: "Cell", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "senohessa", alku: "senohe", luokka: suhdesana, jatko: @sisäpaikallissijat_Vn, äs: a]; +[perusmuoto: "Thrax", alku: "Thrax", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "sntliitto", alku: "sntliit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ideolookinen", alku: "ideolooki", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kaikellainen", alku: "kaikellai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kapinetti", alku: "kapinet", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuukilainen", alku: "kuukilai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuukkilainen", alku: "kuukkilai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lauvantai", alku: "lauvanta", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lauvantaisin", alku: "lauvantaisin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "nanowrimo", alku: "nanowrimo", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "parlamenttaarinen", alku: "parlamenttaari", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "polittinen", alku: "politti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "samallainen", alku: "samallai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "samallakuin", alku: "samallakuin", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "sosdemi", alku: "sosdem", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "strateekkinen", alku: "strateekki", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "tasatolkkuinen", alku: "tasatolkkui", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "tempperamenttinen", alku: "tempperamentti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "toisellainen", alku: "toisellai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "viksu", alku: "viksu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "ylähinen", alku: "ylähi", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "Globalia", alku: "Globali", luokka: paikannimi, jatko: , äs: a]; + + +[alku: "a:set", luokka: lyhenne, jatko: , äs: aä]; # Asianosaiset. +[alku: "a:sia", luokka: lyhenne, jatko: , äs: aä]; +[alku: "a:silla", luokka: lyhenne, jatko: , äs: aä]; +[alku: "a:sista", luokka: lyhenne, jatko: , äs: aä]; +[alku: "a:sten", luokka: lyhenne, jatko: , äs: aä]; +###[alku: "alt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "amp", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; #EK:n asiamapisto +[alku: "ams", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ao:sen", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ao:set", luokka: lyhenne, jatko: , äs: aä]; # Asianosaiset. +[alku: "ao:sia", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ao:sten", luokka: lyhenne, jatko: , äs: aä]; +[alku: "aoset", luokka: lyhenne, jatko: , äs: aä]; # Asianosaiset. +[alku: "aosia", luokka: lyhenne, jatko: , äs: aä]; +[alku: "aosten", luokka: lyhenne, jatko: , äs: aä]; +[alku: "aug", luokka: lyhenne, jatko: , äs: aä]; # August. +[alku: "autonkulj", luokka: lyhenne, jatko: , äs: aä]; +[alku: "e.k.", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "e.m.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "e.p.p.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "edel", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "emg", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "h.t.y", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "hdl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "hv", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "j.n.e.p", luokka: lyhenne, jatko: , äs: aä]; +[alku: "julist", luokka: lyhenne, jatko: , äs: aä]; # Julistettiin. +[alku: "k.o", luokka: lyhenne, jatko: , äs: aä]; +[alku: "k.o:s", luokka: lyhenne, jatko: , äs: aä]; +[alku: "k.o:ssa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kallenp", luokka: lyhenne, jatko: , äs: aä]; # Kallenpoika. +[alku: "kansaned", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "karjalaistenk", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kat", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kats", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kel", luokka: lyhenne, jatko: , äs: aä]; +[alku: "khall", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kho", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kko", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kktk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kllo", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kn", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ko", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ko:dessa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ko:s", luokka: lyhenne, jatko: , äs: aä]; # Korkein oikeus. +[alku: "ko:sa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ko:ssa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ko:ussa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "kt", luokka: lyhenne, jatko: , äs: aä]; # Kummit. +[alku: "kvalt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "kys", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "lun", luokka: lyhenne, jatko: , äs: aä]; # Lunastus. +[alku: "m.l", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "m.m", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "m.t.k", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "mk:alla", luokka: lyhenne, jatko: , äs: aä]; # Markalla. +[alku: "mttk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "o:den", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:dessa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:desta", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:lle", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:n", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o.s", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:sa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:ssa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "o:teen", luokka: lyhenne, jatko: , äs: aä]; +[alku: "osk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; # Oskari. +[alku: "per", luokka: lyhenne, jatko: , äs: aä]; +[alku: "pist", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "pit", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "pk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "pktt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "pltä", luokka: lyhenne, jatko: , äs: aä]; +[alku: "pn", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; #Penniä. +[alku: "pn:iä", luokka: lyhenne, jatko: , äs: aä]; # Penniä. +[alku: "ptk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "puum", luokka: lyhenne, jatko: , äs: aä]; +[alku: "pv", luokka: lyhenne, jatko: , äs: aä]; +[alku: "r:n", luokka: lyhenne, jatko: , äs: aä]; # Raastuvanoikeuden. +[alku: "rek", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "ro:den", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ro:n", luokka: lyhenne, jatko: , äs: aä]; # Raastuvanoikeuden. +[alku: "ro:s", luokka: lyhenne, jatko: , äs: aä]; # Raastuvanoikeus. +[alku: "ro:ssa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ruo:s", luokka: lyhenne, jatko: , äs: aä]; +[alku: "ruo:ssa", luokka: lyhenne, jatko: , äs: aä]; +[alku: "saap", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "skkkl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "skkt", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "sos.dem.", luokka: lyhenne, jatko: , äs: aä]; +[alku: "t.k", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "t:n", luokka: lyhenne, jatko: , äs: aä]; # Talollinen. +[alku: "t:nen", luokka: lyhenne, jatko: , äs: aä]; # Talollinen. +[alku: "t:sen", luokka: lyhenne, jatko: , äs: aä]; +[alku: "tal", luokka: lyhenne, jatko: , äs: aä]; # Talollinen. +[alku: "tal:sen", luokka: lyhenne, jatko: , äs: aä]; +[alku: "tal:set", luokka: lyhenne, jatko: , äs: aä]; +[alku: "taloll", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "tl:n", luokka: lyhenne, jatko: , äs: aä]; # Talollinen. +[alku: "tl:sen", luokka: lyhenne, jatko: , äs: aä]; # Talollisen. +[alku: "tmn", luokka: lyhenne, jatko: , äs: aä]; # Työmiehen. +[alku: "torp", luokka: lyhenne, jatko: , äs: aä]; # Torppari. +[alku: "työl", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "v:na", luokka: lyhenne, jatko: , äs: aä]; # Vuonna. +[alku: "v:nna", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "v.t", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "vja", luokka: lyhenne, jatko: , äs: aä]; +[alku: "vmk", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "vmo", luokka: lyhenne, jatko: , äs: aä]; # Vaimo. +[alku: "vp", luokka: lyhenne, jatko: , äs: aä]; +[alku: "wp", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "H5", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "H7", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "H1N1", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "H5N1", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "H5N2", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[perusmuoto: "kuinmyös", alku: "kuinmyös", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "FluWikie", alku: "FluWikie", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "yhtämieltä", alku: "yhtämieltä", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "kiini", alku: "kiini", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "kiinittää", alku: "kiinit", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "synagooga", alku: "synagoog", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hunninkolla", alku: "hunninko", luokka: nimisana, jatko: @ulkopaikallissijat, äs: a]; +[perusmuoto: "Söörnäinen", alku: "Söörnäi", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "lipilaari", alku: "lipilaar", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "kotoisinoleva", alku: "kotoisinolev", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Ite", alku: "Ite", luokka: nimi, jatko: , äs: ä]; +[alku: "FluWikie2", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[perusmuoto: "Lepenski", alku: "Lepensk", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "FluTrackers", alku: "FluTrackers", luokka: nimi, jatko: , äs: aä]; +[perusmuoto: "GaudiaRay", alku: "GaudiaRay", luokka: nimi, jatko: , äs: aä]; +[perusmuoto: "Scientist", alku: "Scientist", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Voltaren", alku: "Voltaren", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Aclovir", alku: "Aclovir", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Aciclovir", alku: "Aciclovir", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Zovirax", alku: "Zovirax", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Magazine", alku: "Magazine", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Gefilusmehu", alku: "Gefilusmehu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Golla", alku: "Goll", luokka: nimi, jatko: , äs: a]; + +#[perusmuoto: "omatunto", alku: "omatun", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "puolikuu", alku: "puoliku", luokka: nimisana, jatko: , äs: a]; + + +[perusmuoto: "kirjoitelma", alku: "kirjotelm", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kulttuuri", alku: "kultuur", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "liipaisin", alku: "liipasi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "mahdoton", alku: "maho", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "politikko", perusmuoto2: "poliitikko", alku: "politik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "politikka", perusmuoto2: "politiikka", alku: "politik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "punainen", alku: "puna", luokka: laatusana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "teatteri", alku: "teaatter", luokka: nimisana, jatko: , äs: a]; + + +[perusmuoto: "aavikkoisä", alku: "aavikkois", luokka: nimisana, jatko: , äs: ä, rakenne: "=ppppppp=ppp"]; +[perusmuoto: "jesuiittaisä", alku: "jesuittais", luokka: nimisana, jatko: , äs: ä, rakenne: "=ppppppppp=ppp"]; +[perusmuoto: "mafiaisä", alku: "mafiais", luokka: nimisana, jatko: , äs: ä, rakenne: "=ppppp=ppp"]; +[perusmuoto: "kauppiasisä", alku: "kauppiasis", luokka: nimisana, jatko: , äs: ä, rakenne: "=pppppppp=ppp"]; +[perusmuoto: "opetusisä", alku: "opetusis", luokka: nimisana, jatko: , äs: ä, rakenne: "=pppppp=ppp"]; +[perusmuoto: "ottoisä", alku: "ottois", luokka: nimisana, jatko: , äs: ä, rakenne: "=pppp=ppp"]; +[perusmuoto: "sukuisä", alku: "sukuis", luokka: nimisana, jatko: , äs: ä, rakenne: "=pppp=ppp"]; +[perusmuoto: "valheenisä", alku: "valheenis", luokka: nimisana, jatko: , äs: ä, tiedot: , rakenne: "=ppppppp=ppp"]; +[perusmuoto: "valheenisä", alku: "valeenis", luokka: nimisana, jatko: , äs: ä, tiedot: , rakenne: "=pppppp=ppp"]; +[perusmuoto: "sankar", alku: "sankar", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "vallas", alku: "vallas", luokka: etuliite, jatko: @sana1, äs: aä]; + +[perusmuoto: "politiikki", alku: "politiik", luokka: nimisana, jatko: , äs: a]; # Politiikka. +[perusmuoto: "polina", alku: "polin", luokka: nimisana, jatko: , äs: a]; # Puheenpolina. +[perusmuoto: "logi", alku: "log", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "Sofi", alku: "Sof", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Moe", alku: "Moe", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Asplund", alku: "Asplund", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Hasselblatt", alku: "Hasselblatt", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Boxström", alku: "Boxström", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "puikula", alku: "puikul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Sharp", alku: "Sharp", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Kantala", alku: "Kantal", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "ryittää", alku: "ryit", luokka: teonsana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "Tristine", alku: "Tristine", luokka: etunimi, jatko: , äs: ä]; +[perusmuoto: "Wera", alku: "Wer", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Totro", alku: "Totro", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Stavèn", alku: "Stavèn", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "armastaa", alku: "armast", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Baranov", alku: "Baranov", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Bob", alku: "Bob", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Dora", alku: "Dor", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Doria", alku: "Dori", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Dover", alku: "Dover", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Galahad", alku: "Galahad", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Irving", alku: "Irving", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "varjokas", alku: "varjok", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "Brown", alku: "Brown", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Ludvig", alku: "Ludvig", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Wood", alku: "Wood", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Leoni", alku: "Leon", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Giulio", alku: "Giulio", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Juuti", alku: "Juu", luokka: sukunimi, jatko: , äs: a]; + +[perusmuoto: "vuossata", alku: "vuossa", luokka: nimisana, jatko: , äs: a, rakenne: "=pppp=pppp"]; +#[perusmuoto: "myöhäisilta", alku: "myöhäisil", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppppp=pppp"]; +#[perusmuoto: "varhaisilta", alku: "varhaisil", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppppp=pppp"]; + +[perusmuoto: "vavista", alku: "vav", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Vincent", alku: "Vincent", luokka: etunimi, jatko: , äs: ä]; +[perusmuoto: "Isabelle", alku: "Isabelle", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Coco", alku: "Coco", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "kätinen", alku: "käti", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "vuotinen", alku: "vuoti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kautinen", alku: "kauti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kertanen", alku: "kerta", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "asianomanen", alku: "asianoma", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppp=pppppp"]; +[perusmuoto: "Sigurðardóttir", alku: "Sigurðardóttir", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Bomba", alku: "Bomb", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Lucene", alku: "Lucene", luokka: nimi, jatko: , äs: a]; + +[perusmuoto: "muuntaajuinen", alku: "muuntaajui", luokka: laatusana, jatko: , äs: a, rakenne: "=pppp=ppppppppp"]; +[perusmuoto: "muunkuntalainen", alku: "muunkuntalai", luokka: laatusana, jatko: , äs: a, rakenne: "=pppp=ppppppppppp"]; +[perusmuoto: "meidän-", alku: "meidän-", luokka: etuliite, jatko: @eln + @ell, äs: aä]; + +[perusmuoto: "aukikaulata", alku: "aukikaul", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "sisäänkäydä", alku: "sisäänkä", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "sisäänrakentaa", alku: "sisäänrake", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "ohikäydä", alku: "ohikä", luokka: teonsana, jatko: , äs: ä]; + +[perusmuoto: "tulenta", alku: "tulen", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "taianta", alku: "taian", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pilanta", alku: "pilan", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "muikunta", alku: "muikun", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "miljoonamyynti", alku: "miljoonamyyn", luokka: nimisana, jatko: , äs: ä, rakenne: "=pppppppp=pppppp"]; +#[perusmuoto: "Verona", alku: "Veron", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "kitkos", alku: "kitko", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Waldrop", alku: "Waldrop", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Forester", alku: "Forester", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "törröittäin", alku: "törröittäin", luokka: seikkasana, jatko: , äs: ä]; + +[perusmuoto: "ortodoksisittain", alku: "ortodoksisittain", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "hiljaisittain", alku: "hiljaisittain", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kaukaisittain", alku: "kaukaisittain", luokka: seikkasana, jatko: , äs: a]; + +[perusmuoto: "säkäkorkeus", alku: "säkäkorkeu", luokka: nimisana, jatko: , äs: a, rakenne: "=pppp=ppppppp"]; +[perusmuoto: "vähimmäissäkä", alku: "vähimmäissäk", luokka: nimisana, jatko: , äs: ä, rakenne: "=ppppppppp=pppp"]; +[perusmuoto: "teidänkaltainen", alku: "teidänkaltai", luokka: laatusana, jatko: , äs: a, rakenne: "=pppppp=ppppppppp"]; +[perusmuoto: "tämänkaltainen", alku: "täänkaltai", luokka: laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppppp"]; +[perusmuoto: "minunkaltainen", alku: "minunkaltai", luokka: laatusana, jatko: , äs: a, rakenne: "=ppppp=ppppppppp"]; +[perusmuoto: "erinkaltainen", alku: "erinkaltai", luokka: laatusana, jatko: , äs: a, rakenne: "=pppp=ppppppppp"]; +[perusmuoto: "Paulow", alku: "Paulow", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Quartermain", alku: "Quatermain", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Nemo", alku: "Nemo", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Evanovich", alku: "Evanovich", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Haggard", alku: "Haggard", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Mitchell", alku: "Mitchell", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Fokker", alku: "Fokker", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "päiväsaika", alku: "päiväsa", luokka: nimisana, jatko: , äs: a, tiedot: ]; + +[perusmuoto: "oljennella", alku: "oljen", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "parannutella", alku: "parannut", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "reipastella", alku: "reipastel", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "riipustaa", alku: "riipust", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "rinnustella", alku: "rinnustel", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tuulutella", alku: "tuulut", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "pensastaa", alku: "pensast", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "amerikantavi", alku: "amerikantav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "heinätavi", alku: "heinätav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sinisiipitavi", alku: "sinisiipitav", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "omatakeinen", alku: "omatakei", luokka: laatusana, jatko: , äs: a]; + +[perusmuoto: "kylpyamme", alku: "kylpyamme", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppp=pppp"]; +[perusmuoto: "pesuamme", alku: "pesuamme", luokka: nimisana, jatko: , äs: a, rakenne: "=pppp=pppp"]; +[perusmuoto: "poreamme", alku: "poreamme", luokka: nimisana, jatko: , äs: a, rakenne: "=pppp=pppp"]; +[perusmuoto: "petäjäamme", alku: "petäjäamme", luokka: nimisana, jatko: , äs: a, rakenne: "=pppppp=pppp"]; +[perusmuoto: "ränniamme", alku: "ränniamme", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppp=pppp"]; +[perusmuoto: "siiliamme", alku: "siiliamme", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppp=pppp"]; +[perusmuoto: "sinkkiamme", alku: "sinkkiamme", luokka: nimisana, jatko: , äs: a, rakenne: "=pppppp=pppp"]; +[perusmuoto: "vesiamme", alku: "vesiamme", luokka: nimisana, jatko: , äs: a, rakenne: "=pppp=pppp"]; +[perusmuoto: "viiniamme", alku: "viiniamme", luokka: nimisana, jatko: , äs: a, rakenne: "=ppppp=pppp"]; +[perusmuoto: "turvekoksi", alku: "turvekoks", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "verokoksi", alku: "verokoks", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "filippiinien", alku: "filippiinien", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "voimaan", alku: "voimaan", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "savolainen", alku: "savolai", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "liikkeelle", alku: "liikkeelle", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "liikkeeseen", alku: "liikkeeseen", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "live", alku: "live", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "savo", alku: "savo", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kahtainen", alku: "kahtai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "pueblo", alku: "pueblo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaivuu", alku: "kaivu", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "Callisto", alku: "Callisto", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Huttula", alku: "Huttul", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "sadankomitea", alku: "sadankomite", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Sartre", alku: "Sartre", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "kuljetteinen", alku: "kuljettei", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kaskadi", alku: "kaskad", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "psyykikko", alku: "psyykik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "suoni", alku: "suonitse", luokka: seikkasana, jatko: , äs: a]; + +[perusmuoto: "Weisman", alku: "Weisman", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Daína", alku: "Daín", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Chaviano", alku: "Chaviano", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Kenwood", alku: "Kenwood", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "ViewSonic", alku: "ViewSonic", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Child", alku: "Child", luokka: sukunimi, jatko: , äs: aä]; +[perusmuoto: "Kurlansky", alku: "Kurlansky", luokka: sukunimi, jatko: , äs: aä]; +[perusmuoto: "Batista", alku: "Batist", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Groove", alku: "Groove", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Vegas", alku: "Vegas", luokka: paikannimi, jatko: , äs: a]; # Las Vegas. +[alku: "YTHS", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä, rakenne: "=jjjj"]; +[perusmuoto: "Lamora", alku: "Lamor", luokka: sukunimi, jatko: , äs: a]; +###[perusmuoto: "kaukolainata", alku: "kaukolain", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "käännyksissä", alku: "käännyksissä", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "väännyksissä", alku: "väännyksihin", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "väännyksissä", alku: "väännyksiin", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "väännyksissä", alku: "väännyksissä", luokka: seikkasana, jatko: , äs: ä]; + +[perusmuoto: "autostop", alku: "autostop", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "rockstop", alku: "rockstop", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "virkellä", alku: "virk", luokka: teonsana, jatko: , äs: ä]; +#[perusmuoto: "vikaantua", alku: "vikaan", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "tuonaikainen", alku: "tuonaikai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "tuonaikuinen", alku: "tuonaikui", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "Akropolites", alku: "Akropolite", luokka: sukunimi, jatko: , äs: a]; + +[perusmuoto: "Lagerspetz", alku: "Lagerspetz", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "Poirot", alku: "Poirot", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Expert", alku: "Expert", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Germania", alku: "Germani", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Nautilus", alku: "Nautilu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "vokki", alku: "vok", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Rocher", alku: "Rocher", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Tristan", alku: "Tristan", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "grub", alku: "grub", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Teutoburg", alku: "Teutoburg", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Arminius", alku: "Arminiu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Germanopolis", alku: "Germanopoli", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "fenni", alku: "fenn", luokka: nimisana, jatko: , äs: ä]; +#[perusmuoto: "Myy", alku: "Myy", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Bergerac", alku: "Bergerac", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Münchhausen", alku: "Münchhausen", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Kaitaro", alku: "Kaitaro", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Saleva", alku: "Salev", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Gulliver", alku: "Gulliver", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Elia", alku: "Eli", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "regain", alku: "regain", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Acer", alku: "Acer", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Nivea", alku: "Nive", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Krups", alku: "Krups", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "alieni", alku: "alien", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Cussler", alku: "Cussler", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Cook", alku: "Cook", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Strugatski", alku: "Strugatsk", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Ohlson", alku: "Ohlson", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Linpus", alku: "Linpus", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Hill", alku: "Hill", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "Lingsoft", alku: "Lingsoft", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "utsjokinen", alku: "utsjoki", luokka: nimi_laatusana, jatko: , äs: a, rakenne: "=ppp=ppppppp"]; +[perusmuoto: "aro", alku: "aroitse", luokka: seikkasana, jatko: , äs: a]; + +[perusmuoto: "duokilpailu", alku: "duokilpailu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "duolevytys", alku: "duolevyty", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "alkusyyjumalisuus", alku: "alkusyyjumalisuu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuolemansyytutkija", alku: "kuolemansyytutki", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "syysolu", alku: "syysolu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "syytekijä", alku: "syyteki", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tauslaulaja", alku: "tauslaula", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "syyseuraus", alku: "syyseurau", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jättiläiskoi", alku: "jättiläisko", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "brittitee", alku: "brittite", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "joukkoitsemurha", alku: "joukkoitsemurh", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaasuitsemurha", alku: "kaasuitsemurh", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaksoisitsemurha", alku: "kaksoisitsemurh", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "jälkeentulevainen", alku: "jälkeentulevai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kainalo", alku: "kainaloitse", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "karhikko", alku: "karhik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sivu", alku: "sivuitse", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "Pentium", alku: "Pentium", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Posix", alku: "Posix", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Pentagon", alku: "Pentagon", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "fenestraatio", alku: "fenestr", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "defenestraatio", alku: "defenestr", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "deflagraatio", alku: "deflagr", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "deathrock", alku: "deathrock", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "defibrilloida", alku: "defibrillo", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "retrakti", alku: "retrakt", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "debatoida", alku: "debato", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "deflagroida", alku: "deflagro", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "debugata", alku: "debug", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "dekstriini", alku: "dekstriin", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "haukiluomalainen", alku: "haukiluomalai", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "ilmavoimalainen", alku: "ilmavoimalai", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "hirviö", alku: "hirviösti", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "taajuuksinen", alku: "taajuuksi", luokka: laatusana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "GMail", alku: "GMail", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Scroogle", alku: "Scroogle", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "dendrokronologi", alku: "dendrokronolog", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "nomologia", alku: "nomologi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "nomologi", alku: "nomolog", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "deferentti", alku: "deferent", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "Deimos", alku: "Deimo", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "dekkaristi", alku: "dekkarist", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "umpimähkä", alku: "umpimähk", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "Deborah", alku: "Deborah", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "deduktoida", alku: "dedukto", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "deforestaatio", alku: "deforest", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "dekomposoida", alku: "dekomposo", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "komposoida", alku: "komposo", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "dempata", alku: "demp", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "hansikoida", alku: "hansiko", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tempukas", alku: "tempuk", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "pendentiivi", alku: "pendentiiv", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "kenjutsu", alku: "kenjutsu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "mennoniitti", alku: "mennoniit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parsikko", alku: "parsik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parafilia", alku: "parafili", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sinfonietta", alku: "sinfoniet", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "karakalpakki", alku: "karakalpak", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "karaiitti", alku: "karaiit", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kardinaalinepos", alku: "kardinaalinepo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kareliaani", alku: "kareliaan", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "saituruus", alku: "saituruu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pentateukki", alku: "pentateuk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Äkäsjoki", alku: "Äkäsjo", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "ärhäkäs", alku: "ärhäk", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "Spinrad", alku: "Spinrad", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "vienoinen", alku: "vienoi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "auktori", alku: "auktor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "keräin", alku: "keräi", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "autentikaattori", alku: "autentikaattor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pommari", alku: "pommar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "autuaaksijulistaminen", alku: "autuaaksijulistami", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuvernööriys", alku: "kuvernööriy", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "dominaattori", alku: "dominaattor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kultaseni", alku: "kultase", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Panasonic", alku: "Panasonic", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "nutch", alku: "nutch", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Skiftesvik", alku: "Skiftesvik", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Fagan", alku: "Fagan", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Szerb", alku: "Szerb", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Pendragon", alku: "Pendragon", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Mixu", alku: "Mixu", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Miksu", alku: "Miksu", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "umpeen", alku: "umpeen", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[alku: "IBM", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "UHF", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[perusmuoto: "Long", alku: "Long", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Christie", alku: "Christie", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Agatha", alku: "Agath", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "koete", alku: "koet", luokka: nimisana, jatko: <>, äs: a]; +[perusmuoto: "kompensaattori", alku: "kompensaattor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "koketti", alku: "koket", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kollimaattori", alku: "kollimaattor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kolonisti", alku: "kolonist", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "subversion", alku: "subversion", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Bluetooth", alku: "Bluetooth", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Händel", alku: "Händel", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "Georg", alku: "Georg", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Eniro", alku: "Eniro", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "FreeDOS", alku: "FreeDOS", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "meroiittinen", alku: "meroiitti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "pervasiivinen", alku: "pervasiivi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "Düsseldorf", alku: "Düsseldorf", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "poutaantua", alku: "poutaan", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Toulouse", alku: "Toulouse", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Whitney", alku: "Whitney", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Novartis", alku: "Novarti", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Henrietta", alku: "Henriet", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Räätälilä", alku: "Räätälil", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "paskata", alku: "pask", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Reichs", alku: "Reichs", luokka: sukunimi, jatko: , äs: aä]; +[perusmuoto: "Krugman", alku: "Krugman", luokka: sukunimi, jatko: , äs: aä]; +[perusmuoto: "gruusia", alku: "gruusi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "punanataniitty", alku: "punanataniit", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "nukuksissa", alku: "nukuksissa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "rajakkain", alku: "rajakkain", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "Tiitto", alku: "Tiit", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Utti", alku: "Ut", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "äitelähkö", alku: "äitelähkö", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "Larioja", alku: "Larioj", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Larivaara", alku: "Larivaar", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Lotila", alku: "Lotil", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Jenisei", alku: "Jenise", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Evita", alku: "Evit", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "sei", alku: "se", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "iTunes", alku: "iTunes", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Diogenes", alku: "Diogene", luokka: etunimi, jatko: , äs: aä]; +[perusmuoto: "pakko", alku: "pakosti", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "Sinope", alku: "Sinope", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Dragsvik", alku: "Dragsvik", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "Gutenberg", alku: "Gutenberg", luokka: sukunimi, jatko: , äs: aä]; +[perusmuoto: "Abba", alku: "Abb", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Ageianmeri", alku: "Ageianmer", luokka: paikannimi, jatko: , äs: ä, rakenne: "=pppppp=pppp"]; +[perusmuoto: "Ageianmeri", alku: "Ageianmer", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "oh", alku: "oh", luokka: huudahdussana, jatko: , äs: a]; +[perusmuoto: "sentähden", alku: "sentähden", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "senvuoksi", alku: "senvuoksi", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "hydroksi", alku: "hydroksi", luokka: etuliite, jatko: @eln, äs: aä]; +[perusmuoto: "permi", alku: "perm", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "saarekas", alku: "saarek", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "karabinieeri", alku: "karabinieer", luokka: nimisana, jatko: , äs: aä]; + +[perusmuoto: "aasian", alku: "aasian", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "afrikan", alku: "afrikan", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "alaskan", alku: "alaskan", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "amerikan", alku: "amerikan", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "australian", alku: "australian", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "euroopan", alku: "euroopan", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "floridan", alku: "floridan", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "kalifornian", alku: "kalifornian", luokka: etuliite, jatko: @elx, äs: aä]; +[perusmuoto: "papuan", alku: "papuan", luokka: etuliite, jatko: @elx, äs: aä]; + +[perusmuoto: "ampukärpänen", alku: "ampukärpä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ampulaite", alku: "ampulait", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ampulintunen", alku: "ampulintu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ampumies", alku: "ampumie", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ampunaamio", alku: "ampunaamio", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ampuneuvo", alku: "ampuneuvo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ampuniekka", alku: "ampuniek", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "amputarvike", alku: "amputarvik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ampuvara", alku: "ampuvar", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ampuvärkki", alku: "ampuvärk", luokka: nimisana, jatko: , äs: ä]; + +[perusmuoto: "korteikko", alku: "korteik", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "litukka", alku: "lituk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Rotuaari", alku: "Rotuaar", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "komissionaari", alku: "komissionaar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ennenkaikkea", alku: "ennenkaikkea", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "ennenkaikkea", alku: "ennenkaikkia", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "ylikaiken", alku: "ylikaiken", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kulinaarinen", alku: "kulinaari", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "revisionaarinen", alku: "revisionaari", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "missionaari", alku: "missionaar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaikenkaikkiaan", alku: "kaikenkaikkiaan", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kertakaikkia", alku: "kertakaikkiaan", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kertakaikkia", alku: "kertakaikkia", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "keskenkaiken", alku: "keskenkaiken", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "iänkaiken", alku: "iänkaiken", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "kaikkikaikessa", alku: "kaikkikaikessa", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "konsuliaari", alku: "konsuliaar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "yhtäkaikki", alku: "yhtäkaikki", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "safavidi", alku: "safavid", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "saiga", alku: "saig", luokka: nimisana, jatko: , äs: a]; + +#[perusmuoto: "hakokirves", alku: "hakokirve", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hakokivi", alku: "hakokiv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakokoju", alku: "hakokoju", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakokuorma", alku: "hakokuorm", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakokylä", alku: "hakokyl", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hakokasa", alku: "hakokas", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakoapaja", alku: "hakoapaj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakolinna", alku: "hakolinn", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakolintu", alku: "hakolin", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakomaja", alku: "hakomaj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakoniska", alku: "hakonisk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakotanhua", alku: "hakotanhu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakotyö", alku: "hakot", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hakovaari", alku: "hakovaar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hakoviita", alku: "hakovii", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "haonoksa", alku: "haonoks", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuusenhako", alku: "kuusenha", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vesi-hako", alku: "vesi-ha", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vasta-hakoinen", alku: "vasta-hakoi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hakotie", alku: "hakot", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hakovuode", alku: "hakovuo", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "jauhokuli", alku: "jauhokul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ryssänkuli", alku: "ryssänkul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kulijauho", alku: "kulijauho", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kuliläjä", alku: "kuliläj", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "retikuliini", alku: "retikuliin", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kulikali", alku: "kulikal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kirveskuli", alku: "kirveskul", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "korpuskuli", alku: "korpuskul", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "viisi", alku: "viijeltä", luokka: nimisana, jatko: , äs: ä]; # Oikeastaan lukusana. + +[alku: "bibtex8", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "LibXML", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[perusmuoto: "biblatex", alku: "biblatex", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "biber", alku: "biber", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "privoxy", alku: "privoxy", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "TeXLive", alku: "TeXLive", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "Gaiman", alku: "Gaiman", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "pötkähtää", alku: "pötkäh", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "pätkähtää", alku: "pätkäh", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "Frobenius", alku: "Frobeniu", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Hakim", alku: "Hakim", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Willingham", alku: "Willingham", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "bestselleriitti", alku: "bestselleriit", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "rotina", alku: "rotin", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "juu", alku: "juuta", luokka: huudahdussana, jatko: , äs: a, tiedot: ]; # "Ei juuta eikä jaata." +[perusmuoto: "höttö", alku: "höt", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hötö", alku: "hötö", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "paratutkimus", alku: "paratutkimu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "paraurheilija", alku: "paraurheili", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parakommando", alku: "parakommando", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parakenttä", alku: "parakent", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "paramoottori", alku: "paramoottor", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "paraolympiakomitea", alku: "paraolympiakomite", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parapraksis", alku: "parapraksi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "parapatria", alku: "parapatri", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "paravalenttinuoli", alku: "paravalenttinuol", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Sigler", alku: "Sigler", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "lumpsahtaa", alku: "lumpsa", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "pohjoiseesti", alku: "pohjoiseest", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "eteläeesti", alku: "eteläeest", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "rannikkoeesti", alku: "rannikkoeest", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "sydäneestiläinen", alku: "sydäneestiläi", luokka: nimi_laatusana, jatko: , äs: ä]; +[perusmuoto: "äärihutu", alku: "äärihutu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ääninäytellä", alku: "ääninäyt", luokka: teonsana, jatko: , äs: ä, rakenne: "=pppp=pppppppp"]; +[perusmuoto: "ex-", alku: "ex-", luokka: etuliite, jatko: @elx, äs: aä, tiedot: ]; +[perusmuoto: "Disney", alku: "Disney", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "ulospäinsuuntautunut", alku: "ulospäinsuuntautu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "sisäänpäinkääntynyt", alku: "sisäänpäinkäänty", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "aallota", alku: "aal", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Čapek", alku: "Čapek", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "paraolympialainen", alku: "paraolympialai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Lippi", alku: "Lip", luokka: nimi, jatko: , äs: ä]; + +# Nämä on lisätty Joukahaiseen. +# Lisäykset Joukahaiseen loppuivat. + +############## + +# [perusmuoto: "puottautua", alku: "puottau", luokka: teonsana, jatko: , äs: a]; + +# Omia erikoisia taivutuksia. + +define @yksikön_heikko_aste := ; + +define @yksikön_heikko_aste_ja_monikon_nimentö := + @yksikön_heikko_aste + ; + + +define @monikon_heikko_aste := ; + +define @heikko_aste := @yksikön_heikko_aste + @monikon_heikko_aste; + +[perusmuoto: "tieto", alku: "tiio", luokka: nimisana, jatko: @heikko_aste, äs: a]; + +[perusmuoto: "edessä", alku: "ee", luokka: seikkasana, jatko: @heikkoasteiset_paikallissijat, äs: ä]; + +[perusmuoto: "lato", alku: "lau", luokka: nimisana, jatko: @yksikön_heikko_aste_ja_monikon_nimentö, äs: a, tiedot: ]; + +[perusmuoto: "sade", alku: "saitta", luokka: teonsana, jatko: , äs: a]; # Sadetta. +[perusmuoto: "sadekuuro", alku: "saikuuro", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "me", alku: "meijän", luokka: asemosana, jatko: , äs: ä]; + + +[perusmuoto: "mennä", alku: "meen", luokka: teonsana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "mennä", alku: "meet", luokka: teonsana, jatko: , äs: ä, tiedot: ]; + +[perusmuoto: "tarvita", alku: "tarvi", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tarvita", alku: "tarvii", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tarvita", alku: "tarviin", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "tarvita", alku: "tarviis", luokka: teonsana, jatko: , äs: a]; # Tarvitsisi. +[perusmuoto: "tarvita", alku: "tarvi", luokka: teonsana, jatko: , äs: a]; # Tarvitsisi. + + +[perusmuoto: "tietää", alku: "tiiä", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiiän", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiiät", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiiämme", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiiätte", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiietä", luokka: teonsana, jatko: , äs: ä]; # Ei tiietä. +[perusmuoto: "tietää", alku: "tiiettiin", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "tietää", alku: "tiietty", luokka: teonsana, jatko: , äs: ä]; + +[perusmuoto: "vesi", alku: "vee", luokka: nimisana, jatko: @yksikön_heikko_aste_ja_monikon_nimentö, äs: ä]; + +[perusmuoto: "vetää", alku: "vejin", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "vetää", alku: "vejit", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "vetää", alku: "vejimme", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "vetää", alku: "vejitte", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "vetää", alku: "vejä", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "vetää", alku: "vejetään", luokka: teonsana, jatko: , äs: ä]; + +[perusmuoto: "viedä", alku: "viiä", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "viedä", alku: "viiään", luokka: teonsana, jatko: , äs: ä]; + +[perusmuoto: "vuosi", alku: "vuuve", luokka: nimisana, jatko: @yksikön_heikko_aste_ja_monikon_nimentö, äs: a]; + + +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "showhin", luokka: nimisana, sija: sisätulento, luku: yksikkö, jatko: , äs: a]; +[perusmuoto: "show", alku: "showhi", luokka: nimisana, sija: sisätulento, luku: yksikkö, jatko: , äs: a]; +[perusmuoto: "show", alku: "showhun", luokka: nimisana, sija: sisätulento, luku: yksikkö, jatko: , äs: a]; +[perusmuoto: "show", alku: "showhu", luokka: nimisana, sija: sisätulento, luku: yksikkö, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "show", alku: "show", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "paruusia", alku: "paruusi", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Byrne", alku: "Byrne", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "puolitoista", alku: "puolitoista", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "puolitoista", alku: "puolentoista", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "monisata", alku: "monisata", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "perunasaago", alku: "perunasaago", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "kryo", alku: "kryo", luokka: etuliite, jatko: @eln + @ell, äs: aä]; +[perusmuoto: "reseda", alku: "resed", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "resentismi", alku: "resentism", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "resentisti", alku: "resentist", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "reservaatio", alku: "reservaatio", luokka: nimisana, jatko: , äs: a]; +#[perusmuoto: "vakaaja", alku: "vakaaj", luokka: nimisana, jatko: <>, äs: a]; +[perusmuoto: "vaata", alku: "va", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "korridori", alku: "korridori", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "korybantti", alku: "korybant", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "inklusionismi", alku: "inklusionism", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "inklusionisti", alku: "inklusionist", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "paternalismi", alku: "paternalism", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "paternalisti", alku: "paternalist", luokka: nimisana, jatko: , äs: a, tiedot: ]; + +[perusmuoto: "hyvinansaittu", alku: "hyvinansai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinarvoisa", alku: "hyvinarvois", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinedustettu", alku: "hyvineduste", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinelelijä", alku: "hyvineleli", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hyvinharjoitettu", alku: "hyvinharjoite", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinharkittu", alku: "hyvinharki", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinhoidettu", alku: "hyvinhoide", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinjohdettu", alku: "hyvinjohde", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinjärjestetty", alku: "hyvinjärjeste", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinjärjestäytynyt", alku: "hyvinjärjestäyty", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinjärjestys", alku: "hyvinjärjesty", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hyvinkasvatettu", alku: "hyvinkasvate", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinkehittynyt", alku: "hyvinkehitty", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinkirjoitettu", alku: "hyvinkirjoite", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinkoulutettu", alku: "hyvinkoulute", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinkäytetty", alku: "hyvinkäyte", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinkäyttäytyvä", alku: "hyvinkäyttäytyv", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinmenestynyt", alku: "hyvinmenesty", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinmuodostunut", alku: "hyvinmuodostu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinmuotoutunut", alku: "hyvinmuotoutu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinmääritelty", alku: "hyvinmääritel", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinpalkattu", alku: "hyvinpalka", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinpieni", alku: "hyvinpien", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinpuettu", alku: "hyvinpue", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinpukeutuva", alku: "hyvinpukeutuv", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinpärjäävä", alku: "hyvinpärjääv", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinoppinut", alku: "hyvinoppi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinrakennettu", alku: "hyvinrakenne", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinravittu", alku: "hyvinravi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinruokittu", alku: "hyvinruoki", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinsuunniteltu", alku: "hyvinsuunnitel", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinsyönyt", alku: "hyvinsyö", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinsäilynyt", alku: "hyvinsäily", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinsäilytetty", alku: "hyvinsäilyte", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinsäilyvä", alku: "hyvinsäilyv", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvintarttuva", alku: "hyvintarttuv", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvintehty", alku: "hyvinteh", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvintekevä", alku: "hyvintekev", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvintoimeentuleva", alku: "hyvintoimeentulev", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvintunnettu", alku: "hyvintunne", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvintuttu", alku: "hyvintu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvintähdätty", alku: "hyvintähdä", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "hyvinvarustautunut", alku: "hyvinvarustautu", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinvarusteltu", alku: "hyvinvarustel", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinvarustettu", alku: "hyvinvaruste", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "hyvinviljelty", alku: "hyvinviljel", luokka: laatusana, jatko: , äs: ä]; + +[perusmuoto: "hyvinpaljon", alku: "hyvinpaljon", luokka: seikkasana, jatko: , äs: a]; +[perusmuoto: "hyvinpäin", alku: "hyvinpäin", luokka: seikkasana, jatko: , äs: ä]; + +[perusmuoto: "Reykjavík", alku: "Reykjavík", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Netticolosseum", alku: "Netticolosseum", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Merkaartor", alku: "Merkaartor", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Rabb", alku: "Rabb", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Cotton", alku: "Cotton", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Telekarelia", alku: "Telekareli", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Sanaskoski", alku: "Sanaskosk", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Kalaksikukko", alku: "Kalaksikuk", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "lipstikka", alku: "lipstik", luokka: nimisana, jatko: , äs: a]; +[alku: "FinnFor2010", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "apache2", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[alku: "drupal6", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +[perusmuoto: "Gerritsen", alku: "Gerritsen", luokka: sukunimi, jatko: , äs: ä]; +[perusmuoto: "Keryx", alku: "Keryx", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "JFlex", alku: "JFlex", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "gramps", alku: "gramps", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "nimbus", alku: "nimbu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "cumulonimbus", alku: "cumulonimbu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "tikistää", alku: "tikist", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "Angelika", alku: "Angelik", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Karon", alku: "Karon", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "puistoinen", alku: "puistoi", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "luokoilma", alku: "luokoilm", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "luokojuhla", alku: "luokojuhl", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "luokomaa", alku: "luokoma", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "luokopäivä", alku: "luokopäiv", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "luokosää", alku: "luokosä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "luokoväki", alku: "luokovä", luokka: nimisana, jatko: , äs: ä]; + + +[perusmuoto: "testeri", alku: "tester", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "Jerri", alku: "Jerr", luokka: etunimi, jatko: , äs: ä]; +[alku: "abc", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "2g", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "3g", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[alku: "4g", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: aä]; +[perusmuoto: "hieraattinen", alku: "hieraatti", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "Riesco", alku: "Riesco", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "aksiaali", alku: "aksiaali", luokka: etuliite, jatko: @sana2, äs: aä]; +[alku: "xsd", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[alku: "xsdcxx", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +[perusmuoto: "Scala", alku: "Scal", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Bella", alku: "Bell", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Carla", alku: "Carl", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "ruiskaus", alku: "ruiskau", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Dolores", alku: "Dolore", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Fiona", alku: "Fion", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "reuhtoa", alku: "reuh", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "jyystää", alku: "jyyst", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "Katla", alku: "Katl", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Gloria", alku: "Glori", luokka: etunimi, jatko: , äs: a]; +[perusmuoto: "Katajala", alku: "Katajal", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "pidättäytyä", alku: "pidättäy", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "etanafooni", alku: "etanafoon", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "homofooni", alku: "homofoon", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Cthulhu", alku: "Cthulhu", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "suonikohjuinen", alku: "suonikohjui", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "bonsai", alku: "bonsa", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Pete", alku: "Pete", luokka: etunimi, jatko: , äs: ä]; + +##[perusmuoto: "soinnillinen", alku: "soinnilli", luokka: laatusana, jatko: , äs: a]; +#[perusmuoto: "biologisoida", alku: "biologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "demonisoida", alku: "demoniso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "fosforisoida", alku: "fosforiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "geometrisoida", alku: "geometriso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "hybridisoida", alku: "hybridiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "idolisoida", alku: "idoliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "julkisoida", alku: "julkiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "karamellisoida", alku: "karamelliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "kompaktisoida", alku: "kompaktiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "morfologisoida", alku: "morfologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "mytologisoida", alku: "mytologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "parametrisoida", alku: "parametriso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "perioidisoida", alku: "periodiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "romanisoida", alku: "romaniso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "teologisoida", alku: "teologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "topologisoida", alku: "topologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "typologisoida", alku: "typologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "vokalisoida", alku: "vokaliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "strategisoida", alku: "strategiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "islamisoida", alku: "islamiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "psykopatologisoida", alku: "psykopatologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "anglisoida", alku: "angliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "anodisoida", alku: "anodiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "antialiasoida", alku: "antialiaso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "antropologisoida", alku: "antropologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "arabiasoida", alku: "arabiaso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "atomisoida", alku: "atomiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "metallisoida", alku: "metalliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "metodisoida", alku: "metodiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "palatalisoida", alku: "palataliso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "teknologisoida", alku: "teknologiso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "orkesterisoida", alku: "orkesteriso", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "", alku: "", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "parikymmentä", alku: "parikymmentä", luokka: nimisana, luku: yksikkö, jatko: @sana1 + , äs: ä, rakenne: "=pppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinkymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinkymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariakymmen", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinakymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariksikymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parissakymmenessä", luokka: nimisana, luku: yksikkö, sijamuoto: sisäolento, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=ppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "paristakymmenestä", luokka: nimisana, luku: yksikkö, sijamuoto: sisäeronto, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=ppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariinkymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parillakymmenellä", luokka: nimisana, luku: yksikkö, sijamuoto: ulko_olento, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=ppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariltakymmeneltä", luokka: nimisana, luku: yksikkö, sijamuoto: ulkoeronto, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=ppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "parillekymmenelle", luokka: nimisana, luku: yksikkö, sijamuoto: ulkotulento, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=ppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "parittakymmene", luokka: nimisana, luku: yksikkö, jatko: , äs: ä, rakenne: "=ppppppp=pppppppp"]; + +[perusmuoto: "parikymmentä", alku: "paritkymmene", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "paritkymmene", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parienkymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parienkymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariakymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=ppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinakymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariksikymmeniksi", luokka: nimisana, luku: monikko, sijamuoto: tulento, jatko: , äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parissakymmenissä", luokka: nimisana, luku: monikko, sijamuoto: sisäolento, jatko: , äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "paristakymmenistä", luokka: nimisana, luku: monikko, sijamuoto: sisäeronto, jatko: , äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariinkymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parillakymmenillä", luokka: nimisana, luku: monikko, sijamuoto: ulko_olento, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "pariltakymmeniltä", luokka: nimisana, luku: monikko, sijamuoto: ulkoeronto, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parillekymmenille", luokka: nimisana, luku: monikko, sijamuoto: ulkotulento, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parittakymmenittä", luokka: nimisana, luku: monikko, sijamuoto: vajanto, jatko: @sijan_jatko_ol, äs: ä, rakenne: "=ppppppp=pppppppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinekymmen", luokka: nimisana, luku: monikko, jatko: , äs: ä, rakenne: "=pppppp=pppppppp"]; +[perusmuoto: "parikymmentä", alku: "parinkymmenin", luokka: nimisana, luku: monikko, sijamuoto: keinonto, jatko: @sijan_jatko, äs: ä, rakenne: "=ppppp=pppppppppp"]; + + +[perusmuoto: "parisataa", alku: "parisataa", luokka: nimisana, luku: yksikkö, jatko: @sana1 + , äs: a, rakenne: "=pppp=ppppp"]; +[perusmuoto: "parisataa", alku: "parinsada", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=ppppp=ppppp"]; +[perusmuoto: "parisataa", alku: "parinsada", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=ppppp=ppppp"]; +[perusmuoto: "parisataa", alku: "pariasata", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=ppppp=ppppp"]; +[perusmuoto: "parisataa", alku: "parinasata", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=pppppp=ppppp"]; +[perusmuoto: "parisataa", alku: "pariksisada", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=ppppppp=ppppp"]; +[perusmuoto: "parisataa", alku: "parissasadassa", luokka: nimisana, luku: yksikkö, sijamuoto: sisäolento, jatko: @sijan_jatko_ol, äs: a, rakenne: "=ppppppp=ppppppp"]; +[perusmuoto: "parisataa", alku: "paristasadasta", luokka: nimisana, luku: yksikkö, sijamuoto: sisäeronto, jatko: @sijan_jatko_ol, äs: a, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parisataa", alku: "pariinsata", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=pppppp=pppppp"]; +[perusmuoto: "parisataa", alku: "parillasadalla", luokka: nimisana, luku: yksikkö, sijamuoto: ulko_olento, jatko: @sijan_jatko_ol, äs: a, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parisataa", alku: "pariltasadalta", luokka: nimisana, luku: yksikkö, sijamuoto: ulkoeronto, jatko: @sijan_jatko_ol, äs: a, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parisataa", alku: "parillesadalle", luokka: nimisana, luku: yksikkö, sijamuoto: ulkotulento, jatko: @sijan_jatko_ol, äs: a, rakenne: "=ppppppp=pppppppp"]; +[perusmuoto: "parisataa", alku: "parittasada", luokka: nimisana, luku: yksikkö, jatko: , äs: a, rakenne: "=ppppppp=ppppp"]; + +[perusmuoto: "ajoreki", alku: "ajore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "asereki", alku: "asere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "ampumatarvereki", alku: "ampumatarvere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "evakkoreki", alku: "evakkore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "hankireki", alku: "hankire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "hilareki", alku: "hilare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "hopeareki", alku: "hopeare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "häkkireki", alku: "häkkire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "hämäläisreki", alku: "hämäläisre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "hääreki", alku: "hääre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "jauhoreki", alku: "jauhore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "kajakkireki", alku: "kajakkire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "kakkulaparireki", alku: "kakkulaparire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "kappireki", alku: "kappire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "kosioreki", alku: "kosiore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "kuormastoreki", alku: "kuormastore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "lautareki", alku: "lautare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "liistereki", alku: "liistere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "muonareki", alku: "muonare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "mutareki", alku: "mutare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "pakkoreki", alku: "pakkore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "pukkireki", alku: "pukkire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "pärereki", alku: "pärere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "ruumisreki", alku: "ruumisre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "saverikkoreki", alku: "saverikkore", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "savolaisreki", alku: "savolaisre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "sontareki", alku: "sontare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "takareki", alku: "takare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "talonpoikaisreki", alku: "talonpoikaisre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "tavarareki", alku: "tavarare", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "tarvikereki", alku: "tarvikere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "teräsreki", alku: "teräsre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "työntöreki", alku: "työntöre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "varustereki", alku: "varustere", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "venäläisreki", alku: "venäläisre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "venjänreki", alku: "venäjänre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "vauvanreki", alku: "vauvanre", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "Tulireki", alku: "Tulire", luokka: nimi, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "Tähtireki", alku: "Tähtire", luokka: nimi, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "Vauhtireki", alku: "Vauhtire", luokka: nimi, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "ykkösmoottorireki", alku: "ykkösmoottorire", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +#[perusmuoto: "reki", alku: "re", luokka: nimisana, jatko: , äs: ä, tiedot: ]; + + +[perusmuoto: "esituma", alku: "esitum", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "esitumallinen", alku: "esitumalli", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "alkeistumallinen", alku: "alkeistumalli", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "keskustuma", alku: "keskustum", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "solutuma", alku: "solutum", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "afrikkalaistaa", alku: "afrikkalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "amerikkalaistaa", alku: "amerikkalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "arabialaistaa", alku: "arabialaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "arjalaistaa", alku: "arjalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "englantilaistaa", alku: "englantilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "islamilaistaa", alku: "islamilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "japanilaistaa", alku: "japanilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "kiinalaistaa", alku: "kiinalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "kreikkalaistaa", alku: "kreikkalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "luterilaistaa", alku: "luterilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "länsimaalaistaa", alku: "länsimaalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "norjalaistaa", alku: "norjalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "puolalaistaa", alku: "puolalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "ranskalaistaa", alku: "ranskalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "roomalaistaa", alku: "roomalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "saksalaistaa", alku: "saksalaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "samanlaistaa", alku: "samanlaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "savolaistaa", alku: "savolaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "slaavilaistaa", alku: "slaavilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "turkkilaistaa", alku: "turkkilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "vasemmistolaistaa", alku: "vasemmistolaist", luokka: teonsana, jatko: , äs: a]; +#[perusmuoto: "laistaa", alku: "laist", luokka: teonsana, jatko: , äs: a]; + +[perusmuoto: "vuosaarelainen", alku: "vuosaarelai", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "Vihtari", alku: "Vihtar", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "vuorimari", alku: "vuorimar", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Rankkivuo", alku: "Rankkiv", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Valinor", alku: "Valinor", luokka: paikannimi, jatko: , äs: a]; + +[perusmuoto: "valinpaja", alku: "valinpaj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "valinkuppi", alku: "valinkup", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "valinteos", alku: "valinteo", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "valinlaite", alku: "valinlait", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "valinkaava", alku: "valinkaav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Voivalin", alku: "Voivalin", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Nupponen", alku: "Nuppo", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "hämärähyssy", alku: "hämärähyssy", luokka: nimisana, jatko: , äs: ä]; + +[perusmuoto: "lakosauma", alku: "lakosaum", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "venetalas", alku: "venetala", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "Vuojärvi", alku: "Vuojärv", luokka: paikannimi, jatko: , äs: ä, rakenne: "=ipp=ppppp"]; +[perusmuoto: "kevätoras", alku: "kevätora", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "nurmenoras", alku: "nurmenora", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "rukiinoras", alku: "rukiinora", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "Webasto", alku: "Webasto", luokka: nimi, jatko: , äs: a]; + +[perusmuoto: "Ankkavuo", alku: "Ankkav", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "hurmevuo", alku: "hurmev", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hehkuvuo", alku: "hehkuv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaulavuo", alku: "kaulav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kultavuo", alku: "kultav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "protonihiukkasvuo", alku: "protonihiukkasv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "purppuravuo", alku: "purppurav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "radioaaltovuo", alku: "radioaaltov", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "sävelvuo", alku: "sävelv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Suulasvuo", alku: "Suulasv", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "tavuvuo", alku: "tavuv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Tuomenvuo", alku: "Tuomenv", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Helmivuo", alku: "Helmiv", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Jauhovuo", alku: "Jauhov", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "ikivuo", alku: "ikiv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "itkuvuo", alku: "itkuv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hiidenvuo", alku: "hiidenv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "auringonvuo", alku: "auringonv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Vuotalo", alku: "Vuotalo", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "vuosuodatin", alku: "vuosuodat", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vuonsuodatin", alku: "vuonsuodat", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vuoheinä", alku: "vuohein", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "aikavuo", alku: "aikav", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ajanvuo", alku: "ajanv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vuoeste", alku: "vuoeste", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tarkkeenomainen", alku: "tarkkeenomai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "Venetalaslahti", alku: "Venetalaslah", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "liuskare", alku: "liuskare", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Alavuo", alku: "Alav", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Ristivuo", alku: "Ristiv", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Alavuotila", alku: "Alavuotil", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Essure", alku: "Essure", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "lakoharja", alku: "lakoharj", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Lakomäki", alku: "Lakomä", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "Lakovaara", alku: "Lakovaar", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "Leipäre", alku: "Leipäre", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "lyhäri", alku: "lyhär", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Nippur", alku: "Nippur", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Sarjari", alku: "Sarjar", luokka: nimi, jatko: , äs: a]; +[perusmuoto: "Vuolinko", alku: "Vuolin", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Vuotinainen", alku: "Vuotinai", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "vuoviiva", alku: "vuoviiv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Vuolasvuo", alku: "Vuolasv", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "talas", alku: "talas", luokka: etuliite, jatko: @sana1, äs: aä]; +[perusmuoto: "Vuosanka", alku: "Vuosan", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "lämmönvuo", alku: "lämmönv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vuoleikkaus", alku: "vuoleikkau", luokka: nimisana, jatko: , äs: a, rakenne: "=ppp=pppppppp"]; +#[perusmuoto: "vuo", alku: "v", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "huopatäkki", alku: "huopatäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "keulatäkki", alku: "keulatäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "silkkitäkki", alku: "silkkitäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "sänkytäkki", alku: "sänkytäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "nukkatäkki", alku: "nukkatäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "perätäkki", alku: "perätäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "rieputäkki", alku: "rieputäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "peittotäkki", alku: "peittotäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tiikkitäkki", alku: "tiikkitäk", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "Tikkutäkki", alku: "Tikkutäk", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "aksiaalivuokone", alku: "aksiaalivuokone", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "aineenvaihduntavuoanalyysi", alku: "aineenvaihduntavuoanalyys", luokka: nimisana, jatko: , äs: aä]; +[perusmuoto: "aivorakoiluhuokoistuma", alku: "aivorakoiluhuokoistum", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Alivuotila", alku: "Alivuotil", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "germaanistaa", alku: "germaanist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Vuohenki", alku: "Vuohen", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Vuopaja", alku: "Vuopaj", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Vuotie", alku: "Vuot", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "Vuotelejärvi", alku: "Vuotelejärv", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "Vuotinaistentie", alku: "Vuotinaistent", luokka: paikannimi, jatko: , äs: ä]; +[perusmuoto: "aatteensäen", alku: "aatteensä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "aatesäen", alku: "aatesä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "tulisäen", alku: "tulisä", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ammattilaistaa", alku: "ammattilaist", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "Lakovaara", alku: "Lakovaar", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "laonkielinen", alku: "laonkieli", luokka: laatusana, jatko: , äs: ä]; +[perusmuoto: "laonnostokela", alku: "laonnostokel", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "säkenentapainen", alku: "säkenentapai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "vuonhallinta", alku: "vuonhallin", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "vuonvalvonta", alku: "vuonvalvon", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Vuontele", alku: "Vuontele", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "Vuorento", alku: "Vuoren", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "yrittäjäalumni", alku: "yrittäjäalumn", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "ilvehattu", alku: "ilvehat", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ilvehymy", alku: "ilvehymy", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilvehyppy", alku: "ilvehyp", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilvekertomus", alku: "ilvekertomu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilvekumppani", alku: "ilvekumppan", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilvenauru", alku: "ilvenauru", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilveniekka", alku: "ilveniek", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilvenukke", alku: "ilvenuk", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilvenäytelmä", alku: "ilvenäytelm", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilvenäyttelijä", alku: "ilvenäytteli", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilvepeli", alku: "ilvepel", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilveperkele", alku: "ilveperkele", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ilvepuhe", alku: "ilvepuhe", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "ilvesanta", alku: "ilvesan", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "ilvetaika", alku: "ilvetai", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "narrinilve", alku: "narrinilve", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ase-ilve", alku: "ase-ilve", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "teatteri-ilve", alku: "teatteri-ilve", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ylioppilas-ilve", alku: "ylioppilas-ilve", luokka: nimisana, jatko: , äs: ä]; + +[perusmuoto: "esitumainen", alku: "esitumai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "alkeistumainen", alku: "alkeistumai", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "yksitumainen", alku: "yksitumai", luokka: laatusana, jatko: , äs: a]; + +[perusmuoto: "aitoahdelude", alku: "aitoahdelu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kaakonahdelude", alku: "kaakonahdelu", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hutikuti", alku: "hutikut", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kanuunakuti", alku: "kanuunakut", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "kanuunankuti", alku: "kanuunankut", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "merkkikuti", alku: "merkkikut", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "silkkisari", alku: "silkkisar", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "Sarimaa", alku: "Sarima", luokka: sukunimi, jatko: , äs: a, rakenne: "=ippp=ppp"]; +[perusmuoto: "Sariomaa", alku: "Sarioma", luokka: sukunimi, jatko: , äs: a, rakenne: "=ipppp=ppp"]; +[perusmuoto: "Sarisalmi", alku: "Sarisalm", luokka: sukunimi, jatko: , äs: a, rakenne: "=ippp=ppppp"]; +[perusmuoto: "aamueine", alku: "aamueine", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ruokaeine", alku: "ruokaeine", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "einekahvi", alku: "einekahv", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "einepöytä", alku: "einepöy", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "eineruoka", alku: "eineru", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "eineryyppy", alku: "eineryyp", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "Einesalo", alku: "Einesalo", luokka: sukunimi, jatko: , äs: a, rakenne: "=ippp=pppp"]; +[perusmuoto: "einepala", alku: "einepal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "Sarijoutsi", alku: "Sarijou", luokka: etunimi, jatko: , äs: a, tiedot: ]; + +[perusmuoto: "joo", alku: "joopa", luokka: huudahdussana, jatko: , äs: a, tiedot: ]; # Joopa joo. +[perusmuoto: "jumalauta", alku: "jumal-auta", luokka: huudahdussana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "jumalauta", alku: "jumal-avita", luokka: huudahdussana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "juu", alku: "juupa", luokka: huudahdussana, jatko: , äs: a, tiedot: ]; # Juupa juu. +[perusmuoto: "kutikuti", alku: "kutikuti", luokka: huudahdussana, jatko: , äs: a]; +[perusmuoto: "aronahde", alku: "aronah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "jokiahde", alku: "jokiah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "koliahde", alku: "koliah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kolinahde", alku: "kolinah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kurikanahde", alku: "kurikanah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "paloahde", alku: "paloah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "myllyahde", alku: "myllyah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "sarjanahde", alku: "sarjanah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "vuoriahde", alku: "vuoriah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "väliahde", alku: "väliah", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "Kutinkalla", alku: "Kutinkall", luokka: paikannimi, jatko: <>, äs: a]; + +[perusmuoto: "objektivisti", alku: "objektivist", luokka: nimisana, jatko: , äs: aä, tiedot: ]; +[perusmuoto: "Talviahteenlahti", alku: "Talviahteenlah", luokka: paikannimi, jatko: , äs: a]; + +#[perusmuoto: "toskanalainen", alku: "toskanalai", luokka: nimi_laatusana, jatko: , äs: a]; +[perusmuoto: "Toskana", alku: "Toskan", luokka: paikannimi, jatko: , äs: a]; +[perusmuoto: "aurauspalle", alku: "aurauspal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "pallenätkelmä", alku: "pallenätkelm", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "palleriutta", alku: "palleriut", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pallepyörre", alku: "pallepyör", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "pallehopeaseppä", alku: "pallehopeasep", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "pallesorvarinpensas", alku: "pallesorvarinpensa", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "pallesäde", alku: "pallesä", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "pallevesitähti", alku: "pallevesitäh", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "savipalle", alku: "savipal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "siipipalteinen", alku: "siipipaltei", luokka: laatusana, jatko: , äs: a]; +[perusmuoto: "kivipalle", alku: "kivipal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "hameenpalle", alku: "hameenpal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lumipalle", alku: "lumipal", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "lakkarinpalle", alku: "lakkarinpal", luokka: nimisana, jatko: , äs: a]; + +[perusmuoto: "utumorsian", alku: "utumorsia", luokka: nimisana, jatko: , äs: a, rakenne: "=ppp=ppppppp", tiedot: ]; +[perusmuoto: "jälki", alku: "jäl", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "sisä", alku: "sisä", luokka: nimisana, jatko: @sana2, äs: ä]; +[perusmuoto: "joutsi", alku: "jou", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "peitsi", alku: "pei", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hyljätä", alku: "hyl", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "ilmi", alku: "ilmi", luokka: nimi_laatusana, jatko: @sana2, äs: ä]; +[perusmuoto: "liki", alku: "liki", luokka: laatusana, jatko: @sana2, äs: ä]; +[perusmuoto: "levätä", alku: "le", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "maksi", alku: "maks", luokka: nimisana, jatko: @sana1 + , äs: a]; +[perusmuoto: "hylätä", alku: "hyl", luokka: teonsana, jatko: , äs: ä]; +[perusmuoto: "viime", alku: "viime", luokka: laatusana, jatko: @sana2, äs: ä]; +[perusmuoto: "plus", alku: "plus", luokka: nimisana, jatko: @sana1, äs: a]; +[perusmuoto: "toteen", alku: "toteen", luokka: nimisana, jatko: @sana2, äs: aä]; +[perusmuoto: "tarvis", alku: "tarvis", luokka: nimisana, jatko: @sana1, äs: a]; +[perusmuoto: "melko", alku: "melko", luokka: laatusana, jatko: @sana1, äs: a]; +[perusmuoto: "Punkeri", alku: "Punker", luokka: sukunimi, jatko: , äs: a]; +[perusmuoto: "faneri", alku: "faner", luokka: nimisana, jatko: , äs: a, tiedot: ]; +[perusmuoto: "kilpasilla", alku: "kilpas", luokka: nimisana, jatko: @ulkopaikallissijat_monikko, äs: a]; +[perusmuoto: "kasiviis", alku: "kasiviis", luokka: nimisana, jatko: , äs: a]; +[perusmuoto: "liki", alku: "liki", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "silti", alku: "silti", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "päikkäin", alku: "päikkäin", luokka: seikkasana, jatko: , äs: ä]; +[perusmuoto: "mustaliki", alku: "mustalik", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "punaliki", alku: "punalik", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "gimp", alku: "gimp", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "gimppi", alku: "gimp", luokka: nimi, jatko: , äs: ä]; +[perusmuoto: "veteläinen", alku: "veteläi", luokka: nimi_laatusana, jatko: , äs: ä]; +[perusmuoto: "parodisoida", alku: "parodiso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "klassisoida", alku: "klassiso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "energisoida", alku: "energiso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "laseroida", alku: "lasero", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "metabolisoida", alku: "metaboliso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "nostalgisoida", alku: "nostalgiso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "antropomorfisoida", alku: "antropomorfiso", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "pielaveteläinen", alku: "pielaveteläi", luokka: nimi_laatusana, jatko: , äs: ä]; +[perusmuoto: "lapveteläinen", alku: "lapveteläi", luokka: nimi_laatusana, jatko: , äs: ä]; +[perusmuoto: "marketoida", alku: "marketo", luokka: teonsana, jatko: , äs: a]; +[perusmuoto: "pien", alku: "pien", luokka: etuliite, jatko: @sana2, äs: aä]; +[perusmuoto: "piki", alku: "piki", luokka: etuliite, jatko: @sana2, äs: aä]; + +[perusmuoto: "aatelisneiti", alku: "atelisnei", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "herrasneiti", alku: "herrasnei", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "hovineiti", alku: "hovinei", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "neiti", alku: "nei", luokka: nimisana, jatko: , äs: ä, tiedot: ]; +[perusmuoto: "aatelisimpi", alku: "aatelisim", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "juutalaisimpi", alku: "juutalaisim", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "maalaisimpi", alku: "maalaisim", luokka: nimisana, jatko: , äs: ä]; +[perusmuoto: "ulkoasu", alku: "ulkoasu", luokka: etuliite, jatko: @sana2, äs: aä]; + +#a[perusmuoto: "", alku: "", luokka: nimisana, jatko: <>, äs: a]; +#b[perusmuoto: "", alku: "", luokka: nimisana, jatko: <>, äs: ä]; +#c[perusmuoto: "", alku: "", luokka: laatusana, jatko: <>, äs: a]; +#d[perusmuoto: "", alku: "", luokka: laatusana, jatko: <>, äs: ä]; +#e[perusmuoto: "inen", alku: "i", luokka: laatusana, jatko: , äs: a]; +#f[perusmuoto: "inen", alku: "i", luokka: laatusana, jatko: , äs: ä]; +#g[perusmuoto: "", alku: "", luokka: teonsana, jatko: <>, äs: a]; +#h[perusmuoto: "", alku: "", luokka: teonsana, jatko: <>, äs: ä]; +#i[perusmuoto: "", alku: "", luokka: etuliite, jatko: @sana2, äs: aä]; +#j[perusmuoto: "", alku: "", luokka: seikkasana, jatko: , äs: a]; +#k[perusmuoto: "", alku: "", luokka: seikkasana, jatko: , äs: ä]; +#l[perusmuoto: "", alku: "", luokka: huudahdussana, jatko: , äs: a]; +#m[perusmuoto: "", alku: "", luokka: huudahdussana, jatko: , äs: ä]; +#n[perusmuoto: "", alku: "", luokka: sukunimi, jatko: <>, äs: a]; +#o[perusmuoto: "", alku: "", luokka: sukunimi, jatko: <>, äs: ä]; +#p[perusmuoto: "", alku: "", luokka: paikannimi, jatko: <>, äs: a]; +#q[perusmuoto: "", alku: "", luokka: paikannimi, jatko: <>, äs: ä]; +#r[perusmuoto: "", alku: "", luokka: etunimi, jatko: <>, äs: a]; +#s[perusmuoto: "", alku: "", luokka: etunimi, jatko: <>, äs: ä]; +#t[perusmuoto: "", alku: "", luokka: nimi, jatko: <>, äs: a]; +#u[perusmuoto: "", alku: "", luokka: nimi, jatko: <>, äs: ä]; +#v[alku: "", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: a]; +#x[alku: "", luokka: lyhenne, jatko: @lyhenteen_jatko, äs: ä]; +#å[perusmuoto: "", alku: "", luokka: nimi_laatusana, jatko: <>, äs: a]; +#ä[perusmuoto: "", alku: "", luokka: nimi_laatusana, jatko: <>, äs: ä]; diff --git a/sukija/sukija.py b/sukija/sukija.py new file mode 100644 index 0000000..3d7cbdc --- /dev/null +++ b/sukija/sukija.py @@ -0,0 +1,476 @@ +# -*- coding: utf-8 -*- + +# Copyright 2007-2009, 2013 Hannu Väisänen (Etunimi.Sukunimi@uef.fi +# Program to generate lexicon files for Suomi-malaga Sukija edition. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +# This code is heavily based on code written by Harri Pitkänen. + +import codecs +import generate_lex_common +import hfconv +import voikkoutils +import re +import sys + + +# Historical inflections in alphabetical order. +historical = [ + (u'aavistaa', u'sw', [(u'tt',u'(.*O)ittAA',u'kirjoittaa'), + (u'tt',u'(.*O)ttAA',u'ammottaa'), + (None,u'(.*t)AA',u'aavistaa'), + (u'tt',u'(.*eUt)tAA',u'kuluttaa'), + (u'tt',u'(.*[AeiU]t)tAA',u'alittaa'), + (u't',u'(.*h)tAA',u'astahtaa')]), + (u'ahven', u'ws', [(None,u'(.*CVC)',u'ahven')]), + (u'altis', u'ws', [(None, u'(.*t)is', u'altis')]), + (u'antautua', u'sw', [(u't',u'(.*)tUA',u'antautua')]), + (u'arvailla', u'-', [(None,u'(.*[AOU]])illA',u'arvailla')]), + (u'arvelu', u'sw', [(None,u'(.*e)istO',u'aarteisto')]), + (u'autio', u'-', [(None,u'(..*C)aatio',u'obligaatio'), + (None,u'(..*C)uutio',u'resoluutio'), + (None,u'(..*C)uusio',u'illuusio'), + (None,u'(..*C)itio',u'traditio'), + (None,u'(.*)ktio',u'funktio'), + (None,u'(.*)',u'autio')]), + (u'banaali', u'sw', [(None,u'(..*[^aeouyäö]o)di',u'symboli_di'), + (None,u'(..*[^aeouyäö]o)fi',u'symboli_fi'), + (None,u'(..*[^aeouyäö]o)gi',u'symboli_gi'), + (None,u'(..*[^aeouyäö]o)li',u'symboli_li'), + (None,u'(..*[^aeouyäö]o)mi',u'symboli_mi'), + (None,u'(..*[^aeouyäö]o)ni',u'symboli_ni'), + (None,u'(..*[^aeouyäö]o)ri',u'symboli_ri'), + (None,u'(..*[^aeouyäö]o)vi',u'symboli_vi'), + (None,u'(..*a)di',u'balladi'), + (None,u'(pisto)oli',u'pistooli'), + (None,u'(poli)isi',u'poliisi'), + (None,u'(.*)i',u'banaali'), + (u'nt',u'(.*n)ti',u'hollanti'), + (u'nk',u'(.*n)ki',u'killinki'), + (u'kk',u'(.*k)ki',u'kajakki'), + (u'tt',u'(.*t)ti',u'salaatti'), + (u'pp',u'(.*p)pi',u'sinappi'), + (u't',u'(.*)ti',u'konvehti') ]), + (u'bébé', u'-', [(None,u'(.*V)',u'bébé')]), + (u'haastaa', u'sw', [(None,u'(.*Ct)AA',u'haastaa')]), + (u'hame', u'ws', [(u't',u'(..*CO)ite',u'osoite'), + (u't',u'(..*CO)te',u'tiedote')]), + (u'herttua', u'-', [(None,u'(.*tU)A',u'herttua')]), + (u'hohtaa', u'sw', [(u'tt',u'(.*t)tAA',u'heittää')]), + (u'huutaa', u'sw', [(u'nt',u'(.*Vn)tAA',u'alentaa'), + (u't',u'(.*V)tAA',u'huutaa')]), + (u'iäkäs', u'ws', [(u'k',u'(.*[mntv]e)ikAs',u'maineikas'), + (u'k',u'(.*k)As',u'iäkäs')]), + (u'kaihtaa', u'sw', [(u't',u'(.*)tAA',u'kaihtaa')]), + (u'kaivaa', u'sw', [(None,u'(.*aj)AA',u'ajaa')]), + (u'kantaja', u'-', [(None,u'(.*)jA',u'kantaja')]), + (u'katsella', u'ws', [(None,u'(.*[AOU])illA',u'arvailla')]), + (u'kirjoitella', u'ws', [(None,u'(...*O)itellA',u'kilvoitella'), + (None,u'(.*O)tellA',u'ilotella')]), + (u'kirjoittaa', u'sw', [(u'tt',u'(.*O)ittAA',u'kirjoittaa'), + (u'tt',u'(.*O)ttAA',u'ammottaa'), + (u'tt',u'(.*[AeiU]t)tAA',u'asettaa')]), + (u'karahka', u'-', [(None,u'(.*lo)gia',u'analogia'), + (None,u'(.*so)fia',u'filosofia'), + (None,u'(.*gra)fia',u'topografia')]), + (u'koiras', u'ws', [(None,u'(.*A)s',u'koiras')]), + (u'kohota', u'ws', [(u'k',u'(.*ik)OtA',u'laota'), + (u'k',u'(.*Vk)OtA',u'saota'), + (u'>k',u'(hi|la)OtA',u'laota'), + (u'>k',u'(C[AiU])OtA',u'saota')]), + (u'kulkija', u'-', [(None,u'(.*lo)gia',u'analogia'), + (None,u'(.*so)fia',u'filosofia'), + (None,u'(.*gra)fia',u'topografia')]), + (u'kuollut', u'-', [(None,u'(.*neits)yt',u'neitsyt'), + (None,u'(.*C)lUt',u'kuollut'), + (None,u'(.*)nUt', u'punonut'), + (None,u'(.*C)rUt',u'purrut'), + (None,u'(.*C)sUt',u'juossut')]), + (u'kutiaa', u'-', [(None,u'(.*Cia)a',u'kutiaa')]), + (u'laittaa', u'sw', [(u'tt',u'(.*t)tAA',u'laittaa')]), + (u'lampi', u'-', [(None,u'(.*kam)pi',u'lampi')]), + (u'lovi', u'sw', [(None,u'(rips|sin)i',u'kiiski')]), + (u'nainen', u'-', [(None,u'(hevo)nen',u'hevoinen'), + (None,u'(.*Co)rinen',u'allegorinen'), + (None,u'(.*Co)finen',u'filosofinen'), + (None,u'(.*Co)ginen',u'psykologinen'), + (None,u'(.*Co)ninen',u'ironinen'), + (None,u'(.*gra)finen',u'topografinen'), + (None,u'(.*(?:aa|ee|ii|oo|uu|yy|ää|öö)p)pinen',u'eeppinen'), + (None,u'(.*(?:aa|ee|ii|oo|uu|yy|ää|öö)t)tinen',u'kriittinen'), + (None,u'(.*(?:aa|ee|ii|oo|uu|yy|ää|öö)k)kinen',u'psyykkinen'), + (None,u'(.*[ts]i)ivinen',u'relatiivinen'), # Myös massi(i)vinen yms. + (None,u'(.*)nen',u'nainen')]), + (u'neiti', u'sw', [(u't',u'(.*)ti',u'neiti')]), + (u'nuori', u'-', [(None,u'(.*C)i',u'nuori')]), + (u'onneton', u'ws', [(None,u'(.*)tOn',u'alaston'), + (u't',u'(.*)tOn',u'onneton')]), + (u'paahtaa', u'sw', [(u't',u'(.*)tAA',u'paahtaa')]), + (u'paistaa', u'sw', [(None,u'(.*C)AA',u'paistaa')]), + (u'palata', u'ws', [(None,u'(.*)AtA',u'palata')]), + (u'palaa', u'ws', [(None,u'(.*C)AA',u'palaa')]), + (u'paperi', u'sw', [(None,u'(..*[^aeouyäö]o)di',u'symboli_di'), + (None,u'(..*[^aeouyäö]o)fi',u'symboli_fi'), + (None,u'(..*[^aeouyäö]o)gi',u'symboli_gi'), + (None,u'(..*[^aeouyäö]o)li',u'symboli_li'), + (None,u'(..*[^aeouyäö]o)mi',u'symboli_mi'), + (None,u'(..*[^aeouyäö]o)ni',u'symboli_ni'), + (None,u'(..*[^aeouyäö]o)ri',u'symboli_ri'), + (None,u'(..*[^aeouyäö]o)vi',u'symboli_vi'), + (None,u'(kam)ari',u'kamari'), + (None,u'(pisto)oli',u'pistooli'), + (None,u'(poli)isi',u'poliisi'), + (None,u'(..*a)di',u'balladi')]), + (u'pasuuna', u'sw', [(None,u'(.*)A',u'pasuuna')]), + (u'punoa', u'sw', [(u't',u'(...*AU)tUA',u'antautua')]), + (u'rakentaa', u'-', [(None,u'(.*n)tAA',u'rakentaa')]), + (u'risti', u'sw', [(None,u'(..*[^aeouyäö]o)di',u'telefoni_di'), + (None,u'(..*[^aeouyäö]o)fi',u'telefoni_fi'), + (None,u'(..*[^aeouyäö]o)gi',u'telefoni_gi'), + (None,u'(..*[^aeouyäö]o)li',u'telefoni_li'), + (None,u'(..*[^aeouyäö]o)mi',u'telefoni_mi'), + (None,u'(..*[^aeouyäö]o)ni',u'telefoni_ni'), + (None,u'(..*[^aeouyäö]o)ri',u'telefoni_ri'), + (None,u'(..*[^aeouyäö]o)vi',u'telefoni_vi'), + (None,u'(..*gr)afi',u'biografi'), + (None,u'(..*)adi',u'marinadi'), + (None,u'(..*)idi',u'pyramidi'), + (u't',u'(tä|äi)ti',u'äiti')]), + (u'siivota', u'ws', [(None,u'(.*O)tA',u'siivota')]), + (u'sydän', u'-', [(None,u'(.*A)n',u'sydän')]), + (u'taittaa', u'sw', [(u'tt',u'(.*t)tAA',u'taittaa')]), + (u'tulla', u'ws', [(None,u'(.*Vl)lA',u'tulla')]), + (u'tuomi', u'-', [(None,u'(.*V)mi',u'tuomi')]), + (u'uros', u'-', [(None,u'(.*)s',u'uros')]), + (u'terve', u'-',[(None,u'(.*)',u'terve')]), + (u'valmis',u'ws', [(None,u'(.*)is',u'valmis')]), + (u'vastaus', u'-', [(None,u'(lootu)s',u'vastaus'), + (None,u'(..*CO)itUs',u'aivoitus'), + (None,u'(...*O)tUs',u'jaotus'), + (None,u'(.*V)s',u'vastaus'),]), + (u'veranta', u'sw', [(u'nt',u'(.*n)tA',u'veranta')]), + (u'vieras', u'ws', [(None,u'(.*[lr]iA)s',u'utelias'), + (u'k',u'(.*mek)As',u'iäkäs'), + (u'k',u'(.*k)As',u'varas')]), + (u'vihanta', u'sw', [(u'nt',u'(.*n)tA',u'vihanta')]), + (u'virkkaa', u'sw', [(u'kk',u'(.*k)kAA',u'virkkaa')]) + ] + +classmap = hfconv.compileClassmapREs(historical) +classmap.extend(hfconv.compileClassmapREs(hfconv.modern_classmap)) + +pattern = u"^(?P.*)(?:" + \ + u"(?PC[aouyäö]i?nen)|" + \ + u"(?P[^aeouyäö]o[dfglmnrv]i)|" + \ + u"(?P[mntv]eikAs)" + \ + u")$" + +pattern = pattern.replace(u"A", u"[aä]") +pattern = pattern.replace(u"O", u"[oö]") +pattern = pattern.replace(u"U", u"[uy]") +pattern = pattern.replace(u"C", u"[bcdfghjklmnpqrstvwxzšžçðñþß]") +rx = re.compile(pattern, re.IGNORECASE) + +begin = u"(amerikan|jälleen|tiibetin|uudelleen).+" +rx_begin = re.compile(begin, re.IGNORECASE) + +end = u".+(herkkä|pöllö|valmis)" +rx_end = re.compile(end, re.IGNORECASE) + + +#print pattern + + +# Sanat, jotka tunnistetaan Sukija-versiossa automaagisesti toisten +# sanojen johdoksina. Tällaiset sanat pitäisi merkitä Joukahaisen +# sanastoon lipulla ei kuulu indeksointisanastoon. +# +# Niiden lisäksi Sukijassa ei tarvita erisnimiä, jotka ovat myös +# yleisnimiä. Kuitenkin mukaan pitää ottaa sellaiset sanat, jotka +# taipuvat eri tavalla yleis- ja erisniminä. Esim. Lempi, Lempin; +# lempi, lemmen. +# +# Sanaluettelon saa näin: +# grep '
' ../*/*xml | sed -e "s@@@g" | sort +# +words = [] +inputfile = codecs.open ('sukija/ei-sukija.txt', 'r', 'UTF-8') +while True: + word = inputfile.readline() + if (len(word) == 0): + break + if (word[0] == '#'): + continue; + word = word[:-1] # Poistetaan \n sanan lopusta. +# print (word) + words.append (word) + + +# Aksentilliset kirjaimet UTF-8 -merkistössä 0000-017F, +# ei kuitenkaan merkkejä š ja ž. +# +# C0 Controls and Basic Latin. Range: 0000-007F +# C1 Controls and Latin-1 Supplement Range: 0080-00FF +# Latin Extended-A Range: 0100-017F +# +# C0 on sama kuin ASCII, C0+C1 on sama kuin ISO-8859-1. +# +# Kirjaimet å, ä ja ö eivät ole aksentillisia kirjaimia suomen kielessä. +# +accents = u"ÀÁÂÃÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕØÙÚÛÜÝÞßàáâãæçèéêëìíîïðñòóôõøùúûüýþÿ" + \ + u"ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸ" + \ + u"ĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżſ" + +replace = u"AAAAÆCEEEEIIIIDNOOOÖÖUUUUYÞßaaaaæceeeeiiiidnoooööuuuuyþy" + \ + u"AaAaAaCcCcCcCcDdDdEeEeEeEeEeGgGgGgGgHhHhIiIiIiIiIiIJijJjKkk" + \ + u"LlLlLlLlLlNnNnNnnNnOoOoÖöŒœRrRrSsSsSsTtTtTtUuUuUuUuYyUuWwYyYZzZzs" + +rx_accents = re.compile (u"[" + accents + u"]") + + +# Jaetaan sana tavuihin. Esim. +# hyphenate(u"valkoinen") = val-koi-nen. +# +# +# Algoritmi: Facta-tietosanakirja (1970), osa 9, palsta 50. +# +# "(1) kaksi peräkkäistä vokaalikirjainta kuuluvat samaan tavuun +# jos ja vain jos ne ääntyvät pitkänä vokaalina tai diftongina. +# +# (2) jos konsonanttia seuraa vokaali, ne kuuluvat samaan tavuun, +# muutoin konsonantti kuuluu edellisen kirjaimen tavuun (kuitenkin +# vierasperäisen sanan kaikki alkukonsonantit kuuluvat samaan tavuun)." + +# Kahden ääntiön yhdistelmät, jotka voivat olla tavussa. +A0 = [u"ei", u"ai", u"äi", u"ui", u"yi", u"oi", u"öi"] +A1 = [u"au", u"äy", u"ou", u"öy", u"iu", u"iy", u"eu", u"ey", u"uo", u"yö", u"ie"] +A1.extend(A0) +A2 = [u"aa", u"ee", u"ii", u"oo", u"uu", u"yy", u"ää", u"öö"] + +V2 = A1 +V2.extend(A2) + +V = u"AÀÁÂÃEÈÉÊËŒÆIÌÍÎÏOÒÓÔUÙÚÛYÝÿÜÅÄÖØÕaàáâãeèéêëœæiìíîïoòóôuùúûyýÿüåäöøõ" +C = u"BCDFGHJKLMNŃPQRSTVWXZŠŽÇÐÑÞßbcdfghjklmnńpqrstvwxzšžçðñþß" + + +# Palautetaan True, jos sanassa on ainakin yksi ääntiö. +# +def has_vowel(s): + for i in s: + if (i in V): + return 1 + return 0 + + +# Korvataan sanasta 'word' aksenttimerkit +# aksentittomilla kohtien 'start' ja 'end' välistä. +# +def deaccent(word, start, end): + s = u"" + for i in range(start, end): + j = accents.find(word[i]) + if (j >= 0): + s = s + replace[j] + else: + s = s + word[i] + s = s + word[end:] + return s + + +# Kirjoitetaan sana Malagan tietokantaan korvaamalla aksenttimerkit aksentittomilla (esim. á == a), +# mutta ei korvata kirjaimia š ja ž s:llä ja z:lla. +# +def write_word_without_accents(main_vocabulary, vocabulary_files, word, entry, wordform): + if ((rx_accents.search(wordform) != None) and (wordform != u"šakki")): + n = entry.find(u" luokka: ") + if (n == -1): + print("write_word_without_accents: Virhe Malaga-koodissa: " + entry + u"\n") + entry2 = deaccent (entry, 0, n) +# print (entry + entry2 + u"\n") + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry2) + + +word_end = re.compile(u".+geeni(nen)?$") + +# Hyväksytään esim. karsinogeenia ja karsinogeeniä. +# +def new_vtype (malaga_vtype, wordform): + if (word_end.match(wordform)): + return u"aä" + else: + return malaga_vtype + +def handle_word(main_vocabulary,vocabulary_files,word): + if generate_lex_common.has_flag(word, "not_sukija"): return + + # Get the inflection class. Exactly one inflection class is needed. + infclasses = word.getElementsByTagName("infclass") + voikko_infclass = None + for infclass in word.getElementsByTagName("infclass"): + if infclass.getAttribute("type") == "historical": + voikko_infclass = generate_lex_common.tValue(infclass) + break + if (voikko_infclass in [u"antautua", u"kaihtaa", u"laittaa", u"paahtaa", + u"taittaa", u"veranta", u"vihanta", u"virkkaa"]): + voikko_infclass = voikko_infclass + u"-av1" + + if voikko_infclass == None: + for infclass in word.getElementsByTagName("infclass"): + if infclass.getAttribute("type") != "historical": + voikko_infclass = generate_lex_common.tValue(infclass) + break + +## if voikko_infclass == None: return + if voikko_infclass == u"poikkeava": return + + # Get the word classes + wordclasses = generate_lex_common.tValues(word.getElementsByTagName("classes")[0], "wclass") + if wordclasses[0] != u"interjection" and voikko_infclass == None: + return + malaga_word_class = generate_lex_common.get_malaga_word_class(wordclasses) + if malaga_word_class == None: return + + # Get malaga flags + malaga_flags = generate_lex_common.get_malaga_flags(word) + + # Get forced vowel type + if voikko_infclass == None: + forced_inflection_vtype = voikkoutils.VOWEL_DEFAULT + else: + forced_inflection_vtype = generate_lex_common.vowel_type(word.getElementsByTagName("inflection")[0]) + + + # Get forced vowel type +### forced_inflection_vtype = generate_lex_common.vowel_type(word.getElementsByTagName("inflection")[0]) + + # Process all alternative forms + for altform in generate_lex_common.tValues(word.getElementsByTagName("forms")[0], "form"): + wordform = altform.replace(u'|', u'').replace(u'=', u'') + if (voikko_infclass == u"nuolaista-av2") and (wordform in [u"häväistä", u"vavista"]): + voikko_infclass = u"nuolaista" +# print (u"Hoo " + str(voikko_infclass) + u" " + u" " + wordform + u"\n") +# print(u"Tavutus1 " + wordform + u" " + hyphenate(wordform.lower()) + u"\n") + (alku, jatko) = generate_lex_common.get_malaga_inflection_class(wordform, voikko_infclass, wordclasses, classmap) +# print (u"Huu " + wordform + u" " + str(alku) + u" " + str(jatko) + u" " + str(voikko_infclass)) + if forced_inflection_vtype == voikkoutils.VOWEL_DEFAULT: + vtype = voikkoutils.get_wordform_infl_vowel_type(altform) + else: vtype = forced_inflection_vtype + if vtype == voikkoutils.VOWEL_FRONT: malaga_vtype = u'ä' + elif vtype == voikkoutils.VOWEL_BACK: malaga_vtype = u'a' + elif vtype == voikkoutils.VOWEL_BOTH: malaga_vtype = u'aä' + malaga_vtype = new_vtype (malaga_vtype, wordform) + rakenne = generate_lex_common.get_structure(altform, malaga_word_class) + if alku == None: + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, \ + u"#Malaga class not found for (%s, %s)\n" \ + % (wordform, voikko_infclass)) + continue + if (wordform in words): +# print ("Ei tarvita: " + wordform) + continue + if (rx_begin.match(wordform) != None): +# print ("Ei tarvita: " + wordform) + continue + if (rx_end.match(wordform) != None): +# print ("Ei tarvita: " + wordform) + continue + # Joillakin sanoilla on sanastossa kaksi taivususkaavaa, Sukijassa + # taivutuskaavat on yhdistetty, ja toisen taivutuskaavan voi poistaa. + if ((wordform in [u'ori', u'ripsi', u'sini', u'täti', u'äiti']) and (jatko == u'risti')): +# print ("Ei tarvita: " + wordform) + continue + if ((wordform == u'kampi') and (jatko == u'sampi')): +# print ("Ei tarvita: " + wordform) + continue + +# nsyl = number_of_syllabels(wordform) + + m = rx.match(wordform) + d = None + + if (m != None): + d = m.groupdict() + + alku2 = u"" + jatko2 = u"" + wordform2 = u"" + + alku3 = u"" + jatko3 = u"" + wordform3 = u"" + + alku4 = u"" + jatko4 = u"" + wordform4 = u"" + + alku5 = u"" + jatko5 = u"" + wordform5 = u"" + + alku6 = u"" + jatko6 = u"" + wordform6 = u"" + + s = u"lähtösana: \"" + wordform + u"\", lähtöalku: \"" + alku + u"\"" + + # Korjataan alku- ja jatko-kenttien arvoja. + # +# elif (jatko == u"rakentaa"): + if (jatko == u"rakentaa"): + alku = wordform[:-4] + + # Tulostetaan. + +# print(u"Word " + wordform + u"\n") + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s];' \ + % (wordform, alku, malaga_word_class, jatko, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class)) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) + + write_word_without_accents(main_vocabulary, vocabulary_files, word, entry, wordform) + + + if (len(wordform2) > 0): + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s, %s];' \ + % (wordform2, alku2, malaga_word_class, jatko2, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class), s) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) + + if (len(wordform3) > 0): + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s, %s];' \ + % (wordform3, alku3, malaga_word_class, jatko3, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class), s) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) + + if (len(wordform4) > 0): + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s, %s];' \ + % (wordform4, alku4, malaga_word_class, jatko4, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class), s) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) + + if (len(wordform5) > 0): + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s, %s];' \ + % (wordform5, alku5, malaga_word_class, jatko5, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class), s) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) + + if (len(wordform6) > 0): + entry = u'[perusmuoto: "%s", alku: "%s", luokka: %s, jatko: <%s>, äs: %s%s%s, %s];' \ + % (wordform6, alku6, malaga_word_class, jatko6, malaga_vtype, malaga_flags, + generate_lex_common.get_structure(altform, malaga_word_class), s) + generate_lex_common.write_entry(main_vocabulary, vocabulary_files, word, entry) diff --git a/sukija/suomi.all b/sukija/suomi.all new file mode 100644 index 0000000..f46f89c --- /dev/null +++ b/sukija/suomi.all @@ -0,0 +1,15636 @@ +# Suomi-malaga, suomen kielen muoto-opin kuvaus. +# +# Tekijänoikeus © 2006-2013 Hannu Väisänen (Etunimi.Sukunimi@uef.fi) +# +# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää +# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin) +# ehtojen mukaan sellaisina kuin Free Software Foundation +# on ne julkaissut; joko Lisenssin version 2, tai (valinnan +# mukaan) minkä tahansa myöhemmän version mukaisesti. +# +# Tätä ohjelmaa levitetään siinä toivossa, että se olisi +# hyödyllinen, mutta ilman mitään takuuta; ilman edes +# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai +# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL +# lisenssistä lisää yksityiskohtia. +# +# Tämän ohjelman mukana pitäisi tulla kopio GPL +# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free +# Software Foundation Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti +# muihin moduuleihin on ohjelmaan perustuvan teoksen +# tekemistä, joka on siis GPL lisenssin ehtojen alainen. +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# Linking this program statically or dynamically with other modules is +# making a combined work based on this program. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. + + +# Tämä tiedosto on tehty ohjelmalla generoi.sh --- älä muuta! + + +include "suomi.inc"; + + +allo_rule generate_allos ($tietue): +## define $malli := switch (malli); # Katso tiedosto suomi-*.pro. + + +##define $aa := transmit (<"a"> + <$tietue.perusmuoto> + <$tietue.alku> + <$tietue.äs>); +#if ($tietue.luokka = lukusana) then +#define $ö := transmit ("[perusmuoto: §" + $tietue.perusmuoto + "§" + +# ", alku: §" + $tietue.alku + "§" + +# ", luokka: " + value_string ($tietue.luokka) + +# ", jatko: " + value_string ($tietue.jatko) + +# ", äs: " + value_string ($tietue.äs) + +# "];"); +#end; + + assert (value_type($tietue) = record); + + + # Nämä sanat voivat olla myös erillisinä sanoina. + # + if (($tietue.tiedot /= nil) and (ysj in $tietue.tiedot) and + (($tietue.perusmuoto /= nil) and + (($tietue.perusmuoto = "vuotias") and ($tietue.luokka = nimi_laatusana)))) then + $tietue.tiedot :=- ; + end; + + if ($tietue.rakenne /= nil) then + $tietue :=- rakenne; + end; + + if ($tietue.luokka = lyhenne) then + + # Lyhenteitä, joissa on piste lopussa ei tarvita, mikäli on samanlainen pisteetön lyhenne. + # + if ($tietue.alku in <"em.", "kk.", "mm.", "s.", "ym.">) then + stop; + end; + + # Lyhennettä "MM" ei tarvita, koska "mm" on olemassa. + # + if (($tietue.alku = "MM") and (capital($tietue.alku) = yes)) then + stop; + end; + + # Poistetaan pisteet lyhenteitten lopusta. + # + if ($tietue.alku matches ".*" : $alku, "\\.") then + $tietue.alku := $alku; + end; + end; + + + # Tunnistetaan yhdyssanoina tai johdoksina. + # + if ($tietue.perusmuoto in <"amerikanjuutalainen", "amerikansuomalainen", + "Itämeri", "itävaltalainen", "kazakstanilainen", + "suomalais-permiläinen", "tongalainen">) then + stop; + end; + + # Paikannimien jälkiliitteet. + # + if ($tietue.perusmuoto in <"harju", + "joki", "järvi", + "kangas", "katu", "korpi", "kuja", "kylä", + "laakso", "lahti", "lampi", + "maa", "meri", "mäki", "niemi", + "polku", "puistikko", "puisto", + "ranta", "rinne", "saari", "sarvi", "selkä", + "tie", "torni", "vaara", "virta", "vuori">) then + $tietue :=+ [paikannimen_jälkiliite: yes]; + end; + + # Etunimien jälkiliitteet. + # Esim. Pietarinkirkko, Kallenpoika, Marianpäivä, Kallentytär. + # + if ($tietue.perusmuoto in <"kirkko", "poika", "päivä", "niemi", "silta", "tori", "tytär">) then + $tietue :=+ [etunimen_jälkiliite: yes]; + end; + + if ($tietue.perusmuoto in <"ala", "bitti", "kallas", "malli", "pölyte", "terve">) then + $tietue :=+ [tiedot: ]; + end; + + if ($tietue.perusmuoto in <"eosinofiili", "klooni">) then + $tietue :=+ [tiedot: ]; + end; + + if ($tietue.perusmuoto in <"yhde">) then + $tietue :=+ [tiedot: ]; + end; + + if ($tietue.perusmuoto in <"id", "nano", "älä"> and $tietue.luokka = nimisana) then + $tietue :=+ [tiedot: ]; + end; + + if ($tietue.perusmuoto in <"kukkaisa", "laatuisa", "lari", "luisti", "mani", "miehinen", + "nasu", "paikko", + "poli", "tisu">) then + if ($tietue.tiedot /= nil) then + $tietue.tiedot :=+ ; + else + $tietue :=+ [tiedot: ]; + end; + end; + + if (($tietue.perusmuoto in <"soida">) and ($tietue.tiedot /= nil) and (ei_ysj in $tietue.tiedot)) then + $tietue.tiedot :=- ; + if ($tietue.tiedot = nil) then + $tietue :=- tiedot; + end; + end; + + if ($tietue.perusmuoto in + <"amme", "höyli", "kokkari", "koksi", "lehdes", "riksi", "silla", "säkä", "tavi">) then + if ($tietue.tiedot /= nil) then + $tietue.tiedot :=+ ; + else + $tietue :=+ [tiedot: ]; + end; + end; + + if (($tietue.perusmuoto in <"erityinen", "vittu">) and + ($tietue.luokka in )) then + if ($tietue.tiedot /= nil) then + $tietue.tiedot :=- ; + else + $tietue :=- [tiedot: ]; + end; + end; + + if ($tietue.perusmuoto in <"alunen">) then + if ($tietue.tiedot /= nil) then + $tietue.tiedot :=+ ; + else + $tietue :=+ [tiedot: ]; + end; + end; + + if ($tietue.perusmuoto in <"aktivisti", "fluoksetiini", "parametri", + "bentsodiatsepiini", "diatsepiini", "karbamatsepiini", + "lipofiili", "okskarbatsepiini", "triatsolobentsodiatsepiini">) then + $tietue.äs := aä; + end; + + # Mattila on paikannimi ja sukunimi, ja tiedostojen indeksoinnissa + # riittää niistä vain toinen. + # + if ($tietue.perusmuoto = "Mattila" and $tietue.luokka = sukunimi) then + stop; + end; + + + # Seitsen on myös etuliite, ja se riittää Sukijassa. + # + if ($tietue.perusmuoto = "seitsen" and $tietue.luokka = lukusana) then + stop; + end; + + + # Kymmen on myös nimisana. + # + if ($tietue.perusmuoto = "kymmen" and $tietue.luokka = lukusana) then + stop; + end; + + if ($tietue.perusmuoto in <"nasta", "pöllö", "riiviö", "vilja">) then + if ($tietue.luokka = nimisana) then + stop; + elseif ($tietue.luokka = laatusana) then + $tietue.luokka := nimi_laatusana; + end; + end; + + if ($tietue.perusmuoto in <"parka">) then + $tietue.luokka := nimisana; + end; + + if ($tietue.luokka = lukusana) then + if ($tietue.alaluokka in ) then + $tietue.jatko :=+ ; + end; + if ($tietue.alaluokka in ) then + $tietue.jatko :=+ ; + end; + end; + + if ($tietue.luokka = etuliite) then + $tietue.jatko := set ($tietue.jatko); + end; + + if ($tietue.jatko = and $tietue.perusmuoto matches ".*ääntää") then + $tietue.jatko := ; + end; + + if ($tietue.perusmuoto in <"ihme", "kartesiolainen", "keynesiläinen">) then + $tietue.luokka := nimi_laatusana; + end; + + # Estetään eräitten -mainen-loppuisten sanojen tunnistuminen kahdesti. + # + if (($tietue.luokka in ) and + ($tietue.perusmuoto in <"Kanerva", "Keihänen", "Kurikka", "Lanka", "Manner", + "Osta", "Pippuri", "Rautiainen", "Sormunen", "Tiainen">)) then + $tietue.jatko :=- ; + if ($tietue.tiedot = nil) then + $tietue :=+ [tiedot: ]; + else + $tietue.tiedot :=+ ; + end; + end; + + + if ($tietue.perusmuoto in <"kääntää", "ojentaa", "rakentaa", "vääntää">) and + ($tietue.tiedot = nil) then + stop; + end; + +# if ($tietue.luokka = lukusanan_jälkiliite) then +# stop; +# end; + + # Inen-loppuiset laatusanat. +# if ($tietue.luokka in and $tietue.perusmuoto matches ".*inen") then +# $tietue :=+ [inen_loppu: yes]; +# end; + + if (($tietue.tiedot /= nil) and (ei_sukija in $tietue.tiedot)) then + stop; + +##################################################################### +##=================================================================## +##################################################################### + + elseif (valo in $tietue.jatko) then + choose $i in valo ($tietue, "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aalto in $tietue.jatko) then + choose $i in valo ($tietue, "t"+O($tietue), "l"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alku in $tietue.jatko) then + choose $i in valo ($tietue, "k"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (anto in $tietue.jatko) then + choose $i in valo ($tietue, "t"+O($tietue), "n"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (apu in $tietue.jatko) then + choose $i in valo ($tietue, "p"+U($tietue), "v"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hanko in $tietue.jatko) then + choose $i in valo ($tietue, "k"+O($tietue), "g"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hattu in $tietue.jatko) then + choose $i in valo ($tietue, "t"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hinku in $tietue.jatko) then + choose $i in valo ($tietue, "k"+U($tietue), "g"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hoppu in $tietue.jatko) then + choose $i in valo ($tietue, "p"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaarto in $tietue.jatko) then + choose $i in valo ($tietue, "t"+O($tietue), "r"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kippo in $tietue.jatko) then + choose $i in valo ($tietue, "p"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (koko in $tietue.jatko) then + choose $i in koko ($tietue, "k"+O($tietue), O($tietue), "'"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kumpu in $tietue.jatko) then + choose $i in valo ($tietue, "p"+U($tietue), "m"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laatu in $tietue.jatko) then + choose $i in valo ($tietue, "t"+U($tietue), "d"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lepo in $tietue.jatko) then + choose $i in valo ($tietue, "p"+O($tietue), "v"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (leuto in $tietue.jatko) then + choose $i in valo ($tietue, "t"+O($tietue), "d"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (liitto in $tietue.jatko) then + choose $i in valo ($tietue, "t"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lintu in $tietue.jatko) then + choose $i in valo ($tietue, "t"+U($tietue), "n"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (luku in $tietue.jatko) then + choose $i in valo ($tietue, "k"+U($tietue), "v"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (oltu in $tietue.jatko) then + choose $i in valo ($tietue, "t"+U($tietue), "l"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (purtu in $tietue.jatko) then + choose $i in valo ($tietue, "t"+U($tietue), "r"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ruoko in $tietue.jatko) then + choose $i in valo ($tietue, "k"+O($tietue), "'"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sampo in $tietue.jatko) then + choose $i in valo ($tietue, "p"+O($tietue), "m"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tiuku in $tietue.jatko) then + choose $i in valo ($tietue, "k"+U($tietue), "'"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (verkko in $tietue.jatko) then + choose $i in valo ($tietue, "k"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vihko in $tietue.jatko) then + choose $i in vihko ($tietue, "k"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (arvelu in $tietue.jatko) then + choose $i in arvelu ($tietue, "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alanko in $tietue.jatko) then + choose $i in arvelu ($tietue, "k"+O($tietue), "g"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (avanto in $tietue.jatko) then + choose $i in arvelu ($tietue, "t"+O($tietue), "n"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hontelo in $tietue.jatko) then + choose $i in hontelo ($tietue, O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (katseltu in $tietue.jatko) then + choose $i in puhuttu ($tietue, "t"+U($tietue), "l"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laatikko in $tietue.jatko) then + choose $i in laatikko ($tietue, "k"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nuolaistu in $tietue.jatko) then + choose $i in puhuttu ($tietue, "t"+U($tietue), "t"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pihatto in $tietue.jatko) then + choose $i in laatikko ($tietue, "t"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (puhuttu in $tietue.jatko) then + choose $i in puhuttu ($tietue, "tt"+U($tietue), "t"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (raamattu in $tietue.jatko) then + choose $i in laatikko ($tietue, "t"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aarteisto in $tietue.jatko) then + choose $i in aarteisto ($tietue, "ist"+O($tietue), "hist"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (autio in $tietue.jatko) then + choose $i in autio ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (obligaatio in $tietue.jatko) then + choose $i in obligaatio ($tietue, A($tietue)+A($tietue)+"ti"+O($tietue), A($tietue)+"ti"+O($tietue), A($tietue)+"tsi"+O($tietue)+"ni", A($tietue)+"tsi"+O($tietue)+O($tietue)+"ni", A($tietue)+"ti"+O($tietue)+"ni", A($tietue)+"ti"+O($tietue)+O($tietue)+"ni", A($tietue)+"tsi"+O($tietue)+"ne", A($tietue)+"tsi"+O($tietue)+O($tietue)+"ne", A($tietue)+"ti"+O($tietue)+"ne", A($tietue)+"ti"+O($tietue)+O($tietue)+"ne", A($tietue)+"tsi"+O($tietue)+"n", A($tietue)+"tsi"+O($tietue)+O($tietue)+"n", A($tietue)+"ti"+O($tietue)+"n", A($tietue)+"ti"+O($tietue)+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (resoluutio in $tietue.jatko) then + choose $i in obligaatio ($tietue, U($tietue)+U($tietue)+"ti"+O($tietue), U($tietue)+"ti"+O($tietue), U($tietue)+"tsi"+O($tietue)+"ni", U($tietue)+"tsi"+O($tietue)+O($tietue)+"ni", U($tietue)+"ti"+O($tietue)+"ni", U($tietue)+"ti"+O($tietue)+O($tietue)+"ni", U($tietue)+"tsi"+O($tietue)+"ne", U($tietue)+"tsi"+O($tietue)+O($tietue)+"ne", U($tietue)+"ti"+O($tietue)+"ne", U($tietue)+"ti"+O($tietue)+O($tietue)+"ne", U($tietue)+"tsi"+O($tietue)+"n", U($tietue)+"tsi"+O($tietue)+O($tietue)+"n", U($tietue)+"ti"+O($tietue)+"n", U($tietue)+"ti"+O($tietue)+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (illuusio in $tietue.jatko) then + choose $i in illuusio ($tietue, U($tietue)+U($tietue)+"si"+O($tietue), U($tietue)+"si"+O($tietue), U($tietue)+"si"+O($tietue)+"ni", U($tietue)+"si"+O($tietue)+O($tietue)+"ni", U($tietue)+"si"+O($tietue)+"ne", U($tietue)+"si"+O($tietue)+O($tietue)+"ne", U($tietue)+"si"+O($tietue)+"n", U($tietue)+"si"+O($tietue)+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (traditio in $tietue.jatko) then + choose $i in traditio ($tietue, "iti"+O($tietue), "itsi"+O($tietue), "itsi"+O($tietue)+"ni", "itsi"+O($tietue)+O($tietue)+"ni", "itsi"+O($tietue)+"ne", "itsi"+O($tietue)+O($tietue)+"ne", "itsi"+O($tietue)+"n", "itsi"+O($tietue)+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (funktio in $tietue.jatko) then + choose $i in traditio ($tietue, "kti"+O($tietue), "ktsi"+O($tietue), "ktsi"+O($tietue)+"ni", "ktsi"+O($tietue)+O($tietue)+"ni", "ktsi"+O($tietue)+"ne", "ktsi"+O($tietue)+O($tietue)+"ne", "ktsi"+O($tietue)+"n", "ktsi"+O($tietue)+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (risti in $tietue.jatko) then + choose $i in risti ($tietue, "i", "i", "e", "e", "", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hupi in $tietue.jatko) then + choose $i in risti ($tietue, "pi", "vi", "pe", "ve", "p", "pi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (keppi in $tietue.jatko) then + choose $i in risti ($tietue, "pi", "i", "pe", "e", "p", "pi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaihi in $tietue.jatko) then + choose $i in kaihi ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pelti in $tietue.jatko) then + choose $i in risti ($tietue, "ti", "li", "te", "le", "t", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (renki in $tietue.jatko) then + choose $i in risti ($tietue, "ki", "gi", "ke", "ge", "k", "ki"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (siisti in $tietue.jatko) then + choose $i in risti ($tietue, "i", "i", "e", "e", "i", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (takki in $tietue.jatko) then + choose $i in risti ($tietue, "ki", "i", "ke", "e", "k", "ki"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tatti in $tietue.jatko) then + choose $i in risti ($tietue, "ti", "i", "te", "e", "t", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tunti in $tietue.jatko) then + choose $i in risti ($tietue, "ti", "ni", "te", "ne", "t", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vati in $tietue.jatko) then + choose $i in risti ($tietue, "ti", "di", "te", "de", "t", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_di in $tietue.jatko) then + choose $i in telefoni ($tietue, "di", O($tietue)+"di", "de", O($tietue)+"de", "d", O($tietue)+"d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_fi in $tietue.jatko) then + choose $i in telefoni ($tietue, "fi", O($tietue)+"fi", "fe", O($tietue)+"fe", "f", O($tietue)+"f"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_gi in $tietue.jatko) then + choose $i in telefoni ($tietue, "gi", O($tietue)+"gi", "ge", O($tietue)+"ge", "g", O($tietue)+"g"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_li in $tietue.jatko) then + choose $i in telefoni ($tietue, "li", O($tietue)+"li", "le", O($tietue)+"le", "l", O($tietue)+"l"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_mi in $tietue.jatko) then + choose $i in telefoni ($tietue, "mi", O($tietue)+"mi", "me", O($tietue)+"me", "m", O($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_ni in $tietue.jatko) then + choose $i in telefoni ($tietue, "ni", O($tietue)+"ni", "ne", O($tietue)+"ne", "n", O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_ri in $tietue.jatko) then + choose $i in telefoni ($tietue, "ri", O($tietue)+"ri", "re", O($tietue)+"re", "r", O($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (telefoni_vi in $tietue.jatko) then + choose $i in telefoni ($tietue, "vi", O($tietue)+"vi", "ve", O($tietue)+"ve", "v", O($tietue)+"v"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (marinadi in $tietue.jatko) then + choose $i in marinadi ($tietue, A($tietue)+"di", A($tietue)+A($tietue)+"di", A($tietue)+"de", A($tietue)+A($tietue)+"de", A($tietue)+"d", A($tietue)+A($tietue)+"d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (biografi in $tietue.jatko) then + choose $i in marinadi ($tietue, A($tietue)+"fi", A($tietue)+A($tietue)+"fi", A($tietue)+"fe", A($tietue)+A($tietue)+"fe", A($tietue)+"f", A($tietue)+A($tietue)+"f"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pyramidi in $tietue.jatko) then + choose $i in marinadi ($tietue, "idi", "iidi", "ide", "iide", "id", "iid"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (äiti in $tietue.jatko) then + choose $i in äiti ($tietue, "ti", "di", "te", "de", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paperi in $tietue.jatko) then + choose $i in paperi ($tietue, "i", "i", "e", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (banaali in $tietue.jatko) then + choose $i in paperi ($tietue, "i", "i", "e", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (edam in $tietue.jatko) then + choose $i in laser ($tietue, "", "i", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hollanti in $tietue.jatko) then + choose $i in paperi ($tietue, "ti", "ni", "ne", "te", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kajakki in $tietue.jatko) then + choose $i in paperi ($tietue, "ki", "i", "e", "ke", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (killinki in $tietue.jatko) then + choose $i in paperi ($tietue, "ki", "gi", "ge", "ke", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (konvehti in $tietue.jatko) then + choose $i in paperi ($tietue, "ti", "di", "de", "te", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (salaatti in $tietue.jatko) then + choose $i in paperi ($tietue, "ti", "i", "e", "te", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sinappi in $tietue.jatko) then + choose $i in paperi ($tietue, "pi", "i", "e", "pe", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (balladi in $tietue.jatko) then + choose $i in balladi ($tietue, "di", A($tietue)+"di", "de", A($tietue)+"de", "d", A($tietue)+"d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_di in $tietue.jatko) then + choose $i in symboli ($tietue, "di", O($tietue)+"di", "de", O($tietue)+"de", "d", O($tietue)+"d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_fi in $tietue.jatko) then + choose $i in symboli ($tietue, "fi", O($tietue)+"fi", "fe", O($tietue)+"fe", "f", O($tietue)+"f"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_gi in $tietue.jatko) then + choose $i in symboli ($tietue, "gi", O($tietue)+"gi", "ge", O($tietue)+"ge", "g", O($tietue)+"g"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_li in $tietue.jatko) then + choose $i in symboli ($tietue, "li", O($tietue)+"li", "le", O($tietue)+"le", "l", O($tietue)+"l"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_mi in $tietue.jatko) then + choose $i in symboli ($tietue, "mi", O($tietue)+"mi", "me", O($tietue)+"me", "m", O($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_ni in $tietue.jatko) then + choose $i in symboli ($tietue, "ni", O($tietue)+"ni", "ne", O($tietue)+"ne", "n", O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_ri in $tietue.jatko) then + choose $i in symboli ($tietue, "ri", O($tietue)+"ri", "re", O($tietue)+"re", "r", O($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (symboli_vi in $tietue.jatko) then + choose $i in symboli ($tietue, "vi", O($tietue)+"vi", "ve", O($tietue)+"ve", "v", O($tietue)+"v"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kamari in $tietue.jatko) then + choose $i in symboli ($tietue, A($tietue)+"ri", "m"+A($tietue)+"ri", A($tietue)+"re", "m"+A($tietue)+"re", A($tietue)+"r", "m"+A($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pistooli in $tietue.jatko) then + choose $i in symboli ($tietue, O($tietue)+"li", "li", O($tietue)+"le", "le", O($tietue)+"l", "l"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (poliisi in $tietue.jatko) then + choose $i in symboli ($tietue, "isi", "si", "ise", "se", "is", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kalsium in $tietue.jatko) then + choose $i in kalsium ($tietue, "", "i", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (fan in $tietue.jatko) then + choose $i in pop ($tietue, "", "i", "i", "", "e", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pop in $tietue.jatko) then + choose $i in pop ($tietue, "", "pi", "i", "p", "e", "pe"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (punk in $tietue.jatko) then + choose $i in pop ($tietue, "", "ki", "i", "k", "e", "ke"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lovi in $tietue.jatko) then + choose $i in lovi ($tietue, "i", "e", "e", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hanki in $tietue.jatko) then + choose $i in lovi ($tietue, "ki", "ke", "ge", "k", "g"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (happi in $tietue.jatko) then + choose $i in lovi ($tietue, "pi", "pe", "e", "p", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jälki in $tietue.jatko) then + choose $i in lovi ($tietue, "ki", "ke", "je", "k", "j"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaikki in $tietue.jatko) then + choose $i in lovi ($tietue, "ki", "ke", "e", "k", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kiiski in $tietue.jatko) then + choose $i in kiiski ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kylki in $tietue.jatko) then + choose $i in lovi ($tietue, "ki", "ke", "je", "k", "j"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lampi in $tietue.jatko) then + choose $i in lampi ($tietue, "pi", "pe", "me", "mi", "p", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lehti in $tietue.jatko) then + choose $i in lovi ($tietue, "ti", "te", "de", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (piki in $tietue.jatko) then + choose $i in lovi ($tietue, "ki", "ke", "e", "k", "'"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sampi in $tietue.jatko) then + choose $i in lovi ($tietue, "pi", "pe", "me", "p", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (siipi in $tietue.jatko) then + choose $i in lovi ($tietue, "pi", "pe", "ve", "p", "v"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (veli in $tietue.jatko) then + choose $i in lovi ($tietue, "i", "je", "je", "j", "j"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nalle in $tietue.jatko) then + choose $i in nalle ($tietue, "", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (atte in $tietue.jatko) then + choose $i in nalle ($tietue, "te", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nukke in $tietue.jatko) then + choose $i in nalle ($tietue, "ke", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kolme in $tietue.jatko) then + choose $i in kolme ($tietue, "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kala in $tietue.jatko) then + choose $i in kala ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), "e", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aika in $tietue.jatko) then + choose $i in kala ($tietue, "ik"+A($tietue), "j"+A($tietue), "ik"+O($tietue), "j"+O($tietue), "je", "j", "ik"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aitta in $tietue.jatko) then + choose $i in kala ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "te", "", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (haka in $tietue.jatko) then + choose $i in kala ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hanka in $tietue.jatko) then + choose $i in kala ($tietue, "k"+A($tietue), "g"+A($tietue), "k"+O($tietue), "g"+O($tietue), "ge", "g", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kampa in $tietue.jatko) then + choose $i in kala ($tietue, "p"+A($tietue), "m"+A($tietue), "p"+O($tietue), "m"+O($tietue), "me", "m", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kanta in $tietue.jatko) then + choose $i in kala ($tietue, "t"+A($tietue), "n"+A($tietue), "t"+O($tietue), "n"+O($tietue), "ne", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kappa in $tietue.jatko) then + choose $i in kala ($tietue, "p"+A($tietue), A($tietue), "p"+O($tietue), O($tietue), "e", "", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (liika in $tietue.jatko) then + choose $i in kala ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "'", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nahka in $tietue.jatko) then + choose $i in nahka ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "ke", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (napa in $tietue.jatko) then + choose $i in kala ($tietue, "p"+A($tietue), "v"+A($tietue), "p"+O($tietue), "v"+O($tietue), "ve", "v", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (parta in $tietue.jatko) then + choose $i in kala ($tietue, "t"+A($tietue), "r"+A($tietue), "t"+O($tietue), "r"+O($tietue), "e", "r", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pata in $tietue.jatko) then + choose $i in kala ($tietue, "t"+A($tietue), "d"+A($tietue), "t"+O($tietue), "d"+O($tietue), "de", "d", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (raaka in $tietue.jatko) then + choose $i in kala ($tietue, "k"+A($tietue), "'"+A($tietue), "k"+O($tietue), O($tietue), "e", "", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (valta in $tietue.jatko) then + choose $i in kala ($tietue, "t"+A($tietue), "l"+A($tietue), "t"+O($tietue), "l"+O($tietue), "le", "l", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (koira in $tietue.jatko) then + choose $i in koira ($tietue, A($tietue), A($tietue), "", "", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hoikka in $tietue.jatko) then + choose $i in koira ($tietue, "k"+A($tietue), A($tietue), "k", "", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (honka in $tietue.jatko) then + choose $i in koira ($tietue, "k"+A($tietue), "g"+A($tietue), "k", "g", "ge"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (huopa in $tietue.jatko) then + choose $i in koira ($tietue, "p"+A($tietue), "v"+A($tietue), "p", "v", "ve"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ikä in $tietue.jatko) then + choose $i in koira ($tietue, "k"+A($tietue), A($tietue), "k", "'", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juhta in $tietue.jatko) then + choose $i in koira ($tietue, "t"+A($tietue), "d"+A($tietue), "t", "d", "de"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kenttä in $tietue.jatko) then + choose $i in koira ($tietue, "t"+A($tietue), A($tietue), "t", "", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kompa in $tietue.jatko) then + choose $i in koira ($tietue, "p"+A($tietue), "m"+A($tietue), "p", "m", "pe"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kulta in $tietue.jatko) then + choose $i in koira ($tietue, "t"+A($tietue), "l"+A($tietue), "t", "l", "le"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (myyjä in $tietue.jatko) then + choose $i in koira ($tietue, "j"+A($tietue), "j"+A($tietue), "j", "j", "je"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pitkä in $tietue.jatko) then + choose $i in pitkä ($tietue, "tk"+A($tietue), "tk", "te", "de", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (poika in $tietue.jatko) then + choose $i in koira ($tietue, "ik"+A($tietue), "j"+A($tietue), "ik", "j", "je"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ruoka in $tietue.jatko) then + choose $i in ruoka ($tietue, O($tietue)+"k"+A($tietue), O($tietue)+A($tietue), U($tietue)+A($tietue), O($tietue)+"k", O($tietue), U($tietue), O($tietue)+"e", U($tietue)+"e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tolppa in $tietue.jatko) then + choose $i in koira ($tietue, "p"+A($tietue), A($tietue), "p", "", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (turta in $tietue.jatko) then + choose $i in koira ($tietue, "t"+A($tietue), "r"+A($tietue), "t", "r", "re"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suunta in $tietue.jatko) then + choose $i in koira ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n", "ne"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ylkä in $tietue.jatko) then + choose $i in koira ($tietue, "k"+A($tietue), "j"+A($tietue), "k", "j", "je"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (matala in $tietue.jatko) then + choose $i in matala ($tietue, A($tietue), A($tietue), "", O($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vihanta in $tietue.jatko) then + choose $i in matala ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n"+O($tietue), "t"+O($tietue), "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (asema in $tietue.jatko) then + choose $i in asema ($tietue, A($tietue), A($tietue), "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (emäntä in $tietue.jatko) then + choose $i in asema ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kulkija in $tietue.jatko) then + choose $i in kulkija ($tietue, "j"+A($tietue), "j"+O($tietue), "j"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (apila in $tietue.jatko) then + choose $i in kulkija ($tietue, A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (video in $tietue.jatko) then + choose $i in kulkija ($tietue, "", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (karahka in $tietue.jatko) then + choose $i in karahka ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (savotta in $tietue.jatko) then + choose $i in solakka ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (solakka in $tietue.jatko) then + choose $i in solakka ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ulappa in $tietue.jatko) then + choose $i in solakka ($tietue, "p"+A($tietue), A($tietue), "p"+O($tietue), O($tietue), "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (veranta in $tietue.jatko) then + choose $i in karahka ($tietue, "t"+A($tietue), "n"+A($tietue), "t"+O($tietue), "n"+O($tietue), "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (analogia in $tietue.jatko) then + choose $i in analogia ($tietue, "gi"+A($tietue), O($tietue)+"gi"+A($tietue), "gi"+O($tietue), O($tietue)+"gi"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (filosofia in $tietue.jatko) then + choose $i in analogia ($tietue, "fi"+A($tietue), O($tietue)+"fi"+A($tietue), "fi"+O($tietue), O($tietue)+"fi"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (topografia in $tietue.jatko) then + choose $i in analogia ($tietue, "fi"+A($tietue), A($tietue)+"fi"+A($tietue), "fi"+O($tietue), A($tietue)+"fi"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kantaja in $tietue.jatko) then + choose $i in kantaja ($tietue, "j"+A($tietue), "j"+O($tietue), "j"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (apaja in $tietue.jatko) then + choose $i in apaja ($tietue, A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kahdeksan in $tietue.jatko) then + choose $i in kahdeksan ($tietue, A($tietue)+"n", A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (peruna in $tietue.jatko) then + choose $i in peruna ($tietue, A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pasuuna in $tietue.jatko) then + choose $i in pasuuna ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (opotta in $tietue.jatko) then + choose $i in pasuuna ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "t", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ainoa in $tietue.jatko) then + choose $i in ainoa ($tietue, A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (herttua in $tietue.jatko) then + choose $i in herttua ($tietue, A($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (korkea in $tietue.jatko) then + choose $i in korkea ($tietue, "e"+A($tietue), "i"+A($tietue), "ee", "ehe", "e", "i"+O($tietue), "eh", "ehit", "e"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (harteet in $tietue.jatko) then + choose $i in harteet ($tietue, "ee", "e", "ehit", "eh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suurempi in $tietue.jatko) then + choose $i in suurempi ($tietue, "mpi", "mp"+A($tietue), "mm"+A($tietue), "mp", "mm"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vapaa in $tietue.jatko) then + choose $i in vapaa ($tietue, A($tietue), "h"+A($tietue), "", "hit", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tienoo in $tietue.jatko) then + choose $i in tienoo ($tietue, O($tietue), "h"+O($tietue), "", "h", "hit"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (leikkuu in $tietue.jatko) then + choose $i in leikkuu ($tietue, U($tietue), U($tietue)+"se", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kamee in $tietue.jatko) then + choose $i in kamee ($tietue, "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nugaa in $tietue.jatko) then + choose $i in kamee ($tietue, A($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (trikoo in $tietue.jatko) then + choose $i in kamee ($tietue, O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (revyy in $tietue.jatko) then + choose $i in kamee ($tietue, U($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pii in $tietue.jatko) then + choose $i in pii ($tietue, "i", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (maa in $tietue.jatko) then + choose $i in maa ($tietue, A($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (puu in $tietue.jatko) then + choose $i in puu ($tietue, U($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (gnu in $tietue.jatko) then + choose $i in puu ($tietue, "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tee in $tietue.jatko) then + choose $i in puu ($tietue, "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tiu in $tietue.jatko) then + choose $i in tiu ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suo in $tietue.jatko) then + choose $i in suo ($tietue, U($tietue)+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tie in $tietue.jatko) then + choose $i in suo ($tietue, "ie", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (yö in $tietue.jatko) then + choose $i in yö ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (bébé in $tietue.jatko) then + choose $i in bébé ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (rosé in $tietue.jatko) then + choose $i in bébé ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (spray in $tietue.jatko) then + choose $i in bébé ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (parfait in $tietue.jatko) then + choose $i in parfait ($tietue, "", "'"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tuohi in $tietue.jatko) then + choose $i in tuohi ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (meri in $tietue.jatko) then + choose $i in meri ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (neiti in $tietue.jatko) then + choose $i in neiti ($tietue, "ti", "te", "de", "", "n", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lohi in $tietue.jatko) then + choose $i in lohi ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lahti in $tietue.jatko) then + choose $i in lahti ($tietue, "ti", "te", "de", "", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lumi in $tietue.jatko) then + choose $i in lumi ($tietue, "mi", "me", "n", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tuomi in $tietue.jatko) then + choose $i in tuomi ($tietue, "mi", "me", "n", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (niemi in $tietue.jatko) then + choose $i in tuomi ($tietue, "mi", "me", "n", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pieni in $tietue.jatko) then + choose $i in pieni ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nuori in $tietue.jatko) then + choose $i in nuori ($tietue, "i", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (susi in $tietue.jatko) then + choose $i in susi ($tietue, "si", "te", "de", "", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tosi in $tietue.jatko) then + choose $i in tosi ($tietue, "si", "te", "de", "", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hirsi in $tietue.jatko) then + choose $i in hirsi ($tietue, "si", "te", "re", "", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jälsi in $tietue.jatko) then + choose $i in jälsi ($tietue, "si", "te", "le", "", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kansi in $tietue.jatko) then + choose $i in kansi ($tietue, "si", "te", "ne", "", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lapsi in $tietue.jatko) then + choose $i in lapsi ($tietue, "psi", "pse", "s", "ps"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hapsi in $tietue.jatko) then + choose $i in hapsi ($tietue, "psi", "pse", "s", "ps"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (veitsi in $tietue.jatko) then + choose $i in veitsi ($tietue, "tsi", "tse", "s", "ts"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (peitsi in $tietue.jatko) then + choose $i in peitsi ($tietue, "tsi", "tse", "s", "ts"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suksi in $tietue.jatko) then + choose $i in suksi ($tietue, "ksi", "kse", "s", "ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (uksi in $tietue.jatko) then + choose $i in uksi ($tietue, "ksi", "kse", "s", "ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaksi in $tietue.jatko) then + choose $i in kaksi ($tietue, "ksi", "hte", "hde", "he", "h", "ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sankari in $tietue.jatko) then + choose $i in sankari ($tietue, "i", "", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jumala in $tietue.jatko) then + choose $i in jumala ($tietue, A($tietue), "", O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sisar in $tietue.jatko) then + choose $i in sisar ($tietue, "", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tytär in $tietue.jatko) then + choose $i in sisar ($tietue, A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ahven in $tietue.jatko) then + choose $i in ahven ($tietue, "", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ien in $tietue.jatko) then + choose $i in ahven ($tietue, "en", "kene", "ken"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kymmenen in $tietue.jatko) then + choose $i in kymmenen ($tietue, "en", "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (uistin in $tietue.jatko) then + choose $i in uistin ($tietue, "n", "me", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hapan in $tietue.jatko) then + choose $i in hapan ($tietue, A($tietue)+"n", "p"+A($tietue)+"me", "p"+A($tietue)+"m"+A($tietue), "p"+A($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaadin in $tietue.jatko) then + choose $i in uistin ($tietue, "din", "time", "tim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaavin in $tietue.jatko) then + choose $i in uistin ($tietue, "vin", "pime", "pim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kerroin in $tietue.jatko) then + choose $i in uistin ($tietue, "r"+O($tietue)+"in", "t"+O($tietue)+"ime", "t"+O($tietue)+"im"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kiharrin in $tietue.jatko) then + choose $i in uistin ($tietue, "rin", "time", "tim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laidun in $tietue.jatko) then + choose $i in uistin ($tietue, "d"+U($tietue)+"n", "t"+U($tietue)+"me", "t"+U($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (poljin in $tietue.jatko) then + choose $i in uistin ($tietue, "jin", "kime", "kim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (puin in $tietue.jatko) then + choose $i in uistin ($tietue, "in", "kime", "kim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sivellin in $tietue.jatko) then + choose $i in uistin ($tietue, "lin", "time", "tim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suodatin in $tietue.jatko) then + choose $i in uistin ($tietue, "in", "time", "tim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vaimennin in $tietue.jatko) then + choose $i in uistin ($tietue, "nin", "time", "tim"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (onneton in $tietue.jatko) then + choose $i in onneton ($tietue, "t"+O($tietue)+"n", "t"+O($tietue)+"in", "tt"+O($tietue)+"m"+A($tietue), "tt"+O($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alaston in $tietue.jatko) then + choose $i in onneton ($tietue, "t"+O($tietue)+"n", "t"+O($tietue)+"in", "t"+O($tietue)+"m"+A($tietue), "t"+O($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lämmin in $tietue.jatko) then + choose $i in lämmin ($tietue, "min", "pim"+A($tietue), "pim", "mpimin"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pahin in $tietue.jatko) then + choose $i in pahin ($tietue, "in", "imp"+A($tietue), "imm"+A($tietue), "imp", "imm"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vasen in $tietue.jatko) then + choose $i in vasen ($tietue, "n", "mp"+A($tietue), "mm"+A($tietue), "mp", "mm"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (muuan in $tietue.jatko) then + choose $i in muuan ($tietue, A($tietue)+"n", "d"+A($tietue)+"n", "t"+A($tietue)+"m"+A($tietue), A($tietue), "d"+A($tietue), "t"+A($tietue)+"m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (seitsemän in $tietue.jatko) then + choose $i in seitsemän ($tietue, "m"+A($tietue)+"n", "m"+A($tietue), "n", "m"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nainen in $tietue.jatko) then + choose $i in hevonen ($tietue, "nen", "se", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (punainen in $tietue.jatko) then + choose $i in punainen ($tietue, "inen", "nen", "ise", "se", "is", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hevoinen in $tietue.jatko) then + choose $i in punainen ($tietue, "nen", "inen", "se", "ise", "s", "is"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ironinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "ninen", O($tietue)+"ninen", "nise", O($tietue)+"nise", "nis", O($tietue)+"nis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (allegorinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "rinen", O($tietue)+"rinen", "rise", O($tietue)+"rise", "ris", O($tietue)+"ris"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (filosofinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "finen", O($tietue)+"finen", "fise", O($tietue)+"fise", "fis", O($tietue)+"fis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (psykologinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "ginen", O($tietue)+"ginen", "gise", O($tietue)+"gise", "gis", O($tietue)+"gis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (topografinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "finen", A($tietue)+"finen", "fise", A($tietue)+"fise", "fis", A($tietue)+"fis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (eeppinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "pinen", "illinen", "pise", "illise", "pis", "illis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kriittinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "tinen", "illinen", "tise", "illise", "tis", "illis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (psyykkinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "kinen", "illinen", "kise", "illise", "kis", "illis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (relatiivinen in $tietue.jatko) then + choose $i in ironinen ($tietue, "ivinen", "vinen", "ivise", "vise", "ivis", "vis"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vastaus in $tietue.jatko) then + choose $i in vastaus ($tietue, "s", "kse", "ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aivoitus in $tietue.jatko) then + choose $i in jaotus ($tietue, "it"+U($tietue)+"s", "t"+U($tietue)+"s", "it"+U($tietue)+"kse", "t"+U($tietue)+"kse", "it"+U($tietue)+"ks", "t"+U($tietue)+"ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jaotus in $tietue.jatko) then + choose $i in jaotus ($tietue, "t"+U($tietue)+"s", "it"+U($tietue)+"s", "t"+U($tietue)+"kse", "it"+U($tietue)+"kse", "t"+U($tietue)+"ks", "it"+U($tietue)+"ks"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kalleus in $tietue.jatko) then + choose $i in kalleus ($tietue, "s", "te", "de", "t", "ks", "kse"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vieras in $tietue.jatko) then + choose $i in vieras ($tietue, "s", A($tietue), "h"+A($tietue), "", "hit", "h", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ahdas in $tietue.jatko) then + choose $i in vieras ($tietue, "d"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (allas in $tietue.jatko) then + choose $i in vieras ($tietue, "l"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (antelias in $tietue.jatko) then + choose $i in utelias ($tietue, "s", A($tietue), "", "is"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (autuas in $tietue.jatko) then + choose $i in vieras ($tietue, A($tietue)+"s", A($tietue)+A($tietue), A($tietue)+"h"+A($tietue), A($tietue), A($tietue)+"hit", A($tietue)+"h", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (harras in $tietue.jatko) then + choose $i in vieras ($tietue, "r"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hammas in $tietue.jatko) then + choose $i in vieras ($tietue, "m"+A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (iäkäs in $tietue.jatko) then + choose $i in iäkäs ($tietue, A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"h", "k"+U($tietue), "k"+A($tietue)+"is"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kangas in $tietue.jatko) then + choose $i in vieras ($tietue, "g"+A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"hit", "k"+A($tietue)+"h", "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kinnas in $tietue.jatko) then + choose $i in vieras ($tietue, "n"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laupias in $tietue.jatko) then + choose $i in vieras ($tietue, "i"+A($tietue)+"s", "i"+A($tietue)+A($tietue), "ih"+A($tietue), "i"+A($tietue), "ihit", "ih", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paras in $tietue.jatko) then + choose $i in paras ($tietue, A($tietue)+"s", "h"+A($tietue)+A($tietue), A($tietue)+"h"+A($tietue), "h"+A($tietue), A($tietue)+"hit", A($tietue)+"h", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ratas in $tietue.jatko) then + choose $i in vieras ($tietue, A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saapas in $tietue.jatko) then + choose $i in vieras ($tietue, A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (utelias in $tietue.jatko) then + choose $i in utelias ($tietue, "s", A($tietue), "", "is"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (varvas in $tietue.jatko) then + choose $i in vieras ($tietue, "v"+A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (varas in $tietue.jatko) then + choose $i in vieras ($tietue, A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"hit", "k"+A($tietue)+"h", "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (maineikas in $tietue.jatko) then + choose $i in maineikas ($tietue, "ik"+A($tietue)+"s", "hik"+A($tietue)+"s", "ikk"+A($tietue)+A($tietue), "hikk"+A($tietue)+A($tietue), "ikk"+A($tietue)+"h"+A($tietue), "hikk"+A($tietue)+"h"+A($tietue), "ikk"+A($tietue), "hikk"+A($tietue), "ikk"+U($tietue), "hikk"+U($tietue), "ikk"+A($tietue)+"is"+U($tietue), "hikk"+A($tietue)+"is"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kirves in $tietue.jatko) then + choose $i in kirves ($tietue, "s", "e", "he", "", "h", "he", "", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ies in $tietue.jatko) then + choose $i in kirves ($tietue, "es", "kee", "kehe", "ke", "keh", "he", "", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kauris in $tietue.jatko) then + choose $i in kauris ($tietue, "is", "ii", "ihi", "i", "ih", "e", "eh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (raitis in $tietue.jatko) then + choose $i in kauris ($tietue, "is", "tii", "tihi", "ti", "tih", "te", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ruis in $tietue.jatko) then + choose $i in kauris ($tietue, "is", "kii", "kihi", "ki", "kih", "ke", "keh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaunis in $tietue.jatko) then + choose $i in kaunis ($tietue, "is", "ii", "ihi", "is", "i", "e", "ih", "eh", "ehit", "ehi", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (valmis in $tietue.jatko) then + choose $i in kaunis ($tietue, "is", "ii", "ihi", "is", "i", "e", "ih", "eh", "ehit", "ehi", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (altis in $tietue.jatko) then + choose $i in kaunis ($tietue, "is", "tii", "tihi", "tis", "ti", "te", "tih", "teh", "tihit", "tehi", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (koiras in $tietue.jatko) then + choose $i in koiras ($tietue, "s", A($tietue), "kse", "h"+A($tietue), "ks", "h", "", "hit"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (uros in $tietue.jatko) then + choose $i in uros ($tietue, "s", O($tietue), "kse", "h"+O($tietue), "ks", "h", "", "hit"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (mies in $tietue.jatko) then + choose $i in mies ($tietue, "s", "he", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (airut in $tietue.jatko) then + choose $i in airut ($tietue, "t", "e", "", "hit", "h", "he"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (neitsyt in $tietue.jatko) then + choose $i in neitsyt ($tietue, U($tietue)+"t", U($tietue)+"e", U($tietue)+"ee", "ee", U($tietue), "e", U($tietue)+"hit", "ehit", U($tietue)+"h", "eh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kevät in $tietue.jatko) then + choose $i in kevät ($tietue, "t", A($tietue), "h"+A($tietue), "", "hit", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kahdeksas in $tietue.jatko) then + choose $i in kahdeksas ($tietue, "s", "nte", "nne", "", "n", "ns"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tuhat in $tietue.jatko) then + choose $i in tuhat ($tietue, "t", "nte", "nne", "", "ns", "n", "nt"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kuollut in $tietue.jatko) then + choose $i in kuollut ($tietue, "l"+U($tietue)+"t", "lee", "lehe", "le", "lehit", "leh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (punonut in $tietue.jatko) then + choose $i in kuollut ($tietue, "n"+U($tietue)+"t", "nee", "nehe", "ne", "nehit", "neh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (purrut in $tietue.jatko) then + choose $i in kuollut ($tietue, "r"+U($tietue)+"t", "ree", "rehe", "re", "rehit", "reh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juossut in $tietue.jatko) then + choose $i in kuollut ($tietue, "s"+U($tietue)+"t", "see", "sehe", "se", "sehit", "seh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hame in $tietue.jatko) then + choose $i in hame ($tietue, "", "e", "he", "", "t", "hit", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alkeet in $tietue.jatko) then + choose $i in alkeet ($tietue, "e", "he", "", "is"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (enne in $tietue.jatko) then + choose $i in hame ($tietue, "ne", "tee", "tehe", "te", "net", "tehit", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (helle in $tietue.jatko) then + choose $i in hame ($tietue, "le", "tee", "tehe", "te", "let", "tehit", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kierre in $tietue.jatko) then + choose $i in hame ($tietue, "re", "tee", "tehe", "te", "ret", "tehit", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lahje in $tietue.jatko) then + choose $i in hame ($tietue, "je", "kee", "kehe", "ke", "jet", "kehit", "keh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lape in $tietue.jatko) then + choose $i in hame ($tietue, "e", "pee", "pehe", "pe", "et", "pehit", "peh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lumme in $tietue.jatko) then + choose $i in hame ($tietue, "me", "pee", "pehe", "pe", "met", "pehit", "peh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (osoite in $tietue.jatko) then + choose $i in osoite ($tietue, "ite", "te", "ittee", "ttee", "itte", "tte"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sade in $tietue.jatko) then + choose $i in hame ($tietue, "de", "tee", "tehe", "te", "det", "tehit", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (taive in $tietue.jatko) then + choose $i in hame ($tietue, "ve", "pee", "pehe", "pe", "vet", "pehit", "peh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tarvike in $tietue.jatko) then + choose $i in hame ($tietue, "e", "kee", "kehe", "ke", "et", "kehit", "keh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tiedote in $tietue.jatko) then + choose $i in osoite ($tietue, "te", "ite", "ttee", "ittee", "tte", "itte"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vaate in $tietue.jatko) then + choose $i in hame ($tietue, "e", "tee", "tehe", "te", "et", "tehit", "teh"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (viive in $tietue.jatko) then + choose $i in viive ($tietue, "ve", "pee", "vee", "pe"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (terve in $tietue.jatko) then + choose $i in terve ($tietue, "", "e", "he", "n", "t", "hit", "h"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ori in $tietue.jatko) then + choose $i in ori ($tietue, "i", "ii", "ihi", "e", "it", "ihit", "ih"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kiiru in $tietue.jatko) then + choose $i in kiiru ($tietue, "", U($tietue), "h"+U($tietue), "t", "hit", "h", "te"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (askel in $tietue.jatko) then + choose $i in askel ($tietue, "", "e", "ee", "et", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (auer in $tietue.jatko) then + choose $i in askel ($tietue, "er", "tere", "teree", "teret", "ter"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kannel in $tietue.jatko) then + choose $i in askel ($tietue, "nel", "tele", "telee", "telet", "tel"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kinner in $tietue.jatko) then + choose $i in askel ($tietue, "ner", "tere", "teree", "teret", "ter"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ommel in $tietue.jatko) then + choose $i in askel ($tietue, "mel", "pele", "pelee", "pelet", "pel"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (penger in $tietue.jatko) then + choose $i in askel ($tietue, "ger", "kere", "keree", "keret", "ker"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (piennar in $tietue.jatko) then + choose $i in askel ($tietue, "n"+A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"ree", "t"+A($tietue)+"ret", "t"+A($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (säen in $tietue.jatko) then + choose $i in askel ($tietue, "en", "kene", "kenee", "kenet", "ken"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (taival in $tietue.jatko) then + choose $i in askel ($tietue, "v"+A($tietue)+"l", "p"+A($tietue)+"le", "p"+A($tietue)+"lee", "p"+A($tietue)+"let", "p"+A($tietue)+"l"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (udar in $tietue.jatko) then + choose $i in askel ($tietue, "d"+A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"ree", "t"+A($tietue)+"ret", "t"+A($tietue)+"r"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hän in $tietue.jatko) then + choose $i in hän ($tietue, "n", "ne", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (joka in $tietue.jatko) then + choose $i in joka ($tietue, "k"+A($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (keväämmällä in $tietue.jatko) then + choose $i in keväämmällä ($tietue, "p"+A($tietue), "m"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (loitolla in $tietue.jatko) then + choose $i in loitolla ($tietue, "mp"+A($tietue), "mm"+A($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (me in $tietue.jatko) then + choose $i in me ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sivumpana in $tietue.jatko) then + choose $i in sivumpana ($tietue, "p"+A($tietue), "m"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sydän in $tietue.jatko) then + choose $i in sydän ($tietue, "n", "me", "mme", "m", "mm"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (punoa in $tietue.jatko) then + choose $i in punoa ($tietue, "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aikoa in $tietue.jatko) then + choose $i in punoa ($tietue, "k"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ampua in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+U($tietue), "m"+U($tietue)) + + punottaa ($tietue, "m"+U($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ammottua in $tietue.jatko) then + choose $i in ammottua ($tietue, "tt"+U($tietue), "itt"+U($tietue), "t"+U($tietue), "it"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (asettua in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (harppoa in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jakaantua in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+U($tietue), "n"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaatua in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+U($tietue), "d"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kertoa in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+O($tietue), "r"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kiekua in $tietue.jatko) then + choose $i in punoa ($tietue, "k"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kieppua in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+U($tietue), U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kirjoittua in $tietue.jatko) then + choose $i in kirjoittua ($tietue, "itt"+U($tietue), "tt"+U($tietue), "it"+U($tietue), "t"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kumartua in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+U($tietue), "r"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (leipoa in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+O($tietue), "v"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (liukua in $tietue.jatko) then + choose $i in punoa ($tietue, "k"+U($tietue), "'"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (mankua in $tietue.jatko) then + choose $i in punoa ($tietue, "k"+U($tietue), "g"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (muistua in $tietue.jatko) then + choose $i in muistua ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paleltua in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+U($tietue), "l"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (penkoa in $tietue.jatko) then + choose $i in punoa ($tietue, "k"+O($tietue), "g"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saapua in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+U($tietue), "v"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tahtoa in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+O($tietue), "d"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tempoa in $tietue.jatko) then + choose $i in punoa ($tietue, "p"+O($tietue), "m"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (viittoa in $tietue.jatko) then + choose $i in punoa ($tietue, "t"+O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (muistaa in $tietue.jatko) then + choose $i in muistaa ($tietue, A($tietue), "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aavistaa in $tietue.jatko) then + choose $i in alittaa ($tietue, A($tietue), "e", A($tietue), "", "", "", "-") + + muistua2 ($tietue, "", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alittaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-") + + muistua2 ($tietue, "", "t", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ammottaa in $tietue.jatko) then + choose $i in ammottaa ($tietue, "tt"+A($tietue), "itt"+A($tietue), "te", "ite", "t"+A($tietue), "it"+A($tietue), "t", "it", "tt", "itt") + + ammottua2 ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (asettaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "") + + muistua2 ($tietue, "", "t", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (astahtaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (autioittaa in $tietue.jatko) then + choose $i in autioittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (heittää in $tietue.jatko) then + choose $i in heittää ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hidastaa in $tietue.jatko) then + choose $i in hidastaa ($tietue, A($tietue), "e", "") + + muistua2 ($tietue, "", "", "") + + punottaa ($tietue, U($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hohtaa in $tietue.jatko) then + choose $i in hohtaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "", "d") + + punottaa ($tietue, "d"+A($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hujahtaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "ht"+A($tietue), "hde", "hd"+A($tietue), "hd", "ht", "hd", "-") + + punottaa ($tietue, U($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (inttää in $tietue.jatko) then + choose $i in voitaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (itää in $tietue.jatko) then + choose $i in voitaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kirjoittaa in $tietue.jatko) then + choose $i in kirjoittaa ($tietue, "itt"+A($tietue), "tt"+A($tietue), "ite", "te", "it"+A($tietue), "t"+A($tietue), "it", "t", "itt", "tt") + + kirjoittua2 ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kuluttaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kyntää in $tietue.jatko) then + choose $i in voitaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "n", "t", "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (loistaa in $tietue.jatko) then + choose $i in loistaa ($tietue, A($tietue), "e", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (longertaa in $tietue.jatko) then + choose $i in alittaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "r", "t", "r", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (purkaa in $tietue.jatko) then + choose $i in voitaa ($tietue, "k"+A($tietue), "e", A($tietue), "", "k", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sulaa in $tietue.jatko) then + choose $i in voitaa ($tietue, A($tietue), "e", A($tietue), "", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (voitaa in $tietue.jatko) then + choose $i in voitaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (huutaa in $tietue.jatko) then + choose $i in huutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (alentaa in $tietue.jatko) then + choose $i in alentaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (soutaa in $tietue.jatko) then + choose $i in soutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vuotaa in $tietue.jatko) then + choose $i in soutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juurtaa in $tietue.jatko) then + choose $i in puoltaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jäykentää in $tietue.jatko) then + choose $i in jäykentää ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nuotintaa in $tietue.jatko) then + choose $i in puoltaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (puoltaa in $tietue.jatko) then + choose $i in puoltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pyörtää in $tietue.jatko) then + choose $i in pyörtää ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t") + + pyörtö ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saksantaa in $tietue.jatko) then + choose $i in puoltaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sukeltaa in $tietue.jatko) then + choose $i in sukeltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paleltaa in $tietue.jatko) then + choose $i in puoltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (murtaa in $tietue.jatko) then + choose $i in murtaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t") + + muistua2 ($tietue, "", "t", "r") + + murto ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (musertaa in $tietue.jatko) then + choose $i in musertaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sortaa in $tietue.jatko) then + choose $i in sortaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t") + + murto ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pahentaa in $tietue.jatko) then + choose $i in pahentaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t") + + pahentua ($tietue, "t", "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juontaa in $tietue.jatko) then + choose $i in juontaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t") + + pahentua ($tietue, "t", "n") + + juonto ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaivaa in $tietue.jatko) then + choose $i in kaivaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue), "") + + punottaa ($tietue, A($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ajaa in $tietue.jatko) then + choose $i in kaivaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (antaa in $tietue.jatko) then + choose $i in antaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "n"+O($tietue), "t"+O($tietue), "n") + + punottaa ($tietue, "n"+A($tietue)+"t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (jakaa in $tietue.jatko) then + choose $i in jakaa ($tietue, "k"+A($tietue), "e", A($tietue), O($tietue), "k"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kapsaa in $tietue.jatko) then + choose $i in lappaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lappaa in $tietue.jatko) then + choose $i in lappaa ($tietue, "p"+A($tietue), "e", A($tietue), O($tietue), "p"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (palaa in $tietue.jatko) then + choose $i in lappaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (raataa in $tietue.jatko) then + choose $i in kaivaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "t"+O($tietue), "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saattaa in $tietue.jatko) then + choose $i in kaivaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "t"+O($tietue), "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (haastaa in $tietue.jatko) then + choose $i in haastaa ($tietue, A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaihtaa in $tietue.jatko) then + choose $i in haastaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "d", "t"+O($tietue), "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laittaa in $tietue.jatko) then + choose $i in haastaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "", "t"+O($tietue), "t", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paistaa in $tietue.jatko) then + choose $i in paistaa ($tietue, A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (virkkaa in $tietue.jatko) then + choose $i in virkkaa ($tietue, "k"+A($tietue), "e", A($tietue), O($tietue), "", "k"+O($tietue), "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (paahtaa in $tietue.jatko) then + choose $i in paistaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "d", "t"+O($tietue), "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (taittaa in $tietue.jatko) then + choose $i in paistaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "t", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saartaa in $tietue.jatko) then + choose $i in saartaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "r"+O($tietue), "s", "t", "t"+O($tietue)) + + murto ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laskea in $tietue.jatko) then + choose $i in laskea ($tietue, "e", "i", "e", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hakea in $tietue.jatko) then + choose $i in laskea ($tietue, "ke", "ki", "e", "", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kutea in $tietue.jatko) then + choose $i in laskea ($tietue, "te", "ti", "de", "d", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (polkea in $tietue.jatko) then + choose $i in laskea ($tietue, "ke", "ki", "je", "j", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (rypeä in $tietue.jatko) then + choose $i in laskea ($tietue, "pe", "pi", "ve", "v", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tunkea in $tietue.jatko) then + choose $i in laskea ($tietue, "ke", "ki", "ge", "g", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tuntea in $tietue.jatko) then + choose $i in tuntea ($tietue, "te", "ti", "ne", "s", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (potea in $tietue.jatko) then + choose $i in potea ($tietue, "te", "ti", "de", "d", "t", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lähteä in $tietue.jatko) then + choose $i in lähteä ($tietue, "hte", "hti", "hde", "hd", "ks", "ht", "ksi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sallia in $tietue.jatko) then + choose $i in sallia ($tietue, "i", "i", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (empiä in $tietue.jatko) then + choose $i in sallia ($tietue, "pi", "mi", "m", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hylkiä in $tietue.jatko) then + choose $i in sallia ($tietue, "ki", "ji", "j", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaapia in $tietue.jatko) then + choose $i in sallia ($tietue, "pi", "vi", "v", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kontia in $tietue.jatko) then + choose $i in sallia ($tietue, "ti", "ni", "n", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laatia in $tietue.jatko) then + choose $i in sallia ($tietue, "ti", "di", "d", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (loikkia in $tietue.jatko) then + choose $i in sallia ($tietue, "ki", "i", "", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (onkia in $tietue.jatko) then + choose $i in sallia ($tietue, "ki", "gi", "g", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (oppia in $tietue.jatko) then + choose $i in sallia ($tietue, "pi", "i", "", "p"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (poikia in $tietue.jatko) then + choose $i in sallia ($tietue, "ki", "'i", "'", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (sättiä in $tietue.jatko) then + choose $i in sallia ($tietue, "ti", "i", "", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (voida in $tietue.jatko) then + choose $i in voida ($tietue, "i", "id", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kanavoida in $tietue.jatko) then + choose $i in voida ($tietue, "i", "id", "") + + muistua2 ($tietue, "i", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saada in $tietue.jatko) then + choose $i in saada ($tietue, A($tietue), A($tietue)+"d", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (myydä in $tietue.jatko) then + choose $i in myydä ($tietue, U($tietue), U($tietue)+"d", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juoda in $tietue.jatko) then + choose $i in juoda ($tietue, U($tietue)+O($tietue), U($tietue)+O($tietue)+"d", O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (viedä in $tietue.jatko) then + choose $i in viedä ($tietue, "ie", "ied", "e"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (käydä in $tietue.jatko) then + choose $i in käydä ($tietue, U($tietue), U($tietue)+"d", "v", "vi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nuolaista in $tietue.jatko) then + choose $i in nuolaista ($tietue, "is", "s", "ist", "st", "ise", "se", "isi", "si"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (rangaista in $tietue.jatko) then + choose $i in rangaista ($tietue, "g"+A($tietue)+"is", "g"+A($tietue)+"s", "g"+A($tietue)+"ist", "g"+A($tietue)+"st", "k"+A($tietue)+"ise", "k"+A($tietue)+"se", "k"+A($tietue)+"is", "k"+A($tietue)+"s", "k"+A($tietue)+"isi", "k"+A($tietue)+"si", "is"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kalista in $tietue.jatko) then + choose $i in kalista ($tietue, "is", "ist", "ise", "isi", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nousta in $tietue.jatko) then + choose $i in nousta ($tietue, "", "t", "e", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (seistä in $tietue.jatko) then + choose $i in seistä ($tietue, "", "t"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tulla in $tietue.jatko) then + choose $i in tulla ($tietue, "", "l", "e", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (purra in $tietue.jatko) then + choose $i in purra ($tietue, "", "r", "e", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (mennä in $tietue.jatko) then + choose $i in mennä ($tietue, "", "n", "e", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (katsella in $tietue.jatko) then + choose $i in katsella ($tietue, "", "l", "e", "", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aatella in $tietue.jatko) then + choose $i in katsella ($tietue, "el", "ell", "tele", "tel", "teli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (askarrella in $tietue.jatko) then + choose $i in katsella ($tietue, "rel", "rell", "tele", "tel", "teli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ilotella in $tietue.jatko) then + choose $i in ilotella ($tietue, "tel", "itel", "tell", "itell", "ttele", "ittele", "ttel", "ittel", "tteli", "itteli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kilvoitella in $tietue.jatko) then + choose $i in kilvoitella ($tietue, "itel", "tel", "itell", "tell", "ittele", "ttele", "ittel", "ttel", "itteli", "tteli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kohdella in $tietue.jatko) then + choose $i in katsella ($tietue, "del", "dell", "tele", "tel", "teli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nakella in $tietue.jatko) then + choose $i in katsella ($tietue, "el", "ell", "kele", "kel", "keli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ommella in $tietue.jatko) then + choose $i in katsella ($tietue, "mel", "mell", "pele", "pel", "peli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pienennellä in $tietue.jatko) then + choose $i in katsella ($tietue, "nel", "nell", "tele", "tel", "teli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (takellella in $tietue.jatko) then + choose $i in katsella ($tietue, "lel", "lell", "tele", "tel", "teli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tapella in $tietue.jatko) then + choose $i in katsella ($tietue, "el", "ell", "pele", "pel", "peli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (arvailla in $tietue.jatko) then + choose $i in arvailla ($tietue, "il", "el", "ill", "ell", "ile", "ele", "ili", "eli"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (haravoida in $tietue.jatko) then + choose $i in haravoida ($tietue, "i", "id", "it", "itse", "in", "", "its", "itsi") + + muistua2 ($tietue, "i", "t", "d"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (valita in $tietue.jatko) then + choose $i in valita ($tietue, "", "t", "tse", "n", "ts", "tsi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juosta in $tietue.jatko) then + choose $i in juosta ($tietue, "s", "st", "kse", "ks", "ksi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (nähdä in $tietue.jatko) then + choose $i in nähdä ($tietue, "h", "hd", "ke", "e", "", "k", "ki"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aleta in $tietue.jatko) then + choose $i in aleta ($tietue, "", "t", "ne", "n", "n", "ni") + + loitontaa ($tietue, "n") + + loitontua ($tietue, "n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (edetä in $tietue.jatko) then + choose $i in aleta ($tietue, "de", "det", "tene", "den", "ten", "teni"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (erata in $tietue.jatko) then + choose $i in aleta ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+"ne", A($tietue)+"n", "k"+A($tietue)+"n", "k"+A($tietue)+"ni"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hapata in $tietue.jatko) then + choose $i in aleta ($tietue, A($tietue), A($tietue)+"t", "p"+A($tietue)+"ne", A($tietue)+"n", "p"+A($tietue)+"n", "p"+A($tietue)+"ni") + + loitontua ($tietue, A($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kangeta in $tietue.jatko) then + choose $i in aleta ($tietue, "ge", "get", "kene", "gen", "ken", "keni"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kaveta in $tietue.jatko) then + choose $i in aleta ($tietue, "ve", "vet", "pene", "ven", "pen", "peni") + + loitontaa ($tietue, "ven") + + loitontua ($tietue, "ven"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kevetä in $tietue.jatko) then + choose $i in kevetä ($tietue, "ve", "vet", "pene", "vene", "ven", "pen", "peni", "veni") + + loitontaa ($tietue, "ven") + + loitontua ($tietue, "ven"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (leudota in $tietue.jatko) then + choose $i in aleta ($tietue, "d"+O($tietue), "d"+O($tietue)+"t", "t"+O($tietue)+"ne", "d"+O($tietue)+"n", "t"+O($tietue)+"n", "t"+O($tietue)+"ni") + + loitontaa ($tietue, "d"+O($tietue)+"n") + + loitontua ($tietue, "d"+O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (loitota in $tietue.jatko) then + choose $i in aleta ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+"ne", O($tietue)+"n", "t"+O($tietue)+"n", "t"+O($tietue)+"ni") + + loitontaa ($tietue, O($tietue)+"n") + + loitontua ($tietue, O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lämmetä in $tietue.jatko) then + choose $i in aleta ($tietue, "me", "met", "pene", "men", "pen", "peni"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (mädätä in $tietue.jatko) then + choose $i in aleta ($tietue, "d"+A($tietue), "d"+A($tietue)+"t", "t"+A($tietue)+"ne", "d"+A($tietue)+"n", "t"+A($tietue)+"n", "t"+A($tietue)+"ni") + + loitontua ($tietue, "d"+A($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suipeta in $tietue.jatko) then + choose $i in aleta ($tietue, "e", "et", "pene", "en", "pen", "peni") + + loitontaa ($tietue, "en") + + loitontua ($tietue, "en"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (tarjeta in $tietue.jatko) then + choose $i in aleta ($tietue, "je", "jet", "kene", "jen", "ken", "keni"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ulota in $tietue.jatko) then + choose $i in aleta ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+"ne", O($tietue)+"n", "k"+O($tietue)+"n", "k"+O($tietue)+"ni") + + loitontua ($tietue, O($tietue)+"n"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vaieta in $tietue.jatko) then + choose $i in aleta ($tietue, "e", "et", "kene", "en", "ken", "keni") + + loitontaa ($tietue, "en") + + loitontua ($tietue, "en"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (salata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"s", A($tietue), A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lobata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "b"+A($tietue)+A($tietue), A($tietue)+"n", "b"+A($tietue)+"s", "b"+A($tietue), "b"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (digata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "g"+A($tietue)+A($tietue), A($tietue)+"n", "g"+A($tietue)+"s", "g"+A($tietue), "g"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hangata in $tietue.jatko) then + choose $i in salata ($tietue, "g"+A($tietue), "g"+A($tietue)+"t", "k"+A($tietue)+A($tietue), "g"+A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (huiskata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue), A($tietue), A($tietue), A($tietue), A($tietue), A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kammata in $tietue.jatko) then + choose $i in salata ($tietue, "m"+A($tietue), "m"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "m"+A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kelvata in $tietue.jatko) then + choose $i in salata ($tietue, "v"+A($tietue), "v"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "v"+A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kerrata in $tietue.jatko) then + choose $i in salata ($tietue, "r"+A($tietue), "r"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "r"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kivetä in $tietue.jatko) then + choose $i in salata ($tietue, "", "t", A($tietue), "n", "s", "", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kuitata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "t"+A($tietue)+A($tietue), A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ladata in $tietue.jatko) then + choose $i in salata ($tietue, "d"+A($tietue), "d"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "d"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pakata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (pompata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "p"+A($tietue)+A($tietue), A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saneerata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"s", A($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (suunnata in $tietue.jatko) then + choose $i in salata ($tietue, "n"+A($tietue), "n"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "n"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (taata in $tietue.jatko) then + choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vallata in $tietue.jatko) then + choose $i in salata ($tietue, "l"+A($tietue), "l"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "l"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (katketa in $tietue.jatko) then + choose $i in katketa ($tietue, "", "t", A($tietue), "e", "n", "s", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kammeta in $tietue.jatko) then + choose $i in katketa ($tietue, "me", "met", "pe"+A($tietue), "pee", "men", "pes", "pe"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (langeta in $tietue.jatko) then + choose $i in katketa ($tietue, "ge", "get", "ke"+A($tietue), "kee", "gen", "kes", "ke"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lohjeta in $tietue.jatko) then + choose $i in katketa ($tietue, "je", "jet", "ke"+A($tietue), "kee", "jen", "kes", "ke"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lotota in $tietue.jatko) then + choose $i in katketa ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (poiketa in $tietue.jatko) then + choose $i in katketa ($tietue, "e", "et", "ke"+A($tietue), "kee", "en", "kes", "ke"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ruveta in $tietue.jatko) then + choose $i in katketa ($tietue, "ve", "vet", "pe"+A($tietue), "pee", "ven", "pes", "pe"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (todeta in $tietue.jatko) then + choose $i in katketa ($tietue, "de", "det", "te"+A($tietue), "tee", "den", "tes", "te"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (selvitä in $tietue.jatko) then + choose $i in selvitä ($tietue, "i", "it", "i"+A($tietue), "ii", "in", "is", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hellitä in $tietue.jatko) then + choose $i in selvitä ($tietue, "li", "lit", "ti"+A($tietue), "tii", "lin", "tis", "ti"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (keritä in $tietue.jatko) then + choose $i in selvitä ($tietue, "i", "it", "ki"+A($tietue), "kii", "in", "kis", "ki"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lämmitä in $tietue.jatko) then + choose $i in selvitä ($tietue, "mi", "mit", "pi"+A($tietue), "pii", "min", "pis", "pi"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kutiaa in $tietue.jatko) then + choose $i in kutiaa ($tietue, ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kohota in $tietue.jatko) then + choose $i in kohota ($tietue, "", "t", A($tietue), O($tietue), "n", "s", O($tietue), ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (aallota in $tietue.jatko) then + choose $i in kohota ($tietue, "l"+O($tietue), "l"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "l"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (irrota in $tietue.jatko) then + choose $i in kohota ($tietue, "r"+O($tietue), "r"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "r"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (laota in $tietue.jatko) then + choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "k"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (saota in $tietue.jatko) then + choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kadota in $tietue.jatko) then + choose $i in kohota ($tietue, "d"+O($tietue), "d"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "d"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (puota in $tietue.jatko) then + choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kimmota in $tietue.jatko) then + choose $i in kohota ($tietue, "m"+O($tietue), "m"+O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), "m"+O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (lingota in $tietue.jatko) then + choose $i in kohota ($tietue, "g"+O($tietue), "g"+O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), "g"+O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "k"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (netota in $tietue.jatko) then + choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (siivota in $tietue.jatko) then + choose $i in siivota ($tietue, "", "t", A($tietue), O($tietue), "n", "s", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (turvota in $tietue.jatko) then + choose $i in kohota ($tietue, "v"+O($tietue), "v"+O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), "v"+O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (upota in $tietue.jatko) then + choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (haluta in $tietue.jatko) then + choose $i in haluta ($tietue, "", "t", A($tietue), U($tietue), "n", "s", "", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (bingota in $tietue.jatko) then + choose $i in haluta ($tietue, "", "t", A($tietue), O($tietue), "n", "s", "", "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (juoruta in $tietue.jatko) then + choose $i in haluta ($tietue, "", "t", A($tietue), U($tietue), "n", "s", "", ""); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kavuta in $tietue.jatko) then + choose $i in haluta ($tietue, "v"+U($tietue), "v"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "v"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kummuta in $tietue.jatko) then + choose $i in haluta ($tietue, "m"+U($tietue), "m"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "m"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "p"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (luututa in $tietue.jatko) then + choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "t"+U($tietue)+A($tietue), "t"+U($tietue)+U($tietue), U($tietue)+"n", "t"+U($tietue)+"s", "t"+U($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (silputa in $tietue.jatko) then + choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (ryöpytä in $tietue.jatko) then + choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "p"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (takuta in $tietue.jatko) then + choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "k"+U($tietue)+A($tietue), "k"+U($tietue)+U($tietue), U($tietue)+"n", "k"+U($tietue)+"s", "k"+U($tietue), "k"+U($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (vivuta in $tietue.jatko) then + choose $i in haluta ($tietue, "v"+U($tietue), "v"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "v"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (palata in $tietue.jatko) then + choose $i in palata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"j"+A($tietue), A($tietue)+"s", A($tietue), A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hyljätä in $tietue.jatko) then + choose $i in hyljätä ($tietue, "j"+A($tietue), "j"+A($tietue)+"t", "k"+A($tietue)+A($tietue), "j"+A($tietue)+"n", "j"+A($tietue)+A($tietue), "k"+A($tietue)+"j"+A($tietue), "k"+A($tietue)+"s", "j"+A($tietue)+"s", "k"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (hylätä in $tietue.jatko) then + choose $i in palata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"j"+A($tietue), "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (levätä in $tietue.jatko) then + choose $i in palata ($tietue, "v"+A($tietue), "v"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "v"+A($tietue)+"n", "p"+A($tietue)+"j"+A($tietue), "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue)); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (varata in $tietue.jatko) then + choose $i in palata ($tietue, "r"+A($tietue), "r"+A($tietue)+"t", "r"+A($tietue)+A($tietue), "r"+A($tietue)+"n", "r"+A($tietue)+"j"+A($tietue), "r"+A($tietue)+"s", "r"+A($tietue), "-"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kihistä in $tietue.jatko) then + choose $i in kihistä ($tietue, "is", A($tietue)+"j"+A($tietue), "ist", "ise", A($tietue)+"j", "isi", "i") + + kihahtaa ($tietue) + + kihauttaa ($tietue); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kitistä in $tietue.jatko) then + choose $i in kihistä ($tietue, "is", A($tietue)+"j"+A($tietue), "ist", "ise", A($tietue)+"j", "isi", "i"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (rakentaa in $tietue.jatko) then + choose $i in rakentaa ($tietue, "nt"+A($tietue), "", "t", "nne", "n", "nn"+A($tietue), "ns", "nn", "nt"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kääntää in $tietue.jatko) then + choose $i in kääntää ($tietue, "nt"+A($tietue), "", "t", "nne", "n", "nn"+A($tietue), "ns", "nn", "nt"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (taitaa in $tietue.jatko) then + choose $i in taitaa ($tietue, "t"+A($tietue), "de", "n", "", "d"+A($tietue), "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (antautua in $tietue.jatko) then + choose $i in antautua ($tietue, "t"+U($tietue), "", "d"+U($tietue), "n", "s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (kirjoittautua in $tietue.jatko) then + choose $i in kirjoittautua ($tietue, "itt"+A($tietue)+U($tietue)+"t"+U($tietue), "tt"+A($tietue)+U($tietue)+"t"+U($tietue), "itt"+A($tietue)+U($tietue), "tt"+A($tietue)+U($tietue), "itt"+A($tietue)+U($tietue)+"d"+U($tietue), "tt"+A($tietue)+U($tietue)+"d"+U($tietue), "itt"+A($tietue)+U($tietue)+"n", "tt"+A($tietue)+U($tietue)+"n", "itt"+A($tietue)+U($tietue)+"s", "tt"+A($tietue)+U($tietue)+"s"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + elseif (olla in $tietue.jatko) then + choose $i in olla ($tietue, "l", "ll", "le", "li"); + if (value_type($i) = record) then + result $i.alku, $i - alku; + else + foreach $j in $i: + result $j.alku, $j - alku; + end; + end; + +##################################################################### +##=================================================================## +##################################################################### + + + elseif (yö_monikko in $tietue.jatko) then + choose $i in taivutuskaava ($tietue, + [omanto_iT: <<"", <>>>, + osanto_itA: <<"", <>>>, + olento_inA: <<"", <>>>, + tulento_iksi: <<"", <>>>, + sisäolento_issA: <<"", <>>>, + sisäeronto_istA: <<"", <>>>, + sisätulento_ihin: <<"", <>>>, + ulko_olento_illA: <<"", <>>>, + ulkoeronto_iltA: <<"", <>>>, + ulkotulento_ille: <<"", <>>>, + vajanto_ittA: <<"", <>>>, + seuranto_ine: <<"", <>>>, + keinonto_in: <<"", <>>>, + johdin_ittain: <<"", <>>>]); + result $i.alku, $i - alku; + + +###################################### + +# Vaillinnainen taivutus. +# +# elseif (kumajaa in $tietue.jatko) then +# elseif (kaikaa in $tietue.jatko) then + + +###################################### + + + elseif (lienee in $tietue.jatko) then + choose $i in taivutus ($tietue, "", @kestämän_tekijäpääte, + [tapaluokka: ehtotapa, aikamuoto: kestämä]); + result $i.alku, $i - alku; + + +#======================================== + + elseif ($tietue.alku /= nil) then +#define $a := transmit (<"a"> + <$tietue.alku> + <$tietue - alku>); + result $tietue.alku, $tietue - alku; + else +#define $b := transmit (<"b"> + <$tietue.perusmuoto> + <$tietue - alku>); + result $tietue.perusmuoto, $tietue - alku; + end; +##define $b := transmit (<$tietue.perusmuoto> + <$tietue.alku> + <$tietue.äs>); +end; +subrule koko ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule valo ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule vihko ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>, <$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>, <$param01, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param01, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>, <$param01, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param01, <>>>, + vajanto_ttA: <<$param02, <>>, <$param01, <>>>, + nimentö_t: <<$param02, <>>, <$param01, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param02, <>>, <$param01, <>>>, + sisäolento_issA: <<$param02, <>>, <$param01, <>>>, + sisäeronto_istA: <<$param02, <>>, <$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param02, <>>, <$param01, <>>>, + ulkoeronto_iltA: <<$param02, <>>, <$param01, <>>>, + ulkotulento_ille: <<$param02, <>>, <$param01, <>>>, + vajanto_ittA: <<$param02, <>>, <$param01, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param02, <>>, <$param01, <>>>, + kerronto_sti: <<$param02, <>>, <$param01, <>>>, + voittoaste: <<$param02, <>>, <$param01, <>>>, + yliaste: <<$param02, <>>, <$param01, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>, <$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param01, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule aarteisto ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_jen: <<$param01, <>>, <$param02, <>>>, + omanto_iT: <<$param01, <>>, <$param02, <>>>, + omanto_in: <<$param01, <>>, <$param02, <>>>, + osanto_jA: <<$param01, <>>, <$param02, <>>>, + osanto_itA: <<$param01, <>>, <$param02, <>>>, + olento_inA: <<$param01, <>>, <$param02, <>>>, + tulento_iksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_issA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_istA: <<$param01, <>>, <$param02, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>>, + ulko_olento_illA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_ille: <<$param01, <>>, <$param02, <>>>, + vajanto_ittA: <<$param01, <>>, <$param02, <>>>, + seuranto_ine: <<$param01, <>>, <$param02, <>>>, + keinonto_in: <<$param01, <>>, <$param02, <>>>, + johdin_inen: <<$param01, <>>, <$param02, <>>>, + johdin_ittain: <<$param01, <>>, <$param02, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule arvelu ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule hontelo ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_iT: <<$param01, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param01, <>>>, + sisäolento_issA: <<$param01, <>>>, + sisäeronto_istA: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param01, <>>>, + ulkoeronto_iltA: <<$param01, <>>>, + ulkotulento_ille: <<$param01, <>>>, + vajanto_ittA: <<$param01, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param01, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param01, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule laatikko ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param01, <>>, <$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param01, <>>, <$param02, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule puhuttu ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_iT: <<$param02, >>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param01, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule autio ($tietue, $param01): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + osanto_A: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param01, <>>>, + omanto_in: <<$param01, >>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param01, <>>>, + sisäolento_issA: <<$param01, <>>>, + sisäeronto_istA: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param01, <>>>, + ulkoeronto_iltA: <<$param01, <>>>, + ulkotulento_ille: <<$param01, <>>>, + vajanto_ittA: <<$param01, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param01, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param01, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule illuusio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + osanto_tA: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >, <$param03, >, <$param04, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omanto_en: <<$param03, <>>, <$param04, <>>>, + omanto_iT: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + omanto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + osanto_itA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + osanto_jA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param01, <>>, <$param05, <>>, <$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + yliaste: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>>, + johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>]); +end; +subrule obligaatio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $param11, $param12, $param13, $param14): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + osanto_tA: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >, <$param03, >, <$param04, >, <$param05, >, <$param06, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omanto_en: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omanto_iT: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + omanto_in: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + osanto_itA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + osanto_jA: <<$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + olento_inA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + vajanto_ittA: <<$param01, <>>, <$param09, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + keinonto_in: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + yliaste: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>>, + johdin_inen: <<$param01, <>>, <$param02, <>>, <$param11, <>>, <$param12, <>>, <$param13, <>>, <$param14, <>>>, + johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>]); +end; +subrule traditio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + osanto_tA: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >, <$param03, >, <$param04, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + omanto_en: <<$param03, <>>, <$param04, <>>, <$param03, <>>>, + omanto_iT: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + omanto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + osanto_itA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + osanto_jA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param01, <>>, <$param05, <>>, <$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + yliaste: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>>, + johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>]); +end; +subrule kaihi ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param02, >>, + osanto_jA: <<$param02, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param02, <>>, <$param03, <>>>, + tulento_iksi: <<$param02, <>>, <$param03, <>>>, + sisäolento_issA: <<$param02, <>>, <$param03, <>>>, + sisäeronto_istA: <<$param02, <>>, <$param03, <>>>, + sisätulento_ihin: <<$param02, <>>, <$param03, >>, + sisätulento_iin: <<$param03, <>>>, + ulko_olento_illA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_iltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_ille: <<$param02, <>>, <$param03, <>>>, + vajanto_ittA: <<$param02, <>>, <$param03, <>>>, + seuranto_ine: <<$param02, <>>, <$param03, <>>>, + keinonto_in: <<$param02, <>>, <$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param02, <>>, <$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule marinadi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_en: <<$param01, <>>, <$param02, <>>>, + omanto_in: <<$param03, >, <$param04, >>, + osanto_jA: <<$param03, <>>, <$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_issA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param04, <>>>, + vajanto_ittA: <<$param03, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param03, <>>, <$param04, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>>, + yliaste: <<$param03, <>>, <$param04, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param03, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule risti ($tietue, $param01, $param02, $param03, $param04, $johdin_inen, $johdin_Us): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_en: <<$param01, <>>>, + omanto_in: <<$param03, >>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$johdin_inen, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$johdin_Us, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule telefoni ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_en: <<$param01, <>>, <$param02, <>>>, + omanto_in: <<$param03, >, <$param04, >>, + osanto_jA: <<$param03, <>>, <$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_issA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param04, <>>>, + vajanto_ittA: <<$param03, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param03, <>>, <$param04, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>>, + yliaste: <<$param03, <>>, <$param04, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param03, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule äiti ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>, <$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>, <$param01, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param01, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>, <$param01, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param01, <>>>, + vajanto_ttA: <<$param02, <>>, <$param01, <>>>, + nimentö_t: <<$param02, <>>, <$param01, <>>>, + omanto_en: <<$param01, <>>>, + omanto_in: <<$param03, >>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>, <$param03, <>>>, + sisäolento_issA: <<$param04, <>>, <$param03, <>>>, + sisäeronto_istA: <<$param04, <>>, <$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param03, <>>>, + ulkoeronto_iltA: <<$param04, <>>, <$param03, <>>>, + ulkotulento_ille: <<$param04, <>>, <$param03, <>>>, + vajanto_ittA: <<$param04, <>>, <$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>, <$param03, <>>>, + kerronto_sti: <<$param02, <>>, <$param01, <>>>, + voittoaste: <<$param02, <>>, <$param01, <>>>, + yliaste: <<$param04, <>>, <$param03, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param04, <>>, <$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param01, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule balladi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_en: <<$param01, <>>, <$param02, <>>>, + omanto_iT: <<$param03, <>>, <$param04, <>>>, + omanto_in: <<$param03, >, <$param04, >>, + osanto_jA: <<$param03, <>>, <$param04, <>>>, + osanto_itA: <<$param03, <>>, <$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_issA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param04, <>>>, + vajanto_ittA: <<$param03, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param03, <>>, <$param04, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>>, + yliaste: <<$param03, <>>, <$param04, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param03, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule laser ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_en: <<$param02, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_in: <<$param03, >>, + osanto_jA: <<$param03, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param02, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule paperi ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_en: <<$param01, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_in: <<$param04, >>, + osanto_jA: <<$param04, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param04, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule symboli ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_en: <<$param01, <>>, <$param02, <>>>, + omanto_iT: <<$param03, <>>, <$param04, <>>>, + omanto_in: <<$param03, >, <$param04, >>, + osanto_jA: <<$param03, <>>, <$param04, <>>>, + osanto_itA: <<$param03, <>>, <$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_issA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param04, <>>>, + vajanto_ittA: <<$param03, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param03, <>>, <$param04, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>>, + yliaste: <<$param03, <>>, <$param04, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param03, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + johdin_Us: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule kalsium ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_en: <<$param02, <>>>, + omanto_in: <<$param03, >>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param02, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pop ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_A: <<$param03, <>>, <$param02, <>>>, + olento_nA: <<$param03, <>>, <$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param03, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param03, >, <$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param01, <>>, <$param04, <>>>, + omanto_in: <<$param05, >, <$param06, >>, + osanto_jA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_ihin: <<$param05, <>>, <$param06, <>>>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param01, <>>, <$param04, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_Us: <<$param03, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule kiiski ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param01, >>, + omanto_n: <<$param02, <>>, <$param01, >>, + osanto_A: <<$param02, <>>, <$param01, >>, + olento_nA: <<$param02, <>>, <$param01, >>, + tulento_ksi: <<$param02, <>>, <$param01, >>, + sisäolento_ssA: <<$param02, <>>, <$param01, >>, + sisäeronto_stA: <<$param02, <>>, <$param01, >>, + sisätulento_Vn: <<$param02, <>>, <$param01, >>, + sisätulento_hVn: <<$param02, >, <$param01, >>, + ulko_olento_llA: <<$param02, <>>, <$param01, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param01, >>, + ulkotulento_lle: <<$param02, <>>, <$param01, >>, + vajanto_ttA: <<$param02, <>>, <$param01, >>, + nimentö_t: <<$param02, <>>, <$param01, >>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param02, >>, + osanto_jA: <<$param02, >>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>, <$param02, >>, + tulento_iksi: <<$param03, <>>, <$param02, >>, + sisäolento_issA: <<$param03, <>>, <$param02, >>, + sisäeronto_istA: <<$param03, <>>, <$param02, >>, + sisätulento_ihin: <<$param02, >, <$param03, >>, + sisätulento_iin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param02, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param02, >>, + ulkotulento_ille: <<$param03, <>>, <$param02, >>, + vajanto_ittA: <<$param03, <>>, <$param02, >>, + seuranto_ine: <<$param03, <>>, <$param02, >>, + keinonto_in: <<$param03, <>>, <$param02, >>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>, <$param02, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param01, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lampi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_in: <<$param02, >>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param06, <>>, <$param03, <>>>, + sisäolento_issA: <<$param06, <>>, <$param03, <>>>, + sisäeronto_istA: <<$param06, <>>, <$param03, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param06, <>>, <$param03, <>>>, + ulkoeronto_iltA: <<$param06, <>>, <$param03, <>>>, + ulkotulento_ille: <<$param06, <>>, <$param03, <>>>, + vajanto_ittA: <<$param06, <>>, <$param03, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param06, <>>, <$param03, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param06, <>>, <$param03, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param06, <>>, <$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lovi ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, >>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param02, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kolme ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_ien: <<$param02, <>>>, + omanto_in: <<$param01, >>, + osanto_iA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_iin: <<$param02, <>>>, + sisätulento_ihin: <<$param02, >>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule nalle ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param01, <>>>, + omanto_in: <<$param01, <>>>, + osanto_jA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kala ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param05, <>>>, + yliaste: <<$param06, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param07, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule nahka ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>, <$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>, <$param01, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param01, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>, <$param01, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param01, <>>>, + vajanto_ttA: <<$param02, <>>, <$param01, <>>>, + nimentö_t: <<$param02, <>>, <$param01, <>>>, + omanto_jen: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>, <$param03, <>>>, + sisäolento_issA: <<$param04, <>>, <$param03, <>>>, + sisäeronto_istA: <<$param04, <>>, <$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param03, <>>>, + ulkoeronto_iltA: <<$param04, <>>, <$param03, <>>>, + ulkotulento_ille: <<$param04, <>>, <$param03, <>>>, + vajanto_ittA: <<$param04, <>>, <$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>, <$param03, <>>>, + kerronto_sti: <<$param02, <>>, <$param01, <>>>, + voittoaste: <<$param05, <>>, <$param06, <>>>, + yliaste: <<$param07, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>, <$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param01, <>>>, + johdin_Us: <<$param07, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule koira ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param05, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pitkä ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_ien: <<$param02, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_iin: <<$param02, <>>>, + sisätulento_ihin: <<$param02, >>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param05, <>>>, + johdin_ittAin: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule ruoka ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>, <$param03, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>, <$param03, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>>, + nimentö_t: <<$param02, <>>, <$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param06, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param02, <>>, <$param03, <>>>, + voittoaste: <<$param07, <>>, <$param08, <>>>, + yliaste: <<$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>>, + johdin_Us: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule matala ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_iT: <<$param04, <>>>, + omanto_in: <<$param01, <>>>, + omanto_jen: <<$param05, <>>>, + osanto_iA: <<$param03, <>>>, + osanto_itA: <<$param04, <>>>, + osanto_jA: <<$param05, <>>>, + olento_inA: <<$param03, <>>, <$param05, <>>>, + tulento_iksi: <<$param06, <>>, <$param04, <>>>, + sisäolento_issA: <<$param06, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param06, <>>, <$param04, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param05, <>>, <$param04, >, <$param03, >>, + ulko_olento_illA: <<$param06, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param06, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param06, <>>, <$param04, <>>>, + vajanto_ittA: <<$param06, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param05, <>>>, + keinonto_in: <<$param06, <>>, <$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param06, <>>, <$param04, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param06, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param06, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule asema ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kulkija ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + omanto_in: <<$param01, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule analogia ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>>, + omanto_n: <<$param01, <>>, <$param02, <>>>, + osanto_A: <<$param01, <>>, <$param02, <>>>, + osanto_tA: <<$param01, >, <$param02, >>, + olento_nA: <<$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param01, <>>, <$param02, <>>>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>>, + sisätulento_Vn: <<$param01, <>>, <$param02, <>>>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>>, + nimentö_t: <<$param01, <>>, <$param02, <>>>, + omanto_jen: <<$param03, <>>, <$param04, <>>>, + omanto_iT: <<$param03, <>>, <$param04, <>>>, + omanto_in: <<$param01, <>>, <$param02, <>>>, + osanto_jA: <<$param03, <>>, <$param04, <>>>, + osanto_itA: <<$param03, <>>, <$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_issA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param04, <>>>, + vajanto_ittA: <<$param03, <>>, <$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param03, <>>, <$param04, <>>>, + kerronto_sti: <<$param01, <>>, <$param02, <>>>, + voittoaste: <<$param01, <>>, <$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>, <$param02, <>>>, + johdin_ittain: <<$param03, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule karahka ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param03, <>>>, + omanto_iT: <<$param04, <>>>, + omanto_in: <<$param01, <>>>, + osanto_jA: <<$param03, <>>>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule solakka ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param03, <>>>, + omanto_iT: <<$param04, <>>>, + omanto_in: <<$param01, >>, + osanto_jA: <<$param03, <>>>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param03, <>>, <$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param04, <>>>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param03, <>>, <$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule apaja ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, >>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + osanto_itA: <<$param02, >>, + olento_inA: <<$param03, <>>, <$param02, >>, + tulento_iksi: <<$param03, <>>, <$param02, >>, + sisäolento_issA: <<$param03, <>>, <$param02, >>, + sisäeronto_istA: <<$param03, <>>, <$param02, >>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param02, >, <$param03, >>, + ulko_olento_illA: <<$param03, <>>, <$param02, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param02, >>, + ulkotulento_ille: <<$param03, <>>, <$param02, >>, + vajanto_ittA: <<$param03, <>>, <$param02, >>, + seuranto_ine: <<$param03, <>>, <$param02, >>, + keinonto_in: <<$param03, <>>, <$param02, >>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>, <$param02, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kahdeksan ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param02, >>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_iT: <<$param03, >>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + osanto_iA: <<$param04, <>>>, + osanto_itA: <<$param03, >>, + olento_inA: <<$param04, <>>, <$param03, >>, + tulento_iksi: <<$param04, <>>, <$param03, >>, + sisäolento_issA: <<$param04, <>>, <$param03, >>, + sisäeronto_istA: <<$param04, <>>, <$param03, >>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param03, >, <$param04, >>, + ulko_olento_illA: <<$param04, <>>, <$param03, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param03, >>, + ulkotulento_ille: <<$param04, <>>, <$param03, >>, + vajanto_ittA: <<$param04, <>>, <$param03, >>, + seuranto_ine: <<$param04, <>>, <$param03, >>, + keinonto_in: <<$param04, <>>, <$param03, >>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kantaja ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, >>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + osanto_itA: <<$param02, >>, + olento_inA: <<$param03, <>>, <$param02, >>, + tulento_iksi: <<$param03, <>>, <$param02, >>, + sisäolento_issA: <<$param03, <>>, <$param02, >>, + sisäeronto_istA: <<$param03, <>>, <$param02, >>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param02, >, <$param03, >>, + ulko_olento_illA: <<$param03, <>>, <$param02, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param02, >>, + ulkotulento_ille: <<$param03, <>>, <$param02, >>, + vajanto_ittA: <<$param03, <>>, <$param02, >>, + seuranto_ine: <<$param03, <>>, <$param02, >>, + keinonto_in: <<$param03, <>>, <$param02, >>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>, <$param02, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule peruna ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_jen: <<$param02, <>>>, + omanto_iT: <<$param02, <>>>, + omanto_in: <<$param01, <>>>, + omanto_ien: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + osanto_itA: <<$param02, <>>>, + osanto_jA: <<$param02, <>>>, + olento_inA: <<$param03, <>>, <$param02, <>>>, + tulento_iksi: <<$param03, <>>, <$param02, <>>>, + sisäolento_issA: <<$param03, <>>, <$param02, <>>>, + sisäeronto_istA: <<$param03, <>>, <$param02, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param02, <>>, <$param03, >>, + ulko_olento_illA: <<$param03, <>>, <$param02, <>>>, + ulkoeronto_iltA: <<$param03, <>>, <$param02, <>>>, + ulkotulento_ille: <<$param03, <>>, <$param02, <>>>, + vajanto_ittA: <<$param03, <>>, <$param02, <>>>, + seuranto_ine: <<$param03, <>>, <$param02, <>>>, + keinonto_in: <<$param03, <>>, <$param02, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param03, <>>, <$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pasuuna ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_jen: <<$param03, <>>>, + omanto_iT: <<$param04, <>>>, + omanto_in: <<$param01, <>>>, + omanto_ien: <<$param05, <>>>, + osanto_iA: <<$param05, <>>>, + osanto_itA: <<$param04, <>>>, + osanto_jA: <<$param03, <>>>, + olento_inA: <<$param05, <>>, <$param03, <>>>, + tulento_iksi: <<$param06, <>>, <$param04, <>>>, + sisäolento_issA: <<$param06, <>>, <$param04, <>>>, + sisäeronto_istA: <<$param06, <>>, <$param04, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param03, <>>, <$param05, >>, + ulko_olento_illA: <<$param06, <>>, <$param04, <>>>, + ulkoeronto_iltA: <<$param06, <>>, <$param04, <>>>, + ulkotulento_ille: <<$param06, <>>, <$param04, <>>>, + vajanto_ittA: <<$param06, <>>, <$param04, <>>>, + seuranto_ine: <<$param05, <>>, <$param03, <>>>, + keinonto_in: <<$param06, <>>, <$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param06, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param06, <>>, <$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule ainoa ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, >>, + omistusliite: <<$param01, <>>, <$param02, >>, + omanto_n: <<$param01, <>>, <$param02, >>, + osanto_A: <<$param01, <>>, <$param02, >>, + osanto_tA: <<$param01, <>>, <$param02, >>, + olento_nA: <<$param01, <>>, <$param02, >>, + tulento_ksi: <<$param01, <>>, <$param02, >>, + sisäolento_ssA: <<$param01, <>>, <$param02, >>, + sisäeronto_stA: <<$param01, <>>, <$param02, >>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, >>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, >>, + ulkotulento_lle: <<$param01, <>>, <$param02, >>, + vajanto_ttA: <<$param01, <>>, <$param02, >>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + sisätulento_isiin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param01, <>>>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>, <$param02, >>, + yhdyssana: <<$param01, <>>, <$param02, >>]); +end; +subrule herttua ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, >>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>, <$param03, >>, + omanto_in: <<$param01, <>>>, + osanto_itA: <<$param02, <>>, <$param03, >>, + olento_inA: <<$param02, <>>, <$param03, >>, + tulento_iksi: <<$param02, <>>, <$param03, >>, + sisäolento_issA: <<$param02, <>>, <$param03, >>, + sisäeronto_istA: <<$param02, <>>, <$param03, >>, + sisätulento_ihin: <<$param02, <>>, <$param03, >>, + ulko_olento_illA: <<$param02, <>>, <$param03, >>, + ulkoeronto_iltA: <<$param02, <>>, <$param03, >>, + ulkotulento_ille: <<$param02, <>>, <$param03, >>, + vajanto_ittA: <<$param02, <>>, <$param03, >>, + seuranto_ine: <<$param02, <>>, <$param03, >>, + keinonto_in: <<$param02, <>>, <$param03, >>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>, <$param03, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule harteet ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + omanto_ten: <<$param03, >>, + osanto_itA: <<$param02, <>>>, + osanto_tA: <<$param04, <>>>, + olento_inA: <<$param02, <>>, <$param04, >>, + tulento_iksi: <<$param02, <>>, <$param04, >>, + sisäolento_issA: <<$param02, <>>, <$param04, >>, + sisäeronto_istA: <<$param02, <>>, <$param04, >>, + sisätulento_ihin: <<$param02, <>>>, + sisätulento_isiin: <<$param02, <>>>, + sisätulento_isin: <<$param04, >>, + ulko_olento_illA: <<$param02, <>>, <$param04, >>, + ulkoeronto_iltA: <<$param02, <>>, <$param04, >>, + ulkotulento_ille: <<$param02, <>>, <$param04, >>, + vajanto_ittA: <<$param02, <>>, <$param04, >>, + seuranto_ine: <<$param02, <>>, <$param04, >>, + keinonto_in: <<$param02, <>>, <$param04, >>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>, <$param04, >>, + johdin_tOn: <<$param01, <>>>]); +end; +subrule korkea ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, >, <$param03, >>, + omistusliite: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + omanto_n: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + osanto_A: <<$param01, <>>, <$param02, >>, + osanto_tA: <<$param01, >, <$param02, >, <$param03, >>, + olento_nA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + tulento_ksi: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + sisäolento_ssA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + sisäeronto_stA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + sisätulento_Vn: <<$param01, <>>, <$param02, >>, + sisätulento_hVn: <<$param01, >, <$param02, >>, + sisätulento_seen: <<$param03, >>, + sisätulento_sen: <<$param04, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + ulkotulento_lle: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + vajanto_ttA: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + nimentö_t: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + omanto_iT: <<$param05, <>>, <$param06, >>, + omanto_ien: <<$param07, >>, + omanto_ten: <<$param08, >>, + omanto_in: <<$param01, <>>, <$param02, >>, + osanto_itA: <<$param05, <>>, <$param09, >, <$param06, >>, + osanto_iA: <<$param07, >>, + olento_inA: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + tulento_iksi: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + sisäolento_issA: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + sisäeronto_istA: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + sisätulento_ihin: <<$param05, <>>, <$param09, >, <$param06, >>, + sisätulento_isiin: <<$param05, <>>, <$param09, >, <$param06, >>, + sisätulento_isin: <<$param07, >>, + ulko_olento_illA: <<$param05, <>>, <$param07, >, <$param06, >>, + ulkoeronto_iltA: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + ulkotulento_ille: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + vajanto_ittA: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + seuranto_ine: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + keinonto_in: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + kerronto_sti: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + voittoaste: <<$param01, <>>, <$param02, >, <$param03, >, <$param04, >>, + yliaste: <<$param05, <>>, <$param07, >, <$param06, >>, + johdin_inen: <<$param01, <>>, <$param02, >>, + johdin_ittain: <<$param05, <>>, <$param07, >, <$param09, >, <$param06, >>, + johdin_lAinen: <<$param01, <>>, <$param02, >>, + johdin_llinen: <<$param01, <>>, <$param02, >>, + johdin_mAinen: <<$param01, <>>, <$param02, >>, + johdin_tOn: <<$param01, <>>, <$param02, >>, + johdin_Us: <<$param05, <>>>, + tavuviiva: <<$param01, <>>, <$param02, >, <$param03, >>, + yhdyssana: <<$param01, <>>, <$param02, >, <$param03, >>]); +end; +subrule suurempi ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param02, >>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + johdin_UUs: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule vapaa ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>, <$param02, >>, + omanto_n: <<$param01, <>>, <$param02, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>, <$param02, >>, + tulento_ksi: <<$param01, <>>, <$param02, >>, + sisäolento_ssA: <<$param01, <>>, <$param02, >>, + sisäeronto_stA: <<$param01, <>>, <$param02, >>, + sisätulento_seen: <<$param01, <>>>, + sisätulento_sen: <<$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, >>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, >>, + ulkotulento_lle: <<$param01, <>>, <$param02, >>, + vajanto_ttA: <<$param01, <>>, <$param02, >>, + nimentö_t: <<$param01, <>>, <$param02, >>, + omanto_iT: <<$param03, <>>>, + omanto_ten: <<$param04, >>, + osanto_itA: <<$param03, <>>>, + osanto_iA: <<$param05, >>, + olento_inA: <<$param03, <>>, <$param05, >>, + tulento_iksi: <<$param03, <>>, <$param05, >>, + sisäolento_issA: <<$param03, <>>, <$param05, >>, + sisäeronto_istA: <<$param03, <>>, <$param05, >>, + sisätulento_ihin: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>>, + sisätulento_isin: <<$param05, >>, + ulko_olento_illA: <<$param03, <>>, <$param05, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param05, >>, + ulkotulento_ille: <<$param03, <>>, <$param05, >>, + vajanto_ittA: <<$param03, <>>, <$param05, >>, + seuranto_ine: <<$param03, <>>, <$param05, >>, + keinonto_in: <<$param03, <>>, <$param05, >>, + kerronto_sti: <<$param01, <>>, <$param02, >>, + voittoaste: <<$param01, <>>, <$param02, >>, + yliaste: <<$param03, <>>, <$param05, >>, + johdin_inen: <<$param03, <>>, <$param05, >>, + johdin_ittain: <<$param03, <>>, <$param05, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, >>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tienoo ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>, <$param02, >>, + omanto_n: <<$param01, <>>, <$param02, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>, <$param02, >>, + tulento_ksi: <<$param01, <>>, <$param02, >>, + sisäolento_ssA: <<$param01, <>>, <$param02, >>, + sisäeronto_stA: <<$param01, <>>, <$param02, >>, + sisätulento_seen: <<$param01, <>>>, + sisätulento_sen: <<$param02, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, >>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, >>, + ulkotulento_lle: <<$param01, <>>, <$param02, >>, + vajanto_ttA: <<$param01, <>>, <$param02, >>, + nimentö_t: <<$param01, <>>, <$param02, >>, + omanto_iT: <<$param03, <>>>, + omanto_ien: <<$param04, >>, + omanto_ten: <<$param05, >>, + osanto_itA: <<$param03, <>>>, + osanto_iA: <<$param04, >>, + olento_inA: <<$param03, <>>, <$param04, >>, + tulento_iksi: <<$param03, <>>, <$param04, >>, + sisäolento_issA: <<$param03, <>>, <$param04, >>, + sisäeronto_istA: <<$param03, <>>, <$param04, >>, + sisätulento_ihin: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>>, + sisätulento_isin: <<$param04, >>, + ulko_olento_illA: <<$param03, <>>, <$param04, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param04, >>, + ulkotulento_ille: <<$param03, <>>, <$param04, >>, + vajanto_ittA: <<$param03, <>>, <$param04, >>, + seuranto_ine: <<$param03, <>>, <$param04, >>, + keinonto_in: <<$param03, <>>, <$param04, >>, + kerronto_sti: <<$param01, <>>, <$param02, >>, + voittoaste: <<$param01, <>>, <$param02, >>, + yliaste: <<$param03, <>>, <$param04, >>, + johdin_inen: <<$param03, <>>, <$param04, >>, + johdin_ittain: <<$param03, <>>, <$param04, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>, <$param02, >>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule leikkuu ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_seen: <<$param01, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param03, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kamee ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + sisätulento_seen: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + sisätulento_isiin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pii ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule maa ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule puu ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tiu ($tietue, $param01): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule suo ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule yö ($tietue, $param01): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule bébé ($tietue, $param01): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_hVn: <<$param01, <>>>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_iT: <<$param01, <>>>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param01, <>>>, + sisäolento_issA: <<$param01, <>>>, + sisäeronto_istA: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param01, <>>>, + ulkoeronto_iltA: <<$param01, <>>>, + ulkotulento_ille: <<$param01, <>>>, + vajanto_ittA: <<$param01, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param01, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule parfait ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_hVn: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_iT: <<$param02, <>>, <$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param02, <>>>, + johdin_lAinen: <<$param02, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param02, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule meri ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule neiti ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>, <$param05, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param06, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param06, <>>>, + olento_inA: <<$param06, <>>>, + tulento_iksi: <<$param07, <>>>, + sisäolento_issA: <<$param07, <>>>, + sisäeronto_istA: <<$param07, <>>>, + sisätulento_iin: <<$param06, <>>>, + sisätulento_ihin: <<$param06, >>, + ulko_olento_illA: <<$param07, <>>>, + ulkoeronto_iltA: <<$param07, <>>>, + ulkotulento_ille: <<$param07, <>>>, + vajanto_ittA: <<$param07, <>>>, + seuranto_ine: <<$param06, <>>>, + keinonto_in: <<$param07, <>>>, + johdin_ittain: <<$param07, <>>>, + johdin_tOn: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tuohi ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lohi ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, >>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lahti ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param04, >>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_in: <<$param02, >>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param06, <>>>, + sisäolento_issA: <<$param06, <>>>, + sisäeronto_istA: <<$param06, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param06, <>>>, + ulkoeronto_iltA: <<$param06, <>>>, + ulkotulento_ille: <<$param06, <>>>, + vajanto_ittA: <<$param06, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param06, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param06, <>>>, + johdin_lAinen: <<$param02, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lumi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tuomi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pieni ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule nuori ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + olento_rA: <<$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule susi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_UUs: <<$param06, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tosi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param06, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule hirsi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule jälsi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kansi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param05, <>>>, + johdin_inen: <<$param06, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule lapsi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule hapsi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule veitsi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule peitsi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule suksi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, >>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule uksi ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, >>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kaksi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>, <$param04, >>, + osanto_tA: <<$param05, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, >>, + sisäolento_ssA: <<$param03, <>>, <$param04, >>, + sisäeronto_stA: <<$param03, <>>, <$param04, >>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>, <$param04, >>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, >>, + ulkotulento_lle: <<$param03, <>>, <$param04, >>, + vajanto_ttA: <<$param03, <>>, <$param04, >>, + nimentö_t: <<$param03, <>>, <$param04, >>, + omanto_ien: <<$param06, <>>>, + osanto_iA: <<$param06, <>>>, + olento_inA: <<$param06, <>>>, + tulento_iksi: <<$param06, <>>>, + sisäolento_issA: <<$param06, <>>>, + sisäeronto_istA: <<$param06, <>>>, + sisätulento_iin: <<$param06, <>>>, + sisätulento_ihin: <<$param06, >>, + ulko_olento_illA: <<$param06, <>>>, + ulkoeronto_iltA: <<$param06, <>>>, + ulkotulento_ille: <<$param06, <>>>, + vajanto_ittA: <<$param06, <>>>, + seuranto_ine: <<$param06, <>>>, + keinonto_in: <<$param06, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, >>, + johdin_ittain: <<$param06, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule sankari ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_ien: <<$param02, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_ten: <<$param02, <>>>, + omanto_in: <<$param03, >>, + osanto_jA: <<$param03, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param01, <>>>, + voittoaste: <<$param01, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param02, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule jumala ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>>, + omanto_n: <<$param01, <>>>, + osanto_A: <<$param01, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param01, <>>>, + sisäolento_ssA: <<$param01, <>>>, + sisäeronto_stA: <<$param01, <>>>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_hVn: <<$param01, >>, + ulko_olento_llA: <<$param01, <>>>, + ulkoeronto_ltA: <<$param01, <>>>, + ulkotulento_lle: <<$param01, <>>>, + vajanto_ttA: <<$param01, <>>>, + nimentö_t: <<$param01, <>>>, + omanto_ien: <<$param02, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_in: <<$param01, <>>>, + omanto_ten: <<$param02, <>>>, + osanto_iA: <<$param02, <>>>, + osanto_itA: <<$param03, >>, + olento_inA: <<$param02, <>>, <$param03, >>, + tulento_iksi: <<$param02, <>>, <$param03, >>, + sisäolento_issA: <<$param02, <>>, <$param03, >>, + sisäeronto_istA: <<$param02, <>>, <$param03, >>, + sisätulento_iin: <<$param02, <>>>, + sisätulento_ihin: <<$param02, >, <$param03, >>, + ulko_olento_illA: <<$param02, <>>, <$param03, >>, + ulkoeronto_iltA: <<$param02, <>>, <$param03, >>, + ulkotulento_ille: <<$param02, <>>, <$param03, >>, + vajanto_ittA: <<$param02, <>>, <$param03, >>, + seuranto_ine: <<$param02, <>>, <$param03, >>, + keinonto_in: <<$param02, <>>>, + johdin_inen: <<$param01, <>>>, + johdin_ittain: <<$param02, <>>, <$param03, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + johdin_UUs: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule sisar ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule ahven ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kymmenen ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule hapan ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, <>>>, + omanto_n: <<$param02, <>>, <$param03, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>>, + tulento_ksi: <<$param02, <>>, <$param03, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>>, + sisätulento_Vn: <<$param02, <>>, <$param03, <>>>, + sisätulento_hVn: <<$param02, >, <$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>>, + nimentö_t: <<$param02, <>>, <$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>, <$param03, <>>>, + voittoaste: <<$param02, <>>, <$param03, <>>>, + yliaste: <<$param04, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>>, + johdin_UUs: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule uistin ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule onneton ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, >>, + omistusliite: <<$param03, <>>>, + omanto_n: <<$param03, <>>>, + osanto_tA: <<$param01, <>>, <$param02, >>, + olento_nA: <<$param03, <>>, <$param01, >, <$param02, >>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param03, <>>>, + sisätulento_hVn: <<$param03, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param03, >>, + omanto_ten: <<$param01, <>>, <$param02, >>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param03, <>>>, + voittoaste: <<$param03, <>>>, + yliaste: <<$param04, <>>>, + johdin_UUs: <<$param04, <>>>, + tavuviiva: <<$param01, <>>, <$param02, >>, + yhdyssana: <<$param01, <>>, <$param02, >>]); +end; +subrule lämmin ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>, <$param02, >>, + osanto_A: <<$param02, >>, + olento_nA: <<$param02, <>>, <$param01, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_in: <<$param02, <>>>, + omanto_ten: <<$param04, >>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_UUs: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule pahin ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_tA: <<$param01, <>>, <$param02, >>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>, <$param01, >>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + johdin_UUs: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule vasen ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_tA: <<$param01, <>>, <$param02, >>, + osanto_A: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule muuan ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, >>, + omistusliite: <<$param03, <>>>, + omanto_n: <<$param03, <>>>, + osanto_A: <<$param03, <>>>, + osanto_tA: <<$param03, >>, + osanto_ttA: <<$param04, >, <$param05, >>, + olento_nA: <<$param03, <>>, <$param01, >, <$param02, >>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param03, <>>>, + sisätulento_hVn: <<$param03, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param06, <>>>, + omanto_in: <<$param03, <>>>, + osanto_iA: <<$param06, <>>>, + olento_inA: <<$param06, <>>>, + tulento_iksi: <<$param06, <>>>, + sisäolento_issA: <<$param06, <>>>, + sisäeronto_istA: <<$param06, <>>>, + sisätulento_iin: <<$param06, <>>>, + sisätulento_ihin: <<$param06, >>, + ulko_olento_illA: <<$param06, <>>>, + ulkoeronto_iltA: <<$param06, <>>>, + ulkotulento_ille: <<$param06, <>>>, + vajanto_ittA: <<$param06, <>>>, + seuranto_ine: <<$param06, <>>>, + keinonto_in: <<$param06, <>>>, + tavuviiva: <<$param01, <>>, <$param02, >>, + yhdyssana: <<$param01, <>>, <$param02, >>]); +end; +subrule seitsemän ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_A: <<$param02, <>>>, + osanto_tA: <<$param03, >, <$param02, >>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param04, <>>>, + omanto_in: <<$param02, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_iin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, >>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule hevonen ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param03, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param03, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param03, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param03, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_UUs: <<$param03, <>>>, + loppu: <<$param03, >>, + tavuviiva: <<$param03, <>>>, + yhdyssana: <<$param03, <>>>]); +end; +subrule ironinen ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param04, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>>, + osanto_tA: <<$param05, <>>, <$param06, <>>>, + olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param03, <>>, <$param04, <>>>, + sisätulento_hVn: <<$param03, >, <$param04, >>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>>, + omanto_ien: <<$param05, <>>, <$param06, <>>>, + omanto_ten: <<$param05, <>>, <$param06, <>>>, + osanto_iA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param06, <>>>, + sisätulento_iin: <<$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param05, >, <$param06, >>, + ulko_olento_illA: <<$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param05, <>>, <$param06, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param05, <>>, <$param06, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>>, + johdin_UUs: <<$param05, <>>, <$param06, <>>>, + loppu: <<$param05, <>>, <$param06, <>>>, + tavuviiva: <<$param05, <>>, <$param06, <>>>, + yhdyssana: <<$param05, <>>, <$param06, <>>>]); +end; +subrule punainen ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param04, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>>, + osanto_tA: <<$param05, <>>, <$param06, <>>>, + olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param03, <>>, <$param04, <>>>, + sisätulento_hVn: <<$param03, >, <$param04, >>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>>, + omanto_ien: <<$param05, <>>, <$param06, <>>>, + omanto_ten: <<$param05, <>>, <$param06, <>>>, + osanto_iA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param06, <>>>, + sisätulento_iin: <<$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param05, >, <$param06, >>, + ulko_olento_illA: <<$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param05, <>>, <$param06, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param05, <>>, <$param06, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>>, + johdin_UUs: <<$param05, <>>, <$param06, <>>>, + loppu: <<$param05, <>>, <$param06, <>>>, + tavuviiva: <<$param05, <>>, <$param06, <>>>, + yhdyssana: <<$param05, <>>, <$param06, <>>>]); +end; +subrule jaotus ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param04, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>>, + osanto_tA: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param03, <>>, <$param04, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>>, + sisätulento_Vn: <<$param03, <>>, <$param04, <>>>, + sisätulento_hVn: <<$param03, >, <$param04, >>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>>, + omanto_ien: <<$param05, <>>, <$param06, <>>>, + omanto_ten: <<$param01, <>>, <$param02, <>>>, + osanto_iA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param06, <>>>, + sisätulento_iin: <<$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param05, >, <$param06, >>, + ulko_olento_illA: <<$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule vastaus ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kalleus ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_tA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param04, >>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + johdin_inen: <<$param05, <>>>, + johdin_ittain: <<$param05, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param03, <>>, <$param06, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule iäkäs ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >, <$param01, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>, <$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param04, <>>>, + tulento_iksi: <<$param04, <>>>, + sisäolento_issA: <<$param04, <>>>, + sisäeronto_istA: <<$param04, <>>>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, <>>>, + ulko_olento_illA: <<$param04, <>>>, + ulkoeronto_iltA: <<$param04, <>>>, + ulkotulento_ille: <<$param04, <>>>, + vajanto_ittA: <<$param04, <>>>, + seuranto_ine: <<$param04, <>>>, + keinonto_in: <<$param04, <>>>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param04, <>>, <$param05, <>>>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, >>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$param06, <>>, <$param07, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule maineikas ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $param11, $param12): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + osanto_tA: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>, <$param01, <>>, <$param02, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + sisätulento_seen: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + omanto_iT: <<$param07, <>>, <$param08, <>>>, + omanto_ten: <<$param01, <>>, <$param02, <>>>, + osanto_itA: <<$param07, <>>, <$param08, <>>>, + olento_inA: <<$param07, <>>, <$param08, <>>>, + tulento_iksi: <<$param07, <>>, <$param08, <>>>, + sisäolento_issA: <<$param07, <>>, <$param08, <>>>, + sisäeronto_istA: <<$param07, <>>, <$param08, <>>>, + sisätulento_isiin: <<$param07, <>>, <$param08, <>>>, + sisätulento_ihin: <<$param07, <>>, <$param08, <>>>, + ulko_olento_illA: <<$param07, <>>, <$param08, <>>>, + ulkoeronto_iltA: <<$param07, <>>, <$param08, <>>>, + ulkotulento_ille: <<$param07, <>>, <$param08, <>>>, + vajanto_ittA: <<$param07, <>>, <$param08, <>>>, + seuranto_ine: <<$param07, <>>, <$param08, <>>>, + keinonto_in: <<$param07, <>>, <$param08, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + yliaste: <<$param07, <>>, <$param08, <>>>, + johdin_inen: <<$param07, <>>, <$param08, <>>>, + johdin_ittain: <<$param07, <>>, <$param08, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>, + johdin_Us: <<$param09, <>>, <$param10, <>>, <$param11, <>>, <$param12, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule paras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>, <$param03, >>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >, <$param05, >>, + omanto_ien: <<$param06, >>, + osanto_iA: <<$param06, >>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param04, <>>, <$param06, >>, + tulento_iksi: <<$param04, <>>, <$param06, >>, + sisäolento_issA: <<$param04, <>>, <$param06, >>, + sisäeronto_istA: <<$param04, <>>, <$param06, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_isin: <<$param04, >, <$param06, >>, + sisätulento_ihin: <<$param04, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param06, >>, + ulkotulento_ille: <<$param04, <>>, <$param06, >>, + vajanto_ittA: <<$param04, <>>, <$param06, >>, + seuranto_ine: <<$param04, <>>, <$param06, >>, + keinonto_in: <<$param04, <>>, <$param06, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param07, <>>, <$param02, <>>, <$param03, >>, + yliaste: <<$param04, <>>, <$param06, >>, + johdin_inen: <<$param04, <>>, <$param06, >>, + johdin_ittain: <<$param04, <>>, <$param06, >>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule utelias ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_seen: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_iT: <<$param03, <>>>, + omanto_ten: <<$param01, >>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule vieras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_Us): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>, <$param03, >>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >, <$param05, >>, + omanto_ien: <<$param06, >>, + osanto_iA: <<$param06, >>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param04, <>>, <$param06, >>, + tulento_iksi: <<$param04, <>>, <$param06, >>, + sisäolento_issA: <<$param04, <>>, <$param06, >>, + sisäeronto_istA: <<$param04, <>>, <$param06, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_isin: <<$param06, >>, + sisätulento_ihin: <<$param04, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param06, >>, + ulkotulento_ille: <<$param04, <>>, <$param06, >>, + vajanto_ittA: <<$param04, <>>, <$param06, >>, + seuranto_ine: <<$param04, <>>, <$param06, >>, + keinonto_in: <<$param04, <>>, <$param06, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param04, <>>, <$param06, >>, + johdin_inen: <<$param04, <>>, <$param06, >>, + johdin_ittain: <<$param04, <>>, <$param06, >>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$johdin_Us, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kirves ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >>, + omanto_ien: <<$param05, >>, + osanto_iA: <<$param05, >>, + osanto_itA: <<$param04, <>>>, + olento_inA: <<$param04, <>>, <$param05, >>, + tulento_iksi: <<$param04, <>>, <$param05, >>, + sisäolento_issA: <<$param04, <>>, <$param05, >>, + sisäeronto_istA: <<$param04, <>>, <$param05, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_isin: <<$param04, >, <$param05, >>, + sisätulento_ihin: <<$param04, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param05, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param05, >>, + ulkotulento_ille: <<$param04, <>>, <$param05, >>, + vajanto_ittA: <<$param04, <>>, <$param05, >>, + seuranto_ine: <<$param04, <>>, <$param05, >>, + keinonto_in: <<$param04, <>>, <$param05, >>, + kerronto_sti: <<$param04, <>>, <$param06, >>, + voittoaste: <<$param04, <>>, <$param06, >>, + yliaste: <<$param07, <>>, <$param08, >>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kauris ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >>, + omanto_ien: <<$param05, >>, + osanto_itA: <<$param04, <>>>, + osanto_iA: <<$param05, >>, + olento_inA: <<$param04, <>>, <$param05, >>, + tulento_iksi: <<$param04, <>>, <$param05, >>, + sisäolento_issA: <<$param04, <>>, <$param05, >>, + sisäeronto_istA: <<$param04, <>>, <$param05, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_isin: <<$param05, >>, + sisätulento_ihin: <<$param04, <>>, <$param05, >>, + ulko_olento_illA: <<$param04, <>>, <$param05, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param05, >>, + ulkotulento_ille: <<$param04, <>>, <$param05, >>, + vajanto_ittA: <<$param04, <>>, <$param05, >>, + seuranto_ine: <<$param04, <>>, <$param05, >>, + keinonto_in: <<$param04, <>>, <$param05, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param06, <>>, <$param07, >>, + johdin_inen: <<$param04, <>>>, + johdin_ittain: <<$param04, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + johdin_Us: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kaunis ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $johdin_Us): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param04, <>>>, + olento_nA: <<$param02, <>>, <$param01, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param02, >, <$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param05, <>>, <$param06, >>, + omanto_ien: <<$param07, >, <$param08, >>, + omanto_ten: <<$param01, >, <$param09, >>, + osanto_itA: <<$param05, <>>, <$param06, >>, + osanto_iA: <<$param07, >, <$param08, >>, + olento_inA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + tulento_iksi: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + sisäolento_issA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + sisäeronto_istA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + sisätulento_ihin: <<$param05, <>>, <$param06, >>, + sisätulento_isiin: <<$param05, <>>, <$param06, >>, + sisätulento_isin: <<$param07, >, <$param08, >>, + ulko_olento_illA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + ulkotulento_ille: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + vajanto_ittA: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + seuranto_ine: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + keinonto_in: <<$param05, <>>, <$param06, >, <$param07, >, <$param08, >>, + kerronto_sti: <<$param02, <>>, <$param03, >, <$param10, >>, + voittoaste: <<$param02, <>>, <$param03, >, <$param10, >>, + yliaste: <<$param06, <>>, <$param08, >>, + johdin_Us: <<$johdin_Us, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule koiras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, <>>, <$param04, >>, + omanto_n: <<$param02, <>>, <$param03, <>>, <$param04, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>, <$param04, >, <$param01, >>, + tulento_ksi: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param04, >>, + sisätulento_Vn: <<$param03, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>, <$param04, >>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + nimentö_t: <<$param02, <>>, <$param04, >>, + omanto_ien: <<$param05, <>>, <$param06, >>, + omanto_iT: <<$param07, <>>>, + omanto_ten: <<$param01, <>>, <$param08, >>, + osanto_iA: <<$param05, <>>, <$param06, >>, + osanto_itA: <<$param07, <>>>, + olento_inA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + tulento_iksi: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisäolento_issA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisäeronto_istA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisätulento_ihin: <<$param07, <>>, <$param05, >>, + sisätulento_isiin: <<$param07, <>>>, + sisätulento_isin: <<$param06, >>, + sisätulento_iin: <<$param05, <>>>, + ulko_olento_illA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + ulkotulento_ille: <<$param07, <>>, <$param05, <>>, <$param06, >>, + vajanto_ittA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + seuranto_ine: <<$param07, <>>, <$param05, <>>, <$param06, >>, + keinonto_in: <<$param07, <>>, <$param05, <>>, <$param06, >>, + johdin_inen: <<$param05, <>>, <$param06, >>, + johdin_ittain: <<$param07, <>>, <$param05, <>>, <$param06, >>, + johdin_lAinen: <<$param01, <>>, <$param03, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>, <$param04, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule uros ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, <>>, <$param04, >>, + omanto_n: <<$param02, <>>, <$param03, <>>, <$param04, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>, <$param04, >, <$param01, >>, + tulento_ksi: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param04, >>, + sisätulento_Vn: <<$param03, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>, <$param04, >>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>, <$param04, >>, + nimentö_t: <<$param03, <>>, <$param02, <>>, <$param04, >>, + omanto_ien: <<$param05, <>>, <$param06, >>, + omanto_iT: <<$param07, <>>>, + omanto_ten: <<$param01, <>>, <$param08, >>, + osanto_iA: <<$param05, <>>, <$param06, >>, + osanto_itA: <<$param07, <>>>, + olento_inA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + tulento_iksi: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisäolento_issA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisäeronto_istA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + sisätulento_ihin: <<$param07, <>>>, + sisätulento_isiin: <<$param07, <>>>, + sisätulento_isin: <<$param06, >>, + sisätulento_iin: <<$param05, <>>>, + ulko_olento_illA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + ulkotulento_ille: <<$param07, <>>, <$param05, <>>, <$param06, >>, + vajanto_ittA: <<$param07, <>>, <$param05, <>>, <$param06, >>, + seuranto_ine: <<$param07, <>>, <$param05, <>>, <$param06, >>, + keinonto_in: <<$param07, <>>, <$param05, <>>, <$param06, >>, + johdin_inen: <<$param05, <>>, <$param06, >>, + johdin_ittain: <<$param07, <>>, <$param05, <>>, <$param06, >>, + johdin_lAinen: <<$param01, <>>, <$param03, <>>>, + johdin_llinen: <<$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>, <$param04, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule mies ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param01, >>, + olento_sA: <<$param01, >>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_ien: <<$param03, <>>>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_iin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, >>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule airut ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param02, <>>>, + osanto_ttA: <<$param03, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + vajanto_ttA: <<$param02, <>>>, + nimentö_t: <<$param02, <>>>, + omanto_iT: <<$param03, <>>, <$param02, >>, + omanto_ten: <<$param01, >, <$param04, >>, + omanto_ien: <<$param05, >>, + osanto_iA: <<$param05, >>, + osanto_itA: <<$param03, <>>, <$param02, >>, + olento_inA: <<$param03, <>>, <$param02, >, <$param05, >>, + tulento_iksi: <<$param03, <>>, <$param02, >, <$param05, >>, + sisäolento_issA: <<$param03, <>>, <$param02, >, <$param05, >>, + sisäeronto_istA: <<$param03, <>>, <$param02, >, <$param05, >>, + sisätulento_ihin: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>, <$param02, >>, + sisätulento_eseen: <<$param02, >>, + sisätulento_isin: <<$param05, >>, + ulko_olento_illA: <<$param03, <>>, <$param02, >, <$param05, >>, + ulkoeronto_iltA: <<$param03, <>>, <$param02, >, <$param05, >>, + ulkotulento_ille: <<$param03, <>>, <$param02, >, <$param05, >>, + vajanto_ittA: <<$param03, <>>, <$param02, >, <$param05, >>, + seuranto_ine: <<$param03, <>>, <$param05, >>, + keinonto_in: <<$param03, <>>, <$param05, >>, + kerronto_sti: <<$param02, <>>>, + voittoaste: <<$param02, <>>>, + yliaste: <<$param03, <>>>, + johdin_inen: <<$param03, <>>, <$param02, >, <$param05, <>>>, + johdin_ittain: <<$param03, <>>, <$param05, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param06, >>, + johdin_Us: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule neitsyt ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >, <$param04, >>, + omanto_n: <<$param02, <>>, <$param03, >, <$param04, >>, + osanto_ttA: <<$param05, <>>>, + olento_nA: <<$param02, <>>, <$param03, >, <$param04, >>, + tulento_ksi: <<$param02, <>>, <$param03, >, <$param04, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >, <$param04, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >, <$param04, >>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param03, >, <$param02, >>, + sisätulento_seen: <<$param04, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >, <$param04, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >, <$param04, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >, <$param04, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >, <$param04, >>, + nimentö_t: <<$param02, <>>, <$param03, >, <$param04, >>, + omanto_iT: <<$param05, <>>, <$param02, >, <$param06, >>, + omanto_ten: <<$param01, >, <$param07, >, <$param08, >>, + omanto_ien: <<$param09, >, <$param10, >>, + osanto_iA: <<$param09, >, <$param10, >>, + osanto_itA: <<$param05, <>>, <$param02, >, <$param06, >>, + olento_inA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + tulento_iksi: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + sisäolento_issA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + sisäeronto_istA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + sisätulento_ihin: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + sisätulento_isiin: <<$param05, <>>, <$param02, >>, + sisätulento_isin: <<$param09, >, <$param10, >>, + ulko_olento_illA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + ulkoeronto_iltA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + ulkotulento_ille: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + vajanto_ittA: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + seuranto_ine: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + keinonto_in: <<$param05, <>>, <$param02, >, <$param09, >, <$param06, >, <$param10, >>, + johdin_inen: <<$param05, <>>, <$param09, >, <$param06, >, <$param10, >>, + johdin_ittain: <<$param05, <>>, <$param09, >, <$param06, >, <$param10, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, >, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >, <$param04, <>>>, + johdin_Us: <<$param05, <>>, <$param06, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kevät ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >, <$param05, >>, + omanto_ien: <<$param06, >>, + osanto_itA: <<$param04, <>>>, + osanto_iA: <<$param06, >>, + olento_inA: <<$param04, <>>, <$param06, >>, + tulento_iksi: <<$param04, <>>, <$param06, >>, + sisäolento_issA: <<$param04, <>>, <$param06, >>, + sisäeronto_istA: <<$param04, <>>, <$param06, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, <>>>, + sisätulento_isin: <<$param06, >>, + ulko_olento_illA: <<$param04, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param06, >>, + ulkotulento_ille: <<$param04, <>>, <$param06, >>, + vajanto_ittA: <<$param04, <>>, <$param06, >>, + seuranto_ine: <<$param04, <>>, <$param06, >>, + keinonto_in: <<$param04, <>>, <$param06, >>, + johdin_inen: <<$param04, <>>, <$param06, >>, + johdin_ittain: <<$param04, <>>, <$param06, >>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kahdeksas ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>, <$param05, >>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param06, <>>>, + osanto_iA: <<$param06, <>>>, + olento_inA: <<$param06, <>>>, + tulento_iksi: <<$param06, <>>>, + sisäolento_issA: <<$param06, <>>>, + sisäeronto_istA: <<$param06, <>>>, + sisätulento_iin: <<$param06, <>>>, + sisätulento_ihin: <<$param06, >>, + ulko_olento_illA: <<$param06, <>>>, + ulkoeronto_iltA: <<$param06, <>>>, + ulkotulento_ille: <<$param06, <>>>, + vajanto_ittA: <<$param06, <>>>, + seuranto_ine: <<$param06, <>>>, + keinonto_in: <<$param06, <>>>, + kerronto_sti: <<$param03, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule tuhat ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>>, + omanto_n: <<$param03, <>>>, + osanto_ttA: <<$param04, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param03, <>>>, + sisäolento_ssA: <<$param03, <>>>, + sisäeronto_stA: <<$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, >>, + ulko_olento_llA: <<$param03, <>>>, + ulkoeronto_ltA: <<$param03, <>>>, + ulkotulento_lle: <<$param03, <>>>, + vajanto_ttA: <<$param03, <>>>, + nimentö_t: <<$param03, <>>>, + omanto_ien: <<$param05, <>>>, + omanto_ten: <<$param06, <>>>, + osanto_iA: <<$param05, <>>>, + olento_inA: <<$param05, <>>>, + tulento_iksi: <<$param05, <>>>, + sisäolento_issA: <<$param05, <>>>, + sisäeronto_istA: <<$param05, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >>, + ulko_olento_illA: <<$param05, <>>>, + ulkoeronto_iltA: <<$param05, <>>>, + ulkotulento_ille: <<$param05, <>>>, + vajanto_ittA: <<$param05, <>>>, + seuranto_ine: <<$param05, <>>>, + keinonto_in: <<$param05, <>>>, + kerronto_sti: <<$param03, <>>>, + johdin_inen: <<$param07, <>>, <$param05, <>>>, + johdin_ittain: <<$param05, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kuollut ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_hVn: <<$param04, >>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param01, >, <$param05, >>, + omanto_ien: <<$param06, >>, + osanto_itA: <<$param04, <>>>, + osanto_iA: <<$param06, >>, + olento_inA: <<$param04, <>>, <$param06, >>, + tulento_iksi: <<$param04, <>>, <$param06, >>, + sisäolento_issA: <<$param04, <>>, <$param06, >>, + sisäeronto_istA: <<$param04, <>>, <$param06, >>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, <>>>, + sisätulento_isin: <<$param06, >>, + ulko_olento_illA: <<$param04, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param06, >>, + ulkotulento_ille: <<$param04, <>>, <$param06, >>, + vajanto_ittA: <<$param04, <>>, <$param06, >>, + seuranto_ine: <<$param04, <>>, <$param06, >>, + keinonto_in: <<$param04, <>>, <$param06, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param04, <>>, <$param06, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule alkeet ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö_t: <<$param01, <>>, <$param02, >>, + omanto_iT: <<$param03, <>>>, + osanto_itA: <<$param03, <>>>, + olento_inA: <<$param03, <>>>, + tulento_iksi: <<$param03, <>>>, + sisäolento_issA: <<$param03, <>>>, + sisäeronto_istA: <<$param03, <>>>, + sisätulento_isiin: <<$param03, <>>>, + sisätulento_ihin: <<$param03, <>>>, + ulko_olento_illA: <<$param03, <>>>, + ulkoeronto_iltA: <<$param03, <>>>, + ulkotulento_ille: <<$param03, <>>>, + vajanto_ittA: <<$param03, <>>>, + seuranto_ine: <<$param03, <>>>, + keinonto_in: <<$param03, <>>>, + johdin_inen: <<$param03, <>>>, + johdin_ittain: <<$param03, <>>>, + johdin_llinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + loppu: <<$param04, >>, + tavuviiva: <<$param04, <>>>, + yhdyssana: <<$param04, <>>>]); +end; +subrule hame ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_ttA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param02, >, <$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param04, <>>>, + omanto_ten: <<$param05, >, <$param06, >>, + omanto_ien: <<$param07, >>, + osanto_itA: <<$param04, <>>, <$param07, >>, + osanto_iA: <<$param07, >>, + olento_inA: <<$param04, <>>, <$param07, >>, + tulento_iksi: <<$param04, <>>, <$param07, >>, + sisäolento_issA: <<$param04, <>>, <$param07, >>, + sisäeronto_istA: <<$param04, <>>, <$param07, >>, + sisätulento_isiin: <<$param04, <>>, <$param07, >>, + sisätulento_ihin: <<$param04, <>>>, + sisätulento_isin: <<$param07, >>, + ulko_olento_illA: <<$param04, <>>, <$param07, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param07, >>, + ulkotulento_ille: <<$param04, <>>, <$param07, >>, + vajanto_ittA: <<$param04, <>>, <$param07, >>, + seuranto_ine: <<$param04, <>>, <$param07, >>, + keinonto_in: <<$param04, <>>, <$param07, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param04, <>>, <$param07, >>, + johdin_inen: <<$param04, <>>, <$param07, >>, + johdin_ittain: <<$param04, <>>, <$param07, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, >>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$param04, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule osoite ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param03, <>>, <$param04, <>>>, + omanto_n: <<$param03, <>>, <$param04, <>>>, + osanto_ttA: <<$param01, <>>, <$param02, <>>>, + olento_nA: <<$param03, <>>, <$param04, <>>>, + tulento_ksi: <<$param03, <>>, <$param04, <>>>, + sisäolento_ssA: <<$param03, <>>, <$param04, <>>>, + sisäeronto_stA: <<$param03, <>>, <$param04, <>>>, + sisätulento_seen: <<$param03, <>>, <$param04, <>>>, + ulko_olento_llA: <<$param03, <>>, <$param04, <>>>, + ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>, + ulkotulento_lle: <<$param03, <>>, <$param04, <>>>, + vajanto_ttA: <<$param03, <>>, <$param04, <>>>, + nimentö_t: <<$param03, <>>, <$param04, <>>>, + omanto_iT: <<$param05, <>>, <$param06, <>>>, + osanto_itA: <<$param05, <>>, <$param06, <>>>, + olento_inA: <<$param05, <>>, <$param06, <>>>, + tulento_iksi: <<$param05, <>>, <$param06, <>>>, + sisäolento_issA: <<$param05, <>>, <$param06, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param06, <>>>, + sisätulento_isiin: <<$param05, <>>, <$param06, <>>>, + sisätulento_ihin: <<$param05, <>>, <$param06, <>>>, + ulko_olento_illA: <<$param05, <>>, <$param06, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param06, <>>>, + vajanto_ittA: <<$param05, <>>, <$param06, <>>>, + seuranto_ine: <<$param05, <>>, <$param06, <>>>, + keinonto_in: <<$param05, <>>, <$param06, <>>>, + kerronto_sti: <<$param03, <>>, <$param04, <>>>, + voittoaste: <<$param03, <>>, <$param04, <>>>, + yliaste: <<$param05, <>>, <$param06, <>>>, + johdin_inen: <<$param05, <>>, <$param06, <>>>, + johdin_ittain: <<$param05, <>>, <$param06, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param03, <>>, <$param04, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param03, <>>, <$param04, <>>>, + johdin_Us: <<$param05, <>>, <$param06, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule viive ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, <>>>, + omanto_n: <<$param02, <>>, <$param03, <>>>, + osanto_ttA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>>, + tulento_ksi: <<$param02, <>>, <$param03, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>>, + sisätulento_seen: <<$param02, <>>, <$param03, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>>, + nimentö_t: <<$param02, <>>, <$param03, <>>>, + omanto_iT: <<$param04, <>>, <$param01, <>>>, + osanto_itA: <<$param04, <>>, <$param01, <>>>, + olento_inA: <<$param04, <>>, <$param01, <>>>, + tulento_iksi: <<$param04, <>>, <$param01, <>>>, + sisäolento_issA: <<$param04, <>>, <$param01, <>>>, + sisäeronto_istA: <<$param04, <>>, <$param01, <>>>, + sisätulento_isiin: <<$param04, <>>>, + sisätulento_ihin: <<$param04, <>>, <$param01, <>>>, + ulko_olento_illA: <<$param04, <>>, <$param01, <>>>, + ulkoeronto_iltA: <<$param04, <>>, <$param01, <>>>, + ulkotulento_ille: <<$param04, <>>, <$param01, <>>>, + vajanto_ittA: <<$param04, <>>, <$param01, <>>>, + seuranto_ine: <<$param04, <>>, <$param01, <>>>, + keinonto_in: <<$param04, <>>, <$param01, <>>>, + kerronto_sti: <<$param02, <>>, <$param03, <>>>, + voittoaste: <<$param02, <>>, <$param03, <>>>, + yliaste: <<$param04, <>>, <$param01, <>>>, + johdin_inen: <<$param04, <>>, <$param01, <>>>, + johdin_ittain: <<$param04, <>>, <$param01, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>>, + johdin_Us: <<$param04, <>>, <$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule terve ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_ttA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param04, >, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param01, <>>>, + omanto_ten: <<$param05, >, <$param06, >>, + omanto_ien: <<$param07, >>, + osanto_iA: <<$param07, >>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>, <$param07, >>, + tulento_iksi: <<$param01, <>>, <$param07, >>, + sisäolento_issA: <<$param01, <>>, <$param07, >>, + sisäeronto_istA: <<$param01, <>>, <$param07, >>, + sisätulento_isiin: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + sisätulento_isin: <<$param07, >>, + ulko_olento_illA: <<$param01, <>>, <$param07, >>, + ulkoeronto_iltA: <<$param01, <>>, <$param07, >>, + ulkotulento_ille: <<$param01, <>>, <$param07, >>, + vajanto_ittA: <<$param01, <>>, <$param07, >>, + seuranto_ine: <<$param01, <>>, <$param07, >>, + keinonto_in: <<$param01, <>>, <$param07, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param01, <>>, <$param07, >>, + johdin_inen: <<$param01, <>>, <$param07, >>, + johdin_ittain: <<$param01, <>>, <$param07, >>, + johdin_llinen: <<$param02, <>>, <$param03, >>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule ori ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, >>, + omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, >>, + osanto_A: <<$param01, <>>>, + osanto_ttA: <<$param01, <>>>, + olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + sisätulento_Vn: <<$param01, <>>>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, >>, + nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, >>, + omanto_en: <<$param01, <>>>, + omanto_iT: <<$param01, <>>>, + omanto_in: <<$param04, >>, + omanto_ten: <<$param05, >, <$param06, >>, + omanto_ien: <<$param07, >>, + osanto_iA: <<$param07, >>, + osanto_itA: <<$param01, <>>>, + osanto_jA: <<$param04, <>>>, + olento_inA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + tulento_iksi: <<$param04, <>>, <$param01, <>>, <$param07, >>, + sisäolento_issA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + sisäeronto_istA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + sisätulento_ihin: <<$param04, <>>>, + sisätulento_isiin: <<$param01, <>>>, + sisätulento_isin: <<$param07, >>, + ulko_olento_illA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + ulkotulento_ille: <<$param04, <>>, <$param01, <>>, <$param07, >>, + vajanto_ittA: <<$param04, <>>, <$param01, <>>, <$param07, >>, + seuranto_ine: <<$param04, <>>, <$param01, <>>, <$param07, >>, + keinonto_in: <<$param04, <>>, <$param01, <>>, <$param07, >>, + johdin_inen: <<$param01, <>>, <$param01, <>>, <$param07, <>>>, + johdin_ittain: <<$param04, <>>, <$param01, <>>, <$param07, <>>>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param01, <>>, <$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule kiiru ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_ttA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_seen: <<$param02, <>>>, + sisätulento_sen: <<$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_iT: <<$param01, <>>>, + omanto_ten: <<$param04, >, <$param05, >>, + omanto_ien: <<$param06, >>, + osanto_iA: <<$param06, >>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>, <$param06, >>, + tulento_iksi: <<$param01, <>>, <$param06, >>, + sisäolento_issA: <<$param01, <>>, <$param06, >>, + sisäeronto_istA: <<$param01, <>>, <$param06, >>, + sisätulento_isiin: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + sisätulento_isin: <<$param06, >>, + ulko_olento_illA: <<$param01, <>>, <$param06, >>, + ulkoeronto_iltA: <<$param01, <>>, <$param06, >>, + ulkotulento_ille: <<$param01, <>>, <$param06, >>, + vajanto_ittA: <<$param01, <>>, <$param06, >>, + seuranto_ine: <<$param01, <>>, <$param06, >>, + keinonto_in: <<$param01, <>>, <$param06, >>, + kerronto_sti: <<$param02, <>>, <$param03, >>, + voittoaste: <<$param02, <>>, <$param03, >>, + yliaste: <<$param01, <>>, <$param06, >>, + johdin_inen: <<$param01, <>>, <$param06, >>, + johdin_ittain: <<$param01, <>>, <$param06, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, >>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + johdin_Us: <<$param07, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule askel ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>, <$param02, <>>>, + omistusliite: <<$param02, <>>, <$param03, <>>>, + omanto_n: <<$param02, <>>, <$param03, <>>>, + osanto_tA: <<$param01, <>>>, + osanto_ttA: <<$param02, <>>>, + olento_nA: <<$param02, <>>, <$param03, <>>>, + tulento_ksi: <<$param02, <>>, <$param03, <>>>, + sisäolento_ssA: <<$param02, <>>, <$param03, <>>>, + sisäeronto_stA: <<$param02, <>>, <$param03, <>>>, + sisätulento_Vn: <<$param02, <>>>, + sisätulento_hVn: <<$param02, <>>>, + sisätulento_seen: <<$param03, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + vajanto_ttA: <<$param02, <>>, <$param03, <>>>, + nimentö_t: <<$param02, <>>, <$param03, <>>>, + omanto_ten: <<$param01, <>>, <$param04, >>, + omanto_ien: <<$param05, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_iA: <<$param05, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param05, <>>, <$param02, <>>>, + tulento_iksi: <<$param05, <>>, <$param02, <>>>, + sisäolento_issA: <<$param05, <>>, <$param02, <>>>, + sisäeronto_istA: <<$param05, <>>, <$param02, <>>>, + sisätulento_iin: <<$param05, <>>>, + sisätulento_ihin: <<$param05, >, <$param02, <>>>, + sisätulento_isiin: <<$param02, <>>>, + ulko_olento_illA: <<$param05, <>>, <$param02, <>>>, + ulkoeronto_iltA: <<$param05, <>>, <$param02, <>>>, + ulkotulento_ille: <<$param05, <>>, <$param02, <>>>, + vajanto_ittA: <<$param05, <>>, <$param02, <>>>, + seuranto_ine: <<$param05, <>>, <$param02, <>>>, + keinonto_in: <<$param05, <>>, <$param02, <>>>, + johdin_inen: <<$param02, <>>, <$param02, <>>>, + johdin_ittain: <<$param05, <>>, <$param02, <>>>, + johdin_lAinen: <<$param01, <>>, <$param02, <>>>, + johdin_llinen: <<$param02, <>>, <$param03, <>>>, + johdin_mAinen: <<$param01, <>>, <$param02, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, <>>>, + tavuviiva: <<$param01, <>>, <$param02, <>>>, + yhdyssana: <<$param01, <>>, <$param02, <>>>]); +end; +subrule hän ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omanto_n: <<$param02, <>>>, + kohdanto_t: <<$param02, <>>>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + vajanto_ttA: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule joka ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omanto_nkA: <<$param02, <>>>, + osanto_tA: <<$param02, <>>>, + olento_nA: <<$param02, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_hVn: <<$param02, <>>>, + sisätulento_nne: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + nimentö_tkA: <<$param02, <>>>, + omanto_iT: <<$param02, <>>>, + osanto_itA: <<$param02, <>>>, + olento_inA: <<$param02, <>>>, + tulento_iksi: <<$param02, <>>>, + sisäolento_issA: <<$param02, <>>>, + sisäeronto_istA: <<$param02, <>>>, + sisätulento_ihin: <<$param02, <>>>, + ulko_olento_illA: <<$param02, <>>>, + ulkoeronto_iltA: <<$param02, <>>>, + ulkotulento_ille: <<$param02, <>>>, + vajanto_ittA: <<$param02, <>>>, + seuranto_ine: <<$param02, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule keväämmällä ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>]); +end; +subrule loitolla ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + ulko_olento_llA: <<$param02, <>>, <$param03, <>>>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>, + ulkotulento_lle: <<$param02, <>>, <$param03, <>>>, + tulento_s: <<$param02, <>>, <$param03, <>>>]); +end; +subrule me ($tietue, $param01): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omanto_idän: <<$param01, <>>>, + kohdanto_idät: <<$param01, <>>>, + osanto_itA: <<$param01, <>>>, + olento_inA: <<$param01, <>>>, + tulento_iksi: <<$param01, <>>>, + sisäolento_issA: <<$param01, <>>>, + sisäeronto_istA: <<$param01, <>>>, + sisätulento_ihin: <<$param01, <>>>, + ulko_olento_illA: <<$param01, <>>>, + ulkoeronto_iltA: <<$param01, <>>>, + ulkotulento_ille: <<$param01, <>>>, + vajanto_ittA: <<$param01, <>>>, + seuranto_ine: <<$param01, <>>>, + keinonto_in: <<$param01, <>>>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule sivumpana ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [osanto_A: <<$param01, <>>>, + olento_nA: <<$param01, <>>>, + tulento_ksi: <<$param02, <>>>, + sisäolento_ssA: <<$param02, <>>>, + sisäeronto_stA: <<$param02, <>>>, + sisätulento_Vn: <<$param01, <>>>, + ulko_olento_llA: <<$param02, <>>>, + ulkoeronto_ltA: <<$param02, <>>>, + ulkotulento_lle: <<$param02, <>>>, + tulento_s: <<$param02, <>>>]); +end; +subrule sydän ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimentö: <<$param01, <>>>, + omistusliite: <<$param02, <>>, <$param03, >>, + omanto_n: <<$param02, <>>, <$param03, >>, + osanto_tA: <<$param01, <>>>, + olento_nA: <<$param02, <>>, <$param03, >>, + tulento_ksi: <<$param02, <>>, <$param03, >>, + sisäolento_ssA: <<$param02, <>>, <$param03, >>, + sisäeronto_stA: <<$param02, <>>, <$param03, >>, + sisätulento_Vn: <<$param02, <>>, <$param03, >>, + sisätulento_hVn: <<$param02, >, <$param03, >>, + ulko_olento_llA: <<$param02, <>>, <$param03, >>, + ulkoeronto_ltA: <<$param02, <>>, <$param03, >>, + ulkotulento_lle: <<$param02, <>>, <$param03, >>, + vajanto_ttA: <<$param02, <>>, <$param03, >>, + nimentö_t: <<$param02, <>>, <$param03, >>, + omanto_ien: <<$param04, <>>, <$param05, >>, + omanto_ten: <<$param01, <>>>, + osanto_iA: <<$param04, <>>, <$param05, >>, + olento_inA: <<$param04, <>>, <$param05, >>, + tulento_iksi: <<$param04, <>>, <$param05, >>, + sisäolento_issA: <<$param04, <>>, <$param05, >>, + sisäeronto_istA: <<$param04, <>>, <$param05, >>, + sisätulento_iin: <<$param04, <>>, <$param05, >>, + sisätulento_ihin: <<$param04, >, <$param05, >>, + ulko_olento_illA: <<$param04, <>>, <$param05, >>, + ulkoeronto_iltA: <<$param04, <>>, <$param05, >>, + ulkotulento_ille: <<$param04, <>>, <$param05, >>, + vajanto_ittA: <<$param04, <>>, <$param05, >>, + seuranto_ine: <<$param04, <>>, <$param05, >>, + keinonto_in: <<$param04, <>>, <$param05, >>, + johdin_inen: <<$param04, <>>, <$param05, >>, + johdin_ittain: <<$param04, <>>, <$param05, >>, + johdin_lAinen: <<$param01, <>>>, + johdin_llinen: <<$param02, <>>>, + johdin_mAinen: <<$param01, <>>>, + johdin_tOn: <<$param02, <>>, <$param03, >>, + tavuviiva: <<$param01, <>>>, + yhdyssana: <<$param01, <>>>]); +end; +subrule ammottua ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>, <$param02, >>, + nimitapa_2: <<$param01, <>>, <$param02, >>, + nimitapa_2_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_3: <<$param01, <>>, <$param02, >>, + nimitapa_3_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_4: <<$param01, <>>, <$param02, >>, + nimitapa_5: <<$param01, <>>, <$param02, >>, + laatutapa_1_vA: <<$param01, <>>, <$param02, >>, + laatutapa_1_ttA: <<$param03, <>>, <$param04, >>, + laatutapa_2_nUt: <<$param01, <>>, <$param02, >>, + laatutapa_2_ttU: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y1: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y2: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kertoman_tekijäpääte_m1: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_m2: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, >>, + ehtotapa: <<$param01, <>>, <$param02, >>, + ehtotapa_ttA: <<$param03, <>>, <$param04, >>, + mahtotapa_ne: <<$param01, <>>, <$param02, >>, + mahtotapa_ttA: <<$param03, <>>, <$param04, >>, + käskytapa_y2: <<$param03, <>>, <$param04, >>, + käskytapa_kielto: <<$param01, <>>, <$param02, >>, + käskytapa_ttA: <<$param03, <>>, <$param04, >>, + johdin_jA_kantaja: <<$param01, <>>, <$param02, >>, + johdin_vA: <<$param01, <>>, <$param02, >>, + johdin_vAinen: <<$param01, <>>, <$param02, >>, + johdin_mA: <<$param01, <>>, <$param02, >>, + käskytapa: <<$param01, <>>, <$param02, >>, + johdin_ttAvA: <<$param03, <>>, <$param04, >>, + johdin_ttAvAinen: <<$param03, <>>, <$param04, >>, + tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, >>, + johdin_nUt: <<$param01, <>>, <$param02, >>, + johdin_ttU: <<$param03, <>>, <$param04, >>, + mahtotapa_ne_kielto: <<$param01, <>>, <$param02, >>]); +end; +subrule kirjoittua ($tietue, $param01, $param02, $param03, $param04): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>, <$param02, >>, + nimitapa_2: <<$param01, <>>, <$param02, >>, + nimitapa_2_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_3: <<$param01, <>>, <$param02, >>, + nimitapa_3_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_4: <<$param01, <>>, <$param02, >>, + nimitapa_5: <<$param01, <>>, <$param02, >>, + laatutapa_1_vA: <<$param01, <>>, <$param02, >>, + laatutapa_1_ttA: <<$param03, <>>, <$param04, >>, + laatutapa_2_nUt: <<$param01, <>>, <$param02, >>, + laatutapa_2_ttU: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y1: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y2: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kertoman_tekijäpääte_m1: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_m2: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, >>, + ehtotapa: <<$param01, <>>, <$param02, >>, + ehtotapa_ttA: <<$param03, <>>, <$param04, >>, + mahtotapa_ne: <<$param01, <>>, <$param02, >>, + mahtotapa_ttA: <<$param03, <>>, <$param04, >>, + käskytapa_y2: <<$param03, <>>, <$param04, >>, + käskytapa_kielto: <<$param01, <>>, <$param02, >>, + käskytapa_ttA: <<$param03, <>>, <$param04, >>, + johdin_jA_kantaja: <<$param01, <>>, <$param02, >>, + johdin_vA: <<$param01, <>>, <$param02, >>, + johdin_vAinen: <<$param01, <>>, <$param02, >>, + johdin_mA: <<$param01, <>>, <$param02, >>, + käskytapa: <<$param01, <>>, <$param02, >>, + johdin_ttAvA: <<$param03, <>>, <$param04, >>, + johdin_ttAvAinen: <<$param03, <>>, <$param04, >>, + tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, >>, + johdin_nUt: <<$param01, <>>, <$param02, >>, + johdin_ttU: <<$param03, <>>, <$param04, >>, + mahtotapa_ne_kielto: <<$param01, <>>, <$param02, >>]); +end; +subrule muistua ($tietue, $param01): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param01, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param01, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param01, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param01, <>>>, + kestämän_tekijäpääte_y1: <<$param01, <>>>, + kestämän_tekijäpääte_y2: <<$param01, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param01, <>>>, + kestämän_tekijäpääte_m2: <<$param01, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param01, <>>>, + kertoman_tekijäpääte_y1: <<$param01, <>>>, + kertoman_tekijäpääte_y2: <<$param01, <>>>, + kertoman_tekijäpääte_y3: <<$param01, <>>>, + kertoman_tekijäpääte_m1: <<$param01, <>>>, + kertoman_tekijäpääte_m2: <<$param01, <>>>, + kertoman_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kertoma_ttiin: <<$param01, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param01, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param01, <>>>, + käskytapa_y2: <<$param01, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param01, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param01, <>>>, + johdin_ttAvAinen: <<$param01, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param01, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param01, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule punoa ($tietue, $param01, $param02): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param02, <>>>, + kestämän_tekijäpääte_y2: <<$param02, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param02, <>>>, + kestämän_tekijäpääte_m2: <<$param02, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param02, <>>>, + kertoman_tekijäpääte_y2: <<$param02, <>>>, + kertoman_tekijäpääte_y3: <<$param01, <>>>, + kertoman_tekijäpääte_m1: <<$param02, <>>>, + kertoman_tekijäpääte_m2: <<$param02, <>>>, + kertoman_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param02, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_ntA: <<$param02, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule alittaa ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA, $johdin_tAUtUA): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>>, + kertoman_tekijäpääte_y3: <<$param05, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>>, + kertoman_tekijäpääte_m3: <<$param05, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_Us_ksen: <<$param04, <>>>, + johdin_ellA: <<$johdin_ellA, <>>>, + johdin_tAUtUA: <<$johdin_tAUtUA, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule ammottaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>, <$param02, >>, + nimitapa_2: <<$param01, <>>, <$param02, >>, + nimitapa_2_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_3: <<$param01, <>>, <$param02, >>, + nimitapa_3_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_4: <<$param01, <>>, <$param02, >>, + nimitapa_5: <<$param01, <>>, <$param02, >>, + laatutapa_1_vA: <<$param01, <>>, <$param02, >>, + laatutapa_1_ttA: <<$param03, <>>, <$param04, >>, + laatutapa_2_nUt: <<$param01, <>>, <$param02, >>, + laatutapa_2_ttU: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_y3: <<$param09, <>>, <$param10, >>, + kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_m3: <<$param09, <>>, <$param10, >>, + tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, >>, + ehtotapa: <<$param01, <>>, <$param02, >>, + ehtotapa_ttA: <<$param03, <>>, <$param04, >>, + mahtotapa_ne: <<$param01, <>>, <$param02, >>, + mahtotapa_ttA: <<$param03, <>>, <$param04, >>, + käskytapa_y2: <<$param05, <>>, <$param06, >>, + käskytapa_kielto: <<$param01, <>>, <$param02, >>, + käskytapa_ttA: <<$param03, <>>, <$param04, >>, + johdin_jA_kantaja: <<$param01, <>>, <$param02, >>, + johdin_Us_ksen: <<$param07, <>>, <$param08, >>, + johdin_OtellA: <<$param07, <>>, <$param08, >>, + johdin_tAUtUA: <<$param07, <>>, <$param08, >>, + johdin_vA: <<$param01, <>>, <$param02, >>, + johdin_vAinen: <<$param01, <>>, <$param02, >>, + johdin_mA: <<$param01, <>>, <$param02, >>, + käskytapa: <<$param01, <>>, <$param02, >>, + johdin_ttAvA: <<$param03, <>>, <$param04, >>, + johdin_ttAvAinen: <<$param03, <>>, <$param04, >>, + tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, >>, + johdin_nUt: <<$param01, <>>, <$param02, >>, + johdin_ttU: <<$param03, <>>, <$param04, >>, + mahtotapa_ne_kielto: <<$param01, <>>, <$param02, >>]); +end; +subrule autioittaa ($tietue, $param01, $param02, $param03, $param04, $param05): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>>, + kertoman_tekijäpääte_y3: <<$param05, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>>, + kertoman_tekijäpääte_m3: <<$param05, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule heittää ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>>, + kertoman_tekijäpääte_y3: <<$param05, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>>, + kertoman_tekijäpääte_m3: <<$param05, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_tO_liitto: <<$param04, <>>>, + johdin_ellA: <<$johdin_ellA, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule hidastaa ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param01, <>>>, + kestämän_tekijäpääte_y2: <<$param01, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param01, <>>>, + kestämän_tekijäpääte_m2: <<$param01, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param03, <>>>, + kertoman_tekijäpääte_y2: <<$param03, <>>>, + kertoman_tekijäpääte_y3: <<$param03, <>>>, + kertoman_tekijäpääte_m1: <<$param03, <>>>, + kertoman_tekijäpääte_m2: <<$param03, <>>>, + kertoman_tekijäpääte_m3: <<$param03, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param01, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_Us_ksen: <<$param03, <>>>, + johdin_ellA: <<$param03, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule hohtaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_ellA): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>>, + kertoman_tekijäpääte_y3: <<$param05, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>>, + kertoman_tekijäpääte_m3: <<$param05, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_tO_leuto: <<$param06, <>>>, + johdin_ellA: <<$johdin_ellA, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule kirjoittaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>, <$param02, >>, + nimitapa_2: <<$param01, <>>, <$param02, >>, + nimitapa_2_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_3: <<$param01, <>>, <$param02, >>, + nimitapa_3_ttA: <<$param03, <>>, <$param04, >>, + nimitapa_4: <<$param01, <>>, <$param02, >>, + nimitapa_5: <<$param01, <>>, <$param02, >>, + laatutapa_1_vA: <<$param01, <>>, <$param02, >>, + laatutapa_1_ttA: <<$param03, <>>, <$param04, >>, + laatutapa_2_nUt: <<$param01, <>>, <$param02, >>, + laatutapa_2_ttU: <<$param03, <>>, <$param04, >>, + kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, >>, + kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, >>, + kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, >>, + tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, >>, + kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_y3: <<$param09, <>>, <$param10, >>, + kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, >>, + kertoman_tekijäpääte_m3: <<$param09, <>>, <$param10, >>, + tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, >>, + ehtotapa: <<$param01, <>>, <$param02, >>, + ehtotapa_ttA: <<$param03, <>>, <$param04, >>, + mahtotapa_ne: <<$param01, <>>, <$param02, >>, + mahtotapa_ttA: <<$param03, <>>, <$param04, >>, + käskytapa_y2: <<$param05, <>>, <$param06, >>, + käskytapa_kielto: <<$param01, <>>, <$param02, >>, + käskytapa_ttA: <<$param03, <>>, <$param04, >>, + johdin_jA_kantaja: <<$param01, <>>, <$param02, >>, + johdin_Us_ksen: <<$param07, <>>, <$param08, >>, + johdin_OitellA: <<$param07, <>>, <$param08, >>, + johdin_tAUtUA: <<$param07, <>>, <$param08, >>, + johdin_vA: <<$param01, <>>, <$param02, >>, + johdin_vAinen: <<$param01, <>>, <$param02, >>, + johdin_mA: <<$param01, <>>, <$param02, >>, + käskytapa: <<$param01, <>>, <$param02, >>, + johdin_ttAvA: <<$param03, <>>, <$param04, >>, + johdin_ttAvAinen: <<$param03, <>>, <$param04, >>, + tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, >>, + johdin_nUt: <<$param01, <>>, <$param02, >>, + johdin_ttU: <<$param03, <>>, <$param04, >>, + mahtotapa_ne_kielto: <<$param01, <>>, <$param02, >>]); +end; +subrule loistaa ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param01, <>>>, + kestämän_tekijäpääte_y2: <<$param01, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param01, <>>>, + kestämän_tekijäpääte_m2: <<$param01, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param03, <>>>, + kertoman_tekijäpääte_y2: <<$param03, <>>>, + kertoman_tekijäpääte_y3: <<$param03, <>>>, + kertoman_tekijäpääte_m1: <<$param03, <>>>, + kertoman_tekijäpääte_m2: <<$param03, <>>>, + kertoman_tekijäpääte_m3: <<$param03, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param01, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_O: <<$param03, <>>>, + johdin_ellA: <<$param03, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule muistaa ($tietue, $param01, $param02, $param03): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param01, <>>>, + kestämän_tekijäpääte_y2: <<$param01, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param01, <>>>, + kestämän_tekijäpääte_m2: <<$param01, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param03, <>>>, + kertoman_tekijäpääte_y2: <<$param03, <>>>, + kertoman_tekijäpääte_y3: <<$param03, <>>>, + kertoman_tekijäpääte_m1: <<$param03, <>>>, + kertoman_tekijäpääte_m2: <<$param03, <>>>, + kertoman_tekijäpääte_m3: <<$param03, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param01, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_O: <<$param03, <>>>, + johdin_ellA: <<$param03, <>>>, + johdin_UA: <<$param03, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule voitaa ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>>, + kertoman_tekijäpääte_y3: <<$param05, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>>, + kertoman_tekijäpääte_m3: <<$param05, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_ellA: <<$johdin_ellA, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule alentaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_Us_ksen: <<$param05, <>>>, + johdin_ellA: <<$param05, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule huutaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_ellA: <<$param05, <>>>, + johdin_tO_leuto: <<$param07, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule soutaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <>>>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <>>>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <>>>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <>>>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <>>>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <>>>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_ellA: <<$param05, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule jäykentää ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_Us_ksen: <<$param05, <>>>, + johdin_ellA: <<$param05, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule puoltaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule pyörtää ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_ella: <<$param05, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule sukeltaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + johdin_jA_kantaja: <<$param01, <>>>, + johdin_Us_ksen: <<$param05, <>>>, + johdin_ellA: <<$param05, <>>>, + johdin_vA: <<$param01, <>>>, + johdin_vAinen: <<$param01, <>>>, + johdin_mA: <<$param01, <>>>, + käskytapa: <<$param01, <>>>, + johdin_ttAvA: <<$param02, <>>>, + johdin_ttAvAinen: <<$param02, <>>>, + tositavan_kestämä_tAAn_kielto: <<$param02, <>>>, + johdin_nUt: <<$param01, <>>>, + johdin_ttU: <<$param02, <>>>, + mahtotapa_ne_kielto: <<$param01, <>>>]); +end; +subrule murtaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06): + return taivutuskaava ($tietue, + [nimitapa_1_A: <<$param01, <>>>, + nimitapa_2: <<$param01, <>>>, + nimitapa_2_ttA: <<$param02, <>>>, + nimitapa_3: <<$param01, <>>>, + nimitapa_3_ttA: <<$param02, <>>>, + nimitapa_4: <<$param01, <>>>, + nimitapa_5: <<$param01, <>>>, + laatutapa_1_vA: <<$param01, <>>>, + laatutapa_1_ttA: <<$param02, <>>>, + laatutapa_2_nUt: <<$param01, <>>>, + laatutapa_2_ttU: <<$param02, <>>>, + kestämän_tekijäpääte_y1: <<$param03, <>>>, + kestämän_tekijäpääte_y2: <<$param03, <>>>, + kestämän_tekijäpääte_y3: <<$param01, <>>>, + kestämän_tekijäpääte_y3_vi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>, + kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>, + kestämän_tekijäpääte_m1: <<$param03, <>>>, + kestämän_tekijäpääte_m2: <<$param03, <>>>, + kestämän_tekijäpääte_m3: <<$param01, <>>>, + tositavan_kestämä_tAAn: <<$param02, <>>>, + kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, >>, + kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, >>, + kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, >>, + tositavan_kertoma_ttiin: <<$param02, <>>>, + ehtotapa: <<$param01, <>>>, + ehtotapa_ttA: <<$param02, <>>>, + mahtotapa_ne: <<$param01, <>>>, + mahtotapa_ttA: <<$param02, <>>>, + käskytapa_y2: <<$param03, <>>>, + käskytapa_kielto: <<$param01, <>>>, + käskytapa_ttA: <<$param02, <>>>, + jo