00001 #
00002
00003
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
00067
00068 yyerror(msg)
00069 char msg[];
00070 {
00071 printf("YYERROR: %s",msg);
00072 }