File: dic.txt

package info (click to toggle)
canna 3.7p3-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 7,216 kB
  • ctags: 9,109
  • sloc: ansic: 85,930; sh: 2,970; yacc: 403; cpp: 389; lex: 379; makefile: 79; awk: 7
file content (325 lines) | stat: -rw-r--r-- 13,075 bytes parent folder | download | duplicates (12)
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
cannaΥХʥ꼭η

$Id: dic.txt,v 1.4 2003/08/31 14:15:17 aida_s Exp $


cannaμˤϼΩ켭°켭񤬤ꡢ줾MWD,SWDȤɤ
̤롣ΤۤǤPRESUCȤΤƤꡢ
줾Ƭ졢μˤʤäƤ褦ߤΤȤȤƤ餺
ư뤫ɤǤ롣

ޤηϥƥȷȥХʥ롣ƥȼϡñϿ
ǽǤꡢؽˤäƤƤѲ롣ΤޥȤ˶ŪŪ
Ȥ뤿ᡢ桼Ѹ켭˻Ȥ롣ޤݻǤ
ؽϡñ̤ͥȡȤƤβŪ(tick)Ǥ롣
ʤ°켭Τfuzokugo.cbdϡåǡ¾ʸˡǡĤᡢ
ƥȷˤϤǤʤ

Хʥ꼭ϡФȤȤ˥󥹥ȡ뤵졢ΤޤƤѲʤ
ñϿϤǤؽ̤˺줿ؽե(.cld)¸롣
Ŭڹ¤򤢤餫äƤΤǡޥȻ˿
ɬפʤmmap()ǥ뤳ȤǽˤʤäƤ롣
ޤ1Ĥ.cbd˥Хʥ꼭ʣǼ뤳ȤǽǤ롣
ñʣΥХʥ꼭catǤĤʤηǤ롣.cbdΤȶ
뤿ᡢ.cbdθġμʲ(DM)ȸƤ֡

ؽե뤬ټȤƤФʤɡȤϤʰ̣
ȤΤǡä˼Ω켭°켭θʬ򤢤碌ơָüפ
Ƥ֤Ȥˤ롣ޤؽեϸüȴطΤǡʻ
⤹롣

3.7devel2ϡ⤤ĥȸߴΤᡢΥإåη¿
줿ϤޤȯСǤ뤿ᡢμˤĤƤεҤ
ĤƤ롣

BOOL	0ޤ1
CARDnn	nnӥåȤ̵MSB first
CHAR	ʸ
WCHAR	磻ʸ
ZSTR	0üʸ

1. ü

1.1 Wrec

Хʥ꼭δñ̤ϡɤߤȴʻޤȤ᤿WrecȤ쥳ɤǤ롣
RKǥХȥǡΤޤݻ졢ʴѴ뤿Ӥ˲Ϥ롣
ϼ̤Ǥ롣

WREC: WREC_HEADER2|WREC_HEADER4 LEFTYOMI(WCHAR*leftylen) CANDIDATE*ncand
WREC_HEADER2: 0(BOOL) LEFTYLEN(CARD6) WRECLEN(CARD6) NCAND(CARD3)
WREC_HEADER4: 1(BOOL) LEFTYLEN(CARD6) WRECLEN1(CARD6) NCAND1(CARD3) \
	      WRECLEN2(CARD7) NCAND2(CARD9)
CANDIDATE: KANJILEN(CARD7) HINSHIID(CARD9) KANJI(WCHAR*kanjilen)

䤬8İʾ夢뤫Wrec礭64ХȰʾˤʤȤϡ4ХȤΥإå
Ȥ롣ޤɤߤϥǥ쥯ȥWrecʬǤäƤꡢWrecդ
̤ǤΤɬפʬǥ쥯ȥˡĤ꤬WrecLEFTYOMIȤ롣

1.2 ι¤

DMHEADER
    HD_RECORDS: HD_RECORD*n
	HD_RECORD: TAG(CHAR*4) LENGTH(CARD32) OFFSET(CARD32)|VALUE(CARD32)
	    LENGTH0ΤȤϡͤ4ХȤľܽ񤭹ޤ롣
	    LENGTH1ʾΤȤϡͤVALUESΰ˽񤭹ޤ졢OFFSETˤä
	    ܻȤ롣OFFSETδHEADERƬǤ롣
    ENDTAG: '\0'*4
    VALUES

TOPDIR: DIRNODE_BROTHERS*n
    DIRNODE_BROTHERS: NBROTHERS(CARD16) 0(CARD24) DIRNODE*nbrothers
	DIRNODE: KEY(WCHAR) WORD_NODE(BOOL) NODEOFF(CARD23)|WRECOFF(CARD23)
	    NODEOFF,WRECOFFȤ⡢ФΥإåΥեåȤǤ롣

PAGES: PAGE*npages
    PAGE
	PAGEHEADER: PAGENUMBER(CARD16) N_PAGENODES(CARD16) NWREC(CARD16) \
		    0(CARD8) FIRST_LVO(CARD24) FIRST_CSN(CARD24) 0(CARD8)
	PAGEDIR: PAGENODE*n_pagenodes
	    PAGENODE: KEY(WCHAR) WORD_NODE(BOOL) LAST_NODE(BOOL) \
		      NODEOFF(CARD14)|WRECOFF(CARD14)
		NODEOFF,WRECOFFȤڡƬΥեåȤǤ롣
	LINKTABLE: LINK*nwrec
	    LINK: WRECOFF(CARD14) LVO_IN_PAGE(CARD15) CSN_IN_PAGE(CARD11)
	WORDS: WREC*nwrec

[GRAMMER]
    Ω켭ξϤ϶Ǥ롣3.7devel1ޤǤΥХʥ°켭ξ硢
    ʸˡǡɬפǤ롣򸫤¤ꡢʸˡʤХʥ꼭
    ꤿϡ4ХȤ0񤤤ƤСRK֤ޤơư뤳Ȥ
    Ǥ褦Ǥ롣3.7devel2ʹߤϡHD_GRAM쥳ɤά뤫HD_GRSZ
    0ˤСʸˡ̵뤳ȤǤ롣

ϥڡȤñ̤ʬƤ롣񸻤¤Ƥˤϡڡ
̤˲ꡢڡñ̤mmapꤹ뤳Ȥǡ󤷤Ƥ褦
롣Wrecƥڡˤꡢڤϥڡȥǥ쥯ȥΰʬ
äƤ롣

1.3 إå

إåϳĥ⤤褦˸뤬3.6ޤǤμǤϡRKΤʤTAGȡ
λǥ顼ˤʤäƤޤΤᡢ쥳ɤߤȡŤRKǤ
ɤʤʤäƤޤä

3.7devel2ϡRKΤʤ쥳ɤ̵뤹褦ˤʤäƤꡢǤդΥǡ
ɲäǤ롣ޤСɽ쥳ɤϼºݤˤϻȤƤʤä塢
ߴܤ褦ˤϤʤäƤʤäΤǡHD_VERѻߤơ
ºݤΥС򼨤HD_CURVȡߴΤǤŤС򼨤HD_CMPV
ߤΤۤإåΥ¤ʤᡢפ5ĤΥ쥳ɤ
Ƭ֤뤳Ȥˤ

ߤΥ쥳ɤϼ̤Ǥ롣

1.3.1 ǽˡνǸͤФʤʤ(3.7devel2ǤϾǤ)

HD_MAG	(MAG#): "CDIC"CARD32ȸ
HD_SIZ	(#SIZ): Ф礭3.7devel2ʸˡǡ礭ޤ
HD_HSZ	(#HSZ): إå礭
HD_CURV	(CURV): ΥС󡢸ߤ0x300702L
HD_CMPV	(CMPV): ߴΤ뼭ΥС󡢸ߤ0x300702L

1.3.2 Ǥդǡ3.7devel2μ¸ߤ

HD_VER	(VER#): "R3.0"CARD32ȸ͡åƤʤ3.7devel2ѻ
HD_TIME	(TIME): 
HD_REC	(#REC): Wrec
HD_CAN	(#CAN): 
HD_L2P	(L2P#):	log2(ڡ礭)crxdicǺä13=8KB
HD_L2C	(L2C#):	log2(ڡκ)crxdicǺä11=2048
HD_PAG	(#PAG): ڡ
HD_LND	(#LND): TOPDIR˴ޤޤο
HD_SND	(#SND): PAGEDIR˴ޤޤο
HD_DROF	(DROF): TOPDIRΰ֡̾HD_HSZƱǤRKǤ⺮ƱƤ
HD_PGOF	(PGOF): ǽΥڡΰ
HD_DMNM	(DMNM): Ф̾
HD_CODM	(CODM): 0ؽեǤб뼭Ф̾
HD_LANG	(LANG): "japan"
HD_WWID	(WWID): 2(磻ʸ?)
HD_WTYP	(WTYP): "W16 "CARD32ȸ
HD_COPY	((C) ): 0(?)
HD_NOTE	(NOTE): 0(ɽ?)
HD_TYPE	(TYPE): "jmwd"CARD32ȸ

1.3.3 3.7devel1о줷3.6Ϥμˤ¸ߤƤϤʤ

HD_CRC	(#CRC):	TOPDIRPAGE碌ΰISO/IEC 8802-3:1989 CRC

1.3.4 3.7devel2ʹߤо줷3.7devel1ޤǤμˤ¸ߤƤϤʤ

HD_GRAM	(GRAM): ʸˡǡΰ
HD_GRSZ	(GRSZ): ʸˡǡ礭

1.4 ڤι¤

Wrecɤߤ1ʸ1ĤȤڹ¤Ǹ롣դˤWORD_NODEե饰
ΩäƤꡢWRECOFFWrecؤΤΥǥ쥯ȥ(TOPDIR)
ڡǥ쥯ȥ(PAGEDIR)ʬäƤ롣ɤ°뤫ϡ
Υ르ꥺǷ롣

a.ĺxȤ롣ĺTOPDIR롣
b.x鲼ʬ(xȤ)򤹤٤ƥڡǼȲꤷơȡ
  դؤWrecWrecؤ()碌礭롣
c.ʬڤƼޤڡǽΥڡõդФΥڡ
  ǼƤޤPAGEDIRˡ󥯤LINKTABLEˡWrecWORDSǼ롣
d.ɤΥڡˤޤʤȤϡxľܤλҶTOPDIR˳ǼҶ
  ƤxȤƼbʲ򷫤֤

츫Ψ㤤褦˸뤬ΨȾʬڤڡϹ⡹1ĤǤꡢΨ
κǾͤmȤȡ¾ΥڡλΨ1-mʾǤ뤫顢ȤϤʤ

TOPDIRPAGEDIRȤǡηǼˡäƤ롣ˤĤƤ
1.2ǽʬǤǼȤϡɤξⷻˤ򤫤
ϿΤTOPDIRȤϡ郎ɤߤ1ʸ򥭡Ȥϥå
ơ֥ʤƤΤФPAGEDIRȤϡñɤߤν˳Ǽ롣
ޤTOPDIRǤϥϥåơ֥礭ơ֥Ƭ˽񤫤ƤΤФ
PAGEDIRǤϷκǸLAST_NODEե饰ΩäƤ롣

֤󡢤פΤ褦ˡɤߤ¾θȤ԰פФʤޤ
(ξϡ֤)ϡɤߤκǸ0ääΤ褦
롣ξǤС֤פλҶϡ0פȤʤ롣

1.5 ΰ

ڡˤϥ󥯤ȸƤФ⵭ϿƤ롣󥯤ϡĹWrecȰа
бƤꡢWrecֹǥǥå뤳ȤǤ롣˳ؽ
˻ȤƤ롣󥯤ϼƤġ

WRECOFF:
  ڡƬ¬äWrecΰ֡
LVO:
  ؽեǡνϿؤºݤˤϡǽWrecLVO
  FIRST_LVOȤƥڡΥإå˽񤫤졢ΰˤϡLVOFIRST_LVO
  κηǵϿ롣
CSN:
  ˴ޤޤֹ̤档ڡκǽθCSNFIRST_CSN
  Ȥƽ񤫤졢ΰˤFIRST_CSNȤκ񤫤롣3.6p3ޤǤϡ
  CSN_IN_PAGEη׻ְäƤCSNϡָ䤬Ǹ˻ȤƤλ
  (tick)פ뤿˻ȤƤΤǡ³ͥ٤ߴĤ
  ¿ä褦Ǥ롣


2. ʸˡե

2.1 ι¤

GRAMMER_SIZE(CARD32)
    GRAMMER_SIZE쥳ɼΤ礭(4byte)N_HINSHI쥳ɤ礭
    ϴޤࡣ
N_HINSHI(CARD32)
CONJ_MATRIX
HINSHIMEI_TABLE: HINSHIMEI(ZSTR)*n_hinshi
    BB,K5r,k5u,FkosoȤäʻ̾ñʻֹν0üʸ
    äƤ롣
[NEG_CONJ_TABLE]
    NUMNEG(CARD32)
    NEG_CONJ*numneg
	NEG_CONJ: 0(CARD4) HINSHIID1(CARD9) HINSHIID2(CARD9) \
		  HINSHIID3(CARD9) NEG_FLAG(BOOL)
0(CARD8)

LOGIC_HACKͭˤNEG_CONJ_TABLEդ

RKGRAMMER_SIZEʸˡǡΤ礭ؤȤꤷƤ뤬ߤ
crxgramμǤϡNEG_CONJ_TABLEȺǸ0礭ޤޤƤʤΤᡢ
3.7devel2μǡʸˡǡθ̤μФ³硢
ǤʤäˡNEG_CONJ_TABLE̵ۣͭǤꡢñʤRKνǤ
ѤޤʤΤη٤ˤʤäƤ

3.7devel2μǤϡʸˡǡΥDMHEADER˴ޤޤƤΤǡ
ʤ3.7devel2Ǥ⡢ʸˡեΤηϰѹƤʤᡢ
GRAMMER_SIZENEG_CONJ_TABLEȺǸ0ޤޤʤޤޤǤ롣


2.2 ³

ʻiθʻj³ɤϡӥåȤιɽ롣ij1ʤ
³0ʤ³ʤʻμब8ܿǤʤȡӥåȤüФ뤬
üϹڤ夲롣äơԤƬ(ʻ0BBǤ)Ͼ
Хȶ·Ƥ롣

2.3 Ǥä³ơ֥

NEG_CONJϡ3Ĥʻʻֹȡ³ڤ(NEG_FLAG=0)ͥ٤򲼤
(NEG_FLAG=1)ޤȤơ32ӥåȤˤΤǤ롣줬¤Ǥ롣
RKϤΥơ֥򤽤ΤޤʬõΤǡɬǤʤФʤʤ


3. ؽե

3.1 ι¤

DMHEADER
    üΥإåȤޤäƱǤ롣ۤȤɤΥ쥳ɤϡб
    üΥ쥳ɤΥԡǤꡢꤵΤHD_DMNM,HD_CODM,
    HD_HSZǤ롣HD_SIZʤɤϰ̣ʤ
PERM_TABLE_SIZE(CARD32)
PERM_TABLE: PERMUTATION*nwrec PADDING
    PERMUTATION: CANDNUM(CARDn)*ncand_in_wrec
RUC_TABLE
    RUC_TABLE_SIZE(CARD32)
	RUC_TABLE_BODYζʬޤ᤿ȥ
    N_RUC(CARD32)
	RUC_TABLEΤºݤ˻ȤƤ륨ȥ
    FIRST_RUC(CARD32)
	ǽ(ĤޤǤŤ)Ȥ줿ֹ档N_RUC<RUT_SIZEξϥ
	(̾0)äƤ롣
    TM(CARD32)
	ߤΤȤ0äƤ褦Ǥ롣
    RUC_TABLE_BODY: RUC_ENTRY*n_ruc EMPTY_RUC_ENTRY*(ruc_table_size-n_ruc)
	RUC_ENTRY: CSN(CARD20) AGE(CARD20)
NV_AREA
    NV_SIZE(CARD32)
	NV_AREA_BODYζʬޤ᤿ȥ
    NV_COUNT(CARD32)
	NV_AREAΤºݤ˻ȤƤ륨ȥ
    NV_HASHTABLE_SIZE(CARD32)
	RKǻȤϥåơ֥礭򤳤ǻꤹ롣crfreqǺ
	32ˤʤ롣
    0(CARD32)
    NV_AREA_BODY: NV_ENTRY*nv_size EMPTY_NV_ENTRY*(nv_size-nv_count)
	NV_ENTRY: YOMILEN(CARD8) SPLITPOS(CARD8) YOMI(WCHAR*yomilen)

3.2 ơ֥

1ĤɤߤбνϼΤ褦˵Ͽ롣ncand=6ĤȤ롣
ǤǶȤ줿䤬3֡³0֡2֡4֡5֡1֤ǤäȤ롣
ΤȤֹ2ܤơ
6 0 4 8 10 2
Ȥ롣ơ0ʾncand*2ʲ(̤ǤϤʤ)οϿǤǾ
ӥåȿǡ6Ĥοɽ˵ͤǤǽο(Ǥ6)
(ӥåñ̤ǿ)ϡüΥΰLVOեɤ˽񤯡

䤬硢碌뤿ᡢncand*2롣5ܤ
6 0 4 8 12 2
Τ褦ˤ롣12ΰ֤Ǥꡢ̾ĹȤäƤ֤˿κǸ
˰ưƤ

ȾüʥӥåȤФ硢Хȶ˹礦褦ˡơ֥ΰֺǸ0롣

3.3 RUCơ֥

ǶѤϿƤĤΥȥϡֹ̤CSNȡǸ
ȤƤλ(tick)ȤˤʤäƤ롣1.5ǽҤ٤褦ˡCSNη׻ä
ᡢΥơ֥ƤʤäƤơ̷ϤʤΤΡä
ؽƤ

3.4 NVΰ

ʸڤĹؽΤΰǤ롣ĤΥȥϡʸɤߤȡʸڤ
֤Ȥ߹碌ǤꡢɤߤWCHARƥȤǵϿ롣


4. 

DMHEADER礭: 1024ХȰʲ(3.7devel1ޤ)̵(3.7devel2ʹ)
1ĤμФ礭: 8MB(=2^23)̤
1ĤΥڡ礭: 16KB(=2^14)̤crxdicǺä8KBˤʤ
ڡθ: 2048(=2^11)̤ڡ礭¤˶
ڡνơ֥ξ: 32Kbit(=2^15)̤¤
ɤߤĹ: 64(=2^6)ʸ̤
δĹ: 128(=2^7)ʸ̤
ʻμ: 512(=2^9)̤BBʤɤȤ⤦ʤʤ
Wrec礭: 8KB(=2^13)Х̤