Home »
Compiler Design
LEX Code to remove the comments from any C-Program given at run-time and store into ‘out.c’ file
In this article, we going to learn how to create LEX program to extract comment (single line and multiline) from c program?
Submitted by Ashish Varshney, on March 25, 2018
For achieve to this task we create some rules in rule section in the code.
Input file:
/*this in multiline comment
We are going to remove this*/
// this is single line comment
int main()
{
Code goes here
}
Output file:
int main()
{
Code goes here
}
/*Definition Section*/
%{
#include<stdio.h>
%}
/*Rule Section*/
%%
/*Regular expression for single line comment*/
\/\/(.*) {};
/*Regular expression for multi line comment*/
\/\*(.*\n)*.*\*\/ {};
%%
/*call the yywrap function*/
int yywrap()
{
return 1;
}
/*Auxiliary function*/
/*Driver function*/
int main()
{
yyin=fopen("input6.c","r");
yyout=fopen("out.c","w");
/*call the yylex function.*/
yylex();
return 0;
}
Input
Output