📜  Lex Program从C程序中删除注释

📅  最后修改于: 2021-06-28 07:36:25             🧑  作者: Mango

Lex是一个生成词法分析器的计算机程序。 Lex读取指定词法分析器的输入流,并输出以C编程语言实现词法分析器的源代码。

用于执行lex程序的命令为:

lex abc.l (abc is the file name)
cc lex.yy.c -efl
./a.out

让我们看看LEX程序接受以元音开头的字符串。
例子:

Input : 
//testing
#include 
int main()
{
 /* multiline comment
    continue....
 */
 return 0;
}

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

下面是实现:

/% 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;
}

输出:

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。