1. Write a class for file handling, having functions to open/ read/ write/ close/ reset.
2 - 5. Develop a program which takes input a file of C language
(a) Print Lines of Codes and print signature of all function (including main)
(b) Print number of variables in every function (with type)
(c) Generate a new file without the comments. (/* */ and //)
(d) Process all #define (i.e. #define MAX 100, than replace every occurrence of MAX with 100).
(Macro value 100 can be an expression also.)
6. Write a program to create a symbol table.
7. Write a program which can parse a given C file and store all variables and functions in symbol
table.
8 - 10. Write a program to convert given C program into RTL code.
Assumption
(a) Input C file will have only main function,
(b) Only two type of statements, either variable declaration statements
(int sub1=23;) OR mathematical expression (sub1 = sub2 - sub3 ;).
(c) System has 16 registers (R1 to R16)
(d) RTL opcode available are: ADD, LOAD, MOVE, SUB, MULTIPLY, DIVIDE
(e) No control-flow (i.e. if-else, loop, jump etc.) expression is there in input code e.g.
Int main ()
{
int sub1=72, sub2=85, sub3=63;
float per;
per=(sub1+sub2+sub3)/(100+100+100);
}