/* ECP: FILEname=fig8_8.c */ /* 1*/ /* Generate Routine in Previous Figure */ /* 2*/ /* This Program Works Only An ASCII Machine, */ /* 3*/ /* But Code That Is Generated Is Portable To Any Machine */ /* 4*/ #include /* 5*/ main( void ) /* 6*/ { /* 7*/ char C; /* 8*/ printf( "int\nToUpper( char ch )\n{\n" ); /* ToUpper */ /* 9*/ printf( "\tswitch( ch )\n\t{\n" ); /* Start switch */ /*10*/ for( C = 'a'; C <= 'z'; C++ ) /* Print Cases */ /*11*/ printf( "\t\tcase '%C': return '%C';\n", C, C + 'A'-'a' ); /*12*/ printf( "\t\tdefault : return ch;\n" ); /*13*/ printf( "\t}\n}\n" ); /* Closing Braces */ /*14*/ return 0; /*15*/ }