00001
00002
00003
00004
00005
00006
00007
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 char *defaultStemDir = "/usr/local/lemur/arabic_stem_data";
00028 static char *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 ArabicStemmer(const char *stemDir=ArabicStemmerParameter::defaultStemDir,
00043 const char *stemmer=ArabicStemmerParameter::defaultStemFunc);
00044 ~ArabicStemmer();
00046 char * stemWord(char * word);
00047
00048 private:
00050 char *stemmer_dir;
00052 void (*stem_fct)(char *, char *);
00053 };
00054
00055 #endif