//
// SuffixEntry.cc
//
// SuffixEntry: Decode the suffix rules used in the ispell dictionary files
// for the endings fuzzy DB.
//
// Part of the ht://Dig package
// 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
//
//
// $Id: SuffixEntry.cc,v 1.5 2004/05/28 13:15:20 lha Exp $
//
#ifdef HAVE_CONFIG_H
#include "htconfig.h"
#endif /* HAVE_CONFIG_H */
#include
#include "SuffixEntry.h"
#include "Endings.h"
//*****************************************************************************
// SuffixEntry::SuffixEntry()
//
SuffixEntry::SuffixEntry(char *str)
{
parse(str);
}
//*****************************************************************************
// SuffixEntry::~SuffixEntry()
//
SuffixEntry::~SuffixEntry()
{
}
//*****************************************************************************
// void SuffixEntry::parse(char *str)
// Parse a string in the format '>' into ourselves.
//
void
SuffixEntry::parse(char *str)
{
String temp = 0;
while (*str == ' ' || *str == '\t')
str++;
temp = "^.*";
while (*str != '>')
{
if (*str != ' ' && *str != '\t')
temp << *str;
str++;
}
temp << "$";
while (*str == ' ' || *str == '\t' || *str == '>')
str++;
Endings::mungeWord(temp, expression);
temp = 0;
while (*str != ' ' && *str != '\t' && *str != '\n' && *str != '\r' && *str)
{
temp << *str;
str++;
}
Endings::mungeWord(temp, rule);
}