summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-04-02 12:39:28 +0800
committerPeng Wu <alexepico@gmail.com>2013-04-02 12:39:28 +0800
commit9e910111bfb85e34284413a9e377497ee18fa5a2 (patch)
tree77ad492162330b694e53222fd02da626237ad600
parent64bb2122c263cd2680c839a3841fd3604e9373e2 (diff)
downloadlibpinyin-9e910111bfb85e34284413a9e377497ee18fa5a2.tar.gz
libpinyin-9e910111bfb85e34284413a9e377497ee18fa5a2.tar.xz
libpinyin-9e910111bfb85e34284413a9e377497ee18fa5a2.zip
update import_k_mixture_model.cpp
-rw-r--r--utils/training/import_k_mixture_model.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/utils/training/import_k_mixture_model.cpp b/utils/training/import_k_mixture_model.cpp
index 1e62889..f842764 100644
--- a/utils/training/import_k_mixture_model.cpp
+++ b/utils/training/import_k_mixture_model.cpp
@@ -20,10 +20,20 @@
*/
#include <stdio.h>
+#include <locale.h>
#include "pinyin_internal.h"
#include "utils_helper.h"
#include "k_mixture_model.h"
+static const gchar * k_mixture_model_filename = NULL;
+
+static GOptionEntry entries[] =
+{
+ {"k-mixture-model-file", 0, 0, G_OPTION_ARG_FILENAME, &k_mixture_model_filename, "k mixture model file", NULL},
+ {NULL}
+};
+
+
enum LINE_TYPE{
BEGIN_LINE = 1,
END_LINE,
@@ -50,9 +60,6 @@ bool parse_bigram(FILE * input, PhraseLargeTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
KMixtureModelBigram * bigram);
-void print_help(){
- printf("Usage: import_k_mixture_model [--k-mixture-model-file <FILENAME>]\n");
-}
static ssize_t my_getline(FILE * input){
ssize_t result = getline(&linebuf, &len, input);
@@ -250,25 +257,18 @@ bool parse_bigram(FILE * input, PhraseLargeTable2 * phrase_table,
}
int main(int argc, char * argv[]){
- int i = 1;
- const char * k_mixture_model_filename = NULL;
FILE * input = stdin;
- while ( i < argc ){
- if ( strcmp ("--help", argv[i]) == 0 ){
- print_help();
- exit(0);
- } else if ( strcmp ("--k-mixture-model-file", argv[i]) == 0 ){
- if ( ++i > argc ){
- print_help();
- exit(EINVAL);
- }
- k_mixture_model_filename = argv[i];
- } else {
- print_help();
- exit(EINVAL);
- }
- ++i;
+ setlocale(LC_ALL, "");
+
+ GError * error = NULL;
+ GOptionContext * context;
+
+ context = g_option_context_new("- import k mixture model");
+ 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);
}
PhraseLargeTable2 phrase_table;