summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-09-03 16:24:26 +0800
committerPeng Wu <alexepico@gmail.com>2012-09-03 16:24:26 +0800
commitdd053f6ea1dafd6cec9d9d5a011bba5ef8d50dfc (patch)
tree2bbcee5ca4afb3eef6d0aaa436524aab3f37fa7e /utils
parent1289df5e2ebfd7a9b6a5aa0b4f1739c48527ce19 (diff)
downloadlibpinyin-dd053f6ea1dafd6cec9d9d5a011bba5ef8d50dfc.tar.gz
libpinyin-dd053f6ea1dafd6cec9d9d5a011bba5ef8d50dfc.tar.xz
libpinyin-dd053f6ea1dafd6cec9d9d5a011bba5ef8d50dfc.zip
update utils/storage
Diffstat (limited to 'utils')
-rw-r--r--utils/storage/gen_binary_files.cpp2
-rw-r--r--utils/storage/import_interpolation.cpp29
2 files changed, 17 insertions, 14 deletions
diff --git a/utils/storage/gen_binary_files.cpp b/utils/storage/gen_binary_files.cpp
index 725c3f2..232e57f 100644
--- a/utils/storage/gen_binary_files.cpp
+++ b/utils/storage/gen_binary_files.cpp
@@ -50,7 +50,7 @@ int main(int argc, char * argv[]){
/* generate pinyin index*/
pinyin_option_t options = USE_TONE;
ChewingLargeTable chewinglargetable(options);
- PhraseLargeTable phraselargetable;
+ PhraseLargeTable2 phraselargetable;
/* generate phrase index */
FacadePhraseIndex phrase_index;
diff --git a/utils/storage/import_interpolation.cpp b/utils/storage/import_interpolation.cpp
index 5325b95..13e6f25 100644
--- a/utils/storage/import_interpolation.cpp
+++ b/utils/storage/import_interpolation.cpp
@@ -40,10 +40,10 @@ static GHashTable * required = NULL;
static char * linebuf = NULL;
static size_t len = 0;
-bool parse_unigram(FILE * input, PhraseLargeTable * phrases,
+bool parse_unigram(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index);
-bool parse_bigram(FILE * input, PhraseLargeTable * phrases,
+bool parse_bigram(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
Bigram * bigram);
@@ -56,7 +56,7 @@ static ssize_t my_getline(FILE * input){
return result;
}
-bool parse_body(FILE * input, PhraseLargeTable * phrases,
+bool parse_body(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
Bigram * bigram){
taglib_push_state();
@@ -73,11 +73,11 @@ bool parse_body(FILE * input, PhraseLargeTable * phrases,
goto end;
case GRAM_1_LINE:
my_getline(input);
- parse_unigram(input, phrases, phrase_index);
+ parse_unigram(input, phrase_table, phrase_index);
goto retry;
case GRAM_2_LINE:
my_getline(input);
- parse_bigram(input, phrases, phrase_index, bigram);
+ parse_bigram(input, phrase_table, phrase_index, bigram);
goto retry;
default:
assert(false);
@@ -89,7 +89,7 @@ bool parse_body(FILE * input, PhraseLargeTable * phrases,
return true;
}
-bool parse_unigram(FILE * input, PhraseLargeTable * phrases,
+bool parse_unigram(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index){
taglib_push_state();
@@ -101,7 +101,8 @@ bool parse_unigram(FILE * input, PhraseLargeTable * phrases,
case GRAM_1_ITEM_LINE:{
/* handle \item in \1-gram */
const char * string = (const char *) g_ptr_array_index(values, 0);
- phrase_token_t token = taglib_string_to_token(phrases, string);
+ phrase_token_t token = taglib_string_to_token
+ (phrase_table, phrase_index, string);
gpointer value = NULL;
assert(g_hash_table_lookup_extended(required, "count", NULL, &value));
glong count = atol((const char *)value);
@@ -122,7 +123,7 @@ bool parse_unigram(FILE * input, PhraseLargeTable * phrases,
return true;
}
-bool parse_bigram(FILE * input, PhraseLargeTable * phrases,
+bool parse_bigram(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
Bigram * bigram){
taglib_push_state();
@@ -137,9 +138,11 @@ bool parse_bigram(FILE * input, PhraseLargeTable * phrases,
/* handle \item in \2-gram */
/* two tokens */
const char * string = (const char *) g_ptr_array_index(values, 0);
- phrase_token_t token1 = taglib_string_to_token(phrases, string);
+ phrase_token_t token1 = taglib_string_to_token
+ (phrase_table, phrase_index, string);
string = (const char *) g_ptr_array_index(values, 1);
- phrase_token_t token2 = taglib_string_to_token(phrases, string);
+ phrase_token_t token2 = taglib_string_to_token
+ (phrase_table, phrase_index, string);
gpointer value = NULL;
/* tag: count */
@@ -197,7 +200,7 @@ int main(int argc, char * argv[]){
FILE * input = stdin;
const char * bigram_filename = "bigram.db";
- PhraseLargeTable phrases;
+ PhraseLargeTable2 phrase_table;
MemoryChunk * chunk = new MemoryChunk;
bool retval = chunk->load("phrase_index.bin");
@@ -205,7 +208,7 @@ int main(int argc, char * argv[]){
fprintf(stderr, "open phrase_index.bin failed!\n");
exit(ENOENT);
}
- phrases.load(chunk);
+ phrase_table.load(chunk);
FacadePhraseIndex phrase_index;
if (!load_phrase_index(&phrase_index))
@@ -247,7 +250,7 @@ int main(int argc, char * argv[]){
result = my_getline(input);
if ( result != -1 )
- parse_body(input, &phrases, &phrase_index, &bigram);
+ parse_body(input, &phrase_table, &phrase_index, &bigram);
taglib_fini();