Changeset 10c74af for app/src


Ignore:
Timestamp:
05/07/08 20:37:46 (17 years ago)
Author:
obrebski <obrebski@…>
Branches:
master, help
Children:
028d99f
Parents:
6b3be72
git-author:
obrebski <obrebski@…> (05/07/08 20:37:46)
git-committer:
obrebski <obrebski@…> (05/07/08 20:37:46)
Message:

gue sie kompiluje, ale nie dziala: Binary input error (?) To chyba ta stara sprawa ze slownikiem 32/64-bit.

git-svn-id: svn://atos.wmid.amu.edu.pl/utt@42 e293616e-ec6a-49c2-aa92-f4a8b91c5d16

File:
1 edited

Legend:

Unmodified
Added
Removed
  • app/src/gue/main.cc

    r8abee07 r10c74af  
    117117              char* parms_end = parms; 
    118118              char last_lemma[MAX_LINE]; 
    119                
    120               while ((i=tab.next()) != -1 && count++<guess_count) { 
    121                 /* if we have "one-line" flag then everything goes in one segment as many fields, 
    122                  * if we have "one-field" flag everything goes in one segment as ONE field: 
    123                  * - diferent lemmas are separated with ';', sequent descriptions to one lemma 
    124                  *   are separated with ',' 
    125                  */ 
    126                 if ((!first) && (tab[i].w_suf() < cut_off) || (tab[i].w_suf() < delta * last_weight)) { 
     119 
     120              count = 1; 
     121               
     122              while (count < tab.count() && count <= guess_count) 
     123                if (first || tab[count].w_suf() >= cut_off && tab[count].w_suf() >= delta * last_weight) 
     124                  { 
     125                    first=0; 
     126                    last_weight = tab[i].w_suf(); 
     127                    count++; 
     128                  } 
     129                else 
    127130                  break; 
     131               
     132              // drukujemy count pierwszych z tab 
     133 
     134 
     135              if(one_line) 
     136                { 
     137                  char* descp=desc; 
     138                  for (int i=0; i< count; ++i) 
     139                    { 
     140                      descp += sprintf(descp," %s%s,%s", output_field_prefix, tab[i].lemma(), tab[i].descr()); 
     141                      if(weights) descp += sprintf(descp,":%d",(int)tab[i].w_suf()); 
     142                    } 
     143                  strcpy(outline,line); 
     144                  outline[strlen(outline)-1]='\0'; 
     145                  strcat(outline,desc); 
     146                  strcat(outline,"\n"); 
     147                  fputs(outline, outputf); 
     148                  if (copy_processed) 
     149                    fputs(line,outputf); 
    128150                } 
    129                 if (first) { 
    130                   parms_end += sprintf(parms_end, "%s", field_prefix); 
    131                 } else if (!args.one_field_flag) 
    132                   parms_end += sprintf(parms_end, "%s", field_prefix); 
    133                  
    134                 if (!args.one_field_flag || strcmp(last_lemma, tab[i].lemma()) != 0) { 
    135                   if (args.one_field_flag && !first) 
    136                     parms_end += sprintf(parms_end, ";"); 
    137                   parms_end += sprintf(parms_end, "%s", tab[i].lemma()); 
    138                   strcpy(last_lemma, tab[i].lemma()); 
     151              else if(one_field) 
     152                { 
     153                  char* descp=desc; 
     154                  for (int i=0; i< count; ++i) 
     155                    if(i==0) 
     156                      { 
     157                        descp += sprintf(descp," %s%s,%s", output_field_prefix, tab[i].lemma(), tab[i].descr()); 
     158                        if(weights) descp += sprintf(descp,":%d",(int)tab[i].w_suf()); 
     159                      } 
     160                    else 
     161                      { 
     162                        if(strcmp(tab[i].lemma(),tab[i-1].lemma())==0) 
     163                          descp += sprintf(descp,",%s",tab[i].descr()); 
     164                        else 
     165                          descp += sprintf(descp,";%s,%s",tab[i].lemma(),tab[i].descr()); 
     166                        if(weights) descp += sprintf(descp,":%d",(int)tab[i].w_suf()); 
     167                      } 
     168                   
     169                  strcpy(outline,line); 
     170                  outline[strlen(outline)-1]='\0'; 
     171                  strcat(outline,desc); 
     172                  strcat(outline,"\n"); 
     173                  fputs(outline, outputf); 
     174                  if (copy_processed) 
     175                    fputs(line,outputf); 
    139176                } 
    140                  
    141                 first=0; 
    142                  
    143                 last_weight = tab[i].w_suf(); 
    144                 if (!weights) 
    145                   parms_end += sprintf(parms_end, ",%s:%d",  tab[i].descr(), (int)tab[i].w_suf()); 
    146                 else 
    147                   parms_end += sprintf(parms_end, ",%s", tab[i].descr()); 
    148                  
    149                 if (!args.one_field_flag) { 
    150                   seg.addfield(parms); 
    151                   parms_end = parms; 
     177              else 
     178                { 
     179                  for (int i=0; i< tab.count(); ++i) 
     180                    { 
     181                      // kolejne opisy - kolejne linie. 
     182                      char* descp=desc; 
     183                      descp += sprintf(desc, " %s%s,%s\n", output_field_prefix, tab[i].lemma(), tab[i].descr()); 
     184                      if(weights) descp += sprintf(descp,":%d",(int)tab[i].w_suf()); 
     185                      strcpy(outline,line); 
     186                      outline[strlen(outline)-1]='\0'; 
     187                      strcat(outline,desc); 
     188                      fputs(outline, outputf); 
     189                    } 
     190                  if (copy_processed) 
     191                    fputs(line,outputf); 
    152192                } 
    153                  
    154                 if (!(args.one_field_flag || args.one_line_flag)) { 
    155                   seg.print(outline); 
    156                   fputs(outline, outputf); 
    157                   --seg.auxn; 
    158                 } 
    159                 //if (copy_processed) 
    160                 //  fputs(outline, stdout); 
    161               } //while 
    162                
    163               if (args.one_field_flag) 
    164                 seg.addfield(parms); 
    165                
    166               if (args.one_field_flag || args.one_line_flag){ 
    167                 seg.print(outline); 
    168                 fputs(outline, outputf); 
    169               } 
    170             } else { // if (process_segment) 
    171             // jak to nie jest wyraz - to przepisz token na wyjscie. 
    172             //      printtok(line, start, len, cat, form); 
    173             seg.print(outline); 
    174             fputs(outline, outputf); 
    175             if (copy_processed) 
    176               fputs(outline, stdout); 
    177           } 
     193            } 
    178194        } 
    179       time_t end_time = time(NULL); 
    180       if (per_info) { 
    181         printf("Liczba s³ów: %d\n", words_count); 
    182         printf("Czas analizy: %d sekund\n", end_time-start_time); 
    183       } 
    184       cmdline_parser_free(&args); 
     195      if(args.interactive_flag)  
     196        fflush(outputf), fflush(failedf); 
     197       
    185198    } 
    186    
     199  cmdline_parser_free(&args); 
     200} 
     201 
     202 
     203 
     204 
     205 
     206 
     207 
     208 
     209//            while ((i=tab.next()) != -1 && count++<guess_count) { 
     210//              /* if we have "one-line" flag then everything goes in one segment as many fields, 
     211//               * if we have "one-field" flag everything goes in one segment as ONE field: 
     212//               * - diferent lemmas are separated with ';', sequent descriptions to one lemma 
     213//               *   are separated with ',' 
     214//               */ 
     215//              if ((!first) && (tab[i].w_suf() < cut_off) || (tab[i].w_suf() < delta * last_weight)) { 
     216//                break; 
     217//              } 
     218//              if (first) { 
     219//                parms_end += sprintf(parms_end, "%s", output_field_prefix); 
     220//              } else if (!args.one_field_flag) 
     221//                parms_end += sprintf(parms_end, "%s", output_field_prefix); 
     222                 
     223//              if (!args.one_field_flag || strcmp(last_lemma, tab[i].lemma()) != 0) { 
     224//                if (args.one_field_flag && !first) 
     225//                  parms_end += sprintf(parms_end, ";"); 
     226//                parms_end += sprintf(parms_end, "%s", tab[i].lemma()); 
     227//                strcpy(last_lemma, tab[i].lemma()); 
     228//              } 
     229                 
     230//              first=0; 
     231                 
     232//              last_weight = tab[i].w_suf(); 
     233//              if (!weights) 
     234//                parms_end += sprintf(parms_end, ",%s:%d",  tab[i].descr(), (int)tab[i].w_suf()); 
     235//              else 
     236//                parms_end += sprintf(parms_end, ",%s", tab[i].descr()); 
     237                 
     238//              if (!args.one_field_flag) { 
     239//                seg.addfield(parms); 
     240//                parms_end = parms; 
     241//              } 
     242                 
     243//              if (!(args.one_field_flag || args.one_line_flag)) { 
     244//                seg.print(outline); 
     245//                fputs(outline, outputf); 
     246//                --seg.auxn; 
     247//              } 
     248//              //if (copy_processed) 
     249//              //  fputs(outline, stdout); 
     250//            } //while 
     251               
     252//            if (args.one_field_flag) 
     253//              seg.addfield(parms); 
     254               
     255//            if (args.one_field_flag || args.one_line_flag){ 
     256//              seg.print(outline); 
     257//              fputs(outline, outputf); 
     258//            } 
     259//          } else { // if (process_segment) 
     260//          // jak to nie jest wyraz - to przepisz token na wyjscie. 
     261//          //      printtok(line, start, len, cat, form); 
     262//          seg.print(outline); 
     263//          fputs(outline, outputf); 
     264//          if (copy_processed) 
     265//            fputs(outline, stdout); 
     266//        } 
     267//      } 
     268//       time_t end_time = time(NULL); 
     269//       if (per_info) { 
     270//      printf("Liczba s³ów: %d\n", words_count); 
     271//      printf("Czas analizy: %d sekund\n", end_time-start_time); 
     272//       } 
     273//       cmdline_parser_free(&args); 
     274//     } 
     275   
Note: See TracChangeset for help on using the changeset viewer.