C:/Users/Dennis/src/lang/russell.orig/src/pass2/rettest.c

Go to the documentation of this file.
00001 #
00002 /*
00003  * string table routines test driver
00004  */
00005 # include "parm.h"
00006 # include "pass1/stt/sttdefs.h"
00007 # include <stdio.h>
00008 # include "stree/ststructs.mh"
00009 # include "Idtable.h"
00010 
00011 char testbuff[100];
00012 
00013 main(argc,argv)
00014 char **argv;
00015 {
00016 register char *p;
00017 int lgth;
00018 sttrelptr rp;
00019 int i;
00020 char prtflag;
00021 
00022         prtflag = (argc > 1);
00023 
00024     for(;;) {
00025         p = testbuff;
00026         while( (*p = getchar()) != '\n' ) {
00027                         if( *p == EOF ) exit();
00028             p++;
00029         }
00030                 *p++ = 0;
00031                 if ( strcmp(testbuff, "#") == 0)
00032                         break;
00033         lgth = p - testbuff;
00034                 if( prtflag ) printf("%s: ",testbuff);
00035         rp = stt_enter( testbuff, lgth );
00036                 if( prtflag ) printf("(%l) ",rp);
00037         p = getname( rp );
00038                 if( prtflag ) printf("%s\n",p);
00039         }
00040 
00041         open("/dev/null",1);
00042         stt_write(3);
00043 
00044         printf("Now enter relative pointers\n");
00045         while ( (i = scanf("%d", &rp)) != EOF ) {
00046                 if ( i != 0) {
00047                         Identry *e;
00048                         e = retrieve(rp);
00049                         if( (e->i_sttindx != rp) || (e->i_value != -1) ) {
00050                                 printf("%u: (%u) = %d\n", rp, e->i_sttindx, e->i_value);
00051                         }
00052                 } else {
00053                         printf("what was that?\n");
00054                         while( getchar() != '\n');
00055                 }
00056         }
00057         { extern int nprobes, nkeys;
00058                 printf("nprobes: %u, nkeys: %u, ratio: %\n",
00059                         nprobes,nkeys,
00060                         ( ((double) nprobes) / ((double) nkeys) )
00061                 );
00062         }
00063 }
00064 
00065 /*
00066  *      Dummy yyerror to make things fly.
00067  */
00068 yyerror(msg)
00069 char msg[];
00070 {
00071         printf("YYERROR: %s",msg);
00072 }

Generated on Fri Jan 25 10:39:46 2008 for russell by  doxygen 1.5.4