📜  查找最长单词长度的lex程序

📅  最后修改于: 2021-10-19 04:47:46             🧑  作者: Mango

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

执行 lex 程序的命令是:

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

让我们看看 lex 程序来检查有效的电子邮件。

例子:

Input:  geeks for geeks
Output:  5

Input:  facebook google yahoo
Output:  8 

下面是实现:

/*lex code to find the length of the longest word*/
  
% {
  int counter = 0; %
}
  
%
% [a - zA - Z] + {
  if (yyleng > counter) {
    counter = yyleng;
  }
} %
%
  
main() {
  yylex();
  printf("largest: %d", counter);
  printf("\n");
}

输出: