Other Languages - Lexical analysis for c/c++ file as input.

Asked By DonSaga Nayak on 07-Jun-12 04:03 AM
i have c++ code for Lexical analysis to get result of Expression/String as input and produces output as list of tokens that are: Total Identifier, Total Constants, Total Literals, Total Keywords, Total Operators, Total Delimiters, Invalid Tokens & Used Tokens.
So, i want to know same for a C/C++ file, then how to do?

How am passing the expression for analysis as below:
void main()
{
clrscr();
char mstr[50];
  printf("\n\n\tEnter String: ");// Here i want file as input
gets(mstr);
  Lex_Ana oblex(mstr);//Here how to pass all lines to analysis
  oblex.Find_Lex();
  oblex.Rem_Dup();
  oblex.Sep_Val();
  oblex.Display();     
  getch();
} i tried like below:
void main()
  {
  clrscr();
  ifstream indata;
  char file_name[40], *mainStr,*ch;
  printf("\n\n\tEnter File name: ");
  gets(file_name);
  indata.open(file_name);
  if(indata==NULL)
  {
   perror("Error while opening the file.\n");
   exit(EXIT_FAILURE);
  }
  else
  {
   while(!indata.eof())
   {
    getline(indata,ch);
    strcat(mainStr,ch);
   }
    Lex_Ana oblex(mainStr);
    oblex.Find_Lex();
    oblex.Rem_Dup();
    oblex.Sep_Val();
    oblex.Display();
    indata.close();
  }
  getch();
  }
But it not working.. Any help would be appreciated..