CSE425 Assignment
CSE425 Assignment
Submitted to:
Mohammad Abdur Rouf
Submitted by:
Shaikh Farhana Supti
1. Write a program using either C/C++, Java or Python language
for a lexical analyzer that can tokenize a C statement and can
detect C keywords.
Ans:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[500];
printf("Insert a statement: ");
scanf("%s" , str);
printf("All Tokens are: \n");
DetectTokens(str);
return (0);
}
bool ValidDelimiter(char c)
{
if
(c == ' ' || c == '+' || c == '-' || c == '*' ||
c == '/' || c == ',' || c == ';' || c == '>' ||
c == '<' || c == '=' || c == '(' || c == ')' ||
c == '[' || c == ']' || c == '{' || c == '}')
return (true);
return (false);
}
bool ValidOp(char c)
{
if
(c == '+' || c == '-' || c == '*' ||
c == '/' || c == '>' || c == '<' ||
c == '=')
return (true);
return (false);
}
bool ValidIdentifier(char* str)
{
if
(str[0] == '0' || str[0] == '1' || str[0] == '2' ||
str[0] == '3' || str[0] == '4' || str[0] == '5' ||
str[0] == '6' || str[0] == '7' || str[0] == '8' ||
str[0] == '9' || ValidDelimiter(str[0]) == true)
return (false);
return (true);
}
if (len == 0)
return (false);
return (false);
}
Screenshot: