读完 Hunspell 文档后,我开始查看一组 Hunspell 字典文件中看似最高级的实例,似乎匈牙利语(Hun-garian Spell)是最强大的。
我有几个问题似乎在 17 页的 PDF 文档中没有得到解答(除了源代码之外,这是 Hunspell 上唯一的真实资源)。
例如数字
1547
。我们在这里看到它:
AF @ # 1547
并且它用于 PFX,但不用于 SFX:
PFX r 0 legújra/1547 . 24583
PFX r 0 legújjá/1547 . 24584
PFX r 0 legössze/1547 . 24585
PFX r 0 legát/1547 . 24586
PFX r 0 legáltal/1547 . 24587
PFX r 0 legvégig/1547 . 24588
PFX r 0 legvégbe/1547 . 24589
...
据我所知,斜杠后面的东西是一个 flag,但是这个标志是在哪里定义的呢? AF @ # 1547
行有 1547 作为注释,所以不确定。进一步查看
AF
,发现
AF 1548
的第一行意味着后面有 1548 个 AF 值,而
AF @
是列表中倒数第二个,所以也许就是这样?!那么
@
符号什么时候代表
AF
呢,据说是:
Hunspell 可以用词缀规则中的序数替换词缀标志集(别名压缩,请参阅我没有关注......
makealias
工具)。
2.
PFX
最后一位十进制数字的含义?
PFX r 0 legát/1547 . 24586
这是 24586
文件中唯一出现
.aff
的位置。那么这意味着什么呢?该位置的所有数字都相同。
.dic
文件中的第#24586行似乎也不相关:
lódenkabát/39 1
/number
.dic
是什么意思?关于最后一个例子:lódenkabát/39 1
/39
和
1
是什么意思?这些定义在哪里,我假设在 PFX 39
文件中找到了 SFX 39
或 .aff
定义,但我似乎没有看到。(和其他 alias2 文件)周围的测试了解更多信息: 文件
alias2.aff:
AF 2
AF AB
AF A
AM 3
AM is:affix_x
AM ds:affix_y
AM po:noun xx:other_data
SFX A Y 1
SFX A 0 x . 1
SFX B Y 1
SFX B 0 y/2 . 2
:
1
foo/1 3
:
foo
foox
fooy
fooyx
:
> foo
analyze(foo) = st:foo po:noun xx:other_data
stem(foo) = foo
> foox
analyze(foox) = st:foo po:noun xx:other_data is:affix_x
stem(foox) = foo
> fooy
analyze(fooy) = st:foo po:noun xx:other_data ds:affix_y
stem(fooy) = fooy
> fooyx
analyze(fooyx) = st:foo po:noun xx:other_data ds:affix_y is:affix_x
stem(fooyx) = fooy
说明
AM
和
AF
开始时的行号!这对我来说太疯狂了,太脆弱了。但无论如何....SFX A 0 x . 1
1
指的是
AM morphological_fields
(来自文档)。所以它将这个后缀标记为AM 1
,这是第一个AM:is:affix_x
。这对应于我们的 alias2.morph
文件,其中显示:> foox
analyze(foox) = st:foo po:noun xx:other_data is:affix_x
stem(foox) = foo
注意
is:affix_x
。
现在,foox
还有更多。