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_means_cases.h Declares functions for inflecting words in 00027 * means cases. They are implemented in ffpriv_means_cases.c. 00028 */ 00029 00030 #ifndef __FFPRIV_MEANS_CASES_H 00031 #define __FFPRIV_MEANS_CASES_H 00032 00033 #ifdef __cplusplus 00034 extern "C" { 00035 #endif 00036 00037 #include "fftypes.h" 00038 #include "ffword.h" 00039 00040 /** 00041 * Transforms the given word into its abessive singular form. 00042 * @param word The word in basic form 00043 * @return 0 on success; -1 on error 00044 */ 00045 ffint32 ffpriv_abessive_singular(ffword* word); 00046 00047 /** 00048 * Transforms the given word into its abessive plural form. 00049 * @param word The word in basic form 00050 * @return 0 on success; -1 on error 00051 */ 00052 ffint32 ffpriv_abessive_plural(ffword* word); 00053 00054 /* 00055 * There is no comitative singular 00056 */ 00057 00058 /** 00059 * Transforms the given word into its comitative plural form. 00060 * @param word The word in basic form 00061 * @return 0 on success; -1 on error 00062 */ 00063 ffint32 ffpriv_comitative_plural(ffword* word); 00064 00065 /** 00066 * Transforms the given word into its instructive singular form. 00067 * @param word The word in basic form 00068 * @return 0 on success; -1 on error 00069 */ 00070 ffint32 ffpriv_instructive_singular(ffword* word); 00071 00072 /** 00073 * Transforms the given word into its instructive plural form. 00074 * @param word The word in basic form 00075 * @return 0 on success; -1 on error 00076 */ 00077 ffint32 ffpriv_instructive_plural(ffword* word); 00078 00079 #ifdef __cplusplus 00080 } 00081 #endif 00082 00083 #endif