C program for Lexical Analyzer

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

C program for Lexical Analyzer

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
struct pgm
 {
   char line[20];
 } s[100];
void check(char s[])
 {
    cout<<"\n";
    if(!strcmpi(s,"If"))
     {
        cout<<"keyword:If";
        return;
     }
    if(!strcmpi(s,"Then"))
     {
       cout<<"keyword:Then";
       return;
     }
    if(!strcmpi(s,"Else"))
     {
       cout<<"keyword:else";
       return;
     }
    if(!strcmpi(s,"[END]"))
     {
       return;
      }
    cout<<"expression:"<<s;
 }
void main()
 {
   char t[20];
   int i=0,j=0,k=0;
   clrscr();
   cout<<"\n\n enter the program code:(to stop input type End)\n";
   do
    {
      gets(s[i].line);
    }
 while(strcmpi(s[i++].line,"END"));
  k = k-1;
  do
   {
     k++;
     for(i=0;s[k].line[i]!='\0';i++,j++)
   {
     if(s[k].line[i]==' ')
      {
        t[j]='\0';
        j=-1;
       check(t);
      }
    else
       t[j]=s[k].line[i];
  }
 t[j]='\0';
 j=0;
check(t);
  }
 while(strcmpi(s[k].line,"END"));
 getch();
}

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

11 Responses to “C program for Lexical Analyzer”

  1. ashwin

    can u post a program which identifies the digits,special characters separately

    Reply
  2. this is the most common way of analyzing text, but there’s another easier way, that is by using lexical analyzer method,the strings to be matched are kept between % % along with the actions to be taken if the matching is found, this is generally used for designing you own programming language. u can learn more from books

    Reply
  3. suresh

    how to implement this program….can you provide me a brief way to execute this program…

    Reply

Leave a Reply