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_basic_cases.h Defines internal functions 00027 * for inflecting words in basic cases. They are implemented in 00028 * ffpriv_basic_cases.c. 00029 */ 00030 00031 #ifndef __FFPRIV_BASIC_CASES_H 00032 #define __FFPRIV_BASIC_CASES_H 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00038 #include "fftypes.h" 00039 #include "ffword.h" 00040 00041 /** 00042 * Transforms the given word to its nominative singular form (i.e. does absolutely nothing to it). 00043 * @param word The word in its basic form 00044 * @return 0 on success, -1 on error. 00045 */ 00046 ffint32 ffpriv_nominative_singular(ffword* word); 00047 00048 /** 00049 * Transforms the given word to its nominative plural form. 00050 * @param word The word in its basic form 00051 * @return 0 on success, -1 on error. 00052 */ 00053 ffint32 ffpriv_nominative_plural(ffword* word); 00054 00055 /** 00056 * Transforms the given word to its genitive singular form. 00057 * @param word The word in its basic form 00058 * @return 0 on success, -1 on error. 00059 */ 00060 ffint32 ffpriv_genitive_singular(ffword* word); 00061 00062 /** 00063 * Transforms the given word to its genitive plural form. 00064 * @param word The word in its basic form 00065 * @return 0 on success, -1 on error. 00066 */ 00067 ffint32 ffpriv_genitive_plural(ffword* word); 00068 00069 #ifdef __cplusplus 00070 } 00071 #endif 00072 00073 #endif