Waitrud Weber’s blog

things and reminders for memories

Code Analyzer: C-Analyzer and improvement

When we use tokenizer, we just call getToken: And getToken must memory the index of start and end of token.


1 :#include 2 :#include 3 : 4 :#include "parse.h" 5 :#include "aToken.h" 6 : 7 :int parse ( char* filename ) ; 8 :int filesize( FILE *fp ) ; 9 :void backward( char *dummy, char *token ) ; 10 : 11 :int main ( int argc, char *argv[] ) { 12 : 13 : initialize_parse(); 14 : 15 : parse ( argv[1] ); 16 : 17 : return 0; 18 :} 19 : 20 :int parse ( char* filename ) { 21 : FILE *fp; 22 : aToken *iToken = nullptr; 23 : 24 : iToken = new aToken(); 25 : fp = fopen ( filename, "rb" ); 26 : int file_end = filesize ( fp ); 27 : 28 : for( int i=0; i<file_end; i++ ) { 29 : iToken->getToken( fp, &i, &file_end ); 30 : } 31 : 32 : fclose(fp); 33 :} 34 : 35 :int filesize( FILE *fp ) { 36 : 37 : fseek(fp, 0L, SEEK_END); 38 : int sz = ftell(fp); 39 : 40 : fseek(fp, 0L, SEEK_SET); 41 : 42 : return sz; 43 :} 44 : 45 :