2
Copyright (c) 1993-2008, Cognitive Technologies
5
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½,
6
ļæ½ļæ½ļæ½ ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½:
8
* ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
9
ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
10
ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½.
11
* ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½
12
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
13
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½
14
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½.
15
* ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ Cognitive Technologies, ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½
16
ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
17
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½, ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
18
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½.
20
ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ "ļæ½ļæ½ļæ½
21
ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½" ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½-ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½,
22
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ ļæ½ļæ½
23
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½. ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
24
ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½
25
ļæ½ļæ½ŃØļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½
26
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
27
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ (ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½,
28
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½-ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½
29
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½/ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½,
30
ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½), ļæ½ļæ½ ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½, ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½
31
ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½ ļæ½ ļæ½ļæ½ļæ½ļæ½ļæ½ļæ½.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
Copyright (c) 1993-2008, Cognitive Technologies
5
Š Š°Š·ŃŠµŃŠ°ŠµŃŃŃ ŠæŠ¾Š²ŃŠ¾ŃŠ½Š¾Šµ ŃŠ°ŃŠæŃŠ¾ŃŃŃŠ°Š½ŠµŠ½ŠøŠµ Šø ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŠµ ŠŗŠ°Šŗ Š² Š²ŠøŠ“Šµ ŠøŃŃ
Š¾Š“Š½Š¾Š³Š¾ ŠŗŠ¾Š“Š°,
6
ŃŠ°Šŗ Šø Š² Š“Š²Š¾ŠøŃŠ½Š¾Š¹ ŃŠ¾ŃŠ¼Šµ, Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠøŠ»Šø Š±ŠµŠ·, ŠæŃŠø ŃŠ¾Š±Š»ŃŠ“ŠµŠ½ŠøŠø ŃŠ»ŠµŠ“ŃŃŃŠøŃ
ŃŃŠ»Š¾Š²ŠøŠ¹:
8
* ŠŃŠø ŠæŠ¾Š²ŃŠ¾ŃŠ½Š¾Š¼ ŃŠ°ŃŠæŃŠ¾ŃŃŃŠ°Š½ŠµŠ½ŠøŠø ŠøŃŃ
Š¾Š“Š½Š¾Š³Š¾ ŠŗŠ¾Š“Š° Š“Š¾Š»Š¶Š½Ń Š¾ŃŃŠ°Š²Š°ŃŃŃŃ ŃŠŗŠ°Š·Š°Š½Š½Š¾Šµ
9
Š²ŃŃŠµ ŃŠ²ŠµŠ“Š¾Š¼Š»ŠµŠ½ŠøŠµ Š¾Š± Š°Š²ŃŠ¾ŃŃŠŗŠ¾Š¼ ŠæŃŠ°Š²Šµ, ŃŃŠ¾Ń ŃŠæŠøŃŠ¾Šŗ ŃŃŠ»Š¾Š²ŠøŠ¹ Šø ŠæŠ¾ŃŠ»ŠµŠ“ŃŃŃŠøŠ¹
10
Š¾ŃŠŗŠ°Š· Š¾Ń Š³Š°ŃŠ°Š½ŃŠøŠ¹.
11
* ŠŃŠø ŠæŠ¾Š²ŃŠ¾ŃŠ½Š¾Š¼ ŃŠ°ŃŠæŃŠ¾ŃŃŃŠ°Š½ŠµŠ½ŠøŠø Š“Š²Š¾ŠøŃŠ½Š¾Š³Š¾ ŠŗŠ¾Š“Š° Š² Š“Š¾ŠŗŃŠ¼ŠµŠ½ŃŠ°ŃŠøŠø Šø/ŠøŠ»Šø Š²
12
Š“ŃŃŠ³ŠøŃ
Š¼Š°ŃŠµŃŠøŠ°Š»Š°Ń
, ŠæŠ¾ŃŃŠ°Š²Š»ŃŠµŠ¼ŃŃ
ŠæŃŠø ŃŠ°ŃŠæŃŠ¾ŃŃŃŠ°Š½ŠµŠ½ŠøŠø, Š“Š¾Š»Š¶Š½Ń ŃŠ¾Ń
ŃŠ°Š½ŃŃŃŃŃ
13
ŃŠŗŠ°Š·Š°Š½Š½Š°Ń Š²ŃŃŠµ ŠøŠ½ŃŠ¾ŃŠ¼Š°ŃŠøŃ Š¾Š± Š°Š²ŃŠ¾ŃŃŠŗŠ¾Š¼ ŠæŃŠ°Š²Šµ, ŃŃŠ¾Ń ŃŠæŠøŃŠ¾Šŗ ŃŃŠ»Š¾Š²ŠøŠ¹ Šø
14
ŠæŠ¾ŃŠ»ŠµŠ“ŃŃŃŠøŠ¹ Š¾ŃŠŗŠ°Š· Š¾Ń Š³Š°ŃŠ°Š½ŃŠøŠ¹.
15
* ŠŠø Š½Š°Š·Š²Š°Š½ŠøŠµ Cognitive Technologies, Š½Šø ŠøŠ¼ŠµŠ½Š° ŠµŠµ ŃŠ¾ŃŃŃŠ“Š½ŠøŠŗŠ¾Š² Š½Šµ Š¼Š¾Š³ŃŃ
16
Š±ŃŃŃ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½Ń Š² ŠŗŠ°ŃŠµŃŃŠ²Šµ ŃŃŠµŠ“ŃŃŠ²Š° ŠæŠ¾Š“Š“ŠµŃŠ¶ŠŗŠø Šø/ŠøŠ»Šø ŠæŃŠ¾Š“Š²ŠøŠ¶ŠµŠ½ŠøŃ
17
ŠæŃŠ¾Š“ŃŠŗŃŠ¾Š², Š¾ŃŠ½Š¾Š²Š°Š½Š½ŃŃ
Š½Š° ŃŃŠ¾Š¼ ŠŠ, Š±ŠµŠ· ŠæŃŠµŠ“Š²Š°ŃŠøŃŠµŠ»ŃŠ½Š¾Š³Š¾ ŠæŠøŃŃŠ¼ŠµŠ½Š½Š¾Š³Š¾
20
ŠŠ¢Š ŠŠ ŠŠŠ ŠŠŠŠ ŠŠ ŠŠŠŠ”Š¢ŠŠŠŠŠŠ ŠŠŠŠŠŠŠ¬Š¦ŠŠŠ ŠŠŠ¢ŠŠ Š”ŠŠŠ„ ŠŠ ŠŠ Š/ŠŠŠ ŠŠ Š£ŠŠŠŠ ŠŠŠ¦ŠŠŠ "ŠŠŠ
21
ŠŠŠ ŠŠ”Š¢Š¬" ŠŠŠ ŠŠŠŠŠŠ-ŠŠŠŠ ŠŠŠŠ ŠŠŠ ŠŠŠ¢ŠŠ, ŠŠ«Š ŠŠŠŠŠŠ«Š„ ŠÆŠŠŠ ŠŠŠ ŠŠŠŠ ŠŠŠ£ŠŠŠŠŠŠŠ«Š„,
22
ŠŠŠŠ®Š§ŠŠÆ ŠŠŠ ŠŠŠ¢ŠŠ ŠŠŠŠŠŠ Š§ŠŠ”ŠŠŠ Š¦ŠŠŠŠŠ”Š¢Š Š ŠŠ ŠŠŠŠŠŠŠ”Š¢Š ŠŠŠÆ ŠŠŠŠŠ ŠŠ¢ŠŠŠ Š¦ŠŠŠ, ŠŠ ŠŠ
23
ŠŠŠ ŠŠŠŠ§ŠŠŠŠÆŠ”Š¬ ŠŠŠ. ŠŠ ŠŠŠŠŠŠŠŠ¦ ŠŠŠ¢ŠŠ Š”ŠŠŠ„ ŠŠ ŠŠ Š ŠŠ ŠŠŠŠ ŠŠ Š£ŠŠŠ ŠŠŠ¦Š, ŠŠŠ¢ŠŠ ŠŠ
24
ŠŠŠŠŠ¢ ŠŠŠŠŠŠÆŠ¢Š¬ Š/ŠŠŠ ŠŠŠŠ¢ŠŠ ŠŠ Š ŠŠ”ŠŠ ŠŠ”Š¢Š ŠŠŠÆŠ¢Š¬ ŠŠ ŠŠŠ ŠŠŠŠ£, ŠŠ Š ŠŠŠŠ Š”ŠŠ£Š§ŠŠ ŠŠ
25
ŠŠŠ”ŠŠ¢ ŠŠ¢ŠŠŠ¢Š”Š¢ŠŠŠŠŠŠ”Š¢Š, ŠŠŠŠ®Š§ŠŠÆ ŠŠ®ŠŠ«Š ŠŠŠ©ŠŠ, Š”ŠŠ£Š§ŠŠŠŠ«Š, Š”ŠŠŠ¦ŠŠŠŠ¬ŠŠ«Š ŠŠŠ
26
ŠŠŠ”ŠŠŠŠŠŠŠŠØŠŠ Š£ŠŠ«Š¢ŠŠ, Š”ŠŠÆŠŠŠŠŠ«Š Š” ŠŠ”ŠŠŠŠ¬ŠŠŠŠŠŠŠŠ ŠŠŠ ŠŠŠŠŠ”ŠŠŠŠ«Š ŠŠ”ŠŠŠŠ”Š¢ŠŠŠ
27
ŠŠŠŠŠŠŠŠŠŠŠ”Š¢Š ŠŠ”ŠŠŠŠ¬ŠŠŠŠŠŠŠÆ ŠŠ ŠŠŠ ŠŠŠŠ« (ŠŠŠŠ®Š§ŠŠÆ ŠŠŠ¢ŠŠ Š ŠŠŠŠŠ«Š„, ŠŠŠ ŠŠŠŠŠ«Š,
28
Š”Š¢ŠŠŠØŠŠ ŠŠŠŠŠŠŠ«ŠŠ, ŠŠŠ Š£ŠŠ«Š¢ŠŠ Š/ŠŠŠ ŠŠŠ¢ŠŠ Š ŠŠŠ„ŠŠŠŠ, ŠŠŠŠŠ”ŠŠŠŠ«Š ŠŠ-ŠŠ ŠŠŠŠ”Š¢ŠŠŠ
29
Š¢Š ŠŠ¢Š¬ŠŠ„ ŠŠŠ¦ Š/ŠŠŠ ŠŠ¢ŠŠŠŠ ŠŠ ŠŠŠ ŠŠŠŠ« Š ŠŠŠŠ¢ŠŠ¢Š¬ Š”ŠŠŠŠŠ”Š¢ŠŠ Š” ŠŠ Š£ŠŠŠŠ ŠŠ ŠŠŠ ŠŠŠŠŠŠ,
30
ŠŠ ŠŠ ŠŠŠ ŠŠŠŠ§ŠŠŠŠÆŠ”Š¬ ŠŠ¢ŠŠŠ Š”ŠŠ£Š§ŠŠÆŠŠ), ŠŠ ŠŠ ŠŠŠ ŠŠŠŠ§ŠŠŠŠÆŠ”Š¬ ŠŠŠ, ŠŠŠŠ ŠŠ”ŠŠ Š¢ŠŠŠŠ
31
ŠŠŠŠŠŠŠŠ¦ ŠŠŠ ŠŠ Š£ŠŠŠ ŠŠŠ¦Š ŠŠ«ŠŠ ŠŠŠŠŠ©ŠŠŠ« Š ŠŠŠŠŠŠŠŠŠ”Š¢Š Š¢ŠŠŠŠ„ Š£ŠŠ«Š¢ŠŠŠ Š ŠŠŠ¢ŠŠ Š¬.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58
57
/****************************************************************************/
59
58
/***** S P E L L E R *****/
63
62
#ifndef __SPEL_FUNCS_H__
64
63
#define __SPEL_FUNCS_H__
68
67
#if _MSC_VER > 1000
70
69
#endif // _MSC_VER > 1000
74
LONG read_all_file(PSTR name,CHAR *buff); /* atal .lib */
75
LONG write_all_file(PSTR name,CHAR *,DWORD size);
72
int32_t read_all_file(char * name, char *buff); /* atal .lib */
73
int32_t write_all_file(char * name, char *, uint32_t size);
82
void dectable_init(void);
83
BOOL InitializeAlphabet (INT CountryCode);
80
void dectable_init(void);
81
Bool InitializeAlphabet(int16_t CountryCode);
82
Bool IsVowel(uchar c);
88
BYTE * load_specABC (BYTE *point, INT Country);
89
INT check_art_dict (CHAR word[], INT * wordlth, INT * vockind);
90
INT test_apppostrof (BYTE word[],SWORD *wrd, INT *l, INT *r);
86
uchar * load_specABC(uchar *point, int16_t Country);
87
int16_t check_art_dict(char word[], int16_t * wordlth, int16_t * vockind);
88
int16_t test_apppostrof(uchar word[], SWORD *wrd, int16_t *l, int16_t *r);
95
INT setwrd (SOBJ *,LTIMG **);
96
INT setimg (SOBJ *, LTIMG *);
97
INT setdef (LTIMG *, LTIMG **, INT *);
98
INT nextwrd (SOBJ *, LTIMG **);
99
INT check_compound ( SOBJ *, LTIMG **,
100
struct dict_state *, user_voc *,INT );
101
INT check_dict_voc (SOBJ *, LTIMG **, struct dict_state *,
103
INT prtobj (SOBJ *, INT, INT);
104
INT prtwrd (SOBJ *, SWORD *, INT, INT);
106
INT findpart(SOBJ*,SPART [],INT,INT, INT *);
107
INT findparte ( SPART *,INT, INT, INT*);
108
INT getstdn (CHAR *);
92
int16_t setwrd(SOBJ *, LTIMG **);
93
int16_t setimg(SOBJ *, LTIMG *);
94
int16_t setdef(LTIMG *, LTIMG **, int16_t *);
95
int16_t nextwrd(SOBJ *, LTIMG **);
96
int16_t check_compound(SOBJ *, LTIMG **, struct dict_state *, user_voc *, int16_t);
97
int16_t check_dict_voc(SOBJ *, LTIMG **, struct dict_state *, user_voc *, int16_t);
98
int16_t prtobj(SOBJ *, int16_t, int16_t);
99
int16_t prtwrd(SOBJ *, SWORD *, int16_t, int16_t);
100
int16_t symcode(char *);
101
int16_t findpart(SOBJ*, SPART[], int16_t, int16_t, int16_t *);
102
int16_t findparte(SPART *, int16_t, int16_t, int16_t*);
103
int16_t getstdn(char *);
110
105
/*** SPELLCHK ***/
112
INT selectopt (SOBJ *, SPART[]);
113
INT checkpart(SOBJ*);
114
INT checkobj (SOBJ *);
115
INT checkwrd (SOBJ *);
116
INT selectwrd (SOBJ *, LTIMG **);
117
INT selectpart (SOBJ *);
118
INT selectobj (SOBJ *, INT, SPART[]);
119
INT CheckContext ( SOBJ *obj, LTIMG *wrddef[], INT lth);
107
int16_t selectopt(SOBJ *, SPART[]);
108
int16_t checkpart(SOBJ*);
109
int16_t checkobj(SOBJ *);
110
int16_t checkwrd(SOBJ *);
111
int16_t selectwrd(SOBJ *, LTIMG **);
112
int16_t selectpart(SOBJ *);
113
int16_t selectobj(SOBJ *, int16_t, SPART[]);
114
int16_t CheckContext(SOBJ *obj, LTIMG *wrddef[], int16_t lth);
121
116
/*** SPELLART ***/
123
INT wordchange(SOBJ*);
124
INT partspec(SOBJ *, SPART[]);
125
INT partgc (SOBJ *, SPART[]);
126
INT partbrk(SOBJ*,SPART[]);
127
INT init_specpos (SOBJ*);
128
BOOL loadArtBase(INT);
118
int16_t wordchange(SOBJ*);
119
int16_t partspec(SOBJ *, SPART[]);
120
int16_t partgc(SOBJ *, SPART[]);
121
int16_t partbrk(SOBJ*, SPART[]);
122
int16_t init_specpos(SOBJ*);
123
Bool loadArtBase(int16_t);
130
125
/*** SPELLSET ***/
133
INT readobj(INT status,SOBJ *);
134
void genobj (SOBJ *);
135
INT setpart (SOBJ *, SPART[]);
136
INT genpart (SOBJ *);
127
int16_t genwrd(SOBJ*);
128
int16_t readobj(int16_t status, SOBJ *);
130
int16_t setpart(SOBJ *, SPART[]);
131
int16_t genpart(SOBJ *);
138
133
/*** SPELLOUT ***/
140
CHAR * find_byte_flag(void);
141
INT outobj (SOBJ *, SPART *);
142
INT setobj_blue (SOBJ *);
143
INT setpart_blue(SOBJ *obj,INT beg, INT end);
144
INT outpos_exch (SOBJ * obj, INT pos, INT anew);
135
char * find_byte_flag(void);
136
int16_t outobj(SOBJ *, SPART *);
137
int16_t setobj_blue(SOBJ *);
138
int16_t setpart_blue(SOBJ *obj, int16_t beg, int16_t end);
139
int16_t outpos_exch(SOBJ * obj, int16_t pos, int16_t anew);
146
141
/*** STATDICT ***/
148
INT search (KEYTYPE *word, INT *wordsize, LTIMG * wrddef[],
149
struct dict_state * dict );
143
int16_t search(KEYTYPE *word, int16_t *wordsize, LTIMG * wrddef[],
144
struct dict_state * dict);
151
146
/*** EDFORMAT ***/
153
INT begin(BYTE batch_run);
154
struct segm * next_line( CHAR tt, struct segm *cur_segm );
155
void skip_letter_in_line(struct segm *segm_ptr,INT x);
156
void shift(CHAR dir,INT v_s,struct segm *cur_segm,
158
INT test_spare_space(struct segm * segm,INT need_size);
159
INT load_fragm(void);
160
INT insert_symb(struct segm *, CHAR *,LT *);
161
INT processEdSymb (void);
162
void puff_last_segm(void);
148
int16_t begin(uchar batch_run);
149
struct segm * next_line(char tt, struct segm *cur_segm);
150
void skip_letter_in_line(struct segm *segm_ptr, int16_t x);
151
void shift(char dir, int16_t v_s, struct segm *cur_segm, char *cur_symb);
152
int16_t test_spare_space(struct segm * segm, int16_t need_size);
153
int16_t load_fragm(void);
154
int16_t insert_symb(struct segm *, char *, LT *);
155
int16_t processEdSymb(void);
156
void puff_last_segm(void);
164
158
/*** NEXT_SYM ***/
166
BYTE * next_symb (INT i, INT j, INT k,
167
struct segm *cur_segm,
169
void create_new_stack(void);
170
INT check_free_mem(void);
160
uchar * next_symb(int16_t i, int16_t j, int16_t k, struct segm *cur_segm, uchar * cur_symb);
161
void create_new_stack(void);
162
int16_t check_free_mem(void);
172
164
/*** FINDWORD ***/
174
INT findstat(INT *,LTIMG **,struct dict_state *);
166
int16_t findstat(int16_t *, LTIMG **, struct dict_state *);
176
168
/*** FINDVOC ***/
178
INT look_through_voc(INT * currw,LTIMG * wrddef[],
179
voc_state * voc,INT vocmode,
180
INT incr,WTOKEN * * wtoken);
170
int16_t look_through_voc(int16_t * currw, LTIMG * wrddef[], voc_state * voc,
171
int16_t vocmode, int16_t incr, WTOKEN * * wtoken);
184
INT voc_init(voc_state*);
185
void voc_open(voc_state*);
186
INT voc_(voc_state *voc,LTIMG **wrddef,
187
INT *lth, INT weight,INT mode ,WTOKEN * *wtoken);
175
int16_t voc_init(voc_state*);
176
void voc_open(voc_state*);
177
int16_t voc_(voc_state *voc, LTIMG **wrddef, int16_t *lth, int16_t weight, int16_t mode,
189
180
/*** IN_TREEI ***/
191
void init_stat_dict(struct dict_state *);/* in_treei.c */
182
void init_stat_dict(struct dict_state *);/* in_treei.c */
193
184
// 08-13-93 08:59pm, Mike
194
185
// Second parameter has been removed.
195
BYTE * load_stat_dict( CHAR *point );
186
uchar * load_stat_dict(char *point);
197
188
// 08-13-93 09:00pm, Mike
198
189
// Return type has been changed.
199
void load_user_dicts ( PSTR list_name, CHAR * point);
190
void load_user_dicts(char * list_name, char * point);
201
LONG read_all_voc(INT seqn, CHAR *name, CHAR *p);
192
int32_t read_all_voc(int16_t seqn, char *name, char *p);
203
194
#ifdef SECOND_PASS
205
INT pull_to_stat(INT status,SOBJ*obj,SPART *part,
206
LTIMG wrdimg[],LTIMG *wrddef[]);
207
void investigate_word(INT status,SOBJ *obj,LTIMG *wrddef[],
209
void set_context(WTOKEN *left,WTOKEN *right);
210
INT set_img_for_found(SOBJ *obj,SPART *part,LTIMG wrdimg[]);
211
INT set_img_for_notfound(SOBJ *obj,SPART *part,LTIMG wrdimg[]);
196
int16_t pull_to_stat(int16_t status,SOBJ*obj,SPART *part,
197
LTIMG wrdimg[],LTIMG *wrddef[]);
198
void investigate_word(int16_t status,SOBJ *obj,LTIMG *wrddef[],
200
void set_context(WTOKEN *left,WTOKEN *right);
201
int16_t set_img_for_found(SOBJ *obj,SPART *part,LTIMG wrdimg[]);
202
int16_t set_img_for_notfound(SOBJ *obj,SPART *part,LTIMG wrdimg[]);
213
INT stat_replacements(SOBJ *obj);
204
int16_t stat_replacements(SOBJ *obj);
217
208
/*** IOED_TF ~~ IOED_TST ***/
218
INT read_file(BYTE batch_run);
219
INT save_ed_file(BYTE batch_run);
209
int16_t read_file(uchar batch_run);
210
int16_t save_ed_file(uchar batch_run);
223
212
#endif //#ifndef __SPEL_FUNCS_H__