#include
#include
#include
#define vortlongo 1000
#define npronomoj 2
#define novortoj 24
char pronomoj[npronomoj][2][5]={{"li","ri"},{"^si","ri"}};
char ovortoj[novortoj][2][10]={
{"av","avi^c"},
{"edz","edzi^c"},
{"av","avi^c"},
{"edz","edzi^c"},
{"fian^c","fian^ci^c"},
{"filin","gefil"},
{"fil","gefil"},
{"frat","frati^c"},
{"kuzin","kuz"},
{"nepin","nep"},
{"nevin","nev"},
{"onklin","onkl"},
{"patr","patri^c"},
{"vidvin","vidv"},
{"bubin","bub"},
{"knabin","knab"},
{"vir","viri^c"},
{"fra^ulin","fra^ul"},
{"graf","grafi^c"},
{"princin","princ"},
{"re^g","re^gi^c"},
{"sinjorin","sinjor"},
{"amikin","amik"},
{"mona^h","mona^hi^c"}};
// etc...
// - avo edzo fian^co filo frato kuzo nepo nevo onklo patro vidvo
// - bubo knabo viro
// - fra^ulo grafo princo re^go sinjoro
// - amiko
int traduku(char *vorto);
int main(int argc, char *argv[])
{ FILE *F;
if (argc==1) F=stdin;
if (argc==2) if (strcmp(argv[1],"h")==0){ printf("riismigu -- julio 1996 -- Michiel Meeuwissen \n"
"uzu: riismigu teksto.tks > teksto.ri \n"
"au ekz.: type teksto.tks | riismigu > teksto.ri\n");
return 1;
}
if (argc==2) if ( (F=fopen(argv[1],"rt")) == NULL) { printf("%s nemalfermebla",argv[1]); return 1;}
char c;
char vorto[vortlongo];
unsigned lon;
unsigned n=0;
vorto[0]='\0';
while(fscanf(F, "%c",&c)!=EOF)
{
if (c==' ' || c==',' || c=='.' || c==';' || c=='\n' || c=='\0' || c=='}' || c=='{'
|| c=='(' || c==')' || c=='[' || c==']' || c=='`' || c=='\'' ||
c=='"' )
{
// printf("{%s}",vorto);
if (strlen(vorto)>1) n+=traduku(vorto);
printf("%s%c",vorto,c); vorto[0]='\0';
}
else { lon=strlen(vorto); vorto[lon]=c; vorto[lon+1]='\0';}
}
printf("\n%% %s: %u aliigoj\n",argv[0],n);
fclose(F);
return 0;
}
char *majusklu(char *vorto)
{ vorto[0]=toupper(vorto[0]);
if(vorto[0]=='^') vorto[1]=toupper(vorto[1]);
return vorto;
}
char *vortmajusklu(char *vorto)
{ int i=0;
while(vorto[i]!='\0') {vorto[i]=toupper(vorto[i]); i++;}
return vorto;
}
int komparu(char *vorto, char *malnova, char *nova)
{ char ilomn[vortlongo];
// printf("{%s,%s,%s}",vorto,malnova,nova);
strcpy(ilomn,malnova);
if (strcmp(ilomn,vorto)==0) { strcpy(vorto,nova); return 1;}
majusklu(ilomn);
if (strcmp(ilomn,vorto)==0) { majusklu(strcpy(vorto,nova)); return 1;}
vortmajusklu(ilomn);
if (strcmp(ilomn,vorto)==0) { vortmajusklu(strcpy(vorto,nova)); return 1;}
return 0;
}
int traduku(char *vorto)
{
// printf("{%s,%s,%s}",vorto,malnova,nova);
int i;
char nova[vortlongo];
char malnova[vortlongo];
for(i=0; i               ( geocities.com/athens/Acropolis)                   ( geocities.com/athens)