Functions
Verify(): The lexical analyzer uses the verify operation to determine whether there is entry for a lexeme in the symbol table.
Data structures
Structure : A structure in C is a collection of variables which contains related data items of similar and /or dissimilar data types but logically related items. Each variable in the structure represents an item and is called as a member or field of the structure. Complex data can be important represented in more meaningful way using structures and is one of the very features available in C.
An array of structures is basically a array of records. Each an every record has the same format consisting of similar or dissimilar data types but logically related entities.
Algorithms
Procedure main
begin
if symb=�#� then
begin
advance to next token in input file
if symb=�i� then
begin
advance to next token in input file
while symb!=�\n� do
begin
advance to next token in input file
end {while }
print symb is a preprocessor directive
end {if symb=�i�}
if symb=�d� then
begin
advance to next token input file
while symb!=� � do
begin
advance to next token in input file
end{while}
advance to next token in input file
print symb is a constant
advance to next token in input file
while symb!=�\n� do
begin
advance to the next token in input file
end {while}
end {if symb=�d�}
end {if symb=�#�}
if symb is a alphabet or symb=�_� then
begin
advance to the next token in input file
while symb is a digit or alphabet or symb=�_� do
begin
advance to the next token of input file
end {while}
call function verify to check whether symb is a identifier or keyword
end {if}
if symb=�+� then
begin
advance to the next token in input file
if symb=�+�
print symb is ++ operator
else
ungetc symb from the input file
print symb is + operator
end {if}
if symb=�-� then
begin
advance to the next token in input file
if symb=�-�
print symb is -- operator
else
ungetc symb from the input file
print symb is - operator
end {if}
if symb=�|� then
begin
advance to the next token in input file
if symb=�|�
print symb is logical or operator
else
ungetc symb from the input file
print symb is bitwise or operator
end {if}
if symb=�*� then
begin
print symb is a multiplication operator
end {if}
if symb=�?� then
begin
print symb is a conditional operator
end{if}
if symb=�!�or symb=�>�or symb=�<�then
begin
advance to the next token in input file
Contd...