%module Juman %{ #include "juman.h" #include extern int Show_Opt2; extern FILE *Jumanrc_Fileptr; extern U_CHAR String[LENMAX]; void set_jumanrc_fileptr(char *option_rcfile, int look_rcdefault_p, int exit_rc_notfound_p); BOOL juman_init_rc(FILE *fp); void juman_init_etc(void); void juman_sent(void); char **print_homograph_path(FILE* output); void init() { Show_Opt2 = Op_E2; set_jumanrc_fileptr(NULL, TRUE, TRUE); juman_init_rc(Jumanrc_Fileptr); juman_init_etc(); } char* parse(char* str) { int size = 0; int i; char **output; char *result; strcpy((char*)String, str); juman_sent(); output = print_homograph_path(NULL); for(i = 0; output[i] != NULL; i++) size += strlen(output[i]); result = malloc(sizeof(char) * (size + 1)); result[0] = '\0'; for(i = 0; output[i] != NULL; i++){ strcat(result, output[i]); free(output[i]); } free(output); return result; } %} void init(); char* parse(char*);