"Fossies" - the Fresh Open Source Software Archive

Member "aspell-0.60.8/modules/speller/default/phonet.hpp" (8 Oct 2019, 1821 Bytes) of package /linux/misc/aspell-0.60.8.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "phonet.hpp" see the Fossies "Dox" file reference documentation.

    1 /*  phonetic.c - generic replacement aglogithms for phonetic transformation
    2     Copyright (C) 2000 Björn Jacke
    3 
    4     This library is free software; you can redistribute it and/or
    5     modify it under the terms of the GNU Lesser General Public
    6     License version 2.1 as published by the Free Software Foundation;
    7  
    8     This library is distributed in the hope that it will be useful,
    9     but WITHOUT ANY WARRANTY; without even the implied warranty of
   10     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   11     Lesser General Public License for more details.
   12  
   13     You should have received a copy of the GNU Lesser General Public
   14     License along with this library; if not, write to the Free Software
   15     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   16 
   17     Björn Jacke may be reached by email at bjoern.jacke@gmx.de
   18 */
   19 
   20 #ifndef ASPELLER_PHONET__HPP
   21 #define ASPELLER_PHONET__HPP
   22 
   23 #include "string.hpp"
   24 #include "posib_err.hpp"
   25 
   26 using namespace acommon;
   27 
   28 namespace acommon {struct Conv;}
   29 
   30 namespace aspeller {
   31 
   32   class Language;
   33 
   34   struct PhonetParms {
   35     String version;
   36     
   37     bool followup;
   38     bool collapse_result;
   39 
   40     bool remove_accents;
   41 
   42     static const char * const rules_end;
   43     const char * * rules;
   44 
   45     const Language * lang;
   46 
   47     char to_clean[256];
   48 
   49     static const int hash_size = 256;
   50     int hash[hash_size];
   51 
   52     virtual ~PhonetParms() {}
   53   };
   54 
   55   int phonet (const char * inword, char * target, 
   56               int len,
   57           const PhonetParms & parms);
   58 
   59 #if 0
   60   void dump_phonet_rules(std::ostream & out, const PhonetParms & parms);
   61   // the istream must be seekable
   62 #endif
   63 
   64   PosibErr<PhonetParms *> new_phonet(const String & file, 
   65                                      Conv & iconv,
   66                                      const Language * lang);
   67 
   68 }
   69 
   70 #endif