Professional Documents
Culture Documents
Question #1: Write a small lexical analyzer code. which recognizes the following patterns and
returns appropriate tokens.
I. Operators, ++, --, +-, //, and parenthesis (,)
II. Multiline comments
Place screenshot of file which you read for the above code.
#include<iostream>
#include<conio.h>
#include<fstream>
using namespace std;
int main()
{
char var;
char temp;
ifstream readFile;
readFile.open("t.txt");
readFile.get(var);
while (!readFile.eof())
{
if (var == ',' || var == '.' || var == ';' || var == '(' || var == ')' ||
var == '{' || var == '}')
{
cout << "<" << var << "> ";
}
else if (var == '+' || var == '-' || var == '/')
{
temp = var;
readFile.get(var);
if (var == temp)
{
cout << "<" << var << var << ">" << endl;
}
else
{
cout << temp << endl;
}
}
else if (var == '%' || var == '-' || var == '*' || var == '/' || var ==
'+' || var == '>>' || var == '<<' || var == '^' || var == '|')
{
temp = var;
readFile.get(var);
if (var == '=')
{
cout << "<" << var << var << ">" << endl;
}
else
{
cout << "<" << temp << "> " << "<" << var << "> ";
}
}
else if (var == '=')
{
cout << "<" << var << "> ";
}
readFile.get(var);
}
cout << endl;
_getch();
}
include<iostream>
#include<conio.h>
#include<fstream>
using namespace std;
int main()
{
char var;
char temp;
ifstream readFile;
readFile.open("t.txt");
readFile.get(var);
while (!readFile.eof())
{
if (var == ',' || var == '.' || var == ';' || var == '(' || var == ')' ||
var == '{' || var == '}')
{
cout << "<" << var << "> ";
}
else if (var == '+' || var == '-' || var == '/')
{
temp = var;
readFile.get(var);
if (var == temp)
{
cout << "<" << var << var << ">" << endl;
}
else
{
cout << temp << endl;
}
}
else if (var == '%' || var == '-' || var == '*' || var == '/' || var ==
'+' || var == '>>' || var == '<<' || var == '^' || var == '|')
{
temp = var;
readFile.get(var);
if (var == '=')
{
cout << "<" << var << var << ">" << endl;
}
else
{
cout << "<" << temp << "> " << "<" << var << "> ";
}
}
else if (var == '=')
{
cout << "<" << var << "> ";
}
readFile.get(var);
}
cout << endl;
_getch();
}