De-Comment Program in C

De-commenting is one of the primary tasks of the C preprocessor. This article demonstrates a simplified C program to remove comments from source-code.

DFA Design

The deterministic finite state automaton (DFA) expresses the required de-commenting logic. The DFA is represented using the traditional "labeled ovals and labeled arrows" notation. Each oval represent a state. Each state is given short name with detailed descriptions of the left. Each arrow represent a transition from one state to another. Each arrow is labeled with the single character that causes the transition to occur. DFA

Usage

$ ./decomment <file_path>
  • If the program is run without argument, the code to be decommented will be read from the standard input and displayed[decommented code] on the standard output
  • If argument is given, the code to be decommented will be read form the file and displayed in the standard output.

The full source-code for the project is on GitHub: