Open In App
Related Articles

Lex Program to remove comments from C program

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
Lex is a computer program that generates lexical analyzers. Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language. The commands for executing the lex program are:
lex abc.l (abc is the file name)
cc lex.yy.c -efl
./a.out
Let’s see LEX program to accept string starting with vowel. Examples:
Input : 
//testing
#include 
int main()
{
 /* multiline comment
    continue....
 */
 return 0;
}

Output :
#include 
int main()
{
 
 return 0;
}

Below is the implementation:
/% Lex Program to remove comments from C program 
   and save it in a file %/
/*Definition Section*/
%{
%}
  
/*Starting character sequence for multiline comment*/
start \/\*
/*Ending character sequence for multiline comment*/
end  \*\/
  
/*Rule Section*/
%%
  
/*Regular expression for single line comment*/
\/\/(.*) ;
/*Regular expression for multi line comment*/ 
{start}.*{end} ;
  
%%
  
/*Driver function*/
int main(int k,char **argcv)
{
yyin=fopen(argcv[1],"r");
yyout=fopen("out.c","w");
/*call the yylex function.*/
yylex();
return 0;
}

                    
Output:

Last Updated : 11 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads