00001 /* 00002 * finflect - Algorithms and tools for inflecting Finnish nouns 00003 * Copyright (C) 2004, 2005 The FinFlect Team 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * 00020 * For the complete legal text of the GNU Lesser General Public License, 00021 * see the file LICENSE. For a complete list of authors and copyright 00022 * holders, see the file AUTHORS. 00023 */ 00024 00025 /** 00026 * @file ffpriv_ie_vowel_change.h Defines the functions (implemented in 00027 * ffpriv_ie_vowel_change.c) for accessing the exception lists for words 00028 * that undergo an i-e vowel change when inflected to various cases. 00029 */ 00030 00031 #ifndef __FFPRIV_IE_VOWEL_CHANGE_H 00032 #define __FFPRIV_IE_VOWEL_CHANGE_H 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00038 /** 00039 * Checks the i-e vowel change exception lists for the given word and 00040 * replaces it with its i-e changed genitive stem equivalent if found. 00041 * @param word The word to check 00042 * @return 0 if the word was not in the lists and thus wasn't changed; 00043 * 1 if the word was in the lists and was changed; negative on error 00044 */ 00045 ffint32 ffpriv_ie_genitive(ffword* word); 00046 00047 /** 00048 * Checks the i-e vowel change exception lists for the given word and 00049 * replaces it with its i-e changed partitive stem equivalent if found. 00050 * @param word The word to check 00051 * @return 0 if the word was not in the lists and thus wasn't changed; 00052 * 1 if the word was in the lists and was changed; negative on error 00053 */ 00054 ffint32 ffpriv_ie_partitive(ffword* word); 00055 00056 #ifdef __cplusplus 00057 } 00058 #endif 00059 #endif