Show
Ignore:
Timestamp:
03/19/09 08:01:04 (16 years ago)
Author:
naoya_t
Message:

cabocha: +tree +token +chunk

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/gauche/cabocha-gauche-0.60pre4/cabocha.c

    r88 r89  
    99#include <gauche/extend.h> 
    1010 
     11#include <mecab.h> 
     12#include "mecab.h" 
    1113#include <cabocha.h> 
    1214#include "cabocha.h" 
     
    2527} 
    2628 
     29// cabocha_tree_t 
     30cabocha_tree_t* unwrap_cabocha_tree_t(ScmObj obj) 
     31{ 
     32  return SCM_CABOCHA_TREE(obj)->ctree; 
     33} 
     34ScmObj wrap_cabocha_tree_t(cabocha_tree_t *ctree) 
     35{ 
     36  ScmCaboChaTree *obj = SCM_NEW(ScmCaboChaTree); 
     37  SCM_SET_CLASS(obj, SCM_CLASS_CABOCHA_TREE); 
     38  obj->ctree = ctree; 
     39  return SCM_OBJ(obj); 
     40} 
     41 
     42// cabocha_chunk_t 
     43cabocha_chunk_t* unwrap_cabocha_chunk_t(ScmObj obj) 
     44{ 
     45  return SCM_CABOCHA_CHUNK(obj)->cchunk; 
     46} 
     47ScmObj wrap_cabocha_chunk_t(cabocha_chunk_t *cchunk) 
     48{ 
     49  ScmCaboChaChunk *obj = SCM_NEW(ScmCaboChaChunk); 
     50  SCM_SET_CLASS(obj, SCM_CLASS_CABOCHA_CHUNK); 
     51  obj->cchunk = cchunk; 
     52  return SCM_OBJ(obj); 
     53} 
     54 
     55// cabocha_token_t 
     56cabocha_token_t* unwrap_cabocha_token_t(ScmObj obj) 
     57{ 
     58  return SCM_CABOCHA_TOKEN(obj)->ctok; 
     59} 
     60ScmObj wrap_cabocha_token_t(cabocha_token_t *ctok) 
     61{ 
     62  ScmCaboChaToken *obj = SCM_NEW(ScmCaboChaToken); 
     63  SCM_SET_CLASS(obj, SCM_CLASS_CABOCHA_TOKEN); 
     64  obj->ctok = ctok; 
     65  return SCM_OBJ(obj); 
     66} 
     67 
     68/* mecab_node_t */ 
     69const mecab_node_t* unwrap_mecab_node_t(ScmObj obj) 
     70{ 
     71  return SCM_MECAB_NODE(obj)->mn; 
     72} 
     73ScmObj wrap_mecab_node_t(const mecab_node_t *mn) 
     74{ 
     75  ScmMeCabNode *obj = SCM_NEW(ScmMeCabNode); 
     76  SCM_SET_CLASS(obj, SCM_CLASS_MECAB_NODE); 
     77  obj->mn = mn; 
     78  return SCM_OBJ(obj); 
     79} 
    2780 
    2881/* APIs with (int argc, char **argv) */ 
     
    67120} 
    68121 
     122ScmObj Scm_MakeStringList(const char **strs, int size) 
     123{ 
     124  if (size==0) return SCM_NIL; 
     125  ScmObj p = Scm_Cons(SCM_MAKE_STR_COPYING(strs[size-1]),SCM_NIL); 
     126  for (int i=size-2; i>=0; i--) { 
     127    p = Scm_Cons(SCM_MAKE_STR_COPYING(strs[i]), p); 
     128  } 
     129  return p; 
     130} 
     131 
    69132/* 
    70133 * Module initialization function.