From 2035e97980062188b51e2e2b3631ce4cd1febda1 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Tue, 2 Apr 2013 11:23:09 +0800 Subject: update gen_deleted_ngram.cpp --- utils/training/gen_deleted_ngram.cpp | 46 ++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 26 deletions(-) (limited to 'utils/training/gen_deleted_ngram.cpp') diff --git a/utils/training/gen_deleted_ngram.cpp b/utils/training/gen_deleted_ngram.cpp index 157266a..0437a68 100644 --- a/utils/training/gen_deleted_ngram.cpp +++ b/utils/training/gen_deleted_ngram.cpp @@ -27,36 +27,30 @@ #include "pinyin_internal.h" #include "utils_helper.h" -void print_help(){ - printf("Usage: gen_deleted_ngram [--skip-pi-gram-training]\n"); - printf(" [--deleted-bigram-file ]\n"); -} +static gboolean train_pi_gram = TRUE; +static const gchar * bigram_filename = "deleted_bigram.db"; -int main(int argc, char * argv[]){ - int i = 1; - bool train_pi_gram = true; - const char * bigram_filename = "deleted_bigram.db"; +static GOptionEntry entries[] = +{ + {"skip-pi-gram-training", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &train_pi_gram, "skip pi-gram training", NULL}, + {"deleted-bigram-file", 0, 0, G_OPTION_ARG_FILENAME, &bigram_filename, "deleted bi-gram file", NULL}, + {NULL} +}; + +int main(int argc, char * argv[]){ setlocale(LC_ALL, ""); - while ( i < argc ){ - if ( strcmp("--help", argv[i]) == 0){ - print_help(); - exit(0); - } else if ( strcmp("--skip-pi-gram-training", argv[i]) == 0 ){ - train_pi_gram = false; - } else if ( strcmp("--deleted-bigram-file", argv[i]) == 0){ - if ( ++i >= argc ) { - print_help(); - exit(EINVAL); - } - bigram_filename = argv[i]; - } else { - print_help(); - exit(EINVAL); - } - ++i; + + GError * error = NULL; + GOptionContext * context; + + context = g_option_context_new("- generate deleted n-gram"); + g_option_context_add_main_entries(context, entries, NULL); + if (!g_option_context_parse(context, &argc, &argv, &error)) { + g_print("option parsing failed:%s\n", error->message); + exit(EINVAL); } - + /* load phrase table. */ PhraseLargeTable2 phrase_table; MemoryChunk * new_chunk = new MemoryChunk; -- cgit