DEV Community

Eyuel Berga Woldemichael
Eyuel Berga Woldemichael

Posted on

5 2

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>
Enter fullscreen mode Exit fullscreen mode
  • 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:

GitHub logo eyuelberga / decomment-program-c

C program to remove comments from source-code

De-Comment Program

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.

deterministic finite state automaton (DFA)

Build

You can compile the program using gcc.

$ gcc decomment.c -o decomment
Enter fullscreen mode Exit fullscreen mode

Usage

$ ./decomment <file_path>
Enter fullscreen mode Exit fullscreen mode
  • If the program is run without <file_path> argument, the code to be decommented will be read from the standard input and displayed[decommented code] on the standard output

  • If <file_path> argument is given, the code to be decommented will be read form the file and displayed in the standard output.

Test

test.py contains a simple…

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up