Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

ffcase.h

Go to the documentation of this file.
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 ffcase.h Defines constants for cases and counts, and a function (ff_case_name, implemented in ffcase.c)
00027  * that returns case names.
00028  */
00029  
00030 #ifndef __FFCASE_H
00031 #define __FFCASE_H
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #include "fftypes.h"
00038 
00039 /**
00040  * The case constants
00041  */
00042 typedef enum ffcase {
00043   /**
00044    * Nominative
00045    */
00046   FFCASE_NOMINATIVE = 1000,
00047   
00048   /**
00049    * Partitive
00050    */
00051   FFCASE_PARTITIVE,
00052   
00053   /**
00054    * Genitive
00055    */
00056   FFCASE_GENITIVE,
00057   
00058   /**
00059    * Essive
00060    */
00061   FFCASE_ESSIVE,
00062   
00063   /**
00064    * Translative
00065    */
00066   FFCASE_TRANSLATIVE,
00067   
00068   /**
00069    * Inessive
00070    */
00071   FFCASE_INESSIVE,
00072   
00073   /**
00074    * Elative
00075    */
00076   FFCASE_ELATIVE,
00077   
00078   /**
00079    * Illative
00080    */
00081   FFCASE_ILLATIVE,
00082   
00083   /**
00084    * Adessive
00085    */
00086   FFCASE_ADESSIVE,
00087   
00088   /**
00089    * Ablative
00090    */
00091   FFCASE_ABLATIVE,
00092   
00093   /**
00094    * Allative
00095    */
00096   FFCASE_ALLATIVE,
00097   
00098   /**
00099    * Abessive
00100    */
00101   FFCASE_ABESSIVE,
00102   
00103   /**
00104    * Comitative
00105    */
00106   FFCASE_COMITATIVE,
00107   
00108   /**
00109    * Instructive
00110    */
00111   FFCASE_INSTRUCTIVE
00112 } ffcase;
00113 
00114 /**
00115  * The case enum
00116  */
00117 typedef enum ffcount {
00118   /**
00119    * Singular
00120    */
00121   FFCOUNT_SINGULAR = 1,
00122   
00123   /**
00124    * Plural
00125    */
00126   FFCOUNT_PLURAL = 2
00127 } ffcount;
00128 
00129 /**
00130  * Returns a pointer to the name of the given case.
00131  * @param thecase The case whose name you want
00132  * @return A pointer to the name of the given case
00133  */
00134 ffchar* ff_case_name(ffcase thecase);
00135 
00136 #ifdef __cplusplus
00137 }
00138 #endif
00139 
00140 #endif

Generated on Sun May 15 21:50:47 2005 for FinFlect by  doxygen 1.4.1