Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Copyright (c) 1993-1999 Microsoft Corporation
#include "y3.h"
void go2out( void ) { /* output the gotos for the nontermninals */ int i, j, k, count, times; SSIZE_T best, cbest;
fprintf( ftemp, "$\n" ); /* mark begining of gotos */
for( i=1; i<=nnonter; ++i ) { go2gen(i);
/* find the best one to make default */
best = -1; times = 0;
for( j=0; j<=nstate; ++j ) { /* is j the most frequent */ if( tystate[j] == 0 ) continue; if( tystate[j] == best ) continue;
/* is tystate[j] the most frequent */
count = 0; cbest = tystate[j];
for( k=j; k<=nstate; ++k ) if( tystate[k]==cbest ) ++count;
if( count > times ) { best = cbest; times = count; } }
/* best is now the default entry */
zzgobest += (times-1); for( j=0; j<=nstate; ++j ) { if( tystate[j] != 0 && tystate[j]!=best ) { fprintf( ftemp, "%d,%d,", j, tystate[j] ); zzgoent += 1; } }
/* now, the default */
zzgoent += 1; fprintf( ftemp, "%d\n", best );
} }
|