コード例 #1
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int gu_lisa( void )
    {
    int r;

    r = lisa( gu_tyvi, gu_format, FSxSTR("gu") );
    if ( !r )
	    return(0);
    if ( !FSxSTRCMP(gu_format, FSxSTR("GU")) )            /* lk 54 */
	    {
	    r = lisa( gu_tyvi, FSxSTR("GEM"), FSxSTR("gem") );
	    if ( !r )
	        return(0);
	    r = lisa( gu_tyvi, FSxSTR("GE"), FSxSTR("ge") );
	    if ( !r )
	        return(0);
	    }
    else
	    {
	    r = lisa( gu_tyvi, FSxSTR("KEM"), FSxSTR("gem") );
	    if ( !r )
	        return(0);
	    r = lisa( gu_tyvi, FSxSTR("KE"), FSxSTR("ge") );
	    if ( !r )
	        return(0);
	    }
    return(1);
    }
コード例 #2
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int b_lisa( void )
    {
    int r;

    r = lisa( b_tyvi, b_format, FSxSTR("b") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("N"), FSxSTR("n") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("D"), FSxSTR("d") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR(""), FSxSTR("o") );       /* o on 0 (lk. 52, 53) */
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("KSIN"), FSxSTR("ksin") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("KSID"), FSxSTR("ksid") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("KS"), FSxSTR("ks") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("KSIME"), FSxSTR("ksime") );
    if ( !r )
	    return(0);
    r = lisa( b_tyvi, FSxSTR("KSITE"), FSxSTR("ksite") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #3
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int ma_lisa( void )
    {
    int r;

    r = lisa( ma_tyvi, ma_format, FSxSTR("ma") );
    if ( !r )
	    return(0);
    r = lisa( ma_tyvi, FSxSTR("VAT"), FSxSTR("vat") );      /* analoogiareegel (lk 53) */
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #4
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int sime_lisa( void )
    {
    int r;

    r = lisa( sime_tyvi, sime_format, FSxSTR("sime") );
    if ( !r )
	    return(0);
    if ( !FSxSTRCMP(sime_format, FSxSTR("IME")) )            /* lk 54 */
	    r = lisa( sime_tyvi, FSxSTR("ITE"), FSxSTR("site") );
    else
	    r = lisa( sime_tyvi, FSxSTR("SITE"), FSxSTR("site") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #5
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int me_lisa( void )
    {
    int r;

    r = lisa( me_tyvi, me_format, FSxSTR("me") );
    if ( !r )
	    return(0);
    r = lisa( me_tyvi, FSxSTR("TE"), FSxSTR("te") );
    if ( !r )
	    return(0);
    r = lisa( me_tyvi, FSxSTR("VAD"), FSxSTR("vad") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #6
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int sin_lisa( void )
    {
    int r;

    r = lisa( sin_tyvi, sin_format, FSxSTR("sin") );
    if ( !r )
	    return(0);
    if ( !FSxSTRCMP(sin_format, FSxSTR("IN")) )            /* lk 54 */
	    r = lisa( sin_tyvi, FSxSTR("ID"), FSxSTR("sid") );
    else
	    r = lisa( sin_tyvi, FSxSTR("SID"), FSxSTR("sid") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #7
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int takse_lisa( void )
    {
    int r;

    r = lisa( takse_tyvi, takse_format, FSxSTR("takse") );
    return(r);
    }
コード例 #8
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int s_lisa( void )
    {
    int r;

    r = lisa( s_tyvi, s_format, FSxSTR("s") );
    return(r);
    }
コード例 #9
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int v_lisa( void )
    {
    int r;

    r = lisa( v_tyvi, v_format, FSxSTR("v") );
    return(r);
    }
コード例 #10
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int da_lisa( void )
    {
    int r;

    r = lisa( da_tyvi, da_format, FSxSTR("da") );
    if ( !r )
	    return(0);
    if ( !FSxSTRCMP(da_format, FSxSTR("DA")) )            /* lk 54 */
	    r = lisa( da_tyvi, FSxSTR("DES"), FSxSTR("des") );
    else if ( !FSxSTRCMP(da_format, FSxSTR("TA")) )
	    r = lisa( da_tyvi, FSxSTR("TES"), FSxSTR("des") );
    else
	    r = lisa( da_tyvi, FSxSTR("ES"), FSxSTR("des") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #11
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int nud_lisa( void )
    {
    int r;

    r = lisa( nud_tyvi, FSxSTR("NUD"), FSxSTR("nud") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUKSIN"), FSxSTR("nuksin") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUKSID"), FSxSTR("nuksid") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUKS"), FSxSTR("nuks") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUKSIME"), FSxSTR("nuksime") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUKSITE"), FSxSTR("nuksite") );
    if ( !r )
	    return(0);
    r = lisa( nud_tyvi, FSxSTR("NUVAT"), FSxSTR("nuvat") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #12
0
ファイル: lihtlisa.cpp プロジェクト: Filosoft/vabamorf
int lisa_ainsus( FSXSTRING *stem )
    {
    int  i,r;
    FSXSTRING tmp1;

    for (i=0; i < 11; i++)   /* lisa kõik gen-st tulenevad ainsuse vormid */
	    {
        tmp1 = (const FSxCHAR *)ains_vorm;
        tmp1 += analog_v[i];
	    r = lisa( stem, analog_l[i], (FSxCHAR *)(const FSxCHAR *)tmp1 );
	    if ( !r )
	        return( 0 );
	    }
    r = lisa( stem, FSxSTR("D"), FSxSTR("pl n") );     /* lisa mitmuse nimetav */
    if ( !r )
	    return( 0 );
    return(1);
    }
コード例 #13
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int mata_lisa( void )
    {
    int r;

    r = lisa( mata_tyvi, mata_format, FSxSTR("mata") );
    if ( !r )
	    return(0);
    r = lisa( mata_tyvi, FSxSTR("MAS"), FSxSTR("mas") );
    if ( !r )
	    return(0);
    r = lisa( mata_tyvi, FSxSTR("MAST"), FSxSTR("mast") );
    if ( !r )
	    return(0);
    r = lisa( mata_tyvi, FSxSTR("MAKS"), FSxSTR("maks") );
    if ( !r )
	    return(0);
    return(1);
    }
コード例 #14
0
ファイル: lihtlisa.cpp プロジェクト: Filosoft/vabamorf
int lisa_mitmus( FSXSTRING *stem, const FSxCHAR *tunnus, int mitu )
    {
    int  i,r;
    FSXSTRING tmp1;
    FSXSTRING lop;

    for (i=0; i < mitu; i++)   /* lisa kõik mitm. gen-st tulenevad vormid */
	    {
	    if (i >= 11 )  /* yle 11 ei saa olla */
	        break;
        tmp1 = (const FSxCHAR *)mitm_vorm;
        tmp1 += analog_v[i];
        lop = tunnus;     /* tunnus = de, te, i vms mitmuse tunnus */
        lop += analog_l[i];
	    r = lisa( stem, (FSxCHAR *)(const FSxCHAR *)lop, (FSxCHAR *)(const FSxCHAR *)tmp1 );
	    if ( !r )
	        return( 0 );
	    }
    return(1);
    }
コード例 #15
0
ファイル: vparpar.cpp プロジェクト: theranger/vabamorf
int vparpar( void )
    {
    int r;

    if (tyybinr != 27)
	    return(0);
    r = par27();
    if (r)
	    return(0);       /* par27() peab andma tagasi veateate */
    r = lisa( da_tyvi, da_format, FSxSTR("da") );
    r = lisa( b_tyvi, b_format, FSxSTR("b") );
    r = lisa( tud_tyvi, tud_format, FSxSTR("tud") );
    r = lisa( gu_tyvi, gu_format, FSxSTR("gu") );
    r = lisa( me_tyvi, me_format, FSxSTR("me") );
    r = lisa( takse_tyvi, takse_format, FSxSTR("takse") );
    if ( !FSxSTRCMP(da_format, FSxSTR("DA")) )            /* lk 54 */
	    r = lisa( da_tyvi, FSxSTR("DES"), FSxSTR("des") );
    else if ( !FSxSTRCMP(da_format, FSxSTR("TA")) )
	    r = lisa( da_tyvi, FSxSTR("TES"), FSxSTR("des") );
    else
	    r = lisa( da_tyvi, FSxSTR("ES"), FSxSTR("des") );
    if ( !FSxSTRCMP(gu_format, FSxSTR("GU")) )            /* lk 54 */
	    {
	    r = lisa( gu_tyvi, FSxSTR("GEM"), FSxSTR("gem") );
	    r = lisa( gu_tyvi, FSxSTR("GE"), FSxSTR("ge") );
	    }
    else
	    {
	    r = lisa( gu_tyvi, FSxSTR("KEM"), FSxSTR("gem") );
	    r = lisa( gu_tyvi, FSxSTR("KE"), FSxSTR("ge") );
	    }
    r = lisa( gu_tyvi, FSxSTR("NUD"), FSxSTR("nud") );
    r = lisa( gu_tyvi, FSxSTR("NUKSIN"), FSxSTR("nuksin") );
    r = lisa( gu_tyvi, FSxSTR("NUKSID"), FSxSTR("nuksid") );
    r = lisa( gu_tyvi, FSxSTR("NUKS"), FSxSTR("nuks") );
    r = lisa( gu_tyvi, FSxSTR("NUKSIME"), FSxSTR("nuksime") );
    r = lisa( gu_tyvi, FSxSTR("NUKSITE"), FSxSTR("nuksite") );
    r = lisa( gu_tyvi, FSxSTR("NUKSID"), FSxSTR("nuksid") );
    r = lisa( gu_tyvi, FSxSTR("NUVAT"), FSxSTR("nuvat") );
    r = lisa( b_tyvi, FSxSTR("N"), FSxSTR("n") );
    r = lisa( b_tyvi, FSxSTR("D"), FSxSTR("d") );
    r = lisa( b_tyvi, FSxSTR(""), FSxSTR("o") );       /* o on 0 (lk. 52, 53) */
    r = lisa( b_tyvi, FSxSTR("KSIN"), FSxSTR("ksin") );
    r = lisa( b_tyvi, FSxSTR("KSID"), FSxSTR("ksid") );
    r = lisa( b_tyvi, FSxSTR("KS"), FSxSTR("ks") );
    r = lisa( b_tyvi, FSxSTR("KSIME"), FSxSTR("ksime") );
    r = lisa( b_tyvi, FSxSTR("KSITE"), FSxSTR("ksite") );
    r = lisa( b_tyvi, FSxSTR("KSID"), FSxSTR("ksid") );
    r = lisa( me_tyvi, FSxSTR("TE"), FSxSTR("te") );
    r = lisa( me_tyvi, FSxSTR("VAD"), FSxSTR("vad") );
    if ( !FSxSTRCMP(tud_format, FSxSTR("TUD")) )            /* lk 54 */
	    {
	    r = lisa( tud_tyvi, FSxSTR("TI"), FSxSTR("ti") );
	    r = lisa( tud_tyvi, FSxSTR("TAKS"), FSxSTR("taks") );
	    r = lisa( tud_tyvi, FSxSTR("TUKS"), FSxSTR("tuks") );
	    r = lisa( tud_tyvi, FSxSTR("TAVAT"), FSxSTR("tavat") );
	    r = lisa( tud_tyvi, FSxSTR("TUVAT"), FSxSTR("tuvat") );
	    r = lisa( tud_tyvi, FSxSTR("TAGU"), FSxSTR("tagu") );
	    r = lisa( tud_tyvi, FSxSTR("TAMA"), FSxSTR("tama") );
	    r = lisa( tud_tyvi, FSxSTR("TA"), FSxSTR("ta") );
	    r = lisa( tud_tyvi, FSxSTR("TAV"), FSxSTR("tav") );
	    }
    else
	    {
	    r = lisa( tud_tyvi, FSxSTR("DI"), FSxSTR("ti") );
	    r = lisa( tud_tyvi, FSxSTR("DAKS"), FSxSTR("taks") );
	    r = lisa( tud_tyvi, FSxSTR("DUKS"), FSxSTR("tuks") );
	    r = lisa( tud_tyvi, FSxSTR("DAVAT"), FSxSTR("tavat") );
	    r = lisa( tud_tyvi, FSxSTR("DUVAT"), FSxSTR("tuvat") );
	    r = lisa( tud_tyvi, FSxSTR("DAGU"), FSxSTR("tagu") );
	    r = lisa( tud_tyvi, FSxSTR("DAMA"), FSxSTR("tama") );
	    r = lisa( tud_tyvi, FSxSTR("DA"), FSxSTR("ta") );
	    r = lisa( tud_tyvi, FSxSTR("DAV"), FSxSTR("tav") );
	    }
    return(1);
    }
コード例 #16
0
ファイル: kogupara.cpp プロジェクト: theranger/vabamorf
int tud_lisa( void )
    {
    int r;

    r = lisa( tud_tyvi, tud_format, FSxSTR("tud") );
    if ( !r )
	    return(0);
    if ( !FSxSTRCMP(tud_format, FSxSTR("TUD")) )            /* lk 54 */
	    {
	    r = lisa( tud_tyvi, FSxSTR("TI"), FSxSTR("ti") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TAKS"), FSxSTR("taks") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TUKS"), FSxSTR("tuks") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TAVAT"), FSxSTR("tavat") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TUVAT"), FSxSTR("tuvat") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TAGU"), FSxSTR("tagu") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TAMA"), FSxSTR("tama") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TA"), FSxSTR("ta") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("TAV"), FSxSTR("tav") );
	    if ( !r )
	        return(0);
	    }
    else
	    {
	    r = lisa( tud_tyvi, FSxSTR("DI"), FSxSTR("ti") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DAKS"), FSxSTR("taks") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DUKS"), FSxSTR("tuks") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DAVAT"), FSxSTR("tavat") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DUVAT"), FSxSTR("tuvat") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DAGU"), FSxSTR("tagu") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DAMA"), FSxSTR("tama") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DA"), FSxSTR("ta") );
	    if ( !r )
	        return(0);
	    r = lisa( tud_tyvi, FSxSTR("DAV"), FSxSTR("tav") );
	    if ( !r )
	        return(0);
	    }
    return(1);
    }
コード例 #17
0
ファイル: nomnul.cpp プロジェクト: Filosoft/vabamorf
int nomnul( FSXSTRING *inbuf )
    {
    int alg, lop, ja, frmt;
    int  i;
    FSXSTRING buff, yks_tk, tyvi, lp;

    buff = (const FSxCHAR *)(*inbuf);
    alg = buff.Find(FSxSTR("|"));
    buff = (const FSxCHAR *)buff.Mid(alg+1);
    for (i=0; i < 29; i++)           /* vt kõiki selle kirje sõnu */
	    {
        lop = buff.Find(FSxSTR(","));
	    if ( lop==-1 )
	        {
	        printf("\n0-muuttyybi failis vale arv sõnu ");
	        return(0);
	        }
        yks_tk = (const FSxCHAR *)buff.Left(lop);
        buff = (const FSxCHAR *)buff.Mid(lop+2);
//	    if ( !strcmp( alg, "--" ) )        /* seda vormi ei moodustata */
        if (yks_tk == FSxSTR("--"))
	        {
	        continue;
	        }
        ja = yks_tk.Find(FSxSTR(" & "));
	    if (ja!=-1)
	        {
            FSXSTRING tyvi1;

            tyvi1 = (const FSxCHAR *)yks_tk.Left(ja);
            yks_tk = (const FSxCHAR *)yks_tk.Mid(ja+3);
            frmt = tyvi1.Find(FSxSTR("["));
	        if ( frmt==-1 )                 /* on 0-lõpp */
		        lisa( &tyvi1, FSxSTR(""), vorm[i] );
	        else
		        {
                lp = (const FSxCHAR *)tyvi1.Mid(frmt+1);
                tyvi1 = (const FSxCHAR *)tyvi1.Left(frmt);
		        lisa( &tyvi1, (FSxCHAR *)(const FSxCHAR *)lp, vorm[i] );
		        }
	        }
// maksimaalselt on võimalik 3 paralleelvormi
        ja = yks_tk.Find(FSxSTR(" & "));
	    if (ja!=-1)
	        {
            FSXSTRING tyvi1;

            tyvi1 = (const FSxCHAR *)yks_tk.Left(ja);
            yks_tk = (const FSxCHAR *)yks_tk.Mid(ja+3);
            frmt = tyvi1.Find(FSxSTR("["));
	        if ( frmt==-1 )                 /* on 0-lõpp */
		        lisa( &tyvi1, FSxSTR(""), vorm[i] );
	        else
		        {
                lp = (const FSxCHAR *)tyvi1.Mid(frmt+1);
                tyvi1 = (const FSxCHAR *)tyvi1.Left(frmt);
		        lisa( &tyvi1, (FSxCHAR *)(const FSxCHAR *)lp, vorm[i] );
		        }
	        }
        frmt = yks_tk.Find(FSxSTR("["));
	    if ( frmt==-1 )                 /* on 0-lõpp */
		    lisa( &yks_tk, FSxSTR(""), vorm[i] );
	    else
	        {
            lp = (const FSxCHAR *)yks_tk.Mid(frmt+1);
            yks_tk = (const FSxCHAR *)yks_tk.Left(frmt);
		    lisa( &yks_tk, (FSxCHAR *)(const FSxCHAR *)lp, vorm[i] );
	        }
	    }
    return(1);
    }