/* removes all comments from a C program, handling qouted strings and * character constants properly */ #include int main(void) { int c; while ((c=getchar()) != EOF) { if (c == '\"') { putchar(c); while ((c=getchar()) != '\"') { if (c==EOF) break; if (c=='\\') { putchar(c); c = getchar(); } putchar(c); } putchar(c); } else if (c == '/') { if ((c=getchar()) == '*') { while (c=getchar()) { if (c == '*') if ((c=getchar()) == '/') break; if (c==EOF) break; } } else { putchar('/'); putchar(c); } } else if (c == '\\') { /* escape next character */ putchar(c); putchar(c=getchar()); } else { putchar(c); } } return 0; }