Imported Upstream version 0.60.8
[platform/upstream/aspell.git] / manual / aspell-dev.html / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <!-- This is the developer's manual for Aspell.
4
5 Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
6
7 Permission is granted to copy, distribute and/or modify this document
8 under the terms of the GNU Free Documentation License, Version 1.1 or
9 any later version published by the Free Software Foundation; with no
10 Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.  A
11 copy of the license is included in the section entitled "GNU Free
12 Documentation License". -->
13 <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
14 <head>
15 <title>Aspell Developer&rsquo;s Manual: Top</title>
16
17 <meta name="description" content="Aspell spell checker developer&rsquo;s manual.">
18 <meta name="keywords" content="Aspell Developer&rsquo;s Manual: Top">
19 <meta name="resource-type" content="document">
20 <meta name="distribution" content="global">
21 <meta name="Generator" content="makeinfo">
22 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
23 <link href="#Top" rel="start" title="Top">
24 <link href="#SEC_Contents" rel="contents" title="Table of Contents">
25 <link href="../dir/index.html" rel="up" title="(dir)">
26 <link href="Style-Guidelines.html#Style-Guidelines" rel="next" title="Style Guidelines">
27 <style type="text/css">
28 <!--
29 a.summary-letter {text-decoration: none}
30 blockquote.smallquotation {font-size: smaller}
31 div.display {margin-left: 3.2em}
32 div.example {margin-left: 3.2em}
33 div.indentedblock {margin-left: 3.2em}
34 div.lisp {margin-left: 3.2em}
35 div.smalldisplay {margin-left: 3.2em}
36 div.smallexample {margin-left: 3.2em}
37 div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
38 div.smalllisp {margin-left: 3.2em}
39 kbd {font-style:oblique}
40 pre.display {font-family: inherit}
41 pre.format {font-family: inherit}
42 pre.menu-comment {font-family: serif}
43 pre.menu-preformatted {font-family: serif}
44 pre.smalldisplay {font-family: inherit; font-size: smaller}
45 pre.smallexample {font-size: smaller}
46 pre.smallformat {font-family: inherit; font-size: smaller}
47 pre.smalllisp {font-size: smaller}
48 span.nocodebreak {white-space:nowrap}
49 span.nolinebreak {white-space:nowrap}
50 span.roman {font-family:serif; font-weight:normal}
51 span.sansserif {font-family:sans-serif; font-weight:normal}
52 ul.no-bullet {list-style: none}
53 table:not([class]), table:not([class]) th, table:not([class]) td {
54     padding: 2px 0.3em 2px 0.3em;
55     border: thin solid #D0D0D0;
56     border-collapse: collapse;
57 }
58
59 -->
60 </style>
61
62 <meta name=viewport content="width=device-width, initial-scale=1">
63 </head>
64
65 <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
66 <h1 class="settitle" align="center">Aspell Developer&rsquo;s Manual</h1>
67
68
69
70
71 <a name="SEC_Contents"></a>
72 <h2 class="contents-heading">Table of Contents</h2>
73
74 <div class="contents">
75
76 <ul class="no-bullet">
77   <li><a name="toc-Style-Guidelines-1" href="Style-Guidelines.html#Style-Guidelines">1 Style Guidelines</a></li>
78   <li><a name="toc-How-to-Submit-a-Patch-1" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">2 How to Submit a Patch</a></li>
79   <li><a name="toc-C_002b_002b-Standard-Library-1" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">3 C++ Standard Library</a></li>
80   <li><a name="toc-Templates-1" href="Templates.html#Templates">4 Templates</a></li>
81   <li><a name="toc-Error-Handling-1" href="Error-Handling.html#Error-Handling">5 Error Handling</a></li>
82   <li><a name="toc-Source-Code-Layout-1" href="Source-Code-Layout.html#Source-Code-Layout">6 Source Code Layout</a></li>
83   <li><a name="toc-Strings-1" href="Strings.html#Strings">7 Strings</a>
84   <ul class="no-bullet">
85     <li><a name="toc-String" href="Strings.html#String">7.1 String</a></li>
86     <li><a name="toc-ParmString" href="Strings.html#ParmString">7.2 ParmString</a></li>
87     <li><a name="toc-CharVector" href="Strings.html#CharVector">7.3 CharVector</a></li>
88   </ul></li>
89   <li><a name="toc-Smart-Pointers-1" href="Smart-Pointers.html#Smart-Pointers">8 Smart Pointers</a>
90   <ul class="no-bullet">
91     <li><a name="toc-CopyPtr" href="Smart-Pointers.html#CopyPtr">8.1 CopyPtr</a></li>
92     <li><a name="toc-ClonePtr" href="Smart-Pointers.html#ClonePtr">8.2 ClonePtr</a></li>
93     <li><a name="toc-StackPtr" href="Smart-Pointers.html#StackPtr">8.3 StackPtr</a></li>
94     <li><a name="toc-GenericCopyPtr" href="Smart-Pointers.html#GenericCopyPtr">8.4 GenericCopyPtr</a></li>
95   </ul></li>
96   <li><a name="toc-I_002fO-1" href="I_002fO.html#I_002fO">9 I/O</a>
97   <ul class="no-bullet">
98     <li><a name="toc-IStream_002fOStream" href="I_002fO.html#IStream_002fOStream">9.1 IStream/OStream</a></li>
99     <li><a name="toc-FStream" href="I_002fO.html#FStream">9.2 FStream</a></li>
100     <li><a name="toc-Standard-Streams" href="I_002fO.html#Standard-Streams">9.3 Standard Streams</a></li>
101   </ul></li>
102   <li><a name="toc-Config-Class-1" href="Config-Class.html#Config-Class">10 Config Class</a></li>
103   <li><a name="toc-Filter-Interface-1" href="Filter-Interface.html#Filter-Interface">11 Filter Interface</a>
104   <ul class="no-bullet">
105     <li><a name="toc-Overview" href="Filter-Interface.html#Overview">11.1 Overview</a></li>
106     <li><a name="toc-Adding-a-New-Filter" href="Filter-Interface.html#Adding-a-New-Filter">11.2 Adding a New Filter</a></li>
107     <li><a name="toc-IndividualFilter-class" href="Filter-Interface.html#IndividualFilter-class">11.3 IndividualFilter class</a></li>
108     <li><a name="toc-Constructor-Function-1" href="Filter-Interface.html#Constructor-Function-1">11.4 Constructor Function</a></li>
109     <li><a name="toc-Filter-Description-File-1" href="Filter-Interface.html#Filter-Description-File-1">11.5 Filter Description File</a></li>
110     <li><a name="toc-Retrieve-Options-by-a-Filter" href="Filter-Interface.html#Retrieve-Options-by-a-Filter">11.6 Retrieve Options by a Filter</a></li>
111     <li><a name="toc-Compiling-and-Linking" href="Filter-Interface.html#Compiling-and-Linking">11.7 Compiling and Linking</a></li>
112     <li><a name="toc-Programmer_0027s-Interface-1" href="Filter-Interface.html#Programmer_0027s-Interface-1">11.8 Programmer&rsquo;s Interface</a></li>
113     <li><a name="toc-Adding-a-filter-to-Aspell-standard-distribution" href="Filter-Interface.html#Adding-a-filter-to-Aspell-standard-distribution">11.9 Adding a filter to Aspell standard distribution</a></li>
114   </ul></li>
115   <li><a name="toc-Filter-Modes-1" href="Filter-Modes.html#Filter-Modes">12 Filter Modes</a>
116   <ul class="no-bullet">
117     <li><a name="toc-Aspell-Mode-File" href="Filter-Modes.html#Aspell-Mode-File">12.1 Aspell Mode File</a>
118     <ul class="no-bullet">
119       <li><a name="toc-Version-Line" href="Filter-Modes.html#Version-Line">12.1.1 Version Line</a></li>
120       <li><a name="toc-Magic-Line" href="Filter-Modes.html#Magic-Line">12.1.2 Magic Line</a></li>
121       <li><a name="toc-Description-Line" href="Filter-Modes.html#Description-Line">12.1.3 Description Line</a></li>
122       <li><a name="toc-Filter-and-Option-Lines" href="Filter-Modes.html#Filter-and-Option-Lines">12.1.4 Filter and Option Lines</a></li>
123     </ul></li>
124   </ul></li>
125   <li><a name="toc-Data-Structures-1" href="Data-Structures.html#Data-Structures">13 Data Structures</a>
126   <ul class="no-bullet">
127     <li><a name="toc-Vector" href="Data-Structures.html#Vector">13.1 Vector</a></li>
128     <li><a name="toc-BasicList" href="Data-Structures.html#BasicList">13.2 BasicList</a></li>
129     <li><a name="toc-StringMap" href="Data-Structures.html#StringMap">13.3 StringMap</a></li>
130     <li><a name="toc-Hash-Tables" href="Data-Structures.html#Hash-Tables">13.4 Hash Tables</a></li>
131     <li><a name="toc-BlockSList" href="Data-Structures.html#BlockSList">13.5 BlockSList</a></li>
132   </ul></li>
133   <li><a name="toc-Mk_002dSrc-Script-1" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14 Mk-Src Script</a>
134   <ul class="no-bullet">
135     <li><a name="toc-mk_002dsrc_002ein" href="Mk_002dSrc-Script.html#mk_002dsrc_002ein">14.1 mk-src.in</a></li>
136     <li><a name="toc-MkSrc_003a_003aInfo" href="Mk_002dSrc-Script.html#MkSrc_003a_003aInfo">14.2 MkSrc::Info</a></li>
137     <li><a name="toc-MkSrc_003a_003aUtil" href="Mk_002dSrc-Script.html#MkSrc_003a_003aUtil">14.3 MkSrc::Util</a></li>
138     <li><a name="toc-MkSrc_003a_003aRead" href="Mk_002dSrc-Script.html#MkSrc_003a_003aRead">14.4 MkSrc::Read</a></li>
139     <li><a name="toc-MKSrc_003a_003aCreate" href="Mk_002dSrc-Script.html#MKSrc_003a_003aCreate">14.5 MKSrc::Create</a></li>
140     <li><a name="toc-Code-Generation-Modes" href="Mk_002dSrc-Script.html#Code-Generation-Modes">14.6 Code Generation Modes</a></li>
141     <li><a name="toc-MkSrc_003a_003aCcHelper" href="Mk_002dSrc-Script.html#MkSrc_003a_003aCcHelper">14.7 MkSrc::CcHelper</a></li>
142   </ul></li>
143   <li><a name="toc-How-It-All-Works-1" href="How-It-All-Works.html#How-It-All-Works">15 How It All Works</a>
144   <ul class="no-bullet">
145     <li><a name="toc-Part-1-_002d-The-Compiled-Dictionary-Format" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">15.1 Part 1 - The Compiled Dictionary Format</a></li>
146     <li><a name="toc-Part-2-_002d-Quickly-Finding-Similar-Soundslike-1" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">15.2 Part 2 - Quickly Finding Similar Soundslike</a></li>
147     <li><a name="toc-Part-3-1" href="Part-3.html#Part-3">15.3 Part 3</a></li>
148   </ul></li>
149   <li><a name="toc-Copying-1" href="Copying.html#Copying">Appendix A Copying</a>
150   <ul class="no-bullet">
151     <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1 GNU Free Documentation License</a>
152     <ul class="no-bullet">
153       <li><a name="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="GNU-Free-Documentation-License.html#ADDENDUM_003a-How-to-use-this-License-for-your-documents">A.1.1 ADDENDUM: How to use this License for your documents</a></li>
154     </ul></li>
155   </ul></li>
156 </ul>
157 </div>
158
159
160 <a name="Top"></a>
161 <div class="header">
162 <p>
163 Next: <a href="Style-Guidelines.html#Style-Guidelines" accesskey="n" rel="next">Style Guidelines</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
164 </div>
165 <hr>
166 <a name="Notes"></a>
167 <h1 class="top">Notes</h1>
168 <p>This manual is designed for those who wish to develop Aspell.  It is
169 currently very sketchy.  However, it should improve over time.
170 </p>
171 <table class="menu" border="0" cellspacing="0">
172 <tr><td align="left" valign="top">&bull; <a href="Style-Guidelines.html#Style-Guidelines" accesskey="1">Style Guidelines</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
173 </td></tr>
174 <tr><td align="left" valign="top">&bull; <a href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" accesskey="2">How to Submit a Patch</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
175 </td></tr>
176 <tr><td align="left" valign="top">&bull; <a href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" accesskey="3">C++ Standard Library</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
177 </td></tr>
178 <tr><td align="left" valign="top">&bull; <a href="Templates.html#Templates" accesskey="4">Templates</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
179 </td></tr>
180 <tr><td align="left" valign="top">&bull; <a href="Error-Handling.html#Error-Handling" accesskey="5">Error Handling</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
181 </td></tr>
182 <tr><td align="left" valign="top">&bull; <a href="Source-Code-Layout.html#Source-Code-Layout" accesskey="6">Source Code Layout</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
183 </td></tr>
184 <tr><td align="left" valign="top">&bull; <a href="Strings.html#Strings" accesskey="7">Strings</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
185 </td></tr>
186 <tr><td align="left" valign="top">&bull; <a href="Smart-Pointers.html#Smart-Pointers" accesskey="8">Smart Pointers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
187 </td></tr>
188 <tr><td align="left" valign="top">&bull; <a href="I_002fO.html#I_002fO" accesskey="9">I/O</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
189 </td></tr>
190 <tr><td align="left" valign="top">&bull; <a href="Config-Class.html#Config-Class">Config Class</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
191 </td></tr>
192 <tr><td align="left" valign="top">&bull; <a href="Filter-Interface.html#Filter-Interface">Filter Interface</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
193 </td></tr>
194 <tr><td align="left" valign="top">&bull; <a href="Filter-Modes.html#Filter-Modes">Filter Modes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
195 </td></tr>
196 <tr><td align="left" valign="top">&bull; <a href="Data-Structures.html#Data-Structures">Data Structures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
197 </td></tr>
198 <tr><td align="left" valign="top">&bull; <a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">Mk-Src Script</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
199 </td></tr>
200 <tr><td align="left" valign="top">&bull; <a href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
201 </td></tr>
202 <tr><td align="left" valign="top">&bull; <a href="Copying.html#Copying">Copying</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
203 </td></tr>
204 </table>
205
206
207 <hr>
208 <div class="header">
209 <p>
210 Next: <a href="Style-Guidelines.html#Style-Guidelines" accesskey="n" rel="next">Style Guidelines</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
211 </div>
212
213
214
215 </body>
216 </html>