Esempio n. 1
0
static  void    FindPhrases() {
//=============================

    msg_list    *msg;
    msg_word    *word;
    word_list   *w1;
    word_list   *w2;

    msg = HeadMsg;
    for(;;) {
        word = msg->msg;
        for(;;) {
            if( word == NULL ) break;
            w1 = word->word;
            if( word->link == NULL ) break;
            w2 = word->link->word;
            if( ( w1 != w2 ) &&
                ( w1->ref_count == w2->ref_count ) &&
                ( PhraseCount( msg, word, w1, w2 ) == w1->ref_count ) ) {
                Combine( w1, w2 );
            } else {
                word = word->link;
            }
        }
        msg = msg->link;
        if( msg == NULL ) break;
    }
}
Esempio n. 2
0
static  void    FindPhrases( void )
//=================================
{
    msg_list    *msg;
    msg_word    *word;
    word_list   *w1;
    word_list   *w2;

    for( msg = HeadMsg; (word = msg->msg) != NULL; msg = msg->link ) {
        while( word != NULL ) {
            w1 = word->word;
            if( word->link == NULL )
                break;
            w2 = word->link->word;
            if( ( w1 != w2 ) &&
                ( w1->ref_count == w2->ref_count ) &&
                ( PhraseCount( msg, word, w1, w2 ) == w1->ref_count ) ) {
                Combine( w1, w2 );
            } else {
                word = word->link;
            }
        }
    }
}