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 -efl ./a.out
Veamos cómo aceptar un valor entero y flotante válido
usando el programa lex.
Ejemplos:
Input : -77.99 Output : Valid Float Value Input : fghj Output : Not a valid Integer/ Float number
A continuación se muestra la implementación:
/*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; }
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