int expand_rootword(const char * ts, int wl, const char * ap, int al) { int i; int j; int nh=0; int nwl; char * strclass; for (i=0; i < numsfx; i++) { if (isdigit((stable[i].aep)->achar)) { char * ap1 = mystrdup(ap); strclass=strtok(ap1,","); while (strclass != NULL) { if (strcmp(strclass,(stable[i].aep)->numflag) == 0) { suf_add(ts, wl, stable[i].aep, stable[i].num); } strclass=strtok(NULL,","); } free(ap1); }else if (strchr(ap,(stable[i].aep)->achar)) { suf_add(ts, wl, stable[i].aep, stable[i].num); } } nh = numwords; if (nh > 1) { for (j=1;j<nh;j++){ if (wlist[j].pallow) { for (i=0; i < numpfx; i++) { if (strchr(ap,(ptable[i].aep)->achar)) { if ((ptable[i].aep)->xpflg & XPRODUCT) { nwl = strlen(wlist[j].word); pfx_add(wlist[j].word, nwl, ptable[i].aep, ptable[i].num); } } } } } } for (i=0; i < numpfx; i++) { if (strchr(ap,(ptable[i].aep)->achar)) { pfx_add(ts, wl, ptable[i].aep, ptable[i].num); } } return 0; }
int expand_rootword(const char * ts, int wl, const char * ap) { int i; int j; int nh=0; int nwl; for (i=0; i < numsfx; i++) { if (strchr(ap,(stable[i].aep)->achar)) { suf_add(ts, wl, stable[i].aep, stable[i].num); } } nh = numwords; if (nh > 1) { for (j=1;j<nh;j++){ if (wlist[j].pallow) { for (i=0; i < numpfx; i++) { if (strchr(ap,(ptable[i].aep)->achar)) { if ((ptable[i].aep)->xpflg & XPRODUCT) { nwl = strlen(wlist[j].word); pfx_add(wlist[j].word, nwl, ptable[i].aep, ptable[i].num); } } } } } } for (i=0; i < numpfx; i++) { if (strchr(ap,(ptable[i].aep)->achar)) { pfx_add(ts, wl, ptable[i].aep, ptable[i].num); } } return 0; }