File: programozas.tex

package info (click to toggle)
magyarispell 1.2%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 4,952 kB
  • sloc: sh: 1,032; awk: 404; makefile: 265; sed: 153; lisp: 102
file content (172 lines) | stat: -rw-r--r-- 5,977 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
\chapter{Programozi dokumentci}

A Hunspell program, illetve a Magyar Myspell
fggvnyknyvtr kpessgeit sajt programjainkhoz
is hozzadhatjuk. 

\section{Hunspell csfellet}

A -a kapcsol megadsval a Hunspell program az
Ispell -a kapcsoljnak hatst utnozza, egy kevs
kivteltl eltekintve. Ez az zemmd ad lehetsget
arra, hogy alkalmazsaink a Hunspellt
hasznljk a helyesrs-ellenrzsre.
Ilyenkor a Hunspellt httrben elindtjk az alkalmazsok,
annak ellenrizend szveget adnak t,
majd az ellenrzs vgeredmnyt visszakapva
azt feldolgozzk.
Szmos program l ezzel a lehetsggel: pldul
a KWord, LyX, Emacs (Windows alatt is).

A Hunspell indulsnl kir a standard kimenetre egy
bemutatkoz sort, majd a standard bemenetet
soronknt dolgozza fel. Minden egyes sor utn a
kimeneten a kziknyvoldalon ismertetett informcikat
jelenti meg, amit a sajt programunk (amennyiben
gondoskodtunk a kimenet tirnytsrl) feldolgozhat.

A Hunspell a bemenetet szvegsorknt rtelmezi,
hacsak a bejv sor els karaktere nem egy parancskarakter.

A Hunspell ltal kezelt parancskaraktereket, s
lersukat a kvetkez tblzat ismerteti:

\begin{tabular}{rl}
! & Nem rtelmezi a sort. \\
+ & \TeX zemmd bekapcsolsa. \\
- & Visszalps az elz zemmdba. \\
@ & A jelet kvet sz sztrba kerl a futs idejre.\\
$*$ & A jelet kvet sz sztrba kerl.\\
\# & A sztr elmentsre kerl a sajt sztrllomnyba.\\
\^\ & A jelet kvet sor feldolgozsa.
\end{tabular}

Az \& jel (kisbetsknt val felvtel) mg nincs a Hunspellbe ptve.
Egyb kezdkarakterek esetn a sorok szvegsorknt kerlnek feldolgozsra.

\section{Magyar Myspell fellet}

A Magyar Myspell fellet (API) lehetsget nyjt a
fggvnyknyvtr kzvetlen hasznlatra, br
pr dolgot, mint pldul a sajt sztr elmentst
s betltst, magunknak kell megoldani. 

\subsection{Konstruktor}

A felhasznli programban a MySpell osztly
metdusaiknt frhetnk hozz a helyesrs-ellenrzhz.

\noindent\verb+MySpell(const char * affixum, const char * szotar);+

A MySpell osztly konstruktora kt karakterlncot vr paramterknt:
az affixumllomny, s a sztrllomny tvonalt.

\subsection{Metdusok}

\noindent\verb+int spell(const char * alak);+

A megadott sz ellenrzse. Ha a visszatrsi rtk 0, a sz
hibs, egybknt helyes.

\noindent\verb+int suggest(char*** javaslatok, const char * alak);+

Javtsi javaslatok krse a megadott szra. A fggvny visszatrsi rtke
a javaslatok szma, illetve a javaslatokat trol
karakterlnctmb cme. Ez utbbi tmb a fggvnyhvs alatt
kerl lefoglalsra, cme pedig a javaslatok vltozban kerl
elhelyezsre. A tmb felszabadtsrl neknk kell gondoskodni
a ksbbiekben, gyelve arra, hogy a tmb cme NULL is lehet,
ha a helyfoglals memriaproblmk miatt sikertelen volt.
(Tbb szlat kezel programban nem hasznlhat.)

\noindent\verb+int suggest_stems(char*** javaslatok, const char * alak);+

Helyes tvek ellltsa az elz fggvnyhez hasonl szintaxissal.
Ha nincs t, akkor a szt nem ismeri az ellenrz.

\noindent\verb+int suggest_pos_stems(char*** javaslatok, const char * alak);+

Valszn tvek ellltsa az elz fggvnyhez hasonl szintaxissal.
A Magyar Ispell sztrban szerepl nvszragokat prblja levlasztani a
a megadott ismeretlen szrl a program.

\noindent\verb+char * get_dic_encoding();+

Visszaadja a betlttt affixumllomny SET paramtert,
vagyis a belltott karakterkdolst.
(L. man 4 hunspell)

\noindent\verb+char * get_wordchars();+

Visszaadja a belltott karakterkszlet
betkaraktereinek karakterlnct, kiegsztve
az affixumllomny WORDCHARS paramtereknt
megadott karaktereivel. Ez az informci
a szavakra bontshoz hasznos.

\noindent\verb+struct cs_info * get_csconv();+

Visszaadja a betlttt karaktertblt, elssorban
a ksbbi betmret-talaktsokhoz.
(L. \texttt{csutil.cxx}, \texttt{csutil.hxx} a forrsban.)

\noindent\verb+int put_word(const char * alak);+

A megadott sz futsidej felvtelre kerl sor.
Ha az erre biztostott hely elfogy, a visszatrsi rtk 0,
egybknt 1. (Az gy maximlisan felvehet szavak szmt
az \texttt{atypes.hxx} llomny MAXUSERWORD makrja adja meg.)

\noindent\verb+int put_word_suffix(const char * alak, const char * kapcsolok);+

A megadott sz futsidej felvtelre kerl sor, a msodik
paramterknt megadott kapcsolkkal (ezek lehetnek prefixumok is, a
megtveszt nv ellenre).

Pldul \verb+put_word_suffix("leszrpzik","Pp");+

\noindent\verb+int put_word_pattern(const char * alak, const char * alak2);+

A megadott sz futsidej felvtelre kerl sor a msodik
paramterknt megadott sz kapcsolival.

Pldul \verb+put_word_pattern("alfnk","fnk");+

\noindent\verb+char * get_prevroot();+

Visszaadja az elzleg ellenrztt, s helyesnek
tallt sz sztri tvt.
(Tbb szlat kezel programban nem hasznlhat.)

\noindent\verb+int get_prevcompound();+

A visszatrsi rtk 0, ha az elzleg
ellenrztt sz nem sszetett sz volt, klnben 1.
(Tbb szlat kezel programban nem hasznlhat.)

\noindent\verb+int get_forbidden_compound();+

Az elzleg ellenrztt szrl adja meg,
hogy tiltott volt-e, vagy sem (rendelkezett
tiltkapcsolval). Ha nem volt tiltott,
a visszatrsi rtk 0, ha igen, 1, s
ha mg sszetett is volt, akkor 2.
Belsleg annak eldntsre szolgl, hogy
a javaslatokban szkz, vagy ktjel szerepeljen.
A Hunspell pedig annak jelzsre hasznlja, hogy
egyrtelm sztri tiltsrl van sz, megerstve
ezzel a felhasznlt helyes mkdsrl.

\noindent\verb+char * get_possible_root();+

Visszaadja az elzleg ellenrztt szra illeszked
els ragozsi szably alapjn elll tvet.
Ez a fggvny a ksbbiekben bvtve lesz.
(Tbb szlat kezel programban nem hasznlhat.)

\subsubsection{Pldaprogram}

A fggvnyknyvtr \texttt{example.cxx} programja rvid sszefoglalst
adja a fontosabb fggvnyeknek:

\verbatiminput{example.txt}