Programa Lex para imprimir el total de caracteres, espacios en blanco, tabulaciones en el archivo de entrada dado

Lex es un programa informático 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 el programa Lex para imprimir el total de caracteres, espacios en blanco, tabulaciones en el archivo de entrada dado.

A continuación se muestra la implementación:

/* Lex program to print the total characters, 
white spaces, tabs in the given input file.
*/
  
%
{
    int n, w, c;
    %
}
% %
\n { n++; }
[^ \n\t] +
{
    w++;
    c = c + yyleng;
}
.c++;
% % int yywrap(void)
{
    return 1;
}
  
  
main()
{
    extern FILE* yyin;
    yyin = fopen("input.txt", "r");
    yylex();
    printf("Line= %d word=%d total char=%d \n", n, w, c);
}

Aporte:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *