Lex是一个生成词法分析器的计算机程序。
Lex读取指定词法分析器的输入流,并输出以C编程语言实现词法分析器的源代码。
用于执行lex程序的命令为:
lex abc.l (abc is the file name)
cc lex.yy.c -efl
./a.out
让我们看一下接受一个有效的整数和浮点值
使用lex程序。
例子:
Input :
-77.99
Output :
Valid Float Value
Input :
fghj
Output :
Not a valid Integer/ Float number
下面是实现:
/*lex code to accept a valid integer
and float value using lex program.*/
%{
int valid_int=0, valid_float=0;
%}
%%
^[-+]?[0-9]* valid_int++;
^[-+]?[0-9]*[.][0-9]+$ valid_float++;
.;
%%
int main()
{
yylex();
if(valid_int!=0) printf("Valid Integer number\n");
else if(valid_float!=0) printf("Valid Float number\n");
else printf("Not valid Integer/Float number\n");
return 0;
}
输出:
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。