diff options
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/htfuzzy/Endings.h')
-rw-r--r-- | debian/htdig/htdig-3.2.0b6/htfuzzy/Endings.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/htfuzzy/Endings.h b/debian/htdig/htdig-3.2.0b6/htfuzzy/Endings.h new file mode 100644 index 00000000..fa00b09e --- /dev/null +++ b/debian/htdig/htdig-3.2.0b6/htfuzzy/Endings.h @@ -0,0 +1,58 @@ +// +// Endings.h +// +// Endings: A fuzzy matching algorithm to match the grammatical endings rules +// used by the ispell dictionary files. +// +// Part of the ht://Dig package <http://www.htdig.org/> +// Copyright (c) 1995-2004 The ht://Dig Group +// For copyright details, see the file COPYING in your distribution +// or the GNU Library General Public License (LGPL) version 2 or later +// <http://www.gnu.org/copyleft/lgpl.html> +// +// $Id: Endings.h,v 1.7 2004/05/28 13:15:20 lha Exp $ +// + +#ifndef _Endings_h_ +#define _Endings_h_ + +#include "Fuzzy.h" + +class Dictionary; +class String; +class List; + + +class Endings : public Fuzzy +{ +public: + // + // Construction/Destruction + // + Endings(const HtConfiguration& config_arg); + virtual ~Endings(); + + virtual void getWords(char *word, List &words); + virtual void generateKey(char *word, String &key); + virtual void addWord(char *word); + virtual int openIndex(); + virtual int writeDB(); + + // + // Special member which will create the two databases needed for this + // algorithm. + // + int createDB(const HtConfiguration &config); + + static void mungeWord(char *, String &); + +private: + Database *root2word; + Database *word2root; + + int createRoot(Dictionary &, char *, char *, const String&); + int readRules(Dictionary &, const String&); + void expandWord(String &, List &, Dictionary &, char *, char *); +}; + +#endif |