ブランチ janitor/segclass-eucjp-literal-removal として、下記の変更を行
いました。

anthy_seg_class_name は Debug 出力としてのみ使っているので、
日本語を含まない anthy_seg_class_sym を使うことにしています。

diff --git a/anthy/segclass.h b/anthy/segclass.h
index b8a2724..b58113e 100644
--- a/anthy/segclass.h
+++ b/anthy/segclass.h
@@ -43,8 +43,5 @@ enum seg_class {
   SEG_SIZE
 };

-const char* anthy_seg_class_name(enum seg_class sc);
 const char* anthy_seg_class_sym(enum seg_class sc);
-enum seg_class anthy_seg_class_by_name(const char *name);
-
 #endif
diff --git a/src-splitter/lattice.c b/src-splitter/lattice.c
index 0387727..0d1cab2 100644
--- a/src-splitter/lattice.c
+++ b/src-splitter/lattice.c
@@ -193,7 +193,7 @@ calc_probability(int cc, struct feature_list *fl)

   if (anthy_splitter_debug_flags() & SPLITTER_DEBUG_LN) {
     anthy_feature_list_print(fl);
-    printf(" cc=%d(%s), P=%f\n", cc, anthy_seg_class_name(cc), prob);
+    printf(" cc=%d(%s), P=%f\n", cc, anthy_seg_class_sym(cc), prob);
   }
   return prob;
 }
diff --git a/src-splitter/metaword.c b/src-splitter/metaword.c
index 0491035..723a677 100644
--- a/src-splitter/metaword.c
+++ b/src-splitter/metaword.c
@@ -93,7 +93,7 @@ anthy_do_print_metaword(struct splitter_context *sc,
   printf("*meta word type=%s(%d-%d):score=%d:seg_class=%s",
         anthy_metaword_type_tab[mw->type].name,
         mw->from, mw->len, mw->score,
-        anthy_seg_class_name(mw->seg_class));
+        anthy_seg_class_sym(mw->seg_class));
   print_metaword_features(mw->mw_features);
   printf(":can_use=%d*\n", mw->can_use);
   if (mw->wl) {
diff --git a/src-splitter/segclass.c b/src-splitter/segclass.c
index 6b440a4..f4dc02a 100644
--- a/src-splitter/segclass.c
+++ b/src-splitter/segclass.c
@@ -5,19 +5,24 @@
 #include <anthy/segclass.h>
 #include "wordborder.h"

-static struct {
-  const char *name;
-  const char *sym;
-} seg_class_tab[] = {
-  {"文頭", "H"}, {"文末", "T"}, {"文節", "B"},
-  {"接続語", "C"}, {"名詞+格助詞", "Nk"}, {"名詞+終端", "Ne"},
-  {"動詞+付属語", "Vf"}, {"動詞+終端", "Ve"}, {"形容詞", "A"},
-  {"形容動詞", "AJV"},
-  {"連用修飾", "YM"}, {"連体修飾", "TM"},
-  {"名詞", "N"}, {"名詞+付属語", "Nf"}, {"名詞+連用", "Ny"},
-  {"動詞+連用", "Vy"},
-  {"動詞+連体", "Vt"},
-  {NULL, NULL}
+const char *seg_class_tab[] = {
+  "H"          /* Head of sentence: Buntou */
+  "T"          /* Tail of sentence: Bunmatsu */
+  "B"          /* Segment: Bunsetsu */
+  "C"          /* Setsuzokugo */
+  "Nk"         /* Meishi+Kakujoshi */
+  "Ne"         /* Meishi+Shuutan */
+  "Vf"         /* Doushi+Fuzokugo */
+  "Ve"         /* Doushi+Shuutan */
+  "A"          /* Keiyoushi */
+  "AJV"                /* Keiyoudoushi */
+  "YM"         /* RenyouShuushoku */
+  "TM"         /* RentaiShuushoku */
+  "N"          /* Meishi */
+  "Nf"         /* Meishi+Fuzokugo */
+  "Ny"         /* Meishi+Renyou */
+  "Vy"         /* Doushi+Renyou */
+  "Vt"         /* Doushi+Rentai */
 };

 void
@@ -107,24 +112,7 @@ anthy_set_seg_class(struct word_list* wl)
   wl->seg_class = seg_class;
 }

-const char* anthy_seg_class_name(enum seg_class sc)
-{
-  return seg_class_tab[sc].name;
-}
-
 const char* anthy_seg_class_sym(enum seg_class sc)
 {
-  return seg_class_tab[sc].sym;
-}
-
-enum seg_class
-anthy_seg_class_by_name(const char *name)
-{
-  int i;
-  for (i = 0; seg_class_tab[i].name; i++) {
-    if (!strcmp(seg_class_tab[i].name, name)) {
-      return i;
-    }
-  }
-  return SEG_BUNSETSU;
+  return seg_class_tab[sc];
 }
diff --git a/src-splitter/wordlist.c b/src-splitter/wordlist.c
index 58c60bf..f677a3c 100644
--- a/src-splitter/wordlist.c
+++ b/src-splitter/wordlist.c
@@ -65,7 +65,7 @@ anthy_print_word_list(struct splitter_context *sc,
                  wl->part[PART_POSTFIX].len].c;
   anthy_putxstr(&xs);
   anthy_print_wtype(wl->part[PART_CORE].wt);
-  printf(" %s%s\n", anthy_seg_class_name(wl->seg_class),
+  printf(" %s%s\n", anthy_seg_class_sym(wl->seg_class),
         (wl->is_compound ? ",compound" : ""));
 }

-- 

_______________________________________________
Anthy-dev mailing list
Anthy-dev@lists.sourceforge.jp
http://lists.sourceforge.jp/mailman/listinfo/anthy-dev

メールによる返信