6

我目前正在研究最适合在我正在构建的应用程序中使用的字典。

检查与 Sublime Text 2 捆绑的字典,文件格式如您所料 - 按字母顺序排列的单词列表。然而,很多这些词都附加了额外的信息。以这个片段为例:

abaft
abbreviation/M
abdicate/DNGSn
Abelard/M
abider/M
Abidjan
ablaze
abloom
aboveground
abrader/M
Abram/M
abreaction/MS
abrogator/MS
abscond/DRSG
absinthe/MS
absoluteness/S
absorbency/SM
abstract/ShTVDPiGY
absurdness/S

没有结果的谷歌搜索没有阐明斜线 (/) 后面的字母是什么意思。

也许他们暗示了这个词的性别,但这只是一个猜测,我更愿意阅读对其含义的正式解释。

有没有人遇到过这些?

4

2 回答 2

6

斜线后面的字母称为词缀。这些编码可以是可应用于根词的前缀或后缀。

有关这些词缀可用于什么的很好的解释和示例,请参阅此博客文章。

另一个要看的地方aspell手册。

于 2013-09-18T14:17:47.857 回答
5

TLDR.dic :文件中斜杠后面的每个字母都是.aff

https://superuser.com/a/633869/367530

每个规则都在该语言的 .aff 文件中。规则有两种形式:后缀的 SFX 和前缀的 PFX。每行以 PFX/SFX 开头,然后是规则字母标识符(字典文件中单词后面的标识符:

PFX [rule_letter_identifier] [combineable_flag] [number_of_rule_lines_that_follow]

您通常可以忽略可组合标志,它是 Y 或 N,取决于它是否可以与其他规则组合。然后有一些行(由 表示)列出了该规则在不同情况下如何应用的不同可能性。它看起来像这样:

PFX [rule_letter_identifier] [number_of_letters_to_delete] [what_to_add] [when_to_add_it]

例如:

  • SFX B Y 3
  • SFX B 0 able [^aeiou]
  • SFX B 0 able ee
  • SFX B e able [^aeiou]e

如果B是单词后面的字母之一,即someword/B,那么这是可以应用的规则之一。可能发生三种可能性(因为有三行)。只有一个适用:

  • able当单词的结尾不是(由 表示^)字母集合(由 表示[ ])中的一个字母ae,添加到末尾。例如,问题→可疑iou
  • 当单词的结尾是 时,将able 添加到末尾ee。例如,同意→同意。
  • 当单词的结尾不是元音 ( [^aeiou]) 后跟 an时,将able 添加到结尾e。字母e被剥离(之前的列)。例如,兴奋→兴奋。

PFX 规则是相同的,但适用于单词的开头而不是前缀。

于 2016-10-27T21:17:46.990 回答