You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
858 B
33 lines
858 B
#ifndef _DICT_H_
|
|
#define _DICT_H_
|
|
|
|
#include "word.h"
|
|
|
|
/**
|
|
* A dictionary is a hash table of
|
|
* - key: string
|
|
* - value: word
|
|
*
|
|
* Dictionary data can be loaded from files. Two type of dictionary
|
|
* files are supported:
|
|
* - character file: Each line contains a number and a character,
|
|
* the number is the frequency of the character.
|
|
* The frequency should NOT exceeds 65535.
|
|
* - word file: Each line contains a number and a word, the
|
|
* number is the character count of the word.
|
|
*/
|
|
|
|
namespace rmmseg {
|
|
/* Instead of making a class with only one instance, i'll not
|
|
* bother to make it a class here. */
|
|
|
|
namespace dict {
|
|
void add(Word *word);
|
|
bool load_chars(const char *filename);
|
|
bool load_words(const char *filename);
|
|
Word *get(const char *str, int len);
|
|
}
|
|
}
|
|
|
|
#endif /* _DICT_H_ */
|