Programa Lex para identificar el identificador

Lex es un programa de computadora que genera analizadores léxicos y fue escrito por Mike Lesk y Eric Schmidt. Lex lee un flujo de entrada que especifica el analizador léxico y genera el código fuente que implementa el lex en el lenguaje de programación C.

En C, un identificador debe comenzar con un alfabeto o un guión bajo, no puede comenzar con un dígito o cualquier otro carácter especial, además, los dígitos pueden ir después.

Ejemplo:

gfg : valid identifier
123 : invalid identifier
_abc12 : valid identifier
#abc : invalid identifier

Veamos el programa lex para determinar si la entrada es un identificador o no.

/*lex code to determine whether input is an identifier or not*/
% {
#include <stdio.h>
    %
}
  
    / rule section % %
    // regex for valid identifiers
    ^[a - z A - Z _][a - z A - Z 0 - 9 _] * printf("Valid Identifier");
  
// regex for invalid identifiers
^[^a - z A - Z _] printf("Invalid Identifier");
.;
% %
  
    main()
{
    yylex();
}

Producción:

Publicación traducida automáticamente

Artículo escrito por Yash_R 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 *