Write a program to parse a C program into tokens. Pay special attention to identifiers, numbers, string literals, character literals, operators, and other special symbols. You should recognize and discard program comments. Input should be read from stdin and output should be written to stdout with one token per line. Do not print any other output other than the tokes. Use Bash I/O redirection to test this program like this:
$ parseC < test.c > output.txt
Sample input (test.c)
int main(int argc, char *argv[]) /* here is a comment */
{
for (int i=0; i<10; ++i)
printf(“”Hello” she said.n”);
}
Sample output
int
main
(
int
argc
,
char
*
argv
[
]
)
{
for
(
int
i
=
0
;
i
<
10
;
++
i
)
printf
(
“”Hello” she said.n”
)
;
}
Your program should be expected to read from user input by gets()/scanf()/getchar(), etc; and output using standard output.
Your job is: add omitting the comment part, and pay attention to t, n, and read multiple line use gets/scanf/getchar(), and pass the sample test. pay attention to ++
--
+=
==
!=
>=
<=
these shouldn't parse as a single character, just output the double one.