00001 /*========================================================================== 00002 * Copyright (c) 2002 University of Massachusetts. All Rights Reserved. 00003 * 00004 * Use of the Lemur Toolkit for Language Modeling and Information Retrieval 00005 * is subject to the terms of the software license set forth in the LICENSE 00006 * file included with this software, and also available at 00007 * http://www.lemurproject.org/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 #ifndef _ARABICSTEMMER_HPP 00013 #define _ARABICSTEMMER_HPP 00014 #include "Stemmer.hpp" 00015 #include "Param.hpp" 00017 namespace ArabicStemmerParameter { 00019 00020 00021 static String stemFunc; 00023 static String stemDir; 00025 00026 static String defaultStemDir("/usr/local/lemur/arabic_stem_data"); 00028 static String defaultStemFunc("arabic_light10_stop"); 00030 static void get() 00031 { 00032 stemFunc = ParamGetString("arabicStemFunc", defaultStemFunc); 00033 stemDir = ParamGetString("arabicStemDir", defaultStemDir); 00034 } 00035 } 00036 00040 class ArabicStemmer : public Stemmer { 00041 public: 00042 static const string identifier; 00043 00044 ArabicStemmer(const string &stemDir=ArabicStemmerParameter::defaultStemDir, 00045 const string &stemmer=ArabicStemmerParameter::defaultStemFunc); 00046 ~ArabicStemmer(); 00048 char * stemWord(char * word); 00049 00050 private: 00052 void (*stem_fct)(char *, char *); 00053 }; 00054 00055 #endif