Problema: Escriba un programa Lex para contar palabras menores de 10 y mayores de 5.
Explicación:
Lex es un programa de computadora que genera analizadores léxicos. Lex lee un flujo de entrada que especifica el analizador léxico y genera el código fuente que implementa el lexer en el lenguaje de programación C.
Los comandos para ejecutar el programa lex son:
lex abc.l (abc is the file name) cc lex.yy.c -lfl ./a.out
Veamos Programa Lex para contar palabras menores de 10 y mayores de 5.
Ejemplos:
Input: geeksforgeeks hey google test lays Output: 1
A continuación se muestra la implementación:
C
/*lex code to count words that are less than 10 - and greater than 5 */ %{ int len=0, counter=0; %} %% [a-zA-Z]+ { len=strlen(yytext); if(len<10 && len>5) {counter++;} } %% int yywrap (void ) { return 1; } int main() { printf("Enter the string:"); yylex(); printf("\n %d", counter); return 0; }
Producción:
Publicación traducida automáticamente
Artículo escrito por Tanmay_Jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA