PageRenderTime 23ms CodeModel.GetById 16ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/extensions/spellcheck/hunspell/src/hunspell.h

http://github.com/zpao/v8monkey
C Header | 152 lines | 29 code | 32 blank | 91 comment | 0 complexity | 4ad4896090f2475fd5409e0c08209a7e MD5 | raw file
  1/******* BEGIN LICENSE BLOCK *******
  2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3 * 
  4 * The contents of this file are subject to the Mozilla Public License Version
  5 * 1.1 (the "License"); you may not use this file except in compliance with
  6 * the License. You may obtain a copy of the License at
  7 * http://www.mozilla.org/MPL/
  8 * 
  9 * Software distributed under the License is distributed on an "AS IS" basis,
 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 11 * for the specific language governing rights and limitations under the
 12 * License.
 13 * 
 14 * The Initial Developers of the Original Code are Kevin Hendricks (MySpell)
 15 * and L�szl� N�meth (Hunspell). Portions created by the Initial Developers
 16 * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved.
 17 * 
 18 * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca)
 19 *                 David Einstein (deinst@world.std.com)
 20 *                 L�szl� N�meth (nemethl@gyorsposta.hu)
 21 *                 Caolan McNamara (caolanm@redhat.com)
 22 *                 Davide Prina
 23 *                 Giuseppe Modugno
 24 *                 Gianluca Turconi
 25 *                 Simon Brouwer
 26 *                 Noll Janos
 27 *                 Biro Arpad
 28 *                 Goldman Eleonora
 29 *                 Sarlos Tamas
 30 *                 Bencsath Boldizsar
 31 *                 Halacsy Peter
 32 *                 Dvornik Laszlo
 33 *                 Gefferth Andras
 34 *                 Nagy Viktor
 35 *                 Varga Daniel
 36 *                 Chris Halls
 37 *                 Rene Engelhard
 38 *                 Bram Moolenaar
 39 *                 Dafydd Jones
 40 *                 Harri Pitkanen
 41 *                 Andras Timar
 42 *                 Tor Lillqvist
 43 * 
 44 * Alternatively, the contents of this file may be used under the terms of
 45 * either the GNU General Public License Version 2 or later (the "GPL"), or
 46 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 47 * in which case the provisions of the GPL or the LGPL are applicable instead
 48 * of those above. If you wish to allow use of your version of this file only
 49 * under the terms of either the GPL or the LGPL, and not to allow others to
 50 * use your version of this file under the terms of the MPL, indicate your
 51 * decision by deleting the provisions above and replace them with the notice
 52 * and other provisions required by the GPL or the LGPL. If you do not delete
 53 * the provisions above, a recipient may use your version of this file under
 54 * the terms of any one of the MPL, the GPL or the LGPL.
 55 *
 56 ******* END LICENSE BLOCK *******/
 57
 58#ifndef _MYSPELLMGR_H_
 59#define _MYSPELLMGR_H_
 60
 61#include "hunvisapi.h"
 62
 63#ifdef __cplusplus
 64extern "C" {
 65#endif
 66
 67typedef struct Hunhandle Hunhandle;
 68
 69LIBHUNSPELL_DLL_EXPORTED Hunhandle *Hunspell_create(const char * affpath, const char * dpath);
 70
 71LIBHUNSPELL_DLL_EXPORTED Hunhandle *Hunspell_create_key(const char * affpath, const char * dpath,
 72    const char * key);
 73
 74LIBHUNSPELL_DLL_EXPORTED void Hunspell_destroy(Hunhandle *pHunspell);
 75
 76/* spell(word) - spellcheck word
 77 * output: 0 = bad word, not 0 = good word
 78 */
 79LIBHUNSPELL_DLL_EXPORTED int Hunspell_spell(Hunhandle *pHunspell, const char *);
 80
 81LIBHUNSPELL_DLL_EXPORTED char *Hunspell_get_dic_encoding(Hunhandle *pHunspell);
 82
 83/* suggest(suggestions, word) - search suggestions
 84 * input: pointer to an array of strings pointer and the (bad) word
 85 *   array of strings pointer (here *slst) may not be initialized
 86 * output: number of suggestions in string array, and suggestions in
 87 *   a newly allocated array of strings (*slts will be NULL when number
 88 *   of suggestion equals 0.)
 89 */
 90LIBHUNSPELL_DLL_EXPORTED int Hunspell_suggest(Hunhandle *pHunspell, char*** slst, const char * word);
 91
 92 /* morphological functions */
 93
 94 /* analyze(result, word) - morphological analysis of the word */
 95
 96LIBHUNSPELL_DLL_EXPORTED int Hunspell_analyze(Hunhandle *pHunspell, char*** slst, const char * word);
 97
 98 /* stem(result, word) - stemmer function */
 99
100LIBHUNSPELL_DLL_EXPORTED int Hunspell_stem(Hunhandle *pHunspell, char*** slst, const char * word);
101
102 /* stem(result, analysis, n) - get stems from a morph. analysis
103  * example:
104  * char ** result, result2;
105  * int n1 = Hunspell_analyze(result, "words");
106  * int n2 = Hunspell_stem2(result2, result, n1);   
107  */
108
109LIBHUNSPELL_DLL_EXPORTED int Hunspell_stem2(Hunhandle *pHunspell, char*** slst, char** desc, int n);
110
111 /* generate(result, word, word2) - morphological generation by example(s) */
112
113LIBHUNSPELL_DLL_EXPORTED int Hunspell_generate(Hunhandle *pHunspell, char*** slst, const char * word,
114    const char * word2);
115
116 /* generate(result, word, desc, n) - generation by morph. description(s)
117  * example:
118  * char ** result;
119  * char * affix = "is:plural"; // description depends from dictionaries, too
120  * int n = Hunspell_generate2(result, "word", &affix, 1);
121  * for (int i = 0; i < n; i++) printf("%s\n", result[i]);
122  */
123
124LIBHUNSPELL_DLL_EXPORTED int Hunspell_generate2(Hunhandle *pHunspell, char*** slst, const char * word,
125    char** desc, int n);
126
127  /* functions for run-time modification of the dictionary */
128
129  /* add word to the run-time dictionary */
130  
131LIBHUNSPELL_DLL_EXPORTED int Hunspell_add(Hunhandle *pHunspell, const char * word);
132
133  /* add word to the run-time dictionary with affix flags of
134   * the example (a dictionary word): Hunspell will recognize
135   * affixed forms of the new word, too.
136   */
137  
138LIBHUNSPELL_DLL_EXPORTED int Hunspell_add_with_affix(Hunhandle *pHunspell, const char * word, const char * example);
139
140  /* remove word from the run-time dictionary */
141
142LIBHUNSPELL_DLL_EXPORTED int Hunspell_remove(Hunhandle *pHunspell, const char * word);
143
144  /* free suggestion lists */
145
146LIBHUNSPELL_DLL_EXPORTED void Hunspell_free_list(Hunhandle *pHunspell, char *** slst, int n);
147
148#ifdef __cplusplus
149}
150#endif
151
152#endif